

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

## Release notes
<!--URL:https://codeberg.org/forgejo/forgejo-->
- User Interface bug fixes
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/10969) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10996)): <!--number 10996 --><!--line 0 --><!--description Zml4KHVpKTogdGlwcHkgbWVudSBzdHlsZXMgdG9vIGJyb2FkLCBhZmZlY3Rpbmcgc3dpdGNoIGluIFBSIHJldmlldw==-->fix(ui): tippy menu styles too broad, affecting switch in PR review<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/10964) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10970)): <!--number 10970 --><!--line 0 --><!--description Zml4KHVpKTogYWRkIG1pc3NpbmcgdHJhbnNsYXRpb24gZm9yIGNvZGUgc2VhcmNoIHdoZW4ga2V5d29yZCBpcyBlbXB0eSBzdHJpbmc=-->fix(ui): add missing translation for code search when keyword is empty string<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/10939) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10950)): <!--number 10950 --><!--line 0 --><!--description Zml4KHVpKTogaW1wcm92ZSBmb3JjZS1wdXNoIGxheW91dCBhbGlnbm1lbnQ=-->fix(ui): improve force-push layout alignment<!--description-->
- Localization
  - Updates from Codeberg Translate: [#10988](https://codeberg.org/forgejo/forgejo/pulls/10988) (backport of [#10660](https://codeberg.org/forgejo/forgejo/pulls/10660))
- Features
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/11059) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11069)): <!--number 11069 --><!--line 0 --><!--description ZmVhdDogZW5hYmxlIFNRTGl0ZSBXQUwgYnkgZGVmYXVsdA==-->feat: enable SQLite WAL by default<!--description-->
- Bug fixes
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/11073) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11074)): <!--number 11074 --><!--line 0 --><!--description Zml4OiBhbGxvdyB0ZXN0IGRlbGl2ZXJ5IGZvciB3ZWJob29rcyBub3QgZW5hYmxlZCBmb3IgcHVzaCBldmVudHM=-->fix: allow test delivery for webhooks not enabled for push events<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/11063) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11072)): <!--number 11072 --><!--line 0 --><!--description Zml4OiBlbXB0eSBkeW5hbWljIG1hdHJpeCBjYW4gbGVhdmUgYWN0aW9uIHJ1biBoYW5naW5nIGluY29tcGxldGU=-->fix: empty dynamic matrix can leave action run hanging incomplete<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/10882) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11060)): <!--number 11060 --><!--line 0 --><!--description Rml4IG5vdCBkZWNyZWFzaW5nIHdhdGNoIGNvdW50IHdoZW4gYmxvY2tpbmcgdXNlcg==-->Fix not decreasing watch count when blocking user<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/10948) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11009)): <!--number 11009 --><!--line 0 --><!--description Zml4OiBkb24ndCBjbG9iYmVyIGF1dGhvcml6ZWRfa2V5cyBmaWxlIGR1cmluZyBpbnN0YWxsYXRpb24gKCMxMDk0OCk=-->fix: don't clobber authorized_keys file during installation (#10948)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/10925) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10949)): <!--number 10949 --><!--line 0 --><!--description Zml4KGFwaSk6IGRlZmF1bHQgbmV3IHJlbGVhc2UgJ3RpdGxlJyBmaWVsZCB0byBsYWJlbCBuYW1lLCBpZiBub3QgcHJvdmlkZWQ=-->fix(api): default new release 'title' field to label name, if not provided<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/10945) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10947)): <!--number 10947 --><!--line 0 --><!--description Zml4OiByZW1vdmUgaW5maW5pdGUgbG9vcCBpbiBVcGRhdGVSdW5Kb2JXaXRob3V0Tm90aWZpY2F0aW9uIHdoZW4gcnVuIGluIHRyYW5zYWN0aW9u-->fix: remove infinite loop in UpdateRunJobWithoutNotification when run in transaction<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/10914) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10928)): <!--number 10928 --><!--line 0 --><!--description ZmVhdDogc3RyaXAgbmV3bGluZXMgb24gb2cgaW1hZ2UgcmVuZGVyaW5n-->feat: strip newlines on og image rendering<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/10899) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10909)): <!--number 10909 --><!--line 0 --><!--description Zml4OiBkb24ndCByZXR1cm4gQWRkaXRpb25hbFRhc2tzIGZyb20gRmV0Y2hUYXNrIGlmIHRoZXJlIGlzIG5vIFRhc2s=-->fix: don't return AdditionalTasks from FetchTask if there is no Task<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/10888) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10903)): <!--number 10903 --><!--line 0 --><!--description Zml4OiB1c2UgQUxURVIgVEFCTEUgaW4gU1FMaXRlIERyb3BUYWJsZUNvbHVtbnMoKSwgYWxsb3dpbmcgdW5leHBlY3RlZCBkYXRhYmFzZSBzb3VyY2VzIHRvIHdvcmsgYmV0dGVyIGluIG1pZ3JhdGlvbnM=-->fix: use ALTER TABLE in SQLite DropTableColumns(), allowing unexpected database sources to work better in migrations<!--description-->
- Included for completeness but not user-facing (chores, etc.)
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/10798) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11055)): <!--number 11055 --><!--line 0 --><!--description Zml4OiBtaWdyYXRpb25zL2dpdGh1YjogYXZvaWQgZ2V0dGluZyB0aGUgZmlyc3QgaXNzdWVzIHBhZ2UgdHdpY2U=-->fix: migrations/github: avoid getting the first issues page twice<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/11007) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11058)): <!--number 11058 --><!--line 0 --><!--description Zml4IE5ld01vY2tXZWJTZXJ2ZXIoKTogSGVhZGVycyBuZXZlciByZWFjaGVkIHRoZSBodHRwIGNsaWVudA==-->fix NewMockWebServer(): Headers never reached the http client<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/10846) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11054)): <!--number 11054 --><!--line 0 --><!--description Zml4OiBtaWdyYXRpb25zL2dpdGh1YjogV2FpdCAmIHJldHJ5IHdoZW4gcHJpbWFyeSByYXRlIGxpbWl0IGlzIGhpdA==-->fix: migrations/github: Wait & retry when primary rate limit is hit<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/11038) ([backported](https://codeberg.org/forgejo/forgejo/pulls/11039)): <!--number 11039 --><!--line 0 --><!--description Zml4OiBkZXRlY3QgcmVuYW1lcyB3aGVuIHVzaW5nIGRpZmYtdHJlZQ==-->fix: detect renames when using diff-tree<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/11001): <!--number 11001 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBjb2RlLmZvcmdlam8ub3JnL2Zvcmdlam8vcnVubmVyL3YxMiB0byB2MTIuNi4wICh2MTQuMC9mb3JnZWpvKQ==-->Update module code.forgejo.org/forgejo/runner/v12 to v12.6.0 (v14.0/forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/10983): <!--number 10983 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9mb3JnZWpvL2Zvcmdlam8tYnVpbGQtcHVibGlzaCBhY3Rpb24gdG8gdjUuNS4xICh2MTQuMC9mb3JnZWpvKQ==-->Update https://data.forgejo.org/forgejo/forgejo-build-publish action to v5.5.1 (v14.0/forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/10984): <!--number 10984 --><!--line 0 --><!--description VXBkYXRlIGh0dHBzOi8vZGF0YS5mb3JnZWpvLm9yZy9pbmZyYXN0cnVjdHVyZS9pc3N1ZS1hY3Rpb24gYWN0aW9uIHRvIHYxLjUuMCAodjE0LjAvZm9yZ2Vqbyk=-->Update https://data.forgejo.org/infrastructure/issue-action action to v1.5.0 (v14.0/forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/10893) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10906)): <!--number 10906 --><!--line 0 --><!--description Zml4OiByZXRyeSBBY3Rpb25SdW4gdXBkYXRlcyB3aGVuIG9wdGltaXN0aWMtY29uY3VycmVuY3ktY29udHJvbCBpbmRpY2F0ZXMgcmVjb3JkIGNoYW5nZWQ=-->fix: retry ActionRun updates when optimistic-concurrency-control indicates record changed<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/10908): <!--number 10908 --><!--line 0 --><!--description VXBkYXRlIG1vZHVsZSBnaXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcyB0byB2MS4xOC4zICh2MTQuMC9mb3JnZWpvKQ==-->Update module github.com/klauspost/compress to v1.18.3 (v14.0/forgejo)<!--description-->
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/10883) ([backported](https://codeberg.org/forgejo/forgejo/pulls/10886)): <!--number 10886 --><!--line 0 --><!--description Y2k6IHRpZSBnbyBjYWNoZSB0byBnbyB2ZXJzaW9uIGFuZCBhZGQgYE1ha2VmaWxlYCB0byBrZXkgaGFzaA==-->ci: tie go cache to go version and add `Makefile` to key hash<!--description-->
<!--end release-notes-assistant-->
