chore(release-notes): Forgejo v15.0.0 [skip ci] (#12138)

https://codeberg.org/forgejo/forgejo/milestone/36366

https://codeberg.org/forgejo-release-manager/forgejo/src/branch/release-notes-15.0.0/release-notes-published/15.0.0.md
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/12138
Reviewed-by: Beowulf <beowulf@beocode.eu>
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: forgejo-release-manager <contact-forgejo-release-manager@forgejo.org>
Co-committed-by: forgejo-release-manager <contact-forgejo-release-manager@forgejo.org>
This commit is contained in:
forgejo-release-manager 2026-04-16 14:09:39 +02:00 committed by Beowulf
parent 60332ed111
commit da8898822c
2 changed files with 598 additions and 1 deletions

View file

@ -8,6 +8,7 @@ tag-from-version: 'v%[1]d.%[2]d.%[3]d'
supported-release-count: 3
branch-known:
- 'v11.0/forgejo'
- 'v15.0/forgejo'
cleanup-line: 'sed -Ee "s/^(feat|fix):\s*//g" -e "s/^\[WIP\] //" -e "s/^WIP: //" -e "s;\[(UI|BUG|FEAT|v.*?/forgejo)\]\s*;;g"'
render-header: |

View file

@ -1 +1,597 @@
placeholder
A [companion blog post](https://forgejo.org/2026-04-release-v15-0/) provides additional context on this major release.
<!--start release-notes-assistant-->
## Release notes
<!--URL:https://codeberg.org/forgejo/forgejo-->
- Security features
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10059): <!--number 10059 --><!--line 0 --><!--description dXNlIGBrZXlpbmdgIGZvciB3ZWJob29rIHNlY3JldHM=-->use `keying` for webhook secrets<!--description-->
- Breaking features
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11468): <!--number 11468 --><!--line 0 --><!--description cmVtb3ZlIGFkbWluLWxldmVsIHBlcm1pc3Npb25zIGZyb20gcmVwby1zcGVjaWZpYyAmIHB1YmxpYy1vbmx5IGFjY2VzcyB0b2tlbnM=-->remove admin-level permissions from repo-specific & public-only access tokens<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11736): <!--number 11736 --><!--line 0 --><!--description VGhlIHRlbXBsYXRlIGdlbmVyYXRpb24gKGBQT1NUIC9yZXBvcy97dGVtcGxhdGVfb3duZXJ9L3t0ZW1wbGF0ZV9yZXBvfS9nZW5lcmF0ZWApIGFuZCByZXBvc2l0b3J5IGRlbGV0aW9uIChgREVMRVRFIC9yZXBvcy97dXNlcm5hbWV9L3tyZXBvbmFtZX1gKSBBUElzIGhhdmUgYmVlbiB1cGRhdGVkIHRvIHJlcXVpcmUgdGhlIHNhbWUgcGVybWlzc2lvbiBzY29wZSBhcyBjcmVhdGluZyBhIG5ldyByZXBvc2l0b3J5LiBFaXRoZXIgYHdyaXRlOnVzZXJgIG9yIGB3cml0ZTpvcmdhbml6YXRpb25gIGlzIHJlcXVpcmVkLCBkZXBlbmRpbmcgb24gdGhlIG93bmVyIG9mIHRoZSByZXBvc2l0b3J5IGJlaW5nIGNyZWF0ZWQgb3IgZGVsZXRlZC4=-->The template generation (`POST /repos/{template_owner}/{template_repo}/generate`) and repository deletion (`DELETE /repos/{username}/{reponame}`) APIs have been updated to require the same permission scope as creating a new repository. Either `write:user` or `write:organization` is required, depending on the owner of the repository being created or deleted.<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11457): <!--number 11457 --><!--line 0 --><!--description QWNjZXNzaW5nIHRoZSBgL3JlcG9zaXRvcmllcy97aWR9YCBBUEkgd2l0aCBhIHB1YmxpYy1vbmx5IGFjY2VzcyB0b2tlbiBkaWQgbm90IHJlc3RyaWN0IHJlYWQgYWNjZXNzIHRvIG9ubHkgcHVibGljIHJlcG9zaXRvcmllcywgd2hpY2ggaXMgbm93IHByZXZlbnRlZC4=-->Accessing the `/repositories/{id}` API with a public-only access token did not restrict read access to only public repositories, which is now prevented.<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11457): <!--number 11457 --><!--line 1 --><!--description QWNjZXNzaW5nIHRoZSBgL3JlcG9zL3tvd25lcn0ve3JlcG99L2lzc3Vlcy97aW5kZXh9L2RlcGVuZGVuY2llc2AgYW5kIGAvcmVwb3Mve293bmVyfS97cmVwb30vaXNzdWVzL3tpbmRleH0vYmxvY2tzYCBBUElzIHdpdGggYSBwdWJsaWMtb25seSBhY2Nlc3MgdG9rZW4gaGFkIGFjY2VzcyB0byBtb2RpZmljYXRpb24gb3BlcmF0aW9ucyBhZ2FpbnN0IHByaXZhdGUgcmVwb3NpdG9yaWVzIGluIHRoZSAqZm9ybSogY29tcG9uZW50IG9mIHRoZSBBUEkgKG5vdCB0aGUgVVJMIGNvbXBvbmVudCksIHdoaWNoIGlzIG5vdyBwcmV2ZW50ZWQu-->Accessing the `/repos/{owner}/{repo}/issues/{index}/dependencies` and `/repos/{owner}/{repo}/issues/{index}/blocks` APIs with a public-only access token had access to modification operations against private repositories in the *form* component of the API (not the URL component), which is now prevented.<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11457): <!--number 11457 --><!--line 2 --><!--description QWNjZXNzaW5nIHRoZSBgL3JlcG9zL3tvd25lcn0ve3JlcG99L2lzc3Vlcy97aW5kZXh9L2RlcGVuZGVuY2llc2AgYW5kIGAvcmVwb3Mve293bmVyfS97cmVwb30vaXNzdWVzL3tpbmRleH0vYmxvY2tzYCBBUElzIHdpdGggYSBwdWJsaWMtb25seSBhY2Nlc3MgdG9rZW4gY291bGQgdmlldyBkZXBlbmRlbmNpZXMgb3IgYmxvY2tpbmcgaXNzdWVzIGZyb20gcHJpdmF0ZSByZXBvc2l0b3JpZXMsIHdoaWNoIGlzIG5vdyBwcmV2ZW50ZWQu-->Accessing the `/repos/{owner}/{repo}/issues/{index}/dependencies` and `/repos/{owner}/{repo}/issues/{index}/blocks` APIs with a public-only access token could view dependencies or blocking issues from private repositories, which is now prevented.<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11457): <!--number 11457 --><!--line 3 --><!--description QWNjZXNzaW5nIHRoZSBgL3JlcG9zL3tvd25lcn0ve3JlcG99L2lzc3Vlcy97aW5kZXh9L3RpbWVsaW5lYCBBUEkgd2l0aCBhIHB1YmxpYy1vbmx5IGFjY2VzcyB0b2tlbiBjb3VsZCB2aWV3IGNvbW1lbnQgY3Jvc3MtcmVmZXJlbmNlcyBmcm9tIHByaXZhdGUgcmVwb3NpdG9yaWVzLCB3aGljaCBpcyBub3cgcHJldmVudGVkLg==-->Accessing the `/repos/{owner}/{repo}/issues/{index}/timeline` API with a public-only access token could view comment cross-references from private repositories, which is now prevented.<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11457): <!--number 11457 --><!--line 4 --><!--description QWNjZXNzaW5nIHRoZSBgL3RlYW1zL3tpZH0vcmVwb3Mve29yZ30ve3JlcG99YCBBUEkgd2l0aCBhIHB1YmxpYy1vbmx5IGFjY2VzcyB0b2tlbiBjb3VsZCB2aWV3IHByaXZhdGUgcmVwb3NpdG9yaWVzIGFzc2lnbmVkIHRvIGEgdGVhbSwgd2hpY2ggaXMgbm93IHByZXZlbnRlZC4=-->Accessing the `/teams/{id}/repos/{org}/{repo}` API with a public-only access token could view private repositories assigned to a team, which is now prevented.<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11457): <!--number 11457 --><!--line 5 --><!--description QWNjZXNzIHRoZSB3YXRjaGVkIHJlcG9zIGFuZCBzdGFycmVkIHJlcG9zIG9mIGEgeW91ciBvd24gdXNlciB0aHJvdWdoIC91c2VyL3N1YnNjcmlwdGlvbnMgYW5kIC91c2VyL3N0YXJyZWQgQVBJcyB3aXRoIGEgcHVibGljLW9ubHkgYWNjZXNzIHRva2VuIGNvdWxkIHZpZXcgcHJpdmF0ZSByZXBvc2l0b3JpZXMsIHdoaWNoIGlzIG5vdyBwcmV2ZW50ZWQu-->Access the watched repos and starred repos of a your own user through /user/subscriptions and /user/starred APIs with a public-only access token could view private repositories, which is now prevented.<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11458): <!--number 11458 --><!--line 0 --><!--description aW1wbGVtZW50IHJlcG8tc3BlY2lmaWMgYWNjZXNzIHRva2VucyBpbiByZWxldmFudCBzZWFyY2ggJiBsaXN0IEFQSXMuICAqKkJyZWFraW5nKio6IHRoZSBmb2xsb3dpbmcgQVBJcyBjb3VsZCBwcmV2aW91c2x5IHJldHVybiBwcml2YXRlIHJlcG9zaXRvcmllcyB3aGVuIHVzaW5nIGEgcHVibGljLW9ubHkgYWNjZXNzIHRva2VuLCBidXQgY2FuIG5vIGxvbmdlciBkbyBzbzogYC91c2VyL3JlcG9zYCwgYC91c2Vycy97dXNlcm5hbWV9L3JlcG9zYCwgYC9vcmdzL3tvcmd9L3JlcG9zYCwgYW5kIGAvdGVhbXMve2lkfS9yZXBvc2Au-->implement repo-specific access tokens in relevant search & list APIs. **Breaking**: the following APIs could previously return private repositories when using a public-only access token, but can no longer do so: `/user/repos`, `/users/{username}/repos`, `/orgs/{org}/repos`, and `/teams/{id}/repos`.<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11437): <!--number 11437 --><!--line 0 --><!--description aW1wbGVtZW50IHJlcG8tc3BlY2lmaWMgYWNjZXNzIHRva2VucyBicm9hZGx5IGZvciB1bml2ZXJzYWwgQVBJIHBlcm1pc3Npb24gY2hlY2tzLiAgKipCcmVha2luZzoqKiBBUEkgYWNjZXNzIHdpdGggYSBwdWJsaWMtb25seSBhY2Nlc3MgdG9rZW4gd291bGQgcHJldmlvdXNseSByZXR1cm4gYSBgNDAzIEZvcmJpZGRlbmAgZXJyb3Igd2hlbiBhdHRlbXB0aW5nIHRvIGFjY2VzcyBhIHByaXZhdGUgcmVwb3NpdG9yeSB3aGVyZSB0aGUgcmVwb3NpdG9yeSBpcyBvbiB0aGUgQVBJIHBhdGguICBBcyBwYXJ0IG9mIGluY29ycG9yYXRpbmcgdGhlIHB1YmxpYy1vbmx5IGxvZ2ljIGludG8gdGhlIGNlbnRyYWxpemVkIHBlcm1pc3Npb24gY2hlY2ssIHRoZXNlIEFQSXMgd2lsbCBub3cgcmV0dXJuIGA0MDQgTm90IEZvdW5kYCBpbnN0ZWFkLCBjb25zaXN0ZW50IHdpdGggaG93IG1vc3QgcGVybWlzc2lvbiBjaGVja3MgYXJlIGltcGxlbWVudGVkIGluIG9yZGVyIHRvIHJlZHVjZSB0aGUgcmlzayBvZiBkYXRhIHByb2JpbmcgdGhyb3VnaCBlcnJvciBtZXNzYWdlcy4=-->implement repo-specific access tokens broadly for universal API permission checks. **Breaking:** API access with a public-only access token would previously return a `403 Forbidden` error when attempting to access a private repository where the repository is on the API path. As part of incorporating the public-only logic into the centralized permission check, these APIs will now return `404 Not Found` instead, consistent with how most permission checks are implemented in order to reduce the risk of data probing through error messages.<!--description-->
- Breaking bug fixes
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11096): <!--number 11096 --><!--line 0 --><!--description Zml4KHVpKSE6IFJlbW92ZSB0aGUgaW5zdGFuY2UgY29uZmlndXJhdGlvbiBvcHRpb24gYHJlcG9zaXRvcnkucHVsbC1yZXF1ZXN0LkFERF9DT19DT01NSVRURVJfVFJBSUxFUlNgICh3YXMgZW5hYmxlZCBieSBkZWZhdWx0KS4gSXQgd2FzIHJlc3BvbnNpYmxlIGZvciBhZGRpdGlvbiBvZiB1bmV4cGVjdGVkIHRyYWlsZXJzIHRvIGNvbW1pdCBtZXNzYWdlcyBpbiBzcXVhc2ggbWVyZ2VzLiBUaGVzZSB0cmFpbGVycyB3ZXJlIGBDby1hdXRob3JlZC1ieTogYCBhbmQgYENvLWNvbW1pdHRlZC1ieTogYC4gQm90aCB1c2VkIHRoZSBwdWxsIHJlcXVlc3QgYXV0aG9yIGFzIHZhbHVlLCB3aG8gaXMgYWxzbyBhc3NpZ25lZCBhcyB0aGUgYXV0aG9yIG9mIHRoZSBzcXVhc2ggbWVyZ2UgY29tbWl0LCB3aGljaCB0aGV5IHdlcmUganVzdCByZXBlYXRpbmcuIEZ1cnRoZXJtb3JlLCBgQ28tY29tbWl0dGVkLWJ5OiBgIGlzIGFuIHVuY29tbW9uIGNvbW1pdCB0cmFpbGVyLCBhbmQgdGhlcmUgaXMgb25seSBvbmUgY29tbWl0dGVyIGZvciBhIGNvbW1pdC4gVGhlIHRyYWlsZXJzIHdlcmUgYmVpbmcgYWRkZWQgYnkgRm9yZ2VqbyB3aGlsZSBwZXJmb3JtaW5nIHRoZSBtZXJnZSwgYnlwYXNzaW5nIHVzZXIgaW5wdXQgaW4gdGhlIFVJIGFuZCB3ZXJlbid0IHNob3duIGluIGl0LiBTZWUgZnVydGhlciBkZXNjcmlwdGlvbiBhbmQgbW9yZSBleGFtcGxlcyBpbiBbIzExMDk3XShodHRwczovL2NvZGViZXJnLm9yZy9mb3JnZWpvL2Zvcmdlam8vaXNzdWVzLzExMDk3KS4=-->fix(ui)!: Remove the instance configuration option `repository.pull-request.ADD_CO_COMMITTER_TRAILERS` (was enabled by default). It was responsible for addition of unexpected trailers to commit messages in squash merges. These trailers were `Co-authored-by: ` and `Co-committed-by: `. Both used the pull request author as value, who is also assigned as the author of the squash merge commit, which they were just repeating. Furthermore, `Co-committed-by: ` is an uncommon commit trailer, and there is only one committer for a commit. The trailers were being added by Forgejo while performing the merge, bypassing user input in the UI and weren't shown in it. See further description and more examples in [#11097](https://codeberg.org/forgejo/forgejo/issues/11097).<!--description-->
- Breaking changes without a feature or bug label
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11098): <!--number 11098 --><!--line 0 --><!--description SW4gRm9yZ2VqbyB2OC4wLjAsIHRoZSBkZWZhdWx0IGxvY2F0aW9uIGZvciB0aGUgY29uZmlnIGZpbGUgd2FzIGNoYW5nZWQgZnJvbSBgL2V0Yy9naXRlYS9hcHAuaW5pYCB0byBgL3Zhci9saWIvZ2l0ZWEvYXBwLmluaWAuIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgbG9naWMgYW5kIHN0YXJ0dXAgd2FybmluZ3Mgd2VyZSBhZGRlZCB0byBjb250YWluZXIgc2V0dXAgYW5kIGVudHJ5cG9pbnQgc2NyaXB0cy4gTm93IHRoZXkgYXJlIHJlbW92ZWQuIFRoaXMgY2hhbmdlIG9ubHkgYWZmZWN0cyB0aG9zZSB1c2luZyBjb250YWluZXIgZGVwbG95bWVudHMgd2l0aCByb290bGVzcyBpbWFnZXMuIElmIHlvdSBoYXZlIHRoZSBjb25maWcgZmlsZSBzdG9yZWQgaW4gYSB2b2x1bWUgYm91bmQgdG8gY29udGFpbmVyJ3MgL2V0Yy9naXRlYSwgbW92ZSBpdCB0byB0aGUgbmV3IGxvY2F0aW9uIG9yIG92ZXJyaWRlIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBgR0lURUFfQVBQX0lOSWAuIEFuIHVudXNlZCB2b2x1bWUgYC9ldGMvZ2l0ZWFgIGNhbiBiZSBzYWZlbHkgcmVtb3ZlZCBmcm9tIHRoZSBjb250YWluZXIgYWZ0ZXIgbW92aW5nIHRoZSBjb25maWcgb3IgaWYgdGhlIGRlcGxveW1lbnQgbmV2ZXIgdXNlZCB2ZXJzaW9ucyBwcmlvciB0byB2OC4wLjAu-->In Forgejo v8.0.0, the default location for the config file was changed from `/etc/gitea/app.ini` to `/var/lib/gitea/custom/conf/app.ini`. Backward compatibility logic and startup warnings were added to container setup and entrypoint scripts. Now they are removed. This change only affects those using container deployments with rootless images. If you have the config file stored in a volume bound to container's /etc/gitea, move it to the new location or override the environment variable `GITEA_APP_INI`. An unused volume `/etc/gitea` can be safely removed from the container after moving the config or if the deployment never used versions prior to v8.0.0.<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11720) ([backported](https://codeberg.org/forgejo/forgejo/pulls/12137)): <!--number 12137 --><!--line 0 --><!--description Y2hvcmUoRG9ja2VyZmlsZS5yb290bGVzcyk6IHVwZGF0ZSBzaGFkb3dlZCBlbnYgdmFyaWFibGVz-->chore(Dockerfile.rootless): update shadowed env variables<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10645): <!--number 10645 --><!--line 0 --><!--description TWFrZSBjb29raWUgbmFtZXMgYnJhbmQgaW5kZXBlbmRlbnQuPGJyPkF0dGVudGlvbjogQWxsIHVzZXJzIG5lZWQgdG8gcmUtbG9naW4sIGlmIHlvdSBoYXZlbid0IG1hbnVhbGx5IHNldCBhIGNvb2tpZSBuYW1lIGluIHRoZSBzZXR0aW5ncy4gVGhpcyBjYW4gYmUgcHJldmVudGVkIGJ5IGNoYW5naW5nIHRoZSBbcmVtZW1iZXIgbWUgY29va2llXShodHRwczovL2Zvcmdlam8ub3JnL2RvY3MvbGF0ZXN0L2FkbWluL2NvbmZpZy1jaGVhdC1zaGVldC8jc2VjdXJpdHktc2VjdXJpdHk6fjp0ZXh0PUNPT0tJRV9SRU1FTUJFUl9OQU1FKSBiYWNrIHRvIGBnaXRlYV9pbmNyZWRpYmxlYA==-->Make cookie names brand independent.<br>Attention: All users need to re-login, if you haven't manually set a cookie name in the settings. This can be prevented by changing the [remember me cookie](https://forgejo.org/docs/latest/admin/config-cheat-sheet/#security-security:~:text=COOKIE_REMEMBER_NAME) back to `gitea_incredible`<!--description-->
- User Interface features
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11516): <!--number 11516 --><!--line 0 --><!--description YWRkIGZvcm0tYmFzZWQgcnVubmVyIG1hbmFnZW1lbnQ=-->add form-based runner management<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10932): <!--number 10932 --><!--line 0 --><!--description ZmVhdChwZXJmKTogcmVtb3ZlIHVudXNlZCBzaXplIHVybCBwYXJhbWV0ZXIgZm9yIGxvY2FsIGF2YXRhcnM=-->feat(perf): remove unused size url parameter for local avatars<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11080): <!--number 11080 --><!--line 0 --><!--description ZmVhdCh1aSk6IHJlc3BvbnNpdmUgcmVsZWFzZXMgbGlzdA==-->feat(ui): responsive releases list<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11604): <!--number 11604 --><!--line 0 --><!--description ZmVhdCh1aSk6IGRpc3BsYXkgcmVwb3NpdG9yaWVzIGFjY2Vzc2libGUgYnkgcmVwby1zcGVjaWZpYyBhY2Nlc3MgdG9rZW5z-->feat(ui): display repositories accessible by repo-specific access tokens<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11375) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11950)): <!--number 11950 --><!--line 0 --><!--description ZW5oOiBhZGQgc3VnZ2VzdGlvbiB0byBkb2N1bWVudCByZWFzb24gZm9yIHJlcG9zaXRvcnkgYXJjaGl2YWw=-->enh: add suggestion to document reason for repository archival<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11770): <!--number 11770 --><!--line 0 --><!--description c2hvdyB3b3JrZmxvdyBuYW1lIGZvciBzY2hlZHVsZWQgcnVucw==-->show workflow name for scheduled runs<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11659): <!--number 11659 --><!--line 0 --><!--description dWk6IG1vdmUgIk5ldyBhY2Nlc3MgdG9rZW4iIHRvIGEgc2VwYXJhdGUgVUkgcGFnZQ==-->ui: move "New access token" to a separate UI page<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11439): <!--number 11439 --><!--line 0 --><!--description ZmVhdChtYXJrdXAtcmVuZGVyZXIpOiBtYXRjaCBvbiBjb21wb3VuZCBmaWxlbmFtZSBleHRlbnNpb25z-->feat(markup-renderer): match on compound filename extensions<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11677): <!--number 11677 --><!--line 0 --><!--description ZmVhdCh1aSk6IHVzZSBiZXR0ZXIgY29udHJhc3QgY29sb3IgZm9yIHJlcXVpcmVkIGZpZWxkIGluZGljYXRvcg==-->feat(ui): use better contrast color for required field indicator<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11340): <!--number 11340 --><!--line 0 --><!--description ZmVhdCh1aSk6IGVuYWJsZSB0ZXh0IGF1dG8tc3BhY2luZw==-->feat(ui): enable text auto-spacing<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11472): <!--number 11472 --><!--line 0 --><!--description ZmVhdCh1aSk6IGltcHJvdmUgdmlzaWJpbGl0eSBvZiBjb3VudGVycyBpbnNpZGUgb2Ygc3dpdGNoIGl0ZW1z-->feat(ui): improve visibility of counters inside of switch items<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11466): <!--number 11466 --><!--line 0 --><!--description QWRkIHNob3J0Y3V0IHRvIGxpbmsgbWFya2Rvd24gYWN0aW9u-->Add shortcut to link markdown action<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11127): <!--number 11127 --><!--line 0 --><!--description ZmVhdCh1aSk6IGNvbnZlcnQgb3JnIG1lbWJlcnMgbGlzdCB0byBncmlk-->feat(ui): convert org members list to grid<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11196): <!--number 11196 --><!--line 0 --><!--description ZmVhdCh1aSk6IGNvbnNpc3RlbnRseSB1c2UgQXBwVmVyTm9NZXRhZGF0YSBpbiBmb290ZXI=-->feat(ui): consistently use AppVerNoMetadata in footer<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10702): <!--number 10702 --><!--line 0 --><!--description aW1wcm92ZSBsYWJlbCBmaWx0ZXJpbmcgZXhjbHVzaW9u-->improve label filtering exclusion<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10873): <!--number 10873 --><!--line 0 --><!--description ZGVkaWNhdGVkIGljb24gZm9yIENJVEFUSU9OIGZpbGU=-->dedicated icon for CITATION file<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10559): <!--number 10559 --><!--line 0 --><!--description ZmVhdCh1aSk6IHJlcGxhY2UgTW9uYWNvIHdpdGggQ29kZU1pcnJvcg==-->feat(ui): replace Monaco with CodeMirror<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10530): <!--number 10530 --><!--line 0 --><!--description Zml4KHVpKTogaW1wcm92ZSByZW5kZXJpbmcgb2YgY29tbWl0IGxpbmtz-->fix(ui): improve rendering of commit links<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10022): <!--number 10022 --><!--line 0 --><!--description UmV0cmlldmUgZGVmYXVsdCBtZXJnZSBjb21taXQgbWVzc2FnZSBmb3IgcHVsbCByZXF1ZXN0cw==-->Retrieve default merge commit message for pull requests<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9261): <!--number 9261 --><!--line 0 --><!--description c2hvdyBjYW5jZWwgYnV0dG9uIGZvciBhY3Rpb25zIHJ1biB1bnRpbCBhbGwgam9icyBhcmUgZmluaXNoZWQ=-->show cancel button for actions run until all jobs are finished<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10488): <!--number 10488 --><!--line 0 --><!--description c2hvdyB1cGRhdGUgdGltZSB3aGVuIHNvcnRpbmcgYnkgcmVjZW50bHkgdXBkYXRlZA==-->show update time when sorting by recently updated<!--description-->
- User Interface bug fixes
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11607): <!--number 11607 --><!--line 0 --><!--description Zml4KHVpKTogYWxsb3cgbGFiZWwgZGVzY3JpcHRpb25zIHRvIHdyYXAgaW4gZHJvcGRvd24=-->fix(ui): allow label descriptions to wrap in dropdown<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11365): <!--number 11365 --><!--line 0 --><!--description ZWRpdCByYXcgaW5zdGVhZCBvZiByZW5kZXJlZCBHaXQgbm90ZXMgd2hlbiBlZGl0aW5nIG5vdGVzIG9uIGNvbW1pdCBwYWdlcw==-->edit raw instead of rendered Git notes when editing notes on commit pages<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11365): <!--number 11365 --><!--line 1 --><!--description bWFrZSBlZGl0aW5nIEdpdCBub3RlcyBmcm9tIHNpbmdsZS1jb21taXQgUFIgcGFnZSBhY3R1YWxseSB3b3Jr-->make editing Git notes from single-commit PR page actually work<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11365): <!--number 11365 --><!--line 2 --><!--description YWRkIGNhbmNlbCBidXR0b24gdG8gR2l0IG5vdGUgYWRkaW5nIGFuZCBlZGl0aW5n-->add cancel button to Git note adding and editing<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11315): <!--number 11315 --><!--line 0 --><!--description Zml4KHVpKTogYWRkIGFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciBtZW51IGl0ZW1zIGluIHRpcHB5IHRvb2x0aXBz-->fix(ui): add active background color for menu items in tippy tooltips<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11423): <!--number 11423 --><!--line 0 --><!--description Zml4KHVpKTogdXBkYXRlIHNvcnQgZHJvcGRvd24gc3RydWN0dXJlIGZvciBjb25zaXN0ZW5jeSBhY3Jvc3MgdGVtcGxhdGVz-->fix(ui): update sort dropdown structure for consistency across templates<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11190): <!--number 11190 --><!--line 0 --><!--description Zml4KCMxMTE4OSk6IG5vcm1hbGl6ZSBpc3N1ZSB0aXRsZSBjYXNlIHdoZW4gbWF0Y2hpbmcgcHJlZml4ZXM=-->fix(#11189): normalize issue title case when matching prefixes<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11259): <!--number 11259 --><!--line 0 --><!--description Zml4KHVpKTogaW1wcm92ZSBhbGlnbm1lbnQgb2YgaWNvbnMgaW4gbmF2YmFy-->fix(ui): improve alignment of icons in navbar<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11231): <!--number 11231 --><!--line 0 --><!--description Zml4KHVpKTogbWFrZSByZWxhdGl2ZSB0aW1lIGNvbnNpc3RlbnQgd2l0aCBvdGhlciB0ZXh0IHdoZW4gc2VsZWN0ZWQ=-->fix(ui): make relative time consistent with other text when selected<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11343): <!--number 11343 --><!--line 0 --><!--description Zml4KHVpKTogaW1wcm92ZSBhIGZldyBFbmdsaXNoIHN0cmluZ3M=-->fix(ui): improve a few English strings<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11274): <!--number 11274 --><!--line 0 --><!--description Zml4KHVpKTogYXBwbHkgbmF2YmFyIG1pbi1oZWlnaHQgY29ycmVjdGx5LCBmaXggaml0dGVyIG9uIG1vYmlsZQ==-->fix(ui): apply navbar min-height correctly, fix jitter on mobile<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11262): <!--number 11262 --><!--line 0 --><!--description Zml4KHVpKTogZml4IGdhcCBjb25zaXN0ZW5jeSBiZXR3ZWVuIG5hdmJhciBpdGVtcyBvbiBtb2JpbGU=-->fix(ui): fix gap consistency between navbar items on mobile<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11469): <!--number 11469 --><!--line 0 --><!--description Zml4KHVpKTogdXNlIG92ZXJmbG93OmF1dG8gdG8gYXZvaWQgc2Nyb2xsYmFycyB3aGVuIHRoZXkgYXJlIG5vdCBuZWVkZWQ=-->fix(ui): use overflow:auto to avoid scrollbars when they are not needed<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11461): <!--number 11461 --><!--line 0 --><!--description Zml4KHVpKTogZml4IGRhc2hib2FyZCBzb21lIHN0eWxlIGlzc3Vlcw==-->fix(ui): fix dashboard some style issues<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11057): <!--number 11057 --><!--line 0 --><!--description Zml4KHVpKTogY2VudGVyLWFsaWduIGVtb2ppcyB0byBuZWlnaGJvdXJpbmcgdGV4dA==-->fix(ui): center-align emojis to neighbouring text<!--description-->
- Localization
- Updates from Codeberg Translate: [#10417](https://codeberg.org/forgejo/forgejo/pulls/10417), [#10599](https://codeberg.org/forgejo/forgejo/pulls/10599), [#10660](https://codeberg.org/forgejo/forgejo/pulls/10660), [#10978](https://codeberg.org/forgejo/forgejo/pulls/10978), [#11344](https://codeberg.org/forgejo/forgejo/pulls/11344), [#11460](https://codeberg.org/forgejo/forgejo/pulls/11460), [#12129](https://codeberg.org/forgejo/forgejo/pulls/12129) (backport of [#11810](https://codeberg.org/forgejo/forgejo/pulls/11810), [#11963](https://codeberg.org/forgejo/forgejo/pulls/11963))
- Features
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10617): <!--number 10617 --><!--line 0 --><!--description QXV0by1saW5rIGNvbnRhaW5lciBpbWFnZXMgdG8gcmVwb3NpdG9yeQ==-->Auto-link container images to repository<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11687): <!--number 11687 --><!--line 0 --><!--description ZXhwb3NlIGF0dGVtcHQgbnVtYmVyIG9mIEFjdGlvblJ1bkpvYiBpbiBIVFRQIEFQSQ==-->expose attempt number of ActionRunJob in HTTP API<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11584): <!--number 11584 --><!--line 0 --><!--description YWRkIG1vcmUgZmlsdGVycyB0byBhY3Rpb25zIHJ1biBhbmQgdGFza3MgYXBp-->add more filters to actions run and tasks api<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10941): <!--number 10941 --><!--line 0 --><!--description ZGV0YWlsZWQgcGVybWlzc2lvbiBkZW5pZWQgbWVzc2FnZSBvbiBwdXNo-->detailed permission denied message on push<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11013): <!--number 11013 --><!--line 0 --><!--description ZmlsdGVyIGFjdGlvbiBydW5zIGJ5IEdpdCByZWZlcmVuY2U=-->filter action runs by Git reference<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11846) ([backported](https://codeberg.org/forgejo/forgejo/pulls/12031)): <!--number 12031 --><!--line 0 --><!--description SW1wcm92ZSByZXBvIGZpbGUgbGlzdCB0YWJsZSBzZW1hbnRpY3MgZm9yIHNjcmVlbiByZWFkZXJz-->Improve repo file list table semantics for screen readers<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11851) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11986)): <!--number 11986 --><!--line 0 --><!--description ZmVhdDogc3VwcG9ydCBgdGltZXpvbmVgIGluIHNjaGVkdWxlZCB3b3JrZmxvd3M=-->feat: support `timezone` in scheduled workflows<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11895) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11970)): <!--number 11970 --><!--line 0 --><!--description QWRkIGFyaWEtbGFiZWw9IkNvcHkiIHRvIGNvcHkgYnV0dG9u-->Add aria-label="Copy" to copy button<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11887) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11969)): <!--number 11969 --><!--line 0 --><!--description QWRkIGFyaWEtY3VycmVudD0icGFnZSIgdG8gYWN0aXZlIG5hdmJhciBpdGVtcw==-->Add aria-current="page" to active navbar items<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11676): <!--number 11676 --><!--line 0 --><!--description YWxsb3cgcnVubmVycyB0byByZXF1ZXN0IGEgcGFydGljdWxhciBqb2I=-->allow runners to request a particular job<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11589): <!--number 11589 --><!--line 0 --><!--description YWRkIHdpa2kgZ2l0IGluZm8gdG8gQVBJ-->add wiki git info to API<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10677): <!--number 10677 --><!--line 0 --><!--description YWRkIEhUVFAgQVBJIGVuZHBvaW50IGZvciBydW5uZXIgcmVnaXN0cmF0aW9u-->add HTTP API endpoint for runner registration<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11489): <!--number 11489 --><!--line 0 --><!--description QWRkIGBIRUFEYCBzdXBwb3J0IGZvciBkZWJpYW4gcmVwbyBmaWxlcyAoIzExNDg4KQ==-->Add `HEAD` support for debian repo files (#11488)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10573): <!--number 10573 --><!--line 0 --><!--description cmVmYWN0b3I6IHVwZGF0ZSBBY3Rpb25zIFJ1bm5lciBhZG1pbiBBUEkgZW5kcG9pbnQgVVJMcyB0byBiZSBjb25zaXN0ZW50IHcvIG90aGVyIGxldmVscw==-->refactor: update Actions Runner admin API endpoint URLs to be consistent w/ other levels<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11671): <!--number 11671 --><!--line 0 --><!--description bWFrZSBpdCBwb3NzaWJsZSB0byBzZWFyY2ggcnVubmVycyBieSBVVUlE-->make it possible to search runners by UUID<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11670): <!--number 11670 --><!--line 0 --><!--description YWRkIHZpc2libGUgZmxhZyB0byBIVFRQIEFQSSBlbmRwb2ludHMgdGhhdCByZXR1cm4gcnVubmVycw==-->add visible flag to HTTP API endpoints that return runners<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10627): <!--number 10627 --><!--line 0 --><!--description c3VwcG9ydCBqb2JzLjxqb2JfaWQ+LnNlY3JldHMgd2l0aCByZXVzYWJsZSB3b3JrZmxvdyBleHBhbnNpb24=-->support jobs.<job_id>.secrets with reusable workflow expansion<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10563): <!--number 10563 --><!--line 0 --><!--description aW5jcmVhc2UgZGVmYXVsdCBsaW1pdCBvZiBkaXNwYXRjaCBpbnB1dHMgdG8gMTAw-->increase default limit of dispatch inputs to 100<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11059): <!--number 11059 --><!--line 0 --><!--description ZW5hYmxlIFNRTGl0ZSBXQUwgYnkgZGVmYXVsdA==-->enable SQLite WAL by default<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10614): <!--number 10614 --><!--line 0 --><!--description c3VwcG9ydCB3b3JrZmxvdyBpbnB1dHMgb24gZXhwYW5kZWQgcmV1c2FibGUgd29ya2Zsb3dz-->support workflow inputs on expanded reusable workflows<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10388): <!--number 10388 --><!--line 0 --><!--description YWxsb3cgdG8gYWRkIHBhbSBzb3VyY2UgZnJvbSBjb21tYW5kIGxpbmU=-->allow to add pam source from command line<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10578): <!--number 10578 --><!--line 0 --><!--description c3VwcG9ydCB3b3JrZmxvdyBvdXRwdXRzIG9uIGV4cGFuZGVkIHJldXNhYmxlIHdvcmtmbG93cw==-->support workflow outputs on expanded reusable workflows<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11504): <!--number 11504 --><!--line 0 --><!--description cmVhZCwgY3JlYXRlLCAmIGRlbGV0ZSByZXBvLXNwZWNpZmljIGFjY2VzcyB0b2tlbnMgdmlhIEFQSQ==-->read, create, & delete repo-specific access tokens via API<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11216): <!--number 11216 --><!--line 0 --><!--description bGluayBDSSBqb2IgdG8gaXRzIGRlZmluaW5nIHdvcmtmbG93IGZpbGU=-->link CI job to its defining workflow file<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9962): <!--number 9962 --><!--line 0 --><!--description SW1wbGVtZW50IEVwaGVtZXJhbCBydW5uZXJz-->Implement Ephemeral runners<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/5384): <!--number 5384 --><!--line 0 --><!--description W2FsbG93IGZvcmdlam8gdG8gcnVuIGFzIGEgcHdhIHN0YW5kYWxvbmUgYXBwbGljYXRpb24gJiBvdmVycmlkZSBvZiB0aGUgd2ViYXBwIG1hbmlmZXN0Lmpzb24gdmlhIHRoZSBhIGN1c3RvbSBmaWxlIGluIGBwdWJsaWMvbWFuaWZlc3QuanNvbmBdKGh0dHBzOi8vY29kZWJlcmcub3JnL2Zvcmdlam8vZm9yZ2Vqby9wdWxscy81Mzg0KQ==-->[allow forgejo to run as a pwa standalone application & override of the webapp manifest.json via the a custom file in `public/manifest.json`](https://codeberg.org/forgejo/forgejo/pulls/5384)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10647): <!--number 10647 --><!--line 0 --><!--description c3VwcG9ydCByZXVzYWJsZSB3b3JrZmxvdyBleHBhbnNpb24gd2hlbiBgd2l0aGAgb3IgYHN0cmF0ZWd5Lm1hdHJpeGAgY29udGFpbnMgJHt7IG5lZWRzLi4uIH19-->support reusable workflow expansion when `with` or `strategy.matrix` contains ${{ needs... }}<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10602): <!--number 10602 --><!--line 0 --><!--description cHJvdmlkZSBtdWx0aXBsZSB0YXNrcyB0byBSdW5uZXIgaW4gb25lIEZldGNoVGFzayB3aGVuIHJlcXVlc3RlZA==-->provide multiple tasks to Runner in one FetchTask when requested<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10642): <!--number 10642 --><!--line 0 --><!--description YWRkIEZvcmdlam8gc2VydmVyIHZlcnNpb24gdG8gcnVubmVyIGNvbnRleHQ=-->add Forgejo server version to runner context<!--description-->
- Bug fixes
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11715): <!--number 11715 --><!--line 0 --><!--description aW1wcm92ZSBPQXV0aDIgZXhwZXJpZW5jZQ==-->improve OAuth2 experience<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11401): <!--number 11401 --><!--line 0 --><!--description YWxsb3cgQWN0aW9ucyBydW5uZXIgdG8gcmVjb3ZlciB0YXNrcyBsb3N0IGR1cmluZyBmZXRjaGluZyBmcm9tIGludGVybWl0dGVudCBlcnJvcnM=-->allow Actions runner to recover tasks lost during fetching from intermittent errors<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11932) ([backported](https://codeberg.org/forgejo/forgejo/pulls/12033)): <!--number 12033 --><!--line 0 --><!--description UHJlc2VydmUgZm9jdXMgb24gc3Rhci91bnN0YXIgJiB3YXRjaC91bndhdGNoIGJ1dHRvbnMgYWZ0ZXIgY2xpY2s=-->Preserve focus on star/unstar & watch/unwatch buttons after click<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11909) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11984)): <!--number 11984 --><!--line 0 --><!--description Zml4OiBzdG9yZSBwdWxsIG1pcnJvciBjcmVkcyBlbmNyeXB0ZWQgd2l0aCBrZXlpbmc=-->fix: store pull mirror creds encrypted with keying<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11878) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11967)): <!--number 11967 --><!--line 0 --><!--description QWRkIGFyaWEtbGFiZWxzIHRvIGVuc3VyZSB3YXRjaCBhbmQgc3RhciBidXR0b25zIGFsd2F5cyBoYXZlIGEgdGV4dCBsYWJlbA==-->Add aria-labels to ensure watch and star buttons always have a text label<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11858) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11966)): <!--number 11966 --><!--line 0 --><!--description TWFrZSBsYWJlbCBkcm9wZG93biBtZW51IGl0ZW1zIHdpdGggLnR3LWhpZGRlbiB1bnNlbGVjdGFibGU=-->Make label dropdown menu items with .tw-hidden unselectable<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11860) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11922)): <!--number 11922 --><!--line 0 --><!--description Rml4IEBtZW50aW9uIGNvbWJvYm94IHNlbWFudGljcyBmb3Igc2NyZWVuIHJlYWRlciBhY2Nlc3NpYmlsaXR5-->Fix @mention combobox semantics for screen reader accessibility<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11881) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11906)): <!--number 11906 --><!--line 0 --><!--description Zml4OiB1bmlxdWUga2V5IHZpb2xhdGlvbiBpbiBmaXJzdC10aW1lIGNvbmN1cnJlbnQgZGViaWFuIHBhY2thZ2UgdXBsb2FkcyB0byBhIHVzZXI=-->fix: unique key violation in first-time concurrent debian package uploads to a user<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11821) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11830)): <!--number 11830 --><!--line 0 --><!--description Zml4OiBvdXQgb2Ygc3luY2hyb25pemF0aW9uIGVycm9yIGFmdGVyIGludGVycnVwdGluZyBhIFBSIG1lcmdlIGJ5IHVzZXItYWdlbnQgZGlzY29ubmVjdA==-->fix: out of synchronization error after interrupting a PR merge by user-agent disconnect<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11292): <!--number 11292 --><!--line 0 --><!--description aW1wcm92ZSBTUUxpdGUgImRhdGFiYXNlIGlzIGxvY2tlZCIgZXJyb3JzIGJ5IGluY3JlYXNpbmcgZGVmYXVsdCBgU1FMSVRFX1RJTUVPVVRgICh0YWtlIDIp-->improve SQLite "database is locked" errors by increasing default `SQLITE_TIMEOUT` (take 2)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11735): <!--number 11735 --><!--line 0 --><!--description aTE4bjogaGFyZGNvZGVkIHN0cmluZ3MgaW4gcmVwb3NpdG9yeSBhY3Rpdml0eSBncmFwaHM=-->i18n: hardcoded strings in repository activity graphs<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11052): <!--number 11052 --><!--line 0 --><!--description bm9ybWFsaXplIHNlY3JldHMgY29uc2lzdGVudGx5LCBkaXNwbGF5IGFjY3VyYXRlIGhlbHA=-->normalize secrets consistently, display accurate help<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11699): <!--number 11699 --><!--line 0 --><!--description VGhlIERCIGVudHJpZXMgYWJvdXQgdXNlcnMgZm9sbG93aW5nIGFuIG9yZ2FuaXphdGlvbiBhbmQgdXNlcnMgYmxvY2tlZCBieSBhbiBvcmdhbml6YXRpb24gd2VyZSBub3QgZGVsZXRlZCB3aGVuIGFuIG9yZ2FuaXphdGlvbiB3YXMgZGVsZXRlZC4gT3JwaGFuZWQgZW50cmllcyBjYW4gYmUgY2xlYW5lZCB1cCBieSBydW5uaW5nIGBmb3JnZWpvIGRvY3RvciBjaGVjayAtLXJ1biBjaGVjay1kYi1jb25zaXN0ZW5jeSAtLWZpeGAu-->The DB entries about users following an organization and users blocked by an organization were not deleted when an organization was deleted. Orphaned entries can be cleaned up by running `forgejo doctor check --run check-db-consistency --fix`.<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9906): <!--number 9906 --><!--line 0 --><!--description Zml4KHVpKTogSG9ub3Igb3JnL3VzZXIgcHJvamVjdCBpbiBuZXcgaXNzdWUgKCM4NDg5KQ==-->fix(ui): Honor org/user project in new issue (#8489)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10008): <!--number 10008 --><!--line 0 --><!--description ZW5zdXJlIGFjdGlvbnMgbG9ncyBhcmUgdHJhbnNmZXJyZWQgd2hlbiBhIHRhc2sgaXMgZG9uZQ==-->ensure actions logs are transferred when a task is done<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10954): <!--number 10954 --><!--line 0 --><!--description Zml4KHBhY2thZ2VzKTogcmV0dXJuIGJhZCByZXF1ZXN0IG9uIG1hbGZvcm1lZCB1cGxvYWQgaW5wdXQ=-->fix(packages): return bad request on malformed upload input<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11240): <!--number 11240 --><!--line 0 --><!--description Y29ycmVjdCBSZXZpZXdlZC1vbiBVUkwgaW4gbWVyZ2UgbWVzc2FnZSBmb3Igc3VicGF0aCBkZXBsb3ltZW50cw==-->correct Reviewed-on URL in merge message for subpath deployments<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11153): <!--number 11153 --><!--line 0 --><!--description cnVieSBwYWNrYWdlIHZlcnNpb25zOiBvbmx5IHNraXAgZXhwbGljaXQgPj0gMCBhbmQgbGVhdmUgcGVzc2ltaXN0aWMgdmVyc2lvbiBsb2NraW5nIGludGFjdA==-->ruby package versions: only skip explicit >= 0 and leave pessimistic version locking intact<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11109): <!--number 11109 --><!--line 0 --><!--description Zml4IHNlYXJjaGluZyBpc3N1ZXMgYnkgb3JnIGxhYmVscyB2aWEgYXBp-->fix searching issues by org labels via api<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10691): <!--number 10691 --><!--line 0 --><!--description Zml4KGkxOG4pOiByZW1vdmUgdW5uZWVkZWQgc3BlY2lhbCBjYXNlcyBmb3IgcmVsYXRpdmUgdGltZQ==-->fix(i18n): remove unneeded special cases for relative time<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10528): <!--number 10528 --><!--line 0 --><!--description Zml4KCMxMDE1NSk6IGRvbid0IGRpc3BsYXkgcGVuZGluZyByZXZpZXdzIGFzIHBhcnRpY2lwYW50cw==-->fix(#10155): don't display pending reviews as participants<!--description-->
- User Interface changes without a feature or bug label
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10768): <!--number 10768 --><!--line 0 --><!--description Y2hvcmUodWkpOiBjbGVhbnVwIFBSIGNoZWNrcyBhcmVh-->chore(ui): cleanup PR checks area<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10524): <!--number 10524 --><!--line 0 --><!--description Zml4KHVpKTogYXZhdGFyIGZvciBkaXNtaXNzZWQgcmV2aWV3IGlzIHN0cmV0Y2hlZCBpZiBub3Qgc3F1YXJl-->fix(ui): avatar for dismissed review is stretched if not square<!--description-->
- Other changes without a feature or bug label
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11822) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11829)): <!--number 11829 --><!--line 0 --><!--description Zml4KGFwaSk6IHBhY2thZ2UgbmFtZSBpbiByb3V0ZSBub3QgcHJvcGVybHkgdW5lc2NhcGVk-->fix(api): package name in route not properly unescaped<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11650): <!--number 11650 --><!--line 0 --><!--description Y2hvcmU6IGRlcHJlY2F0ZSBIVFRQIEFQSSBlbmRwb2ludHMgZm9yIG9idGFpbmluZyB0aGUgcnVubmVyIHJlZ2lzdHJhdGlvbiB0b2tlbg==-->chore: deprecate HTTP API endpoints for obtaining the runner registration token<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11232): <!--number 11232 --><!--line 0 --><!--description Y2hvcmU6IHJlbW92ZSBkZXByZWNhdGVkIGF1dGggbWV0aG9kcyBmcm9tIEFQSSBkb2Nz-->chore: remove deprecated auth methods from API docs<!--description-->
- Included for completeness but not user-facing (chores, etc.)
- [PR](https://codeberg.org/forgejo/forgejo/pulls/12134) ([backported](https://codeberg.org/forgejo/forgejo/pulls/12136)): <!--number 12136 --><!--line 0 --><!--description Y2hvcmU6IGZpeCBUZXN0TWlycm9yUHVsbCBvbiBvbGRlciBnaXQgKDIuMzQuMSkgaW5zdGFsbGF0aW9u-->chore: fix TestMirrorPull on older git (2.34.1) installation<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/12131) ([backported](https://codeberg.org/forgejo/forgejo/pulls/12132)): <!--number 12132 --><!--line 0 --><!--description Y2hvcmU6IGZpeCBjb29raWUgbmFtZSBjb21tZW50cyBpbiBleGFtcGxlIGluaQ==-->chore: fix cookie name comments in example ini<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/12113) ([backported](https://codeberg.org/forgejo/forgejo/pulls/12130)): <!--number 12130 --><!--line 0 --><!--description Zml4OiBpbXByb3ZlIHJ1bm5lciBsaXN0IGFuZCBkZXRhaWxzIHZpZXc=-->fix: improve runner list and details view<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/12114): <!--number 12114 --><!--line 0 --><!--description Zml4KHVpKTogYSBmZXcgc21hbGwgcnVubmVycyBVSSBmaXhlcw==-->fix(ui): a few small runners UI fixes<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11733): <!--number 11733 --><!--line 0 --><!--description cHJldmVudCBjb250YWluZXIgcmVnaXN0cnkgaGVhZGVycyBmcm9tIGxlYWtpbmcgaW50byBvdGhlciByZWdpc3RyaWVz-->prevent container registry headers from leaking into other registries<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11337): <!--number 11337 --><!--line 0 --><!--description Rm9yZ2VqbyBTZWN1cml0eSBQYXRjaGVzLCAyMDI2LTAzLTA5-->fix(e2e): use empty user for overflow menu test<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11324): <!--number 11324 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2dvLWNoaS9zZXNzaW9uIHRvIHYxLjAuMyAoZm9yZ2Vqbyk=-->Update module code.forgejo.org/go-chi/session to v1.0.3 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10727): <!--number 10727 --><!--line 0 --><!--description dGhlIGVycm9yIG1lc3NhZ2Ugb2YgYSBmYWlsZWQgbWlncmF0aW9uIGJlY2F1c2Ugb2YgYSB3cm9uZyB0b2tlbiBpcyBjb25mdXNpbmc=-->the error message of a failed migration because of a wrong token is confusing<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/12009) ([backported](https://codeberg.org/forgejo/forgejo/pulls/12112)): <!--number 12112 --><!--line 0 --><!--description aTE4bihtYWlsZXIpOiBGaXggc3BlY2lhbCB1c2FnZSBvZiAuTG9jYWxlIGluIGFkbWluX25ld191c2Vy-->i18n(mailer): Fix special usage of .Locale in admin_new_user<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10898): <!--number 10898 --><!--line 0 --><!--description Y2hvcmUodWkpOiByZW1vdmUgb2Jzb2xldGUgdmFyIC0tY29sb3ItbmF2LXRleHQ=-->chore(ui): remove obsolete var --color-nav-text<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/12094): <!--number 12094 --><!--line 0 --><!--description UmV2ZXJ0ICJJbXByb3ZlIHJlcG8gZmlsZSBsaXN0IHRhYmxlIHNlbWFudGljcyBmb3Igc2NyZWVuIHJlYWRlcnMgKCMxMjAzMSki-->Revert "Improve repo file list table semantics for screen readers (#12031)"<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/12046) ([backported](https://codeberg.org/forgejo/forgejo/pulls/12077)): <!--number 12077 --><!--line 0 --><!--description Zml4OiBwcmV2ZW50IGpvYnMgd2l0aCB1bmtub3duIG5lZWRzIGZyb20gcnVubmluZw==-->fix: prevent jobs with unknown needs from running<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/12059) ([backported](https://codeberg.org/forgejo/forgejo/pulls/12063)): <!--number 12063 --><!--line 0 --><!--description Zml4OiBkaXNwbGF5IHJ1bm5lciB2ZXJzaW9uIG9uIGRldGFpbHMgcGFnZQ==-->fix: display runner version on details page<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/12058) ([backported](https://codeberg.org/forgejo/forgejo/pulls/12060)): <!--number 12060 --><!--line 0 --><!--description UmV2ZXJ0ICJmaXg6IGFkZCBjaGFsbGVuZ2UgZm9yIEhUVFAgQmFzaWMgQXV0aGVudGljYXRpb24gdG8gY29udGFpbmVyIHJlZ2lzdHJ5Ig==-->Revert "fix: add challenge for HTTP Basic Authentication to container registry"<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11678): <!--number 11678 --><!--line 0 --><!--description YWRkIGNoYWxsZW5nZSBmb3IgSFRUUCBCYXNpYyBBdXRoZW50aWNhdGlvbiB0byBjb250YWluZXIgcmVnaXN0cnk=-->add challenge for HTTP Basic Authentication to container registry<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/12021) ([backported](https://codeberg.org/forgejo/forgejo/pulls/12044)): <!--number 12044 --><!--line 0 --><!--description Zml4OiBpbmNvcnJlY3QgaWRlbnRpZmljYXRpb24gb2Ygb3V0ZGF0ZWQgcnVuIGF0dGVtcHRz-->fix: incorrect identification of outdated run attempts<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11750): <!--number 11750 --><!--line 0 --><!--description c2V0IGF0dGVtcHQgbnVtYmVyIG9mIGFjdGlvbiBydW4gam9icyBlYWdlcmx5-->set attempt number of action run jobs eagerly<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/12023) ([backported](https://codeberg.org/forgejo/forgejo/pulls/12040)): <!--number 12040 --><!--line 0 --><!--description Zml4KGRvY3Rvcik6IHJlbW92ZSBicm9rZW4gbWVyZ2ViYXNlIGNoZWNr-->fix(doctor): remove broken mergebase check<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/12030) ([backported](https://codeberg.org/forgejo/forgejo/pulls/12038)): <!--number 12038 --><!--line 0 --><!--description Zml4OiBwcmV2ZW50IGFjdGlvbnMgd29ya2Zsb3dzIGZyb20gZ2VuZXJhdGluZyBPSURDIHRva2VucyBpZiBub3QgYXV0aG9yaXplZCBpbiB3b3JrZmxvdw==-->fix: prevent actions workflows from generating OIDC tokens if not authorized in workflow<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/12029): <!--number 12029 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZ28gdG8gdjEuMjYuMiAodjE1LjAvZm9yZ2Vqbyk=-->Update dependency go to v1.26.2 (v15.0/forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11997) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11998)): <!--number 11998 --><!--line 0 --><!--description dGVzdDogZml4IGludGVybWl0dGVudCB0ZXN0IGZhaWx1cmUgaW4gVGVzdFBhY2thZ2VEZWJpYW5Db25jdXJyZW50-->test: fix intermittent test failure in TestPackageDebianConcurrent<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11992) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11996)): <!--number 11996 --><!--line 0 --><!--description Y2hvcmUoZGVwcyk6IGJ1bXAgeG9ybSB0byB2MS4zLjktZm9yZ2Vqby4xMCAoIzExOTkyKQ==-->chore(deps): bump xorm to v1.3.9-forgejo.10 (#11992)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11945) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11987)): <!--number 11987 --><!--line 0 --><!--description Zml4OiBtaXNzaW5nIHN5bnRheCBkaWFsb2cgcm91bmRlZCBjb3JuZXJz-->fix: missing syntax dialog rounded corners<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11999) ([backported](https://codeberg.org/forgejo/forgejo/pulls/12000)): <!--number 12000 --><!--line 0 --><!--description cmVmYWN0b3I6IHJlZHVjZSBjb2RlIGR1cGxpY2F0aW9uIHdoZW4gYWNjZXNzaW5nIGBEZWZhdWx0TWF4SW5TaXplYA==-->refactor: reduce code duplication when accessing `DefaultMaxInSize`<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11988) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11995)): <!--number 11995 --><!--line 0 --><!--description cGVyZjogYnVsayBsb2FkIHJlc29sdmVycyAmIHJlYWN0aW9ucyBvbiBwdWxsIHJlcXVlc3QgY29tbWVudHM=-->perf: bulk load resolvers & reactions on pull request comments<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11956) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11964)): <!--number 11964 --><!--line 0 --><!--description Zml4OiBzdXBlcmZsdW91cyBpbmNyZW1lbnQgb2YgQWN0aW9uVGFzayBhdHRlbXB0IGJyZWFrcyBqb2Igdmlldw==-->fix: superfluous increment of ActionTask attempt breaks job view<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11949): <!--number 11949 --><!--line 0 --><!--description OiBjaG9yZTogYWRkIG1vZGVybml6ZXIgbGludGVy-->: chore: add modernizer linter<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11296): <!--number 11296 --><!--line 0 --><!--description UEFNOiBwb3J0YWJsZSBlcnJvciByZXBvcnRpbmc=-->PAM: portable error reporting<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11948): <!--number 11948 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvbGFuZ2NpL2dvbGFuZ2NpLWxpbnQvdjIvY21kL2dvbGFuZ2NpLWxpbnQgdG8gdjIuMTEuNCAodjE1LjAvZm9yZ2Vqbyk=-->Update module github.com/golangci/golangci-lint/v2/cmd/golangci-lint to v2.11.4 (v15.0/forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11927) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11933)): <!--number 11933 --><!--line 0 --><!--description Zml4OiBhbGxvdyByZXBvc2l0b3J5IGRlbGV0aW9uIHdoZW4gcmVmZXJlbmNlZCBieSBhIHJlcG8tc3BlY2lmaWMgYWNjZXNzIHRva2Vu-->fix: allow repository deletion when referenced by a repo-specific access token<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11843) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11931)): <!--number 11931 --><!--line 0 --><!--description Zml4OiBhbGxvdyBtb2RhbHMgdG8gYmUgc3VibWl0dGVkIG11bHRpcGxlIHRpbWVz-->fix: allow modals to be submitted multiple times<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11872) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11907)): <!--number 11907 --><!--line 0 --><!--description Y2k6IHByZXZlbnQgdXNhZ2Ugb2YgbGl2ZSBhcHBsaWNhdGlvbiBtb2RlbHMgJiBzZXJ2aWNlcyBpbiBtaWdyYXRpb25z-->ci: prevent usage of live application models & services in migrations<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11432): <!--number 11432 --><!--line 0 --><!--description TW92ZSBDb250YWluZXIgQVBJIHByb2Nlc3NpbmcgbG9naWMgdG8gc2VydmljZQ==-->Move Container API processing logic to service<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11900): <!--number 11900 --><!--line 0 --><!--description VXBkYXRlIGdpdGh1Yi5jb20vZ28tZ2l0L2dvLWdpdC92NSAoaW5kaXJlY3QpIHRvIHY1LjE3LjEgW1NFQ1VSSVRZXSAodjE1LjAvZm9yZ2Vqbyk=-->Update github.com/go-git/go-git/v5 (indirect) to v5.17.1 [SECURITY] (v15.0/forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11886): <!--number 11886 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgaGFwcHktZG9tIHRvIHYyMC44LjkgW1NFQ1VSSVRZXSAodjE1LjAvZm9yZ2VqbykgLSBhdXRvY2xvc2Vk-->Update dependency happy-dom to v20.8.9 [SECURITY] (v15.0/forgejo) - autoclosed<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11874) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11877)): <!--number 11877 --><!--line 0 --><!--description ZmVhdDogdXNlIGAtLXRva2VuLXVybGAgaW4gcnVubmVyIHNldHVwIGluc3RydWN0aW9ucw==-->feat: use `--token-url` in runner setup instructions<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11696): <!--number 11696 --><!--line 0 --><!--description ZmVhdCh1aSk6IGNyZWF0ZSByZXBvLXNwZWNpZmljIGFjY2VzcyB0b2tlbnM=-->feat(ui): create repo-specific access tokens<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11839): <!--number 11839 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgaGFwcHktZG9tIHRvIHYyMC44LjggW1NFQ1VSSVRZXSAodjE1LjAvZm9yZ2Vqbyk=-->Update dependency happy-dom to v20.8.8 [SECURITY] (v15.0/forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11776) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11833)): <!--number 11833 --><!--line 0 --><!--description Zml4OiBkdXBsaWNhdGUga2V5IHZpb2xhdGVzIHVuaXF1ZSBjb25zdHJhaW50IGluIGNvbmN1cnJlbnQgZGViaWFuIHBhY2thZ2UgdXBsb2Fkcw==-->fix: duplicate key violates unique constraint in concurrent debian package uploads<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11801): <!--number 11801 --><!--line 0 --><!--description Y2k6IHVwZGF0ZSB0ZXN0cyB0byBydW4gZGViaWFuIHRyaXhpZSwgcmVtb3ZlIG1hbnVhbCBpbnN0YWxsYXRpb24gZnJvbSBgdGVzdGluZ2A=-->ci: update tests to run debian trixie, remove manual installation from `testing`<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11825): <!--number 11825 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvaW1hZ2UgdG8gdjAuMzguMCBbU0VDVVJJVFldICh2MTUuMC9mb3JnZWpvKQ==-->Update module golang.org/x/image to v0.38.0 [SECURITY] (v15.0/forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11805): <!--number 11805 --><!--line 0 --><!--description VXBkYXRlIE5vZGUuanMgdG8gdjI0LjE0LjEgKGZvcmdlam8p-->Update Node.js to v24.14.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11806): <!--number 11806 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vYWN0aW9ucy1wcm90byB0byB2MC43LjAgKGZvcmdlam8p-->Update module code.forgejo.org/forgejo/actions-proto to v0.7.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11804): <!--number 11804 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMiB0byB2MTIuNy4zIChmb3JnZWpvKQ==-->Update module code.forgejo.org/forgejo/runner/v12 to v12.7.3 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11789): <!--number 11789 --><!--line 0 --><!--description Y2hvcmU6IGxpbmsgdG8gQUkgQWdyZWVtZW50IGluIFBSIHRlbXBsYXRl-->chore: link to AI Agreement in PR template<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11732): <!--number 11732 --><!--line 0 --><!--description YWxsb3cgcmVuYW1pbmcgYW5kIHJlcGxhY2luZyBzZWNyZXRz-->allow renaming and replacing secrets<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11781): <!--number 11781 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIERvY2tlciB0YWcgdG8gdjQzLjg2LjEgKGZvcmdlam8p-->Update renovate Docker tag to v43.86.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11772): <!--number 11772 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2phY2tjL3BneC92NSB0byB2NS45LjEgKGZvcmdlam8p-->Update module github.com/jackc/pgx/v5 to v5.9.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11717): <!--number 11717 --><!--line 0 --><!--description ZG9jdW1lbnQgbW9yZSBzdGF0dXMgY29kZXMgaW4gdGhlIEFQSQ==-->document more status codes in the API<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11217): <!--number 11217 --><!--line 0 --><!--description YnVpbGQ6IHBvbGlzaCBsaW50ZXIgZXJyb3IgdnMuIGRlYWQgY29kZSByZXBvcnRpbmc=-->build: polish linter error vs. dead code reporting<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11751): <!--number 11751 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL3l1aW4vZ29sZG1hcmsgdG8gdjEuNy4xNyAoZm9yZ2Vqbyk=-->Update module github.com/yuin/goldmark to v1.7.17 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10541): <!--number 10541 --><!--line 0 --><!--description YWRkIG1hbmFnZV9jcmVkZW50aWFscyB0byB1c2VyIGRpc2FibGUgZmVhdHVyZXM=-->add manage_credentials to user disable features<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11745): <!--number 11745 --><!--line 0 --><!--description VXBkYXRlIE5vZGUuanMgdG8gdjI0LjE0LjAgKGZvcmdlam8p-->Update Node.js to v24.14.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11743): <!--number 11743 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvdG9vbHMvY21kL2RlYWRjb2RlIHRvIHYwLjQzLjAgKGZvcmdlam8p-->Update module golang.org/x/tools/cmd/deadcode to v0.43.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11741): <!--number 11741 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvb2F1dGgyIHRvIHYwLjM2LjAgKGZvcmdlam8p-->Update module golang.org/x/oauth2 to v0.36.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11674): <!--number 11674 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvLXdlYmF1dGhuL3dlYmF1dGhuIHRvIHYwLjE2LjEgKGZvcmdlam8p-->Update module github.com/go-webauthn/webauthn to v0.16.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11744): <!--number 11744 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBtdmRhbi5jYy94dXJscy92MiB0byB2Mi42LjAgKGZvcmdlam8p-->Update module mvdan.cc/xurls/v2 to v2.6.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11632): <!--number 11632 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvb2dsZS9nby1saWNlbnNlcyB0byB2MiAoZm9yZ2VqbykgLSBhdXRvY2xvc2Vk-->Update module github.com/google/go-licenses to v2 (forgejo) - autoclosed<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11740): <!--number 11740 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvbmV0IHRvIHYwLjUyLjAgKGZvcmdlam8p-->Update module golang.org/x/net to v0.52.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11264): <!--number 11264 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgY2xpcHBpZSB0byB2NC4xLjEwIChmb3JnZWpvKQ==-->Update dependency clippie to v4.1.10 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11738): <!--number 11738 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL1Byb3Rvbk1haWwvZ28tY3J5cHRvIHRvIHYxLjQuMSAoZm9yZ2Vqbyk=-->Update module github.com/ProtonMail/go-crypto to v1.4.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11739): <!--number 11739 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvaW1hZ2UgdG8gdjAuMzcuMCAoZm9yZ2Vqbyk=-->Update module golang.org/x/image to v0.37.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11691): <!--number 11691 --><!--line 0 --><!--description cmVtb3ZlIHRlbXBsYXRlIGZpbGUgZnJvbSBnZW5lcmF0ZWQgcmVwbw==-->remove template file from generated repo<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11713): <!--number 11713 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL3VyZmF2ZS9jbGkvdjMgdG8gdjMuNy4wIChmb3JnZWpvKQ==-->Update module github.com/urfave/cli/v3 to v3.7.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11729): <!--number 11729 --><!--line 0 --><!--description cGVyZjogcmVtb3ZlIHJlZHVuZGFudCAmIGluY29ycmVjdCBmaWx0ZXJzIG9uICdTZWFyY2hSZXBvT3B0aW9ucy5Pd25lcklEJw==-->perf: remove redundant & incorrect filters on 'SearchRepoOptions.OwnerID'<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11728): <!--number 11728 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvY3J5cHRvIHRvIHYwLjQ5LjAgKGZvcmdlam8p-->Update module golang.org/x/crypto to v0.49.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11718): <!--number 11718 --><!--line 0 --><!--description dXNlIENTUyBjbGFzcyB0byBpbmRpY2F0ZSB0aGF0IHJ1bm5lciBuYW1lIGlzIHJlcXVpcmVk-->use CSS class to indicate that runner name is required<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11709): <!--number 11709 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL1Byb3Rvbk1haWwvZ28tY3J5cHRvIHRvIHYxLjQuMCAoZm9yZ2Vqbyk=-->Update module github.com/ProtonMail/go-crypto to v1.4.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11700): <!--number 11700 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL3BxdWVybmEvb3RwIHRvIHYxLjUuMCAoZm9yZ2VqbykgLSBhdXRvY2xvc2Vk-->Update module github.com/pquerna/otp to v1.5.0 (forgejo) - autoclosed<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11719): <!--number 11719 --><!--line 0 --><!--description Zml4KHVpKTogY2xlYW51cCBjc3MgZGVhZGNvZGUgcmVsYXRlZCB0byBzdGFja2FibGUgbWVudXM=-->fix(ui): cleanup css deadcode related to stackable menus<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11707): <!--number 11707 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBmaWxsbW9yZS1sYWJzLmNvbS9lcnJvcnR5cGUgdG8gdjAuMC4xMSAoZm9yZ2Vqbyk=-->Update module fillmore-labs.com/errortype to v0.0.11 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11708): <!--number 11708 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL21hdHRuL2dvLXNxbGl0ZTMgdG8gdjEuMTQuMzcgKGZvcmdlam8p-->Update module github.com/mattn/go-sqlite3 to v1.14.37 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11690): <!--number 11690 --><!--line 0 --><!--description c2NvcGUtc3BlY2lmaWMgaGVhZGluZ3MgZm9yIGxpc3Qgb2YgcmVjZW50IHRhc2tz-->scope-specific headings for list of recent tasks<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11616): <!--number 11616 --><!--line 0 --><!--description cmVtb3ZlIHNlY29uZCBjaGFsbGVuZ2UgZnJvbSBXV1ctQXV0aGVudGljYXRlIGhlYWRlcg==-->remove second challenge from WWW-Authenticate header<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11686): <!--number 11686 --><!--line 0 --><!--description dGVzdDogYXR0ZW1wdCB0byBmaXggZmxha3kgVGVzdEJsZXZlRGVsZXRlSXNzdWU=-->test: attempt to fix flaky TestBleveDeleteIssue<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11053): <!--number 11053 --><!--line 0 --><!--description YnVpbGQ6IG1vdmUgYmFja2VuZC1jaGVja3MgQ0kgY2hlY2tzIHRvIE1ha2VmaWxlOiBgbWFrZSBwci1nb2A=-->build: move backend-checks CI checks to Makefile: `make pr-go`<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11507): <!--number 11507 --><!--line 0 --><!--description UmVwbGFjZSByZWZlcmVuY2UgdG8gTW9uYWNvIHdpdGggQ29kZU1pcnJvciBpbiBhcHAuZXhhbXBsZS5pbmk=-->Replace reference to Monaco with CodeMirror in app.example.ini<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11295): <!--number 11295 --><!--line 0 --><!--description Zml4KHByb3h5cHJvdG9jb2wpOiByZW1vdmUgdHJhaWxpbmcgbnVsbCBieXRlIGZvciBsb2NhbCBjb25uZWN0aW9u-->fix(proxyprotocol): remove trailing null byte for local connection<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10525): <!--number 10525 --><!--line 0 --><!--description ZXhwYW5kIHJldXNhYmxlIHdvcmtmbG93IGNhbGxzIGludG8gdGhlaXIgaW5uZXIgam9icw==-->expand reusable workflow calls into their inner jobs<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11692): <!--number 11692 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIERvY2tlciB0YWcgdG8gdjQzLjc2LjIgKGZvcmdlam8p-->Update renovate Docker tag to v43.76.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11697): <!--number 11697 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQGdvb2dsZS9tb2RlbC12aWV3ZXIgdG8gdjQuMi4wIChmb3JnZWpvKQ==-->Update dependency @google/model-viewer to v4.2.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11695): <!--number 11695 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvLXN3YWdnZXIvZ28tc3dhZ2dlci9jbWQvc3dhZ2dlciB0byB2MC4zMy4yIChmb3JnZWpvKQ==-->Update module github.com/go-swagger/go-swagger/cmd/swagger to v0.33.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11693): <!--number 11693 --><!--line 0 --><!--description VXBkYXRlIENvZGVNaXJyb3IgKGZvcmdlam8p-->Update CodeMirror (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11683): <!--number 11683 --><!--line 0 --><!--description Zml4KGkxOG4pOiByZXVzZSBzdHJpbmcgZm9yIHJlcG9zaXRvcnkgYWNjZXNzLCBmaXggY2FwaXRhbGl6YXRpb24gY29uc2lzdGVuY3k=-->fix(i18n): reuse string for repository access, fix capitalization consistency<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11675): <!--number 11675 --><!--line 0 --><!--description Zml4KHVpKTogaW1wcm92ZSBjb25zaXN0ZW5jeSBpbiBuZXcgcnVubmVyIG1hbmFnZW1lbnQgcGFnZXM=-->fix(ui): improve consistency in new runner management pages<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11682): <!--number 11682 --><!--line 0 --><!--description aW5jb3JyZWN0IERCIGVycm9yIGhhbmRsaW5nIGluICdQT1NUIC91c2Vycy97dXNlcm5hbWV9L3Rva2Vucyc=-->incorrect DB error handling in 'POST /users/{username}/tokens'<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11585): <!--number 11585 --><!--line 0 --><!--description Zml4KGlzc3VlLXNlYXJjaCk6IGRlbGV0ZSBpc3N1ZSBmcm9tIGluZGV4ZXIgb24gRGVsZXRlSXNzdWU=-->fix(issue-search): delete issue from indexer on DeleteIssue<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11672): <!--number 11672 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQGNvZGVtaXJyb3IvdmlldyB0byB2Ni4zOS4xNyAoZm9yZ2Vqbyk=-->Update dependency @codemirror/view to v6.39.17 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11335): <!--number 11335 --><!--line 0 --><!--description c2tpcCByZXBvIGF2YXRhciB1cGxvYWQgd2hlbiBubyBmaWxlIGlzIHNlbGVjdGVk-->skip repo avatar upload when no file is selected<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11478): <!--number 11478 --><!--line 0 --><!--description UlBNIHJlZ2lzdHJ5IGFkZHJlcG8gaW5zdHJ1Y3Rpb25z-->RPM registry addrepo instructions<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11525): <!--number 11525 --><!--line 0 --><!--description Y2hvcmU6IGFkZCBtb3JlIGRpYWdub3N0aWMgb3V0cHV0IHRvIGRiZnMgU3RhdCBlcnJvcg==-->chore: add more diagnostic output to dbfs Stat error<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11280): <!--number 11280 --><!--line 0 --><!--description Y2k6IGVuc3VyZSBjb3JyZWN0IG5vZGUgdmVyc2lvbg==-->ci: ensure correct node version<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11542): <!--number 11542 --><!--line 0 --><!--description Y2hvcmU6IHNraXAgc2hhMjU2IHJlcG8gZm9yIG9sZGVyIGdpdCB2ZXJzaW9ucw==-->chore: skip sha256 repo for older git versions<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11176): <!--number 11176 --><!--line 0 --><!--description ZW5zdXJlIGNvbnNpc3RlbnQgc29ydCBvcmRlciBpbiBUZXN0RmVlZCBmaXh0dXJl-->ensure consistent sort order in TestFeed fixture<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11007): <!--number 11007 --><!--line 0 --><!--description Zml4IE5ld01vY2tXZWJTZXJ2ZXIoKTogSGVhZGVycyBuZXZlciByZWFjaGVkIHRoZSBodHRwIGNsaWVudA==-->fix NewMockWebServer(): Headers never reached the http client<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10798): <!--number 10798 --><!--line 0 --><!--description bWlncmF0aW9ucy9naXRodWI6IGF2b2lkIGdldHRpbmcgdGhlIGZpcnN0IGlzc3VlcyBwYWdlIHR3aWNl-->migrations/github: avoid getting the first issues page twice<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10846): <!--number 10846 --><!--line 0 --><!--description bWlncmF0aW9ucy9naXRodWI6IFdhaXQgJiByZXRyeSB3aGVuIHByaW1hcnkgcmF0ZSBsaW1pdCBpcyBoaXQ=-->migrations/github: Wait & retry when primary rate limit is hit<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11038): <!--number 11038 --><!--line 0 --><!--description ZGV0ZWN0IHJlbmFtZXMgd2hlbiB1c2luZyBkaWZmLXRyZWU=-->detect renames when using diff-tree<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10883): <!--number 10883 --><!--line 0 --><!--description Y2k6IHRpZSBnbyBjYWNoZSB0byBnbyB2ZXJzaW9uIGFuZCBhZGQgYE1ha2VmaWxlYCB0byBrZXkgaGFzaA==-->ci: tie go cache to go version and add `Makefile` to key hash<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10893): <!--number 10893 --><!--line 0 --><!--description cmV0cnkgQWN0aW9uUnVuIHVwZGF0ZXMgd2hlbiBvcHRpbWlzdGljLWNvbmN1cnJlbmN5LWNvbnRyb2wgaW5kaWNhdGVzIHJlY29yZCBjaGFuZ2Vk-->retry ActionRun updates when optimistic-concurrency-control indicates record changed<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10481): <!--number 10481 --><!--line 0 --><!--description YWRkIE9JREMgd29ya2xvYWQgaWRlbnRpdHkgZmVkZXJhdGlvbiBzdXBwb3J0-->add OIDC workload identity federation support<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11662): <!--number 11662 --><!--line 0 --><!--description VXBkYXRlIGRhdGEuZm9yZ2Vqby5vcmcvb2NpL2dvbGFuZyBEb2NrZXIgdGFnIHRvIHYxLjI2IChmb3JnZWpvKSAtIGF1dG9jbG9zZWQ=-->Update data.forgejo.org/oci/golang Docker tag to v1.26 (forgejo) - autoclosed<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11660): <!--number 11660 --><!--line 0 --><!--description VXBkYXRlIGRhdGEuZm9yZ2Vqby5vcmcvZm9yZ2Vqby9mb3JnZWpvIERvY2tlciB0YWcgdG8gdjExLjAuMTEgKGZvcmdlam8p-->Update data.forgejo.org/forgejo/forgejo Docker tag to v11.0.11 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11663): <!--number 11663 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgbWVybWFpZCB0byB2MTEuMTMuMCAoZm9yZ2Vqbyk=-->Update dependency mermaid to v11.13.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11657): <!--number 11657 --><!--line 0 --><!--description cmVmYWN0b3I6IHJlcGxhY2UgV2l0aEF2YWlsYWJsZSB3aXRoIFdpdGhWaXNpYmxlIHdoZW4gZmV0Y2hpbmcgcnVubmVycw==-->refactor: replace WithAvailable with WithVisible when fetching runners<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11653): <!--number 11653 --><!--line 0 --><!--description Y3JlYXRlIHJlcG8tc3BlY2lmaWMgYWNjZXNzIHRva2VuIHVuZXhwZWN0ZWQgYmVoYXZpb3VyIHdpdGggYCJyZXBvc2l0b3JpZXMiOiBbXWA=-->create repo-specific access token unexpected behaviour with `"repositories": []`<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11627): <!--number 11627 --><!--line 0 --><!--description VXBkYXRlIGxpbnRlcnMgKGZvcmdlam8p-->Update linters (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11320): <!--number 11320 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZ28gdG8gdjEuMjYgKGZvcmdlam8p-->Update dependency go to v1.26 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11334): <!--number 11334 --><!--line 0 --><!--description Zml4KG1vZGVscyk6IGRlZHVwbGljYXRlIHByb2plY3Qgc29ydGluZyB2YWx1ZXMgYW5kIGFkZCB1bmlxdWUgY29uc3RyYWludHM=-->fix(models): deduplicate project sorting values and add unique constraints<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11644): <!--number 11644 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9hY3Rpb25zL3NldHVwLWZvcmdlam8gYWN0aW9uIHRvIHYzLjEuOCAoZm9yZ2Vqbyk=-->Update https://data.forgejo.org/actions/setup-forgejo action to v3.1.8 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11639): <!--number 11639 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMiB0byB2MTIuNy4yIChmb3JnZWpvKSAtIGF1dG9jbG9zZWQ=-->Update module code.forgejo.org/forgejo/runner/v12 to v12.7.2 (forgejo) - autoclosed<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11638): <!--number 11638 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kga2F0ZXggdG8gdjAuMTYuMzggKGZvcmdlam8p-->Update dependency katex to v0.16.38 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11630): <!--number 11630 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vY29kZS5mb3JnZWpvLm9yZy9mb3JnZWpvL3VwbG9hZC1hcnRpZmFjdCBhY3Rpb24gdG8gdjUgKGZvcmdlam8pIC0gYXV0b2Nsb3NlZA==-->Update https://code.forgejo.org/forgejo/upload-artifact action to v5 (forgejo) - autoclosed<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11631): <!--number 11631 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9mb3JnZWpvL3VwbG9hZC1hcnRpZmFjdCBhY3Rpb24gdG8gdjUgKGZvcmdlam8p-->Update https://data.forgejo.org/forgejo/upload-artifact action to v5 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11629): <!--number 11629 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgd3JhcC1hbnNpIHRvIHYxMCAoZm9yZ2Vqbyk=-->Update dependency wrap-ansi to v10 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11605): <!--number 11605 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgYXNjaWluZW1hLXBsYXllciB0byB2My4xNS4xIChmb3JnZWpvKQ==-->Update dependency asciinema-player to v3.15.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11624): <!--number 11624 --><!--line 0 --><!--description Y2hvcmUoZGVwcyk6IGJ1bXAgeG9ybSB0byB2MS4zLjktZm9yZ2Vqby44-->chore(deps): bump xorm to v1.3.9-forgejo.8<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11342): <!--number 11342 --><!--line 0 --><!--description Y2hvcmUocmVmYWN0b3IpOiBzcGxpdCBBZGRSZXBvc2l0b3J5IGFuZCBBZGRUZWFtTWVtYmVyIHRvIHJldHVybiB0aGUgaW5zZXJ0ZWQgdmFsdWU=-->chore(refactor): split AddRepository and AddTeamMember to return the inserted value<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11621): <!--number 11621 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZ2xvYmFscyB0byB2MTcuNC4wIChmb3JnZWpvKQ==-->Update dependency globals to v17.4.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11588): <!--number 11588 --><!--line 0 --><!--description d2ViaG9vay9kaXNjb3JkOiBvbWl0IGVtcHR5IGVtYmVkcy5mb290ZXIgZnJvbSB0aGUgcGF5bG9hZCBmb3IgU3BhY2ViYXIgY29tcGF0aWJpbGl0eQ==-->webhook/discord: omit empty embeds.footer from the payload for Spacebar compatibility<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11601): <!--number 11601 --><!--line 0 --><!--description cmVmYWN0b3I6IHJlcGxhY2UgQWN0aW9uUnVubmVyVG9rZW4uT3duZXJJRCAmIFJlcG9JRCB3aXRoIG9wdGlvbmFsLk9wdGlvbltpbnQ2NF0=-->refactor: replace ActionRunnerToken.OwnerID & RepoID with optional.Option[int64]<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11593): <!--number 11593 --><!--line 0 --><!--description Y2k6IGRldGVjdCBhbmQgcHJldmVudCBlbXB0eSBgY2FzZWAgc3RhdGVtZW50cyBpbiBHbyBjb2Rl-->ci: detect and prevent empty `case` statements in Go code<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11599): <!--number 11599 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kga2F0ZXggdG8gdjAuMTYuMzcgKGZvcmdlam8p-->Update dependency katex to v0.16.37 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11595): <!--number 11595 --><!--line 0 --><!--description cmVmYWN0b3I6IHJlbmFtZSBBY2Nlc3NUb2tlbkVycm9yIHRvIEFjY2Vzc1Rva2VuRXJyb3JSZXNwb25zZQ==-->refactor: rename AccessTokenError to AccessTokenErrorResponse<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11442): <!--number 11442 --><!--line 0 --><!--description ZW5mb3JjZSBwYWNrYWdlIHF1b3RhIGFnYWluc3QgcGFja2FnZSBvd25lciwgbm90IHVwbG9hZGVy-->enforce package quota against package owner, not uploader<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11144): <!--number 11144 --><!--line 0 --><!--description Y2hvcmU6IGFkZCBjb21tZW50IGZvciBhcCBtaWdyYXRpb24=-->chore: add comment for ap migration<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9254): <!--number 9254 --><!--line 0 --><!--description ZmVhdChhY3Rpdml0eXB1Yik6IHVzZSBzdHJ1Y3R1cmUgQFByZWZlcnJlZFVzZXJuYW1lQGhvc3QudGxkOnBvcnQgZm9yIGFjdG9ycw==-->feat(activitypub): use structure @PreferredUsername@host.tld:port for actors<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11568): <!--number 11568 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL21pbmlvL21pbmlvLWdvL3Y3IHRvIHY3LjAuOTkgKGZvcmdlam8pIC0gYXV0b2Nsb3NlZA==-->Update module github.com/minio/minio-go/v7 to v7.0.99 (forgejo) - autoclosed<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11576): <!--number 11576 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kga2F0ZXggdG8gdjAuMTYuMzUgKGZvcmdlam8p-->Update dependency katex to v0.16.35 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11558): <!--number 11558 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgd2VicGFjayB0byB2NS4xMDUuNCAoZm9yZ2Vqbyk=-->Update dependency webpack to v5.105.4 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11587): <!--number 11587 --><!--line 0 --><!--description Y2hvcmU6IGNsZWFudXAgTWFrZWZpbGU=-->chore: cleanup Makefile<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11583): <!--number 11583 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZS1ub3Rlcyk6IEZvcmdlam8gdjE0LjAuMyBbc2tpcCBjaV0=-->chore(release-notes): Forgejo v14.0.3 [skip ci]<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11582): <!--number 11582 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZS1ub3Rlcyk6IEZvcmdlam8gdjExLjAuMTEgW3NraXAgY2ld-->chore(release-notes): Forgejo v11.0.11 [skip ci]<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11553): <!--number 11553 --><!--line 0 --><!--description Y2hvcmU6IHN1cHBvcnQgYE9wdGlvbltUXWAgYXMgYSB0eXBlIG9uIGRhdGFiYXNlIHNjaGVtYSBzdHJ1Y3Rz-->chore: support `Option[T]` as a type on database schema structs<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11564): <!--number 11564 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvLWVucnkvZ28tZW5yeS92MiB0byB2Mi45LjUgKGZvcmdlam8p-->Update module github.com/go-enry/go-enry/v2 to v2.9.5 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11559): <!--number 11559 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9hY3Rpb25zL3NldHVwLWZvcmdlam8gYWN0aW9uIHRvIHYzLjEuNyAoZm9yZ2Vqbyk=-->Update https://data.forgejo.org/actions/setup-forgejo action to v3.1.7 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11562): <!--number 11562 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMiB0byB2MTIuNy4xIChmb3JnZWpvKQ==-->Update module code.forgejo.org/forgejo/runner/v12 to v12.7.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11481): <!--number 11481 --><!--line 0 --><!--description Y2hvcmUodHJlZXdpZGUpOiByZW5hbWUgU2FmZUhUTUwgdG8gVHJ1c3RIVE1M-->chore(treewide): rename SafeHTML to TrustHTML<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11563): <!--number 11563 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2JsZXZlc2VhcmNoL2JsZXZlL3YyIHRvIHYyLjUuNyAoZm9yZ2Vqbyk=-->Update module github.com/blevesearch/bleve/v2 to v2.5.7 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11368): <!--number 11368 --><!--line 0 --><!--description ZmVhdChhcGkpOiBtb3JlIHZlcmJvc2UgZXJyb3IgbWVzc2FnZXMgYW5kIHN3YWdnZXIgY29tbWVudHMgZm9yIHBvc3RpbmcgaXNzdWUgY29tbWVudHM=-->feat(api): more verbose error messages and swagger comments for posting issue comments<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11486): <!--number 11486 --><!--line 0 --><!--description VXBkYXRlIGNvZGUuZm9yZ2Vqby5vcmcvZm9yZ2Vqby1jb250cmliL2dvLWxpYnJhdmF0YXIgZGlnZXN0IHRvIGFkZDQ5NGUgKGZvcmdlam8p-->Update code.forgejo.org/forgejo-contrib/go-libravatar digest to add494e (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11545): <!--number 11545 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgdGFpbHdpbmRjc3MgdG8gdjMuNC4xOSAoZm9yZ2Vqbyk=-->Update dependency tailwindcss to v3.4.19 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11538): <!--number 11538 --><!--line 0 --><!--description Y2hvcmUoZGVwcyk6IHVwZ3JhZGUgeG9ybSB0byB2MS4zLjktZm9yZ2Vqby43-->chore(deps): upgrade xorm to v1.3.9-forgejo.7<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11549): <!--number 11549 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgdWludDgtdG8tYmFzZTY0IHRvIHYwLjIuMSAoZm9yZ2Vqbyk=-->Update dependency uint8-to-base64 to v0.2.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11543): <!--number 11543 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZm9yZ2Vqby9yZWxlYXNlLW5vdGVzLWFzc2lzdGFudCB0byB2MS42LjEgKGZvcmdlam8p-->Update dependency forgejo/release-notes-assistant to v1.6.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11470): <!--number 11470 --><!--line 0 --><!--description Zml4KHRlc3RzKTogZG8gbm90IGxlYWsgZ2xvYmFsIHJlcG9zaXRvcnkgdW5pdCBkZWZhdWx0cw==-->fix(tests): do not leak global repository unit defaults<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11523): <!--number 11523 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgbWluaW1hdGNoIHRvIHYxMC4yLjQgKGZvcmdlam8p-->Update dependency minimatch to v10.2.4 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11521): <!--number 11521 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZ28gdG8gdjEuMjUuOCAoZm9yZ2Vqbyk=-->Update dependency go to v1.25.8 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11520): <!--number 11520 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kga2F0ZXggdG8gdjAuMTYuMzMgKGZvcmdlam8p-->Update dependency katex to v0.16.33 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11519): <!--number 11519 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZGF5anMgdG8gdjEuMTEuMTkgKGZvcmdlam8p-->Update dependency dayjs to v1.11.19 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11517): <!--number 11517 --><!--line 0 --><!--description VXBkYXRlIENvZGVNaXJyb3IgKGZvcmdlam8p-->Update CodeMirror (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9873): <!--number 9873 --><!--line 0 --><!--description SGFuZGxlIGVycm9yIHR5cGVzIGNvbnNpc3RlbnRseQ==-->Handle error types consistently<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11450): <!--number 11450 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL21hcmtiYXRlcy9nb3RoIHRvIHYxLjgyLjAgKGZvcmdlam8p-->Update module github.com/markbates/goth to v1.82.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11385): <!--number 11385 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgbWVybWFpZCB0byB2MTEuMTIuMyAoZm9yZ2Vqbyk=-->Update dependency mermaid to v11.12.3 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11508): <!--number 11508 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgc3ZnbyB0byB2NC4wLjEgW1NFQ1VSSVRZXSAoZm9yZ2Vqbyk=-->Update dependency svgo to v4.0.1 [SECURITY] (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11388): <!--number 11388 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgbWluaW1hdGNoIHRvIHYxMC4yLjEgKGZvcmdlam8p-->Update dependency minimatch to v10.2.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11376): <!--number 11376 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZm9yZ2Vqby9yZWxlYXNlLW5vdGVzLWFzc2lzdGFudCB0byB2MS42LjAgKGZvcmdlam8p-->Update dependency forgejo/release-notes-assistant to v1.6.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11384): <!--number 11384 --><!--line 0 --><!--description UmVwbGFjZSBOb2RlLmpzIHdpdGggZGF0YS5mb3JnZWpvLm9yZy9vY2kvbm9kZSAyNC10cml4aWUgKGZvcmdlam8p-->Replace Node.js with data.forgejo.org/oci/node 24-trixie (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11441): <!--number 11441 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgbWluaW1hdGNoIHRvIHYxMC4yLjMgW1NFQ1VSSVRZXSAoZm9yZ2Vqbyk=-->Update dependency minimatch to v10.2.3 [SECURITY] (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11359): <!--number 11359 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9hY3Rpb25zL3NldHVwLWZvcmdlam8gYWN0aW9uIHRvIHYzLjEuNiAoZm9yZ2Vqbyk=-->Update https://data.forgejo.org/actions/setup-forgejo action to v3.1.6 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11406): <!--number 11406 --><!--line 0 --><!--description UmV2ZXJ0ICJSZXBsYWNlIE5vZGUuanMgd2l0aCBkYXRhLmZvcmdlam8ub3JnL29jaS9ub2RlIDI0LXRyaXhpZSAoZm9yZ2VqbykgKCMxMTM4NCki-->Revert "Replace Node.js with data.forgejo.org/oci/node 24-trixie (forgejo) (#11384)"<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11392): <!--number 11392 --><!--line 0 --><!--description Y2hvcmUocmVub3ZhdGUpOiBwcmVwYXJlIGZvciBvcGVyYXRvcg==-->chore(renovate): prepare for operator<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11363): <!--number 11363 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMiB0byB2MTIuNy4wIChmb3JnZWpvKQ==-->Update module code.forgejo.org/forgejo/runner/v12 to v12.7.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11243): <!--number 11243 --><!--line 0 --><!--description Y2hvcmUocmVub3ZhdGUpOiBkaXNhYmxlIG1ham9yIHVwZGF0ZXMgb24gc3RhYmxlIGJyYW5jaGVzIGJ5IGRlZmF1bHQ=-->chore(renovate): disable major updates on stable branches by default<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11293): <!--number 11293 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgc29ydGFibGVqcyB0byB2MS4xNS43IChmb3JnZWpvKQ==-->Update dependency sortablejs to v1.15.7 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11233): <!--number 11233 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL21hdHRuL2dvLXNxbGl0ZTMgdG8gdjEuMTQuMzQgKGZvcmdlam8p-->Update module github.com/mattn/go-sqlite3 to v1.14.34 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11350): <!--number 11350 --><!--line 0 --><!--description Y2hvcmU6IHJlbW92ZSBmaWVsZCBlcGhlbWVyYWwgZnJvbSBydW5uZXIgcmVnaXN0cmF0aW9uIHJlc3BvbnNl-->chore: remove field ephemeral from runner registration response<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11218): <!--number 11218 --><!--line 0 --><!--description cmVmYWN0b3I6IHJlcGxhY2UgYFZhbHVlKClgIGZyb20gT3B0aW9uW1RdIHdpdGggYEdldCgpYCAmIGBWYWx1ZU9yWmVyb1ZhbHVlKClg-->refactor: replace `Value()` from Option[T] with `Get()` & `ValueOrZeroValue()`<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11222): <!--number 11222 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMiB0byB2MTIuNi40IChmb3JnZWpvKQ==-->Update module code.forgejo.org/forgejo/runner/v12 to v12.6.4 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11319): <!--number 11319 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgcG9zdGNzcy1sb2FkZXIgdG8gdjguMi4xIChmb3JnZWpvKQ==-->Update dependency postcss-loader to v8.2.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11226): <!--number 11226 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvaW1hZ2UgdG8gdjAuMzYuMCAoZm9yZ2Vqbyk=-->Update module golang.org/x/image to v0.36.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11241): <!--number 11241 --><!--line 0 --><!--description ZmVhdCh1aSk6IHN1cHBvcnQgQzMgbGFuZ3VhZ2UgaGlnaGxpZ2h0aW5nIGluIGZpbGUgZWRpdG9y-->feat(ui): support C3 language highlighting in file editor<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11210): <!--number 11210 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgcG9zdGNzcy1uZXN0aW5nIHRvIHYxNCAoZm9yZ2Vqbyk=-->Update dependency postcss-nesting to v14 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11201): <!--number 11201 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQGNvZGVtaXJyb3IvY29tbWFuZHMgdG8gdjYuMTAuMiAoZm9yZ2Vqbyk=-->Update dependency @codemirror/commands to v6.10.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11237): <!--number 11237 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvbmV0IHRvIHYwLjUwLjAgKGZvcmdlam8p-->Update module golang.org/x/net to v0.50.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11333): <!--number 11333 --><!--line 0 --><!--description Zml4KGkxOG4pOiB1bmhhcmRjb2RlIGxhYmVsIGV4Y2x1c2lvbiB0b29sdGlwcw==-->fix(i18n): unhardcode label exclusion tooltips<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11235): <!--number 11235 --><!--line 0 --><!--description Y2hvcmUobGludCk6IGVuYWJsZSBuaWxuaWw=-->chore(lint): enable nilnil<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11325): <!--number 11325 --><!--line 0 --><!--description aTE4bigqKTogbWlncmF0ZSA5MiBzdHJpbmdzIHRvIGpzb24=-->i18n(*): migrate 92 strings to json<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11093): <!--number 11093 --><!--line 0 --><!--description Y29ycmVjdCBtYWxmb3JtZWQgQ3JlYXRlVGVhbU9wdGlvbiBleGFtcGxl-->correct malformed CreateTeamOption example<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11225): <!--number 11225 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvY3J5cHRvIHRvIHYwLjQ4LjAgKGZvcmdlam8p-->Update module golang.org/x/crypto to v0.48.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10979): <!--number 10979 --><!--line 0 --><!--description aTE4bigqKTogbWlncmF0ZSBpbmkgc2VjdGlvbiBbcGFja2FnZXNdIHRvIGpzb24=-->i18n(*): migrate ini section [packages] to json<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11345): <!--number 11345 --><!--line 0 --><!--description Y2hvcmUoaTE4bik6IGRlZHVwbGljYXRlIGNvbW1vbiBwYWNrYWdlcyByZWxhdGVkIHN0cmluZ3M=-->chore(i18n): deduplicate common packages related strings<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11277): <!--number 11277 --><!--line 0 --><!--description Q2hvcmUgbW9kdWxlcy9zZXNzaW9uL3ZpcnR1YWw6IGdjIF9vbGRfdWlkIGhhY2s=-->Chore modules/session/virtual: gc _old_uid hack<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11236): <!--number 11236 --><!--line 0 --><!--description VXBkYXRlIE5vZGUuanMgdG8gdjI0LjEzLjEgKGZvcmdlam8p-->Update Node.js to v24.13.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11156): <!--number 11156 --><!--line 0 --><!--description ZmVhdCh1aSk6IHN1cHBvcnQgYWRkaXRpb25hbCBqb2Igc3RhdHVzIHNlbGVjdGlvbiBpbiBkcm9wZG93biBtZW51IG9uIEFjdGlvbnMgdGFi-->feat(ui): support additional job status selection in dropdown menu on Actions tab<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11284): <!--number 11284 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgd2VicGFjayB0byB2NS4xMDUuMiAoZm9yZ2Vqbyk=-->Update dependency webpack to v5.105.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11251): <!--number 11251 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQGNvZGVtaXJyb3IvdmlldyB0byB2Ni4zOS4xNCAoZm9yZ2Vqbyk=-->Update dependency @codemirror/view to v6.39.14 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11326): <!--number 11326 --><!--line 0 --><!--description VXNlclR5cGVSZW1vdGVVc2VyIGlzIGFuIGVsaWdpYmxlIG9yZ2FuaXphdGlvbiBtZW1iZXI=-->UserTypeRemoteUser is an eligible organization member<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11223): <!--number 11223 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcyB0byB2MS4xOC40IChmb3JnZWpvKQ==-->Update module github.com/klauspost/compress to v1.18.4 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11199): <!--number 11199 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0MyAoZm9yZ2VqbykgKG1ham9yKQ==-->Update renovate to v43 (forgejo) (major)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11318): <!--number 11318 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgYXNjaWluZW1hLXBsYXllciB0byB2My4xNC4xNSAoZm9yZ2Vqbyk=-->Update dependency asciinema-player to v3.14.15 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11142): <!--number 11142 --><!--line 0 --><!--description Y2k6IGludHJvZHVjZSBgc2VtZ3JlcGAgdG8gcHJldmVudCB1c2luZyBgeG9ybS5TeW5jKClgIGluY29ycmVjdGx5IGluIG5ldyBtaWdyYXRpb25z-->ci: introduce `semgrep` to prevent using `xorm.Sync()` incorrectly in new migrations<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11169): <!--number 11169 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZm9yZ2Vqby9yZWxlYXNlLW5vdGVzLWFzc2lzdGFudCB0byB2MS41LjIgKGZvcmdlam8p-->Update dependency forgejo/release-notes-assistant to v1.5.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11197): <!--number 11197 --><!--line 0 --><!--description Y2hvcmUodWkpOiBhZGQgaW50ZWdyYXRpb24gdGVzdHMgZm9yIGZvb3RlciB0bXBsIGxvZ2lj-->chore(ui): add integration tests for footer tmpl logic<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11143): <!--number 11143 --><!--line 0 --><!--description c2hvdyBub3RlIHRoYXQgdXNlciBoYXMgbm8gU1NIIGtleXM=-->show note that user has no SSH keys<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11171): <!--number 11171 --><!--line 0 --><!--description cmVmbGVjdCBhbGxvd2VkIHVzZXJuYW1lIGNoYW5nZSBpbiBwcm9maWxlIHNldHRpbmc=-->reflect allowed username change in profile setting<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11136): <!--number 11136 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQGNvZGVtaXJyb3IvdmlldyB0byB2Ni4zOS4xMiAoZm9yZ2Vqbyk=-->Update dependency @codemirror/view to v6.39.12 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11170): <!--number 11170 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvLWNoaS9jaGkvdjUgdG8gdjUuMi41IChmb3JnZWpvKQ==-->Update module github.com/go-chi/chi/v5 to v5.2.5 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11184): <!--number 11184 --><!--line 0 --><!--description bmV3bHkgZXhwYW5kZWQgZHluYW1pYyBtYXRyaXggam9icyBjYW4gYmVjb21lIHN0dWNrIGluIGEgJ2Jsb2NrZWQnIHN0YXRl-->newly expanded dynamic matrix jobs can become stuck in a 'blocked' state<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11067): <!--number 11067 --><!--line 0 --><!--description UmVmYWN0b3Igand0eC9zaWduaW5na2V5OiBBZGQgSldUKCkgbWV0aG9kIGZvciBjb252ZW5pZW5jZS9jbGFyaXR5-->Refactor jwtx/signingkey: Add JWT() method for convenience/clarity<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11183): <!--number 11183 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgd2VicGFjayB0byB2NS4xMDUuMCAoZm9yZ2Vqbyk=-->Update dependency webpack to v5.105.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11149): <!--number 11149 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZ28gdG8gdjEuMjUuNyAoZm9yZ2Vqbyk=-->Update dependency go to v1.25.7 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11104): <!--number 11104 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9hY3Rpb25zL3NldHVwLWZvcmdlam8gYWN0aW9uIHRvIHYzLjEuNCAoZm9yZ2Vqbyk=-->Update https://data.forgejo.org/actions/setup-forgejo action to v3.1.4 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10552): <!--number 10552 --><!--line 0 --><!--description ZmVhdChpc3N1ZS1zZWFyY2gpOiBzdXBwb3J0IGZpbHRlcmluZyBmb3IgaXNzdWVzIHdpdGggbXVsdGlwbGUgYXNzaWduZWVz-->feat(issue-search): support filtering for issues with multiple assignees<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11448): <!--number 11448 --><!--line 0 --><!--description VXBkYXRlIGxpbnRlcnMgKGZvcmdlam8p-->Update linters (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11493): <!--number 11493 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQHZpdGVzdC9lc2xpbnQtcGx1Z2luIHRvIHYxLjYuOSAoZm9yZ2VqbykgLSBhdXRvY2xvc2Vk-->Update dependency @vitest/eslint-plugin to v1.6.9 (forgejo) - autoclosed<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11492): <!--number 11492 --><!--line 0 --><!--description VXBkYXRlIGdpdGh1Yi5jb20vY2xvdWRmbGFyZS9jaXJjbCAoaW5kaXJlY3QpIHRvIHYxLjYuMyBbU0VDVVJJVFldIChmb3JnZWpvKQ==-->Update github.com/cloudflare/circl (indirect) to v1.6.3 [SECURITY] (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11485): <!--number 11485 --><!--line 0 --><!--description Y2hvcmU6IHVwZGF0ZSBsaWNlbnNlIHRlc3Q=-->chore: update license test<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11490): <!--number 11490 --><!--line 0 --><!--description Y2hvcmUocmVub3ZhdGUpOiB1cGRhdGUgY29uZmln-->chore(renovate): update config<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11158): <!--number 11158 --><!--line 0 --><!--description Y2hvcmU6IHVwZGF0ZSBsaWNlbnNlcyBhbmQgZ2l0aWdub3JlcyBbc2tpcCBjaV0=-->chore: update licenses and gitignores [skip ci]<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10311): <!--number 10311 --><!--line 0 --><!--description cmVmYWN0b3I6IHVzZSBzaWduYWwuTm90aWZ5Q29udGV4dCBvdmVyIGN1c3RvbSBpbXBsZW1lbnRhdGlvbg==-->refactor: use signal.NotifyContext over custom implementation<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11477): <!--number 11477 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL3ZhbHlhbGEvZmFzdGpzb24gdG8gdjEuNi4xMCAoZm9yZ2Vqbyk=-->Update module github.com/valyala/fastjson to v1.6.10 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11476): <!--number 11476 --><!--line 0 --><!--description Y2k6IGFkZCBgc2VtZ3JlcGAgZGV0ZWN0aW9uIGZvciBBUEkgY29kZSBpZ25vcmluZyByZXBvLXNwZWNpZmljIGFjY2VzcyB0b2tlbnM=-->ci: add `semgrep` detection for API code ignoring repo-specific access tokens<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11374): <!--number 11374 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgc3dhZ2dlci11aS1kaXN0IHRvIHY1LjMxLjEgKGZvcmdlam8p-->Update dependency swagger-ui-dist to v5.31.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11462): <!--number 11462 --><!--line 0 --><!--description UmV2ZXJ0ICJmaXg6IGVuc3VyZSBhY3Rpb25zIGxvZ3MgYXJlIHRyYW5zZmVycmVkIHdoZW4gYSB0YXNrIGlzIGRvbmUgKCMxMDAwOCki-->Revert "fix: ensure actions logs are transferred when a task is done (#10008)"<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11447): <!--number 11447 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvbmV0IHRvIHYwLjUxLjAgW1NFQ1VSSVRZXSAoZm9yZ2Vqbyk=-->Update module golang.org/x/net to v0.51.0 [SECURITY] (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11451): <!--number 11451 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL1NhdmVUaGVSYnR6L3pzdGQtc2Vla2FibGUtZm9ybWF0LWdvL3BrZyB0byB2MC44LjAgKGZvcmdlam8p-->Update module github.com/SaveTheRbtz/zstd-seekable-format-go/pkg to v0.8.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11463): <!--number 11463 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLnN1cGVyc2VyaW91c2J1c2luZXNzLm9yZy9leGlmLXRlcm1pbmF0b3IgdG8gdjAuMTEuMSAoZm9yZ2Vqbyk=-->Update module code.superseriousbusiness.org/exif-terminator to v0.11.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11175): <!--number 11175 --><!--line 0 --><!--description QWRkIFRyYWNlIGxvZ2dpbmcgZm9yIEpXVCBzZXNzaW9u-->Add Trace logging for JWT session<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11449): <!--number 11449 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvbGFuZ2NpL2dvbGFuZ2NpLWxpbnQvdjIvY21kL2dvbGFuZ2NpLWxpbnQgdG8gdjIuMTAuMSAoZm9yZ2Vqbyk=-->Update module github.com/golangci/golangci-lint/v2/cmd/golangci-lint to v2.10.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11434): <!--number 11434 --><!--line 0 --><!--description Y29yZSBpbmZyYXN0cnVjdHVyZSBmb3IgcmVwb3NpdG9yeS1zcGVjaWZpYyBhY2Nlc3MgdG9rZW5z-->core infrastructure for repository-specific access tokens<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11452): <!--number 11452 --><!--line 0 --><!--description aW1wbGVtZW50IHJlcG8tc3BlY2lmaWMgYWNjZXNzIHRva2VucyBpbiBnaXQgb3BlcmF0aW9ucw==-->implement repo-specific access tokens in git operations<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11110): <!--number 11110 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgY3NzLWxvYWRlciB0byB2Ny4xLjMgKGZvcmdlam8p-->Update dependency css-loader to v7.1.3 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11121): <!--number 11121 --><!--line 0 --><!--description VXBkYXRlIHZpdGVzdCBtb25vcmVwbyB0byB2NC4wLjE4IChmb3JnZWpvKQ==-->Update vitest monorepo to v4.0.18 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11062): <!--number 11062 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL21laWxpc2VhcmNoL21laWxpc2VhcmNoLWdvIHRvIHYwLjM2LjAgKGZvcmdlam8p-->Update module github.com/meilisearch/meilisearch-go to v0.36.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11103): <!--number 11103 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9hY3Rpb25zL2NhY2hlIGFjdGlvbiB0byB2NS4wLjMgKGZvcmdlam8p-->Update https://data.forgejo.org/actions/cache action to v5.0.3 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10915): <!--number 10915 --><!--line 0 --><!--description d2ViL2F1dGg6IHNpZ251cCBwb2xpc2g=-->web/auth: signup polish<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10937): <!--number 10937 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL3VyZmF2ZS9jbGkvdjMgdG8gdjMuNi4yIChmb3JnZWpvKQ==-->Update module github.com/urfave/cli/v3 to v3.6.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11090): <!--number 11090 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvbGFuZy1qd3Qvand0L3Y1IHRvIHY1LjMuMSAoZm9yZ2Vqbyk=-->Update module github.com/golang-jwt/jwt/v5 to v5.3.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11077): <!--number 11077 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0Mi45My4xIChmb3JnZWpvKQ==-->Update renovate to v42.93.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10753): <!--number 10753 --><!--line 0 --><!--description Zml4IHR5cG9zIHRocm91Z2hvdXQgdGhlIGNvZGViYXNl-->fix typos throughout the codebase<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10922): <!--number 10922 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQGdpdGh1Yi90ZXh0LWV4cGFuZGVyLWVsZW1lbnQgdG8gdjIuOS40IChmb3JnZWpvKQ==-->Update dependency @github/text-expander-element to v2.9.4 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11066): <!--number 11066 --><!--line 0 --><!--description UG9saXNoIGp3dHgvc2lnbmluZ2tleTogQXZvaWQgbG9nLkZhdGFsKCk=-->Polish jwtx/signingkey: Avoid log.Fatal()<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11092): <!--number 11092 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZS1ub3Rlcyk6IEZvcmdlam8gdjE0LjAuMiBbc2tpcCBjaV0=-->chore(release-notes): Forgejo v14.0.2 [skip ci]<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10936): <!--number 10936 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2FsZWN0aG9tYXMvY2hyb21hL3YyIHRvIHYyLjIzLjEgKGZvcmdlam8p-->Update module github.com/alecthomas/chroma/v2 to v2.23.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11095): <!--number 11095 --><!--line 0 --><!--description InJldmVydCBVcGRhdGUgbW9kdWxlIGdpdGh1Yi5jb20vdXJmYXZlL2NsaS92MyB0byB2My42LjIgKGZvcmdlam8pICgjMTA5MzcpIg==-->"revert Update module github.com/urfave/cli/v3 to v3.6.2 (forgejo) (#10937)"<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11147): <!--number 11147 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZ2xvYmFscyB0byB2MTcuMy4wIChmb3JnZWpvKQ==-->Update dependency globals to v17.3.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11061): <!--number 11061 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZ2xvYmFscyB0byB2MTcuMS4wIChmb3JnZWpvKQ==-->Update dependency globals to v17.1.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11111): <!--number 11111 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZ2xvYmFscyB0byB2MTcuMi4wIChmb3JnZWpvKQ==-->Update dependency globals to v17.2.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11105): <!--number 11105 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvLWVucnkvZ28tZW5yeS92MiB0byB2Mi45LjQgKGZvcmdlam8p-->Update module github.com/go-enry/go-enry/v2 to v2.9.4 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11088): <!--number 11088 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMiB0byB2MTIuNi4zIChmb3JnZWpvKQ==-->Update module code.forgejo.org/forgejo/runner/v12 to v12.6.3 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11047): <!--number 11047 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10975): <!--number 10975 --><!--line 0 --><!--description Y2k6IHVzZSBuZXdlciBmb3JnZWpvIGZvciByZWxlYXNlIHNpbXVsYXRpb24=-->ci: use newer forgejo for release simulation<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10356): <!--number 10356 --><!--line 0 --><!--description ImRpc2FibGUgcm91dGVyIGxvZyIgaW5kaWNhdG9yIG9uIGNvbmZpZ3VyYXRpb24gc3VtbWFyeSBwYWdl-->"disable router log" indicator on configuration summary page<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10847): <!--number 10847 --><!--line 0 --><!--description SW1wcm92ZSBpc3N1ZSB0ZW1wbGF0ZXMgZm9yIG5ldyB3b3JrZmxvdw==-->Improve issue templates for new workflow<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11019): <!--number 11019 --><!--line 0 --><!--description Y2hvcmUodWkpOiBjaGFuZ2UgL2RldnRlc3QgdG8gLy0vZGVtbw==-->chore(ui): change /devtest to /-/demo<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10919): <!--number 10919 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9hY3Rpb25zL3NldHVwLWZvcmdlam8gYWN0aW9uIHRvIHYzLjEuMSAoZm9yZ2Vqbyk=-->Update https://data.forgejo.org/actions/setup-forgejo action to v3.1.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10976): <!--number 10976 --><!--line 0 --><!--description Y2k6IGFkZCBuYW1lIHRvIHN0ZXA=-->ci: add name to step<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10987): <!--number 10987 --><!--line 0 --><!--description b3B0aW1pemF0aW9uOiB1c2UgZnMuUmVhZEZpbGU=-->optimization: use fs.ReadFile<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11035): <!--number 11035 --><!--line 0 --><!--description Rml4IHRlc3QgY2FzZXMgd2hlcmUgcmVxdWlyZS5FcnJvckNvbnRhaW5zKCkgaXMgaW50ZW5kZWQsIGJ1dCByZXF1aXJlLkVycm9yZigpIGlzIHVzZWQ=-->Fix test cases where require.ErrorContains() is intended, but require.Errorf() is used<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10890): <!--number 10890 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9hY3Rpb25zL2NhY2hlIGFjdGlvbiB0byB2NS4wLjIgKGZvcmdlam8p-->Update https://data.forgejo.org/actions/cache action to v5.0.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11045): <!--number 11045 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL3JlZGlzL2dvLXJlZGlzL3Y5IHRvIHY5LjE3LjMgKGZvcmdlam8p-->Update module github.com/redis/go-redis/v9 to v9.17.3 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10977): <!--number 10977 --><!--line 0 --><!--description InJldmVydCBVcGRhdGUgaHR0cHM6Ly9kYXRhLmZvcmdlam8ub3JnL2Zvcmdlam8vZm9yZ2Vqby1idWlsZC1wdWJsaXNoIGFjdGlvbiB0byB2NS41LjAi-->"revert Update https://data.forgejo.org/forgejo/forgejo-build-publish action to v5.5.0"<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10999): <!--number 10999 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMiB0byB2MTIuNi4wIChmb3JnZWpvKQ==-->Update module code.forgejo.org/forgejo/runner/v12 to v12.6.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10889): <!--number 10889 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgcG9zdGNzcy1odG1sIHRvIHYxLjguMSAoZm9yZ2Vqbyk=-->Update dependency postcss-html to v1.8.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10880): <!--number 10880 --><!--line 0 --><!--description ZGVsZXRlIGRlYWQgY29kZSBpbiBXYXRjaElmQXV0byBhbmQgZ2VuZXJhbCBtb2RlbCBkb2N1bWVudGF0aW9u-->delete dead code in WatchIfAuto and general model documentation<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10972): <!--number 10972 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9mb3JnZWpvL2Zvcmdlam8tYnVpbGQtcHVibGlzaCBhY3Rpb24gdG8gdjUuNS4wIChmb3JnZWpvKQ==-->Update https://data.forgejo.org/forgejo/forgejo-build-publish action to v5.5.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10966): <!--number 10966 --><!--line 0 --><!--description Zml4IHR5cG86IHNheSBnb29kIGJ5ZSB0byB0aGUgc2luZ2luZyBrZXk=-->fix typo: say good bye to the singing key<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10897): <!--number 10897 --><!--line 0 --><!--description ZXNjYXBlIEhUTUwgdGFncyBpbiBpbmxpbmUgY29kZSBibG9ja3MgaW4gZGVzY3JpcHRpb24=-->escape HTML tags in inline code blocks in description<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11004): <!--number 11004 --><!--line 0 --><!--description Zml4KGxvY2FsZSk6IHRvb2x0aXAgZm9yICJPd25lciIgcm9sZSBzaG91bGQgbm90IGltcGx5IHVuaXF1ZSBvd25lcg==-->fix(locale): tooltip for "Owner" role should not imply unique owner<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10934): <!--number 10934 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4gdG8gdjIuMTAuMCAoZm9yZ2Vqbyk=-->Update dependency mini-css-extract-plugin to v2.10.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11015): <!--number 11015 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMiB0byB2MTIuNi4yIChmb3JnZWpvKQ==-->Update module code.forgejo.org/forgejo/runner/v12 to v12.6.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10935): <!--number 10935 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9pbmZyYXN0cnVjdHVyZS9pc3N1ZS1hY3Rpb24gYWN0aW9uIHRvIHYxLjUuMCAoZm9yZ2Vqbyk=-->Update https://data.forgejo.org/infrastructure/issue-action action to v1.5.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11022): <!--number 11022 --><!--line 0 --><!--description Zml4IGNhc2UtaW5zZW5zaXRpdmUgd2hlbiB1c2luZyBibGV2ZQ==-->fix case-insensitive when using bleve<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11014): <!--number 11014 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9hY3Rpb25zL3NldHVwLWZvcmdlam8gYWN0aW9uIHRvIHYzLjEuMyAoZm9yZ2Vqbyk=-->Update https://data.forgejo.org/actions/setup-forgejo action to v3.1.3 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10980): <!--number 10980 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9mb3JnZWpvL2Zvcmdlam8tYnVpbGQtcHVibGlzaCBhY3Rpb24gdG8gdjUuNS4xIChmb3JnZWpvKQ==-->Update https://data.forgejo.org/forgejo/forgejo-build-publish action to v5.5.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11005): <!--number 11005 --><!--line 0 --><!--description UmVwbGFjZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vZm9yZ2VqbyBEb2NrZXIgdGFnIHdpdGggZGF0YS5mb3JnZWpvLm9yZy9mb3JnZWpvL2Zvcmdlam8gKGZvcmdlam8p-->Replace code.forgejo.org/forgejo/forgejo Docker tag with data.forgejo.org/forgejo/forgejo (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10967): <!--number 10967 --><!--line 0 --><!--description cG9saXNoIG9hdXRoOiBEbyBub3QgcGFzcyB0aGUgZnVsbCBzaWduaW5nIGtleSB0byB0ZW1wbGF0ZQ==-->polish oauth: Do not pass the full signing key to template<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11037): <!--number 11037 --><!--line 0 --><!--description UG9saXNoIG1vZHVsZXMvc3RvcmFnZSB0ZXN0IHVzZSBvZiByZXF1aXJlLkVycm9yZigp-->Polish modules/storage test use of require.Errorf()<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10911): <!--number 10911 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMiB0byB2MTIuNS4zIChmb3JnZWpvKQ==-->Update module code.forgejo.org/forgejo/runner/v12 to v12.5.3 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10891): <!--number 10891 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcyB0byB2MS4xOC4zIChmb3JnZWpvKQ==-->Update module github.com/klauspost/compress to v1.18.3 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10854): <!--number 10854 --><!--line 0 --><!--description cmVjcmVhdGUtdGFibGVzIGRvZXNuJ3Qgd29yayBvbiBQb3N0Z3JlU1FMIHdpdGggbXVsdGlwbGUgRm9yZ2VqbyBzY2hlbWFz-->recreate-tables doesn't work on PostgreSQL with multiple Forgejo schemas<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10799): <!--number 10799 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMiB0byB2MTIuNS4yIChmb3JnZWpvKQ==-->Update module code.forgejo.org/forgejo/runner/v12 to v12.5.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10850): <!--number 10850 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZ28gdG8gdjEuMjUuNiAoZm9yZ2Vqbyk=-->Update dependency go to v1.25.6 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10802): <!--number 10802 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvbmV0IHRvIHYwLjQ5LjAgKGZvcmdlam8p-->Update module golang.org/x/net to v0.49.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10828): <!--number 10828 --><!--line 0 --><!--description cGluIGdpdGh1Yi5jb20vdXJmYXZlL2NsaSB0byB2My41LjA=-->pin github.com/urfave/cli to v3.5.0<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10837): <!--number 10837 --><!--line 0 --><!--description W3NraXAgY2ldIGNob3JlKHJlbGVhc2UpOiBkZWxldGUgMTAwMzcgYW5kIDk4NDAgcmVsZWFzZSBub3Rlcw==-->[skip ci] chore(release): delete 10037 and 9840 release notes<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10894): <!--number 10894 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZS1ub3Rlcyk6IEZvcmdlam8gdjExLjAuMTAgW3NraXAgY2ld-->chore(release-notes): Forgejo v11.0.10 [skip ci]<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10841): <!--number 10841 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvLWNoaS9jaGkvdjUgdG8gdjUuMi40IChmb3JnZWpvKQ==-->Update module github.com/go-chi/chi/v5 to v5.2.4 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10842): <!--number 10842 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL21pbmlvL21pbmlvLWdvL3Y3IHRvIHY3LjAuOTggKGZvcmdlam8p-->Update module github.com/minio/minio-go/v7 to v7.0.98 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10875): <!--number 10875 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQGNpdGF0aW9uLWpzL3BsdWdpbi1zb2Z0d2FyZS1mb3JtYXRzIHRvIHYwLjYuMiAoZm9yZ2Vqbyk=-->Update dependency @citation-js/plugin-software-formats to v0.6.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10832): <!--number 10832 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZS1ub3Rlcyk6IEZvcmdlam8gdjE0LjAuMCBbc2tpcCBjaV0=-->chore(release-notes): Forgejo v14.0.0 [skip ci]<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10865): <!--number 10865 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZm9yZ2Vqby9yZWxlYXNlLW5vdGVzLWFzc2lzdGFudCB0byB2MS41LjEgKGZvcmdlam8p-->Update dependency forgejo/release-notes-assistant to v1.5.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10896): <!--number 10896 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZS1ub3Rlcyk6IEZvcmdlam8gdjEzLjAuNSBbc2tpcCBjaV0=-->chore(release-notes): Forgejo v13.0.5 [skip ci]<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10892): <!--number 10892 --><!--line 0 --><!--description VXBkYXRlIENvZGVNaXJyb3IgKGZvcmdlam8p-->Update CodeMirror (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10673): <!--number 10673 --><!--line 0 --><!--description Y2hvcmU6IHVwZGF0ZSBnb2YzL3YzIHYzLjExLjE1-->chore: update gof3/v3 v3.11.15<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10682): <!--number 10682 --><!--line 0 --><!--description YWN0aW9ucyB2YXJpYWJsZSBhbmQgc2VjcmV0IG5hbWVzIHZhbGlkYXRpb24=-->actions variable and secret names validation<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10790): <!--number 10790 --><!--line 0 --><!--description Y2hvcmU6IFRlYWNoIE1ha2VmaWxlIHRvIGhhbmRsZSBub2RlIHByZS1yZWxlYXNlIHZlcnNpb25z-->chore: Teach Makefile to handle node pre-release versions<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10867): <!--number 10867 --><!--line 0 --><!--description Y2k6IHVzZSBybmEgYmluYXJ5IGluc3RlYWQgb2Ygc291cmNl-->ci: use rna binary instead of source<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10821): <!--number 10821 --><!--line 0 --><!--description Y29uZmlnOiBMb3dlciBkZWZhdWx0IGBbZGF0YWJhc2VdLk1BWF9PUEVOX0NPTk5TYA==-->config: Lower default `[database].MAX_OPEN_CONNS`<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10759): <!--number 10759 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgYXNjaWluZW1hLXBsYXllciB0byB2My4xNC4wIChmb3JnZWpvKQ==-->Update dependency asciinema-player to v3.14.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10895): <!--number 10895 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZS1ub3Rlcyk6IEZvcmdlam8gdjE0LjAuMSBbc2tpcCBjaV0=-->chore(release-notes): Forgejo v14.0.1 [skip ci]<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10866): <!--number 10866 --><!--line 0 --><!--description W3NraXAgY2ldIGZpeChyZWxlYXNlKTogbW92ZSByZXZlcnRlZCB2MTQuMC4wIGZlYXR1cmUgbGluZSB0byBJbmNsdWRlZCBmb3IgY29tcGxldGVuZXNz-->[skip ci] fix(release): move reverted v14.0.0 feature line to Included for completeness<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10815): <!--number 10815 --><!--line 0 --><!--description bWFrZSBsYXN0Y29tbWl0IGF2YWlsYWJsZSBmb3Igbm9uLXNpZ25lZC1pbiB1c2Vycw==-->make lastcommit available for non-signed-in users<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10822): <!--number 10822 --><!--line 0 --><!--description VXBkYXRlIE5vZGUuanMgdG8gdjI0LjEzLjAgKGZvcmdlam8p-->Update Node.js to v24.13.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10761): <!--number 10761 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9hY3Rpb25zL3NldHVwLWZvcmdlam8gYWN0aW9uIHRvIHYzLjEuMCAoZm9yZ2Vqbyk=-->Update https://data.forgejo.org/actions/setup-forgejo action to v3.1.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10728): <!--number 10728 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZS1ub3Rlcyk6IEZvcmdlam8gdjExLjAuOSBbc2tpcCBjaV0=-->chore(release-notes): Forgejo v11.0.9 [skip ci]<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10775): <!--number 10775 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZ2xvYmFscyB0byB2MTcgKGZvcmdlam8p-->Update dependency globals to v17 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10756): <!--number 10756 --><!--line 0 --><!--description YWRkIGZvcmVpZ24ga2V5cyB0byB0aGUgYGFjdGlvbl9ydW5uZXJfdG9rZW5gIHRhYmxl-->add foreign keys to the `action_runner_token` table<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9380): <!--number 9380 --><!--line 0 --><!--description c3dhZ2dlcjogQWRkIGhlYWRlciBhbm5vdGF0aW9ucyBmb3IgYWNjdXJhdGUgQVBJIGRvY3VtZW50YXRpb24=-->swagger: Add header annotations for accurate API documentation<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10731): <!--number 10731 --><!--line 0 --><!--description Y2hvcmUocmVub3ZhdGUpOiB1c2UgYGZvcmdlam8tcmVsZWFzZXNgIGRhdGFzb3VyY2U=-->chore(renovate): use `forgejo-releases` datasource<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10700): <!--number 10700 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL3l1aW4vZ29sZG1hcmsgdG8gdjEuNy4xNCAoZm9yZ2Vqbyk=-->Update module github.com/yuin/goldmark to v1.7.14 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10795): <!--number 10795 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMiB0byB2MTIuNS4xIChmb3JnZWpvKQ==-->Update module code.forgejo.org/forgejo/runner/v12 to v12.5.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10701): <!--number 10701 --><!--line 0 --><!--description VXBkYXRlIENvZGVNaXJyb3IgKGZvcmdlam8p-->Update CodeMirror (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10780): <!--number 10780 --><!--line 0 --><!--description Y2hvcmU6IGNvcnJlY3Qgc3BlbGxpbmcgZXJyb3IgaW4gY2xlYW51cC1jb21taXQtc3RhdHVzIENMSSBkb2Nz-->chore: correct spelling error in cleanup-commit-status CLI docs<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10749): <!--number 10749 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZm9yZ2Vqby9yZWxlYXNlLW5vdGVzLWFzc2lzdGFudCB0byB2MS41LjAgKGZvcmdlam8p-->Update dependency forgejo/release-notes-assistant to v1.5.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10755): <!--number 10755 --><!--line 0 --><!--description ZmVhdChidWlsZCk6IHRlYWNoIGxpbnQtbG9jYWxlLXVzYWdlIGFib3V0IE9iamVjdFZlcmlmaWNhdGlvbi5SZWFzb24=-->feat(build): teach lint-locale-usage about ObjectVerification.Reason<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10738): <!--number 10738 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMiB0byB2MTIuNS4wIChmb3JnZWpvKQ==-->Update module code.forgejo.org/forgejo/runner/v12 to v12.5.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10762): <!--number 10762 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2FsZWN0aG9tYXMvY2hyb21hL3YyIHRvIHYyLjIyLjAgKGZvcmdlam8p-->Update module github.com/alecthomas/chroma/v2 to v2.22.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10726): <!--number 10726 --><!--line 0 --><!--description ZGlzYWJsZSBhY3Rpb25zIGVuZHBvaW50cyBvZiByZXBvc2l0b3J5IGlmIGFjdGlvbnMgYXJlIGRpc2FibGVk-->disable actions endpoints of repository if actions are disabled<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10716): <!--number 10716 --><!--line 0 --><!--description Y2hvcmU6IGFkZCBAMHhsbHgwIHRvIGZlZGVyYXRpb24gY29kZW93bmVycw==-->chore: add @0xllx0 to federation codeowners<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10737): <!--number 10737 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZm9yZ2Vqby9yZWxlYXNlLW5vdGVzLWFzc2lzdGFudCB0byB2MS40LjMgKGZvcmdlam8p-->Update dependency forgejo/release-notes-assistant to v1.4.3 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10740): <!--number 10740 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvc3lzIHRvIHYwLjQwLjAgKGZvcmdlam8p-->Update module golang.org/x/sys to v0.40.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10696): <!--number 10696 --><!--line 0 --><!--description cmV0YWluIEZvcmdlam8gQWN0aW9uJ3MgY29tbWl0X3N0YXR1cyBlbnRyaWVzIHdpdGggZGlzdGluY3QgZGVzY3JpcHRpb25z-->retain Forgejo Action's commit_status entries with distinct descriptions<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10713): <!--number 10713 --><!--line 0 --><!--description cHJldmVudCBpbnRlcm1pdHRlbnQgdGVzdCBmYWlsdXJlcyBjYXVzZWQgYnkgdW5jYW5jZWxsYWJsZSB0YXNrcw==-->prevent intermittent test failures caused by uncancellable tasks<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10715): <!--number 10715 --><!--line 0 --><!--description Rml4IGVycm9yIG1lc3NhZ2VzIGluIHB1bGwuZ28=-->Fix error messages in pull.go<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10758): <!--number 10758 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQGNvZGVtaXJyb3IvdmlldyB0byB2Ni4zOS45IChmb3JnZWpvKQ==-->Update dependency @codemirror/view to v6.39.9 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10730): <!--number 10730 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZS1ub3Rlcyk6IEZvcmdlam8gdjEzLjAuNCBbc2tpcCBjaV0=-->chore(release-notes): Forgejo v13.0.4 [skip ci]<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10699): <!--number 10699 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQGxlemVyL2hpZ2hsaWdodCB0byB2MS4yLjMgKGZvcmdlam8p-->Update dependency @lezer/highlight to v1.2.3 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10707): <!--number 10707 --><!--line 0 --><!--description W3NraXAgY2ldIGNob3JlOiBVcGRhdGUgcHVsbCByZXF1ZXN0IHRlbXBsYXRlIHJlZ2FyZGluZyB0aGUgcmVsZWFzZSBub3Rlcw==-->[skip ci] chore: Update pull request template regarding the release notes<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10724): <!--number 10724 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvLWVucnkvZ28tZW5yeS92MiB0byB2Mi45LjMgKGZvcmdlam8p-->Update module github.com/go-enry/go-enry/v2 to v2.9.3 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10619): <!--number 10619 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9hY3Rpb25zL3NldHVwLWZvcmdlam8gYWN0aW9uIHRvIHYzLjAuNyAoZm9yZ2Vqbyk=-->Update https://data.forgejo.org/actions/setup-forgejo action to v3.0.7 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10709): <!--number 10709 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL3l1aW4vZ29sZG1hcmsgdG8gdjEuNy4xNiAoZm9yZ2Vqbyk=-->Update module github.com/yuin/goldmark to v1.7.16 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10752): <!--number 10752 --><!--line 0 --><!--description Y2hvcmU6IHJ1biByZW5vdmF0ZSBvbiB2MTQgYnJhbmNoLCByZW1vdmUgdjEz-->chore: run renovate on v14 branch, remove v13<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10706): <!--number 10706 --><!--line 0 --><!--description Y2hvcmU6IGFkZCBmYW1mbyB0byBDT0RFT1dORVJTIGZvciBmZWRlcmF0aW9uIGNvZGU=-->chore: add famfo to CODEOWNERS for federation code<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10785): <!--number 10785 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10658): <!--number 10658 --><!--line 0 --><!--description ZHluYW1pYyBBY3Rpb24gam9icyBjYW4gc3RhbGwgYnkgbWFya2luZyB0aGVtc2VsdmVzIGJsb2NrZWQ=-->dynamic Action jobs can stall by marking themselves blocked<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10665): <!--number 10665 --><!--line 0 --><!--description c2ltdWx0YW5lb3VzbHkgZXhwZXJpZW5jaW5nIGEgUHJlRXhlY3V0aW9uRXJyb3IgYW5kIHVuYmxvY2tpbmcgYSBkaWZmZXJlbnQgam9iIGNhdXNlcyBlcnJvciBibG9ja2luZyBqb2IgZW1pdHRlciBxdWV1ZQ==-->simultaneously experiencing a PreExecutionError and unblocking a different job causes error blocking job emitter queue<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10632): <!--number 10632 --><!--line 0 --><!--description YnVpbGQtcmVsZWFzZSB3b3JrZmxvdyBzdG9wcyBpdHMgb3duIGVuZC10by1lbmQgY2hlY2tzIHdoZW4gcnVuIGNvbmN1cnJlbnRseQ==-->build-release workflow stops its own end-to-end checks when run concurrently<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10666): <!--number 10666 --><!--line 0 --><!--description cmUtcnVubmluZyBhbiBleHBhbmRlZCByZXVzYWJsZSB3b3JrZmxvdyBjYXVzZXMgZHVwbGljYXRlICJhdHRlbXB0IDEiIGpvYg==-->re-running an expanded reusable workflow causes duplicate "attempt 1" job<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10588): <!--number 10588 --><!--line 0 --><!--description TGlzdFRyYWNrZWRUaW1lcyBBUEkgaGFzIG5vIGRlZmluZWQgcmVjb3JkIG9yZGVyaW5n-->ListTrackedTimes API has no defined record ordering<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10661): <!--number 10661 --><!--line 0 --><!--description aTE4bihuZXh0KTogY29udmVydCBpbmRlbnRpb24gc3R5bGUgdG8gdGFiczogZW4sIGVkaXRvcmNvbmZpZw==-->i18n(next): convert indention style to tabs: en, editorconfig<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10591): <!--number 10591 --><!--line 0 --><!--description dGVzdDogcmVtb3ZlIGRpYWdub3N0aWMgb3V0cHV0IGluICdjb3B5IHRvIGV4cGVyaW1lbnRhbCc=-->test: remove diagnostic output in 'copy to experimental'<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10623): <!--number 10623 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10579): <!--number 10579 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvLW9wZW5hcGkvc3BlYyB0byB2MC4yMi4zIChmb3JnZWpvKQ==-->Update module github.com/go-openapi/spec to v0.22.3 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10668): <!--number 10668 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL21hdHRuL2dvLXNxbGl0ZTMgdG8gdjEuMTQuMzMgKGZvcmdlam8p-->Update module github.com/mattn/go-sqlite3 to v1.14.33 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10610): <!--number 10610 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vYWN0aW9ucy1wcm90byB0byB2MC42LjAgKGZvcmdlam8p-->Update module code.forgejo.org/forgejo/actions-proto to v0.6.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10596): <!--number 10596 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2phY2tjL3BneC92NSB0byB2NS44LjAgKGZvcmdlam8p-->Update module github.com/jackc/pgx/v5 to v5.8.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10655): <!--number 10655 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMiB0byB2MTIuNC4wIChmb3JnZWpvKQ==-->Update module code.forgejo.org/forgejo/runner/v12 to v12.4.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10583): <!--number 10583 --><!--line 0 --><!--description ZXhwZXJpbWVudGFsIHJlbGVhc2VzIGFyZSBub3QgYmVpbmcgY29waWVkIHRvIGZvcmdlam8tZXhwZXJpbWVudGFs-->experimental releases are not being copied to forgejo-experimental<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10678): <!--number 10678 --><!--line 0 --><!--description ZG9uJ3QgZHVwbGljYXRlIGNvbW1pdCBzdGF0dXMgcmVjb3JkcyBvbiB3b3JrZmxvd3Mgd2l0aCBlbXB0eSBuYW1l-->don't duplicate commit status records on workflows with empty name<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10638): <!--number 10638 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZS1ub3Rlcyk6IHRlYWNoIHJlbGVhc2Utbm90ZXMtYXNzaXN0YW50IHRoYXQgdjExLjAgaXMgTFRT-->chore(release-notes): teach release-notes-assistant that v11.0 is LTS<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10587): <!--number 10587 --><!--line 0 --><!--description dGVzdDogZml4IGludGVybWl0dGVudCBQb3N0Z3JlU1FMIGZhaWx1cmUgaW4gVGVzdEFkbWluVmlld1JlcG9z-->test: fix intermittent PostgreSQL failure in TestAdminViewRepos<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10581): <!--number 10581 --><!--line 0 --><!--description Y2hvcmUodWkpOiByZW1vdmUgb2Jzb2xldGUgY29kZSBmcm9tIGJ1dHRvbi1sZWdhY3kuY3Nz-->chore(ui): remove obsolete code from button-legacy.css<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10683): <!--number 10683 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZm9yZ2Vqby9yZWxlYXNlLW5vdGVzLWFzc2lzdGFudCB0byB2MS40LjIgKGZvcmdlam8p-->Update dependency forgejo/release-notes-assistant to v1.4.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10662): <!--number 10662 --><!--line 0 --><!--description Y2hvcmUoY2xlYW51cCk6IG1vdmUgYWxsIHRlc3QgYmxhbmsgaW1wb3J0cyBpbiBhIHNpbmdsZSBwYWNrYWdl-->chore(cleanup): move all test blank imports in a single package<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10692): <!--number 10692 --><!--line 0 --><!--description Y2hvcmU6IGRvd25sb2FkIGdpdC1tYW4gb3ZlciBUTFM=-->chore: download git-man over TLS<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10586): <!--number 10586 --><!--line 0 --><!--description dXNlIFJVTk5FUl9URU1QIGluIGJ1aWxkLXJlbGVhc2UueW1s-->use RUNNER_TEMP in build-release.yml<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10608): <!--number 10608 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10667): <!--number 10667 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZXNidWlsZC1sb2FkZXIgdG8gdjQuNC4yIChmb3JnZWpvKQ==-->Update dependency esbuild-loader to v4.4.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10626): <!--number 10626 --><!--line 0 --><!--description aW1wcm92ZSBEaXNjb3JkIHdlYmhvb2sgbWVzc2FnZSBmb3JtYXR0aW5n-->improve Discord webhook message formatting<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10656): <!--number 10656 --><!--line 0 --><!--description aW4tcHJvZ3Jlc3Mgam9iIGljb24gZG9lc24ndCByb3RhdGUgb24gcmVwbydzIGFjdGlvbiBsaXN0-->in-progress job icon doesn't rotate on repo's action list<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10535): <!--number 10535 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMiB0byB2MTIuMy4wIChmb3JnZWpvKQ==-->Update module code.forgejo.org/forgejo/runner/v12 to v12.3.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10492): <!--number 10492 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgd2VicGFjayB0byB2NS4xMDQuMCAoZm9yZ2Vqbyk=-->Update dependency webpack to v5.104.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10479): <!--number 10479 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2FsZWN0aG9tYXMvY2hyb21hL3YyIHRvIHYyLjIxLjEgKGZvcmdlam8p-->Update module github.com/alecthomas/chroma/v2 to v2.21.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10482): <!--number 10482 --><!--line 0 --><!--description Y2hvcmU6IDE0LjAgaXMgbm93IHN0YWJsZQ==-->chore: 14.0 is now stable<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10549): <!--number 10549 --><!--line 0 --><!--description Y2hvcmUoc2VhcmNoKTogbWlub3IgY29kZSBjbGVhbnVw-->chore(search): minor code cleanup<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10505): <!--number 10505 --><!--line 0 --><!--description VXBkYXRlIGdvLW9wZW5hcGkgcGFja2FnZXMgKGZvcmdlam8p-->Update go-openapi packages (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10575): <!--number 10575 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMiB0byB2MTIuMy4xIChmb3JnZWpvKQ==-->Update module code.forgejo.org/forgejo/runner/v12 to v12.3.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10545): <!--number 10545 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZXNidWlsZC1sb2FkZXIgdG8gdjQuNC4xIChmb3JnZWpvKQ==-->Update dependency esbuild-loader to v4.4.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10491): <!--number 10491 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgYXNjaWluZW1hLXBsYXllciB0byB2My4xMy41IChmb3JnZWpvKQ==-->Update dependency asciinema-player to v3.13.5 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10450): <!--number 10450 --><!--line 0 --><!--description Y2hvcmU6IHJldmlzZSBydW5uZXIgUkVTVCBBUEkgZW5kcG9pbnRz-->chore: revise runner REST API endpoints<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10538): <!--number 10538 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgd2VicGFjayB0byB2NS4xMDQuMSAoZm9yZ2Vqbyk=-->Update dependency webpack to v5.104.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10550): <!--number 10550 --><!--line 0 --><!--description cG9ydChnaXRlYSk6IEZpeCBwYXNzd29yZCBsZWFrIGluIGxvZyBtZXNzYWdlcyAoZ28tZ2l0ZWEvZ2l0ZWEhMzU1ODQp-->port(gitea): Fix password leak in log messages (go-gitea/gitea!35584)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10537): <!--number 10537 --><!--line 0 --><!--description cmVmYWN0b3I6IHNwbGl0IGBBY3Rpb25Kb2JTdGVwTGlzdGAgb3V0IG9mIGBSZXBvQWN0aW9uVmlld2A=-->refactor: split `ActionJobStepList` out of `RepoActionView`<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10539): <!--number 10539 --><!--line 0 --><!--description Y2hvcmUodGVzdCk6IHNlcGFyYXRlIGFuZCBtb3ZlIGFyb3VuZCBpMThuIHRlc3Rpbmc=-->chore(test): separate and move around i18n testing<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10551): <!--number 10551 --><!--line 0 --><!--description Y2hvcmU6IGRvY3VtZW50LCB0ZXN0IHBhZ2luYXRpb24gb2YgYC9ydW5uZXJzYCBBUEkgZW5kcG9pbnQ=-->chore: document, test pagination of `/runners` API endpoint<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10518): <!--number 10518 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9hY3Rpb25zL2NoZWNrb3V0IGFjdGlvbiB0byB2NiAoZm9yZ2Vqbyk=-->Update https://data.forgejo.org/actions/checkout action to v6 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10490): <!--number 10490 --><!--line 0 --><!--description dGVzdDogaW5jcmVhc2UgdGVzdCBjb3ZlcmFnZSBvZiBydW5uZXIgbWFuYWdlbWVudA==-->test: increase test coverage of runner management<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/8643): <!--number 8643 --><!--line 0 --><!--description bGlua2luZyBzaGExIGhhc2hlcyB3aXRoIHRyYWlsaW5nIHB1bmN0dWF0aW9u-->linking sha1 hashes with trailing punctuation<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10519): <!--number 10519 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10517): <!--number 10517 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9hY3Rpb25zL2NhY2hlIGFjdGlvbiB0byB2NSAoZm9yZ2Vqbyk=-->Update https://data.forgejo.org/actions/cache action to v5 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11409): <!--number 11409 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIERvY2tlciB0YWcgdG8gdjQzLjMxLjEgKGZvcmdlam8p-->Update renovate Docker tag to v43.31.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11321): <!--number 11321 --><!--line 0 --><!--description VXBkYXRlIHgvdG9vbHMgdG8gdjAuNDIuMCAoZm9yZ2Vqbyk=-->Update x/tools to v0.42.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11322): <!--number 11322 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZXNsaW50LXBsdWdpbi11bmljb3JuIHRvIHY2MyAoZm9yZ2Vqbyk=-->Update dependency eslint-plugin-unicorn to v63 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11302): <!--number 11302 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0My4xNS4xIChmb3JnZWpvKQ==-->Update renovate to v43.15.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11265): <!--number 11265 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgdnVlIHRvIHYzLjUuMjggKGZvcmdlam8p-->Update dependency vue to v3.5.28 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11213): <!--number 11213 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgdml0ZS1zdHJpbmctcGx1Z2luIHRvIHYyIChmb3JnZWpvKQ==-->Update dependency vite-string-plugin to v2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11207): <!--number 11207 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZXNsaW50LXBsdWdpbi1yZWdleHAgdG8gdjMgKGZvcmdlam8p-->Update dependency eslint-plugin-regexp to v3 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11202): <!--number 11202 --><!--line 0 --><!--description VXBkYXRlIGxpbnRlcnMgKGZvcmdlam8p-->Update linters (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11203): <!--number 11203 --><!--line 0 --><!--description VXBkYXRlIHgvdG9vbHMgdG8gdjAuNDEuMCAoZm9yZ2Vqbyk=-->Update x/tools to v0.41.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11129): <!--number 11129 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0Mi45NS4yIChmb3JnZWpvKQ==-->Update renovate to v42.95.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11162): <!--number 11162 --><!--line 0 --><!--description TW9yZSBqd3R4IHJlZmFjdG9yaW5nOiBHZXRTaWduaW5nTWV0aG9kKCksIGZpeCBvcGVuIG1vZGUsIHNwbGl0IGxvYWRPckNyZWF0ZUFzeW1tZXRyaWNLZXkoKQ==-->More jwtx refactoring: GetSigningMethod(), fix open mode, split loadOrCreateAsymmetricKey()<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11118): <!--number 11118 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQHN0eWxpc3RpYy9zdHlsZWxpbnQtcGx1Z2luIHRvIHY0LjAuMSAoZm9yZ2Vqbyk=-->Update dependency @stylistic/stylelint-plugin to v4.0.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11119): <!--number 11119 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQHZpdGVzdC9lc2xpbnQtcGx1Z2luIHRvIHYxLjYuNiAoZm9yZ2Vqbyk=-->Update dependency @vitest/eslint-plugin to v1.6.6 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11120): <!--number 11120 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2VkaXRvcmNvbmZpZy1jaGVja2VyL2VkaXRvcmNvbmZpZy1jaGVja2VyL3YzL2NtZC9lZGl0b3Jjb25maWctY2hlY2tlciB0byB2My42LjEgKGZvcmdlam8p-->Update module github.com/editorconfig-checker/editorconfig-checker/v3/cmd/editorconfig-checker to v3.6.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10659): <!--number 10659 --><!--line 0 --><!--description aTE4bihuZXh0KTogY29udmVydCBpbmRlbnRpb24gdG8gdGFicw==-->i18n(next): convert indention to tabs<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11044): <!--number 11044 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0Mi45Mi4xMCAoZm9yZ2Vqbyk=-->Update renovate to v42.92.10 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10998): <!--number 10998 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgdnVlIHRvIHYzLjUuMjcgKGZvcmdlam8p-->Update dependency vue to v3.5.27 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10918): <!--number 10918 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0Mi44NC4yIChmb3JnZWpvKQ==-->Update renovate to v42.84.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10912): <!--number 10912 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL3VyZmF2ZS9jbGkvdjMgdG8gdjMuNi4yIChmb3JnZWpvKQ==-->Update module github.com/urfave/cli/v3 to v3.6.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10784): <!--number 10784 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0Mi43OC4yIChmb3JnZWpvKQ==-->Update renovate to v42.78.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10698): <!--number 10698 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0Mi43MS4wIChmb3JnZWpvKQ==-->Update renovate to v42.71.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10618): <!--number 10618 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0Mi42Ni4xMSAoZm9yZ2Vqbyk=-->Update renovate to v42.66.11 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10607): <!--number 10607 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQHZpdGVzdC9lc2xpbnQtcGx1Z2luIHRvIHYxLjYuNCAoZm9yZ2Vqbyk=-->Update dependency @vitest/eslint-plugin to v1.6.4 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10605): <!--number 10605 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0Mi42Ni45IChmb3JnZWpvKQ==-->Update renovate to v42.66.9 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10606): <!--number 10606 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgdHlwZXNjcmlwdC1lc2xpbnQgdG8gdjguNTAuMSAoZm9yZ2Vqbyk=-->Update dependency typescript-eslint to v8.50.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10547): <!--number 10547 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgc3R5bGVsaW50LXZhbHVlLW5vLXVua25vd24tY3VzdG9tLXByb3BlcnRpZXMgdG8gdjYuMS4wIChmb3JnZWpvKQ==-->Update dependency stylelint-value-no-unknown-custom-properties to v6.1.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10546): <!--number 10546 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQHZpdGVzdC9lc2xpbnQtcGx1Z2luIHRvIHYxLjUuNCAoZm9yZ2Vqbyk=-->Update dependency @vitest/eslint-plugin to v1.5.4 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10504): <!--number 10504 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgdnVlIHRvIHYzLjUuMjYgKGZvcmdlam8p-->Update dependency vue to v3.5.26 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10514): <!--number 10514 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0Mi42NC4xIChmb3JnZWpvKQ==-->Update renovate to v42.64.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10507): <!--number 10507 --><!--line 0 --><!--description VXBkYXRlIHZpdGVzdCBtb25vcmVwbyB0byB2NC4wLjE2IChmb3JnZWpvKQ==-->Update vitest monorepo to v4.0.16 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10511): <!--number 10511 --><!--line 0 --><!--description VXBkYXRlIHgvdG9vbHMgdG8gdjAuNDAuMCAoZm9yZ2Vqbyk=-->Update x/tools to v0.40.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10510): <!--number 10510 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL1B1ZXJraXRvQmlvL2dvcXVlcnkgdG8gdjEuMTEuMCAoZm9yZ2Vqbyk=-->Update module github.com/PuerkitoBio/goquery to v1.11.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10509): <!--number 10509 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvbGFuZ2NpL2dvbGFuZ2NpLWxpbnQvdjIvY21kL2dvbGFuZ2NpLWxpbnQgdG8gdjIuNy4yIChmb3JnZWpvKQ==-->Update module github.com/golangci/golangci-lint/v2/cmd/golangci-lint to v2.7.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10508): <!--number 10508 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgbWFya2Rvd25saW50LWNsaSB0byB2MC40Ny4wIChmb3JnZWpvKQ==-->Update dependency markdownlint-cli to v0.47.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10506): <!--number 10506 --><!--line 0 --><!--description VXBkYXRlIGxpbnRlcnMgKGZvcmdlam8p-->Update linters (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10503): <!--number 10503 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQHZpdGVqcy9wbHVnaW4tdnVlIHRvIHY2LjAuMyAoZm9yZ2Vqbyk=-->Update dependency @vitejs/plugin-vue to v6.0.3 (forgejo)<!--description-->
- Already announced in the release notes of an older stable release
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11513): <!--number 11513 --><!--line 0 --><!--description LSBmaXg6IFBLQ0UgY2hhbGxlbmdlcyB0byBGb3JnZWpvJ3MgT0F1dGggaWRlbnRpdHkgcHJvdmlkZXIgd2VyZSBub3QgdmFsaWRhdGVkIHdoZW4gdXNpbmcgdGhlIGBTMjU2YCBhbGdvcml0aG0=-->- fix: PKCE challenges to Forgejo's OAuth identity provider were not validated when using the `S256` algorithm<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11513): <!--number 11513 --><!--line 1 --><!--description LSBmaXg6IEZvcmdlam8gc3VwcG9ydHMgdXNpbmcgYW4gT0F1dGggQmVhcmVyIHRva2VuIHdpdGggSFRUUCBiYXNpYyBhdXRoZW50aWNhdGlvbiwgcmF0aGVyIHRoYW4gQmVhcmVyIHRva2VuIGF1dGhlbnRpY2F0aW9uLCBidXQgZGlkIG5vdCBwcm9wZXJseSBhcHBseSB0aGUgbGltaXRlZCBzY29wZXMgb2YgdGhlIE9BdXRoIGdyYW50-->- fix: Forgejo supports using an OAuth Bearer token with HTTP basic authentication, rather than Bearer token authentication, but did not properly apply the limited scopes of the OAuth grant<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11513): <!--number 11513 --><!--line 2 --><!--description LSBmaXg6IG1pc3NpbmcgcGVybWlzc2lvbiBjaGVja3MgaW4gYXR0YWNobWVudC1yZWxhdGVkIHdlYiBlbmRwb2ludHMgYWxsb3dlZCBtb2RpZnlpbmcgYXR0YWNobWVudHMgdGhhdCBhIHVzZXIgZGlkIG5vdCBvd24=-->- fix: missing permission checks in attachment-related web endpoints allowed modifying attachments that a user did not own<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11513): <!--number 11513 --><!--line 3 --><!--description LSBmaXg6IGVtYWlsIG5vdGlmaWNhdGlvbnMgZm9yIG5ldyByZWxlYXNlcyBjb3VsZCBiZSBzZW50IHRvIHVzZXJzIHRoYXQgbm8gbG9uZ2VyIGFjY2VzcyB0byB0aGUgcmVwb3NpdG9yeSwgb3IgdG8gaW5hY3RpdmUgdXNlcnM=-->- fix: email notifications for new releases could be sent to users that no longer access to the repository, or to inactive users<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11513): <!--number 11513 --><!--line 4 --><!--description LSBmaXg6IG1pc3NpbmcgcGVybWlzc2lvbiBjaGVja3MgaW4gdXNlci9vcmctb3duZWQgcHJvamVjdHMgd291bGQgYWxsb3cgbW9kaWZpY2F0aW9ucyBvZiB0aGUgb3Blbi9jbG9zZWQgc3RhdGUgdG8gYmUgbWFkZSB0byBwcm9qZWN0cyB2aWEgaW5zZWN1cmUgZGlyZWN0IG9iamVjdCByZWZlcmVuY2Vz-->- fix: missing permission checks in user/org-owned projects would allow modifications of the open/closed state to be made to projects via insecure direct object references<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11513): <!--number 11513 --><!--line 5 --><!--description LSBmaXg6IG1pc3NpbmcgcGVybWlzc2lvbiBjaGVja3MgaW4gYSB3ZWIgZW5kcG9pbnQgYWxsb3dlZCBjYW5jZWxsYXRpb24gb2YgdGhlIGF1dG9tZXJnZSBvZiBhIFBS-->- fix: missing permission checks in a web endpoint allowed cancellation of the automerge of a PR<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11513): <!--number 11513 --><!--line 6 --><!--description LSBmaXg6IHByZXZlbnQgYWRkaXRpb25hbCBwYXRoLXRyYXZlcnNhbHMgaW4gcG9zdC1sb2dpbiByZWRpcmVjdCBwYXJhbWV0ZXJzIHRoYXQgYWxsb3dlZCBmb3IgYXJiaXRyYXJ5IHJlZGlyZWN0cw==-->- fix: prevent additional path-traversals in post-login redirect parameters that allowed for arbitrary redirects<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10719): <!--number 10719 --><!--line 0 --><!--description aGlkZSB1c2VyIHByb2ZpbGUgYW5vbnltb3VzIG9wdGlvbnMgb24gcHVibGljIHJlcG8gQVBJcw==-->hide user profile anonymous options on public repo APIs<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10719): <!--number 10719 --><!--line 1 --><!--description aW5jb3JyZWN0IHdoaXRlc3BhY2UgaGFuZGxpbmcgb24gcHJlJnBvc3QgcmVjZWl2ZSBob29rcw==-->incorrect whitespace handling on pre&post receive hooks<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10719): <!--number 10719 --><!--line 2 --><!--description cmVkdWNlIG1lbW9yeSB1c2FnZSB3aGlsZSBwcm9jZXNzaW5nIGxhcmdlIGF0dGFjaG1lbnQgdXBsb2Fkcw==-->reduce memory usage while processing large attachment uploads<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10719): <!--number 10719 --><!--line 3 --><!--description bG9hZCByZXZpZXdlciBmb3IgcHVsbCByZXZpZXcgZGlzbWlzcyBhY3Rpb24gbm90aWZpZXI=-->load reviewer for pull review dismiss action notifier<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10719): <!--number 10719 --><!--line 4 --><!--description dXNlIGNvcnJlY3QgR1BHIGtleSBmb3IgZXhwb3J0-->use correct GPG key for export<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11393): <!--number 11393 --><!--line 0 --><!--description ZXh0ZW5kIGJhc2ljIGF1dGggdG8gL3YyLCBhbHdheXMgaW5jbHVkZSBXV1ctQXV0aGVudGljYXRlIGhlYWRlcg==-->extend basic auth to /v2, always include WWW-Authenticate header<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11282): <!--number 11282 --><!--line 0 --><!--description cHJldmVudCBwYW5pYyB3aGVuIGltcG9ydGluZyBpc3N1ZXMgZnJvbSBHaXRMYWI=-->prevent panic when importing issues from GitLab<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11282): <!--number 11282 --><!--line 1 --><!--description cHJldmVudCBwYW5pYyB3aGVuIGltcG9ydGluZyByZWxlYXNlcyB3aXRoIG1vcmUgdGhhbiA0IHJlbGVhc2UgYXNzZXRzIGZyb20gR2l0TGFi-->prevent panic when importing releases with more than 4 release assets from GitLab<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11282): <!--number 11282 --><!--line 2 --><!--description Y29ycmVjdCByZS1tYXBwaW5nIG9mIG1lcmdlLXJlcXVlc3QgbnVtYmVycyBtZW50aW9uZWQgaW4gR2l0TGFiIGNvbW1lbnRz-->correct re-mapping of merge-request numbers mentioned in GitLab comments<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11642): <!--number 11642 --><!--line 0 --><!--description ZG9uJ3QgdHJpcCBkZWxldGluZyBhdHRhY2htZW50IHdpdGggbWlzc2luZyBwZXJtaXNzaW9uIGVycm9y-->don't trip deleting attachment with missing permission error<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11145): <!--number 11145 --><!--line 0 --><!--description ZG9uJ3QgYWJhbmRvbiBBY3Rpb24gam9icyB3YWl0aW5nIGZvciBhcHByb3ZhbA==-->don't abandon Action jobs waiting for approval<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10812): <!--number 10812 --><!--line 0 --><!--description ZHJvcCBzcWxpdGUgc2hhcmVkIGNhY2hl-->drop sqlite shared cache<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11134): <!--number 11134 --><!--line 0 --><!--description Y2FuY2VsIHJ1bnMgcGVuZGluZyBhcHByb3ZhbCB3aGVuIGEgUFIgaXMgY2xvc2Vk-->cancel runs pending approval when a PR is closed<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10568): <!--number 10568 --><!--line 0 --><!--description bWlncmF0aW9uOiB1cGRhdGUgZXhpc3RpbmcgZm9yZWlnbiBrZXkgbWlncmF0aW9ucyB0byBhdXRvbWF0aWNhbGx5IGZpeCBpbmNvbnNpc3RlbmNpZXM=-->migration: update existing foreign key migrations to automatically fix inconsistencies<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11623): <!--number 11623 --><!--line 0 --><!--description Y29tbWVudCBhdHRhY2htZW50IEFQSSBpcyBtb3JlIHJlc3RyaWN0aXZlIHRoYW4gdGhlIHdlYiBVSQ==-->comment attachment API is more restrictive than the web UI<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11614): <!--number 11614 --><!--line 0 --><!--description TWFrZSBvdmVyZmxvdy1tZW51IFdlYiBDb21wb25lbnQgc2Nyb2xsIC8gb3ZlcmZsb3cgd2l0aCBKUyBvZmY=-->Make overflow-menu Web Component scroll / overflow with JS off<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11547): <!--number 11547 --><!--line 0 --><!--description bW9kYWxzIG9uIHNtYWxsIHZpZXdwb3J0IGhlaWdodA==-->modals on small viewport height<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11381): <!--number 11381 --><!--line 0 --><!--description Zml4KHVpKTogaGFyZGNvZGUgc29ydCBvcHRpb25zIGluIHNlYXJjaCBzeW50YXggaGludCwgaW1wcm92ZSBsb29r-->fix(ui): hardcode sort options in search syntax hint, improve look<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11287): <!--number 11287 --><!--line 0 --><!--description Zml4KHVpKTogcHJldmVudCBsYWJlbCBvdmVyZmxvdyBpbiBQUiBDSSBjaGVja3Mgb24gbW9iaWxl-->fix(ui): prevent label overflow in PR CI checks on mobile<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11341): <!--number 11341 --><!--line 0 --><!--description Zml4KHVpL21kZSk6IGlucHV0cyBpbiB0YWJsZS9saW5rIGluc2VydGlvbiBtb2RhbHM=-->fix(ui/mde): inputs in table/link insertion modals<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11179): <!--number 11179 --><!--line 0 --><!--description aW1wcm92ZSBTUUxpdGUgImRhdGFiYXNlIGlzIGxvY2tlZCIgZXJyb3JzIGJ5IGluY3JlYXNpbmcgZGVmYXVsdCBgU1FMSVRFX1RJTUVPVVRg-->improve SQLite "database is locked" errors by increasing default `SQLITE_TIMEOUT`<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11246): <!--number 11246 --><!--line 0 --><!--description Y2xlYW51cCBvZiBtdWx0aS1wbGF0Zm9ybSBjb250YWluZXIgaW1hZ2Vz-->cleanup of multi-platform container images<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10925): <!--number 10925 --><!--line 0 --><!--description Zml4KGFwaSk6IGRlZmF1bHQgbmV3IHJlbGVhc2UgJ3RpdGxlJyBmaWVsZCB0byBsYWJlbCBuYW1lLCBpZiBub3QgcHJvdmlkZWQ=-->fix(api): default new release 'title' field to label name, if not provided<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10969): <!--number 10969 --><!--line 0 --><!--description Zml4KHVpKTogdGlwcHkgbWVudSBzdHlsZXMgdG9vIGJyb2FkLCBhZmZlY3Rpbmcgc3dpdGNoIGluIFBSIHJldmlldw==-->fix(ui): tippy menu styles too broad, affecting switch in PR review<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10945): <!--number 10945 --><!--line 0 --><!--description cmVtb3ZlIGluZmluaXRlIGxvb3AgaW4gVXBkYXRlUnVuSm9iV2l0aG91dE5vdGlmaWNhdGlvbiB3aGVuIHJ1biBpbiB0cmFuc2FjdGlvbg==-->remove infinite loop in UpdateRunJobWithoutNotification when run in transaction<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11073): <!--number 11073 --><!--line 0 --><!--description YWxsb3cgdGVzdCBkZWxpdmVyeSBmb3Igd2ViaG9va3Mgbm90IGVuYWJsZWQgZm9yIHB1c2ggZXZlbnRz-->allow test delivery for webhooks not enabled for push events<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10948): <!--number 10948 --><!--line 0 --><!--description ZG9uJ3QgY2xvYmJlciBhdXRob3JpemVkX2tleXMgZmlsZSBkdXJpbmcgaW5zdGFsbGF0aW9u-->don't clobber authorized_keys file during installation<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10939): <!--number 10939 --><!--line 0 --><!--description Zml4KHVpKTogaW1wcm92ZSBmb3JjZS1wdXNoIGxheW91dCBhbGlnbm1lbnQ=-->fix(ui): improve force-push layout alignment<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10964): <!--number 10964 --><!--line 0 --><!--description Zml4KHVpKTogYWRkIG1pc3NpbmcgdHJhbnNsYXRpb24gZm9yIGNvZGUgc2VhcmNoIHdoZW4ga2V5d29yZCBpcyBlbXB0eSBzdHJpbmc=-->fix(ui): add missing translation for code search when keyword is empty string<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10888): <!--number 10888 --><!--line 0 --><!--description dXNlIEFMVEVSIFRBQkxFIGluIFNRTGl0ZSBEcm9wVGFibGVDb2x1bW5zKCksIGFsbG93aW5nIHVuZXhwZWN0ZWQgZGF0YWJhc2Ugc291cmNlcyB0byB3b3JrIGJldHRlciBpbiBtaWdyYXRpb25z-->use ALTER TABLE in SQLite DropTableColumns(), allowing unexpected database sources to work better in migrations<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10899): <!--number 10899 --><!--line 0 --><!--description ZG9uJ3QgcmV0dXJuIEFkZGl0aW9uYWxUYXNrcyBmcm9tIEZldGNoVGFzayBpZiB0aGVyZSBpcyBubyBUYXNr-->don't return AdditionalTasks from FetchTask if there is no Task<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10914): <!--number 10914 --><!--line 0 --><!--description c3RyaXAgbmV3bGluZXMgb24gb2cgaW1hZ2UgcmVuZGVyaW5n-->strip newlines on og image rendering<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11164): <!--number 11164 --><!--line 0 --><!--description d2hlbiBleHBhbmRpbmcgYSBkeW5hbWljIG1hdHJpeCwgb3JpZ2luYWwgJ25lZWRzJyBhY2Nlc3Mgd2FzIGxvc3Q=-->when expanding a dynamic matrix, original 'needs' access was lost<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10933): <!--number 10933 --><!--line 0 --><!--description dXNlIGFuIGFic29sdXRlIFVSTCBmb3IgY29tcGFyZSBsaW5rcyBpbiBhdG9tIGZlZWQ=-->use an absolute URL for compare links in atom feed<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/11063): <!--number 11063 --><!--line 0 --><!--description ZW1wdHkgZHluYW1pYyBtYXRyaXggY2FuIGxlYXZlIGFjdGlvbiBydW4gaGFuZ2luZyBpbmNvbXBsZXRl-->empty dynamic matrix can leave action run hanging incomplete<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10882): <!--number 10882 --><!--line 0 --><!--description Rml4IG5vdCBkZWNyZWFzaW5nIHdhdGNoIGNvdW50IHdoZW4gYmxvY2tpbmcgdXNlcg==-->Fix not decreasing watch count when blocking user<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10827): <!--number 10827 --><!--line 0 --><!--description cHJvcGVyIHN0eWxpbmcgZm9yIGdsb2JhbCB0aW1lIHRyYWNrZXIgcG9wdXA=-->proper styling for global time tracker popup<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10814): <!--number 10814 --><!--line 0 --><!--description Zml4KHVpKTogc2hvdyBzd2l0Y2ggZGVmYXVsdCBicmFuY2ggYnV0dG9uIGluIGJyYW5jaCBsaXN0IG9ubHkgZm9yIHJlcG8gYWRtaW5z-->fix(ui): show switch default branch button in branch list only for repo admins<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10863): <!--number 10863 --><!--line 0 --><!--description bWFrZSBjb25jdXJyZW5jeSBncm91cCBqb2IgY2FuY2VsbGF0aW9uIGVmZmVjdCBydW5zIHRoYXQgYXJlIGZhaWxlZA==-->make concurrency group job cancellation effect runs that are failed<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10851): <!--number 10851 --><!--line 0 --><!--description dXNlIGBzdHJpY3Qtb3JpZ2luYCBhcyByZWZlcnJlciBwb2xpY3k=-->use `strict-origin` as referrer policy<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10648): <!--number 10648 --><!--line 0 --><!--description Zml4KHVpKTogYWN0aW9ucyBsaXN0IGxheW91dCBicmVha2FnZSB3aXRoIGxvbmcgY29udGVudA==-->fix(ui): actions list layout breakage with long content<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10686): <!--number 10686 --><!--line 0 --><!--description YWRkIGBmb3JnZWpvIGRvY3RvciBjbGVhbnVwLWNvbW1pdC1zdGF0dXNgIGNvbW1hbmQgdG8gcmVjb3ZlciBmcm9tICMxMDY3MQ==-->add `forgejo doctor cleanup-commit-status` command to recover from #10671<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10747): <!--number 10747 --><!--line 0 --><!--description Y29ycmVjdGx5IGNvbXB1dGUgcmVxdWlyZWQgY29tbWl0IHN0YXR1cw==-->correctly compute required commit status<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10744): <!--number 10744 --><!--line 0 --><!--description Zml4IDUwMCBlcnJvciBvbiBsYXJnZSAuZ2l0bW9kdWxlcw==-->fix 500 error on large .gitmodules<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10484): <!--number 10484 --><!--line 0 --><!--description ZGlzcGxheSBvcnBoYW4gYnJhbmNoZXMgc2VwYXJhdGVseSBpbiBjb21taXQgZ3JhcGg=-->display orphan branches separately in commit graph<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10652): <!--number 10652 --><!--line 0 --><!--description Zml4KHVpKTogcHVsbCByZXF1ZXN0IG1lcmdlIG1lbnUgaXRlbSBjbGlwcGluZyB0aGUgYXV0byBtZXJnZSB0aXA=-->fix(ui): pull request merge menu item clipping the auto merge tip<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10594): <!--number 10594 --><!--line 0 --><!--description YWxsb3cgQWN0aW9ucyB0cnVzdCBtYW5hZ2VtZW50IG9uIGNvbmZsaWN0ZWQgUFJz-->allow Actions trust management on conflicted PRs<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10572): <!--number 10572 --><!--line 0 --><!--description Zml4KHVpKTogcHJvY2VzcyBkeW5hbWljYWxseSBhZGRlZCBjb250ZW50IHZpYSBodG14-->fix(ui): process dynamically added content via htmx<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10556): <!--number 10556 --><!--line 0 --><!--description Zml4KHVpKTogZG9uJ3Qgc3RyZXRjaCBhY3Rpdml0eSB0b3AgYXV0aG9yIGltYWdl-->fix(ui): don't stretch activity top author image<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10486): <!--number 10486 --><!--line 0 --><!--description aWdub3JlIHByaXZhdGUgLnByb2ZpbGUgcmVwbyBvbiB1c2VyIHByb2ZpbGUgcGFnZQ==-->ignore private .profile repo on user profile page<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10521): <!--number 10521 --><!--line 0 --><!--description Zml4KHVpKTogYWRkIG1pc3Npbmcgc3BhY2UgYmVmb3JlICdDb21taXQnIGJhY2s=-->fix(ui): add missing space before 'Commit' back<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10520): <!--number 10520 --><!--line 0 --><!--description UHJldmVudCBmb3JtIHN1Ym1pc3Npb24gYnkgYnV0dG9ucyBpbiBVR0MgbWFya2Rvd24=-->Prevent form submission by buttons in UGC markdown<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10394): <!--number 10394 --><!--line 0 --><!--description YWx3YXlzIHNlYXJjaCBmb3IgaXNzdWUgcG9zdGVycyBieSB1c2VyIGFuZCBmdWxsIG5hbWU=-->always search for issue posters by user and full name<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10489): <!--number 10489 --><!--line 0 --><!--description YWxpZ24gZHVlIGRhdGUgaWNvbiBpbiBpc3N1ZSBsaXN0-->align due date icon in issue list<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/8244): <!--number 8244 --><!--line 0 --><!--description YWRkIGR5bmFtaWMgYXJpYS1sYWJlbCB0byBtb25vc3BhY2UgYnV0dG9uIGluIG1hcmtkb3duIGVkaXRvcg==-->add dynamic aria-label to monospace button in markdown editor<!--description-->
<!--end release-notes-assistant-->