

<!--start release-notes-assistant-->

## Release notes
<!--URL:https://codeberg.org/forgejo/forgejo-->
- Breaking security features
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7924): <!--number 7924 --><!--line 0 --><!--description cmVtb3ZlIEFQSSBhdXRoZW50aWNhdGlvbiBtZXRob2RzIHRoYXQgdXNlcyB0aGUgVVJMIHF1ZXJ5-->remove API authentication methods that uses the URL query. They are disabled by default and this only has an impact if `[security].DISABLE_QUERY_AUTH_TOKEN=false` is explicitly set. [Read more in the v12.0 companion blog post](https://forgejo.org/2025-07-release-v12-0/#removing-deprecated-api-authentication-methods).<!--description-->
- Security features
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7829): <!--number 7829 --><!--line 0 --><!--description cmVsYXggZW1haWwgcmVxdWlyZW1lbnRz-->relax email requirements. [Read more in the v12.0 companion blog post](https://forgejo.org/2025-07-release-v12-0/#relaxing-the-requirements-on-email-addresses).<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7693): <!--number 7693 --><!--line 0 --><!--description Y29uc2lkZXIgV2ViQXV0aG4gJiBTU0ggZm9yIGluc3RhbmNlIHNpZ25pbmc=-->consider WebAuthn & SSH for instance signing.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/6897): <!--number 6897 --><!--line 0 --><!--description ZmVhdChzZWMpOiBBZGQgU1NIIHNpZ25pbmcgc3VwcG9ydCBmb3IgaW5zdGFuY2Vz-->add SSH signing support for instances. [Read more in the v12.0 companion blog post](https://forgejo.org/2025-07-release-v12-0/#instance-signing-with-ssh).<!--description-->
- Breaking features
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8035): <!--number 8035 --><!--line 0 --><!--description  >The `forgejo docs` command is deprecated and CLI errors are now displayed on stderr instead of stdout. These breaking changes happened because the package used to parse the command line arguments was [upgraded from v2 to v3](https://cli.urfave.org/migrate-v2-to-v3/). A [separate project was initiated](https://github.com/urfave/cli-docs) to re-implement the `docs` command, but it is not yet production ready.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7745): <!--number 7745 --><!--line 0 --><!--description cmVtb3ZlIHRoZSBsZWdhY3kgYFRFU1RfQ09ORkxJQ1RJTkdfUEFUQ0hFU19XSVRIX0dJVF9BUFBMWWAgc2V0dGluZw==-->remove the legacy `TEST_CONFLICTING_PATCHES_WITH_GIT_APPLY` setting<!--description-->
- Breaking bug fixes
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8139): <!--number 8139 --><!--line 0 --><!--description QVBJOiBlbmZvcmNlIHNoYSByZXF1aXJlbWVudCBvbiBgUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vY29udGVudHNg-->fail if `sha` is not provided to the `POST /repos/{owner}/{repo}/contents` API endpoint. Although it was documented to be required, it was not enforced and clients that do not set the `sha` will no longer succeed.<!--description-->
- User Interface features
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8185): <!--number 8185 --><!--line 0 --><!--description ZmVhdCh1aSk6IGZlZGl2ZXJzZSBoYW5kbGUgbWFya3VwIHZpYSByZWRpcmVjdCBzZXJ2ZXI=-->transform fediverse handles (ex. @forgejo@floss.social and !forgejo@programming.dev) into links to https://fedirect.toolforge.org. [Read more in the v12.0 companion blog post](https://forgejo.org/2025-07-release-v12-0/#redirecting-fediverse-handles).<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8121): <!--number 8121 --><!--line 0 --><!--description YWRkIHVzZXIgdmlzaWJpbGl0eSBkZXNjcmlwdGlvbiBpbiBzZXR0aW5ncyBwYWdl-->add user visibility description in the settings page.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8111): <!--number 8111 --><!--line 0 --><!--description YWRkIG1vZGVsIHZpZXdlciBmb3IgYC5nbGJgIChHTFRGKSBtb2RlbCBpbiBmaWxlIHZpZXc=-->add model viewer for `.glb` (GLTF) model in file view. [Read more in the v12.0 companion blog post](https://forgejo.org/2025-07-release-v12-0/#gltf-viewer).<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7998): <!--number 7998 --><!--line 0 --><!--description ZmVhdCh1aSk6IHNob3cgc2l6ZSBjb25zdHJhaW50cyBvZiBjdXN0b20gYXZhdGFy-->show size constraints of custom avatar.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7992): <!--number 7992 --><!--line 0 --><!--description ZmVhdCh1aSk6IGFkZCBsaW5rcyB0byBtaWxlc3RvbmVzIGFuZCBwcm9qZWN0cyBpbiBpc3N1ZSBjb21tZW50cw==-->add links to milestones and projects in issue comments.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7958): <!--number 7958 --><!--line 0 --><!--description ZmVhdCh1aSk6IGdsb2JhbCBzdHlsaW5nIGZvciBrYmQgdGFn-->global styling for the kbd tag.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7947): <!--number 7947 --><!--line 0 --><!--description ZmVhdCh1aSk6IGhpbnRzIGluIGVtcHR5IHVzZXJjYXJkcyBsaXN0cw==-->hints in empty usercards lists.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7906): <!--number 7906 --><!--line 0 --><!--description ZmVhdCh1aSk6IHJlZGVzaWduIHVzZXIgcHJvZmlsZSBhY3Rpb25zIGxheW91dA==-->the user profile has been redesigned. The most notable change is that actions have been moved to a dropdown and several new actions were added.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7531): <!--number 7531 --><!--line 0 --><!--description ZmVhdCh1aSk6IGltcHJvdmUgZGVzYyBpbiBQYWNrYWdlcyBzZXR0aW5ncw==-->improve the description in the packages settings.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7516): <!--number 7516 --><!--line 0 --><!--description aW5saW5lIHB1YmxpYyBzc2gga2V5IGluIHZlcmlmaWNhdGlvbiBjb21tYW5k-->inline public ssh key in verification command.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7481): <!--number 7481 --><!--line 0 --><!--description ZmVhdCh1aSk6IHVzZSBzd2l0Y2ggZWxlbWVudCBmb3IgbWFya2Rvd24gZWRpdG9yIG1vZGVz-->use switch element for markdown editor modes.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7388): <!--number 7388 --><!--line 0 --><!--description ZmVhdCh1aSk6IG1ha2UgSlMgYXNzZXQgbG9hZCBlcnJvciBtZXNzYWdlIHRyYW5zbGF0YWJsZQ==-->make JS asset load error message translatable.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7385): <!--number 7385 --><!--line 0 --><!--description VXNlIGBnaXQgc3dpdGNoIC1jYCBpbnN0ZWFkIG9mIGBnaXQgY2hlY2tvdXQgLWJg-->improve performances by using `git switch -c` instead of `git checkout -b`.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7377): <!--number 7377 --><!--line 0 --><!--description ZmVhdCh1aS9taWdyYXRpb25zKTogY2xhcmlmeSBkZXNpcmVkIGF1dG9jb21wbGV0aW9uIHR5cGUgZm9yIGNsb25lX2FkZHI=-->clarify the desired autocompletion type for the clone address in migrations.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7373): <!--number 7373 --><!--line 0 --><!--description TWlncmF0aW9ucyBVSTogSW1wcm92ZSBDbGFyaXR5IGZvciBNaWdyYXRpb24gRGVzY3JpcHRpb24gVGV4dGFyZWE=-->improve the clarity of the migration description textarea.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7361): <!--number 7361 --><!--line 0 --><!--description ZmVhdCh1aSk6IEF1dG9tYXRpY2FsbHkgcmVmcmVzaCB3b3JrZmxvd3MgaW4gdGhlICJBY3Rpb25zIiBsaXN0-->automatically refresh workflows in the "Actions" list. [Read more in the v12.0 companion blog post](https://forgejo.org/2025-07-release-v12-0/#automatically-refreshing-workflows).<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7274): <!--number 7274 --><!--line 0 --><!--description dWk6IGltcHJvdmUgZXJyb3IgcGFnZXM=-->improve error pages.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7155): <!--number 7155 --><!--line 0 --><!--description ZmVhdCh1aSk6IGltcHJvdmUgdGhlIHVzZXIgZXhwZXJpZW5jZSB0byByZXZpZXcgaW5kaXZpZHVhbCBjb21taXRzIGluIGEgcHVsbCByZXF1ZXN0-->improve the user experience to review individual commits in a pull request. [Read more in the v12.0 companion blog post](https://forgejo.org/2025-07-release-v12-0/#improved-ux-for-per-commit-reviews).<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7128): <!--number 7128 --><!--line 0 --><!--description VXNlIGF2YWlsYWJsZSBzY3JlZW4gd2lkdGggZm9yIEFjdGlvbnMgbG9ncw==-->use the available screen width when displaying Forgejo Actions logs.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/6933): <!--number 6933 --><!--line 0 --><!--description U2hvdyBpZiBjb21taXQgaXMgdmVyaWZpZWQgaW4gYWN0aXZpdHkgZmVlZCBvZiBhbiB1c2VyIG9yIGFuIG9yZ2FuaXphdGlvbiBmb3IgbmV3IGFjdGl2aXR5-->show if a commit is verified in the activity feed of a user or an organization.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/6813): <!--number 6813 --><!--line 0 --><!--description UmVpbXBsZW1lbnRlZCBlZGl0b3IgVGFiIGtleSBoYW5kbGluZyB3aXRoIGFjY2Vzc2liaWxpdHkgc2FmZWd1YXJkcy4gQmFsYW5jZSBoYXZpbmcgdGhlIGVkaXRvciB3b3JrIGFzIGV4cGVjdGVkIGJ5IGRldmVsb3BlcnMgKHdpdGggVGFiIGtleSBhZmZlY3RpbmcgaW5kZW50YXRpb24pIHdoaWxlIGFsc28gbm90IGltcGVkaW5nIGtleWJvYXJkIG5hdmlnYXRpb24u-->reimplemented editor Tab key handling with accessibility safeguards. Balance having the editor work as expected by developers (with Tab key affecting indentation) while also not impeding keyboard navigation. [Read more in the v12.0 companion blog post](https://forgejo.org/2025-07-release-v12-0/#tabs-indentations-in-the-comment-editor)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/6795): <!--number 6795 --><!--line 0 --><!--description ZmVhdCh1aSk6IHJlZGVzaWduIG1pZ3JhdGlvbiBzZWxlY3Rpb24gc2NyZWVu-->redesign the migration selection page.<!--description-->
- User Interface bug fixes
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8417) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8514)): <!--number 8514 --><!--line 0 --><!--description Zml4KHVpKTogbXVsdGlwbGUgQ29tYm9NYXJrZG93bkVkaXRvcnMgb24gb25lIHBhZ2UgaW50ZXJmZXJl-->multiple ComboMarkdownEditors on one page interfere with each other.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7749) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8362)): <!--number 8362 --><!--line 0 --><!--description Zml4KHVpKTogQWRkIHBhc3RlZCBpbWFnZXMgdG8gZHJvcHpvbmU=-->pasting images into the comment editor will now show that image in the ‘dropzone’.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8296) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8317)): <!--number 8317 --><!--line 0 --><!--description Zml4OiBhZGQgbWlzc2luZyB0cnVzdCBzdGF0dXMgdG8gcHVsbCByZXZpZXcgY29tbWl0cw==-->add missing trust status to pull review commits.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8246) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8282)): <!--number 8282 --><!--line 0 --><!--description Zml4KHVpKTogYWRkIG1pc3NpbmcgbGF6eSBsb2FkIGF0dHJpYnV0ZSB0byBpbWFnZXM=-->add missing lazy load attribute to images.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8067): <!--number 8067 --><!--line 0 --><!--description cG9ydChnaXRlYSk6IFJldGFpbiBpc3N1ZS9wdWxsIHNvcnQgdHlwZQ==-->retain sort type when viewing issue or pull requests.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7893): <!--number 7893 --><!--line 0 --><!--description Zml4KHVpKTogaW5jbHVkZSBlbm91Z2ggYWN0aXZpdHkgZm9yIHRoZSBlbnRpcmUgaGVhdG1hcA==-->include enough activity for the entire heatmap.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7726): <!--number 7726 --><!--line 0 --><!--description U2hvdyB3YXJuaW5nIGluIGxvY2tlZCBpc3N1ZSBkaXNjdXNzaW9u-->show warning in locked issue discussion.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7492): <!--number 7492 --><!--line 0 --><!--description Zml4KHVpKTogZW5zdXJlIGNvbnNpc3RlbnQgc3dpdGNoIHBvc2l0aW9uIGluIG1hcmtkb3duIGVkaXRvcg==-->ensure consistent switch position in the markdown editor.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7420): <!--number 7420 --><!--line 0 --><!--description Zml4KHVpKTogZGlzcGxheSB1c2VyLWZyaWVuZGx5IG1lc3NhZ2UgZm9yIHJhbmdlIGVycm9y-->display user-friendly message for range error.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7402): <!--number 7402 --><!--line 0 --><!--description Zml4KHVpKTogbWFrZSBsaW1pdHMgY2xlYXJlciBpbiBjcmVhdGUgcmVwbyBmb3Jt-->make limits clearer in the create repository form.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7307): <!--number 7307 --><!--line 0 --><!--description RG9uJ3QgcHV0IHRyYWlsaW5nIHNsYXNoIGluIGF1dG9nZW5lcmF0ZWQgbmFtZSBkdXJpbmcgaW1wb3J0-->don't put trailing slash in autogenerated name in the migration form.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7245): <!--number 7245 --><!--line 0 --><!--description YWxsb3cgdXNlciB3aXRoIGFjdGlvbnMgd3JpdGUgcGVybWlzc2lvbiB0byBydW4gYSB3b3JrZmxvdyBmcm9tIHRoZSB3ZWIgVUk=-->allow user with actions write permission to run a workflow from the web UI.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/6799): <!--number 6799 --><!--line 0 --><!--description Zml4KHVpKTogZW5zdXJlIHNhbWUgd2lkdGggb2YgdXNlcmNhcmRzIGluIGdyaWQ=-->ensure usercards in grid have the same width.<!--description-->
- Localization
  - Updates from Codeberg Translate: [#7275](https://codeberg.org/forgejo/forgejo/pulls/7275), [#7363](https://codeberg.org/forgejo/forgejo/pulls/7363), [#7438](https://codeberg.org/forgejo/forgejo/pulls/7438), [#7507](https://codeberg.org/forgejo/forgejo/pulls/7507), [#7572](https://codeberg.org/forgejo/forgejo/pulls/7572), [#7637](https://codeberg.org/forgejo/forgejo/pulls/7637), [#7742](https://codeberg.org/forgejo/forgejo/pulls/7742), [#7819](https://codeberg.org/forgejo/forgejo/pulls/7819), [#7895](https://codeberg.org/forgejo/forgejo/pulls/7895), [#7969](https://codeberg.org/forgejo/forgejo/pulls/7969), [#8077](https://codeberg.org/forgejo/forgejo/pulls/8077), [#8178](https://codeberg.org/forgejo/forgejo/pulls/8178), [#8294](https://codeberg.org/forgejo/forgejo/pulls/8294) (backport of [#8238](https://codeberg.org/forgejo/forgejo/pulls/8238)), [#8534](https://codeberg.org/forgejo/forgejo/pulls/8534) (backport of [#8295](https://codeberg.org/forgejo/forgejo/issues/8295), [#8410](https://codeberg.org/forgejo/forgejo/issues/8410), [#8490](https://codeberg.org/forgejo/forgejo/issues/8490))
- Features
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8179): <!--number 8179 --><!--line 0 --><!--description QVBJOiBuZXcgYEdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vZ2l0L2Jsb2JzYCBlbmRwb2ludCB0byByZXRyaWV2ZSBtdWx0aXBsZSBibG9icyBhdCBvbmNl-->new `GET /repos/{owner}/{repo}/git/blobs` API endpoint to retrieve multiple blobs at once.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8177): <!--number 8177 --><!--line 0 --><!--description YWx3YXlzIHB1Ymxpc2ggdGhlIGxpbmsgdG8gdGhlIGNvbW1pdCBzdGF0dXM=-->always publish the link to the commit status.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8143): <!--number 8143 --><!--line 0 --><!--description aW1wcm92ZSBnZW5lcmF0aW9uIG9mIGJ1bmRsZWQgYXNzZXRz-->improve the performances of the generation of bundled assets.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8115): <!--number 8115 --><!--line 0 --><!--description ZW5hYmxlIGBtbGtlbTc2OHgyNTUxOS1zaGEyNTZgIGJ5IGRlZmF1bHQgZm9yIGJ1aWx0aW4gc3No-->enable `mlkem768x25519-sha256` by default for builtin ssh.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8070): <!--number 8070 --><!--line 0 --><!--description c3VwcG9ydCBhcnRpZmFjdCB1cGxvYWRzIGZvciBPQ0kgY29udGFpbmVyIHBhY2thZ2Vz-->support artifact uploads for OCI container packages.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8047): <!--number 8047 --><!--line 0 --><!--description YWRkIGBhZG1pbiB1c2VyIHJlc2V0LW1mYWAgQ0xJIGNvbW1hbmQ=-->add `admin user reset-mfa` CLI command.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7988): <!--number 7988 --><!--line 0 --><!--description dXBkYXRlIGFtYmlnaW91cyBjaGFyYWN0ZXJz-->update the list of ambigious characters.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7986): <!--number 7986 --><!--line 0 --><!--description bWFrZSBGb3JnZWpvIEFjdGlvbnMgc2VydmVyIGxvZ3MgbGVzcyBub2lzeQ==-->make Forgejo Actions server logs less noisy.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7968): <!--number 7968 --><!--line 0 --><!--description QWxsb3cgc2VhcmNoaW5nIGlzc3VlcyBieSBudW1iZXIsIHByaW9yaXRpemUgdGl0bGUgbWF0Y2hlcyB3aGVuIHNvcnRlZCBieSByZWxldmFuY2U=-->allow searching issues by number, prioritize title matches when sorted by relevance.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7953): <!--number 7953 --><!--line 0 --><!--description cmVwbGFjZSBnby1ycG11dGlscyBsaWJyYXJ5IHdpdGggb3VyIG93bg==-->replace go-rpmutils library with our own. [Read more in the v12.0 companion blog post](https://forgejo.org/2025-07-release-v12-0/#forgejo-build-time-optimization).<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7902): <!--number 7902 --><!--line 0 --><!--description Y29uZmlndXJhYmxlIGRlZmF1bHQgdW5pdHMgZm9yIG1pcnJvcnM=-->configurable default units for mirrors.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7896): <!--number 7896 --><!--line 0 --><!--description ZW5oOiBhbGxvdyBwZXIgcmVwbyBpc3N1ZSByZWluZGV4aW5nIGZvciBhZG1pbnM=-->a repository administrator has control over reindexing the issues.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7803): <!--number 7803 --><!--line 0 --><!--description YXV0byBjbGVhbnVwIG9mIG9mZmxpbmUgcnVubmVycw==-->auto cleanup of offline runners.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7727): <!--number 7727 --><!--line 0 --><!--description aW1wcm92ZWQgcGVyZm9ybWFuY2VzIHdoZW4gY2hlY2tpbmcgZm9yIGNvbmZsaWN0cyBvbiBwdWxsIHJlcXVlc3Rz-->improved performances when checking for conflicts on pull requests. [Read more in the v12.0 companion blog post](https://forgejo.org/2025-07-release-v12-0/#faster-conflict-checking).<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7716): <!--number 7716 --><!--line 0 --><!--description YWxsb3cgYWNjZXNzIHRvIGAvYXBpL3YxL3BhY2thZ2VzL3t1c2VybmFtZX1gIHdpdGhvdXQgdG9rZW4=-->allow access to publicly available `/api/v1/packages/{username}` without a token.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7699): <!--number 7699 --><!--line 0 --><!--description aW1wbGVtZW50IGBHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvcnVuc2AgYW5kIGBHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvcnVucy97cnVuX2lkfWA=-->implement the `GET /repos/{owner}/{repo}/actions/runs` and `GET /repos/{owner}/{repo}/actions/runs/{run_id}` API endpoints.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7527): <!--number 7527 --><!--line 0 --><!--description dXNlIGdpdC1yZXBsYXkgZm9yIHJlYmFzaW5n-->use git-replay for rebasing for better performances.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7509): <!--number 7509 --><!--line 0 --><!--description c2VuZCBtYWlsIG9uIGZhaWxlZCBvciByZWNvdmVyZWQgRm9yZ2VqbyBBY3Rpb25zIHJ1bg==-->send mail on failed or recovered Forgejo Actions run. [Read more in the v12.0 companion blog post](https://forgejo.org/2025-07-release-v12-0/#forgejo-actions-email-notifications-on-failure).<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7508): <!--number 7508 --><!--line 0 --><!--description QWN0aW9ucyBGYWlsdXJlLCBTdWNjZXNzLCBSZWNvdmVyIFdlYmhvb2tz-->Forgejo Actions failure, success, recover webhooks.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7418): <!--number 7418 --><!--line 0 --><!--description YWRkIGBsYXN0X2NvbW1pdF93aGVuYCB0byBjb250ZW50cyByZXNwb25zZQ==-->add `last_commit_when` to API contents responses.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7387): <!--number 7387 --><!--line 0 --><!--description aW5jbHVkZSBhIGRlZmF1bHQgcm9ib3RzLnR4dCB0byByZWR1Y2UgdGhlIGltcGFjdCBvZiBjcmF3bGVycw==-->include a default robots.txt to reduce the impact of crawlers. [Read more in the v12.0 companion blog post](https://forgejo.org/2025-07-release-v12-0/#default-robotstxt).<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7212): <!--number 7212 --><!--line 0 --><!--description dXNlIFhPUk0gRW5naW5lR3JvdXAgaW5zdGVhZCBvZiBzaW5nbGUgRW5naW5lIGNvbm5lY3Rpb24=-->use XORM EngineGroup instead of single Engine connection. [Read more in the v12.0 companion blog post](https://forgejo.org/2025-07-release-v12-0/#xorm-enginegroup-connections-for-optimized-database-query-routing-and-load-balancing).<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/2364): <!--number 2364 --><!--line 0 --><!--description c3luYyBmb3Jrcw==-->sync forks. [Read more in the v12.0 companion blog post](https://forgejo.org/2025-07-release-v12-0/#keeping-forks-in-sync).<!--description-->
- Bug fixes
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8511) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8516)): <!--number 8516 --><!--line 0 --><!--description Zml4OiBQUiBub3QgYmxvY2tlZCBieSByZXZpZXcgcmVxdWVzdCBmb3IgYSB3aGl0ZWxpc3RlZCB0ZWFt-->pull requests were not blocked by review request for a whitelisted team.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8475) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8480)): <!--number 8480 --><!--line 0 --><!--description c2V2ZXJhbCBmaXhlcyBvZiBBTFQgUGFja2FnZSByZWdpc3RyeQ==-->several fixes of the ALT RPM package registry.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8391) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8459)): <!--number 8459 --><!--line 0 --><!--description QXV0aCBIZWFkZXI6IEFsbG93IGxvd2VyY2FzZSBhcyB3ZWxsIGFzIHVwcGVyY2FzZSB0b2tlbg==-->allow lowercase as well as uppercase token keyword in the auth header.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8450) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8454)): <!--number 8454 --><!--line 0 --><!--description Zml4OiBjb3JyZWN0bHkgbWFyayByZXZpZXdzIGFzIHN0YWxlIGZvciBBR2l0IFBScw==-->correctly mark reviews as stale for AGit pull requests.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8367) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8386)): <!--number 8386 --><!--line 0 --><!--description Zml4OiB1c2VyIGFjdGl2YXRpb24gd2l0aCB1cHBlcmNhc2UgZW1haWwgYWRkcmVzcw==-->user activation failed when an email address contained uppercase letters.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8330) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8349)): <!--number 8349 --><!--line 0 --><!--description Zml4OiBsb2FkIE9sZE1pbGVzdG9uZSBiYXNlZCBvbiBPbGRNaWxlc3RvbmVJRCwgbm90IE1pbGVzdG9uZUlE-->fix: load OldMilestone based on OldMilestoneID, not MilestoneID<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8037): <!--number 8037 --><!--line 0 --><!--description b21pdCBDb250ZW50LUxlbmd0aCBvbiAzMDcgcmVkaXJlY3RzIHdoZW4gc2VydmluZyBkaXJlY3QgbWFuaWZlc3QgZm9yIGNvbnRhaW5lcnM=-->omit Content-Length on 307 redirects when serving direct manifest for containers.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8034): <!--number 8034 --><!--line 0 --><!--description Y2FtZWwgYW5kIHBhc2NhbCBjYXNlIHRyYW5zZm9ybWVy-->fix a bug causing the PASCAL-modifier to return camel-case.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8028): <!--number 8028 --><!--line 0 --><!--description QWRkcyBjb2RlIHRvIHJlbW92ZSB0aGUgdHJhaWxpbmcgc2xhc2ggZnJvbSB0aGUgaXNzdWVyIGluIG9hdXRoIGNsYWltcw==-->remove the trailing slash from the issuer in OAuth claims.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8025): <!--number 8025 --><!--line 0 --><!--description cmV0dXJuIHRoZSBjb3JyZWN0IGFnaXQgdHlwZSBpbiBzc2hfaW5mbw==-->return the correct AGit type in ssh_info.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7932): <!--number 7932 --><!--line 0 --><!--description W2dpdGVhXSBGaXggdXJsIHZhbGlkYXRpb24gaW4gd2ViaG9vayBhZGQvZWRpdCBBUEk=-->fix url validation in the webhook add/edit API.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7930): <!--number 7930 --><!--line 0 --><!--description QWRkIGVycm9yIHJlcG9ydGluZyB0byBQUnMgd2l0aCBpbnZhbGlkIHdvcmtmbG93cw==-->add error reporting to pull requests with invalid Forgejo Actions workflow files.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7644): <!--number 7644 --><!--line 0 --><!--description YWxsb3cgaW5zdGFuY2UgQVBJIFVSTHMgaW4gcmVsZWFzZSBhc3NldHM=-->allow instance API URLs in release assets.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7604): <!--number 7604 --><!--line 0 --><!--description aW1wcm92ZSBkYXNoYm9hcmQgbG9hZGluZyBwZXJmb3JtYW5jZXM=-->improve the dashboard loading performances.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7454): <!--number 7454 --><!--line 0 --><!--description Q2FuY2VsIGEgcmV2aWV3-->fix a border case where it was not possible to cancel a pull request review.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7409): <!--number 7409 --><!--line 0 --><!--description Zml4IGFjbWUgcmVuZXdhbA==-->fix acme renewal.<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/6352): <!--number 6352 --><!--line 0 --><!--description bWlncmF0ZSBNYXZlbiBwYWNrYWdlcyB0byAiZ3JvdXBJZDphcnRpZmFjdElkIiBuYW1lIGNvbmNhdGVuYXRpb24sIHJlZ2VuZXJhdGUgbWV0YWRhdGEgYW5kIGZpeCBtaXNzaW5nIGdyb3VwSWQ=-->migrate Maven packages to "groupId:artifactId" name concatenation, regenerate metadata and fix missing groupId.<!--description-->
- Included for completeness but not worth a release note
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8534): <!--number 8534 --><!--line 0 --><!--description aTE4bjogdXBkYXRlIG9mIHRyYW5zbGF0aW9ucyBmcm9tIENvZGViZXJnIFRyYW5zbGF0ZQ==-->i18n: update of translations from Codeberg Translate<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8530) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8532)): <!--number 8532 --><!--line 0 --><!--description Zml4KHBhY2thZ2VzKTogc2tpcCBhbm90aGVyIHN0YWNrIGZyYW1lIGZyb20gbG9nZ2luZw==-->fix(packages): skip another stack frame from logging<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8527) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8528)): <!--number 8528 --><!--line 0 --><!--description Zml4OiBpZ25vcmUgIkNsb3NlIiBlcnJvciB3aGVuIHVwbG9hZGluZyBjb250YWluZXIgYmxvYg==-->fix: ignore "Close" error when uploading container blob<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8524) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8526)): <!--number 8526 --><!--line 0 --><!--description Y2hvcmU6IGZhaWxlZCBhdXRoZW50aWNhdGlvbiBhdHRlbXB0cyBhcmUgbm90IGVycm9ycyBhbmQgYXJlIGRpc3BsYXllZCBhdCB0aGUgbG9nIGluZm8gbGV2ZWw=-->chore: failed authentication attempts are not errors and are displayed at the log info level<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8519) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8523)): <!--number 8523 --><!--line 0 --><!--description Zml4OiBleHBhbmRpbmcgZXhhY3RseSAyMCBsaW5lcyBiZXR3ZWVuIGRpZmYgc2VjdGlvbnMgbGVhdmVzIHZpc3VhbCBhcnRpZmFjdA==-->fix: expanding exactly 20 lines between diff sections leaves visual artifact<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8301) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8518)): <!--number 8518 --><!--line 0 --><!--description Y2hvcmU6IHVzZSBldmVudHVhbGx5IGZvciBteXNxbCBjb2xsYXRpb24gdGVzdA==-->chore: use eventually for mysql collation test<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8492) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8498)): <!--number 8498 --><!--line 0 --><!--description Zml4KGNvZGUtc2VhcmNoKTogSGlnaGxpZ2h0U2VhcmNoUmVzdWx0Q29kZSBzaG91bGQgY291bnQgdGhlIG51bWJlciBvZiBieXRlcyBhbmQgbm90IHRoZSBudW1iZXIgb2YgcnVuZXM=-->fix(code-search): HighlightSearchResultCode should count the number of bytes and not the number of runes<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8464) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8474)): <!--number 8474 --><!--line 0 --><!--description Zml4OiB1c2UgcGFyZW50IGNvbnRleHQgZm9yIG5ldyB0cmFuc2FjdGlvbnM=-->fix: use parent context for new transactions<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8460) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8466)): <!--number 8466 --><!--line 0 --><!--description Y2hvcmU6IGRpc2FibGUgbWlzbWF0Y2hlZCByb290IFVSTCBlMmUgdGVzdCBmb3Igc2FmYXJp-->chore: disable mismatched root URL e2e test for safari<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8461) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8463)): <!--number 8463 --><!--line 0 --><!--description Y2hvcmU6IGRvIG5vdCBuYXZpZ2F0ZSB0byBzYW1lIFVSTCBpbiBFMkUgdGVzdA==-->chore: do not navigate to same URL in E2E test<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8448) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8455)): <!--number 8455 --><!--line 0 --><!--description Zml4KGVtYWlsKTogYWN0aW9ucyBub3RpZmljYXRpb24gdGVtcGxhdGUgY29uZnVzZXMgYnJhbmNoIHdpdGggUFI=-->fix(email): actions notification template confuses branch with PR<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8258) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8439)): <!--number 8439 --><!--line 0 --><!--description Zml4OiBjb3JydXB0ZWQgd2lraSB1bml0IGRlZmF1bHQgcGVybWlzc2lvbiAoIzgyMzQgZm9sbG93LXVwKQ==-->fix: corrupted wiki unit default permission (#8234 follow-up)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8366) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8404)): <!--number 8404 --><!--line 0 --><!--description Zml4OiBjYW5jZWxsZWQgb3Igc2tpcHBlZCBydW5zIGFyZSBub3QgZmFpbHVyZXMgZm9yIG5vdGlmaWNhdGlvbnM=-->fix: cancelled or skipped runs are not failures for notifications<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8400) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8402)): <!--number 8402 --><!--line 0 --><!--description Y2hvcmU6IGltcHJvdmUgcmVsaWFiaWxpdHkgb2Ygd2ViYXV0aG4gZTJlIHRlc3Q=-->chore: improve reliability of webauthn e2e test<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8261) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8398)): <!--number 8398 --><!--line 0 --><!--description Zml4OiBza2lwIGVtcHR5IHRva2VucyBpbiBTZWFyY2hPcHRpb25zLlRva2Vucygp-->fix: skip empty tokens in SearchOptions.Tokens()<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8374) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8390)): <!--number 8390 --><!--line 0 --><!--description Zml4OiBkaXNhYmxlIEZvcmdlam8gQWN0aW9ucyBlbWFpbCBub3RpZmljYXRpb25zIG9uIHJlY292ZXJ5-->fix: disable Forgejo Actions email notifications on recovery<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8326) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8331)): <!--number 8331 --><!--line 0 --><!--description Zml4OiBtYWtlIEFQSSAvcmVwb3Mve293bmVyfS97cmVwb30vY29tcGFyZS97YmFzZWhlYWR9IHdvcmsgd2l0aCBmb3Jrcw==-->fix: make API /repos/{owner}/{repo}/compare/{basehead} work with forks<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8320) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8321)): <!--number 8321 --><!--line 0 --><!--description Y2hvcmU6IHNvcnQgYmxvY2tlZCB1c2VycyBsaXN0IGZvciBkZXRlcm1pc3RpYyByZXN1bHRz-->chore: sort blocked users list for determistic results<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8267) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8319)): <!--number 8319 --><!--line 0 --><!--description Zml4OiBhYnVzZSByZXBvcnRzIHN0cmluZyBkYXRhIHR5cGVz-->fix: abuse reports string data types<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8304) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8318)): <!--number 8318 --><!--line 0 --><!--description Zml4OiBwYXNzIGRvZXIncyBJRCBmb3IgQ1JVRCBpbnN0YW5jZSBzaWduaW5n-->fix: pass doer's ID for CRUD instance signing<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8002) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8290)): <!--number 8290 --><!--line 0 --><!--description Zml4KHVpKTogcmVsZWFzZTogbmFtZSBpcyBvdmVycmlkZGVuIHdpdGggdGFnIG5hbWUgb24gZWRpdA==-->fix(ui): release: name is overridden with tag name on edit<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8286) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8288)): <!--number 8288 --><!--line 0 --><!--description UmV2ZXJ0ICJmaXgoYXBpKTogZG9jdW1lbnQgYGlzX3N5c3RlbV93ZWJob29rYCBmaWVsZCAoIzc3ODQpIg==-->Revert "fix(api): document `is_system_webhook` field (#7784)"<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8271) ([backported](https://codeberg.org/forgejo/forgejo/pulls/8277)): <!--number 8277 --><!--line 0 --><!--description Q0kgZGVidWc6IHRlc3RTbGVlcDogc2hvdyBhY3R1YWwgdGltZXMgb24gZmFpbHVyZXM=-->CI debug: testSleep: show actual times on failures<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8268): <!--number 8268 --><!--line 0 --><!--description Y2hvcmU6IHVwZGF0ZSBzZWN1cml0eSBvcHRpb24gaW4gaXNzdWUgdGVtcGxhdGVz-->chore: update security option in issue templates<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8260): <!--number 8260 --><!--line 0 --><!--description VG9rZW4uUGFyc2VJc3N1ZVJlZmVyZW5jZSBjcmFzaGluZyBvbiBlbXB0eSBzdHJpbmc=-->Token.ParseIssueReference crashing on empty string<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8256): <!--number 8256 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0MS4xLjQgKGZvcmdlam8p-->Update renovate to v41.1.4 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8253): <!--number 8253 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0MSAoZm9yZ2VqbykgKG1ham9yKQ==-->Update renovate to v41 (forgejo) (major)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8252): <!--number 8252 --><!--line 0 --><!--description YWRkIGFuIGluZGV4IHRvIHRoZSBBY3Rpb25SdW4uc3RvcHBlZCBjb2x1bW4=-->add an index to the ActionRun.stopped column<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8250): <!--number 8250 --><!--line 0 --><!--description YnVnOiB1bmlmeSBSZXBvQWN0aW9uUnVuIGFuZCBBY3Rpb25SdW4gc3RydWN0cw==-->bug: unify RepoActionRun and ActionRun structs<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8248): <!--number 8248 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvLWNoaS9jaGkvdjUgdG8gdjUuMi4yIChmb3JnZWpvKQ==-->Update module github.com/go-chi/chi/v5 to v5.2.2 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8245): <!--number 8245 --><!--line 0 --><!--description RG93bmdyYWRlIHBsYXl3cmlnaHQgdGVtcG9yYXJpbHkgYW5kIGFsbG93IHJ1bm5pbmcgYWxsIGUyZSB0ZXN0cw==-->Downgrade playwright temporarily and allow running all e2e tests<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8243): <!--number 8243 --><!--line 0 --><!--description Z2l0L2Jsb2IgdXNlIE5ld1RydW5jYXRlZFJlYWRlciBmb3IgcHJvZmlsZSBhbmQgY29kZW93bmVycw==-->git/blob use NewTruncatedReader for profile and codeowners<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8242): <!--number 8242 --><!--line 0 --><!--description YnVnOiBGb3JnZWpvIEFjdGlvbnMgZW1haWwgbm90aWZpY2F0aW9ucyBhcmUgb3B0LWlu-->bug: Forgejo Actions email notifications are opt-in<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8236): <!--number 8236 --><!--line 0 --><!--description cHJldmVudCA1MDAgbWVzc2FnZSBvbiBpbnZhbGlkIHVzZXJuYW1l-->prevent 500 message on invalid username<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8227): <!--number 8227 --><!--line 0 --><!--description b25seSBzZW5kIEZvcmdlam8gQWN0aW9ucyBub3RpZmljYXRpb25zIHRvIG9uZSB1c2Vy-->only send Forgejo Actions notifications to one user<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8226): <!--number 8226 --><!--line 0 --><!--description Y2hvcmU6IHNvcnQgbWFpbGVyIG1lc3NhZ2VzIGluIHRlc3QgYXNzZXJ0aW9u-->chore: sort mailer messages in test assertion<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8224): <!--number 8224 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZS1ub3Rlcyk6IEZvcmdlam8gdjExLjAuMg==-->chore(release-notes): Forgejo v11.0.2<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8223): <!--number 8223 --><!--line 0 --><!--description YmxvYjogR2V0QmxvYkNvbnRlbnQ6IHJlZHVjZSBhbGxvY2F0aW9ucw==-->blob: GetBlobContent: reduce allocations<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8220): <!--number 8220 --><!--line 0 --><!--description Zml4KHRlc3RzKTogVGVzdEluaXRJbnN0cnVjdGlvbnMgbXVzdCB1c2UgZm9yRWFjaE9iamVjdEZvcm1hdA==-->fix(tests): TestInitInstructions must use forEachObjectFormat<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8219): <!--number 8219 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vYWN0IHRvIHYxLjI4LjAgKGZvcmdlam8p-->Update module code.forgejo.org/forgejo/act to v1.28.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8218): <!--number 8218 --><!--line 0 --><!--description VXBkYXRlIGRhdGEuZm9yZ2Vqby5vcmcvb2NpL2FscGluZSBEb2NrZXIgdGFnIHRvIHYzLjIyIChmb3JnZWpvKQ==-->Update data.forgejo.org/oci/alpine Docker tag to v3.22 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8217): <!--number 8217 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL21pbmlvL21pbmlvLWdvL3Y3IHRvIHY3LjAuOTQgKGZvcmdlam8p-->Update module github.com/minio/minio-go/v7 to v7.0.94 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8216): <!--number 8216 --><!--line 0 --><!--description Y2hvcmU6IG1pZ3JhdGUgdG8gYEBzdHlsaXN0aWMvZXNsaW50LXBsdWdpbmA=-->chore: migrate to `@stylistic/eslint-plugin`<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8215): <!--number 8215 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZXNsaW50LXBsdWdpbi13YyB0byB2MyAoZm9yZ2Vqbyk=-->Update dependency eslint-plugin-wc to v3 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8214): <!--number 8214 --><!--line 0 --><!--description Zml4KHVpKTogaXNzdWUgY29tbWVudCBhbmNob3Igb24gdGltZSBzdGFtcA==-->fix(ui): issue comment anchor on time stamp<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8209): <!--number 8209 --><!--line 0 --><!--description Z2l0X21vZGVsLkNvbW1pdFN0YXR1c2VzSGlkZUFjdGlvbnNVUkwgaXMgb2Jzb2xldGU=-->git_model.CommitStatusesHideActionsURL is obsolete<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8207): <!--number 8207 --><!--line 0 --><!--description UmVtb3ZlIDFtcyBkZWxheSBiZWZvcmUgaW5zZXJ0aW5nIGxpc3QgcHJlZml4LCBmaXggcmFjZSBjb25kaXRpb24gaW4gdGVzdHM=-->Remove 1ms delay before inserting list prefix, fix race condition in tests<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8205): <!--number 8205 --><!--line 0 --><!--description Y2hvcmU6IHJlbW92ZSBnb3BscyBpbiBNYWtlZmlsZQ==-->chore: remove gopls in Makefile<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8202): <!--number 8202 --><!--line 0 --><!--description ZG8gbm90IGNoZWNrIGZvciBgb2JqZWN0X2Zvcm1hdF9uYW1lYCBmaWVsZA==-->do not check for `object_format_name` field<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8199): <!--number 8199 --><!--line 0 --><!--description ZmVhdCh1aSk6IHVzZSBrYmQgaW4gbGFiZWwgc2VsZWN0b3IgaGludCwgcmVtb3ZlIGVudGVy-->feat(ui): use kbd in label selector hint, remove enter<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8198): <!--number 8198 --><!--line 0 --><!--description W2dpdGVhXSB3ZWVrIDIwMjUtMjIgY2hlcnJ5IHBpY2sgKGdpdGVhL21haW4gLT4gZm9yZ2Vqbyk=-->[gitea] week 2025-22 cherry pick (gitea/main -> forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8197): <!--number 8197 --><!--line 0 --><!--description Rml4IHNlbnRlbmNlIHN0cnVjdHVyZSBtZW50aW9uaW5nIGNvb2xkb3duIHBlcmlvZA==-->Fix sentence structure mentioning cooldown period<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8195): <!--number 8195 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8194): <!--number 8194 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0MC41Ny4xIChmb3JnZWpvKQ==-->Update renovate to v40.57.1 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8190): <!--number 8190 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgY2hhcnQuanMgdG8gdjQuNS4wIChmb3JnZWpvKQ==-->Update dependency chart.js to v4.5.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8188): <!--number 8188 --><!--line 0 --><!--description bWFrZSB0ZXN0IHN1aXRlIHJ1biBvbiBvbGRlciBnaXQgdmVyc2lvbg==-->make test suite run on older git version<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8186): <!--number 8186 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvLXNxbC1kcml2ZXIvbXlzcWwgdG8gdjEuOS4zIChmb3JnZWpvKQ==-->Update module github.com/go-sql-driver/mysql to v1.9.3 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8183): <!--number 8183 --><!--line 0 --><!--description VXBkYXRlIGVudmlyb25tZW50LXRvLWluaSBSRUFETUU=-->Update environment-to-ini README<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8181): <!--number 8181 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9mb3JnZWpvL2Zvcmdlam8tYnVpbGQtcHVibGlzaCBhY3Rpb24gdG8gdjUuMy41IChmb3JnZWpvKQ==-->Update https://data.forgejo.org/forgejo/forgejo-build-publish action to v5.3.5 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8176): <!--number 8176 --><!--line 0 --><!--description RG9ja2VyZmlsZSBzaG91bGQgcmUtdXNlIGJpbmRhdGEgZmlsZXMgd2hlbiBwb3NzaWJsZQ==-->Dockerfile should re-use bindata files when possible<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8174): <!--number 8174 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgbWluaW1hdGNoIHRvIHYxMC4wLjMgKGZvcmdlam8p-->Update dependency minimatch to v10.0.3 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8172): <!--number 8172 --><!--line 0 --><!--description dXNlIHpzdGQuV2l0aExvd2VyRW5jb2Rlck1lbSBmb3IgZ2VuZXJhdGUtYmluZGF0YQ==-->use zstd.WithLowerEncoderMem for generate-bindata<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8168): <!--number 8168 --><!--line 0 --><!--description ZG8gbm90IG1peCB1cmZhdmUgdjIgd2l0aCB1cmZhdmUgdjM=-->do not mix urfave v2 with urfave v3<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8166): <!--number 8166 --><!--line 0 --><!--description Y2hvcmUoY2kpOiBza2lwIHRlc3RzIGlmIFRFU1Rfe01JTklPX0VORFBPSU5ULEVMQVNUSUNTRUFSQ0hfVVJMfSBpcyBub3Qgc2V0-->chore(ci): skip tests if TEST_{MINIO_ENDPOINT,ELASTICSEARCH_URL} is not set<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8163): <!--number 8163 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRsYWIuY29tL2dpdGxhYi1vcmcvYXBpL2NsaWVudC1nbyB0byB2MC4xMzAuMSAoZm9yZ2Vqbyk=-->Update module gitlab.com/gitlab-org/api/client-go to v0.130.1 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8162): <!--number 8162 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL21pbmlvL21pbmlvLWdvL3Y3IHRvIHY3LjAuOTMgKGZvcmdlam8p-->Update module github.com/minio/minio-go/v7 to v7.0.93 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8160): <!--number 8160 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgcG9zdGNzcyB0byB2OC41LjUgKGZvcmdlam8p-->Update dependency postcss to v8.5.5 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8159): <!--number 8159 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgbWluaW1hdGNoIHRvIHYxMC4wLjIgKGZvcmdlam8p-->Update dependency minimatch to v10.0.2 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8157): <!--number 8157 --><!--line 0 --><!--description Y2hvcmUoY2kpOiB1c2UgY29kZS5mb3JnZWpvLm9yZy9mb3JnZWpvL21pZ3JhdGlvbi10ZXN0IGZvciBtaWdyYXRpb24gdGVzdHM=-->chore(ci): use code.forgejo.org/forgejo/migration-test for migration tests<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8150): <!--number 8150 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgaGFwcHktZG9tIHRvIHYxOCAoZm9yZ2Vqbyk=-->Update dependency happy-dom to v18 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8149): <!--number 8149 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgdHlwZXNjcmlwdC1lc2xpbnQgdG8gdjguMzQuMCAoZm9yZ2Vqbyk=-->Update dependency typescript-eslint to v8.34.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8148): <!--number 8148 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQHBsYXl3cmlnaHQvdGVzdCB0byB2MS41My4wIChmb3JnZWpvKQ==-->Update dependency @playwright/test to v1.53.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8147): <!--number 8147 --><!--line 0 --><!--description VXBkYXRlIGdoY3IuaW8vZGV2Y29udGFpbmVycy9mZWF0dXJlcy9naXQtbGZzIERvY2tlciB0YWcgdG8gdjEuMi40IChmb3JnZWpvKQ==-->Update ghcr.io/devcontainers/features/git-lfs Docker tag to v1.2.4 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8146): <!--number 8146 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgcG9zdGNzcy1uZXN0aW5nIHRvIHYxMy4wLjIgKGZvcmdlam8p-->Update dependency postcss-nesting to v13.0.2 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8145): <!--number 8145 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQHZpdGVzdC9lc2xpbnQtcGx1Z2luIHRvIHYxLjIuMiAoZm9yZ2Vqbyk=-->Update dependency @vitest/eslint-plugin to v1.2.2 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8144): <!--number 8144 --><!--line 0 --><!--description Y2hvcmU6IGZpeCB0ZXN0cyBmb3Igb2xkIGdpdCB2ZXJzaW9ucw==-->chore: fix tests for old git versions<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8140): <!--number 8140 --><!--line 0 --><!--description Y2hvcmUoY2kpOiBydW4gYWRkaXRpb25hbCB0ZXN0cyBpbiBpbnRlZ3JhdGlvbg==-->chore(ci): run additional tests in integration<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8137): <!--number 8137 --><!--line 0 --><!--description UmVtb3ZlIHNoZWJhbmcgZnJvbSBiYXNoIGF1dG9jb21wbGV0aW9u-->Remove shebang from bash autocompletion<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8134): <!--number 8134 --><!--line 0 --><!--description TWFrZSByZWxhdGl2ZS10aW1lIGEgc2VsZi1tYWludGFpbmluZyBjdXN0b20gZWxlbWVudA==-->Make relative-time a self-maintaining custom element<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8129): <!--number 8129 --><!--line 0 --><!--description Y3JlYXRlIHNoZWxsLm5peDsgdXBkYXRlIGZsYWtlLio=-->create shell.nix; update flake.*<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8128): <!--number 8128 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb25uZWN0cnBjLmNvbS9jb25uZWN0IHRvIHYxLjE4LjEgKGZvcmdlam8p-->Update module connectrpc.com/connect to v1.18.1 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8127): <!--number 8127 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgbWFya2Rvd25saW50LWNsaSB0byB2MC40NS4wIChmb3JnZWpvKQ==-->Update dependency markdownlint-cli to v0.45.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8126): <!--number 8126 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZXNsaW50LXBsdWdpbi1yZWdleHAgdG8gdjIuOS4wIChmb3JnZWpvKQ==-->Update dependency eslint-plugin-regexp to v2.9.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8125): <!--number 8125 --><!--line 0 --><!--description VXBkYXRlIHZpdGVzdCBtb25vcmVwbyB0byB2My4yLjMgKGZvcmdlam8p-->Update vitest monorepo to v3.2.3 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8118): <!--number 8118 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8117): <!--number 8117 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0MC40OC40IChmb3JnZWpvKQ==-->Update renovate to v40.48.4 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8112): <!--number 8112 --><!--line 0 --><!--description cmVtb3ZlIGRvd25sb2FkIGF0dHJpYnV0ZSBmcm9tIGV4dGVybmFsIGFzc2V0cw==-->remove download attribute from external assets<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8108): <!--number 8108 --><!--line 0 --><!--description YWx3YXlzIHJlbmRlciBkZXRhaWxlZCB0ZWFtIHBlcm1pc3Npb25zIHRhYmxlIGluIHNpZGViYXI=-->always render detailed team permissions table in sidebar<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8103): <!--number 8103 --><!--line 0 --><!--description VXBkYXRlIHgvdG9vbHMgdG8gdjAuMzQuMCAoZm9yZ2Vqbyk=-->Update x/tools to v0.34.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8102): <!--number 8102 --><!--line 0 --><!--description VXBkYXRlIHZpdGVzdCBtb25vcmVwbyB0byB2My4yLjIgKGZvcmdlam8p-->Update vitest monorepo to v3.2.2 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8101): <!--number 8101 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2VkaXRvcmNvbmZpZy1jaGVja2VyL2VkaXRvcmNvbmZpZy1jaGVja2VyL3YzL2NtZC9lZGl0b3Jjb25maWctY2hlY2tlciB0byB2My4zLjAgKGZvcmdlam8p-->Update module github.com/editorconfig-checker/editorconfig-checker/v3/cmd/editorconfig-checker to v3.3.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8099): <!--number 8099 --><!--line 0 --><!--description VXBkYXRlIGxpbnRlcnMgKGZvcmdlam8p-->Update linters (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8098): <!--number 8098 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgaGFwcHktZG9tIHRvIHYxNy42LjMgKGZvcmdlam8p-->Update dependency happy-dom to v17.6.3 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8097): <!--number 8097 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQHZpdGVqcy9wbHVnaW4tdnVlIHRvIHY1LjIuNCAoZm9yZ2Vqbyk=-->Update dependency @vitejs/plugin-vue to v5.2.4 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8096): <!--number 8096 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQGF4ZS1jb3JlL3BsYXl3cmlnaHQgdG8gdjQuMTAuMiAoZm9yZ2Vqbyk=-->Update dependency @axe-core/playwright to v4.10.2 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8094): <!--number 8094 --><!--line 0 --><!--description c2hvdyBtZW1iZXJzaGlwIG9mIGxpbWl0ZWQgb3Jncw==-->show membership of limited orgs<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8091): <!--number 8091 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvY3J5cHRvIHRvIHYwLjM5LjAgKGZvcmdlam8p-->Update module golang.org/x/crypto to v0.39.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8090): <!--number 8090 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL3NlcmdpL2dvLWRpZmYgdG8gdjEuNC4wIChmb3JnZWpvKQ==-->Update module github.com/sergi/go-diff to v1.4.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8086): <!--number 8086 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZ28gdG8gdjEuMjQuNCAoZm9yZ2Vqbyk=-->Update dependency go to v1.24.4 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8078): <!--number 8078 --><!--line 0 --><!--description RmVkZXJhdGVkIHVzZXIgYWN0aXZpdHkgZm9sbG93aW5nOiBJc29sYXRlZCBtb2RlbCBjaGFuZ2Vz-->Federated user activity following: Isolated model changes<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8066): <!--number 8066 --><!--line 0 --><!--description cmVuYW1lIGFwaS57TGlzdCx9QWN0aW9uUnVuIHRvIGFwaS57TGlzdCx9UmVwb0FjdGlvblJ1bg==-->rename api.{List,}ActionRun to api.{List,}RepoActionRun<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8065): <!--number 8065 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnby51YmVyLm9yZy9tb2NrL21vY2tnZW4gdG8gdjAuNS4yIChmb3JnZWpvKQ==-->Update module go.uber.org/mock/mockgen to v0.5.2 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8064): <!--number 8064 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2JsZXZlc2VhcmNoL2JsZXZlL3YyIHRvIHYyLjUuMiAoZm9yZ2Vqbyk=-->Update module github.com/blevesearch/bleve/v2 to v2.5.2 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8063): <!--number 8063 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgdnVlIHRvIHYzLjUuMTYgKGZvcmdlam8p-->Update dependency vue to v3.5.16 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8062): <!--number 8062 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgcG9zdGNzcyB0byB2OC41LjQgKGZvcmdlam8p-->Update dependency postcss to v8.5.4 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8061): <!--number 8061 --><!--line 0 --><!--description Y2hvcmU6IGV4dHJhY3QgY29tbWl0IGhlYWRlciB0ZW1wbGF0ZQ==-->chore: extract commit header template<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8058): <!--number 8058 --><!--line 0 --><!--description Y2hvcmU6IGRyb3AgdW51c2VkIGBtaXNzcGVsbGA=-->chore: drop unused `misspell`<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8056): <!--number 8056 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2YzL2dvZjMvdjMgdG8gdjMuMTEuMCAoZm9yZ2Vqbyk=-->Update module code.forgejo.org/f3/gof3/v3 to v3.11.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8055): <!--number 8055 --><!--line 0 --><!--description Y2hvcmUocmVub3ZhdGUpOiBkaXNhYmxlIGluZGlyZWN0IGRpZ2VzdCB1cGRhdGVzIGZvciBzdGFibGU=-->chore(renovate): disable indirect digest updates for stable<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8054): <!--number 8054 --><!--line 0 --><!--description Y2hvcmU6IGRyb3AgdW51c2VkIGBAdHlwZXNjcmlwdC1lc2xpbnQvcGFyc2VyYCBwYWNrYWdl-->chore: drop unused `@typescript-eslint/parser` package<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8052): <!--number 8052 --><!--line 0 --><!--description VXBkYXRlIGxpbnRlcnMgKGZvcmdlam8p-->Update linters (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8051): <!--number 8051 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgaGFwcHktZG9tIHRvIHYxNy42LjEgKGZvcmdlam8p-->Update dependency happy-dom to v17.6.1 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8050): <!--number 8050 --><!--line 0 --><!--description Y2hvcmUocmVub3ZhdGUpOiBidW1wIHRvIHY0MC40MC4wIGFuZCBkaXNhYmxlIHY3-->chore(renovate): bump to v40.40.0 and disable v7<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8049): <!--number 8049 --><!--line 0 --><!--description Q0xJIGlzIGZvcmdlam8gbm90IEZvcmdlam8=-->CLI is forgejo not Forgejo<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8044): <!--number 8044 --><!--line 0 --><!--description YWRkIG1pc3NpbmcgYm90dG9tIG1hcmdpbiBmb3IgdmVyaWZpY2F0aW9uLWJ1dHRvbiBpbiByZWxlYXNlIHZpZXc=-->add missing bottom margin for verification-button in release view<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8041): <!--number 8041 --><!--line 0 --><!--description W2dpdGVhXSBBbHdheXMgdXNlIGFuIGVtcHR5IGxpbmUgdG8gc2VwYXJhdGUgdGhlIGNvbW1pdCBtZXNzYWdlIGFuZCB0cmFpbGVy-->[gitea] Always use an empty line to separate the commit message and trailer<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8040): <!--number 8040 --><!--line 0 --><!--description W2dpdGVhXSB3ZWVrIDIwMjUtMjEgY2hlcnJ5IHBpY2sgKGdpdGVhL21haW4gLT4gZm9yZ2Vqbyk=-->[gitea] week 2025-21 cherry pick (gitea/main -> forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8038): <!--number 8038 --><!--line 0 --><!--description QWRkIGEgR05VIEd1aXggbWFuaWZlc3Q=-->Add a GNU Guix manifest<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8021): <!--number 8021 --><!--line 0 --><!--description Y2hvcmUoY2xlYW51cCk6IHN1cHByZXNzIG5vbiBhY3Rpb25hYmxlIFhPUk0gd2FybmluZ3M=-->chore(cleanup): suppress non actionable XORM warnings<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8019): <!--number 8019 --><!--line 0 --><!--description bWlncmF0ZSByZXBvc2l0b3J5LnRvcGljcyBjb2x1bW4gZm9yIFNRTGl0ZQ==-->migrate repository.topics column for SQLite<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7994): <!--number 7994 --><!--line 0 --><!--description Y2hvcmUoY2xlYW51cCk6IHJlcGxhY2VzIHVubmVjZXNzYXJ5IGNhbGxzIHRvIGZvcm1hdHRpbmcgZnVuY3Rpb25zIGJ5IG5vbi1mb3JtYXR0aW5nIGVxdWl2YWxlbnRz-->chore(cleanup): replaces unnecessary calls to formatting functions by non-formatting equivalents<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7987): <!--number 7987 --><!--line 0 --><!--description YWdncmVnYXRlIGRlbGV0ZWQgdGVhbSBhcyBnaG9zdCB0ZWFt-->aggregate deleted team as ghost team<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7981): <!--number 7981 --><!--line 0 --><!--description YWRkIHZhbGlkYXRpbmcgdXNlciBwYXNzd29yZCBhcyB0cmFjZSByZWdpb24=-->add validating user password as trace region<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7978): <!--number 7978 --><!--line 0 --><!--description Y2hvcmUoY2xlYW51cCk6IGZpeCBhbmQgc2ltcGxpZnkgQVBJIGNvbXBhcmlzb24gaGVscGVy-->chore(cleanup): fix and simplify API comparison helper<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7975): <!--number 7975 --><!--line 0 --><!--description Zml4KGkxOG4pOiB1c2UgY29ycmVjdCBiYXNlIGNhcGl0YWxpemF0aW9uIHN0eWxl-->fix(i18n): use correct base capitalization style<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7961): <!--number 7961 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7959): <!--number 7959 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0MC4zMS4wIChmb3JnZWpvKQ==-->Update renovate to v40.31.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7954): <!--number 7954 --><!--line 0 --><!--description VXBkYXRlIGZvcmdlam8gZ28tY2hpIHBhY2thZ2VzIChmb3JnZWpvKQ==-->Update forgejo go-chi packages (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7952): <!--number 7952 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL1Byb3Rvbk1haWwvZ28tY3J5cHRvIHRvIHYxLjMuMCAoZm9yZ2Vqbyk=-->Update module github.com/ProtonMail/go-crypto to v1.3.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7950): <!--number 7950 --><!--line 0 --><!--description Zml4KHVpKTogcmVsYXRpdmUgdGltZSBlbGVtZW50cyB3ZXJlIHJlc2V0IG9uIGh0bXggc3dhcA==-->fix(ui): relative time elements were reset on htmx swap<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7945): <!--number 7945 --><!--line 0 --><!--description YG92ZXJmbG93LXdyYXBgIHN0cmF0ZWd5IGluIGAubWFya3VwYCBDU1MgY2xhc3M=-->`overflow-wrap` strategy in `.markup` CSS class<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7944): <!--number 7944 --><!--line 0 --><!--description Zml4KHVpKTogY2hhbmdlIGVzY2FwaW5nIGJ1dHRvbiBiZyBvbiBzZWxlY3RlZCBsaW5lcw==-->fix(ui): change escaping button bg on selected lines<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7933): <!--number 7933 --><!--line 0 --><!--description ZG8gbm90IHVuY29uZGl0aW9uYWxseSBhcHBlbmQgJChHSVRFQV9DT01QQVRJQklMSVRZKSBpbiB2ZXJzaW9u-->do not unconditionally append $(GITEA_COMPATIBILITY) in version<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7925): <!--number 7925 --><!--line 0 --><!--description Zml4KHVpKTogY2VudGVyIGZvb3RlciBsaW5rcw==-->fix(ui): center footer links<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7922): <!--number 7922 --><!--line 0 --><!--description VXBkYXRlIGdvLW9wZW5hcGkgcGFja2FnZXMgKGZvcmdlam8p-->Update go-openapi packages (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7920): <!--number 7920 --><!--line 0 --><!--description dW5pZnkgcmVwb3NpdG9yeSB0b3BpY3MgZmllbGQgYnkgcmVwbGFjaW5nIEpTT04gbnVsbCB3aXRoIGVtcHR5IGFycmF5-->unify repository topics field by replacing JSON null with empty array<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7919): <!--number 7919 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgd2VicGFjayB0byB2NS45OS45IChmb3JnZWpvKQ==-->Update dependency webpack to v5.99.9 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7918): <!--number 7918 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgc2hhcnAgdG8gdjAuMzQuMiAoZm9yZ2Vqbyk=-->Update dependency sharp to v0.34.2 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7917): <!--number 7917 --><!--line 0 --><!--description Y2hvcmU6IFFvTCBpbXByb3ZlbWVudHMgdG8gdGVzdHM=-->chore: QoL improvements to tests<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7914): <!--number 7914 --><!--line 0 --><!--description Y2hvcmUocmVub3ZhdGUpOiBkaXNhYmxlIGluZGlyZWN0IG1ham9yIHVwZGF0ZXMgZm9yIHN0YWJsZSBicmFuY2hlcw==-->chore(renovate): disable indirect major updates for stable branches<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7910): <!--number 7910 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgY2xpcHBpZSB0byB2NC4xLjcgKGZvcmdlam8p-->Update dependency clippie to v4.1.7 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7908): <!--number 7908 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7907): <!--number 7907 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0MC4yNi4wIChmb3JnZWpvKQ==-->Update renovate to v40.26.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7901): <!--number 7901 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL3l1aW4vZ29sZG1hcmsgdG8gdjEuNy4xMiAoZm9yZ2Vqbyk=-->Update module github.com/yuin/goldmark to v1.7.12 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7898): <!--number 7898 --><!--line 0 --><!--description Y2hvcmUodWkpOiBjbGVhbnVwIHVudXNlZCBjb2xvciBDU1M=-->chore(ui): cleanup unused color CSS<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7894): <!--number 7894 --><!--line 0 --><!--description Zml4KHVpKTogZml4IGZvcmNlLXB1c2ggY29tcGFyZSBsaW5lIGxheW91dA==-->fix(ui): fix force-push compare line layout<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7890): <!--number 7890 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2FsZWN0aG9tYXMvY2hyb21hL3YyIHRvIHYyLjE4LjAgKGZvcmdlam8p-->Update module github.com/alecthomas/chroma/v2 to v2.18.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7884): <!--number 7884 --><!--line 0 --><!--description cGFyc2UgYGNoYW5nZS1pZGAgaW4gdGhlIGdpdCBjb21taXQgaGVhZGVy-->parse `change-id` in the git commit header<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7881): <!--number 7881 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2JsZXZlc2VhcmNoL2JsZXZlL3YyIHRvIHYyLjUuMSAoZm9yZ2Vqbyk=-->Update module github.com/blevesearch/bleve/v2 to v2.5.1 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7879): <!--number 7879 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgdnVlIHRvIHYzLjUuMTQgKGZvcmdlam8p-->Update dependency vue to v3.5.14 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7877): <!--number 7877 --><!--line 0 --><!--description TWlncmF0ZSByZW5vdmF0ZSBjb25maWc=-->Migrate renovate config<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7872): <!--number 7872 --><!--line 0 --><!--description Zml4KHVpKTogZGlzYWJsZSBhdXRvY2FwaXRhbGl6YXRpb24vYXV0b2NvcnJlY3QgZm9yIHVzZXJuYW1lIGlucHV0cw==-->fix(ui): disable autocapitalization/autocorrect for username inputs<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7868): <!--number 7868 --><!--line 0 --><!--description Zml4KHVpKTogZGlzYWJsZSBzcGVsbGNoZWNrIG9uIFRPVFAgZm9ybSBmaWVsZHM=-->fix(ui): disable spellcheck on TOTP form fields<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7866): <!--number 7866 --><!--line 0 --><!--description Y2hvcmU6IHJlbW92ZSB1bnVzZWQgdXBkYXRlLWxvY2FsZXMuc2g=-->chore: remove unused update-locales.sh<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7857): <!--number 7857 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL21zdGVpbmVydC9wYW0vdjIgdG8gdjIuMS4wIChmb3JnZWpvKQ==-->Update module github.com/msteinert/pam/v2 to v2.1.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7856): <!--number 7856 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vYWN0IHRvIHYxLjI2LjAgKGZvcmdlam8p-->Update module code.forgejo.org/forgejo/act to v1.26.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7852): <!--number 7852 --><!--line 0 --><!--description Rml4IFRlc3RTU0hQdXNoTWlycm9yL05vcm1hbC9DaGVja19taXJyb3JlZF9jb250ZW50IHRlc3Q=-->Fix TestSSHPushMirror/Normal/Check_mirrored_content test<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7849): <!--number 7849 --><!--line 0 --><!--description VXBkYXRlIGdpdGh1Yi5jb20vZ29sYW5nLWp3dC9qd3QvdjQgKGluZGlyZWN0KSB0byB2NC41LjIgW1NFQ1VSSVRZXSAoZm9yZ2Vqbyk=-->Update github.com/golang-jwt/jwt/v4 (indirect) to v4.5.2 [SECURITY] (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7848): <!--number 7848 --><!--line 0 --><!--description Y2kocmVub3ZhdGUpOiBvbmx5IGZhaWwgb24gZXJyb3I=-->ci(renovate): only fail on error<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7847): <!--number 7847 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL25pa2xhc2Zhc2NoaW5nL2dvLW9yZyB0byB2MS44LjAgKGZvcmdlam8p-->Update module github.com/niklasfasching/go-org to v1.8.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7840): <!--number 7840 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7835): <!--number 7835 --><!--line 0 --><!--description cmVtb3ZlIHJlZHVuZGFudCBwZXJtaXNzaW9uIGNoZWNrIGluIFJlbW92ZUxhYmVs-->remove redundant permission check in RemoveLabel<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7833): <!--number 7833 --><!--line 0 --><!--description dGVzdCh1aS1lMmUpOiBmaXggZmxha3kgcmVwbyB3aWtpIHRlc3Q=-->test(ui-e2e): fix flaky repo wiki test<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7830): <!--number 7830 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvLXdlYmF1dGhuL3dlYmF1dGhuIHRvIHYwLjEzLjAgKGZvcmdlam8p-->Update module github.com/go-webauthn/webauthn to v0.13.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7822): <!--number 7822 --><!--line 0 --><!--description Y2hvcmUodWkpOiBjbGVhbiB1cCBoYXNoYm94IENTUywgc21hbGwgZGVzaWduIGNoYW5nZXM=-->chore(ui): clean up hashbox CSS, small design changes<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7817): <!--number 7817 --><!--line 0 --><!--description cmVwbGFjZSDDnyB3aXRoIHNzIGluIG5vcm1hbGl6ZVVzZXJOYW1l-->replace ß with ss in normalizeUserName<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7814): <!--number 7814 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZ2xvYmFscyB0byB2MTYuMS4wIChmb3JnZWpvKQ==-->Update dependency globals to v16.1.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7809): <!--number 7809 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvb2F1dGgyIHRvIHYwLjMwLjAgKGZvcmdlam8p-->Update module golang.org/x/oauth2 to v0.30.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7807): <!--number 7807 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZ28gdG8gdjEuMjQuMyAoZm9yZ2Vqbyk=-->Update dependency go to v1.24.3 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7799): <!--number 7799 --><!--line 0 --><!--description YWRkIG1pc3NpbmcgbG9hZGJhbGFuY2luZyBwb2xpY2llcyBmb3IgRW5naW5lR3JvdXAgY29ubmVjdGlvbnM=-->add missing loadbalancing policies for EngineGroup connections<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7798): <!--number 7798 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvbmV0IHRvIHYwLjQwLjAgKGZvcmdlam8p-->Update module golang.org/x/net to v0.40.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7797): <!--number 7797 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvaW1hZ2UgdG8gdjAuMjcuMCAoZm9yZ2Vqbyk=-->Update module golang.org/x/image to v0.27.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7792): <!--number 7792 --><!--line 0 --><!--description W3NraXAgY2ldIGNob3JlOiByZW1vdmUgYmFja3BvcnQgc2NyaXB0-->[skip ci] chore: remove backport script<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7789): <!--number 7789 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvbGFuZ2NpL2dvbGFuZ2NpLWxpbnQvdjIvY21kL2dvbGFuZ2NpLWxpbnQgdG8gdjIuMS42IChmb3JnZWpvKQ==-->Update module github.com/golangci/golangci-lint/v2/cmd/golangci-lint to v2.1.6 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7785): <!--number 7785 --><!--line 0 --><!--description W1NLSVAgQ0ldIGNob3JlOiB1cGRhdGUgQ09ERU9XTkVSUw==-->[SKIP CI] chore: update CODEOWNERS<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7784): <!--number 7784 --><!--line 0 --><!--description Zml4KGFwaSk6IGRvY3VtZW50IGBpc19zeXN0ZW1fd2ViaG9va2AgZmllbGQ=-->fix(api): document `is_system_webhook` field<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7778): <!--number 7778 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7777): <!--number 7777 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0MCAoZm9yZ2VqbykgKG1ham9yKQ==-->Update renovate to v40 (forgejo) (major)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7776): <!--number 7776 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHYzOS4yNjQuMCAoZm9yZ2Vqbyk=-->Update renovate to v39.264.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7773): <!--number 7773 --><!--line 0 --><!--description cmVtb3ZlIGFydGlmaWNpYWwgZGVsYXkgZm9yIFBSIHVwZGF0ZQ==-->remove artificial delay for PR update<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7772): <!--number 7772 --><!--line 0 --><!--description Y2hvcmU6IEZpeCBvdXRkYXRlZCB1c2FnZSBvZiB1bml0dGVzdC5PdmVycmlkZUZpeHR1cmVz-->chore: Fix outdated usage of unittest.OverrideFixtures<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7770): <!--number 7770 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tLzQyd2ltL2h0dHBzaWcgdG8gdjEuMi4zIChmb3JnZWpvKQ==-->Update module github.com/42wim/httpsig to v1.2.3 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7769): <!--number 7769 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQGdpdGh1Yi9yZWxhdGl2ZS10aW1lLWVsZW1lbnQgdG8gdjQuNC42IChmb3JnZWpvKQ==-->Update dependency @github/relative-time-element to v4.4.6 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7768): <!--number 7768 --><!--line 0 --><!--description VXBkYXRlIGdpdGh1Yi5jb20vNDJ3aW0vc3Noc2lnIGRpZ2VzdCB0byA1MTAwNjMyIChmb3JnZWpvKQ==-->Update github.com/42wim/sshsig digest to 5100632 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7765): <!--number 7765 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZS1ub3Rlcyk6IEZvcmdlam8gdjcuMC4xNQ==-->chore(release-notes): Forgejo v7.0.15<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7764): <!--number 7764 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZS1ub3Rlcyk6IEZvcmdlam8gdjExLjAuMQ==-->chore(release-notes): Forgejo v11.0.1<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7762): <!--number 7762 --><!--line 0 --><!--description ZG9jdW1lbnQgdGhhdCAvcmVwb3Mve293bmVyfS97cmVwb30vcHVsbHMgbWF5IGNvbnRhaW4gbnVsbHM=-->document that /repos/{owner}/{repo}/pulls may contain nulls<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7760): <!--number 7760 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZm9yZ2Vqby9yZWxlYXNlLW5vdGVzLWFzc2lzdGFudCB0byB2MS4yLjUgKGZvcmdlam8p-->Update dependency forgejo/release-notes-assistant to v1.2.5 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7759): <!--number 7759 --><!--line 0 --><!--description Y2hvcmUocmVub3ZhdGUpOiB1c2UgYGdpdGVhLXJlbGVhc2VzYCBkYXRhc291cmNlIGZvciBybmE=-->chore(renovate): use `gitea-releases` datasource for rna<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7758): <!--number 7758 --><!--line 0 --><!--description Y2hvcmUocmVub3ZhdGUpOiBhbGxvdyB1cGRhdGluZyByZWxlYXNlIG5vdGVzIGFzc2lzdGFudA==-->chore(renovate): allow updating release notes assistant<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7746): <!--number 7746 --><!--line 0 --><!--description Zml4KHVpKTogaW1wcm92ZSBmb3JjZS1wdXNoIGNvbXBhcmUgbGluZSBsYXlvdXQ=-->fix(ui): improve force-push compare line layout<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7744): <!--number 7744 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZXNsaW50LXBsdWdpbi11bmljb3JuIHRvIHY1OSAoZm9yZ2Vqbyk=-->Update dependency eslint-plugin-unicorn to v59 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7740): <!--number 7740 --><!--line 0 --><!--description Zml4KHVpKTogbXVsdGlwbGUgZml4ZXMgb2Ygc3luYyBmb3JrIFVJ-->fix(ui): multiple fixes of sync fork UI<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7739): <!--number 7739 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL3JlZGlzL2dvLXJlZGlzL3Y5IHRvIHY5LjguMCAoZm9yZ2Vqbyk=-->Update module github.com/redis/go-redis/v9 to v9.8.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7738): <!--number 7738 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2FsZWN0aG9tYXMvY2hyb21hL3YyIHRvIHYyLjE3LjIgKGZvcmdlam8p-->Update module github.com/alecthomas/chroma/v2 to v2.17.2 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7736): <!--number 7736 --><!--line 0 --><!--description VXBkYXRlIGxpbnRlcnMgKGZvcmdlam8p-->Update linters (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7735): <!--number 7735 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgaGFwcHktZG9tIHRvIHYxNy40LjYgKGZvcmdlam8p-->Update dependency happy-dom to v17.4.6 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7732): <!--number 7732 --><!--line 0 --><!--description Y2k6IGFkZCBjbGFyaWZpY2F0aW9uIHJlZ2FyZGluZyB0ZXN0IGxhYmVs-->ci: add clarification regarding test label<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7731): <!--number 7731 --><!--line 0 --><!--description Y2hvcmU6IGZpeCB0ZXN0IHRvIGF2b2lkIGRhdGEgcmFjZQ==-->chore: fix test to avoid data race<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7728): <!--number 7728 --><!--line 0 --><!--description cmVmYWN0b3IgJiBlbmhhbmNlIEFQIGVsZW1lbnRzIHVzZWQ=-->refactor & enhance AP elements used<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7720): <!--number 7720 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZSk6IG5leHQtZGlnZXN0IG1vdmVkIHRvIGludmlzaWJsZS5mb3JnZWpvLm9yZw==-->chore(release): next-digest moved to invisible.forgejo.org<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7715): <!--number 7715 --><!--line 0 --><!--description Y2hvcmU6IHJlcGxhY2UgYGdpdGh1Yi5jb20vZ28tdGVzdGZpeHR1cmVzL3Rlc3RmaXh0dXJlc2A=-->chore: replace `github.com/go-testfixtures/testfixtures`<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7714): <!--number 7714 --><!--line 0 --><!--description ZW5oYW5jZSB2YWxpZGF0ZWFibGUgaW50ZXJmYWNl-->enhance validateable interface<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7713): <!--number 7713 --><!--line 0 --><!--description W2dpdGVhXSB3ZWVrIDIwMjUtMTcgY2hlcnJ5IHBpY2sgKGdpdGVhL21haW4gLT4gZm9yZ2Vqbyk=-->[gitea] week 2025-17 cherry pick (gitea/main -> forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7707): <!--number 7707 --><!--line 0 --><!--description ZG8gbm90IHNldCBHT1BST1hZPWRpcmVjdCBpbiBEb2NrZXJmaWxlKg==-->do not set GOPROXY=direct in Dockerfile*<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7705): <!--number 7705 --><!--line 0 --><!--description Y2hvcmUodWkpOiByZW1vdmUgdW51c2VkIGZvbWFudGljIGZvbnQgc2l6ZSBjbGFzc2Vz-->chore(ui): remove unused fomantic font size classes<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7697): <!--number 7697 --><!--line 0 --><!--description YmV0dGVyIGNvbW1lbnRzIGFuZCB2YXJpYWJsZSBuYW1lcyBmb3IgQWN0aW9uUnVuTm93RG9uZQ==-->better comments and variable names for ActionRunNowDone<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7696): <!--number 7696 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7695): <!--number 7695 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHYzOS4yNjEuNCAoZm9yZ2Vqbyk=-->Update renovate to v39.261.4 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7690): <!--number 7690 --><!--line 0 --><!--description Zml4IHZhcmlvdXMgdHlwb3M=-->fix various typos<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7689): <!--number 7689 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL3l1aW4vZ29sZG1hcmsgdG8gdjEuNy4xMSAoZm9yZ2Vqbyk=-->Update module github.com/yuin/goldmark to v1.7.11 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7687): <!--number 7687 --><!--line 0 --><!--description Y2hvcmU6IHR1bmUgZG93biByZW1vdGUgdXNlciBwcm9tb3Rpb24gZGVidWcgbWVzc2FnZSBzaG93biBhcyBlcnJvcg==-->chore: tune down remote user promotion debug message shown as error<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7685): <!--number 7685 --><!--line 0 --><!--description dXNlIGBsaW5ndWlzdC1nZW5lcmF0ZWRgIGZvciBsYW5ndWFnZSBzdGF0cw==-->use `linguist-generated` for language stats<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7683): <!--number 7683 --><!--line 0 --><!--description c2V0IGRlZmF1bHQgcmVzdHJpY3RlZCBmb3IgT0F1dGgyIHVzZXI=-->set default restricted for OAuth2 user<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7682): <!--number 7682 --><!--line 0 --><!--description Y2hvcmU6IHNpbXBsaWZ5IGBHZXREaWZmYA==-->chore: simplify `GetDiff`<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7680): <!--number 7680 --><!--line 0 --><!--description Y2hvcmU6IHJlbW92ZSB1bnVzZWQgbGludGVycw==-->chore: remove unused linters<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7678): <!--number 7678 --><!--line 0 --><!--description YWRkIGxhYmVsIGZvciBhdmF0YXIgc2V0dGluZ3M=-->add label for avatar settings<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7667): <!--number 7667 --><!--line 0 --><!--description aTE4bihlbik6IGZpeCB0eXBvIGluIGFyY2hpdmUgbm90aWNl-->i18n(en): fix typo in archive notice<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7665): <!--number 7665 --><!--line 0 --><!--description VXBkYXRlIGxpbnRlcnMgKGZvcmdlam8p-->Update linters (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7663): <!--number 7663 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQHBsYXl3cmlnaHQvdGVzdCB0byB2MS41Mi4wIChmb3JnZWpvKQ==-->Update dependency @playwright/test to v1.52.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7662): <!--number 7662 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL1B1ZXJraXRvQmlvL2dvcXVlcnkgdG8gdjEuMTAuMyAoZm9yZ2Vqbyk=-->Update module github.com/PuerkitoBio/goquery to v1.10.3 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7661): <!--number 7661 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvbGFuZ2NpL2dvbGFuZ2NpLWxpbnQvdjIvY21kL2dvbGFuZ2NpLWxpbnQgdG8gdjIuMS41IChmb3JnZWpvKQ==-->Update module github.com/golangci/golangci-lint/v2/cmd/golangci-lint to v2.1.5 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7659): <!--number 7659 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgd2VicGFjayB0byB2NS45OS43IChmb3JnZWpvKQ==-->Update dependency webpack to v5.99.7 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7648): <!--number 7648 --><!--line 0 --><!--description Y2hvcmU6IG1lcmdlIHRlc3RzLkFkZEZpeHR1cmVzIGFuZCB1bml0dGVzdC5PdmVycmlkZUZpeHR1cmVz-->chore: merge tests.AddFixtures and unittest.OverrideFixtures<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7640): <!--number 7640 --><!--line 0 --><!--description UmVtb3ZlICJjcmVhdGUgYnJhbmNoIiBidXR0b24gb24gbWlycm9yZWQgcmVwb3M=-->Remove "create branch" button on mirrored repos<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7616): <!--number 7616 --><!--line 0 --><!--description Zml4KHVpKTogbWFrZSBwYWdpbmF0aW9uIGxhYmVscyBhbHdheXMgdmlzaWJsZSB0byBzY3JlZW5yZWFkZXI=-->fix(ui): make pagination labels always visible to screenreader<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7613): <!--number 7613 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBtdmRhbi5jYy9nb2Z1bXB0IHRvIHYwLjguMCAoZm9yZ2Vqbyk=-->Update module mvdan.cc/gofumpt to v0.8.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7612): <!--number 7612 --><!--line 0 --><!--description VXBkYXRlIGxpbnRlcnMgKGZvcmdlam8p-->Update linters (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7611): <!--number 7611 --><!--line 0 --><!--description VXBkYXRlIHZpdGVzdCBtb25vcmVwbyB0byB2My4xLjIgKGZvcmdlam8p-->Update vitest monorepo to v3.1.2 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7610): <!--number 7610 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQHZpdGVzdC9lc2xpbnQtcGx1Z2luIHRvIHYxLjEuNDMgKGZvcmdlam8p-->Update dependency @vitest/eslint-plugin to v1.1.43 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7607): <!--number 7607 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2FsZWN0aG9tYXMvY2hyb21hL3YyIHRvIHYyLjE3LjAgKGZvcmdlam8p-->Update module github.com/alecthomas/chroma/v2 to v2.17.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7606): <!--number 7606 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL21pbmlvL21pbmlvLWdvL3Y3IHRvIHY3LjAuOTEgKGZvcmdlam8p-->Update module github.com/minio/minio-go/v7 to v7.0.91 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7602): <!--number 7602 --><!--line 0 --><!--description W2dpdGVhXSB3ZWVrIDIwMjUtMTYgY2hlcnJ5IHBpY2sgKGdpdGVhL21haW4gLT4gZm9yZ2Vqbyk=-->[gitea] week 2025-16 cherry pick (gitea/main -> forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7597): <!--number 7597 --><!--line 0 --><!--description ZGVsYXktd3JpdGUgdHJhY2UuZGF0IGZvciBmb3JnZWpvIGRpYWdub3Npcw==-->delay-write trace.dat for forgejo diagnosis<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7588): <!--number 7588 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7587): <!--number 7587 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHYzOS4yNTIuMCAoZm9yZ2Vqbyk=-->Update renovate to v39.252.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7580): <!--number 7580 --><!--line 0 --><!--description ZmVhdCh1aSk6IGVubGFyZ2UgbWV0YWRhdGEgbGluZSBnYXBzIGluIGlzc3VlIGxpc3QgYW5kIHJlZmFjdG9y-->feat(ui): enlarge metadata line gaps in issue list and refactor<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7579): <!--number 7579 --><!--line 0 --><!--description aTE4bihlbik6IGFkZCBwb3NpdGlvbmFsIGhpbnRzIHRvIHN5bmNfZm9yayBwbGFjZWhvbGRlcnM=-->i18n(en): add positional hints to sync_fork placeholders<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7578): <!--number 7578 --><!--line 0 --><!--description Zml4KHVpKTogb3ZlcmZsb3cgdGFidWxhciBtZW51IENTUyBmaXhlcw==-->fix(ui): overflow tabular menu CSS fixes<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7577): <!--number 7577 --><!--line 0 --><!--description ZmVhdCh1aSk6IG1ha2UgZm9yayByZWxhdGVkIGJhbm5lcnMgbW9yZSBjb25zaXN0ZW50-->feat(ui): make fork related banners more consistent<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7575): <!--number 7575 --><!--line 0 --><!--description Zml4KHVpKTogdXNlIGNvcnJlY3QgYnJhbmNoIG5hbWUgaW4gYnJhbmNoIHRhZyBzZWxlY3Rvcg==-->fix(ui): use correct branch name in branch tag selector<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7573): <!--number 7573 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgd2VicGFjayB0byB2NS45OS42IChmb3JnZWpvKQ==-->Update dependency webpack to v5.99.6 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7571): <!--number 7571 --><!--line 0 --><!--description Zml4KHVpKTogc2hvdyBjb21taXQgaWNvbiBpbiBicmFuY2ggZHJvcGRvd24gYnV0dG9uIHdoZW4gdmlld2luZyBhIGNvbW1pdA==-->fix(ui): show commit icon in branch dropdown button when viewing a commit<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7565): <!--number 7565 --><!--line 0 --><!--description Z3JhbW1hciBpbiBhIHJlbGVhc2UgQVBJIGVycm9yIG1lc3NhZ2U=-->grammar in a release API error message<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7561): <!--number 7561 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2NhZGR5c2VydmVyL2NlcnRtYWdpYyB0byB2MC4yMy4wIChmb3JnZWpvKQ==-->Update module github.com/caddyserver/certmagic to v0.23.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7560): <!--number 7560 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL21hdHRuL2dvLXNxbGl0ZTMgdG8gdjEuMTQuMjggKGZvcmdlam8p-->Update module github.com/mattn/go-sqlite3 to v1.14.28 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7558): <!--number 7558 --><!--line 0 --><!--description Zml4KHVpKTogbWFrZSB0YWcgZHJvcGRvd24gY2xpY2thYmxlIGFnYWlu-->fix(ui): make tag dropdown clickable again<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7557): <!--number 7557 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgcHl0aG9uIHRvIHYzLjEzLjMgKGZvcmdlam8p-->Update dependency python to v3.13.3 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7555): <!--number 7555 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZSk6IHYxMC4wIGlzIEVPTCBbc2tpcCBjaV0=-->chore(release): v10.0 is EOL [skip ci]<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7554): <!--number 7554 --><!--line 0 --><!--description Y2hvcmUocmVub3ZhdGUpOiBmaXggcGFja2FnZSBuYW1lIG1hdGNoaW5nIGZvciBnbyBtYWpvcnMgW3NraXAgY2ld-->chore(renovate): fix package name matching for go majors [skip ci]<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7552): <!--number 7552 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvbGFuZ2NpL2dvbGFuZ2NpLWxpbnQvdjIvY21kL2dvbGFuZ2NpLWxpbnQgdG8gdjIuMS4yIChmb3JnZWpvKQ==-->Update module github.com/golangci/golangci-lint/v2/cmd/golangci-lint to v2.1.2 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7551): <!--number 7551 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9hY3Rpb25zL2dpdC1iYWNrcG9ydGluZyBhY3Rpb24gdG8gdjQuOC41IChmb3JnZWpvKQ==-->Update https://data.forgejo.org/actions/git-backporting action to v4.8.5 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7550): <!--number 7550 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgY2hhcnQuanMgdG8gdjQuNC45IChmb3JnZWpvKQ==-->Update dependency chart.js to v4.4.9 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7545): <!--number 7545 --><!--line 0 --><!--description VXBkYXRlIE5vZGUuanMgdG8gdjIyIChmb3JnZWpvKQ==-->Update Node.js to v22 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7543): <!--number 7543 --><!--line 0 --><!--description bWF0Y2ggUGFja2FnZUJsb2IuSGFzaEJsYWtlMmIgZGVmaW5pdGlvbiBhbmQgbWlncmF0aW9u-->match PackageBlob.HashBlake2b definition and migration<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7539): <!--number 7539 --><!--line 0 --><!--description Zml4KFVJKTogaTE4bjogaW1wcm92ZSBuYW1pbmc=-->fix(UI): i18n: improve naming<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7538): <!--number 7538 --><!--line 0 --><!--description W2dpdGVhXSB3ZWVrIDIwMjUtMTUgY2hlcnJ5IHBpY2sgKGdpdGVhL21haW4gLT4gZm9yZ2Vqbyk=-->[gitea] week 2025-15 cherry pick (gitea/main -> forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7534): <!--number 7534 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7532): <!--number 7532 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHYzOS4yNDAuMSAoZm9yZ2Vqbyk=-->Update renovate to v39.240.1 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7528): <!--number 7528 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvbGFuZ2NpL2dvbGFuZ2NpLWxpbnQvdjIvY21kL2dvbGFuZ2NpLWxpbnQgdG8gdjIuMS4xIChmb3JnZWpvKQ==-->Update module github.com/golangci/golangci-lint/v2/cmd/golangci-lint to v2.1.1 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7520): <!--number 7520 --><!--line 0 --><!--description cGFja2FnZV9ibG9iLmhhc19ibGFrZTJiIG1heSBiZSBudWxs-->package_blob.has_blake2b may be null<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7512): <!--number 7512 --><!--line 0 --><!--description Y2hvcmU6IHVzZSBgc2hhcnBgIHRvIGdlbmVyYXRlIGltYWdlcw==-->chore: use `sharp` to generate images<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7510): <!--number 7510 --><!--line 0 --><!--description Y2hvcmU6IHJlZmFjdG9yIGZvciBBY3Rpb25zIERvbmUgTm90aWZpY2F0aW9u-->chore: refactor for Actions Done Notification<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7505): <!--number 7505 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvdG9vbHMvY21kL2RlYWRjb2RlIHRvIHYwLjMyLjAgKGZvcmdlam8p-->Update module golang.org/x/tools/cmd/deadcode to v0.32.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7504): <!--number 7504 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvbmV0IHRvIHYwLjM5LjAgKGZvcmdlam8p-->Update module golang.org/x/net to v0.39.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7503): <!--number 7503 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kga2F0ZXggdG8gdjAuMTYuMjIgKGZvcmdlam8p-->Update dependency katex to v0.16.22 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7499): <!--number 7499 --><!--line 0 --><!--description Y2hvcmUoaTE4bik6IHVwZGF0ZSBjb250cmlidXRpbmcgZG9jdW1lbnRhdGlvbiB3aXRoIEpTT04gZm9ybWF0-->chore(i18n): update contributing documentation with JSON format<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7497): <!--number 7497 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvaW1hZ2UgdG8gdjAuMjYuMCAoZm9yZ2Vqbyk=-->Update module golang.org/x/image to v0.26.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7495): <!--number 7495 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL21pbmlvL21pbmlvLWdvL3Y3IHRvIHY3LjAuOTAgKGZvcmdlam8p-->Update module github.com/minio/minio-go/v7 to v7.0.90 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7494): <!--number 7494 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgd2VicGFjayB0byB2NS45OS41IChmb3JnZWpvKQ==-->Update dependency webpack to v5.99.5 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7491): <!--number 7491 --><!--line 0 --><!--description QWN0aW9ucyBEb25lIE5vdGlmaWNhdGlvbg==-->Actions Done Notification<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7490): <!--number 7490 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgd2VicGFjayB0byB2NS45OS4xIChmb3JnZWpvKQ==-->Update dependency webpack to v5.99.1 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7488): <!--number 7488 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnby51YmVyLm9yZy9tb2NrIHRvIHYwLjUuMSAoZm9yZ2Vqbyk=-->Update module go.uber.org/mock to v0.5.1 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7486): <!--number 7486 --><!--line 0 --><!--description W2dpdGVhXSB3ZWVrIDIwMjUtMTQgY2hlcnJ5IHBpY2sgKGdpdGVhL21haW4gLT4gZm9yZ2Vqbyk=-->[gitea] week 2025-14 cherry pick (gitea/main -> forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7485): <!--number 7485 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvY3J5cHRvIHRvIHYwLjM3LjAgKGZvcmdlam8p-->Update module golang.org/x/crypto to v0.37.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7484): <!--number 7484 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHYzOS4yMzMuNSAoZm9yZ2Vqbyk=-->Update renovate to v39.233.5 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7479): <!--number 7479 --><!--line 0 --><!--description TWlub3IgZ3JhbW1hdGljYWwgZml4IHRvIHJ1bm5lciBkZWxldGlvbiBtZXNzYWdl-->Minor grammatical fix to runner deletion message<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7475): <!--number 7475 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvb2F1dGgyIHRvIHYwLjI5LjAgKGZvcmdlam8p-->Update module golang.org/x/oauth2 to v0.29.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7473): <!--number 7473 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2Zzbm90aWZ5L2Zzbm90aWZ5IHRvIHYxLjkuMCAoZm9yZ2Vqbyk=-->Update module github.com/fsnotify/fsnotify to v1.9.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7472): <!--number 7472 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgY2xpcHBpZSB0byB2NC4xLjYgKGZvcmdlam8p-->Update dependency clippie to v4.1.6 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7471): <!--number 7471 --><!--line 0 --><!--description Zml4KHVpKTogZW5zdXJlIGRpbW1lciBhbHdheXMgY292ZXJzIHdob2xlIHBhZ2U=-->fix(ui): ensure dimmer always covers whole page<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7470): <!--number 7470 --><!--line 0 --><!--description Zml4KHVpKTogb25seSBydW4gYXV0aF9uYW1lIGNvZGUgb24gbmV3IGFuZCBlZGl0IHBhZ2U=-->fix(ui): only run auth_name code on new and edit page<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7469): <!--number 7469 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZS1ub3Rlcyk6IEZvcmdlam8gdjExLjAuMA==-->chore(release-notes): Forgejo v11.0.0<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7468): <!--number 7468 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2JsZXZlc2VhcmNoL2JsZXZlL3YyIHRvIHYyLjUuMCAoZm9yZ2Vqbyk=-->Update module github.com/blevesearch/bleve/v2 to v2.5.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7467): <!--number 7467 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgdHlwZXNjcmlwdCB0byB2NS44LjMgKGZvcmdlam8p-->Update dependency typescript to v5.8.3 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7465): <!--number 7465 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgYW5zaV91cCB0byB2Ni4wLjUgKGZvcmdlam8p-->Update dependency ansi_up to v6.0.5 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7463): <!--number 7463 --><!--line 0 --><!--description Y2hvcmU6IGFsd2F5cyBlbmFibGUgd2VicGFjayBwcm9ncmVzcw==-->chore: always enable webpack progress<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7462): <!--number 7462 --><!--line 0 --><!--description Y2hvcmUoaTE4bik6IGFkZCBhIG1ldGEgbGluZSB0byB0aGUgYmFzZSBqc29uIHRyYW5zbGF0aW9u-->chore(i18n): add a meta line to the base json translation<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7459): <!--number 7459 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2FsZWN0aG9tYXMvY2hyb21hL3YyIHRvIHYyLjE2LjAgKGZvcmdlam8p-->Update module github.com/alecthomas/chroma/v2 to v2.16.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7458): <!--number 7458 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmdpdGVhLmlvL3Nkay9naXRlYSB0byB2MC4yMS4wIChmb3JnZWpvKQ==-->Update module code.gitea.io/sdk/gitea to v0.21.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7456): <!--number 7456 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgYW5zaV91cCB0byB2Ni4wLjMgKGZvcmdlam8p-->Update dependency ansi_up to v6.0.3 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7455): <!--number 7455 --><!--line 0 --><!--description TWFrZWZpbGUgJiBCU0RtYWtlZmlsZSBjaGFuZ2Vz-->Makefile & BSDmakefile changes<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7453): <!--number 7453 --><!--line 0 --><!--description Y2hvcmUoc2VjKTogdW5pZnkgdXNhZ2Ugb2YgYGNyeXB0by9yYW5kLlJlYWRg-->chore(sec): unify usage of `crypto/rand.Read`<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7452): <!--number 7452 --><!--line 0 --><!--description bWFrZSBpbnN0YWxsaW5nIEZvcmdlam8gd29yayBhZ2Fpbg==-->make installing Forgejo work again<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7451): <!--number 7451 --><!--line 0 --><!--description Y2hvcmUoaTE4bik6IGNsZWFudXAgYHNldHRpbmdzLmFkb3B0YCBzdHJpbmc=-->chore(i18n): cleanup `settings.adopt` string<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7434): <!--number 7434 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL21hdHRuL2dvLXNxbGl0ZTMgdG8gdjEuMTQuMjcgKGZvcmdlam8p-->Update module github.com/mattn/go-sqlite3 to v1.14.27 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7433): <!--number 7433 --><!--line 0 --><!--description ZmVhdChidWlsZCk6IHJ1biBsaW50LWxvY2FsZS11c2FnZSB3L28gLS1hbGxvdy1taXNzaW5nLW1zZ2lkcw==-->feat(build): run lint-locale-usage w/o --allow-missing-msgids<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7431): <!--number 7431 --><!--line 0 --><!--description bWFrZSByZXBvIGNsb25lIGh0dHBzL3NzaCBsaXN0ZW5lciBjb25kaXRpb25hbA==-->make repo clone https/ssh listener conditional<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7429): <!--number 7429 --><!--line 0 --><!--description ZmVhdChidWlsZCk6IHVuaWZvcm0gaW5pIHBhcnNpbmc=-->feat(build): uniform ini parsing<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7425): <!--number 7425 --><!--line 0 --><!--description ZmVhdChsb2NhbGUgSXRlcik6IHByb3Blcmx5IHN1cHBvcnQgdHJQbHVyYWxTdHJpbmc=-->feat(locale Iter): properly support trPluralString<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7424): <!--number 7424 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL21hdHRuL2dvLXNxbGl0ZTMgdG8gdjEuMTQuMjUgKGZvcmdlam8p-->Update module github.com/mattn/go-sqlite3 to v1.14.25 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7423): <!--number 7423 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvLXdlYmF1dGhuL3dlYmF1dGhuIHRvIHYwLjEyLjMgKGZvcmdlam8p-->Update module github.com/go-webauthn/webauthn to v0.12.3 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7422): <!--number 7422 --><!--line 0 --><!--description Zml4KGkxOG4pOiBmaXggc2V2ZXJhbCB1c2FnZXMgb2YgaTE4bg==-->fix(i18n): fix several usages of i18n<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7421): <!--number 7421 --><!--line 0 --><!--description Zml4KG1pZ3JhdGlvbnMpOiB0cmFuc2ZlciBQUiBmbG93IGluZm9ybWF0aW9u-->fix(migrations): transfer PR flow information<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7419): <!--number 7419 --><!--line 0 --><!--description Y2hvcmU6IGFkZCBlbXB0eSBgYWN0aW9uX3ZhcmlhYmxlYCBmaXh0dXJl-->chore: add empty `action_variable` fixture<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7417): <!--number 7417 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZ28gdG8gdjEuMjQuMiAoZm9yZ2Vqbyk=-->Update dependency go to v1.24.2 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7416): <!--number 7416 --><!--line 0 --><!--description Y2hvcmUodWkpOiByZW1vdmUgZm9tYW50aWMncyBkaW1tZXIgbW9kdWxl-->chore(ui): remove fomantic's dimmer module<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7414): <!--number 7414 --><!--line 0 --><!--description Y2hvcmUodWkpOiByZW1vdmUgaW5lZmZlY3RpdmUgY2xhc3Mgc21hbGwgaW4gaW5saW5lIGNvZGUgcHJldmlldw==-->chore(ui): remove ineffective class small in inline code preview<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7408): <!--number 7408 --><!--line 0 --><!--description Y2hvcmU6IGVuYWJsZSBzZXZlcmFsIG5vLWpxdWVyeSBydWxlcw==-->chore: enable several no-jquery rules<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7407): <!--number 7407 --><!--line 0 --><!--description VXBkYXRlIHZpdGVzdCBtb25vcmVwbyB0byB2My4xLjEgKGZvcmdlam8p-->Update vitest monorepo to v3.1.1 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7406): <!--number 7406 --><!--line 0 --><!--description VXBkYXRlIGxpbnRlcnMgdG8gdjguMjkuMCAoZm9yZ2Vqbyk=-->Update linters to v8.29.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7400): <!--number 7400 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7399): <!--number 7399 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHYzOS4yMjIuMSAoZm9yZ2Vqbyk=-->Update renovate to v39.222.1 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7397): <!--number 7397 --><!--line 0 --><!--description W2dpdGVhXSB3ZWVrIDIwMjUtMTMgY2hlcnJ5IHBpY2sgKGdpdGVhL21haW4gLT4gZm9yZ2Vqbyk=-->[gitea] week 2025-13 cherry pick (gitea/main -> forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7396): <!--number 7396 --><!--line 0 --><!--description Y2hvcmU6IHVzZSBkeW5hbWljIGlk-->chore: use dynamic id<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7394): <!--number 7394 --><!--line 0 --><!--description dXNlIGNvcnJlY3QgaW5pdCBpbnN0cnVjdGlvbiBmb3Igc2hhMjU2-->use correct init instruction for sha256<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7392): <!--number 7392 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7391): <!--number 7391 --><!--line 0 --><!--description VXBkYXRlIGdpdGh1Yi5jb20vZ29vZ2xlL3Bwcm9mIGRpZ2VzdCB0byBhNGIwM2VjIChmb3JnZWpvKQ==-->Update github.com/google/pprof digest to a4b03ec (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7390): <!--number 7390 --><!--line 0 --><!--description QWNjZXNzaWJpbGl0eTogZml4IHVucmVhZGFibGUgY2FwdGNoYSB3aXRoIGRhcmsgdGhlbWVz-->Accessibility: fix unreadable captcha with dark themes<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7384): <!--number 7384 --><!--line 0 --><!--description VXBkYXRlIGxpbnRlcnMgKGZvcmdlam8p-->Update linters (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7383): <!--number 7383 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgeWFtbGxpbnQgdG8gdjEuMzcuMCAoZm9yZ2Vqbyk=-->Update dependency yamllint to v1.37.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7382): <!--number 7382 --><!--line 0 --><!--description VXBkYXRlIHZpdGVzdCBtb25vcmVwbyB0byB2My4wLjkgKGZvcmdlam8p-->Update vitest monorepo to v3.0.9 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7381): <!--number 7381 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQHZpdGVzdC9lc2xpbnQtcGx1Z2luIHRvIHYxLjEuMzggKGZvcmdlam8p-->Update dependency @vitest/eslint-plugin to v1.1.38 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7379): <!--number 7379 --><!--line 0 --><!--description cHJlcGVuZCBBcHBTdWJVUkwgdG8gdmlzaWJpbGl0eSBoaW50IFVSTHM=-->prepend AppSubURL to visibility hint URLs<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7378): <!--number 7378 --><!--line 0 --><!--description Y2hvcmU6IGltcHJvdmUgcmVwbyBtaWdyYXRlIGUyZSB0ZXN0-->chore: improve repo migrate e2e test<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7376): <!--number 7376 --><!--line 0 --><!--description Y2hvcmUodGVzdHMpOiBmaXggdGVzdGluZyBmYWlsdXJlIGNhdXNlZCBieSBkZXAgdXBkYXRl-->chore(tests): fix testing failure caused by dep update<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7374): <!--number 7374 --><!--line 0 --><!--description Y2hvcmUodGVzdHMpOiByZWZhY3RvciBtaWdyYXRpb24gZm9ybSB0ZXN0-->chore(tests): refactor migration form test<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7372): <!--number 7372 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZXNsaW50LXBsdWdpbi11bmljb3JuIHRvIHY1OCAoZm9yZ2Vqbyk=-->Update dependency eslint-plugin-unicorn to v58 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7371): <!--number 7371 --><!--line 0 --><!--description Y2hvcmU6IHVzZSBjb3JyZWN0IGltcG9ydA==-->chore: use correct import<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7367): <!--number 7367 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvbGFuZ2NpL2dvbGFuZ2NpLWxpbnQvY21kL2dvbGFuZ2NpLWxpbnQgdG8gdjIgKGZvcmdlam8p-->Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v2 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7366): <!--number 7366 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy90ai1hY3Rpb25zL2NoYW5nZWQtZmlsZXMgYWN0aW9uIHRvIHY0NiAoZm9yZ2Vqbyk=-->Update https://data.forgejo.org/tj-actions/changed-files action to v46 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7362): <!--number 7362 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvbmV0IHRvIHYwLjM4LjAgKGZvcmdlam8p-->Update module golang.org/x/net to v0.38.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7356): <!--number 7356 --><!--line 0 --><!--description Zml4KHVpKTogaW1wcm92ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgaWNvbnMgd2l0aCB0ZXh0IGluIHRoZSBvdmVyZmxvdyBtZW51ICgjNzMxNCk=-->fix(ui): improve vertical alignment of icons with text in the overflow menu (#7314)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7355): <!--number 7355 --><!--line 0 --><!--description NDEwOC1lbXB0eS1zbGljZS1lbmNvZGVkLXRvLW51bGw=-->4108-empty-slice-encoded-to-null<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7350): <!--number 7350 --><!--line 0 --><!--description cmVmYWN0b3IoY2xpKTogaW1wcm92ZSBkdW1wJ3MgdGVtcG9yYXJ5IGZpbGUgaGFuZGxpbmc=-->refactor(cli): improve dump's temporary file handling<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7348): <!--number 7348 --><!--line 0 --><!--description aW50cm9kdWNlIGdpdE5lZWRlZCBib29sIGluIHNldHVw-->introduce gitNeeded bool in setup<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7344): <!--number 7344 --><!--line 0 --><!--description Zml4KHVpKTogRG8gbm90IGNoZWNrIGZvciBgdmVydGljYWwtYWxpZ25g-->fix(ui): Do not check for `vertical-align`<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7339): <!--number 7339 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgbWVybWFpZCB0byB2MTEuNi4wIChmb3JnZWpvKQ==-->Update dependency mermaid to v11.6.0 (forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7337): <!--number 7337 --><!--line 0 --><!--description Y2hvcmU6IGJyYW5kaW5nIGltcG9ydCBwYXRo-->chore: branding import path<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7314): <!--number 7314 --><!--line 0 --><!--description Zml4KHVpKTogaW1wcm92ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgaWNvbnMgd2l0aCB0ZXh0IGluIHRoZSBvdmVyZmxvdyBtZW51-->fix(ui): improve vertical alignment of icons with text in the overflow menu<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7278): <!--number 7278 --><!--line 0 --><!--description ZmVhdChidWlsZCk6IGxpbnQtbG9jYWxlLXVzYWdlIHNob3VsZCBkZXRlY3QgbW9yZSBUciBmdW5jdGlvbnM=-->feat(build): lint-locale-usage should detect more Tr functions<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7271): <!--number 7271 --><!--line 0 --><!--description ZmVhdCh1aSk6IGltcHJvdmUgYnV0dG9uIGdhcCBjb25zaXN0ZW5jeSwgbWFrZSBpdCB2YXJpYWJsZSwgbGFyZ2VyIG9uIHRvdWNoc2NyZWVucw==-->feat(ui): improve button gap consistency, make it variable, larger on touchscreens<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7261): <!--number 7261 --><!--line 0 --><!--description cmVkaXJlY3QgdG8gc3VibW9kdWxlIGluc3RlYWQgb2YgdGhyb3dpbmcgNTAwIGVycm9yIHdoZW4gdmlld2luZyBzdWJtb2R1bGUgZW50cnk=-->redirect to submodule instead of throwing 500 error when viewing submodule entry<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7203): <!--number 7203 --><!--line 0 --><!--description YWRkIHBvcnQgYW5kIHNjaGVtYSB0byBmZWRlcmF0aW9uIGhvc3Q=-->add port and schema to federation host<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7092): <!--number 7092 --><!--line 0 --><!--description ZmVhdChyZXBvLGxvY2FsZSk6IG1lcmdlIFBSL2lzc3VlcyBjYXNlcyBmb3Igc29tZSByZXBvL2lzc3VlIHN0cmluZ3M=-->feat(repo,locale): merge PR/issues cases for some repo/issue strings<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7035): <!--number 7035 --><!--line 0 --><!--description ZW5hYmxlIEhUVFAgc2lnbmF0dXJlcyBvbiBhbGwgQWN0aXZpdHlQdWIgZW5kcG9pbnRz-->enable HTTP signatures on all ActivityPub endpoints<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/6977): <!--number 6977 --><!--line 0 --><!--description ZmVhdCE6IEFidXNpdmUgY29udGVudCByZXBvcnRpbmc=-->feat!: Abusive content reporting<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/6154): <!--number 6154 --><!--line 0 --><!--description UmVwbGFjZSB0aGUgJ3JlbGF0aXZlLXRpbWUnIGVsZW1lbnQgc2NyaXB0aW5nIHdpdGggY3VzdG9tLCB0cmFuc2xhdGFibGUgcmV3cml0ZQ==-->Replace the 'relative-time' element scripting with custom, translatable rewrite<!--description-->
- Already announced in the release notes of an older stable release
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8234): <!--number 8234 --><!--line 0 --><!--description Y29sbGFib3JhdG9yIGNhbiBlZGl0IHdpa2kgd2l0aCB3cml0ZSBhY2Nlc3M=-->collaborator can edit wiki with write access<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8189): <!--number 8189 --><!--line 0 --><!--description ZG8gbm90IGlnbm9yZSBhdXRvbWVyZ2Ugd2hpbGUgYSBQUiBpcyBjaGVja2luZyBmb3IgY29uZmxpY3Rz-->do not ignore automerge while a PR is checking for conflicts<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8170): <!--number 8170 --><!--line 0 --><!--description ZXJyb25lb3VzIGxpc3QgY29udGludWF0aW9uIG9uIENtZCtFbnRlciAoIzgxNTMp-->erroneous list continuation on Cmd+Enter (#8153)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8155): <!--number 8155 --><!--line 0 --><!--description ZG8gbm90IGZhaWwgd2hlbiByZWxlYXNlIG9yIHdpa2kgaXMgc2V0IGluIGAvcmVwb3MvbWlncmF0ZWAgQVBJ-->do not fail when release or wiki is set in `/repos/migrate` API<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7979): <!--number 7979 --><!--line 0 --><!--description cHVsbCByZXF1ZXN0IGNyb3NzIHJlZmVyZW5jZXM=-->pull request cross references<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7976): <!--number 7976 --><!--line 0 --><!--description aWdub3JlIGV4cGlyZWQgYXJ0aWZhY3RzIGZvciBxdW90YSBjYWxjdWxhdGlvbg==-->ignore expired artifacts for quota calculation<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7883): <!--number 7883 --><!--line 0 --><!--description cXVvdGUgcmVwbHkgaW4gQ2hyb21pdW0=-->quote reply in Chromium<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7775): <!--number 7775 --><!--line 0 --><!--description bWFrZSBoYXNoIHBhdHRlcm4gbW9yZSBzdHJpY3Q=-->make hash pattern more strict<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7755): <!--number 7755 --><!--line 0 --><!--description Zml4KHNlYyk6IGFkZCB0ZXN0cyBmb3IgT0F1dGgyIHNpZ251cA==-->fix(sec): add tests for OAuth2 signup<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7752): <!--number 7752 --><!--line 0 --><!--description Zml4KHNlYyk6IG9ubHkgZGVncmFkZSBwZXJtaXNzaW9uIGNoZWNrIGZvciBnaXQgcHVzaA==-->fix(sec): only degrade permission check for git push<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7650): <!--number 7650 --><!--line 0 --><!--description ZGlzcGxheSB0aGUgbGlzdCBvZiB0YXNrcyBpbiB0aGUgcnVubmVyIGVkaXQgcGFnZQ==-->display the list of tasks in the runner edit page<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7594): <!--number 7594 --><!--line 0 --><!--description Zml4KGkxOG4pOiBwcmV2ZW50IGluY29ycmVjdCBsb2dnaW5nIG9uIHN0cmluZ3MgbWlzc2luZyBpbiBKU09OIGxvY2FsZXM=-->fix(i18n): prevent incorrect logging on strings missing in JSON locales<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7584): <!--number 7584 --><!--line 0 --><!--description Zml4KHVpL3ByKTogdXNlIGV5ZSBpY29uIGZvciByZXZpZXdz-->fix(ui/pr): use eye icon for reviews<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7581): <!--number 7581 --><!--line 0 --><!--description Zml4KHVpKTogdXNlIGdhcCBpbiBzd2l0Y2ggaXRlbXM=-->fix(ui): use gap in switch items<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/7395): <!--number 7395 --><!--line 0 --><!--description dmFsaWRhdGUgaW5wdXQgZm9yIGRlZmF1bHRfe21lcmdlLHVwZGF0ZX1fc3R5bGU=-->validate input for default_{merge,update}_style<!--description-->
<!--end release-notes-assistant-->
