jojo/release-notes-published/14.0.0.md
0ko 05269232b8 fix(release): move reverted v14.0.0 feature line to Included for completeness (#10866)
Followup to https://codeberg.org/forgejo/forgejo/pulls/9409#issuecomment-9894122

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10866
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Co-committed-by: 0ko <0ko@noreply.codeberg.org>
2026-01-16 12:14:27 +01:00

466 lines
124 KiB
Markdown

A [companion blog post](https://forgejo.org/2026-01-release-v14-0/) provides additional context on this major release.
<!--start release-notes-assistant-->
## Release notes
<!--URL:https://codeberg.org/forgejo/forgejo-->
- Breaking security features
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10010): <!--number 10010 --><!--line 0 --><!--description SWYgU1NIIGlzIGVuYWJsZWQgYW5kIGFuIGBhdXRob3JpemVkX2tleXNgIGZpbGUgaXMgbWFuYWdlZCBieSBGb3JnZWpvLCB3aGVuIEZvcmdlam8gc3RhcnRzIHVwIGl0IHdpbGwgcmVhZCB0aGUgU1NIIGF1dGhvcml6ZWRfa2V5cyBmaWxlIGFuZCB2YWxpZGF0ZSB0aGUgZmlsZSdzIGNvbnRlbnRzLiBJZiBhbnkga2V5cyBhcmUgZm91bmQgaW4gdGhlIGZpbGUgdGhhdCBhcmUgbm90IGV4cGVjdGVkLCB0aGVuIEZvcmdlam8gd2lsbCB0ZXJtaW5hdGUgaXRzIHN0YXJ0dXAgaW4gb3JkZXIgdG8gc2lnbmFsIHRvIHRoZSBzZXJ2ZXIgYWRtaW5pc3RyYXRvciB0aGF0IGEgc2VjdXJpdHkgcmlzayBpcyBwcmVzZW50IHRoYXQgbXVzdCBiZSBhZGRyZXNzZWQuIFRoZSBzZXJ2ZXIgYWRtaW5pc3RyYXRvciBjYW4gYWRkcmVzcyB0aGlzIHByb2JsZW0gZWl0aGVyIGJ5IGRlbGV0aW5nIHRoZSBgYXV0aG9yaXplZF9rZXlzYCBmaWxlLCB3aGljaCBGb3JnZWpvIHdpbGwgcmVnZW5lcmF0ZSB3aXRoIHZhbGlkIGtleXM7IG9yIGJ5IGRpc2FibGluZyB0aGUgbmV3IGNoZWNrIGJ5IHNldHRpbmcgYFtzZXJ2ZXJdLlNTSF9BTExPV19VTkVYUEVDVEVEX0FVVEhPUklaRURfS0VZUyA9IHRydWVgIGluIHRoZWlyIGBhcHAuaW5pYCBmaWxlLg==-->If SSH is enabled and an `authorized_keys` file is managed by Forgejo, when Forgejo starts up it will read the SSH authorized_keys file and validate the file's contents. If any keys are found in the file that are not expected, then Forgejo will terminate its startup in order to signal to the server administrator that a security risk is present that must be addressed. The server administrator can address this problem either by deleting the `authorized_keys` file, which Forgejo will regenerate with valid keys; or by disabling the new check by setting `[server].SSH_ALLOW_UNEXPECTED_AUTHORIZED_KEYS = true` in their `app.ini` file.<!--description-->
- Security features
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9830): <!--number 9830 --><!--line 0 --><!--description Q1NSRiBhdHRhY2tzIGFyZSBub3cgcHJldmVudGVkIHZpYSBhIHN0YXRlbGVzcyBtZXRob2QgdGhhdCB1c2VzIFticm93c2VyIEZldGNoIG1ldGFkYXRhXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQL1JlZmVyZW5jZS9IZWFkZXJzL1NlYy1GZXRjaC1TaXRlKSwgYW50aS1DU1JGIHRva2VucyBhcmUgdGhlcmVmb3JlIG5vIGxvbmdlciB1c2VkIGFzIHN1Y2ggdGhlIGBDU1JGX0NPT0tJRV9IVFRQX09OTFlgIG9wdGlvbiB3YXMgcmVtb3ZlZC4gQmVjYXVzZSBpdCBpcyBzdGF0ZWxlc3MsIHlvdSBjYW4gbm93IHN1Ym1pdCB3b3JrIG9uIHRhYnMgdGhhdCBoYXZlIGJlZW4gb3BlbiBmb3IgbW9yZSB0aGFuIDI0IGhvdXJzLiBUaGUgYnJvd3NlciBGZXRjaCBtZXRhZGF0YSBhcmUgc3VwcG9ydGVkIGJ5IGFsbCBtYWpvciBicm93c2VycyBzaW5jZSAyMDIwIGFuZCBTYWZhcmkgc2luY2UgIDIwMjMsIHRoZSB2ZXJpZmljYXRpb24gZmFsbHMgYmFjayB0byB1c2luZyB0aGUgYEhvc3RgIGFuZCBgT3JpZ2luYCBoZWFkZXIgaWYgbm8gRmV0Y2ggbWV0YWRhdGEgaXMgc2VudC4gRm9yZ2VqbyBpbnN0YW5jZXMgdGhhdCBhcmUgaG9zdGVkIG9uIGEgc3VicGF0aCBhcmUgbm8gbG9uZ2VyIHByb3RlY3RlZCBhZ2FpbnN0IENTUkYgYXR0YWNrcyBmcm9tIHNlcnZpY2VzIHRoYXQgYXJlIGhvc3RlZCBvbiB0aGUgc2FtZSBvcmlnaW4gKHNhbWUgc2NoZW1lLCBob3N0L2RvbWFpbiBhbmQgcG9ydCku-->CSRF attacks are now prevented via a stateless method that uses [browser Fetch metadata](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Sec-Fetch-Site), anti-CSRF tokens are therefore no longer used as such the `CSRF_COOKIE_HTTP_ONLY` option was removed. Because it is stateless, you can now submit work on tabs that have been open for more than 24 hours. The browser Fetch metadata are supported by all major browsers since 2020 and Safari since 2023, the verification falls back to using the `Host` and `Origin` header if no Fetch metadata is sent. Forgejo instances that are hosted on a subpath are no longer protected against CSRF attacks from services that are hosted on the same origin (same scheme, host/domain and port).<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9923): <!--number 9923 --><!--line 0 --><!--description dXNlIGBrZXlpbmdgIGZvciB0YXNrIHNlY3JldHM=-->use `keying` for task secrets<!--description-->
- Breaking bug fixes
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9915): <!--number 9915 --><!--line 0 --><!--description Zml4ITogcGFnaW5hdGUgYEdFVCAvYXBpL3YxL2FkbWluL2hvb2tzYCByZXNwb25zZQ==-->fix!: paginate `GET /api/v1/admin/hooks` response<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9513): <!--number 9513 --><!--line 0 --><!--description Zml4ITogUHJldmVudCBmb3JrZWQgYC5wcm9maWxlYCByZXBvc2l0b3JpZXMgZnJvbSBkaXNwbGF5aW5nIHByb2ZpbGUgY29udGVudC4gV2hlbiBhIHVzZXIgZm9ya2VkIGEgcmVwb3NpdG9yeSBuYW1lZCBgLnByb2ZpbGVgIHdpdGhvdXQgaGF2aW5nIGNyZWF0ZWQgdGhlaXIgb3duIGAucHJvZmlsZWAgcmVwb3NpdG9yeSwgdGhlIGNvbnRlbnQgZnJvbSB0aGUgZm9ya2VkIHJlcG9zaXRvcnkgd2FzIHVuZXhwZWN0ZWRseSBkaXNwbGF5ZWQgb24gdGhlaXIgcHVibGljIHByb2ZpbGUgcGFnZS4gVGhpcyBjb3VsZCBsZWFkIHRvIHVzZXJzJyBwcm9maWxlcyBkaXNwbGF5aW5nIGNvbnRlbnQgdGhleSBkaWQgbm90IGludGVudGlvbmFsbHkgY3JlYXRlIGZvciB0aGF0IHB1cnBvc2UuIEZvcmtlZCBgLnByb2ZpbGVgIHJlcG9zaXRvcmllcyBhcmUgbm93IHRyZWF0ZWQgYXMgc3RhbmRhcmQgcmVwb3NpdG9yaWVzIGFuZCBkbyBub3QgcG9wdWxhdGUgdGhlIHVzZXIncyBwdWJsaWMgcHJvZmlsZSBwYWdlLiBVc2VycyB3aG8gd2lzaCB0byB1c2UgdGhlIGNvbnRlbnQgZnJvbSBhIGZvcmtlZCBgLnByb2ZpbGVgIHJlcG9zaXRvcnkgY2FuIGNvbnZlcnQgdGhlIGZvcmsgdG8gYSByZWd1bGFyIHJlcG9zaXRvcnkgaW4gdGhlICJEYW5nZXIgWm9uZSIgc2VjdGlvbiBvZiBSZXBvc2l0b3J5IHNldHRpbmdzLiBUaGlzIGlzc3VlIHdhcyBwYXJ0aWN1bGFybHkgcHJvYmxlbWF0aWMgb24gaW5zdGFuY2VzIHdoZXJlIHVzZXJzIGhhZCByZXBvc2l0b3J5IGNyZWF0aW9uIGxpbWl0cyAoLTEpIGFuZCB3b3VsZCBpbmFwcHJvcHJpYXRlbHkgdXNlIGZvcmtlZCBgLnByb2ZpbGVgIHJlcG9zaXRvcmllcyB0byBvYnRhaW4gcHJvZmlsZSBjdXN0b21pemF0aW9uLiA=-->fix!: Prevent forked `.profile` repositories from displaying profile content. When a user forked a repository named `.profile` without having created their own `.profile` repository, the content from the forked repository was unexpectedly displayed on their public profile page. This could lead to users' profiles displaying content they did not intentionally create for that purpose. Forked `.profile` repositories are now treated as standard repositories and do not populate the user's public profile page. Users who wish to use the content from a forked `.profile` repository can convert the fork to a regular repository in the "Danger Zone" section of Repository settings. This issue was particularly problematic on instances where users had repository creation limits (-1) and would inappropriately use forked `.profile` repositories to obtain profile customization.<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9458): <!--number 9458 --><!--line 0 --><!--description Rm9yZ2VqbyBzdWJjb21tYW5kcyB3aGljaCBvbmx5IGFjY2VwdCBmbGFnIG9wdGlvbnMgd291bGQgcHJldmlvdXNseSBpZ25vcmUgYW55IGNvbW1hbmQtbGluZSBhcmd1bWVudHMgdGhhdCB3ZXJlIG5vdCBmbGFncyBhbmQgc2lsZW50bHkgcHJvY2VlZCB0byBleGVjdXRlIHRoZSBjb21tYW5kLiBUaGlzIGNvdWxkIGxlYWQgdG8gdW5leHBlY3RlZCBlZmZlY3RzOyBmb3IgZXhhbXBsZSwgYC0tbXVzdC1jaGFuZ2UtcGFzc3dvcmQgZmFsc2VgIGlzIGFjdHVhbGx5IHBhcnNlZCBhcyB0d28gYXJndW1lbnRzLCBgLS1tdXN0LWNoYW5nZS1wYXNzd29yZGAsIGFuZCBgZmFsc2VgLCB3aGVyZSB0aGUgYGZhbHNlYCBhcmd1bWVudCB3YXMgaWdub3JlZC4gSW4gb3JkZXIgdG8gcHJldmVudCBtaXN1bmRlcnN0YW5kaW5ncyB3aGVyZSB0aGUgdXNlciBtYXkgaGF2ZSBpbnRlbmRlZCBhIHN1cHBvcnRlZCBhcmd1bWVudCBmb3JtYXQgKGAtLW11c3QtY2hhbmdlLXBhc3N3b3JkPWZhbHNlYCksIHRoZSBwcmVzZW5jZSBvZiBleHRyYSBhcmd1bWVudHMgdGhhdCBhcmUgbm90IGZsYWdzIHdpbGwgbm93IHJlc3VsdCBpbiBhbiBlcnJvci4gVXNlcnMgb2YgdGhlIEZvcmdlam8gQ0xJIHdobyBhcmUgcmVseWluZyBvbiB0aGUgcHJldmlvdXMgYmVoYXZpb3Igd2lsbCBmaW5kIHRoZWlyIGNvbW1hbmRzIGFyZSBub3cgcmVzdWx0aW5nIGluIGVycm9ycy4=-->Forgejo subcommands which only accept flag options would previously ignore any command-line arguments that were not flags and silently proceed to execute the command. This could lead to unexpected effects; for example, `--must-change-password false` is actually parsed as two arguments, `--must-change-password`, and `false`, where the `false` argument was ignored. In order to prevent misunderstandings where the user may have intended a supported argument format (`--must-change-password=false`), the presence of extra arguments that are not flags will now result in an error. Users of the Forgejo CLI who are relying on the previous behavior will find their commands are now resulting in errors.<!--description-->
- User Interface features
- [PR](https://codeberg.org/forgejo/forgejo/pulls/8716): <!--number 8716 --><!--line 0 --><!--description YWRkIGFkbWluIG1vZGVyYXRpb24gYWN0aW9ucyBmb3IgYWJ1c2UgcmVwb3J0cyBhbmQgZm9yIHJlcG9ydGVkIGFidXNpdmUgY29udGVudA==-->add admin moderation actions for abuse reports and for reported abusive content<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10559) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10697)): <!--number 10697 --><!--line 0 --><!--description ZmVhdCh1aSk6IHJlcGxhY2UgTW9uYWNvIHdpdGggQ29kZU1pcnJvciAoIzEwNTU5KQ==-->feat(ui): replace Monaco with CodeMirror (#10559)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9598): <!--number 9598 --><!--line 0 --><!--description ZmVhdCh1aSk6IGltcHJvdmUgY2xvc2UvcmVvcGVuL2NvbW1lbnQgYnV0dG9ucw==-->feat(ui): improve close/reopen/comment buttons<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10530) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10613)): <!--number 10613 --><!--line 0 --><!--description Zml4KHVpKTogaW1wcm92ZSByZW5kZXJpbmcgb2YgY29tbWl0IGxpbmtz-->fix(ui): improve rendering of commit links<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9146): <!--number 9146 --><!--line 0 --><!--description ZmVhdCh1aSk6IGltcHJvdmUgcmVuZGVyaW5nIGNvbW1pdCBsaW5rcyBmb3IgUFIgY29tbWl0cywgZXh0ZXJuYWwgcmVwb3MgYW5kIGRpZmZz-->feat(ui): improve rendering commit links for PR commits, external repos and diffs<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9444): <!--number 9444 --><!--line 0 --><!--description bGF6eS1sb2FkIGFsbCBWdWUgY29tcG9uZW50cw==-->lazy-load all Vue components<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10033): <!--number 10033 --><!--line 0 --><!--description ZmVhdCh1aSk6IGFycm93IGtleSBuYXZpZ2F0aW9uIGluIGRyb3Bkb3du-->feat(ui): arrow key navigation in dropdown<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10133): <!--number 10133 --><!--line 0 --><!--description ZmVhdCh1aSk6IGNvbnZlcnQgZGlzYWJsZS9lbmFibGUgd29ya2Zsb3cgbWVudSB0byBKUy1sZXNzIGRyb3Bkb3du-->feat(ui): convert disable/enable workflow menu to JS-less dropdown<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9556): <!--number 9556 --><!--line 0 --><!--description ZmVhdCh1aSk6IEpTLWxlc3Mgc29ydGluZyBvbiAvZXhwbG9yZS97dXNlcnMsb3JnYW5pemF0aW9uc30=-->feat(ui): JS-less sorting on /explore/{users,organizations}<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10025): <!--number 10025 --><!--line 0 --><!--description ZmVhdCh1aSk6IEpTLWxlc3MgZHJvcGRvd25zIGluIG5hdmJhcg==-->feat(ui): JS-less dropdowns in navbar<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9429): <!--number 9429 --><!--line 0 --><!--description ZmVhdCh1aSk6IGFkZCBsZWdlbmRzIHRvIHN0b3JhZ2Ugb3ZlcnZpZXcgKEpTLWZyZWUp-->feat(ui): add legends to storage overview (JS-free)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9532): <!--number 9532 --><!--line 0 --><!--description ZmVhdCh1aSk6IHJlc3BvbnNpdmUsIEpTLWZyZWUgcmVwbyBsYW5ndWFnZSBzdGF0cyBwYW5lbA==-->feat(ui): responsive, JS-free repo language stats panel<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10488) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10500)): <!--number 10500 --><!--line 0 --><!--description ZmVhdDogc2hvdyB1cGRhdGUgdGltZSB3aGVuIHNvcnRpbmcgYnkgcmVjZW50bHkgdXBkYXRlZA==-->feat: show update time when sorting by recently updated<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9261) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10531)): <!--number 10531 --><!--line 0 --><!--description ZmVhdCh1aSk6IHNob3cgY2FuY2VsIGJ1dHRvbiB1bnRpbCBhbGwgam9icyBhcmUgZmluaXNoZWQ=-->feat(ui): show cancel button until all jobs are finished<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9359): <!--number 9359 --><!--line 0 --><!--description ZmVhdCh1aSk6IGltcGxlbWVudCBuZXcgYnV0dG9ucyBmb3IgYmV0dGVyIGNvaGVzaXZlbmVzcw==-->feat(ui): implement new buttons for better cohesiveness<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9951): <!--number 9951 --><!--line 0 --><!--description ZmVhdCh1aSk6IGFsbG93IGRyb3Bkb3duIHRvIGNvbnRhaW4gbm90IGp1c3QgaXRlbXM=-->feat(ui): allow dropdown to contain not just items<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10263): <!--number 10263 --><!--line 0 --><!--description ZmVhdCh1aSk6IGltcHJvdmUgZGV2dGVzdCwgbGluayB0byBpdCBmcm9tIHVzZXIgbWVudQ==-->feat(ui): improve devtest, link to it from user menu<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10270): <!--number 10270 --><!--line 0 --><!--description ZmVhdCh1aSk6IGltcHJvdmUgYWRtaW4gZGFzaGJvYXJkIGNyb24gbGlzdA==-->feat(ui): improve admin dashboard cron list<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9940): <!--number 9940 --><!--line 0 --><!--description dWk6IGltcHJvdmUgcmVsZWFzZSBlZGl0aW5n-->ui: improve release editing<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10246): <!--number 10246 --><!--line 0 --><!--description ZmVhdCh1aSk6IGltcHJvdmUgbW9kYWwgd2lkdGggcnVsZXM=-->feat(ui): improve modal width rules<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9636): <!--number 9636 --><!--line 0 --><!--description bW92ZSBtb3JlIG1vZGFscyB0byBuYXRpdmUgZGlhbG9ncw==-->move more modals to native dialogs<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9103): <!--number 9103 --><!--line 0 --><!--description ZmVhdCh1aSk6IGFkZCBzd2l0Y2ggYmV0d2VlbiBmb3JtYXRzIHdoZW4gcHJldmlld2luZyBDSVRBVElPTi57Y2ZmLGJpYn0gZmlsZXM=-->feat(ui): add switch between formats when previewing CITATION.{cff,bib} files<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9760): <!--number 9760 --><!--line 0 --><!--description Y29udmVydCBjcmVhdGUvcmVuYW1lIGJyYW5jaCBhbmQgY3JlYXRlIHRhZyB0byBuYXRpdmUgZGlhbG9n-->convert create/rename branch and create tag to native dialog<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9594): <!--number 9594 --><!--line 0 --><!--description QWRkIGFkbWluIGluZGl2aWR1YWwgdXNlciBlbWFpbCBtYW5hZ2VtZW50IGVuZHBvaW50cw==-->Add admin individual user email management endpoints<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9863): <!--number 9863 --><!--line 0 --><!--description ZmVhdCh1aSk6IGltcHJvdmUgbmV3IGJ1dHRvbnMsIHVzZSBpbiBtb3JlIGFyZWFz-->feat(ui): improve new buttons, use in more areas<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9652): <!--number 9652 --><!--line 0 --><!--description ZmVhdCh1aSk6IGRhbmdlcm91cyBidXR0b25z-->feat(ui): dangerous buttons<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9754): <!--number 9754 --><!--line 0 --><!--description aW1wcm92ZSB0b29sdGlwcyBhbmQgYXJpYS1sYWJlbHMgb2Ygc3RhcnMvZm9ya3Mvd2F0Y2hlcnMgbGlua3M=-->improve tooltips and aria-labels of stars/forks/watchers links<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9530): <!--number 9530 --><!--line 0 --><!--description QWN0aW9ucyBqb2JzIHRoYXQgY2FuJ3QgYmUgdW5kZXJzdG9vZCBkaXNwbGF5IGEgdGVjaG5pY2FsIGVycm9yIGluIHRoZSBVSSwgbm90IGp1c3Qgc2VydmVyLXNpZGUgbG9ncw==-->Actions jobs that can't be understood display a technical error in the UI, not just server-side logs<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/6687): <!--number 6687 --><!--line 0 --><!--description RHJhZyBhbmQgZHJvcCBuZXN0ZWQgZGlyZWN0b3JpZXM=-->Drag and drop nested directories<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9455): <!--number 9455 --><!--line 0 --><!--description YWJpbGl0eSB0byBmaWx0ZXIgbGlzdGVkIGFjY291bnRzIGJ5IHR5cGUgaW4gYWRtaW4gZGFzaGJvYXJk-->ability to filter listed accounts by type in admin dashboard<!--description-->
- User Interface bug fixes
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9932): <!--number 9932 --><!--line 0 --><!--description ZmVhdCh1aSk6IGFkZCBhIGxpdHRsZSBwYWRkaW5nLXRvcCB0byBmb3JtIC5oZWxw-->feat(ui): add a little padding-top to form .help<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10827) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10831)): <!--number 10831 --><!--line 0 --><!--description Zml4OiBwcm9wZXIgc3R5bGluZyBmb3IgZ2xvYmFsIHRpbWUgdHJhY2tlciBwb3B1cA==-->fix: proper styling for global time tracker popup<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10814) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10826)): <!--number 10826 --><!--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/10648) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10723)): <!--number 10723 --><!--line 0 --><!--description Zml4KHVpKTogYWN0aW9ucyBsaXN0IGxheW91dCBicmVha2FnZSB3aXRoIGxvbmcgY29udGVudA==-->fix(ui): actions list layout breakage with long content<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10652) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10685)): <!--number 10685 --><!--line 0 --><!--description Zml4KHVpKTogcHVsbCByZXF1ZXN0IG1lcmdlIG1lbnUgaXRlbSBjbGlwcGluZyB0aGUgYXV0byBtZXJnZSB0aXA=-->fix(ui): pull request merge menu item clipping the auto merge tip<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9614): <!--number 9614 --><!--line 0 --><!--description Zml4KHVpKTogbWFrZSBpdCBwb3NzaWJsZSB0byBwb3N0IGlzc3VlcyBhbmQgY29tbWVudHMgdy9vIEpT-->fix(ui): make it possible to post issues and comments w/o JS<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10572) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10630)): <!--number 10630 --><!--line 0 --><!--description Zml4KHVpKTogcHJvY2VzcyBkeW5hbWljYWxseSBhZGRlZCBjb250ZW50IHZpYSBodG14-->fix(ui): process dynamically added content via htmx<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10556) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10628)): <!--number 10628 --><!--line 0 --><!--description Zml4KHVpKTogZG9uJ3Qgc3RyZXRjaCBhY3Rpdml0eSB0b3AgYXV0aG9yIGltYWdl-->fix(ui): don't stretch activity top author image<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/8244) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10543)): <!--number 10543 --><!--line 0 --><!--description Zml4OiBhZGQgZHluYW1pYyBhcmlhLWxhYmVsIHRvIG1vbm9zcGFjZSBidXR0b24gaW4gbWFya2Rvd24gZWRpdG9y-->fix: add dynamic aria-label to monospace button in markdown editor<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10106): <!--number 10106 --><!--line 0 --><!--description Rml4ZWQgU1NIIGtleSB2ZXJpZmljYXRpb24gaW5zdHJ1Y3Rpb25zIGZvciBXaW5kb3dzIGNtZA==-->Fixed SSH key verification instructions for Windows cmd<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10489) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10494)): <!--number 10494 --><!--line 0 --><!--description Zml4OiBhbGlnbiBkdWUgZGF0ZSBpY29uIGluIGlzc3VlIGxpc3Q=-->fix: align due date icon in issue list<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10486) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10495)): <!--number 10495 --><!--line 0 --><!--description Zml4OiBpZ25vcmUgcHJpdmF0ZSAucHJvZmlsZSByZXBvIG9uIHVzZXIgcHJvZmlsZSBwYWdl-->fix: ignore private .profile repo on user profile page<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10520) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10527)): <!--number 10527 --><!--line 0 --><!--description QWRkIHRvIGh0bWwgYnV0dG9uIGluIG1hcmtkb3duIGB0eXBlPSJidXR0b24iYA==-->Add to html button in markdown `type="button"`<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10521) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10526)): <!--number 10526 --><!--line 0 --><!--description Zml4KHVpKTogYWRkIG1pc3Npbmcgc3BhY2UgYmVmb3JlICdDb21taXQnIGJhY2s=-->fix(ui): add missing space before 'Commit' back<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10240): <!--number 10240 --><!--line 0 --><!--description Zml4KHVpKTogZml4IHdpZHRoIG9mIGF0dGFjaGVkIGZvbWFudGljIHNlZ21lbnRz-->fix(ui): fix width of attached fomantic segments<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10227): <!--number 10227 --><!--line 0 --><!--description Zml4KHVpKTogdXNlIG9jdGljb24tcmVwby1mb3JrZWQgaW4gcmVwbyBsaXN0-->fix(ui): use octicon-repo-forked in repo list<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9002): <!--number 9002 --><!--line 0 --><!--description Zml4KHVpKTogZG9jdW1lbnQgdG9rZW4gdmFsaWRpdHkgaW4ga2V5IHZlcmlmaWNhdGlvbiB2aWV3-->fix(ui): document token validity in key verification view<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9964): <!--number 9964 --><!--line 0 --><!--description Zml4KHVpKTogcmVwbGFjZSBvYnNvbGV0ZSBndC0gaGVscGVycw==-->fix(ui): replace obsolete gt- helpers<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9762): <!--number 9762 --><!--line 0 --><!--description Zml4KHVpL2Ryb3Bkb3duKTogZW5zdXJlIHNhbWUgaGVpZ2h0IGZvciBhbGwgaXRlbXM=-->fix(ui/dropdown): ensure same height for all items<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9403): <!--number 9403 --><!--line 0 --><!--description Zml4KHVpKTogaW1wcm92ZSBtYXJrZG93biBlZGl0b3IgaW5kZW50YXRpb24gY291bnRpbmc=-->fix(ui): improve markdown editor indentation counting<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/7569): <!--number 7569 --><!--line 0 --><!--description cHJldmVudCBwYWdlIGp1bXBzIGR1ZSB0byB0ZXh0YXJlYSBhdXRvIHJlc2l6aW5n-->prevent page jumps due to textarea auto resizing<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9447): <!--number 9447 --><!--line 0 --><!--description c3RvcCBjbG9uZS1wYW5lbCBlbmxhcmdpbmcgc2l0ZSBvbiBtb2JpbGU=-->stop clone-panel enlarging site on mobile<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/8458): <!--number 8458 --><!--line 0 --><!--description Zml4KHVpKTogc3RyaWtlIHRocm91Z2ggZGVsZXRlZCBjb21tZW50IHJldmlzaW9ucw==-->fix(ui): strike through deleted comment revisions<!--description-->
- Localization
- Updates from Codeberg Translate: [#9423](https://codeberg.org/forgejo/forgejo/pulls/9423), [#9465](https://codeberg.org/forgejo/forgejo/pulls/9465), [#9597](https://codeberg.org/forgejo/forgejo/pulls/9597), [#9696](https://codeberg.org/forgejo/forgejo/pulls/9696), [#9804](https://codeberg.org/forgejo/forgejo/pulls/9804), [#9917](https://codeberg.org/forgejo/forgejo/pulls/9917), [#10249](https://codeberg.org/forgejo/forgejo/pulls/10249), [#10131](https://codeberg.org/forgejo/forgejo/pulls/10131), [#10786](https://codeberg.org/forgejo/forgejo/pulls/10786) (backport of [#10417](https://codeberg.org/forgejo/forgejo/pulls/10417), [#10599](https://codeberg.org/forgejo/forgejo/pulls/10599))
- Features
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10276): <!--number 10276 --><!--line 0 --><!--description ZmVhdChhY3Rpb25zKTogbWFrZSBHSVRIVUJfV09SS0ZMT1dfUkVGIGF2YWlsYWJsZQ==-->feat(actions): make GITHUB_WORKFLOW_REF available<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9397): <!--number 9397 --><!--line 0 --><!--description YWxsb3cvZGlzYWxsb3cgdXNlcnMgdG8gcnVuIHdvcmtmbG93cyB3aGVuIHB1c2hpbmcgdG8gYSBwdWxsIHJlcXVlc3QgZnJvbSBhIGZvcms=-->allow/disallow users to run workflows when pushing to a pull request from a fork<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10602) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10751)): <!--number 10751 --><!--line 0 --><!--description ZmVhdDogcHJvdmlkZSBtdWx0aXBsZSB0YXNrcyB0byBSdW5uZXIgaW4gb25lIEZldGNoVGFzayB3aGVuIHJlcXVlc3RlZA==-->feat: provide multiple tasks to Runner in one FetchTask when requested<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9668): <!--number 9668 --><!--line 0 --><!--description QWRkIHN1cHBvcnQgZm9yIGFkbWluaXN0cmF0b3JzIHRvIHNldCBlbWFpbCB2aXNpYmlsaXR5IG9uIHVzZXIgYWNjb3VudHM=-->Add support for administrators to set email visibility on user accounts<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9373): <!--number 9373 --><!--line 0 --><!--description Rm9yZWlnbiBrZXlzIGhhdmUgYmVlbiBhZGRlZCB0byB0aGUgRm9yZ2VqbyBkYXRhYmFzZSBzY2hlbWEsIHdoaWNoIG1heSBpZGVudGlmeSBkYXRhIGluY29uc2lzdGVuY2llcyBkdXJpbmcgdGhlIHY0MSBkYXRhYmFzZSBzY2hlbWEgdXBncmFkZS4gSWYgbWlncmF0aW9uIGVycm9ycyBvY2N1ciwgYGZvcmdlam8gZG9jdG9yIGNoZWNrIC0tYWxsYCBjYW4gYmUgdXNlZCB0byBpZGVudGlmeSB0aGUgaW5jb25zaXN0ZW50IHJlY29yZHMsIHdoaWNoIGNhbiBiZSBtYW51YWxseSBjb3JyZWN0ZWQgb3IgZGVsZXRlZC4gYGZvcmdlam8gZG9jdG9yIGNoZWNrIC0tYWxsIC0tZml4YCB3aWxsIGF1dG9tYXRpY2FsbHkgZGVsZXRlIHRoZSBpbmNvbnNpc3RlbnQgcmVjb3Jkcy4gQWZmZWN0ZWQgdGFibGVzIGluIHRoaXMgcmVsZWFzZSBhcmU6IGBzdG9wd2F0Y2hgIChyZWZlcmVuY2VzIGBpc3N1ZWAgYW5kIGB1c2VyYCksIGFuZCBgdHJhY2tlZF90aW1lYCAocmVmZXJlbmNlcyBgaXNzdWVgIGFuZCBgdXNlcmApLg==-->Foreign keys have been added to the Forgejo database schema, which may identify data inconsistencies during the v41 database schema upgrade. If migration errors occur, `forgejo doctor check --all` can be used to identify the inconsistent records, which can be manually corrected or deleted. `forgejo doctor check --all --fix` will automatically delete the inconsistent records. Affected tables in this release are: `stopwatch` (references `issue` and `user`), and `tracked_time` (references `issue` and `user`).<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10642) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10643)): <!--number 10643 --><!--line 0 --><!--description ZmVhdDogYWRkIEZvcmdlam8gc2VydmVyIHZlcnNpb24gdG8gcnVubmVyIGNvbnRleHQ=-->feat: add Forgejo server version to runner context<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10308): <!--number 10308 --><!--line 0 --><!--description ZmVhdChhY3Rpb25zKTogc3VwcG9ydCByZWZlcmVuY2luZyBgJHt7IG5lZWRzLi4uIH19YCB2YXJpYWJsZXMgaW4gYHJ1bnMtb25g-->feat(actions): support referencing `${{ needs... }}` variables in `runs-on`<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10244): <!--number 10244 --><!--line 0 --><!--description ZmVhdChhY3Rpb25zKTogc3VwcG9ydCByZWZlcmVuY2luZyAke3sgbmVlZHMuLi4gfX0gdmFyaWFibGVzIGluIGBzdHJhdGVneS5tYXRyaXhg-->feat(actions): support referencing ${{ needs... }} variables in `strategy.matrix`<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9434): <!--number 9434 --><!--line 0 --><!--description aW1wbGVtZW50ICJjb25jdXJyZW5jeSIgYmxvY2sgaW4gRm9yZ2VqbyBBY3Rpb25zIGF0IHRoZSB3b3JrZmxvdyBsZXZlbA==-->implement "concurrency" block in Forgejo Actions at the workflow level<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9966): <!--number 9966 --><!--line 0 --><!--description ZGlzcGxheSBkZXRhaWxlZCBhY3Rpb24gcnVuIGRpYWdub3N0aWNz-->display detailed action run diagnostics<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9557): <!--number 9557 --><!--line 0 --><!--description YWRkIGZvcmVpZ24ga2V5cyB0byB0aGUgYGFjY2Vzc2AgdGFibGU=-->add foreign keys to the `access` table<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9886): <!--number 9886 --><!--line 0 --><!--description YWRkIGZvcmVpZ24ga2V5cyB0byBmb3JnZWpvX2F1dGhfdG9rZW4=-->add foreign keys to forgejo_auth_token<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9724): <!--number 9724 --><!--line 0 --><!--description YWRkIGZvcmVpZ24ga2V5cyB0byB0YWJsZSBjb2xsYWJvcmF0aW9u-->add foreign keys to table collaboration<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9587): <!--number 9587 --><!--line 0 --><!--description aW1wcm92ZSBwZXJmb3JtYW5jZSBvZiBnZXR0aW5nIHNob3J0c3RhdA==-->improve performance of getting shortstat<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10299): <!--number 10299 --><!--line 0 --><!--description QWRkIFlZWVktTU0tREQgZGF0ZSBmb3JtYXQgc3VwcG9ydCBmb3IgUGFndXJlIG1pbGVzdG9uZSBtaWdyYXRpb24=-->Add YYYY-MM-DD date format support for Pagure milestone migration<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10388) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10485)): <!--number 10485 --><!--line 0 --><!--description ZmVhdDogYWxsb3cgdG8gYWRkIHBhbSBzb3VyY2UgZnJvbSBjb21tYW5kIGxpbmU=-->feat: allow to add pam source from command line<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9829): <!--number 9829 --><!--line 0 --><!--description Y2hvcmU6IFJlbW92ZSBJc0RlbGV0ZWQgZnJvbSBhY3Rpb24gKGFjdGl2aXR5KSB0YWJsZQ==-->chore: Remove IsDeleted from action (activity) table<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10421): <!--number 10421 --><!--line 0 --><!--description QWRkIHN1cHBvcnQgZm9yIGxvYWRpbmcgZGIgcGFzc3dvcmQgZnJvbSBmaWxlIHZpYSBQQVNTRF9VUkk=-->Add support for loading db password from file via PASSD_URI<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10378): <!--number 10378 --><!--line 0 --><!--description ZmVhdChjb2RlLXNlYXJjaCk6IGFkZCBzdXBwb3J0IHRvIG9wdC1pbiBmb3IgZnV6enkgc2VhcmNo-->feat(code-search): add support to opt-in for fuzzy search<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10358): <!--number 10358 --><!--line 0 --><!--description ZmVhdChpMThuKTogdHJhbnNsYXRlIHN5c3RlbSBzdGF0dXMgZGF0YSB1bml0cyBpbiBydW50aW1l-->feat(i18n): translate system status data units in runtime<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9638): <!--number 9638 --><!--line 0 --><!--description VXBsb2FkZWQgYXZhdGFyIGltYWdlcyBjYW4gc29tZXRpbWVzIGNvbnRhaW4gdW5leHBlY3RlZCBtZXRhZGF0YSBzdWNoIGFzIHRoZSBsb2NhdGlvbiB3aGVyZSB0aGUgaW1hZ2Ugd2FzIGNyZWF0ZWQsIG9yIHRoZSBkZXZpY2UgdGhlIGltYWdlIHdhcyBjcmVhdGVkIHdpdGgsIHN0b3JlZCBpbiBhIGZvcm1hdCBjYWxsZWQgRVhJRi4gRm9yZ2VqbyBub3cgcmVtb3ZlcyBFWElGIGRhdGEgd2hlbiBjdXN0b20gdXNlciBhbmQgcmVwb3NpdG9yeSBpbWFnZXMgYXJlIHVwbG9hZGVkIGluIG9yZGVyIHRvIHJlZHVjZSB0aGUgcmlzayBvZiBwZXJzb25hbGx5IGlkZW50aWZpYWJsZSBpbmZvcm1hdGlvbiBiZWluZyBsZWFrZWQgdW5leHBlY3RlZGx5LiBBIG5ldyBDTEkgc3ViY29tbWFuZCBgZm9yZ2VqbyBkb2N0b3IgYXZhdGFyLXN0cmlwLWV4aWZgIGNhbiBiZSB1c2VkIHRvIHN0cmlwIEVYSUYgaW5mb3JtYXRpb24gZnJvbSBhbGwgZXhpc3RpbmcgYXZhdGFyczsgd2UgcmVjb21tZW5kIHRoYXQgYWRtaW5pc3RyYXRvcnMgcnVuIHRoaXMgY29tbWFuZCBvbmNlIGFmdGVyIHVwZ3JhZGUgaW4gb3JkZXIgdG8gbWluaW1pemUgdGhpcyByaXNrIGZvciBleGlzdGluZyBzdG9yZWQgZmlsZXMu-->Uploaded avatar images can sometimes contain unexpected metadata such as the location where the image was created, or the device the image was created with, stored in a format called EXIF. Forgejo now removes EXIF data when custom user and repository images are uploaded in order to reduce the risk of personally identifiable information being leaked unexpectedly. A new CLI subcommand `forgejo doctor avatar-strip-exif` can be used to strip EXIF information from all existing avatars; we recommend that administrators run this command once after upgrade in order to minimize this risk for existing stored files.<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/8554): <!--number 8554 --><!--line 0 --><!--description YWxsb3cgc3luYyBxdW90YSBncm91cHMgd2l0aCBvYXV0aDIgYXV0aCBzb3VyY2U=-->allow sync quota groups with oauth2 auth source<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10147): <!--number 10147 --><!--line 0 --><!--description ZmVhdChzbGFjayk6IHBsYWNlIHVzZXIgbmFtZXMgaW50byBpbmxpbmUgY29kZSBibG9ja3MgZm9yIFNsYWNr-->feat(slack): place user names into inline code blocks for Slack<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9109): <!--number 9109 --><!--line 0 --><!--description ZmVhdChpc3N1ZS1zZWFyY2gpOiBzdXBwb3J0IHF1ZXJ5IHN5bnRheA==-->feat(issue-search): support query syntax<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9045): <!--number 9045 --><!--line 0 --><!--description YWxsb3cgUFJzIGJldHdlZW4gY29tbW9uIGZvcmtzIG9mIHRoZSBzYW1lIGJhc2UgcmVwb3NpdG9yeQ==-->allow PRs between common forks of the same base repository<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10079): <!--number 10079 --><!--line 0 --><!--description c2hvdyBsaW5rIHRvIHB1bGwgcmVxdWVzdHMgdGFyZ2V0aW5nIGEgbm9uLWRlZmF1bHQgYnJhbmNoIHdoZW4gcHVzaGluZw==-->show link to pull requests targeting a non-default branch when pushing<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9950): <!--number 9950 --><!--line 0 --><!--description QWxsb3cgcmVmZXJlbmNpbmcgaW5wdXRzIGluIGpvYnMuPGpvYl9pZD4ucnVucy1vbg==-->Allow referencing inputs in jobs.<job_id>.runs-on<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9522): <!--number 9522 --><!--line 0 --><!--description ZmVhdChlbWFpbCk6IHJlZmVyZW5jZSB0aGUgY29tbWl0IGNsb3NpbmcgdGhlIGlzc3Vl-->feat(email): reference the commit closing the issue<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9392): <!--number 9392 --><!--line 0 --><!--description ZGlzcGxheSB0aGUgUFIgZWRpdGFibGUgc3RhdHVzIGluIHRoZSByaWdodC1oYW5kIHNpZGUgbWVudQ==-->display the PR editable status in the right-hand side menu<!--description-->
- Bug fixes
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10298): <!--number 10298 --><!--line 0 --><!--description Zml4KGFjdGlvbnMpOiBpbXByb3ZlIGVycm9ycyB3aGVuIGAke3sgbmVlZHMuLi4gfX1gIGlzIHVzZWQgaW4gYHN0cmF0ZWd5Lm1hdHJpeGAgaW5jb3JyZWN0bHk=-->fix(actions): improve errors when `${{ needs... }}` is used in `strategy.matrix` incorrectly<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10169): <!--number 10169 --><!--line 0 --><!--description aGFuZGxlIGVtcHR5IGRhdGVzIGluIHBhZ3VyZSBtaWxlc3RvbmUgbWlncmF0aW9u-->handle empty dates in pagure milestone migration<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10036): <!--number 10036 --><!--line 0 --><!--description aW5jbHVkZSB2YXJpYWJsZSB2YWx1ZXMgaW4gL3JlcG9zLy4uLi9hY3Rpb25zL3ZhcmlhYmxlcyBBUEkgcmVzcG9uc2U=-->include variable values in /repos/.../actions/variables API response<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9348): <!--number 9348 --><!--line 0 --><!--description Z2l0aHViIGlzc3VlIG1pZ3JhdGlvbiBmYWlsaW5nIGZvciBsYXJnZSBkYXRhc2V0cw==-->github issue migration failing for large datasets<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10686) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10781)): <!--number 10781 --><!--line 0 --><!--description Zml4OiBhZGQgYGZvcmdlam8gZG9jdG9yIGNsZWFudXAtY29tbWl0LXN0YXR1c2AgY29tbWFuZCB0byByZWNvdmVyIGZyb20gIzEwNjcx-->fix: add `forgejo doctor cleanup-commit-status` command to recover from #10671<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10747) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10788)): <!--number 10788 --><!--line 0 --><!--description Zml4OiBjb3JyZWN0bHkgY29tcHV0ZSByZXF1aXJlZCBjb21taXQgc3RhdHVz-->fix: correctly compute required commit status<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10744) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10767)): <!--number 10767 --><!--line 0 --><!--description Zml4OiBpbnRlcm5hbCBzZXJ2ZXIgZXJyb3Igb24gYSBsYXJnZSAuZ2l0bW9kdWxlcw==-->fix: internal server error on a large .gitmodules<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9916): <!--number 9916 --><!--line 0 --><!--description cmVkdWNlIGRlYWRsb2NrcyBtZXJnaW5nIFBScyB3LyBhc3luYyBtaWxlc3RvbmUgc3RhdCByZWNhbGNz-->reduce deadlocks merging PRs w/ async milestone stat recalcs<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10484) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10622)): <!--number 10622 --><!--line 0 --><!--description Zml4OiBkaXNwbGF5IG9ycGhhbiBicmFuY2hlcyBzZXBhcmF0ZWx5IGluIGNvbW1pdCBncmFwaA==-->fix: display orphan branches separately in commit graph<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10594) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10600)): <!--number 10600 --><!--line 0 --><!--description Zml4OiBhbGxvdyBBY3Rpb25zIHRydXN0IG1hbmFnZW1lbnQgb24gY29uZmxpY3RlZCBQUnM=-->fix: allow Actions trust management on conflicted PRs<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9922): <!--number 9922 --><!--line 0 --><!--description cmVkdWNlIGRlYWRsb2NrcyBtZXJnaW5nIFBScyBieSB1c2luZyBjYWNoaW5nIGZvciByZXBvIGlzc3VlIGNvdW50IHN0YXRz-->reduce deadlocks merging PRs by using caching for repo issue count stats<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9868): <!--number 9868 --><!--line 0 --><!--description cmVkdWNlIGRlYWRsb2NrcyBtZXJnaW5nIFBScyB3LyBhc3luYyBsYWJlbCBzdGF0IHJlY2FsY3M=-->reduce deadlocks merging PRs w/ async label stat recalcs<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10127): <!--number 10127 --><!--line 0 --><!--description cG9zc2libGUgY2F1c2Ugb2YgaW52YWxpZCBpc3N1ZSBjb3VudHM7IGNhY2hlIG1vZHVsZSBkb2Vzbid0IGd1YXJhbnRlZSBjb25jdXJyZW5jeSBzYWZldHk=-->possible cause of invalid issue counts; cache module doesn't guarantee concurrency safety<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9927): <!--number 9927 --><!--line 0 --><!--description cHJldmVudCBkZWFkbG9ja3MgdXBkYXRpbmcgcmVwby5udW1fYWN0aW9uX3J1bnMvbnVtX2Nsb3NlZF9hY3Rpb25fcnVucw==-->prevent deadlocks updating repo.num_action_runs/num_closed_action_runs<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10130): <!--number 10130 --><!--line 0 --><!--description cG9zc2libGUgY2F1c2Ugb2YgaW52YWxpZCBpc3N1ZSBjb3VudHM7IGNhY2hlIGludmFsaWRhdGlvbiBvY2N1cnMgYmVmb3JlIGEgYWN0aXZlIHRyYW5zYWN0aW9uIGlzIGNvbW1pdHRlZA==-->possible cause of invalid issue counts; cache invalidation occurs before a active transaction is committed<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10394) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10542)): <!--number 10542 --><!--line 0 --><!--description Zml4OiBhbHdheXMgc2VhcmNoIGZvciBpc3N1ZSBwb3N0ZXJzIGJ5IHVzZXIgYW5kIGZ1bGwgbmFtZQ==-->fix: always search for issue posters by user and full name<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10009): <!--number 10009 --><!--line 0 --><!--description Z2FyYmFnZSBjb2xsZWN0IGxpbmdlcmluZyBhY3Rpb25zIGxvZ3M=-->garbage collect lingering actions logs<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10387): <!--number 10387 --><!--line 0 --><!--description Zml4KDEwMzU5KTogQ291bnQgcmVsZWFzZXMgY29ycmVjdGx5IHdoZW4gdXNpbmcgZmlsdGVycyAocSk=-->fix(10359): Count releases correctly when using filters (q)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10411): <!--number 10411 --><!--line 0 --><!--description Zml4KGFjdGlvbnMpOiByZXBsYWNlIGhhcmRjb2RlZCB3aXRoIGR5bmFtaWNhbGx5IGRldGVybWluZWQgd29ya2Zsb3cgZGlyZWN0b3J5-->fix(actions): replace hardcoded with dynamically determined workflow directory<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10309): <!--number 10309 --><!--line 0 --><!--description QWxsb3cgU0hBLTI1NiBpbiBQUiBjb21taXQgVVJMcw==-->Allow SHA-256 in PR commit URLs<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10321): <!--number 10321 --><!--line 0 --><!--description ZGlzcGxheSBhY3Rpb24gcnVuIGF0dGVtcHQgc3RhdHVzIGluc3RlYWQgb2Ygam9iIHN0YXR1cw==-->display action run attempt status instead of job status<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9930): <!--number 9930 --><!--line 0 --><!--description Rml4IG1lcmdlIG1lc3NhZ2UgdGVtcGxhdGUgd2l0aCBlbXB0eSBtZXNzYWdl-->Fix merge message template with empty message<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10185): <!--number 10185 --><!--line 0 --><!--description aXNzdWVzIGFuZCBwdWxscyByb3V0ZSBwZXJtaXR0ZWQgZXh0cmEgY2hhcmFjdGVycw==-->issues and pulls route permitted extra characters<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10267): <!--number 10267 --><!--line 0 --><!--description aTE4bjogdHJhbnNsYXRlIEFjdGlvbnMgUHJlRXhlY3V0aW9uRXJyb3IgZm9yIHZpZXdlcg==-->i18n: translate Actions PreExecutionError for viewer<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9892): <!--number 9892 --><!--line 0 --><!--description cmVwbGFjZSBsaW1pdC9vZmZzZXQgcGFnaW5hdGlvbiBpbiBkZWJpYW4gU2VhcmNoUGFja2FnZXM=-->replace limit/offset pagination in debian SearchPackages<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9274): <!--number 9274 --><!--line 0 --><!--description c3R1Y2sgZ2l0ZWEgbWlncmF0aW9uIGR1ZSB0byBnaXRhIGFwaSBwYWdpbmF0aW9uIGJ1Zw==-->stuck gitea migration due to gita api pagination bug<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9833): <!--number 9833 --><!--line 0 --><!--description cmVwbGFjZSBiYWQgcGFnaW5hdGlvbiB0byBjbGVhbnVwIGJyYW5jaCBwcm90ZWN0aW9uIHJ1bGVzIG9uIHVzZXIgZGVsZXRl-->replace bad pagination to cleanup branch protection rules on user delete<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9752): <!--number 9752 --><!--line 0 --><!--description cmVwbGFjZSBidWdneSBsaW1pdC9vZmZzZXQgcGFnaW5hdGlvbiBpbiBEb2N0b3JVc2VyU3Rhck51bQ==-->replace buggy limit/offset pagination in DoctorUserStarNum<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9789): <!--number 9789 --><!--line 0 --><!--description Zml4KHBlcmYpOiBhZGQgbWlzc2luZyBpbmRleCBvbiBhY3Rpb25fdGFzayB0YWJsZQ==-->fix(perf): add missing index on action_task table<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9773): <!--number 9773 --><!--line 0 --><!--description c3RyaWN0IGVycm9yIGhhbmRsaW5nIG9uIGNvcnJ1cHRlZCBEQiBtaWdyYXRpb24gdHJhY2tpbmcgdGFibGVz-->strict error handling on corrupted DB migration tracking tables<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9705): <!--number 9705 --><!--line 0 --><!--description T3BlbkdyYXBoIGNhcmRzIGZvciBzb21lIGlzc3VlcyBzaG93IHdyb25nIHRpbWVzdGFtcA==-->OpenGraph cards for some issues show wrong timestamp<!--description-->
- User Interface changes without a feature or bug label
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10768) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10772)): <!--number 10772 --><!--line 0 --><!--description Y2hvcmUodWkpOiBjbGVhbnVwIFBSIGNoZWNrcyBhcmVh-->chore(ui): cleanup PR checks area<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10524) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10540)): <!--number 10540 --><!--line 0 --><!--description Zml4KHVpKTogYXZhdGFyIGZvciBkaXNtaXNzZWQgcmV2aWV3IGlzIHN0cmV0Y2hlZCBpZiBub3Qgc3F1YXJl-->fix(ui): avatar for dismissed review is stretched if not square<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10268): <!--number 10268 --><!--line 0 --><!--description Y2hvcmUodWkpOiBjbGVhbnVwIHJldmlld3MgY3NzLCBpbXByb3ZlIGNvbnNpc3RlbmN5-->chore(ui): cleanup reviews css, improve consistency<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/6931): <!--number 6931 --><!--line 0 --><!--description UHJpb3JpdGl6ZSBOb3RvIFNhbnMgb3ZlciBSb2JvdG8gYW5kIE5vdG8gU2FucyBIZWJyZXcgb3ZlciBBcmlhbA==-->Prioritize Noto Sans over Roboto and Noto Sans Hebrew over Arial<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9746): <!--number 9746 --><!--line 0 --><!--description Y2hvcmUodWkpOiBhIGZldyBjb25zaXN0ZW5jeSBpbXByb3ZlbWVudHMgZm9yIG1vZGFscw==-->chore(ui): a few consistency improvements for modals<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9643): <!--number 9643 --><!--line 0 --><!--description cmVmYWN0b3IodWkpOiByZS1pbXBsZW1lbnQgaWNvbiBjb2xvcnMgYnV0IGZvciBhbGwgdGhpbiBlbGVtZW50cw==-->refactor(ui): re-implement icon colors but for all thin elements<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9507): <!--number 9507 --><!--line 0 --><!--description Zml4KHVpKTogRG9uJ3QgdXNlIHRoZSBzdWJ0bGUgY29sb3IgZm9yIGxvZyB0ZXh0-->fix(ui): Don't use the subtle color for log text<!--description-->
- Other changes without a feature or bug label
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10812) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10816)): <!--number 10816 --><!--line 0 --><!--description Zml4OiBkcm9wIHNxbGl0ZSBzaGFyZWQgY2FjaGU=-->fix: drop sqlite shared cache<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10568) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10621)): <!--number 10621 --><!--line 0 --><!--description bWlncmF0aW9uOiB1cGRhdGUgZXhpc3RpbmcgZm9yZWlnbiBrZXkgbWlncmF0aW9ucyB0byBhdXRvbWF0aWNhbGx5IGZpeCBpbmNvbnNpc3RlbmNpZXM=-->migration: update existing foreign key migrations to automatically fix inconsistencies<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10219): <!--number 10219 --><!--line 0 --><!--description cmVmYWN0b3I6IG1pZ3JhdGUgZnJvbSBgbGliL3BxYCB0byBgamFja2MvcGd4YA==-->refactor: migrate from `lib/pq` to `jackc/pgx`<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9832): <!--number 9832 --><!--line 0 --><!--description YWRkIGZvcmVpZ24ga2V5cyB0byB0YWJsZSBwdWxsX3JlcXVlc3Q=-->add foreign keys to table pull_request<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10429): <!--number 10429 --><!--line 0 --><!--description ZmVhdChzc2gpOiB1c2UgQXBwRG9tYWluIGZvciBrZXkgdmVyaWZpY2F0aW9u-->feat(ssh): use AppDomain for key verification<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9675): <!--number 9675 --><!--line 0 --><!--description ZmFsc2UgZXJyb3IgbG9nZ2luZyAiUmVuZGVyIEpTT04gZmFpbGVkIiBmcm9tIHdvcmtmbG93IGRpc3BhdGNoIHZpYSBBUEk=-->false error logging "Render JSON failed" from workflow dispatch via API<!--description-->
- Included for completeness but not user-facing (chores, etc.)
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10187): <!--number 10187 --><!--line 0 --><!--description Zml4KGkxOG4vZW4pOiBpbXByb3ZlIHNlYXJjaCBzeW50YXggaGludHM=-->fix(i18n/en): improve search syntax hints<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10835): <!--number 10835 --><!--line 0 --><!--description W3NraXAgY2ldIDogY2hvcmUocmVsZWFzZSk6IGRlbGV0ZSBwcmV2aW91c2x5IGFubm91bmNlZCByZWxlYXNlIG5vdGVz-->[skip ci] : chore(release): delete previously announced release notes<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10780) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10838)): <!--number 10838 --><!--line 0 --><!--description Y2hvcmU6IGNvcnJlY3Qgc3BlbGxpbmcgZXJyb3IgaW4gY2xlYW51cC1jb21taXQtc3RhdHVzIENMSSBkb2Nz-->chore: correct spelling error in cleanup-commit-status CLI docs<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10077): <!--number 10077 --><!--line 0 --><!--description YnVnOiBpc3N1ZS8xODY5LWdpdGxhYi1taWdyYXRpb24tcmVmZXJlbmNlcw==-->bug: issue/1869-gitlab-migration-references<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10037): <!--number 10037 --><!--line 0 --><!--description MjAyNS0xMS0yMSBjb21iaW5lZCBzZWN1cml0eSBwYXRjaGVz-->2025-11-21 combined security patches<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10815) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10817)): <!--number 10817 --><!--line 0 --><!--description Zml4OiBtYWtlIGxhc3Rjb21taXQgYXZhaWxhYmxlIGZvciBub24tc2lnbmVkLWluIHVzZXJz-->fix: make lastcommit available for non-signed-in users<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10475): <!--number 10475 --><!--line 0 --><!--description ZG9uJ3QgcHVzaCBMRlMgd2hlbiB1c2luZyBTU0ggYXV0aGVudGljYXRpb24=-->don't push LFS when using SSH authentication<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10776): <!--number 10776 --><!--line 0 --><!--description VXBkYXRlIENvZGVNaXJyb3IgKHYxNC4wL2Zvcmdlam8p-->Update CodeMirror (v14.0/forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10754): <!--number 10754 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vYWN0aW9ucy1wcm90byB0byB2MC42LjAgKHYxNC4wL2Zvcmdlam8p-->Update module code.forgejo.org/forgejo/actions-proto to v0.6.0 (v14.0/forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10189): <!--number 10189 --><!--line 0 --><!--description Zml4KGFwaS9hY3Rpdml0eXB1Yik6IHNpbXBsaWZ5IHNpZ25hdHVyZSByZXF1aXJlbWVudHM=-->fix(api/activitypub): simplify signature requirements<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10720): <!--number 10720 --><!--line 0 --><!--description SmFudWFyeSA4dGggc2VjdXJpdHkgcGF0Y2hlcw==-->January 8th security patches<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10713) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10717)): <!--number 10717 --><!--line 0 --><!--description Zml4OiBwcmV2ZW50IGludGVybWl0dGVudCB0ZXN0IGZhaWx1cmVzIGNhdXNlZCBieSB1bmNhbmNlbGxhYmxlIHRhc2tz-->fix: prevent intermittent test failures caused by uncancellable tasks<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10696) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10704)): <!--number 10704 --><!--line 0 --><!--description Zml4OiByZXRhaW4gRm9yZ2VqbyBBY3Rpb24ncyBjb21taXRfc3RhdHVzIGVudHJpZXMgd2l0aCBkaXN0aW5jdCBkZXNjcmlwdGlvbnM=-->fix: retain Forgejo Action's commit_status entries with distinct descriptions<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10656) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10663)): <!--number 10663 --><!--line 0 --><!--description Zml4OiBpbi1wcm9ncmVzcyBqb2IgaWNvbiBkb2Vzbid0IHJvdGF0ZSBvbiByZXBvJ3MgYWN0aW9uIGxpc3QgKCMxMDY1Nik=-->fix: in-progress job icon doesn't rotate on repo's action list (#10656)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10662) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10672)): <!--number 10672 --><!--line 0 --><!--description Y2hvcmUoY2xlYW51cCk6IG1vdmUgYWxsIHRlc3QgYmxhbmsgaW1wb3J0cyBpbiBhIHNpbmdsZSBwYWNrYWdl-->chore(cleanup): move all test blank imports in a single package<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10692) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10694)): <!--number 10694 --><!--line 0 --><!--description Y2hvcmU6IGRvd25sb2FkIGdpdC1tYW4gb3ZlciBUTFM=-->chore: download git-man over TLS<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10678) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10679)): <!--number 10679 --><!--line 0 --><!--description Zml4OiBkb24ndCBkdXBsaWNhdGUgY29tbWl0IHN0YXR1cyByZWNvcmRzIG9uIHdvcmtmbG93cyB3aXRoIGVtcHR5IG5hbWU=-->fix: don't duplicate commit status records on workflows with empty name<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10015): <!--number 10015 --><!--line 0 --><!--description VXNlIGByZWNlaXZlLmhpZGVSZWZzYA==-->Use `receive.hideRefs`<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10632) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10635)): <!--number 10635 --><!--line 0 --><!--description Zml4OiBidWlsZC1yZWxlYXNlIHdvcmtmbG93IHN0b3BzIGl0cyBvd24gZW5kLXRvLWVuZCBjaGVja3Mgd2hlbiBydW4gY29uY3VycmVudGx5-->fix: build-release workflow stops its own end-to-end checks when run concurrently<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10204): <!--number 10204 --><!--line 0 --><!--description YnVnOiBzaWduYXR1cmU6IG1vZGlmeSBVUkwgYWZ0ZXIgZXJyb3IgY2hlY2s=-->bug: signature: modify URL after error check<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10587) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10592)): <!--number 10592 --><!--line 0 --><!--description dGVzdDogZml4IGludGVybWl0dGVudCBQb3N0Z3JlU1FMIGZhaWx1cmUgaW4gVGVzdEFkbWluVmlld1JlcG9z-->test: fix intermittent PostgreSQL failure in TestAdminViewRepos<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10588) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10593)): <!--number 10593 --><!--line 0 --><!--description Zml4OiBMaXN0VHJhY2tlZFRpbWVzIEFQSSBoYXMgbm8gZGVmaW5lZCByZWNvcmQgb3JkZXJpbmc=-->fix: ListTrackedTimes API has no defined record ordering<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10550) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10555)): <!--number 10555 --><!--line 0 --><!--description cG9ydChnaXRlYSk6IEZpeCBwYXNzd29yZCBsZWFrIGluIGxvZyBtZXNzYWdlcyAoZ28tZ2l0ZWEvZ2l0ZWEhMzU1ODQp-->port(gitea): Fix password leak in log messages (go-gitea/gitea!35584)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10120): <!--number 10120 --><!--line 0 --><!--description Zml4KGFwaSk6IGFkZCBzdHViIG91dGJveGVzIHRvIGFjdG9ycw==-->fix(api): add stub outboxes to actors<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10366): <!--number 10366 --><!--line 0 --><!--description cmVmYWN0b3I6IGV4dHJhY3QgQWN0aW9uSm9iU3RlcCBmcm9tIFJlcG9BY3Rpb25WaWV3-->refactor: extract ActionJobStep from RepoActionView<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10194): <!--number 10194 --><!--line 0 --><!--description cmVuZGVyIGEgbGluayB0byBwb3N0ZXIgcHJvZmlsZSBuZXh0IHRvIHRoZSBJRCB3aXRoaW4gc2hhZG93IGNvcHkgZGV0YWlscw==-->render a link to poster profile next to the ID within shadow copy details<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10040): <!--number 10040 --><!--line 0 --><!--description cmVhbGlnbiBpbmRleGVzIG9uIHRoZSAnYWN0aW9uJyB0YWJsZQ==-->realign indexes on the 'action' table<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9409): <!--number 9409 --><!--line 0 --><!--description YWRkIHN1cHBvcnQgZm9yIGVwaGVtZXJhbCBydW5uZXJzIGNvbXBhdGlibGUgd2l0aCBhdXRvc2NhbGluZyB0b29scw==-->add support for ephemeral runners compatible with autoscaling tools<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10463): <!--number 10463 --><!--line 0 --><!--description UmV2ZXJ0ICJmZWF0OiBhZGQgc3VwcG9ydCBmb3IgZXBoZW1lcmFsIHJ1bm5lcnMgY29tcGF0aWJsZSB3aXRoIGF1dG9zY2FsaW5nIHRvb2xzICgjOTQwOSki-->Revert "feat: add support for ephemeral runners compatible with autoscaling tools (#9409)"<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10054): <!--number 10054 --><!--line 0 --><!--description TmV3IGlzc3VlIHRlbXBsYXRlcw==-->New issue templates<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10478): <!--number 10478 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2VkaXRvcmNvbmZpZy9lZGl0b3Jjb25maWctY29yZS1nby92MiB0byB2Mi42LjQgKGZvcmdlam8p-->Update module github.com/editorconfig/editorconfig-core-go/v2 to v2.6.4 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10441): <!--number 10441 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgc3dhZ2dlci11aS1kaXN0IHRvIHY1LjMxLjAgKGZvcmdlam8p-->Update dependency swagger-ui-dist to v5.31.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10326): <!--number 10326 --><!--line 0 --><!--description VXBkYXRlIGRhdGEuZm9yZ2Vqby5vcmcvb2NpL2FscGluZSBEb2NrZXIgdGFnIHRvIHYzLjIzIChmb3JnZWpvKQ==-->Update data.forgejo.org/oci/alpine Docker tag to v3.23 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10400): <!--number 10400 --><!--line 0 --><!--description VXBkYXRlIE5vZGUuanMgdG8gdjI0LjEyLjAgKGZvcmdlam8p-->Update Node.js to v24.12.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10415): <!--number 10415 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1ZiB0byB2MS4zNi4xMSAoZm9yZ2Vqbyk=-->Update module google.golang.org/protobuf to v1.36.11 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10409): <!--number 10409 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9hY3Rpb25zL2dpdC1iYWNrcG9ydGluZyBhY3Rpb24gdG8gdjQuOC43IChmb3JnZWpvKQ==-->Update https://data.forgejo.org/actions/git-backporting action to v4.8.7 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10399): <!--number 10399 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kga2F0ZXggdG8gdjAuMTYuMjcgKGZvcmdlam8p-->Update dependency katex to v0.16.27 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10317): <!--number 10317 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL3JlZGlzL2dvLXJlZGlzL3Y5IHRvIHY5LjE3LjIgKGZvcmdlam8p-->Update module github.com/redis/go-redis/v9 to v9.17.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10471): <!--number 10471 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgYXNjaWluZW1hLXBsYXllciB0byB2My4xMy40IChmb3JnZWpvKQ==-->Update dependency asciinema-player to v3.13.4 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10434): <!--number 10434 --><!--line 0 --><!--description Zml4KHVzZXIpOiBzZXQgQWN0aXZpdHlQdWIgdXNlcnMgdG8gUHJvaGliaXRMb2dpbg==-->fix(user): set ActivityPub users to ProhibitLogin<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10439): <!--number 10439 --><!--line 0 --><!--description YnVpbGQ6IHVzZSBpbnRlcmFjdGl2ZSBzcWxpdGUgdmlhIG5peA==-->build: use interactive sqlite via nix<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10447): <!--number 10447 --><!--line 0 --><!--description Y2hvcmUoc2VjdXJpdHkpOiB1cGRhdGUgc2VjdXJpdHkudHh0IHdpdGggbmV3IGV4cGlyYXRpb24gZGF0ZQ==-->chore(security): update security.txt with new expiration date<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10452): <!--number 10452 --><!--line 0 --><!--description VXBkYXRlIGdpdGh1Yi5jb20vZ28tYXAvanNvbmxkIGRpZ2VzdCB0byBlMzhmYTY2IChmb3JnZWpvKQ==-->Update github.com/go-ap/jsonld digest to e38fa66 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10410): <!--number 10410 --><!--line 0 --><!--description Zml4KHVpL2J1dHRvbnMpOiBpbXBsZW1lbnQgLmRpc2FibGVkIGNsYXNz-->fix(ui/buttons): implement .disabled class<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10440): <!--number 10440 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgYXNjaWluZW1hLXBsYXllciB0byB2My4xMy4yIChmb3JnZWpvKQ==-->Update dependency asciinema-player to v3.13.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10438): <!--number 10438 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMiB0byB2MTIuMi4wIChmb3JnZWpvKQ==-->Update module code.forgejo.org/forgejo/runner/v12 to v12.2.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10385): <!--number 10385 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL3ZhbHlhbGEvZmFzdGpzb24gdG8gdjEuNi43IChmb3JnZWpvKQ==-->Update module github.com/valyala/fastjson to v1.6.7 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10371): <!--number 10371 --><!--line 0 --><!--description bG9nIGluc3RydW1lbnRhdGlvbiAmIHRlc3QgcGFja2FnZQ==-->log instrumentation & test package<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10339): <!--number 10339 --><!--line 0 --><!--description J01vcmUgYWN0aW9ucycgKOKLrykgZHJvcGRvd24gZnJvbSBtb2RlcmF0aW9uIHJlcG9ydHMgb3ZlcnZpZXcgcGFnZQ==-->'More actions' (⋯) dropdown from moderation reports overview page<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10367): <!--number 10367 --><!--line 0 --><!--description ZG9jcyhBUEkpOiBDb3JyZWN0IHRva2VuIHN1bW1hcnkgdG8gc3BlY2lmeSB0aGUgdXNlZCB1c2VyLg==-->docs(API): Correct token summary to specify the used user.<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10389): <!--number 10389 --><!--line 0 --><!--description cmVuYW1lIGEgZmlsZSB3aXRoIHR5cG86IFNUTVAgLT4gU01UUA==-->rename a file with typo: STMP -> SMTP<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10253): <!--number 10253 --><!--line 0 --><!--description Y2hvcmUobGludCk6IEVuc3VyZSBjb25zaXN0ZW50IGltcG9ydCBhbGlhc2luZyBmb3Igc2VydmljZXMgYW5kIG1vZGVscw==-->chore(lint): Ensure consistent import aliasing for services and models<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10374): <!--number 10374 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvY3J5cHRvIHRvIHYwLjQ2LjAgKGZvcmdlam8p-->Update module golang.org/x/crypto to v0.46.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10377): <!--number 10377 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvb2F1dGgyIHRvIHYwLjM0LjAgKGZvcmdlam8p-->Update module golang.org/x/oauth2 to v0.34.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10365): <!--number 10365 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10275): <!--number 10275 --><!--line 0 --><!--description Y2hvcmUobGludCk6IEFkZCBleGNlcHRpb25zIGZvciBkYmZzX21vZGVsIGFuZCB1bml0dGVzdA==-->chore(lint): Add exceptions for dbfs_model and unittest<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10364): <!--number 10364 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0Mi4zOS4yIChmb3JnZWpvKQ==-->Update renovate to v42.39.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10357): <!--number 10357 --><!--line 0 --><!--description Zml4KHVpKTogZG8gbm90IHdyb25nbHkgaGlnaGxpZ2h0IGRldnRlc3QgbGluayBpbiBuYXZiYXIgbWVudQ==-->fix(ui): do not wrongly highlight devtest link in navbar menu<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10354): <!--number 10354 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMiB0byB2MTIuMS4yIChmb3JnZWpvKQ==-->Update module code.forgejo.org/forgejo/runner/v12 to v12.1.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10338): <!--number 10338 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgbWVybWFpZCB0byB2MTEuMTIuMiAoZm9yZ2Vqbyk=-->Update dependency mermaid to v11.12.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10307): <!--number 10307 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2JsZXZlc2VhcmNoL2JsZXZlL3YyIHRvIHYyLjUuNiAoZm9yZ2Vqbyk=-->Update module github.com/blevesearch/bleve/v2 to v2.5.6 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10333): <!--number 10333 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMiB0byB2MTIuMS4xIChmb3JnZWpvKQ==-->Update module code.forgejo.org/forgejo/runner/v12 to v12.1.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10296): <!--number 10296 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZXNsaW50LXBsdWdpbi11bmljb3JuIHRvIHY2MiAoZm9yZ2Vqbyk=-->Update dependency eslint-plugin-unicorn to v62 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10294): <!--number 10294 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQHBsYXl3cmlnaHQvdGVzdCB0byB2MS41Ny4wIChmb3JnZWpvKQ==-->Update dependency @playwright/test to v1.57.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10289): <!--number 10289 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQHZpdGVqcy9wbHVnaW4tdnVlIHRvIHY2LjAuMiAoZm9yZ2Vqbyk=-->Update dependency @vitejs/plugin-vue to v6.0.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10295): <!--number 10295 --><!--line 0 --><!--description VXBkYXRlIGxpbnRlcnMgKGZvcmdlam8p-->Update linters (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10291): <!--number 10291 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgdml0ZS1zdHJpbmctcGx1Z2luIHRvIHYxLjQuOSAoZm9yZ2Vqbyk=-->Update dependency vite-string-plugin to v1.4.9 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10302): <!--number 10302 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZ28gdG8gdjEuMjUuNSAoZm9yZ2Vqbyk=-->Update dependency go to v1.25.5 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10292): <!--number 10292 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgdnVlIHRvIHYzLjUuMjUgKGZvcmdlam8pIC0gYXV0b2Nsb3NlZA==-->Update dependency vue to v3.5.25 (forgejo) - autoclosed<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10293): <!--number 10293 --><!--line 0 --><!--description VXBkYXRlIHZpdGVzdCBtb25vcmVwbyB0byB2NC4wLjE0IChmb3JnZWpvKQ==-->Update vitest monorepo to v4.0.14 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10290): <!--number 10290 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgaGFwcHktZG9tIHRvIHYyMC4wLjExIChmb3JnZWpvKQ==-->Update dependency happy-dom to v20.0.11 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10288): <!--number 10288 --><!--line 0 --><!--description VXBkYXRlIGdpdGh1Yi5jb20vZ29vZ2xlL3Bwcm9mIGRpZ2VzdCB0byA0OTAyZmRkIChmb3JnZWpvKQ==-->Update github.com/google/pprof digest to 4902fdd (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10278): <!--number 10278 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0Mi4yNy41IChmb3JnZWpvKQ==-->Update renovate to v42.27.5 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10280): <!--number 10280 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcyB0byB2MS4xOC4yIChmb3JnZWpvKQ==-->Update module github.com/klauspost/compress to v1.18.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10281): <!--number 10281 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2VkaXRvcmNvbmZpZy1jaGVja2VyL2VkaXRvcmNvbmZpZy1jaGVja2VyL3YzL2NtZC9lZGl0b3Jjb25maWctY2hlY2tlciB0byB2My42LjAgKGZvcmdlam8p-->Update module github.com/editorconfig-checker/editorconfig-checker/v3/cmd/editorconfig-checker to v3.6.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10220): <!--number 10220 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10265): <!--number 10265 --><!--line 0 --><!--description cGF0aCBlc2NhcGUgYnJvd3NlIGZ1cnRoZXIgVVJM-->path escape browse further URL<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9926): <!--number 9926 --><!--line 0 --><!--description cmV3b3JrIGBub3RpZmljYXRpb25gIHRhYmxl-->rework `notification` table<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10256): <!--number 10256 --><!--line 0 --><!--description Y2hvcmUobGludCk6IFJlbW92ZSB1bm5lY2Vzc2FyeSBkZXBndWFyZCBydWxlcw==-->chore(lint): Remove unnecessary depguard rules<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10257): <!--number 10257 --><!--line 0 --><!--description Y2hvcmUoZTJlKTogdXNlIGV4cGVjdCgpLnRvQmVDbG9zZVRvIGluc3RlYWQgb2YgTWF0aC5yb3VuZA==-->chore(e2e): use expect().toBeCloseTo instead of Math.round<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10182): <!--number 10182 --><!--line 0 --><!--description TWVudGlvbiBwcm9jLXJlY2VpdmUgaW4gdGV4dCBmb3IgZGFzaGJvYXJkLnJlc3luY19hbGxfaG9va3MgZnVuYw==-->Mention proc-receive in text for dashboard.resync_all_hooks func<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9875): <!--number 9875 --><!--line 0 --><!--description ZG9uJ3Qgc2hvdyBDb25FbXUgT1NDIGVzY2FwZSBzZXF1ZW5jZXM=-->don't show ConEmu OSC escape sequences<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9973): <!--number 9973 --><!--line 0 --><!--description cGFndXJlIG1pZ3JhdGlvbjogQWRkIHJlcXVpcmVkIGhlYWRlcnM=-->pagure migration: Add required headers<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10056): <!--number 10056 --><!--line 0 --><!--description bGVzcyByZXN0cmljdGl2ZSBtYXRyaXggcm9vbV9pZCBwYXR0ZXJu-->less restrictive matrix room_id pattern<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9757): <!--number 9757 --><!--line 0 --><!--description cHJldmVudCBvcmdzIGZyb20gYmVpbmcgYWRkZWQgYXMgbWVtYmVycyBvZiBvcmdz-->prevent orgs from being added as members of orgs<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9997): <!--number 9997 --><!--line 0 --><!--description Zml4KGFwaSk6IHNldCBhbGwgaG9vayBldmVudCB0eXBlcw==-->fix(api): set all hook event types<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9913): <!--number 9913 --><!--line 0 --><!--description c2V0IHRhZyBtZXNzYWdlIG9uIHRhZyBhZGRpdGlvbg==-->set tag message on tag addition<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9872): <!--number 9872 --><!--line 0 --><!--description Y29uc3RydWN0IHByb2plY3QgbGlua3MgaW4gdGltZWxpbmUgYmV0dGVy-->construct project links in timeline better<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10258): <!--number 10258 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMiB0byB2MTIuMS4wIChmb3JnZWpvKQ==-->Update module code.forgejo.org/forgejo/runner/v12 to v12.1.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10141): <!--number 10141 --><!--line 0 --><!--description cmVmYWN0b3IobW9kZWxzL3B1bGwpOiBNb3ZlIGNvZGUgZm9yIG1hbnVhbCBtZXJnZXMgaW50byBtZXJnZV9tYW51YWwuZ28=-->refactor(models/pull): Move code for manual merges into merge_manual.go<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9807): <!--number 9807 --><!--line 0 --><!--description Y2hvcmU6IEFkZCBkaWFnbm9zdGljIGxvZyBmb3IgTERBUCBsb2dpbnMgdGhhdCBleHBlY3QgZ3JvdXBz-->chore: Add diagnostic log for LDAP logins that expect groups<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10197): <!--number 10197 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgd2VicGFjayB0byB2NS4xMDMuMCAoZm9yZ2Vqbyk=-->Update dependency webpack to v5.103.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10199): <!--number 10199 --><!--line 0 --><!--description bWFrZSBzdXJlIHRoZSBkZXRhaWxzIHBhZ2UgaXMgc3RpbGwgcmVuZGVyZWQgY29ycmVjdGx5IGV2ZW4gaWYgdGhlIHBvc3RlciBvZiByZXBvcnRlZCBjb21tZW50IHdhcyBkZWxldGVk-->make sure the details page is still rendered correctly even if the poster of reported comment was deleted<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10217): <!--number 10217 --><!--line 0 --><!--description Zml4KGFwaSk6IGBhZG1pbkRFbGV0ZVF1b3RhUnVsZWAgdHlwbw==-->fix(api): `adminDEleteQuotaRule` typo<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10213): <!--number 10213 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMSB0byB2MTIgKGZvcmdlam8p-->Update module code.forgejo.org/forgejo/runner/v11 to v12 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10188): <!--number 10188 --><!--line 0 --><!--description Rml4IHR5cG8=-->Fix typo<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10201): <!--number 10201 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZS1ub3Rlcyk6IEZvcmdlam8gdjExLjAuOCBbc2tpcCBjaV0=-->chore(release-notes): Forgejo v11.0.8 [skip ci]<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10200): <!--number 10200 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZS1ub3Rlcyk6IEZvcmdlam8gdjEzLjAuMyBbc2tpcCBjaV0=-->chore(release-notes): Forgejo v13.0.3 [skip ci]<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10198): <!--number 10198 --><!--line 0 --><!--description VXBkYXRlIHgvdG9vbHMgdG8gdjAuMzkuMCAoZm9yZ2Vqbyk=-->Update x/tools to v0.39.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10195): <!--number 10195 --><!--line 0 --><!--description VXBkYXRlIGdvLW9wZW5hcGkgcGFja2FnZXMgKGZvcmdlam8p-->Update go-openapi packages (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9501): <!--number 9501 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvLWxkYXAvbGRhcC92MyB0byB2My40LjEyIChmb3JnZWpvKQ==-->Update module github.com/go-ldap/ldap/v3 to v3.4.12 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10196): <!--number 10196 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvbGFuZ2NpL2dvbGFuZ2NpLWxpbnQvdjIvY21kL2dvbGFuZ2NpLWxpbnQgdG8gdjIuNi4yIChmb3JnZWpvKQ==-->Update module github.com/golangci/golangci-lint/v2/cmd/golangci-lint to v2.6.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10180): <!--number 10180 --><!--line 0 --><!--description Y2hvcmUocmVub3ZhdGUpOiBzdXBwb3J0IGAuZm9yZ2Vqby9yZW5vdmF0ZS5qc29uYA==-->chore(renovate): support `.forgejo/renovate.json`<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10173): <!--number 10173 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvY3J5cHRvIHRvIHYwLjQ1LjAgKGZvcmdlam8p-->Update module golang.org/x/crypto to v0.45.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10179): <!--number 10179 --><!--line 0 --><!--description Y2hvcmU6IHBpbiBub2RlIHZlcnNpb24=-->chore: pin node version<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10163): <!--number 10163 --><!--line 0 --><!--description RG8gbm90IGNsb2JiZXIgfi8uc3NoL2F1dGhvcml6ZWRfa2V5cyBpbiBjZXJ0YWluIHRlc3Rz-->Do not clobber ~/.ssh/authorized_keys in certain tests<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10165): <!--number 10165 --><!--line 0 --><!--description dHlwbyBpbiBBY3Rpb25zLlNraXBXb3JrZmxvd1N0cmluZ3MgaW5pIHRhZw==-->typo in Actions.SkipWorkflowStrings ini tag<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10161): <!--number 10161 --><!--line 0 --><!--description dGVzdDogY29tcGFyZSBmaWxlIGxpc3QgaW5zdGVhZCBvZiBieXRlIGxlbmd0aCBpbiBnemlwcGVkIHJlcG8gYXJjaGl2ZSB0ZXN0-->test: compare file list instead of byte length in gzipped repo archive test<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10162): <!--number 10162 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9hY3Rpb25zL3NldHVwLWZvcmdlam8gYWN0aW9uIHRvIHYzLjAuNiAoZm9yZ2Vqbyk=-->Update https://data.forgejo.org/actions/setup-forgejo action to v3.0.6 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10160): <!--number 10160 --><!--line 0 --><!--description YWRkIG15c2VsZiB0byBgQ09ERU9XTkVSU2AgZm9yIHRoZSBBUEk=-->add myself to `CODEOWNERS` for the API<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10142): <!--number 10142 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0Mi4xMS4wIChmb3JnZWpvKQ==-->Update renovate to v42.11.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10046): <!--number 10046 --><!--line 0 --><!--description Y2hvcmU6IERlYWQgQ29kZTogYERlbGV0ZUlzc3VlYCBOb3RpZnkgVG9waWM=-->chore: Dead Code: `DeleteIssue` Notify Topic<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10139): <!--number 10139 --><!--line 0 --><!--description dGVzdDogZml4IG1vZHVsZXMvcXVldWUgdGVzdHMgdG8gdXNlIFRFU1RfUkVESVNfU0VSVkVSIHdoZW4gcHJlc2VudA==-->test: fix modules/queue tests to use TEST_REDIS_SERVER when present<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10072): <!--number 10072 --><!--line 0 --><!--description aGFuZGxlIHVwcGVyY2FzZSBpbiBvYXV0aCBlbWFpbCBhdXRvcmVnaXN0cmF0aW9u-->handle uppercase in oauth email autoregistration<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10114): <!--number 10114 --><!--line 0 --><!--description Y2FjaGUgZGVyaXZlZCBrZXlzIGZvciBmYXN0ZXIga2V5aW5n-->cache derived keys for faster keying<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9401): <!--number 9401 --><!--line 0 --><!--description UmVwbGFjZSAiQWxsIHB1bGwgcmVxdWVzdHMiIGluIHJlcG8gaXNzdWUgZmlsdGVy-->Replace "All pull requests" in repo issue filter<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9478): <!--number 9478 --><!--line 0 --><!--description bWFya3VwIHJlbmRlcmluZyBwYW5pYyBtdXN0IG5vdCBhYm9ydCB0aGUgcHJvY2Vzcw==-->markup rendering panic must not abort the process<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9626): <!--number 9626 --><!--line 0 --><!--description Zml4KHVpL3JlbGVhc2VzKTogc3RyZWNoIGVsZW1lbnRzIGFwYXJ0IHdoZW4gbm8gc2VhcmNoIGJhcg==-->fix(ui/releases): strech elements apart when no search bar<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9502): <!--number 9502 --><!--line 0 --><!--description Zml4KHVpKTogaW1wcm92ZSBQYWd1cmUgbWlncmF0b3IgcHJpdmF0ZSBpc3N1ZXMgY2xhcml0eQ==-->fix(ui): improve Pagure migrator private issues clarity<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9534): <!--number 9534 --><!--line 0 --><!--description Zml4KHVpKTogcmV3b3JrZWQgZmlsZSBwcmV2aWV3IHBsYWNlbWVudCB0b3dhcmRzIGJldHRlciBIVE1MIHZhbGlkaXR5LCB0YWtlIDI=-->fix(ui): reworked file preview placement towards better HTML validity, take 2<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/8908): <!--number 8908 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZ28gdG8gdjEuMjUgKGZvcmdlam8p-->Update dependency go to v1.25 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9822): <!--number 9822 --><!--line 0 --><!--description Y2hvcmU6IHVwZGF0ZSBnbyB0YXJnZXQgbGFuZ3VhZ2UgdmVyc2lvbiB0byB2MS4yNS4w-->chore: update go target language version to v1.25.0<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9504): <!--number 9504 --><!--line 0 --><!--description YWxsb3cgdW5hY3RpdmF0ZWQgdXNlcnMgdG8gc2VuZCByZWNvdmVyeSBtYWlscw==-->allow unactivated users to send recovery mails<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9611): <!--number 9611 --><!--line 0 --><!--description Y2hvcmUoY2kpOiBsaW1pdCBMREFQIHNlcnZpY2UgY29udGFpbmVyIG1lbW9yeSB1c2FnZSB0byA1MDBN-->chore(ci): limit LDAP service container memory usage to 500M<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9662): <!--number 9662 --><!--line 0 --><!--description Y2hvcmUoZTJlKTogdGVzdCBmbGFraW5lc3MgaW4gd2ViYXV0aG4udGVzdC5lMmUudHM=-->chore(e2e): test flakiness in webauthn.test.e2e.ts<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9454): <!--number 9454 --><!--line 0 --><!--description dGVzdDogZml4ICdNaXNzaW5nIHJlcXVpcmVkIHByb3AnIHdhcm5pbmcgZHVyaW5nIFJlcG9BY3Rpb25WaWV3IGZyb250ZW5kIHRlc3Rz-->test: fix 'Missing required prop' warning during RepoActionView frontend tests<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10125): <!--number 10125 --><!--line 0 --><!--description Zml4KHVpKTogZml4IGNvbG9yIG9mIGhvdmVyaW5nIG92ZXIgbWVudSBidXR0b25zIGluIHRvcCBuYXYgYmFy-->fix(ui): fix color of hovering over menu buttons in top nav bar<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9840): <!--number 9840 --><!--line 0 --><!--description MjAyNS0xMC0yNiBTZWN1cml0eSBQYXRjaGVz-->2025-10-26 Security Patches<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10075): <!--number 10075 --><!--line 0 --><!--description Zml4KHRlc3QpOiBpbXByb3ZlIHJlbGlhYmlsaXR5IG9mIEUyRSAiQnV0dG9uIHRleHQgcmVwbGFjZWQgYnkgSlMi-->fix(test): improve reliability of E2E "Button text replaced by JS"<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10128): <!--number 10128 --><!--line 0 --><!--description Y2hvcmU6IGJ1bXAgbml4cGtncyBpbiBmbGFrZS5sb2Nr-->chore: bump nixpkgs in flake.lock<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10053): <!--number 10053 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvbGFuZ2NpL2dvbGFuZ2NpLWxpbnQvdjIvY21kL2dvbGFuZ2NpLWxpbnQgdG8gdjIuNi4xIChmb3JnZWpvKQ==-->Update module github.com/golangci/golangci-lint/v2/cmd/golangci-lint to v2.6.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10110): <!--number 10110 --><!--line 0 --><!--description Y2hvcmU6IHVuaWZ5IHRoZSB1c2FnZSBvZiBgQ3J5cHRvUmFuZG9tU3RyaW5nYA==-->chore: unify the usage of `CryptoRandomString`<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10109): <!--number 10109 --><!--line 0 --><!--description Y2hvcmU6IHR3byBzbWFsbCByZWZhY3RvcnMgaW4gZ2l0IG1vZHVsZQ==-->chore: two small refactors in git module<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10123): <!--number 10123 --><!--line 0 --><!--description d29ya2Zsb3cgZGlzcGF0Y2ggc2hvdWxkbid0IGluY2x1ZGUgZW1wdHkgZmllbGRzIGluIGlucHV0cw==-->workflow dispatch shouldn't include empty fields in inputs<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10089): <!--number 10089 --><!--line 0 --><!--description YWNjZXB0IGB0cnVlYCBhcyBpbnB1dCBpbiB3b3JrZmxvd19kaXNwYXRjaA==-->accept `true` as input in workflow_dispatch<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10112): <!--number 10112 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvbmV0IHRvIHYwLjQ3LjAgKGZvcmdlam8p-->Update module golang.org/x/net to v0.47.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10111): <!--number 10111 --><!--line 0 --><!--description VXBkYXRlIGdvLW9wZW5hcGkgcGFja2FnZXMgKGZvcmdlam8p-->Update go-openapi packages (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10119): <!--number 10119 --><!--line 0 --><!--description Y2hvcmUodGVzdCk6IGNsZWFudXAgTmV3UmVxdWVzdCB3aGljaCBubyBsb25nZXIgc3VwcGx5IENTUkYgdmFsdWVz-->chore(test): cleanup NewRequest which no longer supply CSRF values<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10103): <!--number 10103 --><!--line 0 --><!--description Y2hvcmU6IHJlbW92ZSB3ZWJraXQgYW5kIG1vYmlsZSBzYWZhcmkgZnJvbSBwbGF5d3JpZ2h0-->chore: remove webkit and mobile safari from playwright<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10092): <!--number 10092 --><!--line 0 --><!--description VXBkYXRlIE5vZGUuanMgdG8gdjI0IChmb3JnZWpvKQ==-->Update Node.js to v24 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10095): <!--number 10095 --><!--line 0 --><!--description bWFrZSBgRmV0Y2hgIHdvcmsgd2l0aCBnaXQgPCAyLjQx-->make `Fetch` work with git < 2.41<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10085): <!--number 10085 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvaW1hZ2UgdG8gdjAuMzMuMCAoZm9yZ2Vqbyk=-->Update module golang.org/x/image to v0.33.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10096): <!--number 10096 --><!--line 0 --><!--description VXBkYXRlIE5QTSBjb25zdHJhaW50-->Update NPM constraint<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10091): <!--number 10091 --><!--line 0 --><!--description VXBkYXRlIE5vZGUuanMgdG8gdjI0IChmb3JnZWpvKQ==-->Update Node.js to v24 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10084): <!--number 10084 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvY3J5cHRvIHRvIHYwLjQ0LjAgKGZvcmdlam8p-->Update module golang.org/x/crypto to v0.44.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10082): <!--number 10082 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2JsZXZlc2VhcmNoL2JsZXZlL3YyIHRvIHYyLjUuNSAoZm9yZ2Vqbyk=-->Update module github.com/blevesearch/bleve/v2 to v2.5.5 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9959): <!--number 9959 --><!--line 0 --><!--description Zml4KHVpKTogcHJldmVudCBKUyBmcm9tIHJlbW92aW5nIGljb24gZnJvbSBjbG9zZS9yZW9wZW4gYnV0dG9u-->fix(ui): prevent JS from removing icon from close/reopen button<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10068): <!--number 10068 --><!--line 0 --><!--description YnJhbmRpbmc6IHVzYWdlIG9mIGdlbmVyYXRl-->branding: usage of generate<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10042): <!--number 10042 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0MiAoZm9yZ2VqbykgKG1ham9yKQ==-->Update renovate to v42 (forgejo) (major)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10032): <!--number 10032 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvc3lzIHRvIHYwLjM4LjAgKGZvcmdlam8p-->Update module golang.org/x/sys to v0.38.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10035): <!--number 10035 --><!--line 0 --><!--description Z2l0ZWFfZG93bmxvYWRlcjogZml4IHR5cG9z-->gitea_downloader: fix typos<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10028): <!--number 10028 --><!--line 0 --><!--description Y2hvcmU6IGFkanVzdCBmYWlsaW5nIEUyRSB0ZXN0cw==-->chore: adjust failing E2E tests<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10029): <!--number 10029 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9hY3Rpb25zL3NldHVwLWZvcmdlam8gYWN0aW9uIHRvIHYzLjAuNSAoZm9yZ2Vqbyk=-->Update https://data.forgejo.org/actions/setup-forgejo action to v3.0.5 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10016): <!--number 10016 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgY2xpcHBpZSB0byB2NC4xLjkgKGZvcmdlam8p-->Update dependency clippie to v4.1.9 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10017): <!--number 10017 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgc2hhcnAgdG8gdjAuMzQuNSAoZm9yZ2Vqbyk=-->Update dependency sharp to v0.34.5 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10018): <!--number 10018 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMSB0byB2MTEuMy4xIChmb3JnZWpvKQ==-->Update module code.forgejo.org/forgejo/runner/v11 to v11.3.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9988): <!--number 9988 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgdnVlIHRvIHYzLjUuMjQgKGZvcmdlam8p-->Update dependency vue to v3.5.24 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9985): <!--number 9985 --><!--line 0 --><!--description Y2hvcmU6IHNpbXBsaWZ5IGBHZXROb3RlYA==-->chore: simplify `GetNote`<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9983): <!--number 9983 --><!--line 0 --><!--description YWRtaW4gcmVwbyBwYWdlIGVycm9yIG9uIE51bUlzc3Vlcw==-->admin repo page error on NumIssues<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9982): <!--number 9982 --><!--line 0 --><!--description dGVzdDogRW5zdXJlIGpvYnMuPGpvYl9pZD4ucnVucy1vbiB3b3JrcyB3aXRoIHZhcnM=-->test: Ensure jobs.<job_id>.runs-on works with vars<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9984): <!--number 9984 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZ28gdG8gdjEuMjUuNCAoZm9yZ2Vqbyk=-->Update dependency go to v1.25.4 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9897): <!--number 9897 --><!--line 0 --><!--description L2FwaS9mb3JnZWpvL3YxL3ZlcnNpb24gQ29udGVudC1UeXBlIGVycm9y-->/api/forgejo/v1/version Content-Type error<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9981): <!--number 9981 --><!--line 0 --><!--description Y2hvcmU6IHVzZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vYWN0aW9ucy1wcm90bw==-->chore: use code.forgejo.org/forgejo/actions-proto<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9969): <!--number 9969 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMSB0byB2MTEuMy4wIChmb3JnZWpvKQ==-->Update module code.forgejo.org/forgejo/runner/v11 to v11.3.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9952): <!--number 9952 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgdnVlLWNoYXJ0anMgdG8gdjUuMy4zIChmb3JnZWpvKQ==-->Update dependency vue-chartjs to v5.3.3 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9943): <!--number 9943 --><!--line 0 --><!--description cGVyZjogdXBkYXRlIGNvbmN1cnJlbmN5IGdyb3VwIHF1ZXJ5IHRvIGJlIGluZGV4LWNhcGFibGUgZm9yIHN0YXR1cw==-->perf: update concurrency group query to be index-capable for status<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9948): <!--number 9948 --><!--line 0 --><!--description VXNlIG1vY2sgc2VydmVyIGZvciBgVGVzdEJyZWFrQ29uZGl0aW9uc2A=-->Use mock server for `TestBreakConditions`<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9933): <!--number 9933 --><!--line 0 --><!--description Y2hvcmUodWkpOiByZW1vdmUgdW51c2VkIGNzcyBvZiBpZCBjcmVhdGUtcGFnZS1mb3Jt-->chore(ui): remove unused css of id create-page-form<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9925): <!--number 9925 --><!--line 0 --><!--description dGVzdDogY29uY3VycmVudCBtZXJnZXMgdGFyZ2V0aW5nIHNlcGFyYXRlIGJyYW5jaGVzIHByb2NlZWQgd2l0aG91dCBlcnJvcnM=-->test: concurrent merges targeting separate branches proceed without errors<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9946): <!--number 9946 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZ2xvYmFscyB0byB2MTYuNS4wIChmb3JnZWpvKQ==-->Update dependency globals to v16.5.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9944): <!--number 9944 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0MS4xNjkuMSAoZm9yZ2Vqbyk=-->Update renovate to v41.169.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9753): <!--number 9753 --><!--line 0 --><!--description Zml4KHVpKTogcmVtb3ZlIGV4dHJhIGhlbHBlcnMgZnJvbSBzdGF0dXNwYWdlcw==-->fix(ui): remove extra helpers from statuspages<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9780): <!--number 9780 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2JsZXZlc2VhcmNoL2JsZXZlL3YyIHRvIHYyLjUuNCAoZm9yZ2Vqbyk=-->Update module github.com/blevesearch/bleve/v2 to v2.5.4 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9890): <!--number 9890 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgbWluaW1hdGNoIHRvIHYxMC4xLjEgKGZvcmdlam8p-->Update dependency minimatch to v10.1.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9899): <!--number 9899 --><!--line 0 --><!--description bWFrZSBlZGl0IGxhYmVsIGRpYWxvZyB3b3JrIGFnYWlu-->make edit label dialog work again<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9744): <!--number 9744 --><!--line 0 --><!--description Y2hvcmUoZGVwcyk6IHVwZ3JhZGUgeG9ybSB0byByZW1vdmUgYWNjZXNzIHRvIHVuc2FmZSBCdWZmZXJTaXplKCk=-->chore(deps): upgrade xorm to remove access to unsafe BufferSize()<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9888): <!--number 9888 --><!--line 0 --><!--description dXBkYXRlIGRldmNvbnRhaW5lciB0YWcgdG8gZ286MS4yNS10cml4aWU=-->update devcontainer tag to go:1.25-trixie<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9858): <!--number 9858 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZS1ub3Rlcyk6IEZvcmdlam8gdjExLjAuNyBbc2tpcCBjaV0=-->chore(release-notes): Forgejo v11.0.7 [skip ci]<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9857): <!--number 9857 --><!--line 0 --><!--description Y2hvcmU6IGFkZCByZWxlYXNlIG5vdGVzIGZvciBiYWNrcG9ydHMgb2YgdjExIGFuZCB2MTMgW3NraXAgY2ld-->chore: add release notes for backports of v11 and v13 [skip ci]<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9859): <!--number 9859 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZS1ub3Rlcyk6IEZvcmdlam8gdjEzLjAuMiBbc2tpcCBjaV0=-->chore(release-notes): Forgejo v13.0.2 [skip ci]<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9867): <!--number 9867 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9839): <!--number 9839 --><!--line 0 --><!--description cmV0dXJuIGFsbCBwZW5kaW5nIGpvYnMgaWYgbGFiZWxzIHBhcmFtZXRlciBpcyBhYnNlbnQ=-->return all pending jobs if labels parameter is absent<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9877): <!--number 9877 --><!--line 0 --><!--description bWlncmF0ZSBhZGQvcmVtb3ZlIHJlcG9zaXRvcmllcyBpbiB0ZWFtIHRvIG5hdGl2ZSBkaWFsb2c=-->migrate add/remove repositories in team to native dialog<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9880): <!--number 9880 --><!--line 0 --><!--description bWlub3IgdHlwb3M=-->minor typos<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9878): <!--number 9878 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgbWVybWFpZCB0byB2MTEuMTIuMSAoZm9yZ2Vqbyk=-->Update dependency mermaid to v11.12.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9874): <!--number 9874 --><!--line 0 --><!--description c2hvdyBzcGlubmVyIHdoZW4gbG9hZGluZyBjb250ZW50IGhpc3RvcnkgbWVudQ==-->show spinner when loading content history menu<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9855): <!--number 9855 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgaHRteC5vcmcgdG8gdjIuMC44IChmb3JnZWpvKQ==-->Update dependency htmx.org to v2.0.8 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9834): <!--number 9834 --><!--line 0 --><!--description ZG9jczogZG9uJ3Qgc3VnZ2VzdCBzZXR0aW5nIGRlZmF1bHQgY2FyZ28gcmVnaXN0cnk=-->docs: don't suggest setting default cargo registry<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9796): <!--number 9796 --><!--line 0 --><!--description ZG9uJ3QgZHJvcCB1bmV4cGVjdGVkIGluZGV4ZXMgaW4gRm9yZ2VqbyBzdGFydHVw-->don't drop unexpected indexes in Forgejo startup<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9823): <!--number 9823 --><!--line 0 --><!--description VXBkYXRlIGRhdGEuZm9yZ2Vqby5vcmcvb2NpL2dvbGFuZyBEb2NrZXIgdGFnIHRvIHYxLjI1IChmb3JnZWpvKQ==-->Update data.forgejo.org/oci/golang Docker tag to v1.25 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9562): <!--number 9562 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvLXN3YWdnZXIvZ28tc3dhZ2dlci9jbWQvc3dhZ2dlciB0byB2MC4zMy4xIChmb3JnZWpvKQ==-->Update module github.com/go-swagger/go-swagger/cmd/swagger to v0.33.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9814): <!--number 9814 --><!--line 0 --><!--description VXBkYXRlIHZpdGVzdCBtb25vcmVwbyB0byB2NCAoZm9yZ2VqbykgKG1ham9yKQ==-->Update vitest monorepo to v4 (forgejo) (major)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9818): <!--number 9818 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL3VyZmF2ZS9jbGkvdjMgdG8gdjMuNS4wIChmb3JnZWpvKQ==-->Update module github.com/urfave/cli/v3 to v3.5.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9811): <!--number 9811 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBtdmRhbi5jYy9nb2Z1bXB0IHRvIHYwLjkuMiAoZm9yZ2Vqbyk=-->Update module mvdan.cc/gofumpt to v0.9.2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9815): <!--number 9815 --><!--line 0 --><!--description Y2hvcmU6IHJlbW92ZSB0d28gR2l0IHNldHRpbmdz-->chore: remove two Git settings<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9812): <!--number 9812 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQGF4ZS1jb3JlL3BsYXl3cmlnaHQgdG8gdjQuMTEuMCAoZm9yZ2Vqbyk=-->Update dependency @axe-core/playwright to v4.11.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9813): <!--number 9813 --><!--line 0 --><!--description VXBkYXRlIGxpbnRlcnMgKGZvcmdlam8p-->Update linters (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9810): <!--number 9810 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgaGFwcHktZG9tIHRvIHYyMC4wLjggKGZvcmdlam8p-->Update dependency happy-dom to v20.0.8 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9561): <!--number 9561 --><!--line 0 --><!--description cmVmYWN0b3I6IGRldmVsb3Blci1mcmllbmRseSBkYXRhYmFzZSBzY2hlbWEgbWlncmF0aW9uIHJlZ2lzdHJhdGlvbg==-->refactor: developer-friendly database schema migration registration<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9805): <!--number 9805 --><!--line 0 --><!--description cmVmYWN0b3I6IFNpbXBsaWZ5IGZsYWtlLm5peA==-->refactor: Simplify flake.nix<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9808): <!--number 9808 --><!--line 0 --><!--description Zml4KHdvcmtmbG93cy9jb3ZlcmFnZSk6IHVzZSBjb3JyZWN0IGZvcmdlam8gb3BlbmxkYXAgaW1hZ2U=-->fix(workflows/coverage): use correct forgejo openldap image<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9784): <!--number 9784 --><!--line 0 --><!--description c3VwcHJlc3MgZmFsc2UtcG9zaXRpdmUgZXJyb3IgbG9nIHdoZW4gUFIgaXMgYWxyZWFkeSBpbiB0aGUgYXV0b21lcmdlIHF1ZXVl-->suppress false-positive error log when PR is already in the automerge queue<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9779): <!--number 9779 --><!--line 0 --><!--description VXBkYXRlIGNpdGF0aW9uLWpzIG1vbm9yZXBvIHRvIHYwLjcuMjEgKGZvcmdlam8p-->Update citation-js monorepo to v0.7.21 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9786): <!--number 9786 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcyB0byB2MS4xOC4xIChmb3JnZWpvKQ==-->Update module github.com/klauspost/compress to v1.18.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9761): <!--number 9761 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9731): <!--number 9731 --><!--line 0 --><!--description Y2hvcmU6IGVuYWJsZSBlbWFpbCBub3RpZmljYXRpb25zIG9uIHB1bGxfcmVxdWVzdCB3b3JrZmxvd3M=-->chore: enable email notifications on pull_request workflows<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9758): <!--number 9758 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0MS4xNTIuOSAoZm9yZ2Vqbyk=-->Update renovate to v41.152.9 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9759): <!--number 9759 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMSB0byB2MTEuMi4wIChmb3JnZWpvKQ==-->Update module code.forgejo.org/forgejo/runner/v11 to v11.2.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9625): <!--number 9625 --><!--line 0 --><!--description Y2hvcmUoaTE4bik6IG1pZ3JhdGUgZG93bmxvYWQgY291bnRzIHRvIGpzb24=-->chore(i18n): migrate download counts to json<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9734): <!--number 9734 --><!--line 0 --><!--description ZG9udCBzZXQgbWVyZ2UtYmFzZSBvbiBwdWxsIHJlcXVlc3QgY3JlYXRpb24=-->dont set merge-base on pull request creation<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9740): <!--number 9740 --><!--line 0 --><!--description c2ltcGxpZnkgYEdldFB1bGxSZXF1ZXN0RmlsZXNg-->simplify `GetPullRequestFiles`<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9732): <!--number 9732 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZS1ub3Rlcyk6IEZvcmdlam8gdjEzLjAuMQ==-->chore(release-notes): Forgejo v13.0.1<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9722): <!--number 9722 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZS1ub3Rlcyk6IEZvcmdlam8gdjEzLjAuMCAoZm9sbG93dXAgMSk=-->chore(release-notes): Forgejo v13.0.0 (followup 1)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9721): <!--number 9721 --><!--line 0 --><!--description cmVwbGFjZSBHaXRlYSAtPiBGb3JnZWpvIGluIGFwcC5leGFtcGxlLmluaSB3aGVyZSBlYXNpbHkgcG9zc2libGU=-->replace Gitea -> Forgejo in app.example.ini where easily possible<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9709): <!--number 9709 --><!--line 0 --><!--description ZW1wdHkgREJzIGNyZWF0ZSB0YWJsZXMgaW4gYW4gdW5nb3Zlcm5lZCBvcmRlciByZXN1bHRpbmcgaW4gZnV0dXJlIGZvcmVpZ24ga2V5IGVycm9ycw==-->empty DBs create tables in an ungoverned order resulting in future foreign key errors<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9708): <!--number 9708 --><!--line 0 --><!--description aW50ZWdyYXRpb24gdGVzdHMgJiBlbXB0eSBEQiBjcmVhdGlvbiB3aWxsIGZhaWwgYXMgc29vbiBhcyBmb3JnZWpvX21pZ3JhdGlvbnMgYWNjZXNzZXMgYW4gZXhpc3RpbmcgdGFibGU=-->integration tests & empty DB creation will fail as soon as forgejo_migrations accesses an existing table<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9442): <!--number 9442 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZS1ub3Rlcyk6IEZvcmdlam8gdjEzLjAuMA==-->chore(release-notes): Forgejo v13.0.0<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9435): <!--number 9435 --><!--line 0 --><!--description UmVwbyBtaWdyYXRlIEFQSSBlbmRwb2ludCByZXR1cm5pbmcgMjAwIHdoZW4gaXQgY3Jhc2hlcw==-->Repo migrate API endpoint returning 200 when it crashes<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9702): <!--number 9702 --><!--line 0 --><!--description VXBkYXRlIHgvdG9vbHMgdG8gdjAuMzguMCAoZm9yZ2Vqbyk=-->Update x/tools to v0.38.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9684): <!--number 9684 --><!--line 0 --><!--description dGVzdDogaW50cm9kdWNlIFRydW5jYXRlQmVhbnNDYXNjYWRlIHRlc3QgaGVscGVyIHRvIHN1cHBvcnQgZGF0YSBjbGVhbnVwIG9mIGZvcmVpZ24ta2V5IHJlZmVyZW5jZWQgdGFibGVz-->test: introduce TruncateBeansCascade test helper to support data cleanup of foreign-key referenced tables<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9701): <!--number 9701 --><!--line 0 --><!--description VXBkYXRlIGdvLW9wZW5hcGkgcGFja2FnZXMgKGZvcmdlam8p-->Update go-openapi packages (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9704): <!--number 9704 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9hY3Rpb25zL3NldHVwLW5vZGUgYWN0aW9uIHRvIHY2IChmb3JnZWpvKQ==-->Update https://data.forgejo.org/actions/setup-node action to v6 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9703): <!--number 9703 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgaGFwcHktZG9tIHRvIHYyMCAoZm9yZ2Vqbyk=-->Update dependency happy-dom to v20 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9700): <!--number 9700 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2VkaXRvcmNvbmZpZy1jaGVja2VyL2VkaXRvcmNvbmZpZy1jaGVja2VyL3YzL2NtZC9lZGl0b3Jjb25maWctY2hlY2tlciB0byB2My40LjEgKGZvcmdlam8p-->Update module github.com/editorconfig-checker/editorconfig-checker/v3/cmd/editorconfig-checker to v3.4.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9699): <!--number 9699 --><!--line 0 --><!--description VXBkYXRlIGxpbnRlcnMgKGZvcmdlam8p-->Update linters (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9682): <!--number 9682 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2Rzb3ByZWEvZ28tZXhpZi92MyB0byB2My4wLjEgKGZvcmdlam8p-->Update module github.com/dsoprea/go-exif/v3 to v3.0.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9616): <!--number 9616 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy90ai1hY3Rpb25zL2NoYW5nZWQtZmlsZXMgYWN0aW9uIHRvIHY0NyAoZm9yZ2Vqbyk=-->Update https://data.forgejo.org/tj-actions/changed-files action to v47 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9688): <!--number 9688 --><!--line 0 --><!--description Y2hvcmUoZTJlKTogYWRkcmVzcyBhbm90aGVyIGZsYWtleSBmYWlsdXJlIGluIHdlYmF1dGhuLnRlc3QuZTJlLnRz-->chore(e2e): address another flakey failure in webauthn.test.e2e.ts<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9683): <!--number 9683 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL21ob2x0L2FyY2hpdmVzIHRvIHYwLjEuNSAoZm9yZ2Vqbyk=-->Update module github.com/mholt/archives to v0.1.5 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9679): <!--number 9679 --><!--line 0 --><!--description Y2hvcmU6IG1ha2UgcmVub3ZhdGUgd29yayBvbiB2MTMgZm9yZ2Vqbw==-->chore: make renovate work on v13 forgejo<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9677): <!--number 9677 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgY2hhcnQuanMgdG8gdjQuNS4xIChmb3JnZWpvKQ==-->Update dependency chart.js to v4.5.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9558): <!--number 9558 --><!--line 0 --><!--description aW5jbHVkZSBub24tY29udmVudGlvbmFsIGhlYWRlcnMgaW4gcGF5bG9hZCBmb3IgZ2l0IHNpZ25hdHVyZXM=-->include non-conventional headers in payload for git signatures<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9676): <!--number 9676 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZ28gdG8gdjEuMjUuMyAoZm9yZ2Vqbyk=-->Update dependency go to v1.25.3 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9645): <!--number 9645 --><!--line 0 --><!--description YXZvaWQganVtcGluZyB0byBiZWdpbiBvZiBwYWdlIG9uIGVkaXQgY29tbWVudCBhY3Rpb24=-->avoid jumping to begin of page on edit comment action<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9572): <!--number 9572 --><!--line 0 --><!--description YXZvaWQgdXBkYXRpbmcgYWxsIGNvbHVtbnM=-->avoid updating all columns<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9666): <!--number 9666 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9660): <!--number 9660 --><!--line 0 --><!--description Y2hvcmUoZTJlKTogdGVzdCBmbGFraW5lc3MgaW4gaXNzdWUtY29tbWVudC1kcm9wem9uZS50ZXN0LmUyZS50cw==-->chore(e2e): test flakiness in issue-comment-dropzone.test.e2e.ts<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9610): <!--number 9610 --><!--line 0 --><!--description YXZvaWQgcmVtb3RlIGZvciBjb2Rlb3duZXIncyBtZXJnZSBiYXNl-->avoid remote for codeowner's merge base<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9665): <!--number 9665 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kga2F0ZXggdG8gdjAuMTYuMjQgKGZvcmdlam8p-->Update dependency katex to v0.16.24 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9664): <!--number 9664 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0MS4xNDYuMCAoZm9yZ2Vqbyk=-->Update renovate to v41.146.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9647): <!--number 9647 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgYXNjaWluZW1hLXBsYXllciB0byB2My4xMi4xIChmb3JnZWpvKQ==-->Update dependency asciinema-player to v3.12.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9655): <!--number 9655 --><!--line 0 --><!--description VXBkYXRlIGdpdGh1Yi5jb20vcmh5c2QvYWN0aW9ubGludCAoaW5kaXJlY3QpIHRvIHYxLjcuOCAoZm9yZ2Vqbyk=-->Update github.com/rhysd/actionlint (indirect) to v1.7.8 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9642): <!--number 9642 --><!--line 0 --><!--description Y2hvcmUoZTJlKTogZGlzYWJsZSB3ZWJraXQvc2FmYXJpIGluIHNvbWUgdGVzdHM=-->chore(e2e): disable webkit/safari in some tests<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9599): <!--number 9599 --><!--line 0 --><!--description Zml4KGUyZSk6IGRpc2FibGUgd2Via2l0L3NhZmFyaSBpbiB0ZXN0cyB3aGVyZSB0aGV5IGFyZSB0b28gZmFsa3k=-->fix(e2e): disable webkit/safari in tests where they are too falky<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9605): <!--number 9605 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvaW1hZ2UgdG8gdjAuMzIuMCAoZm9yZ2Vqbyk=-->Update module golang.org/x/image to v0.32.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9640): <!--number 9640 --><!--line 0 --><!--description Y2hvcmU6IHJlbW92ZSBicmFuZGluZyBmcm9tIGFwcGxpY2F0aW9uIHJ1biBoZWxwZXI=-->chore: remove branding from application run helper<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9628): <!--number 9628 --><!--line 0 --><!--description Y2hvcmU6IHJlbW92ZSBicmFuZGluZyBmcm9tIGNvbnRleHQgaW1wb3J0cw==-->chore: remove branding from context imports<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9606): <!--number 9606 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvbmV0IHRvIHYwLjQ2LjAgKGZvcmdlam8p-->Update module golang.org/x/net to v0.46.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9639): <!--number 9639 --><!--line 0 --><!--description Y2hvcmUodWkpOiByZW1vdmUgdW51c2VkIGNsYXNzIC5zbWFsbC1tZW51LWl0ZW1z-->chore(ui): remove unused class .small-menu-items<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9632): <!--number 9632 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgbW9uYWNvLWVkaXRvci13ZWJwYWNrLXBsdWdpbiB0byB2Ny4xLjEgKGZvcmdlam8p-->Update dependency monaco-editor-webpack-plugin to v7.1.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9635): <!--number 9635 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvb2F1dGgyIHRvIHYwLjMyLjAgKGZvcmdlam8p-->Update module golang.org/x/oauth2 to v0.32.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9463): <!--number 9463 --><!--line 0 --><!--description Y2hvcmUoaTE4bik6IG1vdmUgc29tZSBwbHVyYWwgc3RyaW5ncyB0byBqc29u-->chore(i18n): move some plural strings to json<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9617): <!--number 9617 --><!--line 0 --><!--description VXBkYXRlIG1jci5taWNyb3NvZnQuY29tL2RldmNvbnRhaW5lcnMvZ28gRG9ja2VyIHRhZyB0byB2MiAoZm9yZ2Vqbyk=-->Update mcr.microsoft.com/devcontainers/go Docker tag to v2 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9574): <!--number 9574 --><!--line 0 --><!--description cnVuIHRzYyBpbiBDSQ==-->run tsc in CI<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9612): <!--number 9612 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb25uZWN0cnBjLmNvbS9jb25uZWN0IHRvIHYxLjE5LjEgKGZvcmdlam8pIChmb2xsb3d1cCk=-->Update module connectrpc.com/connect to v1.19.1 (forgejo) (followup)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9604): <!--number 9604 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb2xhbmcub3JnL3gvY3J5cHRvIHRvIHYwLjQzLjAgKGZvcmdlam8p-->Update module golang.org/x/crypto to v0.43.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9567): <!--number 9567 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb25uZWN0cnBjLmNvbS9jb25uZWN0IHRvIHYxLjE5LjEgKGZvcmdlam8p-->Update module connectrpc.com/connect to v1.19.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9575): <!--number 9575 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQHZpdGVzdC9lc2xpbnQtcGx1Z2luIHRvIHYxLjMuMTYgKGZvcmdlam8p-->Update dependency @vitest/eslint-plugin to v1.3.16 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9578): <!--number 9578 --><!--line 0 --><!--description VXBkYXRlIGxpbnRlcnMgKGZvcmdlam8p-->Update linters (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9580): <!--number 9580 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBtdmRhbi5jYy9nb2Z1bXB0IHRvIHYwLjkuMSAoZm9yZ2Vqbyk=-->Update module mvdan.cc/gofumpt to v0.9.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9583): <!--number 9583 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9hY3Rpb25zL2NoZWNrb3V0IGFjdGlvbiB0byB2NSAoZm9yZ2Vqbyk=-->Update https://data.forgejo.org/actions/checkout action to v5 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9576): <!--number 9576 --><!--line 0 --><!--description VXBkYXRlIHJlZ2lzdHJ5LnJlZGljdC5pby9yZWRpY3QgRG9ja2VyIHRhZyB0byB2Ny4zLjYgKGZvcmdlam8p-->Update registry.redict.io/redict Docker tag to v7.3.6 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9582): <!--number 9582 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgaGFwcHktZG9tIHRvIHYxOSAoZm9yZ2Vqbyk=-->Update dependency happy-dom to v19 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9577): <!--number 9577 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQHBsYXl3cmlnaHQvdGVzdCB0byB2MS41Ni4wIChmb3JnZWpvKQ==-->Update dependency @playwright/test to v1.56.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9579): <!--number 9579 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2VkaXRvcmNvbmZpZy1jaGVja2VyL2VkaXRvcmNvbmZpZy1jaGVja2VyL3YzL2NtZC9lZGl0b3Jjb25maWctY2hlY2tlciB0byB2My40LjAgKGZvcmdlam8p-->Update module github.com/editorconfig-checker/editorconfig-checker/v3/cmd/editorconfig-checker to v3.4.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9584): <!--number 9584 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9hY3Rpb25zL3NldHVwLWdvIGFjdGlvbiB0byB2NiAoZm9yZ2Vqbyk=-->Update https://data.forgejo.org/actions/setup-go action to v6 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9581): <!--number 9581 --><!--line 0 --><!--description VXBkYXRlIHgvdG9vbHMgdG8gdjAuMzcuMCAoZm9yZ2Vqbyk=-->Update x/tools to v0.37.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9545): <!--number 9545 --><!--line 0 --><!--description Zml4KHVpL21kZSk6IGZpeCBzd2l0Y2ggaGVpZ2h0IGFuZCBidXR0b25zIGFsaWdubWVudA==-->fix(ui/mde): fix switch height and buttons alignment<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9564): <!--number 9564 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgd2VicGFjayB0byB2NS4xMDIuMSAoZm9yZ2Vqbyk=-->Update dependency webpack to v5.102.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9563): <!--number 9563 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2dvbGFuZ2NpL2dvbGFuZ2NpLWxpbnQvdjIvY21kL2dvbGFuZ2NpLWxpbnQgdG8gdjIuNS4wIChmb3JnZWpvKQ==-->Update module github.com/golangci/golangci-lint/v2/cmd/golangci-lint to v2.5.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9559): <!--number 9559 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZ28gdG8gdjEuMjQuOCAoZm9yZ2Vqbyk=-->Update dependency go to v1.24.8 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9524): <!--number 9524 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgYXNjaWluZW1hLXBsYXllciB0byB2My4xMS4xIChmb3JnZWpvKQ==-->Update dependency asciinema-player to v3.11.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9538): <!--number 9538 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgZXNidWlsZC1sb2FkZXIgdG8gdjQuNC4wIChmb3JnZWpvKQ==-->Update dependency esbuild-loader to v4.4.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9537): <!--number 9537 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0MS4xMzUuNSAoZm9yZ2Vqbyk=-->Update renovate to v41.135.5 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9539): <!--number 9539 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9533): <!--number 9533 --><!--line 0 --><!--description Y2hvcmUocmVsZWFzZS1ub3Rlcyk6IGFkZCBjaHJvbWEgdXBkYXRlcyBmb3IgdjEzLCB2MTIsIHYxMCwgdjg=-->chore(release-notes): add chroma updates for v13, v12, v10, v8<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9523): <!--number 9523 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kga2F0ZXggdG8gdjAuMTYuMjMgKGZvcmdlam8p-->Update dependency katex to v0.16.23 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9519): <!--number 9519 --><!--line 0 --><!--description Y2hvcmU6IGFkZCB1bml0IHRlc3QgZm9yIGBTZWFyY2hQb2ludGVyQmxvYnNg-->chore: add unit test for `SearchPointerBlobs`<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9499): <!--number 9499 --><!--line 0 --><!--description ZTJlOiBTZWxlY3RpdmUgc2NyZWVuc2hvdHM=-->e2e: Selective screenshots<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9510): <!--number 9510 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1ZiB0byB2MS4zNi4xMCAoZm9yZ2Vqbyk=-->Update module google.golang.org/protobuf to v1.36.10 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9460): <!--number 9460 --><!--line 0 --><!--description TG9jayBmaWxlIG1haW50ZW5hbmNlIChmb3JnZWpvKQ==-->Lock file maintenance (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9505): <!--number 9505 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgdHlwZXNjcmlwdCB0byB2NS45LjMgKGZvcmdlam8p-->Update dependency typescript to v5.9.3 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9477): <!--number 9477 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgd2VicGFjayB0byB2NS4xMDIuMCAoZm9yZ2Vqbyk=-->Update dependency webpack to v5.102.0 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9500): <!--number 9500 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgdGFpbHdpbmRjc3MgdG8gdjMuNC4xOCAoZm9yZ2Vqbyk=-->Update dependency tailwindcss to v3.4.18 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9488): <!--number 9488 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQHBsYXl3cmlnaHQvdGVzdCB0byB2MS41NS4xIChmb3JnZWpvKQ==-->Update dependency @playwright/test to v1.55.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9491): <!--number 9491 --><!--line 0 --><!--description VXBkYXRlIGRlcGVuZGVuY3kgQHZpdGVzdC9lc2xpbnQtcGx1Z2luIHRvIHYxLjMuMTMgKGZvcmdlam8p-->Update dependency @vitest/eslint-plugin to v1.3.13 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9496): <!--number 9496 --><!--line 0 --><!--description Y2hvcmU6IGFkZCBucG0gdmVyc2lvbiBjb25zdHJhaW50IHRvIHJlbm92YXRl-->chore: add npm version constraint to renovate<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9490): <!--number 9490 --><!--line 0 --><!--description Y2hvcmU6IHJlbW92ZSBub3Qgd29ya2luZyBQUkVGRVJSRURfVElNRVNUQU1QX1RFTlNFIHNldHRpbmc=-->chore: remove not working PREFERRED_TIMESTAMP_TENSE setting<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/8877): <!--number 8877 --><!--line 0 --><!--description Zml4KHVpKTogbWFrZSAiVG9rZW4gbmFtZSItaW5wdXQgYSByZWFsIHJlcXVpcmVkLWZpZWxk-->fix(ui): make "Token name"-input a real required-field<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9487): <!--number 9487 --><!--line 0 --><!--description VXBkYXRlIGdpdGh1Yi5jb20vZ29vZ2xlL3Bwcm9mIGRpZ2VzdCB0byA5ZTVhNTFhIChmb3JnZWpvKQ==-->Update github.com/google/pprof digest to 9e5a51a (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9494): <!--number 9494 --><!--line 0 --><!--description cmVwbGFjZSAiR2l0ZWEiIHdpdGggIkZvcmdlam8iIGluIGJ1dHRvbiBsYWJlbA==-->replace "Gitea" with "Forgejo" in button label<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9486): <!--number 9486 --><!--line 0 --><!--description cmVwbGFjZSB0aGUgcGx1cyBzaWduIHRvIGNvbmZpcm0gYSBuZXcgZHVlIGRhdGUgb24gaXNzdWVzIHdpdGggYSBjaGVjayBtYXJr-->replace the plus sign to confirm a new due date on issues with a check mark<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9492): <!--number 9492 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2YzL2dvZjMvdjMgdG8gdjMuMTEuMSAoZm9yZ2Vqbyk=-->Update module code.forgejo.org/f3/gof3/v3 to v3.11.1 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/8935): <!--number 8935 --><!--line 0 --><!--description ZG9jczogYWRkIGJhY2sgd2FybmluZyBhcyBhIGNvbW1pdCBzdGF0dXM=-->docs: add back warning as a commit status<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9386): <!--number 9386 --><!--line 0 --><!--description ZW5zdXJlIGRlbGV0ZWQgRGViaWFuIHBhY2thZ2UgZG9lcyBub3QgcmVtYWluIHJlZmVyZW5jZWQgaW4gdGhlIGFwdCByZXBvc2l0b3J5IGZpbGVz-->ensure deleted Debian package does not remain referenced in the apt repository files<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9480): <!--number 9480 --><!--line 0 --><!--description Y2hvcmU6IHJlbGVhc2Utbm90ZXMtYXNzaXN0YW50OiB0aGVyZSBtYXkgYmUgdGhyZWUgc3VwcG9ydGVkIHJlbGVhc2Vz-->chore: release-notes-assistant: there may be three supported releases<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9095): <!--number 9095 --><!--line 0 --><!--description ZmVhdChidWlsZCk6IGFkZCBzdXBwb3J0IGZvciB0aGUgYmFzZS5NZXNzZW5nZXIsICQubG9jYWxlLlRyLCBGb3JtIHN0cnVjdHMgdG8gbGludC1sb2NhbGUtdXNhZ2U=-->feat(build): add support for the base.Messenger, $.locale.Tr, Form structs to lint-locale-usage<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9467): <!--number 9467 --><!--line 0 --><!--description YWRkIHZ1ZSBkYXRhIHRvIGBjcmVhdGVBcHBgIGluc3RlYWQgYG1vdW50YA==-->add vue data to `createApp` instead `mount`<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9456): <!--number 9456 --><!--line 0 --><!--description VXBkYXRlIHJlbm92YXRlIHRvIHY0MS4xMzEuOSAoZm9yZ2Vqbyk=-->Update renovate to v41.131.9 (forgejo)<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9438): <!--number 9438 --><!--line 0 --><!--description UmV2ZXJ0ICJVcGRhdGUgbW9kdWxlIGNvbm5lY3RycGMuY29tL2Nvbm5lY3QgdG8gdjEuMTkuMCAoZm9yZ2VqbykgKCM5NDI1KSI=-->Revert "Update module connectrpc.com/connect to v1.19.0 (forgejo) (#9425)"<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9425): <!--number 9425 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb25uZWN0cnBjLmNvbS9jb25uZWN0IHRvIHYxLjE5LjAgKGZvcmdlam8p-->Update module connectrpc.com/connect to v1.19.0 (forgejo)<!--description-->
- Already announced in the release notes of an older stable release
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10297): <!--number 10297 --><!--line 0 --><!--description cmVkdWNlIHJ1bnRpbWUgb2YgY29udGFpbmVyIGNsZWFudXAgYnkgcmVseWluZyBvbiBtYXNzIGRpZ2VzdCBjbGVhbnVw-->reduce runtime of container cleanup by relying on mass digest cleanup<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10225): <!--number 10225 --><!--line 0 --><!--description ZG93bmxvYWQgbG9ncyBvZiBjdXJyZW50bHkgZGlzcGxheWVkIEFjdGlvbiBydW4gYXR0ZW1wdA==-->download logs of currently displayed Action run attempt<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9763): <!--number 9763 --><!--line 0 --><!--description Zml4KGFsdCk6IGhhbmRsZSBwYWNrYWdlIG5hbWVzIHdpdGggZG90cyBpbiBBTFQgcmVwb3NpdG9yeQ==-->fix(alt): handle package names with dots in ALT repository<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9914): <!--number 9914 --><!--line 0 --><!--description cHVsbCByZXF1ZXN0IHJldmlldyBjb21tZW50IHBvc2l0aW9u-->pull request review comment position<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10140): <!--number 10140 --><!--line 0 --><!--description Z2V0IG5ldyBzZXNzaW9uIGZyb20gZW5naW5lZ3JvdXAgaW5zdGVhZCBvZiBtYXN0ZXJlbmdpbmU=-->get new session from enginegroup instead of masterengine<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10146): <!--number 10146 --><!--line 0 --><!--description c3VwcG9ydCBnaXQgY2xvbmUgd2hlbiAvdG1wIGhhcyBub2V4ZWM=-->support git clone when /tmp has noexec<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10002): <!--number 10002 --><!--line 0 --><!--description ZW5kbGVzcyByZWRpcmVjdGlvbiBsb29wIGJldHdlZW4gL3VzZXIvc2V0dGluZ3MvY2hhbmdlX3Bhc3N3b3JkIGFuZCAvdXNlci9zZXR0aW5ncy9zZWN1cml0eQ==-->endless redirection loop between /user/settings/change_password and /user/settings/security<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9468): <!--number 9468 --><!--line 0 --><!--description cGFja2FnZSBjbGVhbmVkIHJ1bGUgZmFpbHMgaWYgdGhlIGtlZXAgY291bnQgaXMgdG9vIGhpZ2g=-->package cleaned rule fails if the keep count is too high<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9657): <!--number 9657 --><!--line 0 --><!--description ZGIuSXRlcmF0ZSBjYW4gbWlzcyByZWNvcmRzLCBjYW4gcmV0dXJuIHJlY29yZHMgdHdpY2U=-->db.Iterate can miss records, can return records twice<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9764): <!--number 9764 --><!--line 0 --><!--description R0xPQkFMX1RXT19GQUNUT1JfUkVRVUlSRU1FTlQgYWxsIHByZXZlbnRzIGFjdGlvbnMvY2hlY2tvdXQgZnJvbSBjbG9uaW5nIHJlcG9zaXRvcmllcw==-->GLOBAL_TWO_FACTOR_REQUIREMENT all prevents actions/checkout from cloning repositories<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9508): <!--number 9508 --><!--line 0 --><!--description VXNlIHNjcm9sbEhlaWdodCBmb3IgcmVuZGVyZWQgaWZyYW1lIGlmIG9mZnNldEhlaWdodCBpcyB1bmF2YWlsYWJsZQ==-->Use scrollHeight for rendered iframe if offsetHeight is unavailable<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9690): <!--number 9690 --><!--line 0 --><!--description cmVsZWFzZSBlbWFpbCBsaW5rcw==-->release email links<!--description-->
- [PR](https://codeberg.org/forgejo/forgejo/pulls/9634): <!--number 9634 --><!--line 0 --><!--description Zml4KHVpKTogYWRkIGBtYXJrdXBgIGNsYXNzIHRvIHByb2plY3QgZGVzY3JpcHRpb25z-->fix(ui): add `markup` class to project descriptions<!--description-->
<!--end release-notes-assistant-->