Skip to content

Commit b23df57

Browse files
committed
Merge remote-tracking branch 'origin/main' into immutable
* origin/main: (30 commits) docs: Update CHANGELOG for release 1.27.3 (go-gitea#39170) [skip ci] Updated translations via Crowdin [skip ci] Updated translations via Crowdin fix(process): reap entire process group on cmd.Cancel (go-gitea#39143) feat(web): Add org removal functionality to admin user details page (go-gitea#38013) fix(actions): run every due schedule exactly once per occurrence (go-gitea#39078) refactor: pagination/pager (go-gitea#39162) [skip ci] Updated translations via Crowdin enhance(actions): make workflow dispatch choice dropdown support search (go-gitea#39154) fix(web): populate the reason for "cannot commit to branch" in web editor commit form (go-gitea#39155) refactor(automerge): fix error handling, populate recent automerge tasks on restart (go-gitea#39001) chore(frontend): avoid loading CSS twice in vite dev mode (go-gitea#39160) fix(packages): preserve SemVer prerelease identifiers in Swift Registry (go-gitea#39156) [skip ci] Updated translations via Crowdin ci(snap): pack snaps without an LXD container (go-gitea#39152) chore: apply golangci "forbidigo" to all packages (go-gitea#39151) refactor: drop two unmaintained dependencies, rename the byte size helpers (go-gitea#39083) fix(actions): keep step-level continue-on-error expressions unevaluated (go-gitea#39141) [skip ci] Updated translations via Crowdin feat: add deploy tokens (go-gitea#37306) ... # Conflicts: # modelmigration/migrations.go # modelmigration/v28/v352.go # routers/private/hook_pre_receive.go # templates/repo/release/new.tmpl
2 parents 2e5cb17 + 8ef7a9e commit b23df57

295 files changed

Lines changed: 4695 additions & 2866 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/release-nightly-snapcraft.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,15 @@ jobs:
2525
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
2626
with:
2727
fetch-depth: 0
28-
- uses: snapcore/action-build@3bdaa03e1ba6bf59a65f84a751d943d549a54e79 # v1.3.0
28+
- name: Build snap
2929
id: build
30+
env:
31+
SNAPCRAFT_IMAGE_INFO: '{"build_url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"}'
32+
run: |
33+
# snapcraft installs build-snaps and apt packages system-wide, which needs root
34+
sudo snap install --classic snapcraft
35+
sudo SNAPCRAFT_BUILD_INFO=1 SNAPCRAFT_IMAGE_INFO="$SNAPCRAFT_IMAGE_INFO" snapcraft pack --destructive-mode
36+
echo "snap=$(ls ./*.snap)" >> "$GITHUB_OUTPUT"
3037
# retry snapcraft uploads which can be flaky
3138
- name: Publish snap
3239
run: |

.golangci.yml

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@ linters:
6262
desc: "migrations must not depend on the models package. HINT: MIGRATION-STRUCT-FROZEN"
6363
- pkg: gitea.dev/modules/structs
6464
desc: "migrations must not depend on modules/structs. HINT: MIGRATION-STRUCT-FROZEN"
65+
forbidigo:
66+
forbid:
67+
- pattern: '^(fmt\.Print(|f|ln)|print|println)$' # default
68+
- pattern: '^exec\.CommandContext$' # use our wrapper for graceful termination
6569
modernize:
6670
disable:
6771
- embedlit
@@ -140,15 +144,13 @@ linters:
140144
- linters:
141145
- dupl
142146
- errcheck
147+
- forbidigo
143148
- staticcheck
144149
- unparam
145150
path: _test\.go
146151
- linters:
147152
- dupl
148153
path: modelmigration/v
149-
- linters:
150-
- forbidigo
151-
path: cmd
152154
- linters:
153155
- dupl
154156
text: (?i)webhook
@@ -165,10 +167,10 @@ linters:
165167
- gocritic
166168
text: '(?i)exitAfterDefer:'
167169
paths:
168-
- node_modules
169-
- .venv
170-
- public
171-
- web_src
170+
- ^node_modules/
171+
- ^\.venv/
172+
- ^public/
173+
- ^web_src/
172174
issues:
173175
max-issues-per-linter: 0
174176
max-same-issues: 0
@@ -190,10 +192,10 @@ formatters:
190192
exclusions:
191193
generated: lax
192194
paths:
193-
- node_modules
194-
- .venv
195-
- public
196-
- web_src
195+
- ^node_modules/
196+
- ^\.venv/
197+
- ^public/
198+
- ^web_src/
197199

198200
run:
199201
timeout: 10m

CHANGELOG.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,55 @@ This changelog goes through the changes that have been made in each release
44
without substantial changes to our git log; to see the highlights of what has
55
been added to each release, please refer to the [blog](https://blog.gitea.com).
66

7+
## [1.27.3](https://github.com/go-gitea/gitea/releases/tag/v1.27.3) - 2026-08-29
8+
9+
* SECURITY
10+
* fix(packages): restrict/limited/token-scope access (#39041, #39043, #39044, #39047, #39046) (#39058)
11+
* fix(attachments): enforce owning repository path (#39048) (#39077)
12+
* fix(markup): enforce same-repository issue access (#39045) (#39054)
13+
* fix(actions): verify raw artifact signatures first (#39049) (#39053)
14+
* fix(api): hide limited users from restricted viewers (#39004) (#39039)
15+
* fix(repo): limit gitignore template selections (#39027) (#39040)
16+
* fix(migrations): cancel GitLab version probes (#39023) (#39035)
17+
* fix(packages): limit Swift package manifests (#39025) (#39032)
18+
* fix(migrations): bound OneDev version responses (#39024) (#39033)
19+
* fix(packages): limit Maven checksum uploads (#39028) (#39031)
20+
* fix(packages): bound Alpine metadata entries (#39026) (#39029)
21+
* fix(actions): enforce fork pull request trust boundaries (#39005) (#39018)
22+
* fix(git): restrict hook permissions (#39008) (#39016)
23+
* fix(api): enforce repository creation token authorization (#39007) (#39014)
24+
* fix(api): enforce public-only scope for compare heads (#39006) (#39013)
25+
* fix(repo): hide repositories of hidden owners (#39009) (#39012)
26+
* fix: avoid enumerating every public repository in issue search (#38992) (#39000)
27+
* refactor: private endpoints (#38964) (#38965)
28+
* ENHANCEMENTS
29+
* enhance: add permalinks to pull request reviews (#38849) (#39036)
30+
* BUGFIXES
31+
* fix: add missing query parameters on runner list page (#39163)
32+
* fix(actions): keep step-level continue-on-error expressions unevaluated (#39141) (#39148)
33+
* fix(packages): preserve SemVer prerelease identifiers in Swift Registry (#39156) (#39158)
34+
* fix(repo): prevent MarkAsBrokenEmpty when repository is being migrated (#39091) (#39092)
35+
* fix(asymkey): do not verify OpenPGP signatures with an SSH instance key (#39073) (#39086)
36+
* fix(pull): keep the merged state in sync with git (#39062) (#39118)
37+
* fix(pull): name the head repository in default compare links (#39075) (#39079)
38+
* fix(git): parse co-author trailers that are not RFC 5322 addresses (#39076) (#39081)
39+
* fix(actions): show "Complete job" logs when the last step is skipped (#38939) (#39003)
40+
* fix(actions): Fix how jobs in matrixes are grouped (#38980) (#38998)
41+
* fix: resolve YAML anchors and aliases in Actions workflows (#38984) (#38996)
42+
* fix: honor environment variables during install (#38974) (#38976)
43+
* fix: grant limited-org unit read access to authenticated non-members (#38871) (#38963)
44+
* fix: allow anonymous theme switching when REQUIRE_SIGNIN_VIEW is set (#38956) (#38961)
45+
* fix(actions): drop wrapper span around the action status icon (#38957) (#38959)
46+
* fix(issues): sort scoped labels by exclusive order in dropdowns (#38893) (#38954)
47+
* fix(indexer): correct bleve indexer token filters (#38853) (#38951)
48+
* fix: make "login_name" field optional for API edit user (#38917) (#38945)
49+
* fix(actions): reject non-mapping matrix include/exclude (#38933)
50+
* fix(ui): respect FEED_PAGING_NUM on the dashboard feed (#38935) (#38936)
51+
* MISC
52+
* chore: repo compare link (#39088) (#39119)
53+
* ci: remove AWS S3 uploads from release workflows (#38928) (#38929)
54+
* chore: Pre-register a builtin OAuth2 application for the official Gitea mobile app (#38880) (#38922)
55+
756
## [1.27.2](https://github.com/go-gitea/gitea/releases/tag/v1.27.2) - 2026-08-14
857

958
* SECURITY

assets/go-licenses.json

Lines changed: 0 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cmd/actions.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ package cmd
55

66
import (
77
"context"
8-
"fmt"
98

109
"gitea.dev/modules/private"
1110
"gitea.dev/modules/setting"
@@ -49,6 +48,6 @@ func runGenerateActionsRunnerToken(ctx context.Context, c *cli.Command) error {
4948
if extra.HasError() {
5049
return handleCliResponseExtra(extra)
5150
}
52-
_, _ = fmt.Printf("%s\n", respText.Text)
51+
cprintln(c, respText.Text)
5352
return nil
5453
}

cmd/admin_user_change_password.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,6 @@ func runChangePassword(ctx context.Context, c *cli.Command) error {
7373
}
7474
}
7575

76-
fmt.Printf("%s's password has been successfully updated!\n", user.Name)
76+
cprintf(c, "%s's password has been successfully updated!\n", user.Name)
7777
return nil
7878
}

cmd/admin_user_create.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ func runCreateUser(ctx context.Context, c *cli.Command) error {
152152
return err
153153
}
154154
// codeql[disable-next-line=go/clear-text-logging]
155-
fmt.Printf("generated random password is '%s'\n", password)
155+
cprintf(c, "generated random password is '%s'\n", password)
156156
} else if userType == user_model.UserTypeIndividual {
157157
return errors.New("must set either password or random-password flag")
158158
}
@@ -228,15 +228,15 @@ func runCreateUser(ctx context.Context, c *cli.Command) error {
228228
if err := user_model.CreateUser(ctx, u, &user_model.Meta{}, overwriteDefault); err != nil {
229229
return fmt.Errorf("CreateUser: %w", err)
230230
}
231-
fmt.Printf("New user '%s' has been successfully created!\n", username)
231+
cprintf(c, "New user '%s' has been successfully created!\n", username)
232232

233233
// create the access token
234234
if accessTokenScope != "" {
235235
t := &auth_model.AccessToken{Name: accessTokenName, UID: u.ID, Scope: accessTokenScope}
236236
if err := auth_model.NewAccessToken(ctx, t); err != nil {
237237
return err
238238
}
239-
fmt.Printf("Access token was successfully created... %s\n", t.Token)
239+
cprintf(c, "Access token was successfully created... %s\n", t.Token)
240240
}
241241
return nil
242242
}

cmd/admin_user_disable_2fa.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,6 @@ func runDisableTwoFactor(ctx context.Context, c *cli.Command) error {
6767
return err
6868
}
6969

70-
fmt.Printf("Disabled 2FA for user %q (removed %d TOTP and %d WebAuthn credential(s))\n", user.Name, totp, webAuthn)
70+
cprintf(c, "Disabled 2FA for user %q (removed %d TOTP and %d WebAuthn credential(s))\n", user.Name, totp, webAuthn)
7171
return nil
7272
}

cmd/admin_user_generate_access_token.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,9 @@ func runGenerateAccessToken(ctx context.Context, c *cli.Command) error {
8888
}
8989

9090
if c.Bool("raw") {
91-
fmt.Printf("%s\n", t.Token)
91+
cprintln(c, t.Token)
9292
} else {
93-
fmt.Printf("Access token was successfully created: %s\n", t.Token)
93+
cprintf(c, "Access token was successfully created: %s\n", t.Token)
9494
}
9595

9696
return nil

cmd/admin_user_must_change_password.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ package cmd
66
import (
77
"context"
88
"errors"
9-
"fmt"
109

1110
user_model "gitea.dev/models/user"
1211
"gitea.dev/modules/setting"
@@ -59,6 +58,6 @@ func runMustChangePassword(ctx context.Context, c *cli.Command) error {
5958
}
6059

6160
// codeql[disable-next-line=go/clear-text-logging]
62-
fmt.Printf("Updated %d users setting MustChangePassword to %t\n", n, mustChangePassword)
61+
cprintf(c, "Updated %d users setting MustChangePassword to %t\n", n, mustChangePassword)
6362
return nil
6463
}

0 commit comments

Comments
 (0)