Renovate's PR description (raw)
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [gitea/gitea](https://github.com/go-gitea/gitea) | minor | `1.22.3` โ `1.27.2` |
---
### Release Notes
<details>
<summary>go-gitea/gitea (gitea/gitea)</summary>
### [`v1.27.2`](https://github.com/go-gitea/gitea/releases/tag/v1.27.2)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.27.1...v1.27.2)
- SECURITY
- Fix: update collaborator access mode and httpsign ([#​38894](https://github.com/go-gitea/gitea/issues/38894), [#​38862](https://github.com/go-gitea/gitea/issues/38862)) ([#​38895](https://github.com/go-gitea/gitea/issues/38895))
- Refactor: external render ([#​38885](https://github.com/go-gitea/gitea/issues/38885)) ([#​38898](https://github.com/go-gitea/gitea/issues/38898))
- Fix(actions): resolve pull\_request\_target reusable workflows at the base commit ([#​38886](https://github.com/go-gitea/gitea/issues/38886)) ([#​38897](https://github.com/go-gitea/gitea/issues/38897))
- Refactor: markup render ([#​38864](https://github.com/go-gitea/gitea/issues/38864)) ([#​38869](https://github.com/go-gitea/gitea/issues/38869))
- Fix(deps): update dependency mermaid to v11.16.1 ([#​38816](https://github.com/go-gitea/gitea/issues/38816))
- Fix(auth): set WebAuthn user verification per request ([#​38805](https://github.com/go-gitea/gitea/issues/38805)) ([#​38810](https://github.com/go-gitea/gitea/issues/38810))
- Fix: render highlight language ([#​38793](https://github.com/go-gitea/gitea/issues/38793)) ([#​38795](https://github.com/go-gitea/gitea/issues/38795))
- ENHANCEMENTS
- enhance: add missing npm package metadata properties ([#​38826](https://github.com/go-gitea/gitea/issues/38826)) ([#​38831](https://github.com/go-gitea/gitea/issues/38831))
- BUGFIXES
- fix(actions): keep github.event.inputs as strings for workflow\_dispatch ([#​38899](https://github.com/go-gitea/gitea/issues/38899)) ([#​38908](https://github.com/go-gitea/gitea/issues/38908))
- fix(actions): let a rerun of selected jobs read the previous attempt's artifacts ([#​38857](https://github.com/go-gitea/gitea/issues/38857)) ([#​38901](https://github.com/go-gitea/gitea/issues/38901))
- fix(lfs): accept successful transfer responses ([#​38866](https://github.com/go-gitea/gitea/issues/38866)) ([#​38875](https://github.com/go-gitea/gitea/issues/38875))
- fix(packages): ignore nested Package.swift ([#​38788](https://github.com/go-gitea/gitea/issues/38788)) ([#​38836](https://github.com/go-gitea/gitea/issues/38836))
- fix: drop newline-bearing member names in arch ParsePackage ([#​38102](https://github.com/go-gitea/gitea/issues/38102)) ([#​38830](https://github.com/go-gitea/gitea/issues/38830))
- fix(storage): fix Azure Blob dump failing with file does not exist ([#​38814](https://github.com/go-gitea/gitea/issues/38814)) ([#​38828](https://github.com/go-gitea/gitea/issues/38828))
- fix(migration): migration deletion returned json redirection ([#​38796](https://github.com/go-gitea/gitea/issues/38796)) ([#​38825](https://github.com/go-gitea/gitea/issues/38825))
- fix(ui): change underlines to default browser style ([#​38819](https://github.com/go-gitea/gitea/issues/38819)) ([#​38823](https://github.com/go-gitea/gitea/issues/38823))
- fix(actions): allow cancelling runs without running jobs ([#​35842](https://github.com/go-gitea/gitea/issues/35842)) ([#​38812](https://github.com/go-gitea/gitea/issues/38812))
- fix(actions): evaluate each `${{ }}` part on its own ([#​38754](https://github.com/go-gitea/gitea/issues/38754)) ([#​38797](https://github.com/go-gitea/gitea/issues/38797))
- fix(actions): write an action task report in one transaction ([#​38792](https://github.com/go-gitea/gitea/issues/38792)) ([#​38794](https://github.com/go-gitea/gitea/issues/38794))
- fix: markup link ([#​38764](https://github.com/go-gitea/gitea/issues/38764)) ([#​38765](https://github.com/go-gitea/gitea/issues/38765))
- fix: set a minio part size when the content size is unknown ([#​38753](https://github.com/go-gitea/gitea/issues/38753)) ([#​38755](https://github.com/go-gitea/gitea/issues/38755))
- fix: bad path escape in subpath archive download ([#​38749](https://github.com/go-gitea/gitea/issues/38749)) ([#​38750](https://github.com/go-gitea/gitea/issues/38750))
- fix: remove the pull merge box from UI when the refreshed page doesn't contain it ([#​38742](https://github.com/go-gitea/gitea/issues/38742)) ([#​38744](https://github.com/go-gitea/gitea/issues/38744))
- fix(markdown): fix double strikethough on code ([#​38707](https://github.com/go-gitea/gitea/issues/38707)) ([#​38729](https://github.com/go-gitea/gitea/issues/38729))
- fix(lfs): failed upload deletes a concurrent upload's meta object ([#​38693](https://github.com/go-gitea/gitea/issues/38693)) ([#​38722](https://github.com/go-gitea/gitea/issues/38722))
- fix: correct full url when using sub-path ([#​38712](https://github.com/go-gitea/gitea/issues/38712)) ([#​38716](https://github.com/go-gitea/gitea/issues/38716))
- fix: avoid markup render panic ([#​38698](https://github.com/go-gitea/gitea/issues/38698)) ([#​38703](https://github.com/go-gitea/gitea/issues/38703))
- fix(ui): too many participants shown in commit avatar stacks ([#​38689](https://github.com/go-gitea/gitea/issues/38689)) ([#​38700](https://github.com/go-gitea/gitea/issues/38700))
- fix: support HEAD requests on Alpine registry APKINDEX.tar.gz ([#​38686](https://github.com/go-gitea/gitea/issues/38686)) ([#​38688](https://github.com/go-gitea/gitea/issues/38688))
- fix(migrations): use all configured GitHub tokens ([#​38841](https://github.com/go-gitea/gitea/issues/38841)) ([#​38846](https://github.com/go-gitea/gitea/issues/38846))
Instances on **[Gitea Cloud](https://cloud.gitea.com)** will be automatically upgraded to this version during the specified maintenance window.
### [`v1.27.1`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1271---2026-07-27)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.27.0...v1.27.1)
- SECURITY
- Fix: orgmode render include path ([#​38642](https://github.com/go-gitea/gitea/issues/38642)) ([#​38645](https://github.com/go-gitea/gitea/issues/38645))
- Fix: git patch apply ([#​38637](https://github.com/go-gitea/gitea/issues/38637)) ([#​38638](https://github.com/go-gitea/gitea/issues/38638))
- Fix(oauth2): enforce mandatory 2FA policy on OAuth2 authorize/grant endpoints ([#​38591](https://github.com/go-gitea/gitea/issues/38591)) ([#​38606](https://github.com/go-gitea/gitea/issues/38606))
- API
- fix(api): align Swagger schemas for UserSettings and TopicListResponse ([#​38590](https://github.com/go-gitea/gitea/issues/38590)) ([#​38592](https://github.com/go-gitea/gitea/issues/38592))
- ENHANCEMENTS
- enhance: improve diff contrast in light and dark themes ([#​37477](https://github.com/go-gitea/gitea/issues/37477)) ([#​38574](https://github.com/go-gitea/gitea/issues/38574))
- BUGFIXES
- fix: skip OIDC end-session after password login for OAuth2 users ([#​38439](https://github.com/go-gitea/gitea/issues/38439)) ([#​38666](https://github.com/go-gitea/gitea/issues/38666))
- fix: make Actions log parser support multiple line message encoding ([#​38659](https://github.com/go-gitea/gitea/issues/38659)) ([#​38664](https://github.com/go-gitea/gitea/issues/38664))
- fix(actions): use base branch ref for pull\_request\_target context ([#​38636](https://github.com/go-gitea/gitea/issues/38636)) ([#​38657](https://github.com/go-gitea/gitea/issues/38657))
- fix(actions): skip already-approved runs in `ApproveRuns` ([#​38653](https://github.com/go-gitea/gitea/issues/38653)) ([#​38654](https://github.com/go-gitea/gitea/issues/38654))
- fix: orgmode render include path ([#​38642](https://github.com/go-gitea/gitea/issues/38642)) ([#​38645](https://github.com/go-gitea/gitea/issues/38645))
- fix(actions): cancel tasks immediately when the runner stopped reporting ([#​38616](https://github.com/go-gitea/gitea/issues/38616)) ([#​38644](https://github.com/go-gitea/gitea/issues/38644))
- fix(issues): fix label bulk-load key and reduce log noise in LoadLabel ([#​38632](https://github.com/go-gitea/gitea/issues/38632)) ([#​38643](https://github.com/go-gitea/gitea/issues/38643))
- fix(actions): improve runner list status sorting, labels and task job links ([#​38586](https://github.com/go-gitea/gitea/issues/38586)) ([#​38633](https://github.com/go-gitea/gitea/issues/38633))
- fix(actions): correctness and hardening fixes ([#​38518](https://github.com/go-gitea/gitea/issues/38518)) ([#​38631](https://github.com/go-gitea/gitea/issues/38631))
- fix(repo): prevent double-write redirect collisions on dependency errors, fix ui ([#​38627](https://github.com/go-gitea/gitea/issues/38627)) ([#​38628](https://github.com/go-gitea/gitea/issues/38628))
- fix: delete repo-scoped rows of seven more tables when deleting a repository ([#​38534](https://github.com/go-gitea/gitea/issues/38534)) ([#​38618](https://github.com/go-gitea/gitea/issues/38618))
- fix(webhook): remove slack channel name check ([#​38608](https://github.com/go-gitea/gitea/issues/38608)) ([#​38612](https://github.com/go-gitea/gitea/issues/38612))
- fix: download dropdown menu clipped on the branches page ([#​38604](https://github.com/go-gitea/gitea/issues/38604)) ([#​38609](https://github.com/go-gitea/gitea/issues/38609))
- fix(project): prevent database mutations on invalid MoveIssues payload ([#​38600](https://github.com/go-gitea/gitea/issues/38600)) ([#​38602](https://github.com/go-gitea/gitea/issues/38602))
- fix(actions): make SingleWorkflow\.Marshal round-trip multi-line run blocks (stop silent job stranding) ([#​38520](https://github.com/go-gitea/gitea/issues/38520)) ([#​38599](https://github.com/go-gitea/gitea/issues/38599))
- fix(file-tree): handle submodule links and missing view container ([#​38033](https://github.com/go-gitea/gitea/issues/38033)) ([#​38589](https://github.com/go-gitea/gitea/issues/38589))
- fix(actions): fail unexpandable reusable workflow callers and decouple the job emitter's cross-run processing ([#​38565](https://github.com/go-gitea/gitea/issues/38565)) ([#​38587](https://github.com/go-gitea/gitea/issues/38587))
- fix: keep serving valid ACME cert when renewal fails at startup ([#​38554](https://github.com/go-gitea/gitea/issues/38554)) ([#​38583](https://github.com/go-gitea/gitea/issues/38583))
- fix: branch protection user list ([#​38570](https://github.com/go-gitea/gitea/issues/38570)) ([#​38584](https://github.com/go-gitea/gitea/issues/38584))
- fix(pulls): respect diff.orderFile in diff file tree ([#​38566](https://github.com/go-gitea/gitea/issues/38566)) ([#​38578](https://github.com/go-gitea/gitea/issues/38578))
- fix(issue): make issue action (issue list batch operation) elements have correct attributes ([#​38575](https://github.com/go-gitea/gitea/issues/38575)) ([#​38580](https://github.com/go-gitea/gitea/issues/38580))
- fix(actions): support `matrix` when evaluating workflow `if` expression ([#​38474](https://github.com/go-gitea/gitea/issues/38474)) ([#​38557](https://github.com/go-gitea/gitea/issues/38557))
- fix(actions): align status icon span for Safari rendering ([#​38558](https://github.com/go-gitea/gitea/issues/38558)) ([#​38562](https://github.com/go-gitea/gitea/issues/38562))
- fix: revert git clone http redirection forbidden ([#​38530](https://github.com/go-gitea/gitea/issues/38530)) ([#​38545](https://github.com/go-gitea/gitea/issues/38545))
- fix: clean up orphaned user-keyed tables in deleteUser ([#​38511](https://github.com/go-gitea/gitea/issues/38511)) ([#​38514](https://github.com/go-gitea/gitea/issues/38514))
- fix(actions): coerce workflow\_dispatch boolean inputs to native types ([#​38472](https://github.com/go-gitea/gitea/issues/38472)) ([#​38521](https://github.com/go-gitea/gitea/issues/38521))
- fix: make the merge box button red if some checks fail ([#​38508](https://github.com/go-gitea/gitea/issues/38508)) ([#​38516](https://github.com/go-gitea/gitea/issues/38516))
- fix(pull): sign the commit when updating a branch by merge ([#​38441](https://github.com/go-gitea/gitea/issues/38441)) ([#​38499](https://github.com/go-gitea/gitea/issues/38499))
- fix: make commit message merge correctly ([#​38490](https://github.com/go-gitea/gitea/issues/38490)) ([#​38502](https://github.com/go-gitea/gitea/issues/38502))
- fix(actions): explain why a blocked or waiting job has not started ([#​38476](https://github.com/go-gitea/gitea/issues/38476)) ([#​38498](https://github.com/go-gitea/gitea/issues/38498))
- fix(actions): make `cancelled()` work in job `if` evaluation ([#​38495](https://github.com/go-gitea/gitea/issues/38495)) ([#​38497](https://github.com/go-gitea/gitea/issues/38497))
- fix(actions): show retention info on hover for expired artifacts ([#​38477](https://github.com/go-gitea/gitea/issues/38477)) ([#​38493](https://github.com/go-gitea/gitea/issues/38493))
- fix(actions): group reusable-workflow matrix legs in the workflow graph ([#​38475](https://github.com/go-gitea/gitea/issues/38475)) ([#​38492](https://github.com/go-gitea/gitea/issues/38492))
- fix: full file highlighting for git diff with CR char ([#​38484](https://github.com/go-gitea/gitea/issues/38484)) ([#​38491](https://github.com/go-gitea/gitea/issues/38491))
- fix(packages): serve noarch Alpine index for any requested architecture ([#​38479](https://github.com/go-gitea/gitea/issues/38479)) ([#​38486](https://github.com/go-gitea/gitea/issues/38486))
- fix: 500 error when updating user visibility ([#​38480](https://github.com/go-gitea/gitea/issues/38480)) ([#​38483](https://github.com/go-gitea/gitea/issues/38483))
- fix(actions): make job list item fully clickable ([#​38462](https://github.com/go-gitea/gitea/issues/38462)) ([#​38471](https://github.com/go-gitea/gitea/issues/38471))
- fix: mail template for push event ([#​38467](https://github.com/go-gitea/gitea/issues/38467)) ([#​38468](https://github.com/go-gitea/gitea/issues/38468))
- fix: make "test push webhook" always work ([#​38425](https://github.com/go-gitea/gitea/issues/38425)) ([#​38455](https://github.com/go-gitea/gitea/issues/38455))
- fix(actions): prevent bulk actions from affecting all runners ([#​38453](https://github.com/go-gitea/gitea/issues/38453)) ([#​38457](https://github.com/go-gitea/gitea/issues/38457))
- fix(org): align follow button and wrap description ([#​38448](https://github.com/go-gitea/gitea/issues/38448)) ([#​38454](https://github.com/go-gitea/gitea/issues/38454))
- fix(actions): populate `github.event` for scheduled runs ([#​38446](https://github.com/go-gitea/gitea/issues/38446)) ([#​38452](https://github.com/go-gitea/gitea/issues/38452))
- MISC
- refactor: git patch apply ([#​38637](https://github.com/go-gitea/gitea/issues/38637)) ([#​38638](https://github.com/go-gitea/gitea/issues/38638))
### [`v1.27.0`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1270---2026-07-13)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.26.4...v1.27.0)
- BREAKING
- Feat(actions)!: improve support for reusable workflows ([#​37478](https://github.com/go-gitea/gitea/issues/37478))
- Use Content-Security-Policy: script nonce ([#​37232](https://github.com/go-gitea/gitea/issues/37232))
- SECURITY
- Fix: various security fixes ([#​38406](https://github.com/go-gitea/gitea/issues/38406)) ([#​38426](https://github.com/go-gitea/gitea/issues/38426))
- Fix(security): harden access checks and migration validation ([#​38324](https://github.com/go-gitea/gitea/issues/38324)) ([#​38400](https://github.com/go-gitea/gitea/issues/38400))
- Fix: enforce public-only token scope and harden push options / locale parsing ([#​38323](https://github.com/go-gitea/gitea/issues/38323)) ([#​38399](https://github.com/go-gitea/gitea/issues/38399))
- Fix(pull): re-evaluate review official flag on target branch change ([#​38319](https://github.com/go-gitea/gitea/issues/38319)) ([#​38402](https://github.com/go-gitea/gitea/issues/38402))
- Fix(api): stop leaking private repo metadata after access revocation ([#​38321](https://github.com/go-gitea/gitea/issues/38321)) ([#​38390](https://github.com/go-gitea/gitea/issues/38390))
- Fix(lfs): require proof of possession for cross-repo objects ([#​38322](https://github.com/go-gitea/gitea/issues/38322)) ([#​38389](https://github.com/go-gitea/gitea/issues/38389))
- Fix(mirror): disable HTTP redirects on pull mirror sync ([#​38320](https://github.com/go-gitea/gitea/issues/38320)) ([#​38367](https://github.com/go-gitea/gitea/issues/38367))
- Fix(release): validate web attachment renames against allowed types ([#​38314](https://github.com/go-gitea/gitea/issues/38314)) ([#​38328](https://github.com/go-gitea/gitea/issues/38328))
- Fix(release): gate draft release attachments on web download endpoints ([#​38318](https://github.com/go-gitea/gitea/issues/38318)) ([#​38325](https://github.com/go-gitea/gitea/issues/38325))
- Fix(deps): update module github.com/go-git/go-git/v5 to v5.19.1 \[security] ([#​37786](https://github.com/go-gitea/gitea/issues/37786))
- Fix(oauth): restrict introspection to the token's client ([#​38042](https://github.com/go-gitea/gitea/issues/38042))
- Fix(api): don't expose private org membership via public\_members ([#​38145](https://github.com/go-gitea/gitea/issues/38145))
- Fix(actions): deny fork-PR cross-repo access via collaborative owner ([#​38214](https://github.com/go-gitea/gitea/issues/38214))
- Fix(migrations): prevent path traversal in repository restore ([#​38215](https://github.com/go-gitea/gitea/issues/38215))
- Feat(security): set X-Content-Type-Options: nosniff by default ([#​37354](https://github.com/go-gitea/gitea/issues/37354))
- FEATURES
- Feat(actions): add workflow status badge modal ([#​38196](https://github.com/go-gitea/gitea/issues/38196))
- Feat(actions): support owner-level and global scoped workflows ([#​38154](https://github.com/go-gitea/gitea/issues/38154))
- Feat(api): support ref suffixes in compare ([#​38148](https://github.com/go-gitea/gitea/issues/38148))
- Feat(actions): implement `jobs.<job_id>.continue-on-error` ([#​38100](https://github.com/go-gitea/gitea/issues/38100))
- Feat(actions): show run status on browser tab favicon ([#​38071](https://github.com/go-gitea/gitea/issues/38071))
- Feat(api): add token introspection and self-deletion endpoint ([#​37995](https://github.com/go-gitea/gitea/issues/37995))
- Feat(repo): split repository creation limit into user and org scopes ([#​37872](https://github.com/go-gitea/gitea/issues/37872))
- Feat(actions): bulk delete, disable and enable runners in admin UI ([#​37869](https://github.com/go-gitea/gitea/issues/37869))
- Feat(actions): List workflows that were executed once but got removed from the default branch ([#​37835](https://github.com/go-gitea/gitea/issues/37835))
- Feat(org): add team visibility so org members can discover teams ([#​37680](https://github.com/go-gitea/gitea/issues/37680))
- Feat: add raw diff/patch endpoint for repository comparisons ([#​37632](https://github.com/go-gitea/gitea/issues/37632))
- Feat(oauth): Support AWS Cognito OAuth2 provider ([#​37607](https://github.com/go-gitea/gitea/issues/37607))
- Feat: Add avatar stacks ([#​37594](https://github.com/go-gitea/gitea/issues/37594))
- Feat(actions): add job summaries (GITHUB\_STEP\_SUMMARY) ([#​37500](https://github.com/go-gitea/gitea/issues/37500))
- Feat(web): Add Jupyter Notebook (.ipynb) Rendering Support ([#​37433](https://github.com/go-gitea/gitea/issues/37433))
- Support for Custom URI Schemes in OAuth2 Redirect URIs ([#​37356](https://github.com/go-gitea/gitea/issues/37356))
- Feat(orgs): Add search bar for organization members tab page ([#​37347](https://github.com/go-gitea/gitea/issues/37347))
- Feat(api): Add assignees APIs ([#​37330](https://github.com/go-gitea/gitea/issues/37330))
- Feat(api): Add GET /repos/{owner}/{repo}/actions/workflows/{workflow\_id}/runs ([#​37196](https://github.com/go-gitea/gitea/issues/37196))
- Introduce `ActionRunAttempt` to represent each execution of a run ([#​37119](https://github.com/go-gitea/gitea/issues/37119))
- Serve OpenAPI 3.0 spec at /openapi.v1.json ([#​37038](https://github.com/go-gitea/gitea/issues/37038))
- Add project column picker to issue and pull request sidebar ([#​37037](https://github.com/go-gitea/gitea/issues/37037))
- Allow multiple projects per issue and pull requests ([#​36784](https://github.com/go-gitea/gitea/issues/36784))
- Add bulk repository deletion for organizations ([#​36763](https://github.com/go-gitea/gitea/issues/36763))
- Add API endpoint to reply to pull request review comments ([#​36683](https://github.com/go-gitea/gitea/issues/36683))
- Feat: Add bypass allowlist for branch protection ([#​36514](https://github.com/go-gitea/gitea/issues/36514))
- Feat(ui): add "follow rename" to file commit history list ([#​34994](https://github.com/go-gitea/gitea/issues/34994))
- Feat(ssh): auto generate additional ssh keys ([#​33974](https://github.com/go-gitea/gitea/issues/33974))
- ENHANCEMENTS
- Enhance(actions): only create filtered-out workflow commit status for required contexts ([#​38371](https://github.com/go-gitea/gitea/issues/38371)) ([#​38385](https://github.com/go-gitea/gitea/issues/38385))
- Enhance: allow builtin default git config options to be overridden ([#​38172](https://github.com/go-gitea/gitea/issues/38172))
- Enhance: allow MathML core elements ([#​38034](https://github.com/go-gitea/gitea/issues/38034))
- Feat(api): add q parameter to list branches API for server-side filtering ([#​37982](https://github.com/go-gitea/gitea/issues/37982))
- Enhance(markup): improve issue title rendering ([#​37908](https://github.com/go-gitea/gitea/issues/37908))
- Enhance(actions): set descriptive browser tab title on run view ([#​37870](https://github.com/go-gitea/gitea/issues/37870))
- Enhance(actions): show workflow name from YAML instead of filename ([#​37833](https://github.com/go-gitea/gitea/issues/37833))
- Feat(actions): add before/after to PR synchronize event payload ([#​37827](https://github.com/go-gitea/gitea/issues/37827))
- Enhance(actions): add branch filters to run list ([#​37826](https://github.com/go-gitea/gitea/issues/37826))
- Enhance(actions): Make Summary UI more beautiful with more infos ([#​37824](https://github.com/go-gitea/gitea/issues/37824))
- Feat: add copy button to action step header, improve other copy buttons ([#​37744](https://github.com/go-gitea/gitea/issues/37744))
- Feat(web): also display PR counts in repo list ([#​37739](https://github.com/go-gitea/gitea/issues/37739))
- Fix(icon): use repo-forked icon to display forks count ([#​37731](https://github.com/go-gitea/gitea/issues/37731))
- Feat(api): add sort and order query parameters to job list endpoints ([#​37672](https://github.com/go-gitea/gitea/issues/37672))
- Feat(api): add last\_sync to repository API ([#​37566](https://github.com/go-gitea/gitea/issues/37566))
- Enhance: Adjust Workflow Graph styling ([#​37497](https://github.com/go-gitea/gitea/issues/37497))
- Improve code editor text selection and clean up lint enablement ([#​37474](https://github.com/go-gitea/gitea/issues/37474))
- Add mirror auth updates to repo edit API and settings ([#​37468](https://github.com/go-gitea/gitea/issues/37468))
- Feat: Add default PR branch update style setting ([#​37410](https://github.com/go-gitea/gitea/issues/37410))
- Fix inconsistent disabled styling on logged-out repo header buttons ([#​37406](https://github.com/go-gitea/gitea/issues/37406))
- Allow fast-forward-only merge when signed commits are required ([#​37335](https://github.com/go-gitea/gitea/issues/37335))
- Enhance styling in actions page ([#​37323](https://github.com/go-gitea/gitea/issues/37323))
- Add `ExternalIDClaim` option for OAuth2 OIDC auth source ([#​37229](https://github.com/go-gitea/gitea/issues/37229))
- Fix: improve actions status icons and texts ([#​37206](https://github.com/go-gitea/gitea/issues/37206))
- Make Markdown fenced code block work with more syntaxes ([#​37154](https://github.com/go-gitea/gitea/issues/37154))
- Fix: Sort action run jobs by JobID and Name with matrix examples ([#​37046](https://github.com/go-gitea/gitea/issues/37046))
- Add pagination and search box to org teams list ([#​37245](https://github.com/go-gitea/gitea/issues/37245))
- Workflow Artifact Info Hover ([#​37100](https://github.com/go-gitea/gitea/issues/37100))
- Feat(editor): broaden language detection in web code editor ([#​37619](https://github.com/go-gitea/gitea/issues/37619))
- PERFORMANCE
- Perf(actions): debounce runner heartbeat writes and throttle task picks ([#​38281](https://github.com/go-gitea/gitea/issues/38281)) ([#​38368](https://github.com/go-gitea/gitea/issues/38368))
- Perf(web): sort the action\_run query by a repo-scoped index when possible ([#​38155](https://github.com/go-gitea/gitea/issues/38155))
- Perf: Various performance regression fixes ([#​38078](https://github.com/go-gitea/gitea/issues/38078))
- Perf: extend action `c_u` index to include `created_unix` for faster dashboard feeds ([#​38076](https://github.com/go-gitea/gitea/issues/38076))
- Batch-load related data in actions run, job, and task API endpoints ([#​37032](https://github.com/go-gitea/gitea/issues/37032))
- BUGFIXES
- Fix(util): reject invalid characters between time-estimate units ([#​38416](https://github.com/go-gitea/gitea/issues/38416)) ([#​38423](https://github.com/go-gitea/gitea/issues/38423))
- Fix: represent a deleted assignee team as a Ghost team ([#​38413](https://github.com/go-gitea/gitea/issues/38413)) ([#​38419](https://github.com/go-gitea/gitea/issues/38419))
- Fix(turnstile): route CAPTCHA verification through the configured proxy ([#​38412](https://github.com/go-gitea/gitea/issues/38412)) ([#​38420](https://github.com/go-gitea/gitea/issues/38420))
- Fix: refresh pull request merge box when the commit status is pending ([#​38410](https://github.com/go-gitea/gitea/issues/38410)) ([#​38411](https://github.com/go-gitea/gitea/issues/38411))
- Fix: actions task state concurrent update ([#​38405](https://github.com/go-gitea/gitea/issues/38405)) ([#​38409](https://github.com/go-gitea/gitea/issues/38409))
- Fix(actions): keep workflow run trailing on one row with long branch names ([#​38382](https://github.com/go-gitea/gitea/issues/38382)) ([#​38403](https://github.com/go-gitea/gitea/issues/38403))
- Fix(web): use locale-aware date formatting for contribution calendar tooltips ([#​38398](https://github.com/go-gitea/gitea/issues/38398)) ([#​38401](https://github.com/go-gitea/gitea/issues/38401))
- Fix: co-author detection ([#​38392](https://github.com/go-gitea/gitea/issues/38392)) ([#​38397](https://github.com/go-gitea/gitea/issues/38397))
- Fix: incorrect co-author detection on commit page ([#​38386](https://github.com/go-gitea/gitea/issues/38386)) ([#​38387](https://github.com/go-gitea/gitea/issues/38387))
- Fix(ui): restore commits table column widths ([#​38379](https://github.com/go-gitea/gitea/issues/38379)) ([#​38383](https://github.com/go-gitea/gitea/issues/38383))
- Fix: golang html template url escaping ([#​38363](https://github.com/go-gitea/gitea/issues/38363)) ([#​38369](https://github.com/go-gitea/gitea/issues/38369))
- Fix: minio init check ([#​38355](https://github.com/go-gitea/gitea/issues/38355)) ([#​38361](https://github.com/go-gitea/gitea/issues/38361))
- Fix: org project view assignee list ([#​38357](https://github.com/go-gitea/gitea/issues/38357)) ([#​38360](https://github.com/go-gitea/gitea/issues/38360))
- Fix(actions): release claimed task if context is cancelled during `FetchTask` ([#​38343](https://github.com/go-gitea/gitea/issues/38343)) ([#​38347](https://github.com/go-gitea/gitea/issues/38347))
- Fix(actions): make runner list pagination order deterministic ([#​38313](https://github.com/go-gitea/gitea/issues/38313)) ([#​38327](https://github.com/go-gitea/gitea/issues/38327))
- Fix: Improve since/until when counting commits for X-Total-Count ([#​38243](https://github.com/go-gitea/gitea/issues/38243)) ([#​38304](https://github.com/go-gitea/gitea/issues/38304))
- Fix(actions): prevent chevron overlap with log text when timestamps are enabled ([#​38227](https://github.com/go-gitea/gitea/issues/38227)) ([#​38307](https://github.com/go-gitea/gitea/issues/38307))
- Fix(workflows): branch protection status checks fail when workflow uses on: paths filter ([#​38237](https://github.com/go-gitea/gitea/issues/38237)) ([#​38302](https://github.com/go-gitea/gitea/issues/38302))
- Fix(oauth2): persist linkAccountData during auto-link 2FA flow ([#​38274](https://github.com/go-gitea/gitea/issues/38274)) ([#​38295](https://github.com/go-gitea/gitea/issues/38295))
- Fix(actions): allow Actions bot to push to protected branches ([#​38284](https://github.com/go-gitea/gitea/issues/38284)) ([#​38293](https://github.com/go-gitea/gitea/issues/38293))
- Fix(actions): include all aggregable run statuses in status filter ([#​38280](https://github.com/go-gitea/gitea/issues/38280)) ([#​38287](https://github.com/go-gitea/gitea/issues/38287))
- Fix(archiver): use serializable repo-archive queue payload ([#​38273](https://github.com/go-gitea/gitea/issues/38273)) ([#​38283](https://github.com/go-gitea/gitea/issues/38283))
- Fix: update npm dependencies, fix misc issues ([#​38257](https://github.com/go-gitea/gitea/issues/38257))
- Fix(api): respect since/until when counting commits for X-Total-Count ([#​38204](https://github.com/go-gitea/gitea/issues/38204))
- Fix: codemirror regressions ([#​38248](https://github.com/go-gitea/gitea/issues/38248))
- Fix(api): support HEAD requests on all API GET endpoints ([#​38245](https://github.com/go-gitea/gitea/issues/38245))
- Fix(actions): Cleanup workflow status badge code ([#​38241](https://github.com/go-gitea/gitea/issues/38241))
- Fix(web): Correctly align the "disabled" label on larger workflow names ([#​38240](https://github.com/go-gitea/gitea/issues/38240))
- Fix(actions): don't swallow HTML entities into linkified URLs ([#​38239](https://github.com/go-gitea/gitea/issues/38239))
- Fix(packages): accept npm "repository" and "bin" in string form ([#​38236](https://github.com/go-gitea/gitea/issues/38236))
- Fix(actions): fix 500 error when canceling a canceling task ([#​38223](https://github.com/go-gitea/gitea/issues/38223))
- Fix(deps): update module golang.org/x/image to v0.43.0 \[security] ([#​38219](https://github.com/go-gitea/gitea/issues/38219))
- Fix(mssql): convert legacy DATETIME columns to DATETIME2 ([#​38216](https://github.com/go-gitea/gitea/issues/38216))
- Fix(api): deny private org member enumeration via /members ([#​38213](https://github.com/go-gitea/gitea/issues/38213))
- Fix(actions): ensure all waiting jobs get runners in large workflows ([#​38200](https://github.com/go-gitea/gitea/issues/38200))
- Fix(deps): update go dependencies ([#​38194](https://github.com/go-gitea/gitea/issues/38194))
- Fix(deps): update npm dependencies ([#​38193](https://github.com/go-gitea/gitea/issues/38193))
- Fix(cli): default must-change-password to false for bot users ([#​38175](https://github.com/go-gitea/gitea/issues/38175))
- Fix(actions): show run index in run view and fix summary graph height ([#​38165](https://github.com/go-gitea/gitea/issues/38165))
- Fix: csp ([#​38162](https://github.com/go-gitea/gitea/issues/38162))
- Fix(deps): update npm dependencies ([#​38123](https://github.com/go-gitea/gitea/issues/38123))
- Fix(mssql): expand legacy issue and comment long-text columns ([#​38120](https://github.com/go-gitea/gitea/issues/38120))
- Fix(packages): validate debian distribution and component names ([#​38116](https://github.com/go-gitea/gitea/issues/38116))
- Fix(packages): validate module version in goproxy ParsePackage ([#​38104](https://github.com/go-gitea/gitea/issues/38104))
- Fix(deps): update dependency esbuild to v0.28.1 \[security] ([#​38097](https://github.com/go-gitea/gitea/issues/38097))
- Fix: git push hook post receive ([#​38089](https://github.com/go-gitea/gitea/issues/38089))
- Fix(ui): prevent commit status popup overflowing its row ([#​38081](https://github.com/go-gitea/gitea/issues/38081))
- Fix: validate gem name in rubygems parseMetadataFile ([#​38061](https://github.com/go-gitea/gitea/issues/38061))
- Fix: commit display name ([#​38057](https://github.com/go-gitea/gitea/issues/38057))
- Fix: csp regressions ([#​38047](https://github.com/go-gitea/gitea/issues/38047))
- Fix: api error message ([#​38031](https://github.com/go-gitea/gitea/issues/38031))
- Fix(deps): update npm dependencies ([#​38029](https://github.com/go-gitea/gitea/issues/38029))
- Fix: pgsql lint ([#​38022](https://github.com/go-gitea/gitea/issues/38022))
- Fix(indexer): fix assignee filters in issue search ([#​38021](https://github.com/go-gitea/gitea/issues/38021))
- Fix: various dropdown problems ([#​38020](https://github.com/go-gitea/gitea/issues/38020))
- Fix: refactor git error handling and make archive streaming handle non-existing commit id ([#​38007](https://github.com/go-gitea/gitea/issues/38007))
- Fix: raise git required version to 2.13 ([#​37996](https://github.com/go-gitea/gitea/issues/37996))
- Fix: remove "no-transfrom" from the cache-control header ([#​37985](https://github.com/go-gitea/gitea/issues/37985))
- Fix(deps): update module github.com/google/go-github/v87 to v88 ([#​37971](https://github.com/go-gitea/gitea/issues/37971))
- Fix: use committer time where ever possible as default ([#​37969](https://github.com/go-gitea/gitea/issues/37969))
- Fix(deps): update npm dependencies, remove nolyfill ([#​37968](https://github.com/go-gitea/gitea/issues/37968))
- Fix(deps): update go dependencies ([#​37967](https://github.com/go-gitea/gitea/issues/37967))
- Fix(pull): preserve squash message trailers and additional commit messages ([#​37954](https://github.com/go-gitea/gitea/issues/37954))
- Fix(deps): update module golang.org/x/image to v0.41.0 \[security] ([#​37904](https://github.com/go-gitea/gitea/issues/37904))
- Fix: support ##\[command] log prefix in action run UI ([#​37882](https://github.com/go-gitea/gitea/issues/37882))
- Fix(deps): update module github.com/google/go-github/v86 to v87 ([#​37845](https://github.com/go-gitea/gitea/issues/37845))
- Fix(deps): update npm dependencies ([#​37844](https://github.com/go-gitea/gitea/issues/37844))
- Fix(deps): update go dependencies ([#​37841](https://github.com/go-gitea/gitea/issues/37841))
- Fix(frontend): resolve Vite assets by manifest source path ([#​37836](https://github.com/go-gitea/gitea/issues/37836))
- Fix(locales): Replace hardcoded strings ([#​37788](https://github.com/go-gitea/gitea/issues/37788))
- Fix(packages): render markdown links relative to linked repo ([#​37676](https://github.com/go-gitea/gitea/issues/37676))
- Fix: persist mirror repository metadata ([#​37519](https://github.com/go-gitea/gitea/issues/37519))
- Fix cmd tests by mocking builtin paths ([#​37369](https://github.com/go-gitea/gitea/issues/37369))
- Add `form-fetch-action` to some forms, fix "fetch action" resp bug ([#​37305](https://github.com/go-gitea/gitea/issues/37305))
- Feat: execute post run cleanup when workflow is cancelled ([#​37275](https://github.com/go-gitea/gitea/issues/37275))
- Fix `relative-time` error and improve global error handler ([#​37241](https://github.com/go-gitea/gitea/issues/37241))
- Refactor flash message and remove SanitizeHTML template func ([#​37179](https://github.com/go-gitea/gitea/issues/37179))
- Fix Repository transferring page ([#​37277](https://github.com/go-gitea/gitea/issues/37277))
- TESTING
- Test(e2e): fix race in pdf file render test ([#​38380](https://github.com/go-gitea/gitea/issues/38380)) ([#​38381](https://github.com/go-gitea/gitea/issues/38381))
- Test: compare key file contents instead of `FileInfo` in `TestInitKeys` ([#​38330](https://github.com/go-gitea/gitea/issues/38330)) ([#​38331](https://github.com/go-gitea/gitea/issues/38331))
- Test: speed up two tests ([#​37905](https://github.com/go-gitea/gitea/issues/37905))
- Test: Fix random failure test ([#​37887](https://github.com/go-gitea/gitea/issues/37887))
- Test: fix flaky `issue-comment` close test ([#​37880](https://github.com/go-gitea/gitea/issues/37880))
- Test: enable WAL for sqlite integration tests ([#​37861](https://github.com/go-gitea/gitea/issues/37861))
- Test: fix flaky `TestResourceIndex` and reduce its runtime ([#​37847](https://github.com/go-gitea/gitea/issues/37847))
- Test: run `TestAPIRepoMigrate` offline via a local clone source ([#​37817](https://github.com/go-gitea/gitea/issues/37817))
- Ci: shard tests and reduce redundant work ([#​37618](https://github.com/go-gitea/gitea/issues/37618))
- Test(e2e): run playwright via container ([#​37300](https://github.com/go-gitea/gitea/issues/37300))
- Remove external service dependencies in migration tests ([#​36866](https://github.com/go-gitea/gitea/issues/36866))
- Refactor: only reset a database table when the table's data was changed ([#​37573](https://github.com/go-gitea/gitea/issues/37573))
- BUILD
- Refactor: use modernc sqlite driver as default ([#​37562](https://github.com/go-gitea/gitea/issues/37562))
- Fix(actions): authenticate snapcraft before nightly remote build ([#​38252](https://github.com/go-gitea/gitea/issues/38252))
- Ci: cap Elasticsearch heap in db-tests ([#​37816](https://github.com/go-gitea/gitea/issues/37816))
- Build(snap): publish nightly version to snapcraft via actions ([#​37814](https://github.com/go-gitea/gitea/issues/37814))
- Ci: split pgsql shards into plain jobs, dedupe setup actions ([#​37802](https://github.com/go-gitea/gitea/issues/37802))
- Ci: narrow files-changed frontend filter ([#​37749](https://github.com/go-gitea/gitea/issues/37749))
- Ci: add `zizmor` to `lint-actions` ([#​37720](https://github.com/go-gitea/gitea/issues/37720))
- Chore: clean up "contrib" dir ([#​37690](https://github.com/go-gitea/gitea/issues/37690))
- Fix: snap build (main branch) ([#​37685](https://github.com/go-gitea/gitea/issues/37685))
- Ci: Also lint json5 files ([#​37659](https://github.com/go-gitea/gitea/issues/37659))
- Build: update pnpm to v11 ([#​37591](https://github.com/go-gitea/gitea/issues/37591))
- Refactor(deps): migrate from `nektos/act` fork to `gitea/runner` ([#​37557](https://github.com/go-gitea/gitea/issues/37557))
- Update go js py dependencies ([#​37525](https://github.com/go-gitea/gitea/issues/37525))
- Ci: lint PR titles with commitlint ([#​37498](https://github.com/go-gitea/gitea/issues/37498))
- Chore: upgrade Go version in devcontainer image to 1.26 ([#​37374](https://github.com/go-gitea/gitea/issues/37374))
- Update GitHub Actions to latest major versions ([#​37313](https://github.com/go-gitea/gitea/issues/37313))
- Update go js dependencies ([#​37312](https://github.com/go-gitea/gitea/issues/37312))
- Fail vite build on rolldown warnings via NODE\_ENV=test ([#​37270](https://github.com/go-gitea/gitea/issues/37270))
- Replace custom Go formatter with `golangci-lint fmt` ([#​37194](https://github.com/go-gitea/gitea/issues/37194))
- Integrate renovate bot for all dependency updates ([#​37050](https://github.com/go-gitea/gitea/issues/37050))
- Build(sign): move to sigstore ([#​38250](https://github.com/go-gitea/gitea/issues/38250))
- DOCS
- Docs: update changelog for 1.26.3 & 1.26.4 ([#​38178](https://github.com/go-gitea/gitea/issues/38178))
- Update 1.26.1 changelog in main ([#​37442](https://github.com/go-gitea/gitea/issues/37442))
- Docs: fix duplicated word in foreachref doc comment ([#​38161](https://github.com/go-gitea/gitea/issues/38161))
- Docs: Clarify criteria for becoming a merger ([#​38113](https://github.com/go-gitea/gitea/issues/38113))
- Docs: Publish TOC Election Result 2026 ([#​38111](https://github.com/go-gitea/gitea/issues/38111))
- Docs: mark openapi3 as autogenerated in attributes ([#​37963](https://github.com/go-gitea/gitea/issues/37963))
- Docs: add development setup guide ([#​37960](https://github.com/go-gitea/gitea/issues/37960))
- MISC
- Refactor: lint bare `fill`/`stroke` colors, add vars for git graph color series ([#​37543](https://github.com/go-gitea/gitea/issues/37543))
- Remove htmx ([#​37224](https://github.com/go-gitea/gitea/issues/37224))
- Refactor htmx and fetch-action related code ([#​37186](https://github.com/go-gitea/gitea/issues/37186))
- Revert(sign): restore gpg ([#​38251](https://github.com/go-gitea/gitea/issues/38251))
- Refactor: replace legacy `delete-button` with `link-action` ([#​38143](https://github.com/go-gitea/gitea/issues/38143))
- Refactor(actions): read runner capabilities from proto field ([#​38068](https://github.com/go-gitea/gitea/issues/38068))
- Refactor(api): clarify APIError message usage and fix legacy lint error ([#​38012](https://github.com/go-gitea/gitea/issues/38012))
- Refactor: Use db.Get\[] instead of db.GetEngine(ctx).Get(bean) to avoid zero value fetching wrong database record ([#​37977](https://github.com/go-gitea/gitea/issues/37977))
- Enhance: Migrate remaining gopkg.in/yaml.v3 usages to go.yaml.in/yaml/v4 ([#​37866](https://github.com/go-gitea/gitea/issues/37866))
- Fix(deps): update go dependencies ([#​37851](https://github.com/go-gitea/gitea/issues/37851))
- Ci: Fix sync PR labels from the conventional-commit title ([#​37784](https://github.com/go-gitea/gitea/issues/37784)) ([#​37825](https://github.com/go-gitea/gitea/issues/37825))
- Ci: tweak `files-changed`, add `free-disk-space` ([#​37819](https://github.com/go-gitea/gitea/issues/37819))
- Fix(deps): update module golang.org/x/crypto to v0.52.0 \[security] ([#​37806](https://github.com/go-gitea/gitea/issues/37806))
- Test(e2e): add comment, release, star, PR and fork tests ([#​37800](https://github.com/go-gitea/gitea/issues/37800))
- Chore: simplify issue and pull request templates ([#​37799](https://github.com/go-gitea/gitea/issues/37799))
- Chore: Update giteabot to fix failure when backport ([#​37789](https://github.com/go-gitea/gitea/issues/37789))
- Fix(api): handle partial failures in push mirror synchronization gracefully ([#​37782](https://github.com/go-gitea/gitea/issues/37782))
- Fix(deps): update module gitlab.com/gitlab-org/api/client-go/v2 to v2.26.0 ([#​37771](https://github.com/go-gitea/gitea/issues/37771))
- Ci: split giteabot workflow ([#​37770](https://github.com/go-gitea/gitea/issues/37770))
- Fix(deps): update npm dependencies ([#​37768](https://github.com/go-gitea/gitea/issues/37768))
- Refactor(waitgroup): replace Add/Done goroutines with WaitGroup.Go ([#​37764](https://github.com/go-gitea/gitea/issues/37764))
- Fix(deps): update module google.golang.org/grpc to v1.81.1 ([#​37762](https://github.com/go-gitea/gitea/issues/37762))
- Ci: fix cache-related issues ([#​37761](https://github.com/go-gitea/gitea/issues/37761))
- Chore: fix tests ([#​37760](https://github.com/go-gitea/gitea/issues/37760))
- Fix(deps): update module github.com/google/go-github/v85 to v86 ([#​37754](https://github.com/go-gitea/gitea/issues/37754))
- Fix(deps): update npm dependencies ([#​37753](https://github.com/go-gitea/gitea/issues/37753))
- Fix(deps): update go dependencies ([#​37752](https://github.com/go-gitea/gitea/issues/37752))
- Chore(deps): update action dependencies ([#​37751](https://github.com/go-gitea/gitea/issues/37751))
- Fix(markup): wrap indented code blocks for the code-copy button ([#​37748](https://github.com/go-gitea/gitea/issues/37748))
- Chore(db): introduce db.Session and db.EngineMigration interfaces ([#​37746](https://github.com/go-gitea/gitea/issues/37746))
- Refactor(glob): use strings.Builder for regexp compilation ([#​37730](https://github.com/go-gitea/gitea/issues/37730))
- Chore(doctor): remove four obsolete doctor check implementations ([#​37728](https://github.com/go-gitea/gitea/issues/37728))
- Refactor(org): simplify owner-team org repo creation logic ([#​37727](https://github.com/go-gitea/gitea/issues/37727))
- Refactor: move `workflowpattern` into `modules/actions` ([#​37717](https://github.com/go-gitea/gitea/issues/37717))
- Chore: clean up tests ([#​37715](https://github.com/go-gitea/gitea/issues/37715))
- Style: misc UI fixes ([#​37691](https://github.com/go-gitea/gitea/issues/37691))
- Ci: add shellcheck linter ([#​37682](https://github.com/go-gitea/gitea/issues/37682))
- Fix: catch and fix more lint problems ([#​37674](https://github.com/go-gitea/gitea/issues/37674))
- Fix(deps): update dependency mermaid to v11.15.0 \[security], add e2e test ([#​37662](https://github.com/go-gitea/gitea/issues/37662))
- Fix(deps): update npm dependencies ([#​37647](https://github.com/go-gitea/gitea/issues/37647))
- Ci(renovate): update Go import paths on major bumps ([#​37641](https://github.com/go-gitea/gitea/issues/37641))
- Fix(deps): update go dependencies (major) ([#​37639](https://github.com/go-gitea/gitea/issues/37639))
- Chore(deps): update action dependencies (major) ([#​37638](https://github.com/go-gitea/gitea/issues/37638))
- Fix(deps): update module code.gitea.io/sdk/gitea to v0.25.0 ([#​37637](https://github.com/go-gitea/gitea/issues/37637))
- Fix(deps): update npm dependencies ([#​37636](https://github.com/go-gitea/gitea/issues/37636))
- Refactor(log): replace log.Critical with log.Error ([#​37624](https://github.com/go-gitea/gitea/issues/37624))
- Build(deps): bump fast-uri from 3.1.0 to 3.1.2 ([#​37616](https://github.com/go-gitea/gitea/issues/37616))
- Chore(deps): update action dependencies ([#​37603](https://github.com/go-gitea/gitea/issues/37603))
- Ci: allow `chore` type in PR title lint ([#​37575](https://github.com/go-gitea/gitea/issues/37575))
- Ci: increase renovate frequency and fix RENOVATE\_ALLOWED\_POST\_UPGRADE\_COMMANDS ([#​37565](https://github.com/go-gitea/gitea/issues/37565))
- Docs: fix 4 typos in CHANGELOG.md ([#​37549](https://github.com/go-gitea/gitea/issues/37549))
- Fix(deps): update go dependencies ([#​37541](https://github.com/go-gitea/gitea/issues/37541))
- Chore(deps): update action dependencies ([#​37540](https://github.com/go-gitea/gitea/issues/37540))
- Refactor pull request view (6) ([#​37522](https://github.com/go-gitea/gitea/issues/37522))
- Fix: redirect early CLI console logger to stderr ([#​37507](https://github.com/go-gitea/gitea/issues/37507))
- Refactor "flex-list" to "flex-divided-list" ([#​37505](https://github.com/go-gitea/gitea/issues/37505))
- Refactor compare diff/pull page (1) ([#​37481](https://github.com/go-gitea/gitea/issues/37481))
- Refactor pull request view (4) ([#​37451](https://github.com/go-gitea/gitea/issues/37451))
- Refactor: use named `Permission` field in `Repository` struct instead of anonymous embedding ([#​37441](https://github.com/go-gitea/gitea/issues/37441))
- Replace `olivere/elastic` with REST API client, add OpenSearch support ([#​37411](https://github.com/go-gitea/gitea/issues/37411))
- Refactor: serve site manifest via `/assets/site-manifest.json` endpoint ([#​37405](https://github.com/go-gitea/gitea/issues/37405))
- Remove IsValidExternalURL/IsAPIURL and use IsValidURL at call sites ([#​37364](https://github.com/go-gitea/gitea/issues/37364))
- Update `Block a user` form ([#​37359](https://github.com/go-gitea/gitea/issues/37359))
- Move review request functions to a standalone file ([#​37358](https://github.com/go-gitea/gitea/issues/37358))
- Enable strict TypeScript, add `errorMessage` helper ([#​37292](https://github.com/go-gitea/gitea/issues/37292))
- Refactor frontend `tw-justify-between` layouts to `flex-left-right` ([#​37291](https://github.com/go-gitea/gitea/issues/37291))
- Update Nix flake ([#​37284](https://github.com/go-gitea/gitea/issues/37284))
- Remove `SubmitEvent` polyfill ([#​37276](https://github.com/go-gitea/gitea/issues/37276))
- Remove dead code identified by `deadcode` tool ([#​37271](https://github.com/go-gitea/gitea/issues/37271))
- Upgrade go-git to v5.18.0 ([#​37268](https://github.com/go-gitea/gitea/issues/37268))
- Don't add useless labels which will bother changelog generation ([#​37267](https://github.com/go-gitea/gitea/issues/37267))
- Move heatmap to first-party code ([#​37262](https://github.com/go-gitea/gitea/issues/37262))
- Tests/integration: simplify code ([#​37249](https://github.com/go-gitea/gitea/issues/37249))
- Remove error returns from crypto random helpers and callers ([#​37240](https://github.com/go-gitea/gitea/issues/37240))
- Refactor: simplify ParseCatFileTreeLine and catBatchParseTreeEntries ([#​37210](https://github.com/go-gitea/gitea/issues/37210))
- Refactor "htmx" to "fetch action" ([#​37208](https://github.com/go-gitea/gitea/issues/37208))
- Update go js py dependencies ([#​37204](https://github.com/go-gitea/gitea/issues/37204))
- Add comment for the design of "user activity time" ([#​37195](https://github.com/go-gitea/gitea/issues/37195))
- Remove outdated RunUser logic ([#​37180](https://github.com/go-gitea/gitea/issues/37180))
- Models/fixtures: add "DO NOT add more test data" comment to all yml fixture files ([#​37150](https://github.com/go-gitea/gitea/issues/37150))
- Update javascript dependencies ([#​37142](https://github.com/go-gitea/gitea/issues/37142))
- Update go dependencies ([#​37141](https://github.com/go-gitea/gitea/issues/37141))
- Frontport changelog of v1.26.0-rc0 ([#​37138](https://github.com/go-gitea/gitea/issues/37138))
- Extend issue context popup beyond markdown content ([#​36908](https://github.com/go-gitea/gitea/issues/36908))
### [`v1.26.4`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1264---2026-06-21)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.26.3...v1.26.4)
- SECURITY
- fix(auth): do not auto-reactivate disabled users on OAuth2 callback ([#​38009](https://github.com/go-gitea/gitea/issues/38009)) ([#​38183](https://github.com/go-gitea/gitea/issues/38183))
- BUGFIXES
- fix: walk git log context error handling ([#​38182](https://github.com/go-gitea/gitea/issues/38182)) ([#​38185](https://github.com/go-gitea/gitea/issues/38185))
### [`v1.26.3`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1263---2026-06-18)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.26.2...v1.26.3)
- BREAKING
- fix(actions)!: require merged PR to bypass fork PR approval gate ([#​38010](https://github.com/go-gitea/gitea/issues/38010)) ([#​38041](https://github.com/go-gitea/gitea/issues/38041))
- SECURITY
- fix(hostmatcher): patch incorrect private list ([#​38170](https://github.com/go-gitea/gitea/issues/38170)) ([#​38173](https://github.com/go-gitea/gitea/issues/38173))
- fix: Various security fixes ([#​38103](https://github.com/go-gitea/gitea/issues/38103)) ([#​38151](https://github.com/go-gitea/gitea/issues/38151))
- fix: Various sec fixes ([#​38108](https://github.com/go-gitea/gitea/issues/38108)) ([#​38147](https://github.com/go-gitea/gitea/issues/38147))
- fix: allow git clone of private repos with anonymous code access ([#​38074](https://github.com/go-gitea/gitea/issues/38074)) ([#​38146](https://github.com/go-gitea/gitea/issues/38146))
- fix(auth): ignore stale OIDC external login links to organizations ([#​37875](https://github.com/go-gitea/gitea/issues/37875)) ([#​38141](https://github.com/go-gitea/gitea/issues/38141))
- fix(hostmatcher): block reserved IP ranges from external/private filters ([#​38039](https://github.com/go-gitea/gitea/issues/38039)) ([#​38059](https://github.com/go-gitea/gitea/issues/38059))
- fix(lfs): require Code-unit access for cross-repo LFS object reuse ([#​38006](https://github.com/go-gitea/gitea/issues/38006)) ([#​38050](https://github.com/go-gitea/gitea/issues/38050))
- fix(lfs): reject unknown SSH LFS sub-verbs to prevent auth bypass ([#​38008](https://github.com/go-gitea/gitea/issues/38008)) ([#​38015](https://github.com/go-gitea/gitea/issues/38015))
- fix: bound CODEOWNERS regex match time ([#​38011](https://github.com/go-gitea/gitea/issues/38011)) ([#​38025](https://github.com/go-gitea/gitea/issues/38025))
- fix: bound debian ParseControlFile to a single control stanza ([#​38044](https://github.com/go-gitea/gitea/issues/38044)) ([#​38055](https://github.com/go-gitea/gitea/issues/38055))
- fix(deps): update module golang.org/x/net to v0.55.0 \[security] ([#​37813](https://github.com/go-gitea/gitea/issues/37813)) ([#​37829](https://github.com/go-gitea/gitea/issues/37829))
- API
- feat(api): add Link header in ListForks ([#​38052](https://github.com/go-gitea/gitea/issues/38052)) ([#​38063](https://github.com/go-gitea/gitea/issues/38063))
- BUGFIXES
- fix: Fix the panic when ssh remote lfs endpoint parsing failure ([#​38026](https://github.com/go-gitea/gitea/issues/38026)) ([#​38158](https://github.com/go-gitea/gitea/issues/38158))
- fix(api): nil pointer panic when filtering tracked times by a non-existent user ([#​38112](https://github.com/go-gitea/gitea/issues/38112)) ([#​38115](https://github.com/go-gitea/gitea/issues/38115))
- fix: keep literal "false" value displayed in workflow\_dispatch choice dropdowns ([#​38080](https://github.com/go-gitea/gitea/issues/38080)) ([#​38096](https://github.com/go-gitea/gitea/issues/38096))
- fix: parse HEAD ref ([#​38119](https://github.com/go-gitea/gitea/issues/38119))
- fix: git cmd ([#​38084](https://github.com/go-gitea/gitea/issues/38084)) ([#​38087](https://github.com/go-gitea/gitea/issues/38087))
- fix(releases): generate notes for initial tag ([#​37697](https://github.com/go-gitea/gitea/issues/37697)) ([#​37986](https://github.com/go-gitea/gitea/issues/37986))
- fix(actions): return 404 when job log blob is missing ([#​38003](https://github.com/go-gitea/gitea/issues/38003)) ([#​38004](https://github.com/go-gitea/gitea/issues/38004))
- fix(actions): exclude `workflow_call` from workflow trigger detection ([#​37894](https://github.com/go-gitea/gitea/issues/37894)) ([#​37899](https://github.com/go-gitea/gitea/issues/37899))
- fix(actions): keep action run title clickable when commit subject is a URL ([#​37867](https://github.com/go-gitea/gitea/issues/37867)) ([#​37898](https://github.com/go-gitea/gitea/issues/37898))
- fix(actions): reject workflow\_dispatch for workflows without that trigger ([#​37660](https://github.com/go-gitea/gitea/issues/37660)) ([#​37895](https://github.com/go-gitea/gitea/issues/37895))
- fix(actions): ack re-sent `UpdateLog` finalize idempotently ([#​37885](https://github.com/go-gitea/gitea/issues/37885)) ([#​37892](https://github.com/go-gitea/gitea/issues/37892))
- fix: http content file render ([#​37850](https://github.com/go-gitea/gitea/issues/37850)) ([#​37856](https://github.com/go-gitea/gitea/issues/37856))
- fix(issues): clear stale ReviewTypeRequest when submitting pending review ([#​37809](https://github.com/go-gitea/gitea/issues/37809)) ([#​37815](https://github.com/go-gitea/gitea/issues/37815))
- fix: Fix issue target branch selection for non-collaborators ([#​36916](https://github.com/go-gitea/gitea/issues/36916)) ([#​38164](https://github.com/go-gitea/gitea/issues/38164))
- BUILD
- fix(deps): update `@playwright/test` to 1.60.0 ([#​38144](https://github.com/go-gitea/gitea/issues/38144))
- ci: add `tools/ci-tools.ts` for the PR labeler workflow ([#​37831](https://github.com/go-gitea/gitea/issues/37831))
- fix(build): swagger css import ([#​37801](https://github.com/go-gitea/gitea/issues/37801)) ([#​37803](https://github.com/go-gitea/gitea/issues/37803))
### [`v1.26.2`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1262---2026-05-20)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.26.1...v1.26.2)
- SECURITY
- fix(permissions): Fix reading permission ([#​37769](https://github.com/go-gitea/gitea/issues/37769))
- fix(actions): make artifact signature payloads unambiguous ([#​37707](https://github.com/go-gitea/gitea/issues/37707))
- fix: Unify public-only token filtering in API queries and repo access checks ([#​37118](https://github.com/go-gitea/gitea/issues/37118))
- fix: Add missed token scope checking ([#​37735](https://github.com/go-gitea/gitea/issues/37735))
- fix(oauth): bind token exchanges to the original client request ([#​37704](https://github.com/go-gitea/gitea/issues/37704))
- fix(oauth): strengthen PKCE validation and refresh token replay protection ([#​37706](https://github.com/go-gitea/gitea/issues/37706))
- fix(web): enforce token scopes on raw, media, and attachment downloads ([#​37698](https://github.com/go-gitea/gitea/issues/37698))
- fix(security): enforce wiki git writes and LFS token access at request time ([#​37695](https://github.com/go-gitea/gitea/issues/37695))
- feat(api): encrypt AWS creds ([#​37679](https://github.com/go-gitea/gitea/issues/37679))
- fix(deps): update dependency mermaid to v11.15.0 \[security], add e2e test
- fix(packages): Add label for private and internal package and fix composor package source permission check ([#​37610](https://github.com/go-gitea/gitea/issues/37610))
- fix(git): Fix smart http request scope bug ([#​37583](https://github.com/go-gitea/gitea/issues/37583))
- Fix basic auth bug ([#​37503](https://github.com/go-gitea/gitea/issues/37503))
- Fix allow maintainer edit permission check ([#​37479](https://github.com/go-gitea/gitea/issues/37479)) ([#​37484](https://github.com/go-gitea/gitea/issues/37484))
- Fix URL sanitization to handle schemeless credentials ([#​37440](https://github.com/go-gitea/gitea/issues/37440)) ([#​37471](https://github.com/go-gitea/gitea/issues/37471))
- Fix attachment Content-Security-Policy ([#​37455](https://github.com/go-gitea/gitea/issues/37455)) ([#​37464](https://github.com/go-gitea/gitea/issues/37464))
- chore(deps): bump go-git/go-git/v5 to 5.19.0 ([#​37608](https://github.com/go-gitea/gitea/issues/37608))
- BUGFIXES
- fix(pull): handle empty pull request files view to allow reviews ([#​37783](https://github.com/go-gitea/gitea/issues/37783))
- fix(markup): make RenderString never fail ([#​37779](https://github.com/go-gitea/gitea/issues/37779))
- fix: add natural sort to sortTreeViewNodes ([#​37772](https://github.com/go-gitea/gitea/issues/37772))
- fix: package creation unique conflict ([#​37774](https://github.com/go-gitea/gitea/issues/37774))
- fix!: add DEFAULT\_TITLE\_SOURCE setting for pull request title default behavior ([#​37465](https://github.com/go-gitea/gitea/issues/37465))
- fix: Allow direct commits for unprotected files with push restrictions ([#​37657](https://github.com/go-gitea/gitea/issues/37657))
- fix(actions): wrong assumption that run id always >= job id ([#​37737](https://github.com/go-gitea/gitea/issues/37737))
- fix(auth): set User-Agent on avatar fetch and sync avatar on link-account register ([#​37564](https://github.com/go-gitea/gitea/issues/37564)) ([#​37588](https://github.com/go-gitea/gitea/issues/37588))
- fix(actions): deadlock between PrepareRunAndInsert and UpdateTaskByState ([#​37692](https://github.com/go-gitea/gitea/issues/37692))
- fix(repo): /generate must sync the branch table for the new repo ([#​37693](https://github.com/go-gitea/gitea/issues/37693))
- build: Fix snap build (1.26)
- fix(actions): run TransferLogs on UpdateLog{Rows:\[], NoMore:true} ([#​37631](https://github.com/go-gitea/gitea/issues/37631))
- fix show correct mergebase
- fix: make clone URL respect public URL detection setting ([#​37615](https://github.com/go-gitea/gitea/issues/37615))
- fix: "run as root" check ([#​37622](https://github.com/go-gitea/gitea/issues/37622))
- chore(deps): update dependency go to v1.26.3 ([#​37601](https://github.com/go-gitea/gitea/issues/37601))
- Compare dropdown fails when selecting branch with no common merge-base ([#​37470](https://github.com/go-gitea/gitea/issues/37470))
- fix: treat email addresses case-insensitively ([#​37600](https://github.com/go-gitea/gitea/issues/37600))
- fix(actions): fix blank lines after ::endgroup:: ([#​37597](https://github.com/go-gitea/gitea/issues/37597))
- fix(actions): report individual step status in workflow job API response ([#​37592](https://github.com/go-gitea/gitea/issues/37592))
- fix: Invalid UTF-8 commit messages in JSON API responses ([#​37542](https://github.com/go-gitea/gitea/issues/37542))
- fix: use consistent GetUser family functions ([#​37553](https://github.com/go-gitea/gitea/issues/37553))
- fix(api): return 409 message instead of empty JSON for wrong commit id ([#​37572](https://github.com/go-gitea/gitea/issues/37572))
- fix(actions): prevent panic when workflow contains null jobs ([#​37570](https://github.com/go-gitea/gitea/issues/37570))
- Make ServeSetHeaders default to download attachment if filename exists ([#​37552](https://github.com/go-gitea/gitea/issues/37552)) ([#​37555](https://github.com/go-gitea/gitea/issues/37555))
- Fix(actions): validate workflow param to prevent 500 error ([#​37546](https://github.com/go-gitea/gitea/issues/37546)) ([#​37554](https://github.com/go-gitea/gitea/issues/37554))
- Don't unblock run-level-concurrency-blocked runs in the resolver ([#​37461](https://github.com/go-gitea/gitea/issues/37461)) ([#​37538](https://github.com/go-gitea/gitea/issues/37538))
- Fix(packages): use file names for generic web downloads ([#​37514](https://github.com/go-gitea/gitea/issues/37514)) ([#​37520](https://github.com/go-gitea/gitea/issues/37520))
- Fix merge autodetect can't close other PRs but only the last one when multiple PRs are pushed at once ([#​37512](https://github.com/go-gitea/gitea/issues/37512)) ([#​37516](https://github.com/go-gitea/gitea/issues/37516))
- Fix update branch protection order ([#​37508](https://github.com/go-gitea/gitea/issues/37508)) ([#​37513](https://github.com/go-gitea/gitea/issues/37513))
- Fix mCaptcha broken after Vite migration ([#​37492](https://github.com/go-gitea/gitea/issues/37492)) ([#​37509](https://github.com/go-gitea/gitea/issues/37509))
- Fix review submission from single-commit PR view ([#​37475](https://github.com/go-gitea/gitea/issues/37475)) ([#​37485](https://github.com/go-gitea/gitea/issues/37485))
- Fix scheduled action panic with null event payload ([#​37459](https://github.com/go-gitea/gitea/issues/37459)) ([#​37466](https://github.com/go-gitea/gitea/issues/37466))
- Make GetPossibleUserByID can handle deleted user ([#​37430](https://github.com/go-gitea/gitea/issues/37430)) ([#​37431](https://github.com/go-gitea/gitea/issues/37431))
- Remove excessive quote from terraform instructions ([#​37424](https://github.com/go-gitea/gitea/issues/37424)) ([#​37426](https://github.com/go-gitea/gitea/issues/37426))
- Fix color regressions, add `priority` color ([#​37417](https://github.com/go-gitea/gitea/issues/37417)) ([#​37421](https://github.com/go-gitea/gitea/issues/37421))
- MISC
- Add CurrentURL template variable back ([#​37444](https://github.com/go-gitea/gitea/issues/37444)) ([#​37449](https://github.com/go-gitea/gitea/issues/37449))
### [`v1.26.1`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1261---2026-04-21)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.26.0...v1.26.1)
- BUGFIXES
- Add event.schedule context for schedule actions task ([#​37320](https://github.com/go-gitea/gitea/issues/37320)) ([#​37348](https://github.com/go-gitea/gitea/issues/37348))
- Fix an issue where changing an organization's visibility caused problems when users had forked its repositories. ([#​37324](https://github.com/go-gitea/gitea/issues/37324)) ([#​37344](https://github.com/go-gitea/gitea/issues/37344))
- Use modern "git update-index --cacheinfo" syntax to support more file names ([#​37338](https://github.com/go-gitea/gitea/issues/37338)) ([#​37343](https://github.com/go-gitea/gitea/issues/37343))
- Fix URL related escaping for oauth2 ([#​37334](https://github.com/go-gitea/gitea/issues/37334)) ([#​37340](https://github.com/go-gitea/gitea/issues/37340))
- When the requested arch rpm is missing fall back to noarch ([#​37236](https://github.com/go-gitea/gitea/issues/37236)) ([#​37339](https://github.com/go-gitea/gitea/issues/37339))
- Fix actions concurrency groups cross-branch leak ([#​37311](https://github.com/go-gitea/gitea/issues/37311)) ([#​37331](https://github.com/go-gitea/gitea/issues/37331))
- Fix bug when accessing user badges ([#​37321](https://github.com/go-gitea/gitea/issues/37321)) ([#​37329](https://github.com/go-gitea/gitea/issues/37329))
- Fix AppFullLink ([#​37325](https://github.com/go-gitea/gitea/issues/37325)) ([#​37328](https://github.com/go-gitea/gitea/issues/37328))
- Fix container auth for public instance ([#​37290](https://github.com/go-gitea/gitea/issues/37290)) ([#​37294](https://github.com/go-gitea/gitea/issues/37294))
- Enhance GetActionWorkflow to support fallback references ([#​37189](https://github.com/go-gitea/gitea/issues/37189)) ([#​37283](https://github.com/go-gitea/gitea/issues/37283))
- Fix vite manifest update masking build errors ([#​37279](https://github.com/go-gitea/gitea/issues/37279)) ([#​37310](https://github.com/go-gitea/gitea/issues/37310))
- Fix Mermaid diagrams failing when node labels contain line breaks ([#​37296](https://github.com/go-gitea/gitea/issues/37296)) ([#​37299](https://github.com/go-gitea/gitea/issues/37299))
- Use TriggerEvent instead of Event in workflow runs API response for scheduled runs ([#​37288](https://github.com/go-gitea/gitea/issues/37288)) [#​37360](https://github.com/go-gitea/gitea/issues/37360)
- Add URL to Learn more about blocking a user. ([#​37355](https://github.com/go-gitea/gitea/issues/37355)) [#​37367](https://github.com/go-gitea/gitea/issues/37367)
- Fix button layout shift when collapsing file tree in editor ([#​37363](https://github.com/go-gitea/gitea/issues/37363)) [#​37375](https://github.com/go-gitea/gitea/issues/37375)
- Fix org team assignee/reviewer lookups for team member permissions ([#​37365](https://github.com/go-gitea/gitea/issues/37365)) [#​37391](https://github.com/go-gitea/gitea/issues/37391)
- Fix repo init README EOL ([#​37388](https://github.com/go-gitea/gitea/issues/37388)) [#​37399](https://github.com/go-gitea/gitea/issues/37399)
- Fix: dump with default zip type produces uncompressed zip ([#​37401](https://github.com/go-gitea/gitea/issues/37401)) [#​37402](https://github.com/go-gitea/gitea/issues/37402)
### [`v1.26.0`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1260---2026-04-17)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.25.5...v1.26.0)
- BREAKING
- Correct swagger annotations for enums, status codes, and notification state ([#​37030](https://github.com/go-gitea/gitea/issues/37030))
- Remove GET API registration-token ([#​36801](https://github.com/go-gitea/gitea/issues/36801))
- Support Actions `concurrency` syntax ([#​32751](https://github.com/go-gitea/gitea/issues/32751))
- Make PUBLIC\_URL\_DETECTION default to "auto" ([#​36955](https://github.com/go-gitea/gitea/issues/36955))
- SECURITY
- Bound PageSize in `ListUnadoptedRepositories` ([#​36884](https://github.com/go-gitea/gitea/issues/36884))
- FEATURES
- Support Actions `concurrency` syntax ([#​32751](https://github.com/go-gitea/gitea/issues/32751))
- Add terraform state registry ([#​36710](https://github.com/go-gitea/gitea/issues/36710))
- Instance-wide (global) info banner and maintenance mode ([#​36571](https://github.com/go-gitea/gitea/issues/36571))
- Support rendering OpenAPI spec ([#​36449](https://github.com/go-gitea/gitea/issues/36449))
- Add keyboard shortcuts for repository file and code search ([#​36416](https://github.com/go-gitea/gitea/issues/36416))
- Add support for archive-upload rpc ([#​36391](https://github.com/go-gitea/gitea/issues/36391))
- Add ability to download subpath archive ([#​36371](https://github.com/go-gitea/gitea/issues/36371))
- Add workflow dependencies visualization ([#​26062](https://github.com/go-gitea/gitea/issues/26062)) ([#​36248](https://github.com/go-gitea/gitea/issues/36248)) & Restyle Workflow Graph ([#​36912](https://github.com/go-gitea/gitea/issues/36912))
- Automatic generation of release notes ([#​35977](https://github.com/go-gitea/gitea/issues/35977))
- Add "Go to file", "Delete Directory" to repo file list page ([#​35911](https://github.com/go-gitea/gitea/issues/35911))
- Introduce "config edit-ini" sub command to help maintaining INI config file ([#​35735](https://github.com/go-gitea/gitea/issues/35735))
- Add button to re-run failed jobs in Actions ([#​36924](https://github.com/go-gitea/gitea/issues/36924))
- Support actions and reusable workflows from private repos ([#​32562](https://github.com/go-gitea/gitea/issues/32562))
- Add summary to action runs view ([#​36883](https://github.com/go-gitea/gitea/issues/36883))
- Add user badges ([#​36752](https://github.com/go-gitea/gitea/issues/36752))
- Add configurable permissions for Actions automatic tokens ([#​36173](https://github.com/go-gitea/gitea/issues/36173))
- Add per-runner "Disable/Pause" ([#​36776](https://github.com/go-gitea/gitea/issues/36776))
- Feature non-zipped actions artifacts (action v7 / nodejs / npm v6.2.0) ([#​36786](https://github.com/go-gitea/gitea/issues/36786))
- PERFORMANCE
- WorkflowDispatch API optionally return runid ([#​36706](https://github.com/go-gitea/gitea/issues/36706))
- Add render cache for SVG icons ([#​36863](https://github.com/go-gitea/gitea/issues/36863))
- Load `mentionValues` asynchronously ([#​36739](https://github.com/go-gitea/gitea/issues/36739))
- Lazy-load some Vue components, fix heatmap chunk loading on every page ([#​36719](https://github.com/go-gitea/gitea/issues/36719))
- Load heatmap data asynchronously ([#​36622](https://github.com/go-gitea/gitea/issues/36622))
- Use prev/next pagination for user profile activities page to speed up ([#​36642](https://github.com/go-gitea/gitea/issues/36642))
- Refactor cat-file batch operations and support `--batch-command` approach ([#​35775](https://github.com/go-gitea/gitea/issues/35775))
- Use merge tree to detect conflicts when possible ([#​36400](https://github.com/go-gitea/gitea/issues/36400))
- ENHANCEMENTS
- Implement logout redirection for reverse proxy auth setups ([#​36085](https://github.com/go-gitea/gitea/issues/36085)) ([#​37171](https://github.com/go-gitea/gitea/issues/37171))
- Adds option to force update new branch in contents routes ([#​35592](https://github.com/go-gitea/gitea/issues/35592))
- Add viewer controller for mermaid (zoom, drag) ([#​36557](https://github.com/go-gitea/gitea/issues/36557))
- Add code editor setting dropdowns ([#​36534](https://github.com/go-gitea/gitea/issues/36534))
- Add `elk` layout support to mermaid ([#​36486](https://github.com/go-gitea/gitea/issues/36486))
- Add resolve/unresolve review comment API endpoints ([#​36441](https://github.com/go-gitea/gitea/issues/36441))
- Allow configuring default PR base branch (fixes [#​36412](https://github.com/go-gitea/gitea/issues/36412)) ([#​36425](https://github.com/go-gitea/gitea/issues/36425))
- Add support for RPM Errata (updateinfo.xml) ([#​37125](https://github.com/go-gitea/gitea/issues/37125))
- Require additional user confirmation for making repo private ([#​36959](https://github.com/go-gitea/gitea/issues/36959))
- Add `actions.WORKFLOW_DIRS` setting ([#​36619](https://github.com/go-gitea/gitea/issues/36619))
- Avoid opening new tab when downloading actions logs ([#​36740](https://github.com/go-gitea/gitea/issues/36740))
- Implements OIDC RP-Initiated Logout ([#​36724](https://github.com/go-gitea/gitea/issues/36724))
- Show workflow link ([#​37070](https://github.com/go-gitea/gitea/issues/37070))
- Desaturate dark theme background colors ([#​37056](https://github.com/go-gitea/gitea/issues/37056))
- Refactor "org teams" page and help new users to "add member" to an org ([#​37051](https://github.com/go-gitea/gitea/issues/37051))
- Add webhook name field to improve webhook identification ([#​37025](https://github.com/go-gitea/gitea/issues/37025)) ([#​37040](https://github.com/go-gitea/gitea/issues/37040))
- Make task list checkboxes clickable in the preview tab ([#​37010](https://github.com/go-gitea/gitea/issues/37010))
- Improve severity labels in Actions logs and tweak colors ([#​36993](https://github.com/go-gitea/gitea/issues/36993))
- Linkify URLs in Actions workflow logs ([#​36986](https://github.com/go-gitea/gitea/issues/36986))
- Allow text selection on checkbox labels ([#​36970](https://github.com/go-gitea/gitea/issues/36970))
- Support dark/light theme images in markdown ([#​36922](https://github.com/go-gitea/gitea/issues/36922))
- Enable native dark mode for swagger-ui ([#​36899](https://github.com/go-gitea/gitea/issues/36899))
- Rework checkbox styling, remove `input` border hover effect ([#​36870](https://github.com/go-gitea/gitea/issues/36870))
- Refactor storage content-type handling of ServeDirectURL ([#​36804](https://github.com/go-gitea/gitea/issues/36804))
- Use "Enable Gravatar" but not "Disable" ([#​36771](https://github.com/go-gitea/gitea/issues/36771))
- Use case-insensitive matching for Git error "Not a valid object name" ([#​36728](https://github.com/go-gitea/gitea/issues/36728))
- Add "Copy Source" to markup comment menu ([#​36726](https://github.com/go-gitea/gitea/issues/36726))
- Change image transparency grid to CSS ([#​36711](https://github.com/go-gitea/gitea/issues/36711))
- Add "Run" prefix for unnamed action steps ([#​36624](https://github.com/go-gitea/gitea/issues/36624))
- Persist actions log time display settings in `localStorage` ([#​36623](https://github.com/go-gitea/gitea/issues/36623))
- Use first commit title for multi-commit PRs and fix auto-focus title field ([#​36606](https://github.com/go-gitea/gitea/issues/36606))
- Improve BuildCaseInsensitiveLike with lowercase ([#​36598](https://github.com/go-gitea/gitea/issues/36598))
- Improve diff highlighting ([#​36583](https://github.com/go-gitea/gitea/issues/36583))
- Exclude cancelled runs from failure-only email notifications ([#​36569](https://github.com/go-gitea/gitea/issues/36569))
- Use full-file highlighting for diff sections ([#​36561](https://github.com/go-gitea/gitea/issues/36561))
- Color command/error logs in Actions log ([#​36538](https://github.com/go-gitea/gitea/issues/36538))
- Add paging headers ([#​36521](https://github.com/go-gitea/gitea/issues/36521))
- Improve timeline entries for WIP prefix changes in pull requests ([#​36518](https://github.com/go-gitea/gitea/issues/36518))
- Add FOLDER\_ICON\_THEME configuration option ([#​36496](https://github.com/go-gitea/gitea/issues/36496))
- Normalize guessed languages for code highlighting ([#​36450](https://github.com/go-gitea/gitea/issues/36450))
- Add chunked transfer encoding support for LFS uploads ([#​36380](https://github.com/go-gitea/gitea/issues/36380))
- Indicate when only optional checks failed ([#​36367](https://github.com/go-gitea/gitea/issues/36367))
- Add 'allow\_maintainer\_edit' API option for creating a pull request ([#​36283](https://github.com/go-gitea/gitea/issues/36283))
- Support closing keywords with URL references ([#​36221](https://github.com/go-gitea/gitea/issues/36221))
- Improve diff file headers ([#​36215](https://github.com/go-gitea/gitea/issues/36215))
- Fix and enhance comment editor monospace toggle ([#​36181](https://github.com/go-gitea/gitea/issues/36181))
- Add git.DIFF\_RENAME\_SIMILARITY\_THRESHOLD option ([#​36164](https://github.com/go-gitea/gitea/issues/36164))
- Add matching pair insertion to markdown textarea ([#​36121](https://github.com/go-gitea/gitea/issues/36121))
- Add sorting/filtering to admin user search API endpoint ([#​36112](https://github.com/go-gitea/gitea/issues/36112))
- Allow action user have read permission in public repo like other user ([#​36095](https://github.com/go-gitea/gitea/issues/36095))
- Disable matchBrackets in monaco ([#​36089](https://github.com/go-gitea/gitea/issues/36089))
- Use GitHub-style commit message for squash merge ([#​35987](https://github.com/go-gitea/gitea/issues/35987))
- Make composer registry support tar.gz and tar.bz2 and fix bugs ([#​35958](https://github.com/go-gitea/gitea/issues/35958))
- Add GITEA\_PR\_INDEX env variable to githooks ([#​35938](https://github.com/go-gitea/gitea/issues/35938))
- Add proper error message if session provider can not be created ([#​35520](https://github.com/go-gitea/gitea/issues/35520))
- Add button to copy file name in PR files ([#​35509](https://github.com/go-gitea/gitea/issues/35509))
- Move `X_FRAME_OPTIONS` setting from `cors` to `security` section ([#​30256](https://github.com/go-gitea/gitea/issues/30256))
- Add placeholder content for empty content page ([#​37114](https://github.com/go-gitea/gitea/issues/37114))
- Add `DEFAULT_DELETE_BRANCH_AFTER_MERGE` setting ([#​36917](https://github.com/go-gitea/gitea/issues/36917))
- Redirect to the only OAuth2 provider when no other login methods and fix various problems ([#​36901](https://github.com/go-gitea/gitea/issues/36901))
- Add admin badge to navbar avatar ([#​36790](https://github.com/go-gitea/gitea/issues/36790))
- Add `never` option to `PUBLIC_URL_DETECTION` configuration ([#​36785](https://github.com/go-gitea/gitea/issues/36785))
- Add background and run count to actions list page ([#​36707](https://github.com/go-gitea/gitea/issues/36707))
- Add icon to buttons "Close with Comment", "Close Pull Request", "Close Issue" ([#​36654](https://github.com/go-gitea/gitea/issues/36654))
- Add support for in\_progress event in workflow\_run webhook ([#​36979](https://github.com/go-gitea/gitea/issues/36979))
- Report commit status for pull\_request\_review events ([#​36589](https://github.com/go-gitea/gitea/issues/36589))
- Render merged pull request title as such in dashboard feed ([#​36479](https://github.com/go-gitea/gitea/issues/36479))
- Feature to be able to filter project boards by milestones ([#​36321](https://github.com/go-gitea/gitea/issues/36321))
- Use user id in noreply emails ([#​36550](https://github.com/go-gitea/gitea/issues/36550))
- Enable pagination on GiteaDownloader.getIssueReactions() ([#​36549](https://github.com/go-gitea/gitea/issues/36549))
- Remove striped tables in UI ([#​36509](https://github.com/go-gitea/gitea/issues/36509))
- Improve control char rendering and escape button styling ([#​37094](https://github.com/go-gitea/gitea/issues/37094))
- Support legacy run/job index-based URLs and refactor migration 326 ([#​37008](https://github.com/go-gitea/gitea/issues/37008))
- Add date to "No Contributions" tooltip ([#​36190](https://github.com/go-gitea/gitea/issues/36190))
- Show edit page confirmation dialog on tree view file change ([#​36130](https://github.com/go-gitea/gitea/issues/36130))
- Mention proc-receive in text for dashboard.resync\_all\_hooks func ([#​35991](https://github.com/go-gitea/gitea/issues/35991))
- Reuse selectable style for wiki ([#​35990](https://github.com/go-gitea/gitea/issues/35990))
- Support blue yellow colorblind theme ([#​35910](https://github.com/go-gitea/gitea/issues/35910))
- Support selecting theme on the footer ([#​35741](https://github.com/go-gitea/gitea/issues/35741))
- Improve online runner check ([#​35722](https://github.com/go-gitea/gitea/issues/35722))
- Add quick approve button on PR page ([#​35678](https://github.com/go-gitea/gitea/issues/35678))
- Enable commenting on expanded lines in PR diffs ([#​35662](https://github.com/go-gitea/gitea/issues/35662))
- Print PR-Title into tooltip for actions ([#​35579](https://github.com/go-gitea/gitea/issues/35579))
- Use explicit, stronger defaults for newly generated repo signing keys for Debian ([#​36236](https://github.com/go-gitea/gitea/issues/36236))
- Improve the compare page ([#​36261](https://github.com/go-gitea/gitea/issues/36261))
- Unify repo names in system notices ([#​36491](https://github.com/go-gitea/gitea/issues/36491))
- Move package settings to package instead of being tied to version ([#​37026](https://github.com/go-gitea/gitea/issues/37026))
- Add Actions API rerun endpoints for runs and jobs ([#​36768](https://github.com/go-gitea/gitea/issues/36768))
- Add branch\_count to repository API ([#​35351](https://github.com/go-gitea/gitea/issues/35351)) ([#​36743](https://github.com/go-gitea/gitea/issues/36743))
- Add created\_by filter to SearchIssues ([#​36670](https://github.com/go-gitea/gitea/issues/36670))
- Allow admins to rename non-local users ([#​35970](https://github.com/go-gitea/gitea/issues/35970))
- Support updating branch via API ([#​35951](https://github.com/go-gitea/gitea/issues/35951))
- Add an option to automatically verify SSH keys from LDAP ([#​35927](https://github.com/go-gitea/gitea/issues/35927))
- Make "update file" API can create a new file when SHA is not set ([#​35738](https://github.com/go-gitea/gitea/issues/35738))
- Update issue.go with labels documentation (labels content, not ids) ([#​35522](https://github.com/go-gitea/gitea/issues/35522))
- Expose content\_version for optimistic locking on issue and PR edits ([#​37035](https://github.com/go-gitea/gitea/issues/37035))
- Pass ServeHeaderOptions by value instead of pointer, fine tune httplib tests ([#​36982](https://github.com/go-gitea/gitea/issues/36982))
- BUGFIXES
- Frontend iframe renderer framework: 3D models, OpenAPI ([#​37233](https://github.com/go-gitea/gitea/issues/37233)) ([#​37273](https://github.com/go-gitea/gitea/issues/37273))
- Fix CODEOWNERS absolute path matching. ([#​37244](https://github.com/go-gitea/gitea/issues/37244)) ([#​37264](https://github.com/go-gitea/gitea/issues/37264))
- Swift registry metadata: preserve more JSON fields and accept empty metadata ([#​37254](https://github.com/go-gitea/gitea/issues/37254)) ([#​37261](https://github.com/go-gitea/gitea/issues/37261))
- Fix user ssh key exporting and tests ([#​37256](https://github.com/go-gitea/gitea/issues/37256)) ([#​37258](https://github.com/go-gitea/gitea/issues/37258))
- Fix team member avatar size and add tooltip ([#​37253](https://github.com/go-gitea/gitea/issues/37253))
- Fix commit title rendering in action run and blame ([#​37243](https://github.com/go-gitea/gitea/issues/37243)) ([#​37251](https://github.com/go-gitea/gitea/issues/37251))
- Fix corrupted JSON caused by goccy library ([#​37214](https://github.com/go-gitea/gitea/issues/37214)) ([#​37220](https://github.com/go-gitea/gitea/issues/37220))
- Add test for "fetch redirect", add CSS value validation for external render ([#​37207](https://github.com/go-gitea/gitea/issues/37207)) ([#​37216](https://github.com/go-gitea/gitea/issues/37216))
- Fix incorrect concurrency check ([#​37205](https://github.com/go-gitea/gitea/issues/37205)) ([#​37215](https://github.com/go-gitea/gitea/issues/37215))
- Fix handle missing base branch in PR commits API ([#​37193](https://github.com/go-gitea/gitea/issues/37193)) ([#​37203](https://github.com/go-gitea/gitea/issues/37203))
- Fix encoding for Matrix Webhooks ([#​37190](https://github.com/go-gitea/gitea/issues/37190)) ([#​37201](https://github.com/go-gitea/gitea/issues/37201))
- Fix handle fork-only commits in compare API ([#​37185](https://github.com/go-gitea/gitea/issues/37185)) ([#​37199](https://github.com/go-gitea/gitea/issues/37199))
- Indicate form field readonly via background, fix RunUser config ([#​37175](https://github.com/go-gitea/gitea/issues/37175), [#​37180](https://github.com/go-gitea/gitea/issues/37180)) ([#​37178](https://github.com/go-gitea/gitea/issues/37178))
- Report structurally invalid workflows to users ([#​37116](https://github.com/go-gitea/gitea/issues/37116)) ([#​37164](https://github.com/go-gitea/gitea/issues/37164))
- Fix API not persisting pull request unit config when has\_pull\_requests is not set ([#​36718](https://github.com/go-gitea/gitea/issues/36718))
- Rename CSS variables and improve colorblind themes ([#​36353](https://github.com/go-gitea/gitea/issues/36353))
- Hide `add-matcher` and `remove-matcher` from actions job logs ([#​36520](https://github.com/go-gitea/gitea/issues/36520))
- Prevent navigation keys from triggering actions during IME composition ([#​36540](https://github.com/go-gitea/gitea/issues/36540))
- Fix vertical alignment of `.commit-sign-badge` children ([#​36570](https://github.com/go-gitea/gitea/issues/36570))
- Fix duplicate startup warnings in admin panel ([#​36641](https://github.com/go-gitea/gitea/issues/36641))
- Fix CODEOWNERS review request attribution using comment metadata ([#​36348](https://github.com/go-gitea/gitea/issues/36348))
- Fix HTML tags appearing in wiki table of contents ([#​36284](https://github.com/go-gitea/gitea/issues/36284))
- Fix various bugs ([#​37096](https://github.com/go-gitea/gitea/issues/37096))
- Fix various legacy problems ([#​37092](https://github.com/go-gitea/gitea/issues/37092))
- Fix RPM Registry 404 when package name contains 'package' ([#​37087](https://github.com/go-gitea/gitea/issues/37087))
- Merge some standalone Vite entries into index.js ([#​37085](https://github.com/go-gitea/gitea/issues/37085))
- Fix various problems ([#​37077](https://github.com/go-gitea/gitea/issues/37077))
- Fix issue label deletion with Actions tokens ([#​37013](https://github.com/go-gitea/gitea/issues/37013))
- Hide delete branch or tag buttons in mirror or archived repositories. ([#​37006](https://github.com/go-gitea/gitea/issues/37006))
- Fix org contact email not clearable once set ([#​36975](https://github.com/go-gitea/gitea/issues/36975))
- Fix a bug when forking a repository in an organization ([#​36950](https://github.com/go-gitea/gitea/issues/36950))
- Preserve sort order of exclusive labels from template repo ([#​36931](https://github.com/go-gitea/gitea/issues/36931))
- Make container registry support Apple Container (basic auth) ([#​36920](https://github.com/go-gitea/gitea/issues/36920))
- Fix the wrong push commits in the pull request when force push ([#​36914](https://github.com/go-gitea/gitea/issues/36914))
- Add class "list-header-filters" to the div for projects ([#​36889](https://github.com/go-gitea/gitea/issues/36889))
- Fix dbfs error handling ([#​36844](https://github.com/go-gitea/gitea/issues/36844))
- Fix incorrect viewed files counter if reverted change was viewed ([#​36819](https://github.com/go-gitea/gitea/issues/36819))
- Refactor avatar package, support default avatar fallback ([#​36788](https://github.com/go-gitea/gitea/issues/36788))
- Fix README symlink resolution in subdirectories like .github ([#​36775](https://github.com/go-gitea/gitea/issues/36775))
- Fix CSS stacking context issue in actions log ([#​36749](https://github.com/go-gitea/gitea/issues/36749))
- Add gpg signing for merge rebase and update by rebase ([#​36701](https://github.com/go-gitea/gitea/issues/36701))
- Delete non-exist branch should return 404 ([#​36694](https://github.com/go-gitea/gitea/issues/36694))
- Fix `TestActionsCollaborativeOwner` ([#​36657](https://github.com/go-gitea/gitea/issues/36657))
- Fix multi-arch Docker build SIGILL by splitting frontend stage ([#​36646](https://github.com/go-gitea/gitea/issues/36646))
- Fix linguist-detectable attribute being ignored for configuration files ([#​36640](https://github.com/go-gitea/gitea/issues/36640))
- Fix state desync in ComboMarkdownEditor ([#​36625](https://github.com/go-gitea/gitea/issues/36625))
- Unify DEFAULT\_SHOW\_FULL\_NAME output in templates and dropdown ([#​36597](https://github.com/go-gitea/gitea/issues/36597))
- Pull Request Pusher should be the author of the merge ([#​36581](https://github.com/go-gitea/gitea/issues/36581))
- Fix various version parsing problems ([#​36553](https://github.com/go-gitea/gitea/issues/36553))
- Fix highlight diff result ([#​36539](https://github.com/go-gitea/gitea/issues/36539))
- Fix mirror sync parser and fix mirror messages ([#​36504](https://github.com/go-gitea/gitea/issues/36504))
- Fix bug when list pull request commits ([#​36485](https://github.com/go-gitea/gitea/issues/36485))
- Fix various bugs ([#​36446](https://github.com/go-gitea/gitea/issues/36446))
- Fix issue filter menu layout ([#​36426](https://github.com/go-gitea/gitea/issues/36426))
- Restrict branch naming when new change matches with protection rules ([#​36405](https://github.com/go-gitea/gitea/issues/36405))
- Fix link/origin referrer and login redirect ([#​36279](https://github.com/go-gitea/gitea/issues/36279))
- Generate IDs for HTML headings without id attribute ([#​36233](https://github.com/go-gitea/gitea/issues/36233))
- Use a migration test instead of a wrong test which populated the meta test repositories and fix a migration bug ([#​36160](https://github.com/go-gitea/gitea/issues/36160))
- Fix issue close timeline icon ([#​36138](https://github.com/go-gitea/gitea/issues/36138))
- Fix diff blob excerpt expansion ([#​35922](https://github.com/go-gitea/gitea/issues/35922))
- Fix external render ([#​35727](https://github.com/go-gitea/gitea/issues/35727))
- Fix review request webhook bug ([#​35339](https://github.com/go-gitea/gitea/issues/35339)) ([#​35723](https://github.com/go-gitea/gitea/issues/35723))
- Fix shutdown waitgroup panic ([#​35676](https://github.com/go-gitea/gitea/issues/35676))
- Cleanup ActionRun creation ([#​35624](https://github.com/go-gitea/gitea/issues/35624))
- Fix possible bug when migrating issues/pull requests ([#​33487](https://github.com/go-gitea/gitea/issues/33487))
- Various fixes ([#​36697](https://github.com/go-gitea/gitea/issues/36697))
- Apply notify/register mail flags during install load ([#​37120](https://github.com/go-gitea/gitea/issues/37120))
- Repair duration display for bad stopped timestamps ([#​37121](https://github.com/go-gitea/gitea/issues/37121))
- Fix(upgrade.sh): use HTTPS for GPG key import and restore SELinux context after upgrade ([#​36930](https://github.com/go-gitea/gitea/issues/36930))
- Fix various trivial problems ([#​36921](https://github.com/go-gitea/gitea/issues/36921))
- Fix various trivial problems ([#​36953](https://github.com/go-gitea/gitea/issues/36953))
- Fix NuGet package upload error handling ([#​37074](https://github.com/go-gitea/gitea/issues/37074))
- Fix CodeQL code scanning alerts ([#​36858](https://github.com/go-gitea/gitea/issues/36858))
- Refactor issue sidebar and fix various problems ([#​37045](https://github.com/go-gitea/gitea/issues/37045))
- Fix various problems ([#​37029](https://github.com/go-gitea/gitea/issues/37029))
- Fix relative-time RangeError ([#​37021](https://github.com/go-gitea/gitea/issues/37021))
- Fix chroma lexer mapping ([#​36629](https://github.com/go-gitea/gitea/issues/36629))
- Fix typos and grammar in English locale ([#​36751](https://github.com/go-gitea/gitea/issues/36751))
- Fix milestone/project text overflow in issue sidebar ([#​36741](https://github.com/go-gitea/gitea/issues/36741))
- Fix `no-content` message not rendering after comment edit ([#​36733](https://github.com/go-gitea/gitea/issues/36733))
- Fix theme loading in development ([#​36605](https://github.com/go-gitea/gitea/issues/36605))
- Fix workflow run jobs API returning null steps ([#​36603](https://github.com/go-gitea/gitea/issues/36603))
- Fix timeline event layout overflow with long content ([#​36595](https://github.com/go-gitea/gitea/issues/36595))
- Fix minor UI issues in runner edit page ([#​36590](https://github.com/go-gitea/gitea/issues/36590))
- Fix incorrect vendored detections ([#​36508](https://github.com/go-gitea/gitea/issues/36508))
- Fix editorconfig not respected in PR Conversation view ([#​36492](https://github.com/go-gitea/gitea/issues/36492))
- Don't create self-references in merged PRs ([#​36490](https://github.com/go-gitea/gitea/issues/36490))
- Fix potential incorrect runID in run status update ([#​36437](https://github.com/go-gitea/gitea/issues/36437))
- Fix file-tree ui error when adding files to repo without commits ([#​36312](https://github.com/go-gitea/gitea/issues/36312))
- Improve image captcha contrast for dark mode ([#​36265](https://github.com/go-gitea/gitea/issues/36265))
- Fix panic in blame view when a file has only a single commit ([#​36230](https://github.com/go-gitea/gitea/issues/36230))
- Fix spelling error in migrate-storage cmd utility ([#​36226](https://github.com/go-gitea/gitea/issues/36226))
- Fix code highlighting on blame page ([#​36157](https://github.com/go-gitea/gitea/issues/36157))
- Fix nilnil in onedev downloader ([#​36154](https://github.com/go-gitea/gitea/issues/36154))
- Fix actions lint ([#​36029](https://github.com/go-gitea/gitea/issues/36029))
- Fix oauth2 session gob register ([#​36017](https://github.com/go-gitea/gitea/issues/36017))
- Fix Arch repo pacman.conf snippet ([#​35825](https://github.com/go-gitea/gitea/issues/35825))
- Fix a number of `strictNullChecks`-related issues ([#​35795](https://github.com/go-gitea/gitea/issues/35795))
- Fix URLJoin, markup render link reoslving, sign-in/up/linkaccount page common data ([#​36861](https://github.com/go-gitea/gitea/issues/36861))
- Hide delete directory button for mirror or archive repository and disable the menu item if user have no permission ([#​36384](https://github.com/go-gitea/gitea/issues/36384))
- Update message severity colors, fix navbar double border ([#​37019](https://github.com/go-gitea/gitea/issues/37019))
- Inline and lazy-load EasyMDE CSS, fix border colors ([#​36714](https://github.com/go-gitea/gitea/issues/36714))
- Closed milestones with no issues now show as 100% completed ([#​36220](https://github.com/go-gitea/gitea/issues/36220))
- Add test for ExtendCommentTreePathLength migration and fix bugs ([#​35791](https://github.com/go-gitea/gitea/issues/35791))
- Only turn links to current instance into hash links ([#​36237](https://github.com/go-gitea/gitea/issues/36237))
- Fix typos in code comments: doesnt, dont, wont ([#​36890](https://github.com/go-gitea/gitea/issues/36890))
- REFACTOR
- Clean up and improve non-gitea js error filter ([#​37148](https://github.com/go-gitea/gitea/issues/37148)) ([#​37155](https://github.com/go-gitea/gitea/issues/37155))
- Always show owner/repo name in compare page dropdowns ([#​37172](https://github.com/go-gitea/gitea/issues/37172)) ([#​37200](https://github.com/go-gitea/gitea/issues/37200))
- Remove dead CSS rules ([#​37173](https://github.com/go-gitea/gitea/issues/37173)) ([#​37177](https://github.com/go-gitea/gitea/issues/37177))
- Replace Monaco with CodeMirror ([#​36764](https://github.com/go-gitea/gitea/issues/36764))
- Replace CSRF cookie with `CrossOriginProtection` ([#​36183](https://github.com/go-gitea/gitea/issues/36183))
- Replace index with id in actions routes ([#​36842](https://github.com/go-gitea/gitea/issues/36842))
- Remove unnecessary function parameter ([#​35765](https://github.com/go-gitea/gitea/issues/35765))
- Move jobparser from act repository to Gitea ([#​36699](https://github.com/go-gitea/gitea/issues/36699))
- Refactor compare router param parse ([#​36105](https://github.com/go-gitea/gitea/issues/36105))
- Optimize 'refreshAccesses' to perform update without removing then adding ([#​35702](https://github.com/go-gitea/gitea/issues/35702))
- Clean up checkbox cursor styles ([#​37016](https://github.com/go-gitea/gitea/issues/37016))
- Remove undocumented support of signing key in the repository git configuration file ([#​36143](https://github.com/go-gitea/gitea/issues/36143))
- Switch `cmd/` to use constructor functions. ([#​36962](https://github.com/go-gitea/gitea/issues/36962))
- Use `relative-time` to render absolute dates ([#​36238](https://github.com/go-gitea/gitea/issues/36238))
- Some refactors about GetMergeBase ([#​36186](https://github.com/go-gitea/gitea/issues/36186))
- Some small refactors ([#​36163](https://github.com/go-gitea/gitea/issues/36163))
- Use gitRepo as parameter instead of repopath when invoking sign functions ([#​36162](https://github.com/go-gitea/gitea/issues/36162))
- Move blame to gitrepo ([#​36161](https://github.com/go-gitea/gitea/issues/36161))
- Move some functions to gitrepo package to reduce RepoPath reference directly ([#​36126](https://github.com/go-gitea/gitea/issues/36126))
- Use gitrepo's clone and push when possible ([#​36093](https://github.com/go-gitea/gitea/issues/36093))
- Remove mermaid margin workaround ([#​35732](https://github.com/go-gitea/gitea/issues/35732))
- Move some functions to gitrepo package ([#​35543](https://github.com/go-gitea/gitea/issues/35543))
- Move GetDiverging functions to gitrepo ([#​35524](https://github.com/go-gitea/gitea/issues/35524))
- Use global lock instead of status pool for cron lock ([#​35507](https://github.com/go-gitea/gitea/issues/35507))
- Use explicit mux instead of DefaultServeMux ([#​36276](https://github.com/go-gitea/gitea/issues/36276))
- Use gitrepo's push function ([#​36245](https://github.com/go-gitea/gitea/issues/36245))
- Pass request context to generateAdditionalHeadersForIssue ([#​36274](https://github.com/go-gitea/gitea/issues/36274))
- Move assign project when creating pull request to the same database transaction ([#​36244](https://github.com/go-gitea/gitea/issues/36244))
- Move catfile batch to a sub package of git module ([#​36232](https://github.com/go-gitea/gitea/issues/36232))
- Use gitrepo.Repository instead of wikipath ([#​35398](https://github.com/go-gitea/gitea/issues/35398))
- Use experimental go json v2 library ([#​35392](https://github.com/go-gitea/gitea/issues/35392))
- Refactor template render ([#​36438](https://github.com/go-gitea/gitea/issues/36438))
- Refactor GetRepoRawDiffForFile to avoid unnecessary pipe or goroutine ([#​36434](https://github.com/go-gitea/gitea/issues/36434))
- Refactor text utility classes to Tailwind CSS ([#​36703](https://github.com/go-gitea/gitea/issues/36703))
- Refactor git command stdio pipe ([#​36422](https://github.com/go-gitea/gitea/issues/36422))
- Refactor git command context & pipeline ([#​36406](https://github.com/go-gitea/gitea/issues/36406))
- Refactor git command stdio pipe ([#​36393](https://github.com/go-gitea/gitea/issues/36393))
- Remove unused functions ([#​36672](https://github.com/go-gitea/gitea/issues/36672))
- Refactor Actions Token Access ([#​35688](https://github.com/go-gitea/gitea/issues/35688))
- Move commit related functions to gitrepo package ([#​35600](https://github.com/go-gitea/gitea/issues/35600))
- Move archive function to repo\_model and gitrepo ([#​35514](https://github.com/go-gitea/gitea/issues/35514))
- Move some functions to gitrepo package ([#​35503](https://github.com/go-gitea/gitea/issues/35503))
- Use git model to detect whether branch exist instead of gitrepo method ([#​35459](https://github.com/go-gitea/gitea/issues/35459))
- Some refactor for repo path ([#​36251](https://github.com/go-gitea/gitea/issues/36251))
- Extract helper functions from SearchIssues ([#​36158](https://github.com/go-gitea/gitea/issues/36158))
- Refactor merge conan and container auth preserve actions taskID ([#​36560](https://github.com/go-gitea/gitea/issues/36560))
- Refactor Nuget Auth to reuse Basic Auth Token Validation ([#​36558](https://github.com/go-gitea/gitea/issues/36558))
- Refactor ActionsTaskID ([#​36503](https://github.com/go-gitea/gitea/issues/36503))
- Refactor auth middleware ([#​36848](https://github.com/go-gitea/gitea/issues/36848))
- Refactor code render and render control chars ([#​37078](https://github.com/go-gitea/gitea/issues/37078))
- Clean up AppURL, remove legacy origin-url webcomponent ([#​37090](https://github.com/go-gitea/gitea/issues/37090))
- Remove `util.URLJoin` and replace all callers with direct path concatenation ([#​36867](https://github.com/go-gitea/gitea/issues/36867))
- Replace legacy tw-flex utility classes with flex-text-block/inline ([#​36778](https://github.com/go-gitea/gitea/issues/36778))
- Mark unused\&immature activitypub as "not implemented" ([#​36789](https://github.com/go-gitea/gitea/issues/36789))
- TESTING
- Add e2e tests for server push events ([#​36879](https://github.com/go-gitea/gitea/issues/36879))
- Rework e2e tests ([#​36634](https://github.com/go-gitea/gitea/issues/36634))
- Add e2e reaction test, improve accessibility, enable parallel testing ([#​37081](https://github.com/go-gitea/gitea/issues/37081))
- Increase e2e test timeouts on CI to fix flaky tests ([#​37053](https://github.com/go-gitea/gitea/issues/37053))
- BUILD
- Upgrade go-git to v5.18.0 ([#​37269](https://github.com/go-gitea/gitea/issues/37269))
- Replace rollup-plugin-license with rolldown-license-plugin ([#​37130](https://github.com/go-gitea/gitea/issues/37130)) ([#​37158](https://github.com/go-gitea/gitea/issues/37158))
- Bump min go version to 1.26.2 ([#​37139](https://github.com/go-gitea/gitea/issues/37139)) ([#​37143](https://github.com/go-gitea/gitea/issues/37143))
- Convert locale files from ini to json format ([#​35489](https://github.com/go-gitea/gitea/issues/35489))
- Bump golangci-lint to 2.7.2, enable modernize stringsbuilder ([#​36180](https://github.com/go-gitea/gitea/issues/36180))
- Port away from `flake-utils` ([#​35675](https://github.com/go-gitea/gitea/issues/35675))
- Remove nolint ([#​36252](https://github.com/go-gitea/gitea/issues/36252))
- Update the Unlicense copy to latest version ([#​36636](https://github.com/go-gitea/gitea/issues/36636))
- Update to go 1.26.0 and golangci-lint 2.9.0 ([#​36588](https://github.com/go-gitea/gitea/issues/36588))
- Replace `google/go-licenses` with custom generation ([#​36575](https://github.com/go-gitea/gitea/issues/36575))
- Update go dependencies ([#​36548](https://github.com/go-gitea/gitea/issues/36548))
- Bump appleboy/git-push-action from 1.0.0 to 1.2.0 ([#​36306](https://github.com/go-gitea/gitea/issues/36306))
- Remove fomantic form module ([#​36222](https://github.com/go-gitea/gitea/issues/36222))
- Bump setup-node to v6, re-enable cache ([#​36207](https://github.com/go-gitea/gitea/issues/36207))
- Bump crowdin/github-action from 1 to 2 ([#​36204](https://github.com/go-gitea/gitea/issues/36204))
- Revert "Bump alpine to 3.23 ([#​36185](https://github.com/go-gitea/gitea/issues/36185))" ([#​36202](https://github.com/go-gitea/gitea/issues/36202))
- Update chroma to v2.21.1 ([#​36201](https://github.com/go-gitea/gitea/issues/36201))
- Bump astral-sh/setup-uv from 6 to 7 ([#​36198](https://github.com/go-gitea/gitea/issues/36198))
- Bump docker/build-push-action from 5 to 6 ([#​36197](https://github.com/go-gitea/gitea/issues/36197))
- Bump aws-actions/configure-aws-credentials from 4 to 5 ([#​36196](https://github.com/go-gitea/gitea/issues/36196))
- Bump dev-hanz-ops/install-gh-cli-action from 0.1.0 to 0.2.1 ([#​36195](https://github.com/go-gitea/gitea/issues/36195))
- Add JSON linting ([#​36192](https://github.com/go-gitea/gitea/issues/36192))
- Enable dependabot for actions ([#​36191](https://github.com/go-gitea/gitea/issues/36191))
- Bump alpine to 3.23 ([#​36185](https://github.com/go-gitea/gitea/issues/36185))
- Update chroma to v2.21.0 ([#​36171](https://github.com/go-gitea/gitea/issues/36171))
- Update JS deps and eslint enhancements ([#​36147](https://github.com/go-gitea/gitea/issues/36147))
- Update JS deps ([#​36091](https://github.com/go-gitea/gitea/issues/36091))
- update golangci-lint to v2.7.0 ([#​36079](https://github.com/go-gitea/gitea/issues/36079))
- Update JS deps, fix deprecations ([#​36040](https://github.com/go-gitea/gitea/issues/36040))
- Update JS deps ([#​35978](https://github.com/go-gitea/gitea/issues/35978))
- Add toolchain directive to go.mod ([#​35901](https://github.com/go-gitea/gitea/issues/35901))
- Move `gitea-vet` to use `go tool` ([#​35878](https://github.com/go-gitea/gitea/issues/35878))
- Update to go 1.25.4 ([#​35877](https://github.com/go-gitea/gitea/issues/35877))
- Enable TypeScript `strictNullChecks` ([#​35843](https://github.com/go-gitea/gitea/issues/35843))
- Enable `vue/require-typed-ref` eslint rule ([#​35764](https://github.com/go-gitea/gitea/issues/35764))
- Update JS dependencies ([#​35759](https://github.com/go-gitea/gitea/issues/35759))
- Move `codeformat` folder to tools ([#​35758](https://github.com/go-gitea/gitea/issues/35758))
- Update dependencies ([#​35733](https://github.com/go-gitea/gitea/issues/35733))
- Bump happy-dom from 20.0.0 to 20.0.2 ([#​35677](https://github.com/go-gitea/gitea/issues/35677))
- Bump setup-go to v6 ([#​35660](https://github.com/go-gitea/gitea/issues/35660))
- Update JS deps, misc tweaks ([#​35643](https://github.com/go-gitea/gitea/issues/35643))
- Bump happy-dom from 19.0.2 to 20.0.0 ([#​35625](https://github.com/go-gitea/gitea/issues/35625))
- Use bundled version of spectral ([#​35573](https://github.com/go-gitea/gitea/issues/35573))
- Update JS and PY deps ([#​35565](https://github.com/go-gitea/gitea/issues/35565))
- Bump github.com/wneessen/go-mail from 0.6.2 to 0.7.1 ([#​35557](https://github.com/go-gitea/gitea/issues/35557))
- Migrate from webpack to vite ([#​37002](https://github.com/go-gitea/gitea/issues/37002))
- Update JS dependencies and misc tweaks ([#​37064](https://github.com/go-gitea/gitea/issues/37064))
- Update to eslint 10 ([#​36925](https://github.com/go-gitea/gitea/issues/36925))
- Optimize Docker build with dependency layer caching ([#​36864](https://github.com/go-gitea/gitea/issues/36864))
- Update JS deps ([#​36850](https://github.com/go-gitea/gitea/issues/36850))
- Update tool dependencies and fix new lint issues ([#​36702](https://github.com/go-gitea/gitea/issues/36702))
- Remove redundant linter rules ([#​36658](https://github.com/go-gitea/gitea/issues/36658))
- Move Fomantic dropdown CSS to custom module ([#​36530](https://github.com/go-gitea/gitea/issues/36530))
- Remove and forbid `@ts-expect-error` ([#​36513](https://github.com/go-gitea/gitea/issues/36513))
- Refactor git command stderr handling ([#​36402](https://github.com/go-gitea/gitea/issues/36402))
- Enable gocheckcompilerdirectives linter ([#​36156](https://github.com/go-gitea/gitea/issues/36156))
- Replace `lint-go-gopls` with additional `govet` linters ([#​36028](https://github.com/go-gitea/gitea/issues/36028))
- Update golangci-lint to v2.6.0 ([#​35801](https://github.com/go-gitea/gitea/issues/35801))
- Misc tool tweaks ([#​35734](https://github.com/go-gitea/gitea/issues/35734))
- Add cache to container build ([#​35697](https://github.com/go-gitea/gitea/issues/35697))
- Upgrade vite ([#​37126](https://github.com/go-gitea/gitea/issues/37126))
- Update `setup-uv` to v8.0.0 ([#​37101](https://github.com/go-gitea/gitea/issues/37101))
- Upgrade `go-git` to v5.17.2 and related dependencies ([#​37060](https://github.com/go-gitea/gitea/issues/37060))
- Raise minimum Node.js version to 22.18.0 ([#​37058](https://github.com/go-gitea/gitea/issues/37058))
- Upgrade `golang.org/x/image` to v0.38.0 ([#​37054](https://github.com/go-gitea/gitea/issues/37054))
- Update minimum go version to 1.26.1, golangci-lint to 2.11.2, fix test style ([#​36876](https://github.com/go-gitea/gitea/issues/36876))
- Enable eslint concurrency ([#​36878](https://github.com/go-gitea/gitea/issues/36878))
- Vendor relative-time-element as local web component ([#​36853](https://github.com/go-gitea/gitea/issues/36853))
- Update material-icon-theme v5.32.0 ([#​36832](https://github.com/go-gitea/gitea/issues/36832))
- Update Go dependencies ([#​36781](https://github.com/go-gitea/gitea/issues/36781))
- Upgrade minimatch ([#​36760](https://github.com/go-gitea/gitea/issues/36760))
- Remove i18n backport tool at the moment because of translation format changed ([#​36643](https://github.com/go-gitea/gitea/issues/36643))
- Update emoji data for Unicode 16 ([#​36596](https://github.com/go-gitea/gitea/issues/36596))
- Update JS dependencies, adjust webpack config, misc fixes ([#​36431](https://github.com/go-gitea/gitea/issues/36431))
- Update material-icon-theme to v5.31.0 ([#​36427](https://github.com/go-gitea/gitea/issues/36427))
- Update JS and PY deps ([#​36383](https://github.com/go-gitea/gitea/issues/36383))
- Bump alpine to 3.23, add platforms to `docker-dryrun` ([#​36379](https://github.com/go-gitea/gitea/issues/36379))
- Update JS deps ([#​36354](https://github.com/go-gitea/gitea/issues/36354))
- Update goldmark to v1.7.16 ([#​36343](https://github.com/go-gitea/gitea/issues/36343))
- Update chroma to v2.22.0 ([#​36342](https://github.com/go-gitea/gitea/issues/36342))
- DOCS
- Update AI Contribution Policy ([#​37022](https://github.com/go-gitea/gitea/issues/37022))
- Update AGENTS.md with additional guidelines ([#​37018](https://github.com/go-gitea/gitea/issues/37018))
- Add missing cron tasks to example ini ([#​37012](https://github.com/go-gitea/gitea/issues/37012))
- Add AI Contribution Policy to CONTRIBUTING.md ([#​36651](https://github.com/go-gitea/gitea/issues/36651))
- Minor punctuation improvement in CONTRIBUTING.md ([#​36291](https://github.com/go-gitea/gitea/issues/36291))
- Add documentation for markdown anchor post-processing ([#​36443](https://github.com/go-gitea/gitea/issues/36443))
- MISC
- Correct spelling ([#​36783](https://github.com/go-gitea/gitea/issues/36783))
- Update Nix flake ([#​37110](https://github.com/go-gitea/gitea/issues/37110))
- Update Nix flake ([#​37024](https://github.com/go-gitea/gitea/issues/37024))
- Add valid github scopes ([#​36977](https://github.com/go-gitea/gitea/issues/36977))
- Update Nix flake ([#​36943](https://github.com/go-gitea/gitea/issues/36943))
- Update Nix flake ([#​36902](https://github.com/go-gitea/gitea/issues/36902))
- Update Nix flake ([#​36857](https://github.com/go-gitea/gitea/issues/36857))
- Update Nix flake ([#​36787](https://github.com/go-gitea/gitea/issues/36787))
### [`v1.25.5`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1255---2026-03-10)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.25.4...v1.25.5)
- SECURITY
- Toolchain Update to Go 1.25.6 ([#​36480](https://github.com/go-gitea/gitea/issues/36480)) ([#​36487](https://github.com/go-gitea/gitea/issues/36487))
- Adjust the toolchain version ([#​36537](https://github.com/go-gitea/gitea/issues/36537)) ([#​36542](https://github.com/go-gitea/gitea/issues/36542))
- Update toolchain to 1.25.8 for v1.25 ([#​36888](https://github.com/go-gitea/gitea/issues/36888))
- Prevent redirect bypasses via backslash-encoded paths ([#​36660](https://github.com/go-gitea/gitea/issues/36660)) ([#​36716](https://github.com/go-gitea/gitea/issues/36716))
- Fix get release draft permission check ([#​36659](https://github.com/go-gitea/gitea/issues/36659)) ([#​36715](https://github.com/go-gitea/gitea/issues/36715))
- Fix a bug user could change another user's primary email ([#​36586](https://github.com/go-gitea/gitea/issues/36586)) ([#​36607](https://github.com/go-gitea/gitea/issues/36607))
- Fix OAuth2 authorization code expiry and reuse handling ([#​36797](https://github.com/go-gitea/gitea/issues/36797)) ([#​36851](https://github.com/go-gitea/gitea/issues/36851))
- Add validation constraints for repository creation fields ([#​36671](https://github.com/go-gitea/gitea/issues/36671)) ([#​36757](https://github.com/go-gitea/gitea/issues/36757))
- Fix bug to check whether user can update pull request branch or rebase branch ([#​36465](https://github.com/go-gitea/gitea/issues/36465)) ([#​36838](https://github.com/go-gitea/gitea/issues/36838))
- Add migration http transport for push/sync mirror lfs ([#​36665](https://github.com/go-gitea/gitea/issues/36665)) ([#​36691](https://github.com/go-gitea/gitea/issues/36691))
- Fix track time list permission check ([#​36662](https://github.com/go-gitea/gitea/issues/36662)) ([#​36744](https://github.com/go-gitea/gitea/issues/36744))
- Fix track time issue id ([#​36664](https://github.com/go-gitea/gitea/issues/36664)) ([#​36689](https://github.com/go-gitea/gitea/issues/36689))
- Fix path resolving ([#​36734](https://github.com/go-gitea/gitea/issues/36734)) ([#​36746](https://github.com/go-gitea/gitea/issues/36746))
- Fix dump release asset bug ([#​36799](https://github.com/go-gitea/gitea/issues/36799)) ([#​36839](https://github.com/go-gitea/gitea/issues/36839))
- Fix org permission API visibility checks for hidden members and private orgs ([#​36798](https://github.com/go-gitea/gitea/issues/36798)) ([#​36841](https://github.com/go-gitea/gitea/issues/36841))
- Fix forwarded proto handling for public URL detection ([#​36810](https://github.com/go-gitea/gitea/issues/36810)) ([#​36836](https://github.com/go-gitea/gitea/issues/36836))
- Add a git grep search timeout ([#​36809](https://github.com/go-gitea/gitea/issues/36809)) ([#​36835](https://github.com/go-gitea/gitea/issues/36835))
- Fix oauth2 s256 ([#​36462](https://github.com/go-gitea/gitea/issues/36462)) ([#​36477](https://github.com/go-gitea/gitea/issues/36477))
- ENHANCEMENTS
- Make `security-check` informational only ([#​36681](https://github.com/go-gitea/gitea/issues/36681)) ([#​36852](https://github.com/go-gitea/gitea/issues/36852))
- Upgrade to github.com/cloudflare/circl 1.6.3, svgo 4.0.1, markdownlint-cli 0.48.0 ([#​36840](https://github.com/go-gitea/gitea/issues/36840))
- Add some validation on values provided to USER\_DISABLED\_FEATURES and EXTERNAL\_USER\_DISABLED\_FEATURES ([#​36688](https://github.com/go-gitea/gitea/issues/36688)) ([#​36692](https://github.com/go-gitea/gitea/issues/36692))
- Upgrade gogit to 5.16.5 ([#​36687](https://github.com/go-gitea/gitea/issues/36687))
- Add wrap to runner label list ([#​36565](https://github.com/go-gitea/gitea/issues/36565)) ([#​36574](https://github.com/go-gitea/gitea/issues/36574))
- Add dnf5 command for Fedora in RPM package instructions ([#​36527](https://github.com/go-gitea/gitea/issues/36527)) ([#​36572](https://github.com/go-gitea/gitea/issues/36572))
- Allow scroll propagation outside code editor ([#​36502](https://github.com/go-gitea/gitea/issues/36502)) ([#​36510](https://github.com/go-gitea/gitea/issues/36510))
- BUGFIXES
- Fix non-admins unable to automerge PRs from forks ([#​36833](https://github.com/go-gitea/gitea/issues/36833)) ([#​36843](https://github.com/go-gitea/gitea/issues/36843))
- Fix bug when pushing mirror with wiki ([#​36795](https://github.com/go-gitea/gitea/issues/36795)) ([#​36807](https://github.com/go-gitea/gitea/issues/36807))
- Fix artifacts v4 backend upload problems ([#​36805](https://github.com/go-gitea/gitea/issues/36805)) ([#​36834](https://github.com/go-gitea/gitea/issues/36834))
- Fix CRAN package version validation to allow more than 4 version components ([#​36813](https://github.com/go-gitea/gitea/issues/36813)) ([#​36821](https://github.com/go-gitea/gitea/issues/36821))
- Fix force push time-line commit comments of pull request ([#​36653](https://github.com/go-gitea/gitea/issues/36653)) ([#​36717](https://github.com/go-gitea/gitea/issues/36717))
- Fix SVG height calculation in diff viewer ([#​36748](https://github.com/go-gitea/gitea/issues/36748)) ([#​36750](https://github.com/go-gitea/gitea/issues/36750))
- Fix push time bug ([#​36693](https://github.com/go-gitea/gitea/issues/36693)) ([#​36713](https://github.com/go-gitea/gitea/issues/36713))
- Fix bug the protected branch rule name is conflicted with renamed branch name ([#​36650](https://github.com/go-gitea/gitea/issues/36650)) ([#​36661](https://github.com/go-gitea/gitea/issues/36661))
- Fix bug when do LFS GC ([#​36500](https://github.com/go-gitea/gitea/issues/36500)) ([#​36608](https://github.com/go-gitea/gitea/issues/36608))
- Fix focus lost bugs in the Monaco editor ([#​36609](https://github.com/go-gitea/gitea/issues/36609))
- Reprocess htmx content after loading more files ([#​36568](https://github.com/go-gitea/gitea/issues/36568)) ([#​36577](https://github.com/go-gitea/gitea/issues/36577))
- Fix assignee sidebar links and empty placeholder ([#​36559](https://github.com/go-gitea/gitea/issues/36559)) ([#​36563](https://github.com/go-gitea/gitea/issues/36563))
- Fix issues filter dropdown showing empty label scope section ([#​36535](https://github.com/go-gitea/gitea/issues/36535)) ([#​36544](https://github.com/go-gitea/gitea/issues/36544))
- Fix various mermaid bugs ([#​36547](https://github.com/go-gitea/gitea/issues/36547)) ([#​36552](https://github.com/go-gitea/gitea/issues/36552))
- Fix data race when uploading container blobs concurrently ([#​36524](https://github.com/go-gitea/gitea/issues/36524)) ([#​36526](https://github.com/go-gitea/gitea/issues/36526))
- Correct spacing between username and bot label ([#​36473](https://github.com/go-gitea/gitea/issues/36473)) ([#​36484](https://github.com/go-gitea/gitea/issues/36484))
### [`v1.25.4`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1254---2026-01-15)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.25.3...v1.25.4)
- SECURITY
- Release attachments must belong to the intended repo ([#​36347](https://github.com/go-gitea/gitea/issues/36347)) ([#​36375](https://github.com/go-gitea/gitea/issues/36375))
- Fix permission check on org project operations ([#​36318](https://github.com/go-gitea/gitea/issues/36318)) ([#​36373](https://github.com/go-gitea/gitea/issues/36373))
- Clean watches when make a repository private and check permission when send release emails ([#​36319](https://github.com/go-gitea/gitea/issues/36319)) ([#​36370](https://github.com/go-gitea/gitea/issues/36370))
- Add more check for stopwatch read or list ([#​36340](https://github.com/go-gitea/gitea/issues/36340)) ([#​36368](https://github.com/go-gitea/gitea/issues/36368))
- Fix openid setting check ([#​36346](https://github.com/go-gitea/gitea/issues/36346)) ([#​36361](https://github.com/go-gitea/gitea/issues/36361))
- Fix cancel auto merge bug ([#​36341](https://github.com/go-gitea/gitea/issues/36341)) ([#​36356](https://github.com/go-gitea/gitea/issues/36356))
- Fix delete attachment check ([#​36320](https://github.com/go-gitea/gitea/issues/36320)) ([#​36355](https://github.com/go-gitea/gitea/issues/36355))
- LFS locks must belong to the intended repo ([#​36344](https://github.com/go-gitea/gitea/issues/36344)) ([#​36349](https://github.com/go-gitea/gitea/issues/36349))
- Fix bug on notification read ([#​36339](https://github.com/go-gitea/gitea/issues/36339)) [#​36387](https://github.com/go-gitea/gitea/issues/36387)
- ENHANCEMENTS
- Add more routes to the "expensive" list ([#​36290](https://github.com/go-gitea/gitea/issues/36290))
- Make "commit statuses" API accept slashes in "ref" ([#​36264](https://github.com/go-gitea/gitea/issues/36264)) ([#​36275](https://github.com/go-gitea/gitea/issues/36275))
- BUGFIXES
- Fix git http service handling ([#​36396](https://github.com/go-gitea/gitea/issues/36396))
- Fix markdown newline handling during IME composition ([#​36421](https://github.com/go-gitea/gitea/issues/36421)) ([#​36424](https://github.com/go-gitea/gitea/issues/36424))
- Fix missing repository id when migrating release attachments ([#​36389](https://github.com/go-gitea/gitea/issues/36389))
- Fix bug when compare in the pull request ([#​36363](https://github.com/go-gitea/gitea/issues/36363)) ([#​36372](https://github.com/go-gitea/gitea/issues/36372))
- Fix incorrect text content detection ([#​36364](https://github.com/go-gitea/gitea/issues/36364)) ([#​36369](https://github.com/go-gitea/gitea/issues/36369))
- Fill missing `has_code` in repository api ([#​36338](https://github.com/go-gitea/gitea/issues/36338)) ([#​36359](https://github.com/go-gitea/gitea/issues/36359))
- Fix notifications pagination query parameters ([#​36351](https://github.com/go-gitea/gitea/issues/36351)) ([#​36358](https://github.com/go-gitea/gitea/issues/36358))
- Fix some trivial problems ([#​36336](https://github.com/go-gitea/gitea/issues/36336)) ([#​36337](https://github.com/go-gitea/gitea/issues/36337))
- Prevent panic when GitLab release has more links than sources ([#​36295](https://github.com/go-gitea/gitea/issues/36295)) ([#​36305](https://github.com/go-gitea/gitea/issues/36305))
- Fix stats bug when syncing release ([#​36285](https://github.com/go-gitea/gitea/issues/36285)) ([#​36294](https://github.com/go-gitea/gitea/issues/36294))
- Always honor user's choice for "delete branch after merge" ([#​36281](https://github.com/go-gitea/gitea/issues/36281)) ([#​36286](https://github.com/go-gitea/gitea/issues/36286))
- Use the requested host for LFS links ([#​36242](https://github.com/go-gitea/gitea/issues/36242)) ([#​36258](https://github.com/go-gitea/gitea/issues/36258))
- Fix panic when get editor config file ([#​36241](https://github.com/go-gitea/gitea/issues/36241)) ([#​36247](https://github.com/go-gitea/gitea/issues/36247))
- Fix regression in writing authorized principals ([#​36213](https://github.com/go-gitea/gitea/issues/36213)) ([#​36218](https://github.com/go-gitea/gitea/issues/36218))
- Fix WebAuthn error checking ([#​36219](https://github.com/go-gitea/gitea/issues/36219)) ([#​36235](https://github.com/go-gitea/gitea/issues/36235))
### [`v1.25.3`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1253---2025-12-17)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.25.2...v1.25.3)
- SECURITY
- Bump toolchain to go1.25.5, misc fixes ([#​36082](https://github.com/go-gitea/gitea/issues/36082))
- ENHANCEMENTS
- Add strikethrough button to markdown editor ([#​36087](https://github.com/go-gitea/gitea/issues/36087)) ([#​36104](https://github.com/go-gitea/gitea/issues/36104))
- Add "site admin" back to profile menu ([#​36010](https://github.com/go-gitea/gitea/issues/36010)) ([#​36013](https://github.com/go-gitea/gitea/issues/36013))
- Improve math rendering ([#​36124](https://github.com/go-gitea/gitea/issues/36124)) ([#​36125](https://github.com/go-gitea/gitea/issues/36125))
- BUGFIXES
- Check user visibility when redirecting to a renamed user ([#​36148](https://github.com/go-gitea/gitea/issues/36148)) ([#​36159](https://github.com/go-gitea/gitea/issues/36159))
- Fix various bugs ([#​36139](https://github.com/go-gitea/gitea/issues/36139)) ([#​36151](https://github.com/go-gitea/gitea/issues/36151))
- Fix bug when viewing the commit diff page with non-ANSI files ([#​36149](https://github.com/go-gitea/gitea/issues/36149)) ([#​36150](https://github.com/go-gitea/gitea/issues/36150))
- Hide RSS icon when viewing a file not under a branch ([#​36135](https://github.com/go-gitea/gitea/issues/36135)) ([#​36141](https://github.com/go-gitea/gitea/issues/36141))
- Fix SVG size calulation, only use `style` attribute ([#​36133](https://github.com/go-gitea/gitea/issues/36133)) ([#​36134](https://github.com/go-gitea/gitea/issues/36134))
- Make Golang correctly delete temp files during uploading ([#​36128](https://github.com/go-gitea/gitea/issues/36128)) ([#​36129](https://github.com/go-gitea/gitea/issues/36129))
- Fix the bug when ssh clone with redirect user or repository ([#​36039](https://github.com/go-gitea/gitea/issues/36039)) ([#​36090](https://github.com/go-gitea/gitea/issues/36090))
- Use Golang net/smtp instead of gomail's smtp to send email ([#​36055](https://github.com/go-gitea/gitea/issues/36055)) ([#​36083](https://github.com/go-gitea/gitea/issues/36083))
- Fix edit user email bug in API ([#​36068](https://github.com/go-gitea/gitea/issues/36068)) ([#​36081](https://github.com/go-gitea/gitea/issues/36081))
- Fix bug when updating user email ([#​36058](https://github.com/go-gitea/gitea/issues/36058)) ([#​36066](https://github.com/go-gitea/gitea/issues/36066))
- Fix incorrect viewed files counter if file has changed ([#​36009](https://github.com/go-gitea/gitea/issues/36009)) ([#​36047](https://github.com/go-gitea/gitea/issues/36047))
- Fix container registry error handling ([#​36021](https://github.com/go-gitea/gitea/issues/36021)) ([#​36037](https://github.com/go-gitea/gitea/issues/36037))
- Fix webAuthn insecure error view ([#​36165](https://github.com/go-gitea/gitea/issues/36165)) ([#​36179](https://github.com/go-gitea/gitea/issues/36179))
- Fix some file icon ui ([#​36078](https://github.com/go-gitea/gitea/issues/36078)) ([#​36088](https://github.com/go-gitea/gitea/issues/36088))
- Fix Actions `pull_request.paths` being triggered incorrectly by rebase ([#​36045](https://github.com/go-gitea/gitea/issues/36045)) ([#​36054](https://github.com/go-gitea/gitea/issues/36054))
- Fix error handling in mailer and wiki services ([#​36041](https://github.com/go-gitea/gitea/issues/36041)) ([#​36053](https://github.com/go-gitea/gitea/issues/36053))
- Fix bugs when comparing and creating pull request ([#​36166](https://github.com/go-gitea/gitea/issues/36166)) ([#​36144](https://github.com/go-gitea/gitea/issues/36144))
### [`v1.25.2`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1252---2025-11-23)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.25.1...v1.25.2)
- SECURITY
- Upgrade golang.org/x/crypto to 0.45.0 ([#​35985](https://github.com/go-gitea/gitea/issues/35985)) ([#​35988](https://github.com/go-gitea/gitea/issues/35988))
- Fix various permission & login related bugs ([#​36002](https://github.com/go-gitea/gitea/issues/36002)) ([#​36004](https://github.com/go-gitea/gitea/issues/36004))
- ENHANCEMENTS
- Display source code downloads last for release attachments ([#​35897](https://github.com/go-gitea/gitea/issues/35897)) ([#​35903](https://github.com/go-gitea/gitea/issues/35903))
- Change project default column icon to 'star' ([#​35967](https://github.com/go-gitea/gitea/issues/35967)) ([#​35979](https://github.com/go-gitea/gitea/issues/35979))
- BUGFIXES
- Allow empty commit when merging pull request with squash style ([#​35989](https://github.com/go-gitea/gitea/issues/35989)) ([#​36003](https://github.com/go-gitea/gitea/issues/36003))
- Fix container push tag overwriting ([#​35936](https://github.com/go-gitea/gitea/issues/35936)) ([#​35954](https://github.com/go-gitea/gitea/issues/35954))
- Fix corrupted external render content ([#​35946](https://github.com/go-gitea/gitea/issues/35946)) and upgrade golang.org/x packages ([#​35950](https://github.com/go-gitea/gitea/issues/35950))
- Limit reading bytes instead of ReadAll ([#​35928](https://github.com/go-gitea/gitea/issues/35928)) ([#​35934](https://github.com/go-gitea/gitea/issues/35934))
- Use correct form field for allowed force push users in branch protection API ([#​35894](https://github.com/go-gitea/gitea/issues/35894)) ([#​35908](https://github.com/go-gitea/gitea/issues/35908))
- Fix team member access check ([#​35899](https://github.com/go-gitea/gitea/issues/35899)) ([#​35905](https://github.com/go-gitea/gitea/issues/35905))
- Fix conda null depend issue ([#​35900](https://github.com/go-gitea/gitea/issues/35900)) ([#​35902](https://github.com/go-gitea/gitea/issues/35902))
- Set the dates to now when not specified by the caller ([#​35861](https://github.com/go-gitea/gitea/issues/35861)) ([#​35874](https://github.com/go-gitea/gitea/issues/35874))
- Fix gogit ListEntriesRecursiveWithSize ([#​35862](https://github.com/go-gitea/gitea/issues/35862))
- Misc CSS fixes ([#​35888](https://github.com/go-gitea/gitea/issues/35888)) ([#​35981](https://github.com/go-gitea/gitea/issues/35981))
- Don't show unnecessary error message to end users for DeleteBranchAfterMerge ([#​35937](https://github.com/go-gitea/gitea/issues/35937)) ([#​35941](https://github.com/go-gitea/gitea/issues/35941))
- Load jQuery as early as possible to support custom scripts ([#​35926](https://github.com/go-gitea/gitea/issues/35926)) ([#​35929](https://github.com/go-gitea/gitea/issues/35929))
- Allow to display embed images/pdfs when SERVE\_DIRECT was enabled on MinIO storage ([#​35882](https://github.com/go-gitea/gitea/issues/35882)) ([#​35917](https://github.com/go-gitea/gitea/issues/35917))
- Make OAuth2 issuer configurable ([#​35915](https://github.com/go-gitea/gitea/issues/35915)) ([#​35916](https://github.com/go-gitea/gitea/issues/35916))
- Fix [#​35763](https://github.com/go-gitea/gitea/issues/35763): Add proper page title for project pages ([#​35773](https://github.com/go-gitea/gitea/issues/35773)) ([#​35909](https://github.com/go-gitea/gitea/issues/35909))
- Fix avatar upload error handling ([#​35887](https://github.com/go-gitea/gitea/issues/35887)) ([#​35890](https://github.com/go-gitea/gitea/issues/35890))
- Contribution heatmap improvements ([#​35876](https://github.com/go-gitea/gitea/issues/35876)) ([#​35880](https://github.com/go-gitea/gitea/issues/35880))
- Remove padding override on `.ui .sha.label` ([#​35864](https://github.com/go-gitea/gitea/issues/35864)) ([#​35873](https://github.com/go-gitea/gitea/issues/35873))
- Fix pull description code label background ([#​35865](https://github.com/go-gitea/gitea/issues/35865)) ([#​35870](https://github.com/go-gitea/gitea/issues/35870))
### [`v1.25.1`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1251---2025-11-03)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.25.0...v1.25.1)
- BUGFIXES
- Make ACME email optional ([#​35849](https://github.com/go-gitea/gitea/issues/35849)) [#​35857](https://github.com/go-gitea/gitea/issues/35857)
- Add a doctor command to fix inconsistent run status ([#​35840](https://github.com/go-gitea/gitea/issues/35840)) ([#​35845](https://github.com/go-gitea/gitea/issues/35845))
- Remove wrong code ([#​35846](https://github.com/go-gitea/gitea/issues/35846))
- Fix viewed files number is not right if not all files loaded ([#​35821](https://github.com/go-gitea/gitea/issues/35821)) ([#​35844](https://github.com/go-gitea/gitea/issues/35844))
- Fix incorrect pull request counter ([#​35819](https://github.com/go-gitea/gitea/issues/35819)) ([#​35841](https://github.com/go-gitea/gitea/issues/35841))
- Upgrade go mail to 0.7.2 and fix the bug ([#​35833](https://github.com/go-gitea/gitea/issues/35833)) ([#​35837](https://github.com/go-gitea/gitea/issues/35837))
- Revert gomail to v0.7.0 to fix sending mail failed ([#​35816](https://github.com/go-gitea/gitea/issues/35816)) ([#​35824](https://github.com/go-gitea/gitea/issues/35824))
- Fix clone mixed bug ([#​35810](https://github.com/go-gitea/gitea/issues/35810)) ([#​35822](https://github.com/go-gitea/gitea/issues/35822))
- Fix cli "Before" handling ([#​35797](https://github.com/go-gitea/gitea/issues/35797)) ([#​35808](https://github.com/go-gitea/gitea/issues/35808))
- Improve and fix markup code preview rendering ([#​35777](https://github.com/go-gitea/gitea/issues/35777)) ([#​35787](https://github.com/go-gitea/gitea/issues/35787))
- Fix actions rerun bug ([#​35783](https://github.com/go-gitea/gitea/issues/35783)) ([#​35784](https://github.com/go-gitea/gitea/issues/35784))
- Fix actions schedule update issue ([#​35767](https://github.com/go-gitea/gitea/issues/35767)) ([#​35774](https://github.com/go-gitea/gitea/issues/35774))
- Fix circular spin animation direction ([#​35785](https://github.com/go-gitea/gitea/issues/35785)) ([#​35823](https://github.com/go-gitea/gitea/issues/35823))
- Fix file extension on gogs.png ([#​35793](https://github.com/go-gitea/gitea/issues/35793)) ([#​35799](https://github.com/go-gitea/gitea/issues/35799))
- Add pnpm to Snapcraft ([#​35778](https://github.com/go-gitea/gitea/issues/35778))
### [`v1.25.0`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1250---2025-10-30)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.24.7...v1.25.0)
- BREAKING
- Return 201 Created for CreateVariable API responses ([#​34517](https://github.com/go-gitea/gitea/issues/34517))
- Add label 'state' to metric 'gitea\_users' ([#​34326](https://github.com/go-gitea/gitea/issues/34326))
- SECURITY
- Upgrade security public key ([#​34956](https://github.com/go-gitea/gitea/issues/34956))
- Also include all security fixes in 1.24.x after 1.25.0-rc0
- FEATURES
- Stream repo zip/tar.gz/bundle achives by default ([#​35487](https://github.com/go-gitea/gitea/issues/35487))
- Use configurable remote name for git commands ([#​35172](https://github.com/go-gitea/gitea/issues/35172))
- Send email on Workflow Run Success/Failure ([#​34982](https://github.com/go-gitea/gitea/issues/34982))
- Refactor OpenIDConnect to support SSH/FullName sync ([#​34978](https://github.com/go-gitea/gitea/issues/34978))
- Refactor repo contents API and add "contents-ext" API ([#​34822](https://github.com/go-gitea/gitea/issues/34822))
- Add support for 3D/CAD file formats preview ([#​34794](https://github.com/go-gitea/gitea/issues/34794))
- Improve instance wide ssh commit signing ([#​34341](https://github.com/go-gitea/gitea/issues/34341))
- Edit file workflow for creating a fork and proposing changes ([#​34240](https://github.com/go-gitea/gitea/issues/34240))
- Follow file symlinks in the UI to their target ([#​28835](https://github.com/go-gitea/gitea/issues/28835))
- Allow renaming/moving binary/LFS files in the UI ([#​34350](https://github.com/go-gitea/gitea/issues/34350))
- PERFORMANCE
- Improve the performance when detecting the file editable ([#​34653](https://github.com/go-gitea/gitea/issues/34653))
- ENHANCEMENTS
- Enable more markdown paste features in textarea editor ([#​35494](https://github.com/go-gitea/gitea/issues/35494))
- Don't store repo archives on `gitea dump` ([#​35467](https://github.com/go-gitea/gitea/issues/35467))
- Always return the relevant status information, even if no status exists. ([#​35335](https://github.com/go-gitea/gitea/issues/35335))
- Add start time on perf trace because it seems some steps haven't been recorded. ([#​35282](https://github.com/go-gitea/gitea/issues/35282))
- Remove deprecated auth sources ([#​35272](https://github.com/go-gitea/gitea/issues/35272))
- When sorting issues by nearest due date, issues without due date should be sorted ascending ([#​35267](https://github.com/go-gitea/gitea/issues/35267))
- Disable field count validation of CSV viewer ([#​35228](https://github.com/go-gitea/gitea/issues/35228))
- Add `has_code` to repository REST API ([#​35214](https://github.com/go-gitea/gitea/issues/35214))
- Display pull request in merged commit view ([#​35202](https://github.com/go-gitea/gitea/issues/35202))
- Support Basic Authentication for archive downloads ([#​35087](https://github.com/go-gitea/gitea/issues/35087))
- Add hover background to table rows in user and repo admin page ([#​35072](https://github.com/go-gitea/gitea/issues/35072))
- Partially refresh notifications list ([#​35010](https://github.com/go-gitea/gitea/issues/35010))
- Also display "recently pushed branch" alert on PR view ([#​35001](https://github.com/go-gitea/gitea/issues/35001))
- Refactor time tracker UI ([#​34983](https://github.com/go-gitea/gitea/issues/34983))
- Improve CLI commands ([#​34973](https://github.com/go-gitea/gitea/issues/34973))
- Improve project & label color picker and image scroll ([#​34971](https://github.com/go-gitea/gitea/issues/34971))
- Improve NuGet API Parity ([#​21291](https://github.com/go-gitea/gitea/issues/21291)) ([#​34940](https://github.com/go-gitea/gitea/issues/34940))
- Support getting last commit message using contents-ext API ([#​34904](https://github.com/go-gitea/gitea/issues/34904))
- Adds title on branch commit counts ([#​34869](https://github.com/go-gitea/gitea/issues/34869))
- Add "Cancel workflow run" button to Actions list page ([#​34817](https://github.com/go-gitea/gitea/issues/34817))
- Improve img lazy loading ([#​34804](https://github.com/go-gitea/gitea/issues/34804))
- Forks repository list page follow other repositories page ([#​34784](https://github.com/go-gitea/gitea/issues/34784))
- Add ff\_only parameter to POST /repos/{owner}/{repo}/merge-upstream ([#​34770](https://github.com/go-gitea/gitea/issues/34770))
- Rework delete org and rename org UI ([#​34762](https://github.com/go-gitea/gitea/issues/34762))
- Improve nuget/rubygems package registries ([#​34741](https://github.com/go-gitea/gitea/issues/34741))
- Add repo file tree item link behavior ([#​34730](https://github.com/go-gitea/gitea/issues/34730))
- Add issue delete notifier ([#​34592](https://github.com/go-gitea/gitea/issues/34592))
- Improve Actions list ([#​34530](https://github.com/go-gitea/gitea/issues/34530))
- Add a default tab on repo header when migrating ([#​34503](https://github.com/go-gitea/gitea/issues/34503))
- Add post-installation redirect based on admin account status ([#​34493](https://github.com/go-gitea/gitea/issues/34493))
- Trigger 'unlabeled' event when label is Deleted from PR ([#​34316](https://github.com/go-gitea/gitea/issues/34316))
- Support annotated tags when using create release API ([#​31840](https://github.com/go-gitea/gitea/issues/31840))
- Use lfs label for lfs file rather than a long description ([#​34363](https://github.com/go-gitea/gitea/issues/34363))
- Add "View workflow file" to Actions list page ([#​34538](https://github.com/go-gitea/gitea/issues/34538))
- Move organization's visibility change to danger zone. ([#​34814](https://github.com/go-gitea/gitea/issues/34814))
- Don't block site admin's operation if SECRET\_KEY is lost ([#​35721](https://github.com/go-gitea/gitea/issues/35721))
- Make restricted users can access public repositories ([#​35693](https://github.com/go-gitea/gitea/issues/35693))
- The status icon of the Action step is consistent with GitHub ([#​35618](https://github.com/go-gitea/gitea/issues/35618)) [#​35621](https://github.com/go-gitea/gitea/issues/35621)
- BUGFIXES
- Update tab title when navigating file tree ([#​35757](https://github.com/go-gitea/gitea/issues/35757)) [#​35772](https://github.com/go-gitea/gitea/issues/35772)
- Fix "ref-issue" handling in markup ([#​35739](https://github.com/go-gitea/gitea/issues/35739)) [#​35771](https://github.com/go-gitea/gitea/issues/35771)
- Fix webhook to prevent tag events from bypassing branch filters targets ([#​35567](https://github.com/go-gitea/gitea/issues/35567)) [#​35577](https://github.com/go-gitea/gitea/issues/35577)
- Fix markup init after issue comment editing ([#​35536](https://github.com/go-gitea/gitea/issues/35536)) [#​35537](https://github.com/go-gitea/gitea/issues/35537)
- Fix creating pull request failure when the target branch name is the same as some tag ([#​35552](https://github.com/go-gitea/gitea/issues/35552)) [#​35582](https://github.com/go-gitea/gitea/issues/35582)
- Fix auto-expand and auto-scroll for actions logs ([#​35570](https://github.com/go-gitea/gitea/issues/35570)) ([#​35583](https://github.com/go-gitea/gitea/issues/35583)) [#​35586](https://github.com/go-gitea/gitea/issues/35586)
- Use inputs context when parsing workflows ([#​35590](https://github.com/go-gitea/gitea/issues/35590)) [#​35595](https://github.com/go-gitea/gitea/issues/35595)
- Fix diffpatch API endpoint ([#​35610](https://github.com/go-gitea/gitea/issues/35610)) [#​35613](https://github.com/go-gitea/gitea/issues/35613)
- Creating push comments before invoke pull request checking ([#​35647](https://github.com/go-gitea/gitea/issues/35647)) [#​35668](https://github.com/go-gitea/gitea/issues/35668)
- Fix missing Close when error occurs and abused connection pool ([#​35658](https://github.com/go-gitea/gitea/issues/35658)) [#​35670](https://github.com/go-gitea/gitea/issues/35670)
- Fix build ([#​35674](https://github.com/go-gitea/gitea/issues/35674))
- Use LFS object size instead of blob size when viewing a LFS file ([#​35679](https://github.com/go-gitea/gitea/issues/35679))
- Fix workflow run event status while rerunning a failed job ([#​35689](https://github.com/go-gitea/gitea/issues/35689))
- Avoid emoji mismatch and allow to only enable chosen emojis ([#​35692](https://github.com/go-gitea/gitea/issues/35692))
- Refactor legacy code, fix LFS auth bypass, fix symlink bypass ([#​35708](https://github.com/go-gitea/gitea/issues/35708))
- Fix various trivial problems ([#​35714](https://github.com/go-gitea/gitea/issues/35714))
- Fix attachment file size limit in server backend ([#​35519](https://github.com/go-gitea/gitea/issues/35519))
- Honor delete branch on merge repo setting when using merge API ([#​35488](https://github.com/go-gitea/gitea/issues/35488))
- Fix external render, make iframe render work ([#​35727](https://github.com/go-gitea/gitea/issues/35727), [#​35730](https://github.com/go-gitea/gitea/issues/35730))
- Upgrade go mail to 0.7.2 ([#​35748](https://github.com/go-gitea/gitea/issues/35748))
- Revert [#​18491](https://github.com/go-gitea/gitea/issues/18491), fix oauth2 client link account ([#​35745](https://github.com/go-gitea/gitea/issues/35745))
- Fix different behavior in status check pattern matching with double stars ([#​35474](https://github.com/go-gitea/gitea/issues/35474))
- Fix overflow in notifications list ([#​35446](https://github.com/go-gitea/gitea/issues/35446))
- Fix package link setting can only list limited repositories ([#​35394](https://github.com/go-gitea/gitea/issues/35394))
- Extend comment treepath length ([#​35389](https://github.com/go-gitea/gitea/issues/35389))
- Fix font-size in inline code comment preview ([#​35209](https://github.com/go-gitea/gitea/issues/35209))
- Move git config/remote to gitrepo package and add global lock to resolve possible conflict when updating repository git config file ([#​35151](https://github.com/go-gitea/gitea/issues/35151))
- Change some columns from text to longtext and fix column wrong type caused by xorm ([#​35141](https://github.com/go-gitea/gitea/issues/35141))
- Redirect to a presigned URL of HEAD for HEAD requests ([#​35088](https://github.com/go-gitea/gitea/issues/35088))
- Fix git commit committer parsing and add some tests ([#​35007](https://github.com/go-gitea/gitea/issues/35007))
- Fix OCI manifest parser ([#​34797](https://github.com/go-gitea/gitea/issues/34797))
- Refactor FindOrgOptions to use enum instead of bool, fix membership visibility ([#​34629](https://github.com/go-gitea/gitea/issues/34629))
- Fix notification count positioning for variable-width elements ([#​34597](https://github.com/go-gitea/gitea/issues/34597))
- Keeping consistent between UI and API about combined commit status state and fix some bugs ([#​34562](https://github.com/go-gitea/gitea/issues/34562))
- Fix possible panic ([#​34508](https://github.com/go-gitea/gitea/issues/34508))
- Fix autofocus behavior ([#​34397](https://github.com/go-gitea/gitea/issues/34397))
- Fix Actions API ([#​35204](https://github.com/go-gitea/gitea/issues/35204))
- Fix ListWorkflowRuns OpenAPI response model. ([#​35026](https://github.com/go-gitea/gitea/issues/35026))
- Small fix in Pull Requests page ([#​34612](https://github.com/go-gitea/gitea/issues/34612))
- Fix http auth header parsing ([#​34936](https://github.com/go-gitea/gitea/issues/34936))
- Fix modal + form abuse ([#​34921](https://github.com/go-gitea/gitea/issues/34921))
- Fix PR toggle WIP ([#​34920](https://github.com/go-gitea/gitea/issues/34920))
- Fix log fmt ([#​34810](https://github.com/go-gitea/gitea/issues/34810))
- Replace stopwatch toggle with explicit start/stop actions ([#​34818](https://github.com/go-gitea/gitea/issues/34818))
- Fix some package registry problems ([#​34759](https://github.com/go-gitea/gitea/issues/34759))
- Fix RPM package download routing & missing package version count ([#​34909](https://github.com/go-gitea/gitea/issues/34909))
- Fix repo search input height ([#​34330](https://github.com/go-gitea/gitea/issues/34330))
- Fix "The sidebar of the repository file list does not have a fixed height [#​34298](https://github.com/go-gitea/gitea/issues/34298)" ([#​34321](https://github.com/go-gitea/gitea/issues/34321))
- Fix minor typos in two files #HSFDPMUW ([#​34944](https://github.com/go-gitea/gitea/issues/34944))
- Fix actions skipped commit status indicator ([#​34507](https://github.com/go-gitea/gitea/issues/34507))
- Fix job status aggregation logic ([#​35000](https://github.com/go-gitea/gitea/issues/35000))
- Fix broken OneDev migration caused by various REST API changes in OneDev 7.8.0 and later ([#​35216](https://github.com/go-gitea/gitea/issues/35216))
- Fix typo in oauth2\_full\_name\_claim\_name string ([#​35199](https://github.com/go-gitea/gitea/issues/35199))
- Fix typo in locale\_en-US.ini ([#​35196](https://github.com/go-gitea/gitea/issues/35196))
- API
- Exposing TimeEstimate field in the API ([#​35475](https://github.com/go-gitea/gitea/issues/35475))
- UpdateBranch API supports renaming a branch ([#​35374](https://github.com/go-gitea/gitea/issues/35374))
- Add `owner` and `parent` fields clarification to docs ([#​35023](https://github.com/go-gitea/gitea/issues/35023))
- Improve OAuth2 provider (correct Issuer, respect ENABLED) ([#​34966](https://github.com/go-gitea/gitea/issues/34966))
- Add a `login`/`login-name`/`username` disambiguation to affected endpoint parameters and response/request models ([#​34901](https://github.com/go-gitea/gitea/issues/34901))
- Do not mutate incoming options to SearchRepositoryByName ([#​34553](https://github.com/go-gitea/gitea/issues/34553))
- Do not mutate incoming options to RenderUserSearch and SearchUsers ([#​34544](https://github.com/go-gitea/gitea/issues/34544))
- Export repo's manual merge settings ([#​34502](https://github.com/go-gitea/gitea/issues/34502))
- Add date range filtering to commit retrieval endpoints ([#​34497](https://github.com/go-gitea/gitea/issues/34497))
- Add endpoint deleting workflow run ([#​34337](https://github.com/go-gitea/gitea/issues/34337))
- Add workflow\_run api + webhook ([#​33964](https://github.com/go-gitea/gitea/issues/33964))
- REFACTOR
- Move updateref and removeref to gitrepo and remove unnecessary open repository ([#​35511](https://github.com/go-gitea/gitea/issues/35511))
- Remove unused param `doer` ([#​34545](https://github.com/go-gitea/gitea/issues/34545))
- Split GetLatestCommitStatus as two functions ([#​34535](https://github.com/go-gitea/gitea/issues/34535))
- Use gitrepo.SetDefaultBranch when set default branch of wiki repository ([#​33911](https://github.com/go-gitea/gitea/issues/33911))
- Refactor editor ([#​34780](https://github.com/go-gitea/gitea/issues/34780))
- Refactor packages ([#​34777](https://github.com/go-gitea/gitea/issues/34777))
- Refactor container package ([#​34877](https://github.com/go-gitea/gitea/issues/34877))
- Refactor "change file" API ([#​34855](https://github.com/go-gitea/gitea/issues/34855))
- Rename pull request GetGitRefName to GetGitHeadRefName to prepare introducing GetGitMergeRefName ([#​35093](https://github.com/go-gitea/gitea/issues/35093))
- Move git command to git/gitcmd ([#​35483](https://github.com/go-gitea/gitea/issues/35483))
- Use db.WithTx/WithTx2 instead of TxContext when possible ([#​35428](https://github.com/go-gitea/gitea/issues/35428))
- Support Node.js 22.6 with type stripping ([#​35427](https://github.com/go-gitea/gitea/issues/35427))
- Migrate tools and configs to typescript, require node.js >= 22.18.0 ([#​35421](https://github.com/go-gitea/gitea/issues/35421))
- Check user and repo for redirects when using git via SSH transport ([#​35416](https://github.com/go-gitea/gitea/issues/35416))
- Remove the duplicated function GetTags ([#​35375](https://github.com/go-gitea/gitea/issues/35375))
- Refactor to use reflect.TypeFor ([#​35370](https://github.com/go-gitea/gitea/issues/35370))
- Deleting branch could delete broken branch which has database record but git branch is missing ([#​35360](https://github.com/go-gitea/gitea/issues/35360))
- Exit with success when already up to date ([#​35312](https://github.com/go-gitea/gitea/issues/35312))
- Split admin config settings templates to make it maintain easier ([#​35294](https://github.com/go-gitea/gitea/issues/35294))
- A small refactor to use context in the service layer ([#​35179](https://github.com/go-gitea/gitea/issues/35179))
- Refactor and update mail templates ([#​35150](https://github.com/go-gitea/gitea/issues/35150))
- Use db.WithTx/WithTx2 instead of TxContext when possible ([#​35130](https://github.com/go-gitea/gitea/issues/35130))
- Align `issue-title-buttons` with `list-header` ([#​35018](https://github.com/go-gitea/gitea/issues/35018))
- Add Notifications section in User Settings ([#​35008](https://github.com/go-gitea/gitea/issues/35008))
- Tweak placement of diff file menu ([#​34999](https://github.com/go-gitea/gitea/issues/34999))
- Refactor mail template and support preview ([#​34990](https://github.com/go-gitea/gitea/issues/34990))
- Rerun job only when run is done ([#​34970](https://github.com/go-gitea/gitea/issues/34970))
- Merge index.js ([#​34963](https://github.com/go-gitea/gitea/issues/34963))
- Refactor "delete-button" to "link-action" ([#​34962](https://github.com/go-gitea/gitea/issues/34962))
- Refactor webhook and fix feishu/lark secret ([#​34961](https://github.com/go-gitea/gitea/issues/34961))
- Exclude devtest.ts from tailwindcss ([#​34935](https://github.com/go-gitea/gitea/issues/34935))
- Refactor head navbar icons ([#​34922](https://github.com/go-gitea/gitea/issues/34922))
- Improve html escape ([#​34911](https://github.com/go-gitea/gitea/issues/34911))
- Improve tags list page ([#​34898](https://github.com/go-gitea/gitea/issues/34898))
- Improve `labels-list` rendering ([#​34846](https://github.com/go-gitea/gitea/issues/34846))
- Remove unused variable HUGO\_VERSION ([#​34840](https://github.com/go-gitea/gitea/issues/34840))
- Correct migration tab name ([#​34826](https://github.com/go-gitea/gitea/issues/34826))
- Refactor template helper ([#​34819](https://github.com/go-gitea/gitea/issues/34819))
- Use `shallowRef` instead of `ref` in `.vue` files where possible ([#​34813](https://github.com/go-gitea/gitea/issues/34813))
- Use standalone function to update repository cols ([#​34811](https://github.com/go-gitea/gitea/issues/34811))
- Refactor wiki ([#​34805](https://github.com/go-gitea/gitea/issues/34805))
- Remove unnecessary duplicate code ([#​34733](https://github.com/go-gitea/gitea/issues/34733))
- Refactor embedded assets and drop unnecessary dependencies ([#​34692](https://github.com/go-gitea/gitea/issues/34692))
- Update x/crypto package and make builtin SSH use default parameters ([#​34667](https://github.com/go-gitea/gitea/issues/34667))
- Add `--color-logo`, matching the logo's primary color ([#​34639](https://github.com/go-gitea/gitea/issues/34639))
- Add openssh-keygen to rootless image ([#​34625](https://github.com/go-gitea/gitea/issues/34625))
- Replace update repository function in some places ([#​34566](https://github.com/go-gitea/gitea/issues/34566))
- Change "rejected" to "changes requested" in 3rd party PR review notification ([#​34481](https://github.com/go-gitea/gitea/issues/34481))
- Remove legacy template helper functions ([#​34426](https://github.com/go-gitea/gitea/issues/34426))
- Use run-name and evaluate workflow variables ([#​34301](https://github.com/go-gitea/gitea/issues/34301))
- Move HasWiki to repository service package ([#​33912](https://github.com/go-gitea/gitea/issues/33912))
- Move some functions from package git to gitrepo ([#​33910](https://github.com/go-gitea/gitea/issues/33910))
- TESTING
- Add webhook test for push event ([#​34442](https://github.com/go-gitea/gitea/issues/34442))
- Add a webhook push test for dev branch ([#​34421](https://github.com/go-gitea/gitea/issues/34421))
- Add migrations tests ([#​34456](https://github.com/go-gitea/gitea/issues/34456)) ([#​34498](https://github.com/go-gitea/gitea/issues/34498))
- STYLE
- Enforce explanation for necessary nolints and fix bugs ([#​34883](https://github.com/go-gitea/gitea/issues/34883))
- Fix remaining issues after `gopls modernize` formatting ([#​34771](https://github.com/go-gitea/gitea/issues/34771))
- Update gofumpt, add go.mod ignore directive ([#​35434](https://github.com/go-gitea/gitea/issues/35434))
- Enforce nolint scope ([#​34851](https://github.com/go-gitea/gitea/issues/34851))
- Enable gocritic `equalFold` and fix issues ([#​34952](https://github.com/go-gitea/gitea/issues/34952))
- Run `gopls modernize` on codebase ([#​34751](https://github.com/go-gitea/gitea/issues/34751))
- Upgrade `gopls` to v0.19.0, add `make fix` ([#​34772](https://github.com/go-gitea/gitea/issues/34772))
- BUILD
- bump archives\&rar dep ([#​35637](https://github.com/go-gitea/gitea/issues/35637)) [#​35638](https://github.com/go-gitea/gitea/issues/35638)
- Use github.com/mholt/archives replace github.com/mholt/archiver ([#​35390](https://github.com/go-gitea/gitea/issues/35390))
- Update JS and PY dependencies ([#​35444](https://github.com/go-gitea/gitea/issues/35444))
- Upgrade devcontainer go version to 1.24.6 ([#​35298](https://github.com/go-gitea/gitea/issues/35298))
- Upgrade golang to 1.25.1 and add descriptions for the swagger structs' fields ([#​35418](https://github.com/go-gitea/gitea/issues/35418))
- Update JS and PY deps ([#​35191](https://github.com/go-gitea/gitea/issues/35191))
- Update JS and PY dependencies ([#​34391](https://github.com/go-gitea/gitea/issues/34391))
- Update go tool dependencies ([#​34845](https://github.com/go-gitea/gitea/issues/34845))
- Update `uint8-to-base64`, remove type stub ([#​34844](https://github.com/go-gitea/gitea/issues/34844))
- Switch to `@resvg/resvg-wasm` for `generate-images` ([#​35415](https://github.com/go-gitea/gitea/issues/35415))
- Switch to pnpm ([#​35274](https://github.com/go-gitea/gitea/issues/35274))
- Update chroma to v2.20.0 ([#​35220](https://github.com/go-gitea/gitea/issues/35220))
- Migrate to urfave v3 ([#​34510](https://github.com/go-gitea/gitea/issues/34510))
- Update JS deps, regenerate SVGs ([#​34640](https://github.com/go-gitea/gitea/issues/34640))
- Upgrade dependencies ([#​35384](https://github.com/go-gitea/gitea/issues/35384))
- Bump `@github/relative-time-element` to v4.4.8 ([#​34413](https://github.com/go-gitea/gitea/issues/34413))
- Update JS dependencies ([#​34951](https://github.com/go-gitea/gitea/issues/34951))
- Upgrade orgmode to v1.8.0 ([#​34721](https://github.com/go-gitea/gitea/issues/34721))
- Raise minimum Node.js version to 20, test on 24 ([#​34713](https://github.com/go-gitea/gitea/issues/34713))
- Update JS deps ([#​34701](https://github.com/go-gitea/gitea/issues/34701))
- Upgrade htmx to 2.0.6 ([#​34887](https://github.com/go-gitea/gitea/issues/34887))
- Update eslint to v9 ([#​35485](https://github.com/go-gitea/gitea/issues/35485))
- Update js dependencies ([#​35429](https://github.com/go-gitea/gitea/issues/35429))
- Clean up npm dependencies ([#​35508](https://github.com/go-gitea/gitea/issues/35508))
- Clean up npm dependencies ([#​35484](https://github.com/go-gitea/gitea/issues/35484))
- Bump setup-node to v5 ([#​35448](https://github.com/go-gitea/gitea/issues/35448))
- MISC
- Add gitignore rules to exclude LLM instruction files ([#​35076](https://github.com/go-gitea/gitea/issues/35076))
- Gitignore: Visual Studio settings folder ([#​34375](https://github.com/go-gitea/gitea/issues/34375))
- Improve language in en-US locale strings ([#​35124](https://github.com/go-gitea/gitea/issues/35124))
- Fixed all grammatical errors in locale\_en-US.ini ([#​35053](https://github.com/go-gitea/gitea/issues/35053))
- Docs/fix typo and grammar in CONTRIBUTING.md ([#​35024](https://github.com/go-gitea/gitea/issues/35024))
- Improve english grammar and readability in locale\_en-US.ini ([#​35017](https://github.com/go-gitea/gitea/issues/35017))
### [`v1.24.7`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1247---2025-10-24)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.24.6...v1.24.7)
- SECURITY
- Refactor legacy code ([#​35708](https://github.com/go-gitea/gitea/issues/35708)) ([#​35713](https://github.com/go-gitea/gitea/issues/35713))
- Fixing issue [#​35530](https://github.com/go-gitea/gitea/issues/35530): Password Leak in Log Messages ([#​35584](https://github.com/go-gitea/gitea/issues/35584)) ([#​35665](https://github.com/go-gitea/gitea/issues/35665))
- Fix a bug missed return ([#​35655](https://github.com/go-gitea/gitea/issues/35655)) ([#​35671](https://github.com/go-gitea/gitea/issues/35671))
- BUGFIXES
- Fix inputing review comment will remove reviewer ([#​35591](https://github.com/go-gitea/gitea/issues/35591)) ([#​35664](https://github.com/go-gitea/gitea/issues/35664))
- TESTING
- Mock external service in hcaptcha TestCaptcha ([#​35604](https://github.com/go-gitea/gitea/issues/35604)) ([#​35663](https://github.com/go-gitea/gitea/issues/35663))
- Fix build ([#​35669](https://github.com/go-gitea/gitea/issues/35669))
### [`v1.24.6`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1246---2025-09-10)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.24.5...v1.24.6)
- SECURITY
- Upgrade xz to v0.5.15 ([#​35385](https://github.com/go-gitea/gitea/issues/35385))
- BUGFIXES
- Fix a compare page 404 bug when the pull request disabled ([#​35441](https://github.com/go-gitea/gitea/issues/35441)) ([#​35453](https://github.com/go-gitea/gitea/issues/35453))
- Fix bug when issue disabled, pull request number in the commit message cannot be redirected ([#​35420](https://github.com/go-gitea/gitea/issues/35420)) ([#​35442](https://github.com/go-gitea/gitea/issues/35442))
- Add author.name field to Swift Package Registry API response ([#​35410](https://github.com/go-gitea/gitea/issues/35410)) ([#​35431](https://github.com/go-gitea/gitea/issues/35431))
- Remove usernames when empty in discord webhook ([#​35412](https://github.com/go-gitea/gitea/issues/35412)) ([#​35417](https://github.com/go-gitea/gitea/issues/35417))
- Allow foreachref parser to grow its buffer ([#​35365](https://github.com/go-gitea/gitea/issues/35365)) ([#​35376](https://github.com/go-gitea/gitea/issues/35376))
- Allow deleting comment with content via API like web did ([#​35346](https://github.com/go-gitea/gitea/issues/35346)) ([#​35354](https://github.com/go-gitea/gitea/issues/35354))
- Fix atom/rss mixed error ([#​35345](https://github.com/go-gitea/gitea/issues/35345)) ([#​35347](https://github.com/go-gitea/gitea/issues/35347))
- Fix review request webhook bug ([#​35339](https://github.com/go-gitea/gitea/issues/35339))
- Remove duplicate html IDs ([#​35210](https://github.com/go-gitea/gitea/issues/35210)) ([#​35325](https://github.com/go-gitea/gitea/issues/35325))
- Fix LFS range size header response ([#​35277](https://github.com/go-gitea/gitea/issues/35277)) ([#​35293](https://github.com/go-gitea/gitea/issues/35293))
- Fix GitHub release assets URL validation ([#​35287](https://github.com/go-gitea/gitea/issues/35287)) ([#​35290](https://github.com/go-gitea/gitea/issues/35290))
- Fix token lifetime, closes [#​35230](https://github.com/go-gitea/gitea/issues/35230) ([#​35271](https://github.com/go-gitea/gitea/issues/35271)) ([#​35281](https://github.com/go-gitea/gitea/issues/35281))
- Fix push commits comments when changing the pull request target branch ([#​35386](https://github.com/go-gitea/gitea/issues/35386)) ([#​35443](https://github.com/go-gitea/gitea/issues/35443))
### [`v1.24.5`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1245---2025-08-12)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.24.4...v1.24.5)
- BUGFIXES
- Fix a bug where lfs gc never worked. ([#​35198](https://github.com/go-gitea/gitea/issues/35198)) ([#​35255](https://github.com/go-gitea/gitea/issues/35255))
- Reload issue when sending webhook to make num comments is right. ([#​35243](https://github.com/go-gitea/gitea/issues/35243)) ([#​35248](https://github.com/go-gitea/gitea/issues/35248))
- Fix bug when review pull request commits ([#​35192](https://github.com/go-gitea/gitea/issues/35192)) ([#​35246](https://github.com/go-gitea/gitea/issues/35246))
- MISC
- Vertically center "Show Resolved" ([#​35211](https://github.com/go-gitea/gitea/issues/35211)) ([#​35218](https://github.com/go-gitea/gitea/issues/35218))
### [`v1.24.4`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1244---2025-08-03)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.24.3...v1.24.4)
- BUGFIXES
- Fix various bugs (1.24) ([#​35186](https://github.com/go-gitea/gitea/issues/35186))
- Fix migrate input box bug ([#​35166](https://github.com/go-gitea/gitea/issues/35166)) ([#​35171](https://github.com/go-gitea/gitea/issues/35171))
- Only hide dropzone when no files have been uploaded ([#​35156](https://github.com/go-gitea/gitea/issues/35156)) ([#​35167](https://github.com/go-gitea/gitea/issues/35167))
- Fix review comment/dimiss comment x reference can be refereced back ([#​35094](https://github.com/go-gitea/gitea/issues/35094)) ([#​35099](https://github.com/go-gitea/gitea/issues/35099))
- Fix submodule nil check ([#​35096](https://github.com/go-gitea/gitea/issues/35096)) ([#​35098](https://github.com/go-gitea/gitea/issues/35098))
- MISC
- Don't use full-file highlight when there is a git diff textconv ([#​35114](https://github.com/go-gitea/gitea/issues/35114)) ([#​35119](https://github.com/go-gitea/gitea/issues/35119))
- Increase gap on latest commit ([#​35104](https://github.com/go-gitea/gitea/issues/35104)) ([#​35113](https://github.com/go-gitea/gitea/issues/35113))
### [`v1.24.3`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1243---2025-07-15)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.24.2...v1.24.3)
- BUGFIXES
- Fix form property assignment edge case ([#​35073](https://github.com/go-gitea/gitea/issues/35073)) ([#​35078](https://github.com/go-gitea/gitea/issues/35078))
- Improve submodule relative path handling ([#​35056](https://github.com/go-gitea/gitea/issues/35056)) ([#​35075](https://github.com/go-gitea/gitea/issues/35075))
- Fix incorrect comment diff hunk parsing, fix github asset ID nil panic ([#​35046](https://github.com/go-gitea/gitea/issues/35046)) ([#​35055](https://github.com/go-gitea/gitea/issues/35055))
- Fix updating user visibility ([#​35036](https://github.com/go-gitea/gitea/issues/35036)) ([#​35044](https://github.com/go-gitea/gitea/issues/35044))
- Support base64-encoded agit push options ([#​35037](https://github.com/go-gitea/gitea/issues/35037)) ([#​35041](https://github.com/go-gitea/gitea/issues/35041))
- Make submodule link work with relative path ([#​35034](https://github.com/go-gitea/gitea/issues/35034)) ([#​35038](https://github.com/go-gitea/gitea/issues/35038))
- Fix bug when displaying git user avatar in commits list ([#​35006](https://github.com/go-gitea/gitea/issues/35006))
- Fix API response for swagger spec ([#​35029](https://github.com/go-gitea/gitea/issues/35029))
- Start automerge check again after the conflict check and the schedule ([#​34988](https://github.com/go-gitea/gitea/issues/34988)) ([#​35002](https://github.com/go-gitea/gitea/issues/35002))
- Fix the response format for actions/workflows ([#​35009](https://github.com/go-gitea/gitea/issues/35009)) ([#​35016](https://github.com/go-gitea/gitea/issues/35016))
- Fix repo settings and protocol log problems ([#​35012](https://github.com/go-gitea/gitea/issues/35012)) ([#​35013](https://github.com/go-gitea/gitea/issues/35013))
- Fix project images scroll ([#​34971](https://github.com/go-gitea/gitea/issues/34971)) ([#​34972](https://github.com/go-gitea/gitea/issues/34972))
- Mark old reviews as stale on agit pr updates ([#​34933](https://github.com/go-gitea/gitea/issues/34933)) ([#​34965](https://github.com/go-gitea/gitea/issues/34965))
- Fix git graph page ([#​34948](https://github.com/go-gitea/gitea/issues/34948)) ([#​34949](https://github.com/go-gitea/gitea/issues/34949))
- Don't send trigger for a pending review's comment create/update/delete ([#​34928](https://github.com/go-gitea/gitea/issues/34928)) ([#​34939](https://github.com/go-gitea/gitea/issues/34939))
- Fix some log and UI problems ([#​34863](https://github.com/go-gitea/gitea/issues/34863)) ([#​34868](https://github.com/go-gitea/gitea/issues/34868))
- Fix archive API ([#​34853](https://github.com/go-gitea/gitea/issues/34853)) ([#​34857](https://github.com/go-gitea/gitea/issues/34857))
- Ignore force pushes for changed files in a PR review ([#​34837](https://github.com/go-gitea/gitea/issues/34837)) ([#​34843](https://github.com/go-gitea/gitea/issues/34843))
- Fix SSH LFS timeout ([#​34838](https://github.com/go-gitea/gitea/issues/34838)) ([#​34842](https://github.com/go-gitea/gitea/issues/34842))
- Fix team permissions ([#​34827](https://github.com/go-gitea/gitea/issues/34827)) ([#​34836](https://github.com/go-gitea/gitea/issues/34836))
- Fix job status aggregation logic ([#​34823](https://github.com/go-gitea/gitea/issues/34823)) ([#​34835](https://github.com/go-gitea/gitea/issues/34835))
- Fix issue filter ([#​34914](https://github.com/go-gitea/gitea/issues/34914)) ([#​34915](https://github.com/go-gitea/gitea/issues/34915))
- Fix typo in pull request merge warning message text ([#​34899](https://github.com/go-gitea/gitea/issues/34899)) ([#​34903](https://github.com/go-gitea/gitea/issues/34903))
- Support the open-icon of folder ([#​34168](https://github.com/go-gitea/gitea/issues/34168)) ([#​34896](https://github.com/go-gitea/gitea/issues/34896))
- Optimize flex layout of release attachment area ([#​34885](https://github.com/go-gitea/gitea/issues/34885)) ([#​34886](https://github.com/go-gitea/gitea/issues/34886))
- Fix the issue of abnormal interface when there is no issue-item on the project page ([#​34791](https://github.com/go-gitea/gitea/issues/34791)) ([#​34880](https://github.com/go-gitea/gitea/issues/34880))
- Skip updating timestamp when sync branch ([#​34875](https://github.com/go-gitea/gitea/issues/34875))
- Fix required contexts and commit status matching bug ([#​34815](https://github.com/go-gitea/gitea/issues/34815)) ([#​34829](https://github.com/go-gitea/gitea/issues/34829))
### [`v1.24.2`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1242---2025-06-20)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.24.1...v1.24.2)
- BUGFIXES
- Fix container range bug ([#​34795](https://github.com/go-gitea/gitea/issues/34795)) ([#​34796](https://github.com/go-gitea/gitea/issues/34796))
- Upgrade chi to v5.2.2 ([#​34798](https://github.com/go-gitea/gitea/issues/34798)) ([#​34799](https://github.com/go-gitea/gitea/issues/34799))
- BUILD
- Bump poetry feature to new url for dev container ([#​34787](https://github.com/go-gitea/gitea/issues/34787)) ([#​34790](https://github.com/go-gitea/gitea/issues/34790))
### [`v1.24.1`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1241---2025-06-18)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.24.0...v1.24.1)
- ENHANCEMENTS
- Improve alignment of commit status icon on commit page ([#​34750](https://github.com/go-gitea/gitea/issues/34750)) ([#​34757](https://github.com/go-gitea/gitea/issues/34757))
- Support title and body query parameters for new PRs ([#​34537](https://github.com/go-gitea/gitea/issues/34537)) ([#​34752](https://github.com/go-gitea/gitea/issues/34752))
- BUGFIXES
- When using rules to delete packages, remove unclean bugs ([#​34632](https://github.com/go-gitea/gitea/issues/34632)) ([#​34761](https://github.com/go-gitea/gitea/issues/34761))
- Fix ghost user in feeds when pushing in an actions, it should be gitea-actions ([#​34703](https://github.com/go-gitea/gitea/issues/34703)) ([#​34756](https://github.com/go-gitea/gitea/issues/34756))
- Prevent double markdown link brackets when pasting URL ([#​34745](https://github.com/go-gitea/gitea/issues/34745)) ([#​34748](https://github.com/go-gitea/gitea/issues/34748))
- Prevent duplicate form submissions when creating forks ([#​34714](https://github.com/go-gitea/gitea/issues/34714)) ([#​34735](https://github.com/go-gitea/gitea/issues/34735))
- Fix markdown wrap ([#​34697](https://github.com/go-gitea/gitea/issues/34697)) ([#​34702](https://github.com/go-gitea/gitea/issues/34702))
- Fix pull requests API convert panic when head repository is deleted. ([#​34685](https://github.com/go-gitea/gitea/issues/34685)) ([#​34687](https://github.com/go-gitea/gitea/issues/34687))
- Fix commit message rendering and some UI problems ([#​34680](https://github.com/go-gitea/gitea/issues/34680)) ([#​34683](https://github.com/go-gitea/gitea/issues/34683))
- Fix container range bug ([#​34725](https://github.com/go-gitea/gitea/issues/34725)) ([#​34732](https://github.com/go-gitea/gitea/issues/34732))
- Fix incorrect cli default values ([#​34765](https://github.com/go-gitea/gitea/issues/34765)) ([#​34766](https://github.com/go-gitea/gitea/issues/34766))
- Fix dropdown filter ([#​34708](https://github.com/go-gitea/gitea/issues/34708)) ([#​34711](https://github.com/go-gitea/gitea/issues/34711))
- Hide href attribute of a tag if there is no target\_url ([#​34556](https://github.com/go-gitea/gitea/issues/34556)) ([#​34684](https://github.com/go-gitea/gitea/issues/34684))
- Fix tag target ([#​34781](https://github.com/go-gitea/gitea/issues/34781)) [#​34783](https://github.com/go-gitea/gitea/issues/34783)
### [`v1.24.0`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1240---2025-05-26)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.23.8...v1.24.0)
- BREAKING
- Make Gitea always use its internal config, ignore `/etc/gitconfig` ([#​33076](https://github.com/go-gitea/gitea/issues/33076))
- Improve log format ([#​33814](https://github.com/go-gitea/gitea/issues/33814))
- Fix markdown render behaviors ([#​34122](https://github.com/go-gitea/gitea/issues/34122))
- Add package version api endpoints ([#​34173](https://github.com/go-gitea/gitea/issues/34173))
- FEATURES
- Enforce two-factor auth (2FA: TOTP or WebAuthn) ([#​34187](https://github.com/go-gitea/gitea/issues/34187))
- Add fullscreen mode as a more efficient operation way to view projects ([#​34081](https://github.com/go-gitea/gitea/issues/34081))
- Add anonymous access support for private/unlisted repositories ([#​34051](https://github.com/go-gitea/gitea/issues/34051))
- Support public code/issue access for private repositories ([#​33127](https://github.com/go-gitea/gitea/issues/33127))
- Add middleware for request prioritization ([#​33951](https://github.com/go-gitea/gitea/issues/33951))
- Add cli flags LDAP group configuration ([#​33933](https://github.com/go-gitea/gitea/issues/33933))
- Add file tree to file view page ([#​32721](https://github.com/go-gitea/gitea/issues/32721))
- Add material icons for file list ([#​33837](https://github.com/go-gitea/gitea/issues/33837))
- Artifacts download api for artifact actions v4 ([#​33510](https://github.com/go-gitea/gitea/issues/33510))
- Support choose email when creating a commit via web UI ([#​33432](https://github.com/go-gitea/gitea/issues/33432))
- Add basic auth support to rss/atom feeds ([#​33371](https://github.com/go-gitea/gitea/issues/33371))
- Add sorting by exclusive labels (issue priority) ([#​33206](https://github.com/go-gitea/gitea/issues/33206))
- Add sub issue list support ([#​32940](https://github.com/go-gitea/gitea/issues/32940))
- Private README.md for organization ([#​32872](https://github.com/go-gitea/gitea/issues/32872))
- Email option to embed images as base64 instead of link ([#​32061](https://github.com/go-gitea/gitea/issues/32061))
- Option to delay conflict checking of old pull requests until page view ([#​27779](https://github.com/go-gitea/gitea/issues/27779))
- Worktime tracking for the organization level ([#​19808](https://github.com/go-gitea/gitea/issues/19808))
- PERFORMANCE
- Add cache for common package queries ([#​22491](https://github.com/go-gitea/gitea/issues/22491))
- Move issue pin to an standalone table for querying performance ([#​33452](https://github.com/go-gitea/gitea/issues/33452))
- Improve commits list performance to reduce unnecessary database queries ([#​33528](https://github.com/go-gitea/gitea/issues/33528))
- Optimize total count of feed when loading activities in user dashboard. ([#​33841](https://github.com/go-gitea/gitea/issues/33841))
- Optimize heatmap query ([#​33853](https://github.com/go-gitea/gitea/issues/33853))
- Only use prev and next buttons for pagination on user dashboard ([#​33981](https://github.com/go-gitea/gitea/issues/33981))
- Improve pull request list API performance ([#​34052](https://github.com/go-gitea/gitea/issues/34052))
- Cache GPG keys, emails and users when list commits ([#​34086](https://github.com/go-gitea/gitea/issues/34086))
- Refactor Git Attribute & performance optimization ([#​34154](https://github.com/go-gitea/gitea/issues/34154))
- Performance optimization for tags synchronization ([#​34355](https://github.com/go-gitea/gitea/issues/34355)) [#​34522](https://github.com/go-gitea/gitea/issues/34522)
- ENHANCEMENTS
- Code
- Display when a release attachment was uploaded ([#​34261](https://github.com/go-gitea/gitea/issues/34261))
- Support creating relative link to raw path in markdown ([#​34105](https://github.com/go-gitea/gitea/issues/34105))
- Improve code block readability and isolate copy button ([#​34009](https://github.com/go-gitea/gitea/issues/34009))
- Improve repository commit view ([#​33877](https://github.com/go-gitea/gitea/issues/33877))
- Full-file syntax highlighting for diff pages ([#​33766](https://github.com/go-gitea/gitea/issues/33766))
- Clone repository with Tea CLI ([#​33725](https://github.com/go-gitea/gitea/issues/33725))
- Improve sync fork behavior ([#​33319](https://github.com/go-gitea/gitea/issues/33319))
- Make git clone URL could use current signed-in user ([#​33091](https://github.com/go-gitea/gitea/issues/33091))
- Add submodule diff links ([#​33097](https://github.com/go-gitea/gitea/issues/33097))
- Link to tree views of submodules if possible ([#​33424](https://github.com/go-gitea/gitea/issues/33424))
- Only keep popular licenses ([#​33832](https://github.com/go-gitea/gitea/issues/33832))
- De-emphasize signed commits ([#​31160](https://github.com/go-gitea/gitea/issues/31160))
- Actions
- Add flat-square action badge style ([#​34062](https://github.com/go-gitea/gitea/issues/34062))
- Update action status badge layout ([#​34018](https://github.com/go-gitea/gitea/issues/34018))
- Download actions job logs from API ([#​33858](https://github.com/go-gitea/gitea/issues/33858))
- Always show the "rerun" button for action jobs ([#​33692](https://github.com/go-gitea/gitea/issues/33692))
- Add auto-expanding running actions step ([#​30058](https://github.com/go-gitea/gitea/issues/30058))
- Update status check for all supported on.pull\_request.types in Gitea ([#​33117](https://github.com/go-gitea/gitea/issues/33117))
- Workflow\_dispatch use workflow from trigger branch ([#​33098](https://github.com/go-gitea/gitea/issues/33098))
- Add action auto-scroll ([#​30057](https://github.com/go-gitea/gitea/issues/30057))
- Add workflow\_job webhook ([#​33694](https://github.com/go-gitea/gitea/issues/33694))
- Add a button editing action secret ([#​34462](https://github.com/go-gitea/gitea/issues/34462))
- Pull Request
- Auto expand "New PR" form ([#​33971](https://github.com/go-gitea/gitea/issues/33971))
- Mark parent directory as viewed when all files are viewed ([#​33958](https://github.com/go-gitea/gitea/issues/33958))
- Show info about maintainers are allowed to edit a PR ([#​33738](https://github.com/go-gitea/gitea/issues/33738))
- Automerge supports deleting branch automatically after merging ([#​32343](https://github.com/go-gitea/gitea/issues/32343))
- Add additional command hints for PowerShell & CMD ([#​33548](https://github.com/go-gitea/gitea/issues/33548))
- Issues
- Allow filtering issues by any assignee ([#​33343](https://github.com/go-gitea/gitea/issues/33343))
- Show warning on navigation if currently editing comment or title ([#​32920](https://github.com/go-gitea/gitea/issues/32920))
- Make tracked time representation display as hours ([#​33315](https://github.com/go-gitea/gitea/issues/33315))
- Add No Results Prompt Message on Issue List Page ([#​33699](https://github.com/go-gitea/gitea/issues/33699))
- Add sort option recentclose for issues and pulls ([#​34525](https://github.com/go-gitea/gitea/issues/34525)) [#​34539](https://github.com/go-gitea/gitea/issues/34539)
- Packages
- Link to nuget dependencies ([#​26554](https://github.com/go-gitea/gitea/issues/26554))
- Add composor source field ([#​33502](https://github.com/go-gitea/gitea/issues/33502))
- Administration
- Improve navbar: add "admin" tip, add "active" style ([#​32927](https://github.com/go-gitea/gitea/issues/32927))
- Add a option "--user-type bot" to admin user create, improve role display ([#​27885](https://github.com/go-gitea/gitea/issues/27885))
- Improve admin user view page ([#​33735](https://github.com/go-gitea/gitea/issues/33735))
- Support performance trace ([#​32973](https://github.com/go-gitea/gitea/issues/32973))
- Change pprof labels to be prometheus compatible ([#​32865](https://github.com/go-gitea/gitea/issues/32865))
- Allow admins and org owners to change org member public status ([#​28294](https://github.com/go-gitea/gitea/issues/28294))
- Optimize the installation page ([#​32994](https://github.com/go-gitea/gitea/issues/32994))
- Make public URL generation configurable ([#​34250](https://github.com/go-gitea/gitea/issues/34250))
- Add a --fullname arg to gitea admin user create. ([#​34241](https://github.com/go-gitea/gitea/issues/34241))
- Others
- Improve oauth2 error handling ([#​33969](https://github.com/go-gitea/gitea/issues/33969))
- Fail mirroring more gracefully ([#​34002](https://github.com/go-gitea/gitea/issues/34002))
- Align User Details Page Header Layout with Design Specifications ([#​34192](https://github.com/go-gitea/gitea/issues/34192))
- Webhook add X-Gitea-Hook-Installation-Target-Type Header ([#​33752](https://github.com/go-gitea/gitea/issues/33752))
- Optimize the dashboard ([#​32990](https://github.com/go-gitea/gitea/issues/32990))
- Improve button layout on small screens ([#​33633](https://github.com/go-gitea/gitea/issues/33633))
- Add cropping support when modifying the user/org/repo avatar ([#​33498](https://github.com/go-gitea/gitea/issues/33498))
- Make ROOT\_URL support using request Host header ([#​32564](https://github.com/go-gitea/gitea/issues/32564))
- Add `show more` organizations icon in user's profile ([#​32986](https://github.com/go-gitea/gitea/issues/32986))
- Introduce `--page-space-bottom` at 64px ([#​30692](https://github.com/go-gitea/gitea/issues/30692))
- Improve theme display ([#​30671](https://github.com/go-gitea/gitea/issues/30671))
- Add alphabetical project sorting ([#​33504](https://github.com/go-gitea/gitea/issues/33504))
- Add global lock for migrations to make upgrade more safe with multiple replications ([#​33706](https://github.com/go-gitea/gitea/issues/33706))
- Add descriptions for private repo public access settings and improve the UI ([#​34057](https://github.com/go-gitea/gitea/issues/34057))
- API
- Actions Runner rest api ([#​33873](https://github.com/go-gitea/gitea/issues/33873))
- Inclusion of rename organization api ([#​33303](https://github.com/go-gitea/gitea/issues/33303))
- Add API to support link package to repository and unlink it ([#​33481](https://github.com/go-gitea/gitea/issues/33481))
- Add API endpoint to request contents of multiple files simultaniously ([#​34139](https://github.com/go-gitea/gitea/issues/34139))
- Actions artifacts API list/download check status upload confirmed ([#​34273](https://github.com/go-gitea/gitea/issues/34273))
- Add API routes to lock and unlock issues ([#​34165](https://github.com/go-gitea/gitea/issues/34165))
- Fix some user name usages ([#​33689](https://github.com/go-gitea/gitea/issues/33689))
- Allow filtering /repos/{owner}/{repo}/pulls by target base branch queryparam ([#​33684](https://github.com/go-gitea/gitea/issues/33684))
- Improve swagger generation ([#​33664](https://github.com/go-gitea/gitea/issues/33664))
- Support Ephemeral action runners ([#​33570](https://github.com/go-gitea/gitea/issues/33570))
- Support workflow event dispatch via API ([#​33545](https://github.com/go-gitea/gitea/issues/33545))
- Support workflow event dispatch via API ([#​32059](https://github.com/go-gitea/gitea/issues/32059))
- Added Description Field for Secrets and Variables ([#​33526](https://github.com/go-gitea/gitea/issues/33526))
- Reject star-related requests if stars are disabled ([#​33208](https://github.com/go-gitea/gitea/issues/33208))
- Let API create and edit system webhooks, attempt 2 ([#​33180](https://github.com/go-gitea/gitea/issues/33180))
- Use `Project-URL` metadata field to get a PyPI package's homepage URL ([#​33089](https://github.com/go-gitea/gitea/issues/33089))
- Add `last_committer_date` and `last_author_date` for file contents API ([#​32921](https://github.com/go-gitea/gitea/issues/32921))
- REFACTORS
- Remove context from git struct ([#​33793](https://github.com/go-gitea/gitea/issues/33793))
- Refactor admin/common.ts ([#​33788](https://github.com/go-gitea/gitea/issues/33788))
- Refactor repo-settings.ts ([#​33785](https://github.com/go-gitea/gitea/issues/33785))
- Refactor repo-issue.ts ([#​33784](https://github.com/go-gitea/gitea/issues/33784))
- Small refactor to reduce unnecessary database queries and remove duplicated functions ([#​33779](https://github.com/go-gitea/gitea/issues/33779))
- Refactor initRepoBranchTagSelector to use new init framework ([#​33776](https://github.com/go-gitea/gitea/issues/33776))
- Refactor buttons to use new init framework ([#​33774](https://github.com/go-gitea/gitea/issues/33774))
- Refactor markup and pdf-viewer to use new init framework ([#​33772](https://github.com/go-gitea/gitea/issues/33772))
- Refactor error system ([#​33771](https://github.com/go-gitea/gitea/issues/33771))
- Refactor mail code ([#​33768](https://github.com/go-gitea/gitea/issues/33768))
- Update TypeScript types ([#​33799](https://github.com/go-gitea/gitea/issues/33799))
- Refactor older tests to use testify ([#​33140](https://github.com/go-gitea/gitea/issues/33140))
- Move notifywatch to service layer ([#​33825](https://github.com/go-gitea/gitea/issues/33825))
- Decouple context from repository related structs ([#​33823](https://github.com/go-gitea/gitea/issues/33823))
- Remove context from mail struct ([#​33811](https://github.com/go-gitea/gitea/issues/33811))
- Refactor dropdown ellipsis ([#​34123](https://github.com/go-gitea/gitea/issues/34123))
- Refactor functions to reduce repopath expose ([#​33892](https://github.com/go-gitea/gitea/issues/33892))
- Refactor repo-diff.ts ([#​33746](https://github.com/go-gitea/gitea/issues/33746))
- Refactor web route handler ([#​33488](https://github.com/go-gitea/gitea/issues/33488))
- Refactor user & avatar ([#​33433](https://github.com/go-gitea/gitea/issues/33433))
- Refactor user package ([#​33423](https://github.com/go-gitea/gitea/issues/33423))
- Refactor decouple context from migration structs ([#​33399](https://github.com/go-gitea/gitea/issues/33399))
- Refactor context flash msg and global variables ([#​33375](https://github.com/go-gitea/gitea/issues/33375))
- Refactor response writer & access logger ([#​33323](https://github.com/go-gitea/gitea/issues/33323))
- Refactor ref type ([#​33242](https://github.com/go-gitea/gitea/issues/33242))
- Refactor context repository ([#​33202](https://github.com/go-gitea/gitea/issues/33202))
- Refactor legacy JS ([#​33115](https://github.com/go-gitea/gitea/issues/33115))
- Refactor legacy line-number and scroll code ([#​33094](https://github.com/go-gitea/gitea/issues/33094))
- Refactor env var related code ([#​33075](https://github.com/go-gitea/gitea/issues/33075))
- Move SetMerged to service layer ([#​33045](https://github.com/go-gitea/gitea/issues/33045))
- Merge updatecommentattachment functions ([#​33044](https://github.com/go-gitea/gitea/issues/33044))
- Refactor pull-request compare\&create page ([#​33071](https://github.com/go-gitea/gitea/issues/33071))
- Refactor repo-new\.ts ([#​33070](https://github.com/go-gitea/gitea/issues/33070))
- Refactor pagination ([#​33037](https://github.com/go-gitea/gitea/issues/33037))
- Refactor tests ([#​33021](https://github.com/go-gitea/gitea/issues/33021))
- Refactor markup render to fix various path problems ([#​34114](https://github.com/go-gitea/gitea/issues/34114))
- Refactor Branch struct in package modules/git ([#​33980](https://github.com/go-gitea/gitea/issues/33980))
- Don't create duplicated functions for code repositories and wiki repositories ([#​33924](https://github.com/go-gitea/gitea/issues/33924))
- Move git references checking to gitrepo packages to reduce expose of repository path ([#​33891](https://github.com/go-gitea/gitea/issues/33891))
- Refactor cache-control ([#​33861](https://github.com/go-gitea/gitea/issues/33861))
- Decouple diff stats query from actual diffing ([#​33810](https://github.com/go-gitea/gitea/issues/33810))
- Move part of updating protected branch logic to service layer ([#​33742](https://github.com/go-gitea/gitea/issues/33742))
- Decouple Batch from git.Repository to simplify usage without requiring the creation of a Repository struct. ([#​34001](https://github.com/go-gitea/gitea/issues/34001))
- Refactor tmpl and blob\_excerpt ([#​32967](https://github.com/go-gitea/gitea/issues/32967))
- Refactor template & test related code ([#​32938](https://github.com/go-gitea/gitea/issues/32938))
- Refactor db package and remove unnecessary `DumpTables` ([#​32930](https://github.com/go-gitea/gitea/issues/32930))
- Refactor pprof labels and process desc ([#​32909](https://github.com/go-gitea/gitea/issues/32909))
- Refactor repo-projects.ts ([#​32892](https://github.com/go-gitea/gitea/issues/32892))
- Refactor getpatch/getdiff functions and remove unnecessary fallback ([#​32817](https://github.com/go-gitea/gitea/issues/32817))
- Uniform all temporary directories and allow customizing temp path ([#​32352](https://github.com/go-gitea/gitea/issues/32352))
- Remove context from retry downloader ([#​33871](https://github.com/go-gitea/gitea/issues/33871))
- Refactor global init code and add more comments ([#​33755](https://github.com/go-gitea/gitea/issues/33755))
- Remove some unnecessary template helpers ([#​33069](https://github.com/go-gitea/gitea/issues/33069))
- Move and rename UpdateRepository ([#​34136](https://github.com/go-gitea/gitea/issues/34136))
- Move hooks function to gitrepo and reduce expose repopath ([#​33890](https://github.com/go-gitea/gitea/issues/33890))
- Add abstraction layer to delete repository from disk ([#​33879](https://github.com/go-gitea/gitea/issues/33879))
- Add abstraction layer to check if the repository exists on disk ([#​33874](https://github.com/go-gitea/gitea/issues/33874))
- Move ParseCommitWithSSHSignature to service layer ([#​34087](https://github.com/go-gitea/gitea/issues/34087))
- Move duplicated functions ([#​33977](https://github.com/go-gitea/gitea/issues/33977))
- Extract code to their own functions for push update ([#​33944](https://github.com/go-gitea/gitea/issues/33944))
- Move gitgraph from modules to services layer ([#​33527](https://github.com/go-gitea/gitea/issues/33527))
- Move commits signature and verify functions to service layers ([#​33605](https://github.com/go-gitea/gitea/issues/33605))
- Use `CloseIssue` and `ReopenIssue` instead of `ChangeStatus` ([#​32467](https://github.com/go-gitea/gitea/issues/32467))
- Refactor arch route handlers ([#​32993](https://github.com/go-gitea/gitea/issues/32993))
- Refactor "string truncate" ([#​32984](https://github.com/go-gitea/gitea/issues/32984))
- Refactor arch route handlers ([#​32972](https://github.com/go-gitea/gitea/issues/32972))
- Clarify path param naming ([#​32969](https://github.com/go-gitea/gitea/issues/32969))
- Refactor request context ([#​32956](https://github.com/go-gitea/gitea/issues/32956))
- Move some errors to their own sub packages ([#​32880](https://github.com/go-gitea/gitea/issues/32880))
- Move RepoTransfer from models to models/repo sub package ([#​32506](https://github.com/go-gitea/gitea/issues/32506))
- Move delete deploy keys into service layer ([#​32201](https://github.com/go-gitea/gitea/issues/32201))
- Refactor webhook events ([#​33337](https://github.com/go-gitea/gitea/issues/33337))
- Move some Actions related functions from `routers` to `services` ([#​33280](https://github.com/go-gitea/gitea/issues/33280))
- Refactor RefName ([#​33234](https://github.com/go-gitea/gitea/issues/33234))
- Refactor context RefName and RepoAssignment ([#​33226](https://github.com/go-gitea/gitea/issues/33226))
- Refactor repository transfer ([#​33211](https://github.com/go-gitea/gitea/issues/33211))
- Refactor error system ([#​33626](https://github.com/go-gitea/gitea/issues/33626))
- Refactor error system ([#​33610](https://github.com/go-gitea/gitea/issues/33610))
- Refactor package (routes and error handling, npm peer dependency) ([#​33111](https://github.com/go-gitea/gitea/issues/33111))
- Use test context in tests and new loop system in benchmarks ([#​33648](https://github.com/go-gitea/gitea/issues/33648))
- Some small refactors ([#​33144](https://github.com/go-gitea/gitea/issues/33144))
- Simplify context ref name ([#​33267](https://github.com/go-gitea/gitea/issues/33267))
- BUGFIXES
- Fix some dropdown problems on the issue sidebar ([#​34308](https://github.com/go-gitea/gitea/issues/34308)) [#​34327](https://github.com/go-gitea/gitea/issues/34327)
- Do not return archive download URLs in API if downloads are disabled ([#​34324](https://github.com/go-gitea/gitea/issues/34324)) [#​34338](https://github.com/go-gitea/gitea/issues/34338)
- Fix LFS files being editable in web UI ([#​34356](https://github.com/go-gitea/gitea/issues/34356)) [#​34362](https://github.com/go-gitea/gitea/issues/34362)
- Fix only text/\* being viewable in web UI ([#​34374](https://github.com/go-gitea/gitea/issues/34374)) [#​34378](https://github.com/go-gitea/gitea/issues/34378)
- Fix LFS file not stored in LFS when uploaded/edited via API or web UI ([#​34367](https://github.com/go-gitea/gitea/issues/34367))
- Grey out expired artifact on Artifacts list ([#​34314](https://github.com/go-gitea/gitea/issues/34314)) [#​34404](https://github.com/go-gitea/gitea/issues/34404)
- Fix incorrect divergence cache after switching default branch ([#​34370](https://github.com/go-gitea/gitea/issues/34370)) [#​34406](https://github.com/go-gitea/gitea/issues/34406)
- Refactor commit message rendering and fix bugs ([#​34412](https://github.com/go-gitea/gitea/issues/34412)) [#​34414](https://github.com/go-gitea/gitea/issues/34414)
- Merge and tweak markup editor expander CSS ([#​34409](https://github.com/go-gitea/gitea/issues/34409)) [#​34415](https://github.com/go-gitea/gitea/issues/34415)
- Fix GetUsersByEmails ([#​34423](https://github.com/go-gitea/gitea/issues/34423)) [#​34425](https://github.com/go-gitea/gitea/issues/34425)
- Only git operations should update last changed of a repository ([#​34388](https://github.com/go-gitea/gitea/issues/34388)) [#​34427](https://github.com/go-gitea/gitea/issues/34427)
- Fix comment textarea scroll issue in Firefox ([#​34438](https://github.com/go-gitea/gitea/issues/34438)) [#​34446](https://github.com/go-gitea/gitea/issues/34446)
- Fix repo broken check ([#​34444](https://github.com/go-gitea/gitea/issues/34444)) [#​34452](https://github.com/go-gitea/gitea/issues/34452)
- Fix remove org user failure on mssql ([#​34449](https://github.com/go-gitea/gitea/issues/34449)) [#​34453](https://github.com/go-gitea/gitea/issues/34453)
- Fix Workflow run Not Found page ([#​34459](https://github.com/go-gitea/gitea/issues/34459)) [#​34466](https://github.com/go-gitea/gitea/issues/34466)
- When updating comment, if the content is the same, just return and not update the database ([#​34422](https://github.com/go-gitea/gitea/issues/34422)) [#​34464](https://github.com/go-gitea/gitea/issues/34464)
- Fix project board view ([#​34470](https://github.com/go-gitea/gitea/issues/34470)) [#​34475](https://github.com/go-gitea/gitea/issues/34475)
- Fix get / delete runner to use consistent http 404 and 500 status ([#​34480](https://github.com/go-gitea/gitea/issues/34480)) [#​34488](https://github.com/go-gitea/gitea/issues/34488)
- Fix url validation in webhook add/edit API ([#​34492](https://github.com/go-gitea/gitea/issues/34492)) [#​34496](https://github.com/go-gitea/gitea/issues/34496)
- Fix edithook api can not update package, status and workflow\_job events ([#​34495](https://github.com/go-gitea/gitea/issues/34495)) [#​34499](https://github.com/go-gitea/gitea/issues/34499)
- Fix ephemeral runner deletion ([#​34447](https://github.com/go-gitea/gitea/issues/34447)) [#​34513](https://github.com/go-gitea/gitea/issues/34513)
- Don't display error log when .git-blame-ignore-revs doesn't exist ([#​34457](https://github.com/go-gitea/gitea/issues/34457))
- Only allow admins to rename default/protected branches ([#​33276](https://github.com/go-gitea/gitea/issues/33276))
- Improve "lock conversation" UI ([#​34207](https://github.com/go-gitea/gitea/issues/34207))
- Fix incorrect file links ([#​34189](https://github.com/go-gitea/gitea/issues/34189))
- Optimize Overflow Menu ([#​34183](https://github.com/go-gitea/gitea/issues/34183))
- Check user/org repo limit instead of doer ([#​34147](https://github.com/go-gitea/gitea/issues/34147))
- Make markdown render match GitHub's behavior ([#​34129](https://github.com/go-gitea/gitea/issues/34129))
- Fix team permission ([#​34128](https://github.com/go-gitea/gitea/issues/34128))
- Correctly handle submodule view and avoid throwing 500 error ([#​34121](https://github.com/go-gitea/gitea/issues/34121))
- Fix users being able bypass limits with repo transfers ([#​34031](https://github.com/go-gitea/gitea/issues/34031))
- Avoid creating unnecessary temporary cat file sub process ([#​33942](https://github.com/go-gitea/gitea/issues/33942))
- Refactor organization menu ([#​33928](https://github.com/go-gitea/gitea/issues/33928))
- Fix various Fomantic UI and htmx problems ([#​33851](https://github.com/go-gitea/gitea/issues/33851))
- Fix 500 error when error occurred in migration page ([#​33256](https://github.com/go-gitea/gitea/issues/33256))
- Validate that the tag doesn't exist when creating a tag via the web ([#​33241](https://github.com/go-gitea/gitea/issues/33241))
- Add missed transaction on setmerged ([#​33079](https://github.com/go-gitea/gitea/issues/33079))
- Rework create/fork/adopt/generate repository to make sure resources will be cleanup once failed ([#​31035](https://github.com/go-gitea/gitea/issues/31035))
- Valid email address should only start with alphanumeric ([#​28174](https://github.com/go-gitea/gitea/issues/28174))
- Fix webhook url ([#​34186](https://github.com/go-gitea/gitea/issues/34186))
- Fix "toAbsoluteLocaleDate" test when system locale is not en-US ([#​33939](https://github.com/go-gitea/gitea/issues/33939))
- Fix file name could not be searched if the file was not a text file when using the Bleve indexer ([#​33959](https://github.com/go-gitea/gitea/issues/33959))
- Fix cannot delete runners via the modal dialog ([#​33895](https://github.com/go-gitea/gitea/issues/33895))
- Fix unpin hint on the pinned pull requests ([#​33207](https://github.com/go-gitea/gitea/issues/33207))
- Fix parentCommit invalid memory address or nil pointer dereference. ([#​33204](https://github.com/go-gitea/gitea/issues/33204))
- Fix comment header padding ([#​33377](https://github.com/go-gitea/gitea/issues/33377))
- Fix some migration and repo name problems ([#​33986](https://github.com/go-gitea/gitea/issues/33986))
- Fix various trivial frontend problems ([#​34263](https://github.com/go-gitea/gitea/issues/34263))
- Fix Set Email Preference dropdown and button placement ([#​34255](https://github.com/go-gitea/gitea/issues/34255))
- Fix quoted replies incorrectly render user input as part of the quote ([#​34216](https://github.com/go-gitea/gitea/issues/34216))
- Fix button alignments and remove unnecessary styles ([#​34206](https://github.com/go-gitea/gitea/issues/34206))
- Restore form inputs on organization create error ([#​34201](https://github.com/go-gitea/gitea/issues/34201))
- Try to fix ACME (3rd) ([#​33807](https://github.com/go-gitea/gitea/issues/33807))
- Fix incorrect ref "blob" ([#​33240](https://github.com/go-gitea/gitea/issues/33240))
- Fix dynamic content loading init problem ([#​33748](https://github.com/go-gitea/gitea/issues/33748))
- Fix git empty check and HEAD request ([#​33690](https://github.com/go-gitea/gitea/issues/33690))
- Fix Untranslated Text on Actions Page ([#​33635](https://github.com/go-gitea/gitea/issues/33635))
- Fix issue label delete incorrect labels webhook payload ([#​34575](https://github.com/go-gitea/gitea/issues/34575))
- Fix incorrect page navigation with up and down arrow on last item of dashboard repos ([#​34570](https://github.com/go-gitea/gitea/issues/34570))
- Fix/improve avatar sync from LDAP ([#​34573](https://github.com/go-gitea/gitea/issues/34573))
- Fix some trivial problems ([#​34579](https://github.com/go-gitea/gitea/issues/34579))
- Retain issue sort type when a keyword search is introduced ([#​34559](https://github.com/go-gitea/gitea/issues/34559))
- Always use an empty line to separate the commit message and trailer ([#​34512](https://github.com/go-gitea/gitea/issues/34512))
- Fix line-button issue after file selection in file tree ([#​34574](https://github.com/go-gitea/gitea/issues/34574))
- Fix doctor deleting orphaned issues attachments ([#​34142](https://github.com/go-gitea/gitea/issues/34142))
- Add webhook assigning test and fix possible bug ([#​34420](https://github.com/go-gitea/gitea/issues/34420))
- Fix possible nil description of pull request when migrating from CodeCommit ([#​34541](https://github.com/go-gitea/gitea/issues/34541))
- Refactor commit reader ([#​34542](https://github.com/go-gitea/gitea/issues/34542))
- Fix possible pull request broken when leave the page immediately after clicking the update button [#​34509](https://github.com/go-gitea/gitea/issues/34509)
- Ignore "Close" error when uploading container blob ([#​34620](https://github.com/go-gitea/gitea/issues/34620))
- Fix missed merge commit sha and time when migrating from codecommit ([#​34645](https://github.com/go-gitea/gitea/issues/34645))
- Fix GetUsersByEmails ([#​34643](https://github.com/go-gitea/gitea/issues/34643))
- Misc CSS fixes ([#​34638](https://github.com/go-gitea/gitea/issues/34638))
- Add codecommit to supported services in api docs ([#​34626](https://github.com/go-gitea/gitea/issues/34626))
- Validate hex colors when creating/editing labels ([#​34623](https://github.com/go-gitea/gitea/issues/34623))
- Fix possible pull request broken when leave the page immediately after clicking the update button ([#​34509](https://github.com/go-gitea/gitea/issues/34509))
- Fix margin issue in markup paragraph rendering ([#​34599](https://github.com/go-gitea/gitea/issues/34599))
- Fix migration pull request title too long ([#​34577](https://github.com/go-gitea/gitea/issues/34577))
- Fix footnote jump behavior on the issue page. ([#​34621](https://github.com/go-gitea/gitea/issues/34621))
- Fix "oras" OCI client compatibility ([#​34666](https://github.com/go-gitea/gitea/issues/34666))
- Fix last admin check when syncing users ([#​34649](https://github.com/go-gitea/gitea/issues/34649))
- Fix skip paths check on tag push events in workflows ([#​34602](https://github.com/go-gitea/gitea/issues/34602)) [#​34670](https://github.com/go-gitea/gitea/issues/34670)
- MISC
- Bump to alpine 3.22 ([#​34613](https://github.com/go-gitea/gitea/issues/34613))
- Make pull request and issue history more compact ([#​34588](https://github.com/go-gitea/gitea/issues/34588))
- Run integration tests against postgres 14 ([#​34514](https://github.com/go-gitea/gitea/issues/34514)) [#​34536](https://github.com/go-gitea/gitea/issues/34536)
- Enable addtional linters ([#​34085](https://github.com/go-gitea/gitea/issues/34085))
- Enable testifylint rules ([#​34075](https://github.com/go-gitea/gitea/issues/34075))
- Enable staticcheck QFxxxx rules ([#​34064](https://github.com/go-gitea/gitea/issues/34064))
- Improve Actions test ([#​32883](https://github.com/go-gitea/gitea/issues/32883))
- Drop fomantic build ([#​33845](https://github.com/go-gitea/gitea/issues/33845))
- Go1.24 ([#​33562](https://github.com/go-gitea/gitea/issues/33562))
- Run yamllint with strict mode, fix issue ([#​33551](https://github.com/go-gitea/gitea/issues/33551))
- Disable cron task to update license ([#​33486](https://github.com/go-gitea/gitea/issues/33486))
- Optimize makefile help information generation ([#​33390](https://github.com/go-gitea/gitea/issues/33390))
- Convert github.com/xanzy/go-gitlab into gitlab.com/gitlab-org/api/client-go ([#​33126](https://github.com/go-gitea/gitea/issues/33126))
- Add missed changelogs ([#​33649](https://github.com/go-gitea/gitea/issues/33649))
- Update .changelog file to add performance label group ([#​33472](https://github.com/go-gitea/gitea/issues/33472))
- Add missing POPULATE\_SQUASH\_COMMENT\_WITH\_COMMIT\_MESSAGES in app.example.ini ([#​33363](https://github.com/go-gitea/gitea/issues/33363))
- Update README screenshots ([#​33347](https://github.com/go-gitea/gitea/issues/33347))
- Update unrs-resolver ([#​34279](https://github.com/go-gitea/gitea/issues/34279))
- Update go\&js dependencies ([#​34262](https://github.com/go-gitea/gitea/issues/34262))
- Optimize the calling code of queryElems ([#​34235](https://github.com/go-gitea/gitea/issues/34235))
- Update protected\_branch.tmpl ([#​34193](https://github.com/go-gitea/gitea/issues/34193))
- Feat/optimize span svg layout ([#​34185](https://github.com/go-gitea/gitea/issues/34185))
- Set MERMAID\_MAX\_SOURCE\_CHARACTERS to 50000 ([#​34152](https://github.com/go-gitea/gitea/issues/34152))
- Update JS and PY deps ([#​34143](https://github.com/go-gitea/gitea/issues/34143))
- Add Chinese translations for README files ([#​34132](https://github.com/go-gitea/gitea/issues/34132))
- Use `overflow-wrap: anywhere` to replace `word-break: break-all` ([#​34126](https://github.com/go-gitea/gitea/issues/34126))
- Clarify ownership in password change error messages ([#​34092](https://github.com/go-gitea/gitea/issues/34092))
- Add toggleClass function in dom.ts ([#​34063](https://github.com/go-gitea/gitea/issues/34063))
- Update to golangci-lint v2 ([#​34054](https://github.com/go-gitea/gitea/issues/34054))
- Update Makefile test comments ([#​34013](https://github.com/go-gitea/gitea/issues/34013))
- Update go mod dependencies ([#​33988](https://github.com/go-gitea/gitea/issues/33988))
- Use filepath.Join instead of path.Join for file system file operations ([#​33978](https://github.com/go-gitea/gitea/issues/33978))
- Prepare common tmpl functions in a middleware ([#​33957](https://github.com/go-gitea/gitea/issues/33957))
- Remove unused or abused styles ([#​33918](https://github.com/go-gitea/gitea/issues/33918))
- Update JS and PY deps, misc tweaks ([#​33903](https://github.com/go-gitea/gitea/issues/33903))
- Try to figure out attribute checker problem ([#​33901](https://github.com/go-gitea/gitea/issues/33901))
- Add lock for a repository pull mirror ([#​33876](https://github.com/go-gitea/gitea/issues/33876))
- Fine tune push mirror UI ([#​33866](https://github.com/go-gitea/gitea/issues/33866))
- Improve issue & code search ([#​33860](https://github.com/go-gitea/gitea/issues/33860))
- Use pullrequestlist instead of \[]\*pullrequest ([#​33765](https://github.com/go-gitea/gitea/issues/33765))
- Upgrade act to 0.261.4 and actions-proto-go to v0.4.1 ([#​33760](https://github.com/go-gitea/gitea/issues/33760))
- Align sidebar gears to the right ([#​33721](https://github.com/go-gitea/gitea/issues/33721))
- Update Go dependencies (skip blevesearch, meilisearch) ([#​33655](https://github.com/go-gitea/gitea/issues/33655))
- Add migrations and doctor fixes ([#​33556](https://github.com/go-gitea/gitea/issues/33556))
- Remove "class-name" from svg icon ([#​33540](https://github.com/go-gitea/gitea/issues/33540))
- Update MAINTAINERS ([#​33529](https://github.com/go-gitea/gitea/issues/33529))
- Add "No data available" display when list is empty ([#​33517](https://github.com/go-gitea/gitea/issues/33517))
- Use `git diff-tree` for `DiffFileTree` on diff pages ([#​33514](https://github.com/go-gitea/gitea/issues/33514))
- Give organisation members access to organisation feeds ([#​33508](https://github.com/go-gitea/gitea/issues/33508))
- Update feishu icon ([#​33470](https://github.com/go-gitea/gitea/issues/33470))
- Hide/disable unusable UI elements when a repository is archived ([#​33459](https://github.com/go-gitea/gitea/issues/33459))
- Update `@github/text-expander-element` to 2.9.0 ([#​33435](https://github.com/go-gitea/gitea/issues/33435))
- Do not access GitRepo when a repo is being created ([#​33380](https://github.com/go-gitea/gitea/issues/33380))
- Fix incorrect ref usages ([#​33301](https://github.com/go-gitea/gitea/issues/33301))
- Prepare for support performance trace ([#​33286](https://github.com/go-gitea/gitea/issues/33286))
- Enable Typescript `noImplicitThis` ([#​33250](https://github.com/go-gitea/gitea/issues/33250))
- Remove unused CSS styles and move some styles to proper files ([#​33217](https://github.com/go-gitea/gitea/issues/33217))
- Add .run to gitignore ([#​33175](https://github.com/go-gitea/gitea/issues/33175))
- Fix typo in gitea downloader test and add missing codebase in `ToGitServiceType` ([#​33146](https://github.com/go-gitea/gitea/issues/33146))
- Remove extended glob pattern from branch protection UI ([#​33125](https://github.com/go-gitea/gitea/issues/33125))
- Clean up legacy form CSS styles ([#​33081](https://github.com/go-gitea/gitea/issues/33081))
- Unset XDG\_HOME\_CONFIG as gitea manages configuration locations ([#​33067](https://github.com/go-gitea/gitea/issues/33067))
- Add IntelliJ Gateway's .uuid to gitignore ([#​33052](https://github.com/go-gitea/gitea/issues/33052))
- User facing messages for AGit errors ([#​33012](https://github.com/go-gitea/gitea/issues/33012))
- Always show assignees on right ([#​33006](https://github.com/go-gitea/gitea/issues/33006))
- Fix eslint ([#​33002](https://github.com/go-gitea/gitea/issues/33002))
- Update JS dependencies ([#​32914](https://github.com/go-gitea/gitea/issues/32914))
- Bump x/net ([#​32896](https://github.com/go-gitea/gitea/issues/32896)) ([#​32900](https://github.com/go-gitea/gitea/issues/32900))
- Only activity tab needs heatmap data loading ([#​34652](https://github.com/go-gitea/gitea/issues/34652))
### [`v1.23.8`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1238---2025-05-11)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.23.7...v1.23.8)
- SECURITY
- Fix a bug when uploading file via lfs ssh command ([#​34408](https://github.com/go-gitea/gitea/issues/34408)) ([#​34411](https://github.com/go-gitea/gitea/issues/34411))
- Update net package ([#​34228](https://github.com/go-gitea/gitea/issues/34228)) ([#​34232](https://github.com/go-gitea/gitea/issues/34232))
- BUGFIXES
- Fix releases sidebar navigation link ([#​34436](https://github.com/go-gitea/gitea/issues/34436)) [#​34439](https://github.com/go-gitea/gitea/issues/34439)
- Fix bug webhook milestone is not right. ([#​34419](https://github.com/go-gitea/gitea/issues/34419)) [#​34429](https://github.com/go-gitea/gitea/issues/34429)
- Fix two missed null value checks on the wiki page. ([#​34205](https://github.com/go-gitea/gitea/issues/34205)) ([#​34215](https://github.com/go-gitea/gitea/issues/34215))
- Swift files can be passed either as file or as form value ([#​34068](https://github.com/go-gitea/gitea/issues/34068)) ([#​34236](https://github.com/go-gitea/gitea/issues/34236))
- Fix bug when API get pull changed files for deleted head repository ([#​34333](https://github.com/go-gitea/gitea/issues/34333)) ([#​34368](https://github.com/go-gitea/gitea/issues/34368))
- Upgrade github v61 -> v71 to fix migrating bug ([#​34389](https://github.com/go-gitea/gitea/issues/34389))
- Fix bug when visiting comparation page ([#​34334](https://github.com/go-gitea/gitea/issues/34334)) ([#​34364](https://github.com/go-gitea/gitea/issues/34364))
- Fix wrong review requests when updating the pull request ([#​34286](https://github.com/go-gitea/gitea/issues/34286)) ([#​34304](https://github.com/go-gitea/gitea/issues/34304))
- Fix github migration error when using multiple tokens ([#​34144](https://github.com/go-gitea/gitea/issues/34144)) ([#​34302](https://github.com/go-gitea/gitea/issues/34302))
- Explicitly not update indexes when sync database schemas ([#​34281](https://github.com/go-gitea/gitea/issues/34281)) ([#​34295](https://github.com/go-gitea/gitea/issues/34295))
- Fix panic when comment is nil ([#​34257](https://github.com/go-gitea/gitea/issues/34257)) ([#​34277](https://github.com/go-gitea/gitea/issues/34277))
- Fix project board links to related Pull Requests ([#​34213](https://github.com/go-gitea/gitea/issues/34213)) ([#​34222](https://github.com/go-gitea/gitea/issues/34222))
- Don't assume the default wiki branch is master in the wiki API ([#​34244](https://github.com/go-gitea/gitea/issues/34244)) ([#​34245](https://github.com/go-gitea/gitea/issues/34245))
- DOCUMENTATION
- Update token creation API swagger documentation ([#​34288](https://github.com/go-gitea/gitea/issues/34288)) ([#​34296](https://github.com/go-gitea/gitea/issues/34296))
- MISC
- Fix CI Build ([#​34315](https://github.com/go-gitea/gitea/issues/34315))
- Add riscv64 support ([#​34199](https://github.com/go-gitea/gitea/issues/34199)) ([#​34204](https://github.com/go-gitea/gitea/issues/34204))
- Bump go version in go.mod ([#​34160](https://github.com/go-gitea/gitea/issues/34160))
- remove hardcoded 'code' string in clone\_panel.tmpl ([#​34153](https://github.com/go-gitea/gitea/issues/34153)) ([#​34158](https://github.com/go-gitea/gitea/issues/34158))
### [`v1.23.7`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1237---2025-04-07)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.23.6...v1.23.7)
- Enhancements
- Add a config option to block "expensive" pages for anonymous users ([#​34024](https://github.com/go-gitea/gitea/issues/34024)) ([#​34071](https://github.com/go-gitea/gitea/issues/34071))
- Also check default ssh-cert location for host ([#​34099](https://github.com/go-gitea/gitea/issues/34099)) ([#​34100](https://github.com/go-gitea/gitea/issues/34100)) ([#​34116](https://github.com/go-gitea/gitea/issues/34116))
- BUGFIXES
- Fix discord webhook 400 status code when description limit is exceeded ([#​34084](https://github.com/go-gitea/gitea/issues/34084)) ([#​34124](https://github.com/go-gitea/gitea/issues/34124))
- Get changed files based on merge base when checking `pull_request` actions trigger ([#​34106](https://github.com/go-gitea/gitea/issues/34106)) ([#​34120](https://github.com/go-gitea/gitea/issues/34120))
- Fix invalid version in RPM package path ([#​34112](https://github.com/go-gitea/gitea/issues/34112)) ([#​34115](https://github.com/go-gitea/gitea/issues/34115))
- Return default avatar url when user id is zero rather than updating database ([#​34094](https://github.com/go-gitea/gitea/issues/34094)) ([#​34095](https://github.com/go-gitea/gitea/issues/34095))
- Add additional ReplaceAll in pathsep to cater for different pathsep ([#​34061](https://github.com/go-gitea/gitea/issues/34061)) ([#​34070](https://github.com/go-gitea/gitea/issues/34070))
- Try to fix check-attr bug ([#​34029](https://github.com/go-gitea/gitea/issues/34029)) ([#​34033](https://github.com/go-gitea/gitea/issues/34033))
- Git client will follow 301 but 307 ([#​34005](https://github.com/go-gitea/gitea/issues/34005)) ([#​34010](https://github.com/go-gitea/gitea/issues/34010))
- Fix block expensive for 1.23 ([#​34127](https://github.com/go-gitea/gitea/issues/34127))
- Fix markdown frontmatter rendering ([#​34102](https://github.com/go-gitea/gitea/issues/34102)) ([#​34107](https://github.com/go-gitea/gitea/issues/34107))
- Add new CLI flags to set name and scopes when creating a user with access token ([#​34080](https://github.com/go-gitea/gitea/issues/34080)) ([#​34103](https://github.com/go-gitea/gitea/issues/34103))
- Do not show 500 error when default branch doesn't exist ([#​34096](https://github.com/go-gitea/gitea/issues/34096)) ([#​34097](https://github.com/go-gitea/gitea/issues/34097))
- Hide activity contributors, recent commits and code frequrency left tabs if there is no code permission ([#​34053](https://github.com/go-gitea/gitea/issues/34053)) ([#​34065](https://github.com/go-gitea/gitea/issues/34065))
- Simplify emoji rendering ([#​34048](https://github.com/go-gitea/gitea/issues/34048)) ([#​34049](https://github.com/go-gitea/gitea/issues/34049))
- Adjust the layout of the toolbar on the Issues/Projects page ([#​33667](https://github.com/go-gitea/gitea/issues/33667)) ([#​34047](https://github.com/go-gitea/gitea/issues/34047))
- Pull request updates will also trigger code owners review requests ([#​33744](https://github.com/go-gitea/gitea/issues/33744)) ([#​34045](https://github.com/go-gitea/gitea/issues/34045))
- Fix org repo creation being limited by user limits ([#​34030](https://github.com/go-gitea/gitea/issues/34030)) ([#​34044](https://github.com/go-gitea/gitea/issues/34044))
- Fix git client accessing renamed repo ([#​34034](https://github.com/go-gitea/gitea/issues/34034)) ([#​34043](https://github.com/go-gitea/gitea/issues/34043))
- Fix the issue with error message logging for the `check-attr` command on Windows OS. ([#​34035](https://github.com/go-gitea/gitea/issues/34035)) ([#​34036](https://github.com/go-gitea/gitea/issues/34036))
- Polyfill WeakRef ([#​34025](https://github.com/go-gitea/gitea/issues/34025)) ([#​34028](https://github.com/go-gitea/gitea/issues/34028))
### [`v1.23.6`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1236---2025-03-24)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.23.5...v1.23.6)
- SECURITY
- Fix LFS URL ([#​33840](https://github.com/go-gitea/gitea/issues/33840)) ([#​33843](https://github.com/go-gitea/gitea/issues/33843))
- Update jwt and redis packages ([#​33984](https://github.com/go-gitea/gitea/issues/33984)) ([#​33987](https://github.com/go-gitea/gitea/issues/33987))
- Update golang crypto and net ([#​33989](https://github.com/go-gitea/gitea/issues/33989))
- BUGFIXES
- Drop timeout for requests made to the internal hook api ([#​33947](https://github.com/go-gitea/gitea/issues/33947)) ([#​33970](https://github.com/go-gitea/gitea/issues/33970))
- Fix maven panic when no package exists ([#​33888](https://github.com/go-gitea/gitea/issues/33888)) ([#​33889](https://github.com/go-gitea/gitea/issues/33889))
- Fix markdown render ([#​33870](https://github.com/go-gitea/gitea/issues/33870)) ([#​33875](https://github.com/go-gitea/gitea/issues/33875))
- Fix auto concurrency cancellation skips commit status updates ([#​33764](https://github.com/go-gitea/gitea/issues/33764)) ([#​33849](https://github.com/go-gitea/gitea/issues/33849))
- Fix oauth2 auth ([#​33961](https://github.com/go-gitea/gitea/issues/33961)) ([#​33962](https://github.com/go-gitea/gitea/issues/33962))
- Fix incorrect 1.23 translations ([#​33932](https://github.com/go-gitea/gitea/issues/33932))
- Try to figure out attribute checker problem ([#​33901](https://github.com/go-gitea/gitea/issues/33901)) ([#​33902](https://github.com/go-gitea/gitea/issues/33902))
- Ignore trivial errors when updating push data ([#​33864](https://github.com/go-gitea/gitea/issues/33864)) ([#​33887](https://github.com/go-gitea/gitea/issues/33887))
- Fix some UI problems for 1.23 ([#​33856](https://github.com/go-gitea/gitea/issues/33856))
- Removing unwanted ui container ([#​33833](https://github.com/go-gitea/gitea/issues/33833)) ([#​33835](https://github.com/go-gitea/gitea/issues/33835))
- Support disable passkey auth ([#​33348](https://github.com/go-gitea/gitea/issues/33348)) ([#​33819](https://github.com/go-gitea/gitea/issues/33819))
- Do not call "git diff" when listing PRs ([#​33817](https://github.com/go-gitea/gitea/issues/33817))
- Try to fix ACME (3rd) ([#​33807](https://github.com/go-gitea/gitea/issues/33807)) ([#​33808](https://github.com/go-gitea/gitea/issues/33808))
- Fix incorrect code search indexer options ([#​33992](https://github.com/go-gitea/gitea/issues/33992)) [#​33999](https://github.com/go-gitea/gitea/issues/33999)
### [`v1.23.5`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1235---2025-03-04)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.23.4...v1.23.5)
- SECURITY
- Bump x/oauth2 & x/crypto ([#​33704](https://github.com/go-gitea/gitea/issues/33704)) ([#​33727](https://github.com/go-gitea/gitea/issues/33727))
- PERFORMANCE
- Optimize user dashboard loading ([#​33686](https://github.com/go-gitea/gitea/issues/33686)) ([#​33708](https://github.com/go-gitea/gitea/issues/33708))
- BUGFIXES
- Fix navbar dropdown item align ([#​33782](https://github.com/go-gitea/gitea/issues/33782))
- Fix inconsistent closed issue list icon ([#​33722](https://github.com/go-gitea/gitea/issues/33722)) ([#​33728](https://github.com/go-gitea/gitea/issues/33728))
- Fix for Maven Package Naming Convention Handling ([#​33678](https://github.com/go-gitea/gitea/issues/33678)) ([#​33679](https://github.com/go-gitea/gitea/issues/33679))
- Improve Open-with URL encoding ([#​33666](https://github.com/go-gitea/gitea/issues/33666)) ([#​33680](https://github.com/go-gitea/gitea/issues/33680))
- Deleting repository should unlink all related packages ([#​33653](https://github.com/go-gitea/gitea/issues/33653)) ([#​33673](https://github.com/go-gitea/gitea/issues/33673))
- Fix omitempty bug ([#​33663](https://github.com/go-gitea/gitea/issues/33663)) ([#​33670](https://github.com/go-gitea/gitea/issues/33670))
- Upgrade go-crypto from 1.1.4 to 1.1.6 ([#​33745](https://github.com/go-gitea/gitea/issues/33745)) ([#​33754](https://github.com/go-gitea/gitea/issues/33754))
- Fix OCI image.version annotation for releases to use full semver ([#​33698](https://github.com/go-gitea/gitea/issues/33698)) ([#​33701](https://github.com/go-gitea/gitea/issues/33701))
- Try to fix ACME path when renew ([#​33668](https://github.com/go-gitea/gitea/issues/33668)) ([#​33693](https://github.com/go-gitea/gitea/issues/33693))
- Fix mCaptcha bug ([#​33659](https://github.com/go-gitea/gitea/issues/33659)) ([#​33661](https://github.com/go-gitea/gitea/issues/33661))
- Git graph: don't show detached commits ([#​33645](https://github.com/go-gitea/gitea/issues/33645)) ([#​33650](https://github.com/go-gitea/gitea/issues/33650))
- Use MatchPhraseQuery for bleve code search ([#​33628](https://github.com/go-gitea/gitea/issues/33628))
- Adjust appearance of commit status webhook ([#​33778](https://github.com/go-gitea/gitea/issues/33778)) [#​33789](https://github.com/go-gitea/gitea/issues/33789)
- Upgrade golang net from 0.35.0 -> 0.36.0 ([#​33795](https://github.com/go-gitea/gitea/issues/33795)) [#​33796](https://github.com/go-gitea/gitea/issues/33796)
### [`v1.23.4`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1234---2025-02-16)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.23.3...v1.23.4)
- SECURITY
- Enhance routers for the Actions variable operations ([#​33547](https://github.com/go-gitea/gitea/issues/33547)) ([#​33553](https://github.com/go-gitea/gitea/issues/33553))
- Enhance routers for the Actions runner operations ([#​33549](https://github.com/go-gitea/gitea/issues/33549)) ([#​33555](https://github.com/go-gitea/gitea/issues/33555))
- Fix project issues list and counting ([#​33594](https://github.com/go-gitea/gitea/issues/33594)) [#​33619](https://github.com/go-gitea/gitea/issues/33619)
- PERFORMANCES
- Performance optimization for pull request files loading comments attachments ([#​33585](https://github.com/go-gitea/gitea/issues/33585)) ([#​33592](https://github.com/go-gitea/gitea/issues/33592))
- BUGFIXES
- Add a transaction to `pickTask` ([#​33543](https://github.com/go-gitea/gitea/issues/33543)) ([#​33563](https://github.com/go-gitea/gitea/issues/33563))
- Fix mirror bug ([#​33597](https://github.com/go-gitea/gitea/issues/33597)) ([#​33607](https://github.com/go-gitea/gitea/issues/33607))
- Use default Git timeout when checking repo health ([#​33593](https://github.com/go-gitea/gitea/issues/33593)) ([#​33598](https://github.com/go-gitea/gitea/issues/33598))
- Fix PR's target branch dropdown ([#​33589](https://github.com/go-gitea/gitea/issues/33589)) ([#​33591](https://github.com/go-gitea/gitea/issues/33591))
- Fix various problems (artifact order, api empty slice, assignee check, fuzzy prompt, mirror proxy, adopt git) ([#​33569](https://github.com/go-gitea/gitea/issues/33569)) ([#​33577](https://github.com/go-gitea/gitea/issues/33577))
- Rework suggestion backend ([#​33538](https://github.com/go-gitea/gitea/issues/33538)) ([#​33546](https://github.com/go-gitea/gitea/issues/33546))
- Fix context usage ([#​33554](https://github.com/go-gitea/gitea/issues/33554)) ([#​33557](https://github.com/go-gitea/gitea/issues/33557))
- Only show the latest version in the Arch index ([#​33262](https://github.com/go-gitea/gitea/issues/33262)) ([#​33580](https://github.com/go-gitea/gitea/issues/33580))
- Skip deletion error for action artifacts ([#​33476](https://github.com/go-gitea/gitea/issues/33476)) ([#​33568](https://github.com/go-gitea/gitea/issues/33568))
- Make actions URL in commit status webhooks absolute ([#​33620](https://github.com/go-gitea/gitea/issues/33620)) [#​33632](https://github.com/go-gitea/gitea/issues/33632)
- Add missing locale ([#​33641](https://github.com/go-gitea/gitea/issues/33641)) [#​33642](https://github.com/go-gitea/gitea/issues/33642)
### [`v1.23.3`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1233---2025-02-06)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.23.2...v1.23.3)
- Security
- Build Gitea with Golang v1.23.6 to fix security bugs
- BUGFIXES
- Fix a bug caused by status webhook template [#​33512](https://github.com/go-gitea/gitea/issues/33512)
### [`v1.23.2`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1232---2025-02-04)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.23.1...v1.23.2)
- BREAKING
- Add tests for webhook and fix some webhook bugs ([#​33396](https://github.com/go-gitea/gitea/issues/33396)) ([#​33442](https://github.com/go-gitea/gitea/issues/33442))
- Package webhookโs Organization was incorrectly used as the User struct. This PR fixes the issue.
- This changelog is just a hint. The change is not really breaking because most fields are the same, most users are not affected.
- ENHANCEMENTS
- Clone button enhancements ([#​33362](https://github.com/go-gitea/gitea/issues/33362)) ([#​33404](https://github.com/go-gitea/gitea/issues/33404))
- Repo homepage styling tweaks ([#​33289](https://github.com/go-gitea/gitea/issues/33289)) ([#​33381](https://github.com/go-gitea/gitea/issues/33381))
- Add a confirm dialog for "sync fork" ([#​33270](https://github.com/go-gitea/gitea/issues/33270)) ([#​33273](https://github.com/go-gitea/gitea/issues/33273))
- Make tracked time representation display as hours ([#​33315](https://github.com/go-gitea/gitea/issues/33315)) ([#​33334](https://github.com/go-gitea/gitea/issues/33334))
- Improve sync fork behavior ([#​33319](https://github.com/go-gitea/gitea/issues/33319)) ([#​33332](https://github.com/go-gitea/gitea/issues/33332))
- BUGFIXES
- Fix code button alignment ([#​33345](https://github.com/go-gitea/gitea/issues/33345)) ([#​33351](https://github.com/go-gitea/gitea/issues/33351))
- Correct bot label `vertical-align` ([#​33477](https://github.com/go-gitea/gitea/issues/33477)) ([#​33480](https://github.com/go-gitea/gitea/issues/33480))
- Fix SSH LFS memory usage ([#​33455](https://github.com/go-gitea/gitea/issues/33455)) ([#​33460](https://github.com/go-gitea/gitea/issues/33460))
- Fix issue sidebar dropdown keyboard support ([#​33447](https://github.com/go-gitea/gitea/issues/33447)) ([#​33450](https://github.com/go-gitea/gitea/issues/33450))
- Fix user avatar ([#​33439](https://github.com/go-gitea/gitea/issues/33439))
- Fix `GetCommitBranchStart` bug ([#​33298](https://github.com/go-gitea/gitea/issues/33298)) ([#​33421](https://github.com/go-gitea/gitea/issues/33421))
- Add pubdate for repository rss and add some tests ([#​33411](https://github.com/go-gitea/gitea/issues/33411)) ([#​33416](https://github.com/go-gitea/gitea/issues/33416))
- Add missed auto merge feed message on dashboard ([#​33309](https://github.com/go-gitea/gitea/issues/33309)) ([#​33405](https://github.com/go-gitea/gitea/issues/33405))
- Fix issue suggestion bug ([#​33389](https://github.com/go-gitea/gitea/issues/33389)) ([#​33391](https://github.com/go-gitea/gitea/issues/33391))
- Make issue suggestion work for all editors ([#​33340](https://github.com/go-gitea/gitea/issues/33340)) ([#​33342](https://github.com/go-gitea/gitea/issues/33342))
- Fix issue count ([#​33338](https://github.com/go-gitea/gitea/issues/33338)) ([#​33341](https://github.com/go-gitea/gitea/issues/33341))
- Fix Account linking page ([#​33325](https://github.com/go-gitea/gitea/issues/33325)) ([#​33327](https://github.com/go-gitea/gitea/issues/33327))
- Fix closed dependency title ([#​33285](https://github.com/go-gitea/gitea/issues/33285)) ([#​33287](https://github.com/go-gitea/gitea/issues/33287))
- Fix sidebar milestone link ([#​33269](https://github.com/go-gitea/gitea/issues/33269)) ([#​33272](https://github.com/go-gitea/gitea/issues/33272))
- Fix missing license when sync mirror ([#​33255](https://github.com/go-gitea/gitea/issues/33255)) ([#​33258](https://github.com/go-gitea/gitea/issues/33258))
- Fix upload file form ([#​33230](https://github.com/go-gitea/gitea/issues/33230)) ([#​33233](https://github.com/go-gitea/gitea/issues/33233))
- Fix mirror bug ([#​33224](https://github.com/go-gitea/gitea/issues/33224)) ([#​33225](https://github.com/go-gitea/gitea/issues/33225))
- Fix system admin cannot fork or get private fork with API ([#​33401](https://github.com/go-gitea/gitea/issues/33401)) ([#​33417](https://github.com/go-gitea/gitea/issues/33417))
- Fix push message behavior ([#​33215](https://github.com/go-gitea/gitea/issues/33215)) ([#​33317](https://github.com/go-gitea/gitea/issues/33317))
- Trivial fixes ([#​33304](https://github.com/go-gitea/gitea/issues/33304)) ([#​33312](https://github.com/go-gitea/gitea/issues/33312))
- Fix "stop time tracking button" on navbar ([#​33084](https://github.com/go-gitea/gitea/issues/33084)) ([#​33300](https://github.com/go-gitea/gitea/issues/33300))
- Fix tag route and empty repo ([#​33253](https://github.com/go-gitea/gitea/issues/33253))
- Fix cache test triggered by non memory cache ([#​33220](https://github.com/go-gitea/gitea/issues/33220)) ([#​33221](https://github.com/go-gitea/gitea/issues/33221))
- Revert empty lfs ref name ([#​33454](https://github.com/go-gitea/gitea/issues/33454)) ([#​33457](https://github.com/go-gitea/gitea/issues/33457))
- Fix flex width ([#​33414](https://github.com/go-gitea/gitea/issues/33414)) ([#​33418](https://github.com/go-gitea/gitea/issues/33418))
- Fix commit status events ([#​33320](https://github.com/go-gitea/gitea/issues/33320)) [#​33493](https://github.com/go-gitea/gitea/issues/33493)
- Fix unnecessary comment when moving issue on the same project column ([#​33496](https://github.com/go-gitea/gitea/issues/33496)) [#​33499](https://github.com/go-gitea/gitea/issues/33499)
- Add timetzdata build tag to binary releases ([#​33463](https://github.com/go-gitea/gitea/issues/33463)) [#​33503](https://github.com/go-gitea/gitea/issues/33503)
- MISC
- Use ProtonMail/go-crypto to replace keybase/go-crypto ([#​33402](https://github.com/go-gitea/gitea/issues/33402)) ([#​33410](https://github.com/go-gitea/gitea/issues/33410))
- Update katex to latest version ([#​33361](https://github.com/go-gitea/gitea/issues/33361))
- Update go tool dependencies ([#​32916](https://github.com/go-gitea/gitea/issues/32916)) ([#​33355](https://github.com/go-gitea/gitea/issues/33355))
### [`v1.23.1`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1231---2025-01-09)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.23.0...v1.23.1)
- ENHANCEMENTS
- Move repo size to sidebar ([#​33155](https://github.com/go-gitea/gitea/issues/33155)) ([#​33182](https://github.com/go-gitea/gitea/issues/33182))
- BUGFIXES
- Use updated path to s6-svscan after alpine upgrade ([#​33185](https://github.com/go-gitea/gitea/issues/33185)) ([#​33188](https://github.com/go-gitea/gitea/issues/33188))
- Fix fuzz test ([#​33156](https://github.com/go-gitea/gitea/issues/33156)) ([#​33158](https://github.com/go-gitea/gitea/issues/33158))
- Fix raw file API ref handling ([#​33172](https://github.com/go-gitea/gitea/issues/33172)) ([#​33189](https://github.com/go-gitea/gitea/issues/33189))
- Fix ACME panic ([#​33178](https://github.com/go-gitea/gitea/issues/33178)) ([#​33186](https://github.com/go-gitea/gitea/issues/33186))
- Fix branch dropdown not display ref name ([#​33159](https://github.com/go-gitea/gitea/issues/33159)) ([#​33183](https://github.com/go-gitea/gitea/issues/33183))
- Fix assignee list overlapping in Issue sidebar ([#​33176](https://github.com/go-gitea/gitea/issues/33176)) ([#​33181](https://github.com/go-gitea/gitea/issues/33181))
- Fix sync fork for consistency ([#​33147](https://github.com/go-gitea/gitea/issues/33147)) [#​33192](https://github.com/go-gitea/gitea/issues/33192)
- Fix editor markdown not incrementing in a numbered list ([#​33187](https://github.com/go-gitea/gitea/issues/33187)) [#​33193](https://github.com/go-gitea/gitea/issues/33193)
### [`v1.23.0`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1230---2025-01-08)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.22.6...v1.23.0)
- BREAKING
- Rename config option `[camo].Allways` to `[camo].Always` ([#​32097](https://github.com/go-gitea/gitea/issues/32097))
- Remove SHA1 for support for ssh rsa signing ([#​31857](https://github.com/go-gitea/gitea/issues/31857))
- Use UTC as default timezone when schedule Actions cron tasks ([#​31742](https://github.com/go-gitea/gitea/issues/31742))
- Delete Actions logs older than 1 year by default ([#​31735](https://github.com/go-gitea/gitea/issues/31735))
- Make OIDC introspection authentication strictly require Client ID and secret ([#​31632](https://github.com/go-gitea/gitea/issues/31632))
- SECURITY
- Include file extension checks in attachment API ([#​32151](https://github.com/go-gitea/gitea/issues/32151))
- Include all security fixes which have been backported to v1.22
- FEATURES
- Allow to fork repository into the same owner ([#​32819](https://github.com/go-gitea/gitea/issues/32819))
- Support "merge upstream branch" (Sync fork) ([#​32741](https://github.com/go-gitea/gitea/issues/32741))
- Add Arch package registry ([#​32692](https://github.com/go-gitea/gitea/issues/32692))
- Allow to disable the password-based login (sign-in) form ([#​32687](https://github.com/go-gitea/gitea/issues/32687))
- Allow cropping an avatar before setting it ([#​32565](https://github.com/go-gitea/gitea/issues/32565))
- Support quote selected comments to reply ([#​32431](https://github.com/go-gitea/gitea/issues/32431))
- Add reviewers selection to new pull request ([#​32403](https://github.com/go-gitea/gitea/issues/32403))
- Suggestions for issues ([#​32327](https://github.com/go-gitea/gitea/issues/32327))
- Add priority to protected branch ([#​32286](https://github.com/go-gitea/gitea/issues/32286))
- Included tag search capabilities ([#​32045](https://github.com/go-gitea/gitea/issues/32045))
- Add option to filter board cards by labels and assignees ([#​31999](https://github.com/go-gitea/gitea/issues/31999))
- Add automatic light/dark option for the colorblind theme ([#​31997](https://github.com/go-gitea/gitea/issues/31997))
- Support migration from AWS CodeCommit ([#​31981](https://github.com/go-gitea/gitea/issues/31981))
- Introduce globallock as distributed locks ([#​31908](https://github.com/go-gitea/gitea/issues/31908) & [#​31813](https://github.com/go-gitea/gitea/issues/31813))
- Support compression for Actions logs & enable by default ([#​31761](https://github.com/go-gitea/gitea/issues/31761) & [#​32013](https://github.com/go-gitea/gitea/issues/32013))
- Add pure SSH LFS support ([#​31516](https://github.com/go-gitea/gitea/issues/31516))
- Add Passkey login support ([#​31504](https://github.com/go-gitea/gitea/issues/31504))
- Actions support workflow dispatch event ([#​28163](https://github.com/go-gitea/gitea/issues/28163))
- Support repo license ([#​24872](https://github.com/go-gitea/gitea/issues/24872))
- Issue time estimate, meaningful time tracking ([#​23113](https://github.com/go-gitea/gitea/issues/23113))
- GitHub like repo home page ([#​32213](https://github.com/go-gitea/gitea/issues/32213) & [#​32847](https://github.com/go-gitea/gitea/issues/32847))
- Rearrange Clone Panel ([#​31142](https://github.com/go-gitea/gitea/issues/31142))
- Enhancing Gitea OAuth2 Provider with Granular Scopes for Resource Access ([#​32573](https://github.com/go-gitea/gitea/issues/32573))
- Use env GITEA\_RUNNER\_REGISTRATION\_TOKEN as global runner token ([#​32946](https://github.com/go-gitea/gitea/issues/32946)) [#​32964](https://github.com/go-gitea/gitea/issues/32964)
- Update i18n.go - Language Picker ([#​32933](https://github.com/go-gitea/gitea/issues/32933)) [#​32935](https://github.com/go-gitea/gitea/issues/32935)
- PERFORMANCE
- Perf: add extra index to notification table ([#​32395](https://github.com/go-gitea/gitea/issues/32395))
- Introduce OrgList and add LoadTeams, optimaze Load teams for orgs ([#​32543](https://github.com/go-gitea/gitea/issues/32543))
- Improve performance of diffs ([#​32393](https://github.com/go-gitea/gitea/issues/32393))
- Make LFS http\_client parallel within a batch. ([#​32369](https://github.com/go-gitea/gitea/issues/32369))
- Add new index for action to resolve the performance problem ([#​32333](https://github.com/go-gitea/gitea/issues/32333))
- Improve get feed with pagination ([#​31821](https://github.com/go-gitea/gitea/issues/31821))
- Performance improvements for pull request list API ([#​30490](https://github.com/go-gitea/gitea/issues/30490))
- Use batch database operations instead of one by one to optimze api pulls ([#​32680](https://github.com/go-gitea/gitea/issues/32680))
- Use gitrepo.GetTreePathLatestCommit to get file lastest commit instead from latest commit cache ([#​32987](https://github.com/go-gitea/gitea/issues/32987)) [#​33046](https://github.com/go-gitea/gitea/issues/33046)
- ENHANCEMENTS
- Code
- Remove unnecessary border in repo home page sidebar ([#​32767](https://github.com/go-gitea/gitea/issues/32767))
- Add 'Copy path' button to file view ([#​32584](https://github.com/go-gitea/gitea/issues/32584))
- Improve diff file tree ([#​32658](https://github.com/go-gitea/gitea/issues/32658))
- Add new \[lfs\_client].BATCH\_SIZE and \[server].LFS\_MAX\_BATCH\_SIZE config settings. ([#​32307](https://github.com/go-gitea/gitea/issues/32307))
- Updated tokenizer to better matching when search for code snippets ([#​32261](https://github.com/go-gitea/gitea/issues/32261))
- Change the code search to sort results by relevance ([#​32134](https://github.com/go-gitea/gitea/issues/32134))
- Support migrating GitHub/GitLab PR draft status ([#​32242](https://github.com/go-gitea/gitea/issues/32242))
- Move lock icon position and add additional tooltips to branch list page ([#​31839](https://github.com/go-gitea/gitea/issues/31839))
- Add tag name in the commits list ([#​31082](https://github.com/go-gitea/gitea/issues/31082))
- Add `MAX_ROWS` option for CSV rendering ([#​30268](https://github.com/go-gitea/gitea/issues/30268))
- Allow code search by filename ([#​32210](https://github.com/go-gitea/gitea/issues/32210))
- Make git push options accept short name ([#​32245](https://github.com/go-gitea/gitea/issues/32245))
- Repo file list enhancements ([#​32835](https://github.com/go-gitea/gitea/issues/32835))
- Markdown & Editor
- Refactor markdown math render, add dollor-backquote syntax support ([#​32831](https://github.com/go-gitea/gitea/issues/32831))
- Make Monaco theme follow browser, fully type codeeditor.ts ([#​32756](https://github.com/go-gitea/gitea/issues/32756))
- Refactor markdown editor and use it for milestone description editor ([#​32688](https://github.com/go-gitea/gitea/issues/32688))
- Add some handy markdown editor features ([#​32400](https://github.com/go-gitea/gitea/issues/32400))
- Improve markdown textarea for indentation and lists ([#​31406](https://github.com/go-gitea/gitea/issues/31406))
- Issue
- Add label/author/assignee filters to the user/org home issue list ([#​32779](https://github.com/go-gitea/gitea/issues/32779))
- Refactor issue filter (labels, poster, assignee) ([#​32771](https://github.com/go-gitea/gitea/issues/32771))
- Style unification for the issue\_management area ([#​32605](https://github.com/go-gitea/gitea/issues/32605))
- Add "View all branches/tags" entry to Branch Selector ([#​32653](https://github.com/go-gitea/gitea/issues/32653))
- Improve textarea paste ([#​31948](https://github.com/go-gitea/gitea/issues/31948))
- Add avif image file support ([#​32508](https://github.com/go-gitea/gitea/issues/32508))
- Prevent from submitting issue/comment on uploading ([#​32263](https://github.com/go-gitea/gitea/issues/32263))
- Issue Templates: add option to have dropdown printed list ([#​31577](https://github.com/go-gitea/gitea/issues/31577))
- Allow searching issues by ID ([#​31479](https://github.com/go-gitea/gitea/issues/31479))
- Add `is_archived` option for issue indexer ([#​32735](https://github.com/go-gitea/gitea/issues/32735))
- Improve attachment upload methods ([#​30513](https://github.com/go-gitea/gitea/issues/30513))
- Support issue template assignees ([#​31083](https://github.com/go-gitea/gitea/issues/31083))
- Prevent simultaneous editing of comments and issues ([#​31053](https://github.com/go-gitea/gitea/issues/31053))
- Add issue comment when moving issues from one column to another of the project ([#​29311](https://github.com/go-gitea/gitea/issues/29311))
- Pull Request
- Display head branch more comfortable on pull request view ([#​32000](https://github.com/go-gitea/gitea/issues/32000))
- Simplify review UI ([#​31062](https://github.com/go-gitea/gitea/issues/31062))
- Allow force push to protected branches ([#​28086](https://github.com/go-gitea/gitea/issues/28086))
- Add line-through for deleted branch on pull request view page ([#​32500](https://github.com/go-gitea/gitea/issues/32500))
- Support requested\_reviewers data in comment webhook events ([#​26178](https://github.com/go-gitea/gitea/issues/26178))
- Allow maintainers to view and edit files of private repos when "Allow maintainers to edit" is enabled ([#​32215](https://github.com/go-gitea/gitea/issues/32215))
- Allow including `Reviewed-on`/`Reviewed-by` lines for custom merge messages ([#​31211](https://github.com/go-gitea/gitea/issues/31211))
- Actions
- Render job title as commit message ([#​32748](https://github.com/go-gitea/gitea/issues/32748))
- Refactor RepoActionView\.vue, add `::group::` support ([#​32713](https://github.com/go-gitea/gitea/issues/32713))
- Make RepoActionView\.vue support `##[group]` ([#​32770](https://github.com/go-gitea/gitea/issues/32770))
- Support `pull_request_target` event for commit status ([#​31703](https://github.com/go-gitea/gitea/issues/31703))
- Detect whether action view branch was deleted ([#​32764](https://github.com/go-gitea/gitea/issues/32764))
- Allow users with write permission to run actions ([#​32644](https://github.com/go-gitea/gitea/issues/32644))
- Show latest run when visit /run/latest ([#​31808](https://github.com/go-gitea/gitea/issues/31808))
- Packages
- Improve rubygems package registry ([#​31357](https://github.com/go-gitea/gitea/issues/31357))
- Add support for npm bundleDependencies ([#​30751](https://github.com/go-gitea/gitea/issues/30751))
- Add signature support for the RPM module ([#​27069](https://github.com/go-gitea/gitea/issues/27069))
- Extract and display readme and comments for Composer packages ([#​30927](https://github.com/go-gitea/gitea/issues/30927))
- Project
- Add title to project view page ([#​32747](https://github.com/go-gitea/gitea/issues/32747))
- Set the columns height to hug all its contents ([#​31726](https://github.com/go-gitea/gitea/issues/31726))
- Rename project `board` -> `column` to make the UI less confusing ([#​30170](https://github.com/go-gitea/gitea/issues/30170))
- User & Organazition
- Use better name for userinfo structure ([#​32544](https://github.com/go-gitea/gitea/issues/32544))
- Use user.FullName in Oauth2 id\_token response ([#​32542](https://github.com/go-gitea/gitea/issues/32542))
- Limit org member view of restricted users ([#​32211](https://github.com/go-gitea/gitea/issues/32211))
- Allow disabling authentication related user features ([#​31535](https://github.com/go-gitea/gitea/issues/31535))
- Add option to change mail from user display name ([#​31528](https://github.com/go-gitea/gitea/issues/31528))
- Use FullName in Emails to address the recipient if possible ([#​31527](https://github.com/go-gitea/gitea/issues/31527))
- Administration
- Add support for a credentials chain for minio access ([#​31051](https://github.com/go-gitea/gitea/issues/31051))
- Move admin routers from /admin to /-/admin ([#​32189](https://github.com/go-gitea/gitea/issues/32189))
- Add cache test for admins ([#​31265](https://github.com/go-gitea/gitea/issues/31265))
- Add option for mailer to override mail headers ([#​27860](https://github.com/go-gitea/gitea/issues/27860))
- Azure blob storage support ([#​30995](https://github.com/go-gitea/gitea/issues/30995))
- Supports forced use of S3 virtual-hosted style ([#​30969](https://github.com/go-gitea/gitea/issues/30969))
- Move repository visibility to danger zone in the settings area ([#​31126](https://github.com/go-gitea/gitea/issues/31126))
- Others
- Remove urls from translations ([#​31950](https://github.com/go-gitea/gitea/issues/31950))
- Simplify 404/500 page ([#​31409](https://github.com/go-gitea/gitea/issues/31409))
- Optimize installation-page experience ([#​32558](https://github.com/go-gitea/gitea/issues/32558))
- Refactor login page ([#​31530](https://github.com/go-gitea/gitea/issues/31530))
- Add new event commit status creation and webhook implementation ([#​27151](https://github.com/go-gitea/gitea/issues/27151))
- Repo Activity: count new issues that were closed ([#​31776](https://github.com/go-gitea/gitea/issues/31776))
- Set manual `tabindex`es on login page ([#​31689](https://github.com/go-gitea/gitea/issues/31689))
- Add `YEAR`, `MONTH`, `MONTH_ENGLISH`, `DAY` variables for template repos ([#​31584](https://github.com/go-gitea/gitea/issues/31584))
- Add typescript guideline and typescript-specific eslint plugins and fix issues ([#​31521](https://github.com/go-gitea/gitea/issues/31521))
- Make toast support preventDuplicates ([#​31501](https://github.com/go-gitea/gitea/issues/31501))
- Fix tautological conditions ([#​30735](https://github.com/go-gitea/gitea/issues/30735))
- Issue change title notifications ([#​33050](https://github.com/go-gitea/gitea/issues/33050)) [#​33065](https://github.com/go-gitea/gitea/issues/33065)
- API
- Implement update branch API ([#​32433](https://github.com/go-gitea/gitea/issues/32433))
- Fix missing outputs for jobs with matrix ([#​32823](https://github.com/go-gitea/gitea/issues/32823))
- Make API "compare" accept commit IDs ([#​32801](https://github.com/go-gitea/gitea/issues/32801))
- Add github compatible tarball download API endpoints ([#​32572](https://github.com/go-gitea/gitea/issues/32572))
- Harden runner updateTask and updateLog api ([#​32462](https://github.com/go-gitea/gitea/issues/32462))
- Add `DISABLE_ORGANIZATIONS_PAGE` and `DISABLE_CODE_PAGE` settings for explore pages and fix an issue related to user search ([#​32288](https://github.com/go-gitea/gitea/issues/32288))
- Make admins adhere to branch protection rules ([#​32248](https://github.com/go-gitea/gitea/issues/32248))
- Calculate `PublicOnly` for org membership only once ([#​32234](https://github.com/go-gitea/gitea/issues/32234))
- Allow filtering PRs by poster in the ListPullRequests API ([#​32209](https://github.com/go-gitea/gitea/issues/32209))
- Return 404 instead of error when commit not exist ([#​31977](https://github.com/go-gitea/gitea/issues/31977))
- Save initial signup information for users to aid in spam prevention ([#​31852](https://github.com/go-gitea/gitea/issues/31852))
- Fix upload maven pacakge parallelly ([#​31851](https://github.com/go-gitea/gitea/issues/31851))
- Fix null requested\_reviewer from API ([#​31773](https://github.com/go-gitea/gitea/issues/31773))
- Add permission description for API to add repo collaborator ([#​31744](https://github.com/go-gitea/gitea/issues/31744))
- Add return type to GetRawFileOrLFS and GetRawFile ([#​31680](https://github.com/go-gitea/gitea/issues/31680))
- Add skip secondary authorization option for public oauth2 clients ([#​31454](https://github.com/go-gitea/gitea/issues/31454))
- Add tag protection via rest api [#​17862](https://github.com/go-gitea/gitea/issues/17862) ([#​31295](https://github.com/go-gitea/gitea/issues/31295))
- Document possible action types for the user activity feed API ([#​31196](https://github.com/go-gitea/gitea/issues/31196))
- Add topics for repository API ([#​31127](https://github.com/go-gitea/gitea/issues/31127))
- Add support for searching users by email ([#​30908](https://github.com/go-gitea/gitea/issues/30908))
- Add API endpoints for getting action jobs status ([#​26673](https://github.com/go-gitea/gitea/issues/26673))
- REFACTOR
- Update JS and PY dependencies ([#​31940](https://github.com/go-gitea/gitea/issues/31940))
- Enable `no-jquery/no-parse-html-literal` and fix violation ([#​31684](https://github.com/go-gitea/gitea/issues/31684))
- Refactor image diff ([#​31444](https://github.com/go-gitea/gitea/issues/31444))
- Refactor CSRF token ([#​32216](https://github.com/go-gitea/gitea/issues/32216))
- Fix some typescript issues ([#​32586](https://github.com/go-gitea/gitea/issues/32586))
- Refactor names ([#​31405](https://github.com/go-gitea/gitea/issues/31405))
- Use per package global lock for container uploads instead of memory lock ([#​31860](https://github.com/go-gitea/gitea/issues/31860))
- Move team related functions to service layer ([#​32537](https://github.com/go-gitea/gitea/issues/32537))
- Move GetFeeds to service layer ([#​32526](https://github.com/go-gitea/gitea/issues/32526))
- Resolve lint for unused parameter and unnecessary type arguments ([#​30750](https://github.com/go-gitea/gitea/issues/30750))
- Reimplement GetUserOrgsList to make it simple and clear ([#​32486](https://github.com/go-gitea/gitea/issues/32486))
- Move some functions from issue.go to standalone files ([#​32468](https://github.com/go-gitea/gitea/issues/32468))
- Refactor sidebar assignee\&milestone\&project selectors ([#​32465](https://github.com/go-gitea/gitea/issues/32465))
- Refactor sidebar label selector ([#​32460](https://github.com/go-gitea/gitea/issues/32460))
- Fix a number of typescript issues ([#​32459](https://github.com/go-gitea/gitea/issues/32459))
- Refactor language menu and dom utils ([#​32450](https://github.com/go-gitea/gitea/issues/32450))
- Refactor issue page info ([#​32445](https://github.com/go-gitea/gitea/issues/32445))
- Split issue sidebar into small templates ([#​32444](https://github.com/go-gitea/gitea/issues/32444))
- Refactor template ctx and render utils ([#​32422](https://github.com/go-gitea/gitea/issues/32422))
- Refactor repo legacy ([#​32404](https://github.com/go-gitea/gitea/issues/32404))
- Refactor markup package ([#​32399](https://github.com/go-gitea/gitea/issues/32399))
- Refactor markup render system ([#​32533](https://github.com/go-gitea/gitea/issues/32533) & [#​32589](https://github.com/go-gitea/gitea/issues/32589) & [#​32612](https://github.com/go-gitea/gitea/issues/32612))
- Refactor the DB migration system slightly ([#​32344](https://github.com/go-gitea/gitea/issues/32344))
- Remove jQuery import from some files ([#​32512](https://github.com/go-gitea/gitea/issues/32512))
- Strict pagination check ([#​32548](https://github.com/go-gitea/gitea/issues/32548))
- Split mail sender sub package from mailer service package ([#​32618](https://github.com/go-gitea/gitea/issues/32618))
- Remove outdated code about fixture generation ([#​32708](https://github.com/go-gitea/gitea/issues/32708))
- Refactor RepoBranchTagSelector ([#​32681](https://github.com/go-gitea/gitea/issues/32681))
- Refactor issue list ([#​32755](https://github.com/go-gitea/gitea/issues/32755))
- Refactor LabelEdit ([#​32752](https://github.com/go-gitea/gitea/issues/32752))
- Split issue/pull view router function as multiple smaller functions ([#​32749](https://github.com/go-gitea/gitea/issues/32749))
- Refactor some LDAP code ([#​32849](https://github.com/go-gitea/gitea/issues/32849))
- Unify repo search order by logic ([#​30876](https://github.com/go-gitea/gitea/issues/30876))
- Remove duplicate empty repo check in delete branch API ([#​32569](https://github.com/go-gitea/gitea/issues/32569))
- Replace deprecated `math/rand` functions ([#​30733](https://github.com/go-gitea/gitea/issues/30733))
- Remove fomantic dimmer module ([#​30723](https://github.com/go-gitea/gitea/issues/30723))
- Add types to fetch,toast,bootstrap,svg ([#​31627](https://github.com/go-gitea/gitea/issues/31627))
- Refactor webhook ([#​31587](https://github.com/go-gitea/gitea/issues/31587))
- Move AddCollabrator and CreateRepositoryByExample to service layer ([#​32419](https://github.com/go-gitea/gitea/issues/32419))
- Refactor RepoRefByType ([#​32413](https://github.com/go-gitea/gitea/issues/32413))
- Refactor: remove redundant err declarations ([#​32381](https://github.com/go-gitea/gitea/issues/32381))
- Refactor markup code ([#​31399](https://github.com/go-gitea/gitea/issues/31399))
- Refactor render system (orgmode) ([#​32671](https://github.com/go-gitea/gitea/issues/32671))
- Refactor render system ([#​32492](https://github.com/go-gitea/gitea/issues/32492))
- Refactor markdown render ([#​32736](https://github.com/go-gitea/gitea/issues/32736) & [#​32728](https://github.com/go-gitea/gitea/issues/32728))
- Refactor repo unit "disabled" check ([#​31389](https://github.com/go-gitea/gitea/issues/31389))
- Refactor route path normalization ([#​31381](https://github.com/go-gitea/gitea/issues/31381))
- Refactor to use UnsafeStringToBytes ([#​31358](https://github.com/go-gitea/gitea/issues/31358))
- Migrate vue components to setup ([#​32329](https://github.com/go-gitea/gitea/issues/32329))
- Refactor globallock ([#​31933](https://github.com/go-gitea/gitea/issues/31933))
- Use correct function name ([#​31887](https://github.com/go-gitea/gitea/issues/31887))
- Use a common message template instead of a special one ([#​31878](https://github.com/go-gitea/gitea/issues/31878))
- Fix a number of Typescript issues ([#​31877](https://github.com/go-gitea/gitea/issues/31877))
- Refactor dropzone ([#​31482](https://github.com/go-gitea/gitea/issues/31482))
- Move custom `tw-` helpers to tailwind plugin ([#​31184](https://github.com/go-gitea/gitea/issues/31184))
- Replace `gt-word-break` with `tw-break-anywhere` ([#​31183](https://github.com/go-gitea/gitea/issues/31183))
- Drop `IDOrderDesc` for listing Actions task and always order by `id DESC` ([#​31150](https://github.com/go-gitea/gitea/issues/31150))
- Split common-global.js into separate files ([#​31438](https://github.com/go-gitea/gitea/issues/31438))
- Improve detecting empty files ([#​31332](https://github.com/go-gitea/gitea/issues/31332))
- Use `querySelector` over alternative DOM methods ([#​31280](https://github.com/go-gitea/gitea/issues/31280))
- Remove jQuery `.text()` ([#​30506](https://github.com/go-gitea/gitea/issues/30506))
- Use repo as of renderctx's member rather than a repoPath on metas ([#​29222](https://github.com/go-gitea/gitea/issues/29222))
- Refactor some frontend problems ([#​32646](https://github.com/go-gitea/gitea/issues/32646))
- Refactor DateUtils and merge TimeSince ([#​32409](https://github.com/go-gitea/gitea/issues/32409))
- Replace DateTime with proper functions ([#​32402](https://github.com/go-gitea/gitea/issues/32402))
- Replace DateTime with DateUtils ([#​32383](https://github.com/go-gitea/gitea/issues/32383))
- Convert frontend code to typescript ([#​31559](https://github.com/go-gitea/gitea/issues/31559))
- Refactor maven package registry ([#​33049](https://github.com/go-gitea/gitea/issues/33049)) [#​33057](https://github.com/go-gitea/gitea/issues/33057)
- Refactor testfixtures [#​33028](https://github.com/go-gitea/gitea/issues/33028)
- BUGFIXES
- Fix issues with inconsistent spacing in areas ([#​32607](https://github.com/go-gitea/gitea/issues/32607))
- Fix incomplete Actions status aggregations ([#​32859](https://github.com/go-gitea/gitea/issues/32859))
- In some lfs server implementations, they require the ref attribute. ([#​32838](https://github.com/go-gitea/gitea/issues/32838))
- Update the list of watchers and stargazers when clicking watch/unwatch or star/unstar ([#​32570](https://github.com/go-gitea/gitea/issues/32570))
- Fix `recentupdate` sorting bugs ([#​32505](https://github.com/go-gitea/gitea/issues/32505))
- Fix incorrect "Target branch does not exist" in PR title ([#​32222](https://github.com/go-gitea/gitea/issues/32222))
- Handle "close" actionable references for manual merges ([#​31879](https://github.com/go-gitea/gitea/issues/31879))
- render plain text file if the LFS object doesn't exist ([#​31812](https://github.com/go-gitea/gitea/issues/31812))
- Fix Null Pointer error for CommitStatusesHideActionsURL ([#​31731](https://github.com/go-gitea/gitea/issues/31731))
- Fix loadRepository error when access user dashboard ([#​31719](https://github.com/go-gitea/gitea/issues/31719))
- Hide the "Details" link of commit status when the user cannot access actions ([#​30156](https://github.com/go-gitea/gitea/issues/30156))
- Fix duplicate dropdown dividers ([#​32760](https://github.com/go-gitea/gitea/issues/32760))
- Fix SSPI button visibility when SSPI is the only enabled method ([#​32841](https://github.com/go-gitea/gitea/issues/32841))
- Fix overflow on org header ([#​32837](https://github.com/go-gitea/gitea/issues/32837))
- Exclude protected branches from recently pushed ([#​31748](https://github.com/go-gitea/gitea/issues/31748))
- Fix large image overflow in comment page ([#​31740](https://github.com/go-gitea/gitea/issues/31740))
- Fix milestone deadline and date related problems ([#​32339](https://github.com/go-gitea/gitea/issues/32339))
- Fix markdown preview $$ support ([#​31514](https://github.com/go-gitea/gitea/issues/31514))
- Fix a compilation error in the Gitpod environment ([#​32559](https://github.com/go-gitea/gitea/issues/32559))
- Fix PR diff review form submit ([#​32596](https://github.com/go-gitea/gitea/issues/32596))
- Fix a number of typescript issues ([#​32308](https://github.com/go-gitea/gitea/issues/32308))
- Fix some function names in comment ([#​32300](https://github.com/go-gitea/gitea/issues/32300))
- Fix absolute-date ([#​32375](https://github.com/go-gitea/gitea/issues/32375))
- Clarify Actions resources ownership ([#​31724](https://github.com/go-gitea/gitea/issues/31724))
- Try to fix ACME directory problem ([#​33072](https://github.com/go-gitea/gitea/issues/33072)) [#​33077](https://github.com/go-gitea/gitea/issues/33077)
- Inherit submodules from template repository content ([#​16237](https://github.com/go-gitea/gitea/issues/16237)) [#​33068](https://github.com/go-gitea/gitea/issues/33068)
- Use project's redirect url instead of composing url ([#​33058](https://github.com/go-gitea/gitea/issues/33058)) [#​33064](https://github.com/go-gitea/gitea/issues/33064)
- Fix toggle commit body button ui when latest commit message is long ([#​32997](https://github.com/go-gitea/gitea/issues/32997)) [#​33034](https://github.com/go-gitea/gitea/issues/33034)
- Fix package error handling and npm meta and empty repo guide [#​33112](https://github.com/go-gitea/gitea/issues/33112)
- Fix empty git repo handling logic and fix mobile view ([#​33101](https://github.com/go-gitea/gitea/issues/33101)) [#​33102](https://github.com/go-gitea/gitea/issues/33102)
- Fix line-number and scroll bugs ([#​33094](https://github.com/go-gitea/gitea/issues/33094)) [#​33095](https://github.com/go-gitea/gitea/issues/33095)
- Fix bleve fuzziness search ([#​33078](https://github.com/go-gitea/gitea/issues/33078)) [#​33087](https://github.com/go-gitea/gitea/issues/33087)
- Fix broken forms [#​33082](https://github.com/go-gitea/gitea/issues/33082)
- Fix empty repo updated time ([#​33120](https://github.com/go-gitea/gitea/issues/33120)) [#​33124](https://github.com/go-gitea/gitea/issues/33124)
- Add missing transaction when set merge [#​33113](https://github.com/go-gitea/gitea/issues/33113)
- Fix issue comment number ([#​30556](https://github.com/go-gitea/gitea/issues/30556)) [#​33055](https://github.com/go-gitea/gitea/issues/33055)
- Fix duplicate co-author in squashed merge commit messages ([#​33020](https://github.com/go-gitea/gitea/issues/33020)) [#​33054](https://github.com/go-gitea/gitea/issues/33054)
- Fix Agit pull request permission check ([#​32999](https://github.com/go-gitea/gitea/issues/32999)) [#​33005](https://github.com/go-gitea/gitea/issues/33005)
- Fix scoped label ui when contains emoji ([#​33007](https://github.com/go-gitea/gitea/issues/33007)) [#​33014](https://github.com/go-gitea/gitea/issues/33014)
- Fix bug on activities ([#​33008](https://github.com/go-gitea/gitea/issues/33008)) [#​33016](https://github.com/go-gitea/gitea/issues/33016)
- Fix review code comment avatar alignment ([#​33031](https://github.com/go-gitea/gitea/issues/33031)) [#​33032](https://github.com/go-gitea/gitea/issues/33032)
- Fix templating in pull request comparison ([#​33025](https://github.com/go-gitea/gitea/issues/33025)) [#​33038](https://github.com/go-gitea/gitea/issues/33038)
- Fix bug automerge cannot be chosed when there is only 1 merge style ([#​33040](https://github.com/go-gitea/gitea/issues/33040)) [#​33043](https://github.com/go-gitea/gitea/issues/33043)
- Fix settings not being loaded at CLI ([#​26402](https://github.com/go-gitea/gitea/issues/26402)) [#​33048](https://github.com/go-gitea/gitea/issues/33048)
- Support for email addresses containing uppercase characters when activating user account ([#​32998](https://github.com/go-gitea/gitea/issues/32998)) [#​33001](https://github.com/go-gitea/gitea/issues/33001)
- Support org labels when adding labels by label names ([#​32988](https://github.com/go-gitea/gitea/issues/32988)) [#​32996](https://github.com/go-gitea/gitea/issues/32996)
- Do not render truncated links in markdown ([#​32980](https://github.com/go-gitea/gitea/issues/32980)) [#​32983](https://github.com/go-gitea/gitea/issues/32983)
- Demilestone should not include milestone ([#​32923](https://github.com/go-gitea/gitea/issues/32923)) [#​32979](https://github.com/go-gitea/gitea/issues/32979)
- Fix Azure blob object Seek ([#​32974](https://github.com/go-gitea/gitea/issues/32974)) [#​32975](https://github.com/go-gitea/gitea/issues/32975)
- Fix maven pom inheritance ([#​32943](https://github.com/go-gitea/gitea/issues/32943)) [#​32976](https://github.com/go-gitea/gitea/issues/32976)
- Fix textarea newline handle ([#​32966](https://github.com/go-gitea/gitea/issues/32966)) [#​32977](https://github.com/go-gitea/gitea/issues/32977)
- Fix outdated tmpl code ([#​32953](https://github.com/go-gitea/gitea/issues/32953)) [#​32961](https://github.com/go-gitea/gitea/issues/32961)
- Fix commit range paging ([#​32944](https://github.com/go-gitea/gitea/issues/32944)) [#​32962](https://github.com/go-gitea/gitea/issues/32962)
- Fix repo avatar conflict ([#​32958](https://github.com/go-gitea/gitea/issues/32958)) [#​32960](https://github.com/go-gitea/gitea/issues/32960)
- Fix trailing comma not matched in the case of alphanumeric issue ([#​32945](https://github.com/go-gitea/gitea/issues/32945))
- Relax the version checking for Arch packages ([#​32908](https://github.com/go-gitea/gitea/issues/32908)) [#​32913](https://github.com/go-gitea/gitea/issues/32913)
- Add more load functions to make sure the reference object loaded ([#​32901](https://github.com/go-gitea/gitea/issues/32901)) [#​32912](https://github.com/go-gitea/gitea/issues/32912)
- Filter reviews of one pull request in memory instead of database to reduce slow response because of lacking database index ([#​33106](https://github.com/go-gitea/gitea/issues/33106)) [#​33128](https://github.com/go-gitea/gitea/issues/33128)
- Fix git remote error check, fix dependencies, fix js error ([#​33129](https://github.com/go-gitea/gitea/issues/33129)) [#​33133](https://github.com/go-gitea/gitea/issues/33133)
- MISC
- Optimize branch protection rule loading ([#​32280](https://github.com/go-gitea/gitea/issues/32280))
- Bump to go 1.23 ([#​31855](https://github.com/go-gitea/gitea/issues/31855))
- Remove unused call to $.HeadRepo in view\_title template ([#​32317](https://github.com/go-gitea/gitea/issues/32317))
- Do not display `attestation-manifest` and use short sha256 instead of full sha256 ([#​32851](https://github.com/go-gitea/gitea/issues/32851))
- Upgrade htmx to 2.0.4 ([#​32834](https://github.com/go-gitea/gitea/issues/32834))
- Improve JSX/TSX support in code editor ([#​32833](https://github.com/go-gitea/gitea/issues/32833))
- Add User-Agent for gitea's self-implemented lfs client. ([#​32832](https://github.com/go-gitea/gitea/issues/32832))
- Use errors.New to replace fmt.Errorf with no parameters ([#​32800](https://github.com/go-gitea/gitea/issues/32800))
- Add "n commits" link to contributors in contributors graph page ([#​32799](https://github.com/go-gitea/gitea/issues/32799))
- Update dependencies, tweak eslint ([#​32719](https://github.com/go-gitea/gitea/issues/32719))
- Remove all "floated" CSS styles ([#​32691](https://github.com/go-gitea/gitea/issues/32691))
- Show tag name on branch/tag selector if repo shown from tag ref ([#​32689](https://github.com/go-gitea/gitea/issues/32689))
- Use new mail package instead of an unmintained one ([#​32682](https://github.com/go-gitea/gitea/issues/32682))
- Optimize the styling of icon buttons within file-header-right ([#​32675](https://github.com/go-gitea/gitea/issues/32675))
- Validate OAuth Redirect URIs ([#​32643](https://github.com/go-gitea/gitea/issues/32643))
- Support optional/configurable IAMEndpoint for Minio Client ([#​32581](https://github.com/go-gitea/gitea/issues/32581)) ([#​32581](https://github.com/go-gitea/gitea/issues/32581))
- Make search box in issue sidebar dropdown list always show when scrolling ([#​32576](https://github.com/go-gitea/gitea/issues/32576))
- Bump CI,Flake and Snap to Node 22 ([#​32487](https://github.com/go-gitea/gitea/issues/32487))
- Update `github.com/meilisearch/meilisearch-go` ([#​32484](https://github.com/go-gitea/gitea/issues/32484))
- Add `DEFAULT_MIRROR_REPO_UNITS` and `DEFAULT_TEMPLATE_REPO_UNITS` options ([#​32416](https://github.com/go-gitea/gitea/issues/32416))
- Update go dependencies ([#​32389](https://github.com/go-gitea/gitea/issues/32389))
- Update JS and PY dependencies ([#​32388](https://github.com/go-gitea/gitea/issues/32388))
- Upgrade rollup to 4.24.0 ([#​32312](https://github.com/go-gitea/gitea/issues/32312))
- Upgrade vue to 3.5.12 ([#​32311](https://github.com/go-gitea/gitea/issues/32311))
- Improve the maintainblity of the reserved username list ([#​32229](https://github.com/go-gitea/gitea/issues/32229))
- Upgrade htmx to 2.0.3 ([#​32192](https://github.com/go-gitea/gitea/issues/32192))
- Count typescript files as frontend for labeling ([#​32088](https://github.com/go-gitea/gitea/issues/32088))
- Only use Host header from reverse proxy ([#​32060](https://github.com/go-gitea/gitea/issues/32060))
- Failed authentications are logged to level Warning ([#​32016](https://github.com/go-gitea/gitea/issues/32016))
- Enhance USER\_DISABLED\_FEATURES to allow disabling change username or full name ([#​31959](https://github.com/go-gitea/gitea/issues/31959))
- Distinguish official vs non-official reviews, add tool tips, and upgrโฆ ([#​31924](https://github.com/go-gitea/gitea/issues/31924))
- Update mermaid to v11 ([#​31913](https://github.com/go-gitea/gitea/issues/31913))
- Bump relative-time-element to v4.4.3 ([#​31910](https://github.com/go-gitea/gitea/issues/31910))
- Upgrade `htmx` to `2.0.2` ([#​31847](https://github.com/go-gitea/gitea/issues/31847))
- Add warning message in merge instructions when `AutodetectManualMerge` was not enabled ([#​31805](https://github.com/go-gitea/gitea/issues/31805))
- Add types to various low-level functions ([#​31781](https://github.com/go-gitea/gitea/issues/31781))
- Update JS dependencies ([#​31766](https://github.com/go-gitea/gitea/issues/31766))
- Remove unused code from models/repos/release.go ([#​31756](https://github.com/go-gitea/gitea/issues/31756))
- Support delete user email in admin panel ([#​31690](https://github.com/go-gitea/gitea/issues/31690))
- Add `username` to OIDC introspection response ([#​31688](https://github.com/go-gitea/gitea/issues/31688))
- Use GetDisplayName() instead of DisplayName() to generate rss feeds ([#​31687](https://github.com/go-gitea/gitea/issues/31687))
- Code editor theme enhancements ([#​31629](https://github.com/go-gitea/gitea/issues/31629))
- Update JS dependencies ([#​31616](https://github.com/go-gitea/gitea/issues/31616))
- Add types for js globals ([#​31586](https://github.com/go-gitea/gitea/issues/31586))
- Add back esbuild-loader for .js files ([#​31585](https://github.com/go-gitea/gitea/issues/31585))
- Don't show hidden labels when filling out an issue template ([#​31576](https://github.com/go-gitea/gitea/issues/31576))
- Allow synchronizing user status from OAuth2 login providers ([#​31572](https://github.com/go-gitea/gitea/issues/31572))
- Display app name in the registration email title ([#​31562](https://github.com/go-gitea/gitea/issues/31562))
- Use stable version of fabric ([#​31526](https://github.com/go-gitea/gitea/issues/31526))
- Support legacy \_links LFS batch responses ([#​31513](https://github.com/go-gitea/gitea/issues/31513))
- Fix JS error with disabled attachment and easymde ([#​31511](https://github.com/go-gitea/gitea/issues/31511))
- Always use HTML attributes for avatar size ([#​31509](https://github.com/go-gitea/gitea/issues/31509))
- Use nolyfill to remove some polyfills ([#​31468](https://github.com/go-gitea/gitea/issues/31468))
- Disable issue/PR comment button given empty input ([#​31463](https://github.com/go-gitea/gitea/issues/31463))
- Add simple JS init performance trace ([#​31459](https://github.com/go-gitea/gitea/issues/31459))
- Bump htmx to 2.0.0 ([#​31413](https://github.com/go-gitea/gitea/issues/31413))
- Update JS dependencies, remove `eslint-plugin-jquery` ([#​31402](https://github.com/go-gitea/gitea/issues/31402))
- Split org Propfile README to a new tab `overview` ([#​31373](https://github.com/go-gitea/gitea/issues/31373))
- Update nix flake and add gofumpt ([#​31320](https://github.com/go-gitea/gitea/issues/31320))
- Code optimization ([#​31315](https://github.com/go-gitea/gitea/issues/31315))
- Enable poetry non-package mode ([#​31282](https://github.com/go-gitea/gitea/issues/31282))
- Optimize profile layout to enhance visual experience ([#​31278](https://github.com/go-gitea/gitea/issues/31278))
- Update `golang.org/x/net` ([#​31260](https://github.com/go-gitea/gitea/issues/31260))
- Bump `@github/relative-time-element` to v4.4.1 ([#​31232](https://github.com/go-gitea/gitea/issues/31232))
- Remove unnecessary inline style for tab-size ([#​31224](https://github.com/go-gitea/gitea/issues/31224))
- Update golangci-lint to v1.59.0 ([#​31221](https://github.com/go-gitea/gitea/issues/31221))
- Update chroma to v2.14.0 ([#​31177](https://github.com/go-gitea/gitea/issues/31177))
- Update JS dependencies ([#​31120](https://github.com/go-gitea/gitea/issues/31120))
- Improve the handling of `jobs.<job_id>.if` ([#​31070](https://github.com/go-gitea/gitea/issues/31070))
- Clean up revive linter config, tweak golangci output ([#​30980](https://github.com/go-gitea/gitea/issues/30980))
- Use CSS `inset` shorthand ([#​30939](https://github.com/go-gitea/gitea/issues/30939))
- Forbid deprecated `break-word` in CSS ([#​30934](https://github.com/go-gitea/gitea/issues/30934))
- Remove obsolete monaco workaround ([#​30893](https://github.com/go-gitea/gitea/issues/30893))
- Update JS dependencies, add new eslint rules ([#​30840](https://github.com/go-gitea/gitea/issues/30840))
- Fix body margin shifting with modals, fix error on project column edit ([#​30831](https://github.com/go-gitea/gitea/issues/30831))
- Remove disk-clean workflow ([#​30741](https://github.com/go-gitea/gitea/issues/30741))
- Bump `github.com/google/go-github` to v61 ([#​30738](https://github.com/go-gitea/gitea/issues/30738))
- Add built js files to eslint ignore ([#​30737](https://github.com/go-gitea/gitea/issues/30737))
- Use `ProtonMail/go-crypto` for `opengpg` in tests ([#​30736](https://github.com/go-gitea/gitea/issues/30736))
- Upgrade xorm to v1.3.9 and improve some migrations Sync ([#​29899](https://github.com/go-gitea/gitea/issues/29899))
- Added default sorting milestones by name ([#​27084](https://github.com/go-gitea/gitea/issues/27084))
- Enable `unparam` linter ([#​31277](https://github.com/go-gitea/gitea/issues/31277))
- Use Alpine 3.21 for the docker images ([#​32924](https://github.com/go-gitea/gitea/issues/32924)) [#​32951](https://github.com/go-gitea/gitea/issues/32951)
- Bump x/net ([#​32896](https://github.com/go-gitea/gitea/issues/32896)) [#​32899](https://github.com/go-gitea/gitea/issues/32899)
- Use -s -w ldflags for release artifacts ([#​33041](https://github.com/go-gitea/gitea/issues/33041)) [#​33042](https://github.com/go-gitea/gitea/issues/33042)
- Remove aws go sdk package dependency ([#​33029](https://github.com/go-gitea/gitea/issues/33029)) [#​33047](https://github.com/go-gitea/gitea/issues/33047)
### [`v1.22.6`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1226---2024-12-12)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.22.5...v1.22.6)
- SECURITY
- Fix misuse of PublicKeyCallback([#​32810](https://github.com/go-gitea/gitea/issues/32810))
- BUGFIXES
- Fix lfs migration ([#​32812](https://github.com/go-gitea/gitea/issues/32812)) ([#​32818](https://github.com/go-gitea/gitea/issues/32818))
- Add missing two sync feed for refs/pull ([#​32815](https://github.com/go-gitea/gitea/issues/32815))
- TESTING
- Avoid MacOS keychain dialog in integration tests ([#​32813](https://github.com/go-gitea/gitea/issues/32813)) ([#​32816](https://github.com/go-gitea/gitea/issues/32816))
### [`v1.22.5`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1225---2024-12-11)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.22.4...v1.22.5)
- SECURITY
- Upgrade crypto library ([#​32791](https://github.com/go-gitea/gitea/issues/32791))
- Fix delete branch perm checking ([#​32654](https://github.com/go-gitea/gitea/issues/32654)) ([#​32707](https://github.com/go-gitea/gitea/issues/32707))
- BUGFIXES
- Add standard-compliant route to serve outdated R packages ([#​32783](https://github.com/go-gitea/gitea/issues/32783)) ([#​32789](https://github.com/go-gitea/gitea/issues/32789))
- Fix internal server error when updating labels without write permission ([#​32776](https://github.com/go-gitea/gitea/issues/32776)) ([#​32785](https://github.com/go-gitea/gitea/issues/32785))
- Add Swift login endpoint ([#​32693](https://github.com/go-gitea/gitea/issues/32693)) ([#​32701](https://github.com/go-gitea/gitea/issues/32701))
- Fix fork page branch selection ([#​32711](https://github.com/go-gitea/gitea/issues/32711)) ([#​32725](https://github.com/go-gitea/gitea/issues/32725))
- Fix word overflow in file search page ([#​32695](https://github.com/go-gitea/gitea/issues/32695)) ([#​32699](https://github.com/go-gitea/gitea/issues/32699))
- Fix gogit `GetRefCommitID` ([#​32705](https://github.com/go-gitea/gitea/issues/32705)) ([#​32712](https://github.com/go-gitea/gitea/issues/32712))
- Fix race condition in mermaid observer ([#​32599](https://github.com/go-gitea/gitea/issues/32599)) ([#​32673](https://github.com/go-gitea/gitea/issues/32673))
- Fixe a keystring misuse and refactor duplicates keystrings ([#​32668](https://github.com/go-gitea/gitea/issues/32668)) ([#​32792](https://github.com/go-gitea/gitea/issues/32792))
- Bump relative-time-element to v4.4.4 ([#​32739](https://github.com/go-gitea/gitea/issues/32739))
- PERFORMANCE
- Make wiki pages visit fast ([#​32732](https://github.com/go-gitea/gitea/issues/32732)) ([#​32745](https://github.com/go-gitea/gitea/issues/32745))
- MISC
- Don't create action when syncing mirror pull refs ([#​32659](https://github.com/go-gitea/gitea/issues/32659)) ([#​32664](https://github.com/go-gitea/gitea/issues/32664))
### [`v1.22.4`](https://github.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1224---2024-11-14)
[Compare Source](https://github.com/go-gitea/gitea/compare/v1.22.3...v1.22.4)
- SECURITY
- Fix basic auth with webauthn ([#​32531](https://github.com/go-gitea/gitea/issues/32531)) ([#​32536](https://github.com/go-gitea/gitea/issues/32536))
- Refactor internal routers (partial backport, auth token const time comparing) ([#​32473](https://github.com/go-gitea/gitea/issues/32473)) ([#​32479](https://github.com/go-gitea/gitea/issues/32479))
- PERFORMANCE
- Remove transaction for archive download ([#​32186](https://github.com/go-gitea/gitea/issues/32186)) ([#​32520](https://github.com/go-gitea/gitea/issues/32520))
- BUGFIXES
- Fix `missing signature key` error when pulling Docker images with `SERVE_DIRECT` enabled ([#​32365](https://github.com/go-gitea/gitea/issues/32365)) ([#​32397](https://github.com/go-gitea/gitea/issues/32397))
- Fix get reviewers fails when selecting user without pull request permissions unit ([#​32415](https://github.com/go-gitea/gitea/issues/32415)) ([#​32616](https://github.com/go-gitea/gitea/issues/32616))
- Fix adding index files to tmp directory ([#​32360](https://github.com/go-gitea/gitea/issues/32360)) ([#​32593](https://github.com/go-gitea/gitea/issues/32593))
- Fix PR creation on forked repositories via API ([#​31863](https://github.com/go-gitea/gitea/issues/31863)) ([#​32591](https://github.com/go-gitea/gitea/issues/32591))
- Fix missing menu tabs in organization project view page ([#​32313](https://github.com/go-gitea/gitea/issues/32313)) ([#​32592](https://github.com/go-gitea/gitea/issues/32592))
- Support HTTP POST requests to `/userinfo`, aligning to OpenID Core specification ([#​32578](https://github.com/go-gitea/gitea/issues/32578)) ([#​32594](https://github.com/go-gitea/gitea/issues/32594))
- Fix debian package clean up cron job ([#​32351](https://github.com/go-gitea/gitea/issues/32351)) ([#​32590](https://github.com/go-gitea/gitea/issues/32590))
- Fix GetInactiveUsers ([#​32540](https://github.com/go-gitea/gitea/issues/32540)) ([#​32588](https://github.com/go-gitea/gitea/issues/32588))
- Allow the actions user to login via the jwt token ([#​32527](https://github.com/go-gitea/gitea/issues/32527)) ([#​32580](https://github.com/go-gitea/gitea/issues/32580))
- Fix submodule parsing ([#​32571](https://github.com/go-gitea/gitea/issues/32571)) ([#​32577](https://github.com/go-gitea/gitea/issues/32577))
- Refactor find forks and fix possible bugs that weaken permissions check ([#​32528](https://github.com/go-gitea/gitea/issues/32528)) ([#​32547](https://github.com/go-gitea/gitea/issues/32547))
- Fix some places that don't respect org full name setting ([#​32243](https://github.com/go-gitea/gitea/issues/32243)) ([#​32550](https://github.com/go-gitea/gitea/issues/32550))
- Refactor push mirror find and add check for updating push mirror ([#​32539](https://github.com/go-gitea/gitea/issues/32539)) ([#​32549](https://github.com/go-gitea/gitea/issues/32549))
- Fix basic auth with webauthn ([#​32531](https://github.com/go-gitea/gitea/issues/32531)) ([#​32536](https://github.com/go-gitea/gitea/issues/32536))
- Fix artifact v4 upload above 8MB ([#​31664](https://github.com/go-gitea/gitea/issues/31664)) ([#​32523](https://github.com/go-gitea/gitea/issues/32523))
- Fix oauth2 error handle not return immediately ([#​32514](https://github.com/go-gitea/gitea/issues/32514)) ([#​32516](https://github.com/go-gitea/gitea/issues/32516))
- Fix action not triggered when commit message is too long ([#​32498](https://github.com/go-gitea/gitea/issues/32498)) ([#​32507](https://github.com/go-gitea/gitea/issues/32507))
- Fix `GetRepoLink` nil pointer dereference on dashboard feed page when repo is deleted with actions enabled ([#​32501](https://github.com/go-gitea/gitea/issues/32501)) ([#​32502](https://github.com/go-gitea/gitea/issues/32502))
- Fix `missing signature key` error when pulling Docker images with `SERVE_DIRECT` enabled ([#​32397](https://github.com/go-gitea/gitea/issues/32397)) ([#​32397](https://github.com/go-gitea/gitea/issues/32397))
- Fix the permission check for user search API and limit the number of returned users for `/user/search` ([#​32310](https://github.com/go-gitea/gitea/issues/32310))
- Fix SearchIssues swagger docs ([#​32208](https://github.com/go-gitea/gitea/issues/32208)) ([#​32298](https://github.com/go-gitea/gitea/issues/32298))
- Fix dropdown content overflow ([#​31610](https://github.com/go-gitea/gitea/issues/31610)) ([#​32250](https://github.com/go-gitea/gitea/issues/32250))
- Disable Oauth check if oauth disabled ([#​32368](https://github.com/go-gitea/gitea/issues/32368)) ([#​32480](https://github.com/go-gitea/gitea/issues/32480))
- Respect renamed dependencies of Cargo registry ([#​32430](https://github.com/go-gitea/gitea/issues/32430)) ([#​32478](https://github.com/go-gitea/gitea/issues/32478))
- Fix mermaid diagram height when initially hidden ([#​32457](https://github.com/go-gitea/gitea/issues/32457)) ([#​32464](https://github.com/go-gitea/gitea/issues/32464))
- Fix broken releases when re-pushing tags ([#​32435](https://github.com/go-gitea/gitea/issues/32435)) ([#​32449](https://github.com/go-gitea/gitea/issues/32449))
- Only provide the commit summary for Discord webhook push events ([#​32432](https://github.com/go-gitea/gitea/issues/32432)) ([#​32447](https://github.com/go-gitea/gitea/issues/32447))
- Only query team tables if repository is under org when getting assignees ([#​32414](https://github.com/go-gitea/gitea/issues/32414)) ([#​32426](https://github.com/go-gitea/gitea/issues/32426))
- Fix created\_unix for mirroring ([#​32342](https://github.com/go-gitea/gitea/issues/32342)) ([#​32406](https://github.com/go-gitea/gitea/issues/32406))
- Respect UI.ExploreDefaultSort setting again ([#​32357](https://github.com/go-gitea/gitea/issues/32357)) ([#​32385](https://github.com/go-gitea/gitea/issues/32385))
- Fix broken image when editing comment with non-image attachments ([#​32319](https://github.com/go-gitea/gitea/issues/32319)) ([#​32345](https://github.com/go-gitea/gitea/issues/32345))
- Fix disable 2fa bug ([#​32320](https://github.com/go-gitea/gitea/issues/32320)) ([#​32330](https://github.com/go-gitea/gitea/issues/32330))
- Always update expiration time when creating an artifact ([#​32281](https://github.com/go-gitea/gitea/issues/32281)) ([#​32285](https://github.com/go-gitea/gitea/issues/32285))
- Fix null errors on conversation holder ([#​32258](https://github.com/go-gitea/gitea/issues/32258)) ([#​32266](https://github.com/go-gitea/gitea/issues/32266)) ([#​32282](https://github.com/go-gitea/gitea/issues/32282))
- Only rename a user when they should receive a different name ([#​32247](https://github.com/go-gitea/gitea/issues/32247)) ([#​32249](https://github.com/go-gitea/gitea/issues/32249))
- Fix checkbox bug on private/archive filter ([#​32236](https://github.com/go-gitea/gitea/issues/32236)) ([#​32240](https://github.com/go-gitea/gitea/issues/32240))
- Add a doctor check to disable the "Actions" unit for mirrors ([#​32424](https://github.com/go-gitea/gitea/issues/32424)) ([#​32497](https://github.com/go-gitea/gitea/issues/32497))
- Quick fix milestone deadline 9999 ([#​32423](https://github.com/go-gitea/gitea/issues/32423))
- Make `show stats` work when only one file changed ([#​32244](https://github.com/go-gitea/gitea/issues/32244)) ([#​32268](https://github.com/go-gitea/gitea/issues/32268))
- Make `owner/repo/pulls` handlers use "PR reader" permission ([#​32254](https://github.com/go-gitea/gitea/issues/32254)) ([#​32265](https://github.com/go-gitea/gitea/issues/32265))
- Update scheduled tasks even if changes are pushed by "ActionsUser" ([#​32246](https://github.com/go-gitea/gitea/issues/32246)) ([#​32252](https://github.com/go-gitea/gitea/issues/32252))
- MISC
- Remove unnecessary code: `GetPushMirrorsByRepoID` called on all repo pages ([#​32560](https://github.com/go-gitea/gitea/issues/32560)) ([#​32567](https://github.com/go-gitea/gitea/issues/32567))
- Improve some sanitizer rules ([#​32534](https://github.com/go-gitea/gitea/issues/32534))
- Update nix development environment vor v1.22.x ([#​32495](https://github.com/go-gitea/gitea/issues/32495))
- Add warn log when deleting inactive users ([#​32318](https://github.com/go-gitea/gitea/issues/32318)) ([#​32321](https://github.com/go-gitea/gitea/issues/32321))
- Update github.com/go-enry/go-enry to v2.9.1 ([#​32295](https://github.com/go-gitea/gitea/issues/32295)) ([#​32296](https://github.com/go-gitea/gitea/issues/32296))
- Warn users when they try to use a non-root-url to sign in/up ([#​32272](https://github.com/go-gitea/gitea/issues/32272)) ([#​32273](https://github.com/go-gitea/gitea/issues/32273))
</details>
---
### Configuration
๐
**Schedule**: (in timezone Europe/Amsterdam)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
๐ฆ **Automerge**: Enabled.
โป **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
๐ **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4yOS41IiwidXBkYXRlZEluVmVyIjoiNDQuMjkuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZG9ja2VyIiwicmVub3ZhdGUiXX0=-->