Conversation

GiteaBot

Backport #34745 by MaxWebZ

When adding a link using the "Add a link" button in comment editor, pasting a URL resulted in incorrect Markdown formatting (double brackets) instead of replacing the placeholder text.

This fix adds a context check to prevent creating a new markdown link when we're already inside an existing one.

Fixes #34740

…#34745)

When adding a link using the "Add a link" button in comment editor,
pasting a URL resulted in incorrect Markdown formatting (double
brackets) instead of replacing the placeholder text.

This fix adds a context check to prevent creating a new markdown link
when we're already inside an existing one.

Fixes go-gitea#34740

---------

Co-authored-by: wxiaoguang <[email protected]>
@GiteaBotGiteaBot added this to the 1.24.1 milestone Jun 17, 2025
@GiteaBotGiteaBot requested a review from delvh June 17, 2025 13:33
@GiteaBotGiteaBot added the lgtm/need 2This PR needs two approvals by maintainers to be considered for merging.label Jun 17, 2025
@GiteaBotGiteaBot requested a review from wxiaoguang June 17, 2025 13:33
@GiteaBotGiteaBot added lgtm/need 1This PR needs approval from one additional maintainer to be merged.and removed lgtm/need 2This PR needs two approvals by maintainers to be considered for merging.labels Jun 17, 2025
@wxiaoguangwxiaoguang enabled auto-merge (squash) June 17, 2025 13:34
@GiteaBotGiteaBot added lgtm/doneThis PR has enough approvals to get merged. There are no important open reservations anymore.and removed lgtm/need 1This PR needs approval from one additional maintainer to be merged.labels Jun 17, 2025
@silverwindsilverwind added the reviewed/wait-mergeThis pull request is part of the merge queue. It will be merged soon.label Jun 17, 2025
@wxiaoguangwxiaoguang merged commit 23d2d22 into go-gitea:release/v1.24 Jun 17, 2025
26 checks passed
@GiteaBotGiteaBot removed the reviewed/wait-mergeThis pull request is part of the merge queue. It will be merged soon.label Jun 17, 2025
chris-sanders pushed a commit to chris-sanders/argocd that referenced this pull request Jun 23, 2025
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [gitea/gitea](https://.com/go-gitea/gitea) | minor | `1.22.6` -> `1.24.2` |

---

### Release Notes

<details>
<summary>go-gitea/gitea (gitea/gitea)</summary>

### [`v1.24.2`](https://.com/go-gitea/gitea/releases/tag/v1.24.2)

[Compare Source](https://.com/go-gitea/gitea/compare/v1.24.1...v1.24.2)

This is a quick release to resolve docker images push bug

- BUGFIXES
  - Fix container range bug ([#&#8203;34795](https://.com/go-gitea/gitea/issues/34795)) ([#&#8203;34796](https://.com/go-gitea/gitea/issues/34796))
  - Upgrade chi to v5.2.2 ([#&#8203;34798](https://.com/go-gitea/gitea/issues/34798)) ([#&#8203;34799](https://.com/go-gitea/gitea/issues/34799))
- BUILD
  - Bump poetry feature to new url for dev container ([#&#8203;34787](https://.com/go-gitea/gitea/issues/34787)) ([#&#8203;34790](https://.com/go-gitea/gitea/issues/34790))

Instances on **[Gitea Cloud](https://cloud.gitea.com)** will be automatically upgraded to this version during the specified maintenance window.

### [`v1.24.1`](https://.com/go-gitea/gitea/releases/tag/v1.24.1)

[Compare Source](https://.com/go-gitea/gitea/compare/v1.24.0...v1.24.1)

- ENHANCEMENTS

  - Improve alignment of commit status icon on commit page ([#&#8203;34750](https://.com/go-gitea/gitea/issues/34750)) ([#&#8203;34757](https://.com/go-gitea/gitea/issues/34757))
  - Support title and body query parameters for new PRs ([#&#8203;34537](https://.com/go-gitea/gitea/issues/34537)) ([#&#8203;34752](https://.com/go-gitea/gitea/issues/34752))

- BUGFIXES
  - When using rules to delete packages, remove unclean bugs ([#&#8203;34632](https://.com/go-gitea/gitea/issues/34632)) ([#&#8203;34761](https://.com/go-gitea/gitea/issues/34761))
  - Fix ghost user in feeds when pushing in an actions, it should be gitea-actions ([#&#8203;34703](https://.com/go-gitea/gitea/issues/34703)) ([#&#8203;34756](https://.com/go-gitea/gitea/issues/34756))
  - Prevent double markdown link brackets when pasting URL ([#&#8203;34745](https://.com/go-gitea/gitea/issues/34745)) ([#&#8203;34748](https://.com/go-gitea/gitea/issues/34748))
  - Prevent duplicate form submissions when creating forks ([#&#8203;34714](https://.com/go-gitea/gitea/issues/34714)) ([#&#8203;34735](https://.com/go-gitea/gitea/issues/34735))
  - Fix markdown wrap ([#&#8203;34697](https://.com/go-gitea/gitea/issues/34697)) ([#&#8203;34702](https://.com/go-gitea/gitea/issues/34702))
  - Fix pull requests API convert panic when head repository is deleted. ([#&#8203;34685](https://.com/go-gitea/gitea/issues/34685)) ([#&#8203;34687](https://.com/go-gitea/gitea/issues/34687))
  - Fix commit message rendering and some UI problems ([#&#8203;34680](https://.com/go-gitea/gitea/issues/34680)) ([#&#8203;34683](https://.com/go-gitea/gitea/issues/34683))
  - Fix container range bug ([#&#8203;34725](https://.com/go-gitea/gitea/issues/34725)) ([#&#8203;34732](https://.com/go-gitea/gitea/issues/34732))
  - Fix incorrect cli default values ([#&#8203;34765](https://.com/go-gitea/gitea/issues/34765)) ([#&#8203;34766](https://.com/go-gitea/gitea/issues/34766))
  - Fix dropdown filter ([#&#8203;34708](https://.com/go-gitea/gitea/issues/34708)) ([#&#8203;34711](https://.com/go-gitea/gitea/issues/34711))
  - Hide href attribute of a tag if there is no target\_url ([#&#8203;34556](https://.com/go-gitea/gitea/issues/34556)) ([#&#8203;34684](https://.com/go-gitea/gitea/issues/34684))
  - Fix tag target ([#&#8203;34781](https://.com/go-gitea/gitea/issues/34781)) [#&#8203;34783](https://.com/go-gitea/gitea/issues/34783)

Instances on **[Gitea Cloud](https://cloud.gitea.com)** will be automatically upgraded to this version during the specified maintenance window.

### [`v1.24.0`](https://.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1240---2025-05-26)

[Compare Source](https://.com/go-gitea/gitea/compare/v1.23.8...v1.24.0)

- BREAKING
  - Make Gitea always use its internal config, ignore `/etc/gitconfig` ([#&#8203;33076](https://.com/go-gitea/gitea/issues/33076))
  - Improve log format ([#&#8203;33814](https://.com/go-gitea/gitea/issues/33814))
  - Fix markdown render behaviors ([#&#8203;34122](https://.com/go-gitea/gitea/issues/34122))
  - Add package version api endpoints ([#&#8203;34173](https://.com/go-gitea/gitea/issues/34173))

- FEATURES
  - Enforce two-factor auth (2FA: TOTP or WebAuthn) ([#&#8203;34187](https://.com/go-gitea/gitea/issues/34187))
  - Add fullscreen mode as a more efficient operation way to view projects ([#&#8203;34081](https://.com/go-gitea/gitea/issues/34081))
  - Add anonymous access support for private/unlisted repositories ([#&#8203;34051](https://.com/go-gitea/gitea/issues/34051))
  - Support public code/issue access for private repositories ([#&#8203;33127](https://.com/go-gitea/gitea/issues/33127))
  - Add middleware for request prioritization ([#&#8203;33951](https://.com/go-gitea/gitea/issues/33951))
  - Add cli flags LDAP group configuration ([#&#8203;33933](https://.com/go-gitea/gitea/issues/33933))
  - Add file tree to file view page ([#&#8203;32721](https://.com/go-gitea/gitea/issues/32721))
  - Add material icons for file list ([#&#8203;33837](https://.com/go-gitea/gitea/issues/33837))
  - Artifacts download api for artifact actions v4 ([#&#8203;33510](https://.com/go-gitea/gitea/issues/33510))
  - Support choose email when creating a commit via web UI ([#&#8203;33432](https://.com/go-gitea/gitea/issues/33432))
  - Add basic auth support to rss/atom feeds ([#&#8203;33371](https://.com/go-gitea/gitea/issues/33371))
  - Add sorting by exclusive labels (issue priority) ([#&#8203;33206](https://.com/go-gitea/gitea/issues/33206))
  - Add sub issue list support ([#&#8203;32940](https://.com/go-gitea/gitea/issues/32940))
  - Private README.md for organization ([#&#8203;32872](https://.com/go-gitea/gitea/issues/32872))
  - Email option to embed images as base64 instead of link ([#&#8203;32061](https://.com/go-gitea/gitea/issues/32061))
  - Option to delay conflict checking of old pull requests until page view ([#&#8203;27779](https://.com/go-gitea/gitea/issues/27779))
  - Worktime tracking for the organization level ([#&#8203;19808](https://.com/go-gitea/gitea/issues/19808))

- PERFORMANCE
  - Add cache for common package queries ([#&#8203;22491](https://.com/go-gitea/gitea/issues/22491))
  - Move issue pin to an standalone table for querying performance ([#&#8203;33452](https://.com/go-gitea/gitea/issues/33452))
  - Improve commits list performance to reduce unnecessary database queries ([#&#8203;33528](https://.com/go-gitea/gitea/issues/33528))
  - Optimize total count of feed when loading activities in user dasard. ([#&#8203;33841](https://.com/go-gitea/gitea/issues/33841))
  - Optimize heatmap query ([#&#8203;33853](https://.com/go-gitea/gitea/issues/33853))
  - Only use prev and next buttons for pagination on user dasard ([#&#8203;33981](https://.com/go-gitea/gitea/issues/33981))
  - Improve pull request list API performance ([#&#8203;34052](https://.com/go-gitea/gitea/issues/34052))
  - Cache GPG keys, emails and users when list commits ([#&#8203;34086](https://.com/go-gitea/gitea/issues/34086))
  - Refactor Git Attribute & performance optimization ([#&#8203;34154](https://.com/go-gitea/gitea/issues/34154))
  - Performance optimization for tags synchronization ([#&#8203;34355](https://.com/go-gitea/gitea/issues/34355)) [#&#8203;34522](https://.com/go-gitea/gitea/issues/34522)

- ENHANCEMENTS
  - Code
    - Display when a release attachment was uploaded ([#&#8203;34261](https://.com/go-gitea/gitea/issues/34261))
    - Support creating relative link to raw path in markdown ([#&#8203;34105](https://.com/go-gitea/gitea/issues/34105))
    - Improve code block readability and isolate copy button ([#&#8203;34009](https://.com/go-gitea/gitea/issues/34009))
    - Improve repository commit view ([#&#8203;33877](https://.com/go-gitea/gitea/issues/33877))
    - Full-file syntax highlighting for diff pages ([#&#8203;33766](https://.com/go-gitea/gitea/issues/33766))
    - Clone repository with Tea CLI ([#&#8203;33725](https://.com/go-gitea/gitea/issues/33725))
    - Improve sync fork behavior ([#&#8203;33319](https://.com/go-gitea/gitea/issues/33319))
    - Make git clone URL could use current signed-in user ([#&#8203;33091](https://.com/go-gitea/gitea/issues/33091))
    - Add submodule diff links ([#&#8203;33097](https://.com/go-gitea/gitea/issues/33097))
    - Link to tree views of submodules if possible ([#&#8203;33424](https://.com/go-gitea/gitea/issues/33424))
    - Only keep popular licenses ([#&#8203;33832](https://.com/go-gitea/gitea/issues/33832))
    - De-emphasize signed commits ([#&#8203;31160](https://.com/go-gitea/gitea/issues/31160))

  - Actions
    - Add flat-square action badge style ([#&#8203;34062](https://.com/go-gitea/gitea/issues/34062))
    - Update action status badge layout ([#&#8203;34018](https://.com/go-gitea/gitea/issues/34018))
    - Download actions job logs from API ([#&#8203;33858](https://.com/go-gitea/gitea/issues/33858))
    - Always show the "rerun" button for action jobs ([#&#8203;33692](https://.com/go-gitea/gitea/issues/33692))
    - Add auto-expanding running actions step ([#&#8203;30058](https://.com/go-gitea/gitea/issues/30058))
    - Update status check for all supported on.pull\_request.types in Gitea ([#&#8203;33117](https://.com/go-gitea/gitea/issues/33117))
    - Workflow\_dis use workflow from trigger branch ([#&#8203;33098](https://.com/go-gitea/gitea/issues/33098))
    - Add action auto-scroll ([#&#8203;30057](https://.com/go-gitea/gitea/issues/30057))
    - Add workflow\_job webhook ([#&#8203;33694](https://.com/go-gitea/gitea/issues/33694))
    - Add a button editing action secret ([#&#8203;34462](https://.com/go-gitea/gitea/issues/34462))

  - Pull Request
    - Auto expand "New PR" form ([#&#8203;33971](https://.com/go-gitea/gitea/issues/33971))
    - Mark parent directory as viewed when all files are viewed ([#&#8203;33958](https://.com/go-gitea/gitea/issues/33958))
    - Show info about maintainers are allowed to edit a PR ([#&#8203;33738](https://.com/go-gitea/gitea/issues/33738))
    - Automerge supports deleting branch automatically after merging ([#&#8203;32343](https://.com/go-gitea/gitea/issues/32343))
    - Add additional command hints for PowerShell & CMD ([#&#8203;33548](https://.com/go-gitea/gitea/issues/33548))

  - Issues
    - Allow filtering issues by any assignee ([#&#8203;33343](https://.com/go-gitea/gitea/issues/33343))
    - Show warning on navigation if currently editing comment or title ([#&#8203;32920](https://.com/go-gitea/gitea/issues/32920))
    - Make tracked time representation display as hours ([#&#8203;33315](https://.com/go-gitea/gitea/issues/33315))
    - Add No Results Prompt Message on Issue List Page ([#&#8203;33699](https://.com/go-gitea/gitea/issues/33699))
    - Add sort option recentclose for issues and pulls ([#&#8203;34525](https://.com/go-gitea/gitea/issues/34525)) [#&#8203;34539](https://.com/go-gitea/gitea/issues/34539)

  - Packages
    - Link to nuget dependencies ([#&#8203;26554](https://.com/go-gitea/gitea/issues/26554))
    - Add composor source field ([#&#8203;33502](https://.com/go-gitea/gitea/issues/33502))

  - Administration
    - Improve navbar: add "admin" tip, add "active" style ([#&#8203;32927](https://.com/go-gitea/gitea/issues/32927))
    - Add a option "--user-type bot" to admin user create, improve role display ([#&#8203;27885](https://.com/go-gitea/gitea/issues/27885))
    - Improve admin user view page ([#&#8203;33735](https://.com/go-gitea/gitea/issues/33735))
    - Support performance trace ([#&#8203;32973](https://.com/go-gitea/gitea/issues/32973))
    - Change pprof labels to be prometheus compatible ([#&#8203;32865](https://.com/go-gitea/gitea/issues/32865))
    - Allow admins and org owners to change org member public status ([#&#8203;28294](https://.com/go-gitea/gitea/issues/28294))
    - Optimize the installation page ([#&#8203;32994](https://.com/go-gitea/gitea/issues/32994))
    - Make public URL generation configurable ([#&#8203;34250](https://.com/go-gitea/gitea/issues/34250))
    - Add a --fullname arg to gitea admin user create. ([#&#8203;34241](https://.com/go-gitea/gitea/issues/34241))

  - Others
    - Improve oauth2 error handling ([#&#8203;33969](https://.com/go-gitea/gitea/issues/33969))
    - Fail mirroring more gracefully ([#&#8203;34002](https://.com/go-gitea/gitea/issues/34002))
    - Align User Details Page Header Layout with Design Specifications ([#&#8203;34192](https://.com/go-gitea/gitea/issues/34192))
    - Webhook add X-Gitea-Hook-Installation-Target-Type Header ([#&#8203;33752](https://.com/go-gitea/gitea/issues/33752))
    - Optimize the dasard ([#&#8203;32990](https://.com/go-gitea/gitea/issues/32990))
    - Improve button layout on small screens ([#&#8203;33633](https://.com/go-gitea/gitea/issues/33633))
    - Add cropping support when modifying the user/org/repo avatar ([#&#8203;33498](https://.com/go-gitea/gitea/issues/33498))
    - Make ROOT\_URL support using request Host header ([#&#8203;32564](https://.com/go-gitea/gitea/issues/32564))
    - Add `show more` organizations icon in user's profile ([#&#8203;32986](https://.com/go-gitea/gitea/issues/32986))
    - Introduce `--page-space-bottom` at 64px ([#&#8203;30692](https://.com/go-gitea/gitea/issues/30692))
    - Improve theme display ([#&#8203;30671](https://.com/go-gitea/gitea/issues/30671))
    - Add alphabetical project sorting ([#&#8203;33504](https://.com/go-gitea/gitea/issues/33504))
    - Add global lock for migrations to make upgrade more safe with multiple replications ([#&#8203;33706](https://.com/go-gitea/gitea/issues/33706))
    - Add descriptions for private repo public access settings and improve the UI ([#&#8203;34057](https://.com/go-gitea/gitea/issues/34057))

- API
  - Actions Runner rest api ([#&#8203;33873](https://.com/go-gitea/gitea/issues/33873))
  - Inclusion of rename organization api ([#&#8203;33303](https://.com/go-gitea/gitea/issues/33303))
  - Add API to support link package to repository and unlink it ([#&#8203;33481](https://.com/go-gitea/gitea/issues/33481))
  - Add API endpoint to request contents of multiple files simultaniously ([#&#8203;34139](https://.com/go-gitea/gitea/issues/34139))
  - Actions artifacts API list/download check status upload confirmed ([#&#8203;34273](https://.com/go-gitea/gitea/issues/34273))
  - Add API routes to lock and unlock issues ([#&#8203;34165](https://.com/go-gitea/gitea/issues/34165))
  - Fix some user name usages ([#&#8203;33689](https://.com/go-gitea/gitea/issues/33689))
  - Allow filtering /repos/{owner}/{repo}/pulls by target base branch queryparam ([#&#8203;33684](https://.com/go-gitea/gitea/issues/33684))
  - Improve swagger generation ([#&#8203;33664](https://.com/go-gitea/gitea/issues/33664))
  - Support Ephemeral action runners ([#&#8203;33570](https://.com/go-gitea/gitea/issues/33570))
  - Support workflow event dis via API ([#&#8203;33545](https://.com/go-gitea/gitea/issues/33545))
  - Support workflow event dis via API ([#&#8203;32059](https://.com/go-gitea/gitea/issues/32059))
  - Added Description Field for Secrets and Variables  ([#&#8203;33526](https://.com/go-gitea/gitea/issues/33526))
  - Reject star-related requests if stars are disabled ([#&#8203;33208](https://.com/go-gitea/gitea/issues/33208))
  - Let API create and edit system webhooks, attempt 2 ([#&#8203;33180](https://.com/go-gitea/gitea/issues/33180))
  - Use `Project-URL` metadata field to get a PyPI package's homepage URL ([#&#8203;33089](https://.com/go-gitea/gitea/issues/33089))
  - Add `last_committer_date` and `last_author_date` for file contents API ([#&#8203;32921](https://.com/go-gitea/gitea/issues/32921))

- REFACTORS
  - Remove context from git struct ([#&#8203;33793](https://.com/go-gitea/gitea/issues/33793))
  - Refactor admin/common.ts ([#&#8203;33788](https://.com/go-gitea/gitea/issues/33788))
  - Refactor repo-settings.ts ([#&#8203;33785](https://.com/go-gitea/gitea/issues/33785))
  - Refactor repo-issue.ts ([#&#8203;33784](https://.com/go-gitea/gitea/issues/33784))
  - Small refactor to reduce unnecessary database queries and remove duplicated functions ([#&#8203;33779](https://.com/go-gitea/gitea/issues/33779))
  - Refactor initRepoBranchTagSelector to use new init framework ([#&#8203;33776](https://.com/go-gitea/gitea/issues/33776))
  - Refactor buttons to use new init framework ([#&#8203;33774](https://.com/go-gitea/gitea/issues/33774))
  - Refactor markup and pdf-viewer to use new init framework ([#&#8203;33772](https://.com/go-gitea/gitea/issues/33772))
  - Refactor error system ([#&#8203;33771](https://.com/go-gitea/gitea/issues/33771))
  - Refactor mail code ([#&#8203;33768](https://.com/go-gitea/gitea/issues/33768))
  - Update TypeScript types ([#&#8203;33799](https://.com/go-gitea/gitea/issues/33799))
  - Refactor older tests to use testify ([#&#8203;33140](https://.com/go-gitea/gitea/issues/33140))
  - Move notifywatch to service layer ([#&#8203;33825](https://.com/go-gitea/gitea/issues/33825))
  - Decouple context from repository related structs ([#&#8203;33823](https://.com/go-gitea/gitea/issues/33823))
  - Remove context from mail struct ([#&#8203;33811](https://.com/go-gitea/gitea/issues/33811))
  - Refactor dropdown ellipsis ([#&#8203;34123](https://.com/go-gitea/gitea/issues/34123))
  - Refactor functions to reduce repopath expose ([#&#8203;33892](https://.com/go-gitea/gitea/issues/33892))
  - Refactor repo-diff.ts ([#&#8203;33746](https://.com/go-gitea/gitea/issues/33746))
  - Refactor web route handler ([#&#8203;33488](https://.com/go-gitea/gitea/issues/33488))
  - Refactor user & avatar ([#&#8203;33433](https://.com/go-gitea/gitea/issues/33433))
  - Refactor user package ([#&#8203;33423](https://.com/go-gitea/gitea/issues/33423))
  - Refactor decouple context from migration structs ([#&#8203;33399](https://.com/go-gitea/gitea/issues/33399))
  - Refactor context flash msg and global variables ([#&#8203;33375](https://.com/go-gitea/gitea/issues/33375))
  - Refactor response writer & access logger ([#&#8203;33323](https://.com/go-gitea/gitea/issues/33323))
  - Refactor ref type ([#&#8203;33242](https://.com/go-gitea/gitea/issues/33242))
  - Refactor context repository ([#&#8203;33202](https://.com/go-gitea/gitea/issues/33202))
  - Refactor legacy JS ([#&#8203;33115](https://.com/go-gitea/gitea/issues/33115))
  - Refactor legacy line-number and scroll code ([#&#8203;33094](https://.com/go-gitea/gitea/issues/33094))
  - Refactor env var related code ([#&#8203;33075](https://.com/go-gitea/gitea/issues/33075))
  - Move SetMerged to service layer ([#&#8203;33045](https://.com/go-gitea/gitea/issues/33045))
  - Merge updatecommentattachment functions ([#&#8203;33044](https://.com/go-gitea/gitea/issues/33044))
  - Refactor pull-request compare\&create page ([#&#8203;33071](https://.com/go-gitea/gitea/issues/33071))
  - Refactor repo-new.ts ([#&#8203;33070](https://.com/go-gitea/gitea/issues/33070))
  - Refactor pagination ([#&#8203;33037](https://.com/go-gitea/gitea/issues/33037))
  - Refactor tests ([#&#8203;33021](https://.com/go-gitea/gitea/issues/33021))
  - Refactor markup render to fix various path problems ([#&#8203;34114](https://.com/go-gitea/gitea/issues/34114))
  - Refactor Branch struct in package modules/git ([#&#8203;33980](https://.com/go-gitea/gitea/issues/33980))
  - Don't create duplicated functions for code repositories and wiki repositories ([#&#8203;33924](https://.com/go-gitea/gitea/issues/33924))
  - Move git references checking to gitrepo packages to reduce expose of repository path ([#&#8203;33891](https://.com/go-gitea/gitea/issues/33891))
  - Refactor cache-control ([#&#8203;33861](https://.com/go-gitea/gitea/issues/33861))
  - Decouple diff stats query from actual diffing ([#&#8203;33810](https://.com/go-gitea/gitea/issues/33810))
  - Move part of updating protected branch logic to service layer ([#&#8203;33742](https://.com/go-gitea/gitea/issues/33742))
  - Decouple Batch from git.Repository to simplify usage without requiring the creation of a Repository struct. ([#&#8203;34001](https://.com/go-gitea/gitea/issues/34001))
  - Refactor tmpl and blob\_excerpt ([#&#8203;32967](https://.com/go-gitea/gitea/issues/32967))
  - Refactor template & test related code ([#&#8203;32938](https://.com/go-gitea/gitea/issues/32938))
  - Refactor db package and remove unnecessary `DumpTables` ([#&#8203;32930](https://.com/go-gitea/gitea/issues/32930))
  - Refactor pprof labels and process desc ([#&#8203;32909](https://.com/go-gitea/gitea/issues/32909))
  - Refactor repo-projects.ts ([#&#8203;32892](https://.com/go-gitea/gitea/issues/32892))
  - Refactor get/getdiff functions and remove unnecessary fallback ([#&#8203;32817](https://.com/go-gitea/gitea/issues/32817))
  - Uniform all temporary directories and allow customizing temp path ([#&#8203;32352](https://.com/go-gitea/gitea/issues/32352))
  - Remove context from retry downloader ([#&#8203;33871](https://.com/go-gitea/gitea/issues/33871))
  - Refactor global init code and add more comments ([#&#8203;33755](https://.com/go-gitea/gitea/issues/33755))
  - Remove some unnecessary template helpers ([#&#8203;33069](https://.com/go-gitea/gitea/issues/33069))
  - Move and rename UpdateRepository ([#&#8203;34136](https://.com/go-gitea/gitea/issues/34136))
  - Move hooks function to gitrepo and reduce expose repopath ([#&#8203;33890](https://.com/go-gitea/gitea/issues/33890))
  - Add abstraction layer to delete repository from disk ([#&#8203;33879](https://.com/go-gitea/gitea/issues/33879))
  - Add abstraction layer to check if the repository exists on disk ([#&#8203;33874](https://.com/go-gitea/gitea/issues/33874))
  - Move ParseCommitWithSSHSignature to service layer ([#&#8203;34087](https://.com/go-gitea/gitea/issues/34087))
  - Move duplicated functions ([#&#8203;33977](https://.com/go-gitea/gitea/issues/33977))
  - Extract code to their own functions for push update ([#&#8203;33944](https://.com/go-gitea/gitea/issues/33944))
  - Move gitgraph from modules to services layer ([#&#8203;33527](https://.com/go-gitea/gitea/issues/33527))
  - Move commits signature and verify functions to service layers ([#&#8203;33605](https://.com/go-gitea/gitea/issues/33605))
  - Use `CloseIssue` and `ReopenIssue` instead of `ChangeStatus` ([#&#8203;32467](https://.com/go-gitea/gitea/issues/32467))
  - Refactor arch route handlers ([#&#8203;32993](https://.com/go-gitea/gitea/issues/32993))
  - Refactor "string truncate" ([#&#8203;32984](https://.com/go-gitea/gitea/issues/32984))
  - Refactor arch route handlers ([#&#8203;32972](https://.com/go-gitea/gitea/issues/32972))
  - Clarify path param naming ([#&#8203;32969](https://.com/go-gitea/gitea/issues/32969))
  - Refactor request context ([#&#8203;32956](https://.com/go-gitea/gitea/issues/32956))
  - Move some errors to their own sub packages ([#&#8203;32880](https://.com/go-gitea/gitea/issues/32880))
  - Move RepoTransfer from models to models/repo sub package ([#&#8203;32506](https://.com/go-gitea/gitea/issues/32506))
  - Move delete deploy keys into service layer ([#&#8203;32201](https://.com/go-gitea/gitea/issues/32201))
  - Refactor webhook events ([#&#8203;33337](https://.com/go-gitea/gitea/issues/33337))
  - Move some Actions related functions from `routers` to `services` ([#&#8203;33280](https://.com/go-gitea/gitea/issues/33280))
  - Refactor RefName ([#&#8203;33234](https://.com/go-gitea/gitea/issues/33234))
  - Refactor context RefName and RepoAssignment ([#&#8203;33226](https://.com/go-gitea/gitea/issues/33226))
  - Refactor repository transfer ([#&#8203;33211](https://.com/go-gitea/gitea/issues/33211))
  - Refactor error system ([#&#8203;33626](https://.com/go-gitea/gitea/issues/33626))
  - Refactor error system ([#&#8203;33610](https://.com/go-gitea/gitea/issues/33610))
  - Refactor package (routes and error handling, npm peer dependency) ([#&#8203;33111](https://.com/go-gitea/gitea/issues/33111))
  - Use test context in tests and new loop system in benchmarks ([#&#8203;33648](https://.com/go-gitea/gitea/issues/33648))
  - Some small refactors ([#&#8203;33144](https://.com/go-gitea/gitea/issues/33144))
  - Simplify context ref name ([#&#8203;33267](https://.com/go-gitea/gitea/issues/33267))

- BUGFIXES
  - Fix some dropdown problems on the issue sidebar ([#&#8203;34308](https://.com/go-gitea/gitea/issues/34308)) [#&#8203;34327](https://.com/go-gitea/gitea/issues/34327)
  - Do not return archive download URLs in API if downloads are disabled ([#&#8203;34324](https://.com/go-gitea/gitea/issues/34324)) [#&#8203;34338](https://.com/go-gitea/gitea/issues/34338)
  - Fix LFS files being editable in web UI ([#&#8203;34356](https://.com/go-gitea/gitea/issues/34356)) [#&#8203;34362](https://.com/go-gitea/gitea/issues/34362)
  - Fix only text/\* being viewable in web UI ([#&#8203;34374](https://.com/go-gitea/gitea/issues/34374)) [#&#8203;34378](https://.com/go-gitea/gitea/issues/34378)
  - Fix LFS file not stored in LFS when uploaded/edited via API or web UI ([#&#8203;34367](https://.com/go-gitea/gitea/issues/34367))
  - Grey out expired artifact on Artifacts list ([#&#8203;34314](https://.com/go-gitea/gitea/issues/34314)) [#&#8203;34404](https://.com/go-gitea/gitea/issues/34404)
  - Fix incorrect divergence cache after switching default branch ([#&#8203;34370](https://.com/go-gitea/gitea/issues/34370)) [#&#8203;34406](https://.com/go-gitea/gitea/issues/34406)
  - Refactor commit message rendering and fix bugs ([#&#8203;34412](https://.com/go-gitea/gitea/issues/34412)) [#&#8203;34414](https://.com/go-gitea/gitea/issues/34414)
  - Merge and tweak markup editor expander CSS ([#&#8203;34409](https://.com/go-gitea/gitea/issues/34409)) [#&#8203;34415](https://.com/go-gitea/gitea/issues/34415)
  - Fix GetUsersByEmails ([#&#8203;34423](https://.com/go-gitea/gitea/issues/34423)) [#&#8203;34425](https://.com/go-gitea/gitea/issues/34425)
  - Only git operations should update last changed of a repository ([#&#8203;34388](https://.com/go-gitea/gitea/issues/34388)) [#&#8203;34427](https://.com/go-gitea/gitea/issues/34427)
  - Fix comment textarea scroll issue in Firefox ([#&#8203;34438](https://.com/go-gitea/gitea/issues/34438)) [#&#8203;34446](https://.com/go-gitea/gitea/issues/34446)
  - Fix repo broken check ([#&#8203;34444](https://.com/go-gitea/gitea/issues/34444)) [#&#8203;34452](https://.com/go-gitea/gitea/issues/34452)
  - Fix remove org user failure on mssql ([#&#8203;34449](https://.com/go-gitea/gitea/issues/34449)) [#&#8203;34453](https://.com/go-gitea/gitea/issues/34453)
  - Fix Workflow run Not Found page ([#&#8203;34459](https://.com/go-gitea/gitea/issues/34459)) [#&#8203;34466](https://.com/go-gitea/gitea/issues/34466)
  - When updating comment, if the content is the same, just return and not update the database ([#&#8203;34422](https://.com/go-gitea/gitea/issues/34422)) [#&#8203;34464](https://.com/go-gitea/gitea/issues/34464)
  - Fix project board view ([#&#8203;34470](https://.com/go-gitea/gitea/issues/34470)) [#&#8203;34475](https://.com/go-gitea/gitea/issues/34475)
  - Fix get / delete runner to use consistent http 404 and 500 status ([#&#8203;34480](https://.com/go-gitea/gitea/issues/34480)) [#&#8203;34488](https://.com/go-gitea/gitea/issues/34488)
  - Fix url validation in webhook add/edit API ([#&#8203;34492](https://.com/go-gitea/gitea/issues/34492)) [#&#8203;34496](https://.com/go-gitea/gitea/issues/34496)
  - Fix edithook api can not update package, status and workflow\_job events ([#&#8203;34495](https://.com/go-gitea/gitea/issues/34495)) [#&#8203;34499](https://.com/go-gitea/gitea/issues/34499)
  - Fix ephemeral runner deletion ([#&#8203;34447](https://.com/go-gitea/gitea/issues/34447)) [#&#8203;34513](https://.com/go-gitea/gitea/issues/34513)
  - Don't display error log when .git-blame-ignore-revs doesn't exist ([#&#8203;34457](https://.com/go-gitea/gitea/issues/34457))
  - Only allow admins to rename default/protected branches ([#&#8203;33276](https://.com/go-gitea/gitea/issues/33276))
  - Improve "lock conversation" UI ([#&#8203;34207](https://.com/go-gitea/gitea/issues/34207))
  - Fix incorrect file links ([#&#8203;34189](https://.com/go-gitea/gitea/issues/34189))
  - Optimize Overflow Menu ([#&#8203;34183](https://.com/go-gitea/gitea/issues/34183))
  - Check user/org repo limit instead of doer ([#&#8203;34147](https://.com/go-gitea/gitea/issues/34147))
  - Make markdown render match 's behavior ([#&#8203;34129](https://.com/go-gitea/gitea/issues/34129))
  - Fix team permission ([#&#8203;34128](https://.com/go-gitea/gitea/issues/34128))
  - Correctly handle submodule view and avoid throwing 500 error ([#&#8203;34121](https://.com/go-gitea/gitea/issues/34121))
  - Fix users being able bypass limits with repo transfers ([#&#8203;34031](https://.com/go-gitea/gitea/issues/34031))
  - Avoid creating unnecessary temporary cat file sub process ([#&#8203;33942](https://.com/go-gitea/gitea/issues/33942))
  - Refactor organization menu ([#&#8203;33928](https://.com/go-gitea/gitea/issues/33928))
  - Fix various Fomantic UI and htmx problems ([#&#8203;33851](https://.com/go-gitea/gitea/issues/33851))
  - Fix 500 error when error occurred in migration page ([#&#8203;33256](https://.com/go-gitea/gitea/issues/33256))
  - Validate that the tag doesn't exist when creating a tag via the web ([#&#8203;33241](https://.com/go-gitea/gitea/issues/33241))
  - Add missed transaction on setmerged ([#&#8203;33079](https://.com/go-gitea/gitea/issues/33079))
  - Rework create/fork/adopt/generate repository to make sure resources will be cleanup once failed ([#&#8203;31035](https://.com/go-gitea/gitea/issues/31035))
  - Valid email address should only start with alphanumeric ([#&#8203;28174](https://.com/go-gitea/gitea/issues/28174))
  - Fix webhook url ([#&#8203;34186](https://.com/go-gitea/gitea/issues/34186))
  - Fix "toAbsoluteLocaleDate" test when system locale is not en-US ([#&#8203;33939](https://.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 ([#&#8203;33959](https://.com/go-gitea/gitea/issues/33959))
  - Fix cannot delete runners via the modal dialog ([#&#8203;33895](https://.com/go-gitea/gitea/issues/33895))
  - Fix unpin hint on the pinned pull requests ([#&#8203;33207](https://.com/go-gitea/gitea/issues/33207))
  - Fix parentCommit invalid memory address or nil pointer dereference. ([#&#8203;33204](https://.com/go-gitea/gitea/issues/33204))
  - Fix comment header padding ([#&#8203;33377](https://.com/go-gitea/gitea/issues/33377))
  - Fix some migration and repo name problems ([#&#8203;33986](https://.com/go-gitea/gitea/issues/33986))
  - Fix various trivial frontend problems ([#&#8203;34263](https://.com/go-gitea/gitea/issues/34263))
  - Fix Set Email Preference dropdown and button placement ([#&#8203;34255](https://.com/go-gitea/gitea/issues/34255))
  - Fix quoted replies incorrectly render user input as part of the quote ([#&#8203;34216](https://.com/go-gitea/gitea/issues/34216))
  - Fix button alignments and remove unnecessary styles ([#&#8203;34206](https://.com/go-gitea/gitea/issues/34206))
  - Restore form inputs on organization create error ([#&#8203;34201](https://.com/go-gitea/gitea/issues/34201))
  - Try to fix ACME (3rd) ([#&#8203;33807](https://.com/go-gitea/gitea/issues/33807))
  - Fix incorrect ref "blob" ([#&#8203;33240](https://.com/go-gitea/gitea/issues/33240))
  - Fix dynamic content loading init problem ([#&#8203;33748](https://.com/go-gitea/gitea/issues/33748))
  - Fix git empty check and HEAD request ([#&#8203;33690](https://.com/go-gitea/gitea/issues/33690))
  - Fix Untranslated Text on Actions Page ([#&#8203;33635](https://.com/go-gitea/gitea/issues/33635))
  - Fix issue label delete incorrect labels webhook payload ([#&#8203;34575](https://.com/go-gitea/gitea/issues/34575))
  - Fix incorrect page navigation with up and down arrow on last item of dasard repos ([#&#8203;34570](https://.com/go-gitea/gitea/issues/34570))
  - Fix/improve avatar sync from LDAP ([#&#8203;34573](https://.com/go-gitea/gitea/issues/34573))
  - Fix some trivial problems ([#&#8203;34579](https://.com/go-gitea/gitea/issues/34579))
  - Retain issue sort type when a keyword search is introduced ([#&#8203;34559](https://.com/go-gitea/gitea/issues/34559))
  - Always use an empty line to separate the commit message and trailer ([#&#8203;34512](https://.com/go-gitea/gitea/issues/34512))
  - Fix line-button issue after file selection in file tree ([#&#8203;34574](https://.com/go-gitea/gitea/issues/34574))
  - Fix doctor deleting orphaned issues attachments ([#&#8203;34142](https://.com/go-gitea/gitea/issues/34142))
  - Add webhook assigning test and fix possible bug ([#&#8203;34420](https://.com/go-gitea/gitea/issues/34420))
  - Fix possible nil description of pull request when migrating from CodeCommit ([#&#8203;34541](https://.com/go-gitea/gitea/issues/34541))
  - Refactor commit reader ([#&#8203;34542](https://.com/go-gitea/gitea/issues/34542))
  - Fix possible pull request broken when leave the page immediately after clicking the update button [#&#8203;34509](https://.com/go-gitea/gitea/issues/34509)
  - Ignore "Close" error when uploading container blob ([#&#8203;34620](https://.com/go-gitea/gitea/issues/34620))
  - Fix missed merge commit sha and time when migrating from codecommit ([#&#8203;34645](https://.com/go-gitea/gitea/issues/34645))
  - Fix GetUsersByEmails ([#&#8203;34643](https://.com/go-gitea/gitea/issues/34643))
  - Misc CSS fixes ([#&#8203;34638](https://.com/go-gitea/gitea/issues/34638))
  - Add codecommit to supported services in api docs ([#&#8203;34626](https://.com/go-gitea/gitea/issues/34626))
  - Validate hex colors when creating/editing labels ([#&#8203;34623](https://.com/go-gitea/gitea/issues/34623))
  - Fix possible pull request broken when leave the page immediately after clicking the update button ([#&#8203;34509](https://.com/go-gitea/gitea/issues/34509))
  - Fix margin issue in markup paragraph rendering ([#&#8203;34599](https://.com/go-gitea/gitea/issues/34599))
  - Fix migration pull request title too long ([#&#8203;34577](https://.com/go-gitea/gitea/issues/34577))
  - Fix footnote jump behavior on the issue page. ([#&#8203;34621](https://.com/go-gitea/gitea/issues/34621))
  - Fix "oras" OCI client compatibility ([#&#8203;34666](https://.com/go-gitea/gitea/issues/34666))
  - Fix last admin check when syncing users ([#&#8203;34649](https://.com/go-gitea/gitea/issues/34649))
  - Fix skip paths check on tag push events in workflows ([#&#8203;34602](https://.com/go-gitea/gitea/issues/34602)) [#&#8203;34670](https://.com/go-gitea/gitea/issues/34670)

- MISC

  - Bump to alpine 3.22 ([#&#8203;34613](https://.com/go-gitea/gitea/issues/34613))
  - Make pull request and issue history more compact ([#&#8203;34588](https://.com/go-gitea/gitea/issues/34588))
  - Run integration tests against postgres 14 ([#&#8203;34514](https://.com/go-gitea/gitea/issues/34514)) [#&#8203;34536](https://.com/go-gitea/gitea/issues/34536)
  - Enable addtional linters ([#&#8203;34085](https://.com/go-gitea/gitea/issues/34085))
  - Enable testifylint rules ([#&#8203;34075](https://.com/go-gitea/gitea/issues/34075))
  - Enable staticcheck QFxxxx rules ([#&#8203;34064](https://.com/go-gitea/gitea/issues/34064))
  - Improve Actions test ([#&#8203;32883](https://.com/go-gitea/gitea/issues/32883))
  - Drop fomantic build ([#&#8203;33845](https://.com/go-gitea/gitea/issues/33845))
  - Go1.24 ([#&#8203;33562](https://.com/go-gitea/gitea/issues/33562))
  - Run yamllint with strict mode, fix issue ([#&#8203;33551](https://.com/go-gitea/gitea/issues/33551))
  - Disable cron task to update license ([#&#8203;33486](https://.com/go-gitea/gitea/issues/33486))
  - Optimize makefile help information generation ([#&#8203;33390](https://.com/go-gitea/gitea/issues/33390))
  - Convert .com/xanzy/go-gitlab into gitlab.com/gitlab-org/api/client-go ([#&#8203;33126](https://.com/go-gitea/gitea/issues/33126))
  - Add missed changelogs ([#&#8203;33649](https://.com/go-gitea/gitea/issues/33649))
  - Update .changelog file to add performance label group ([#&#8203;33472](https://.com/go-gitea/gitea/issues/33472))
  - Add missing POPULATE\_SQUASH\_COMMENT\_WITH\_COMMIT\_MESSAGES in app.example.ini ([#&#8203;33363](https://.com/go-gitea/gitea/issues/33363))
  - Update README screenshots ([#&#8203;33347](https://.com/go-gitea/gitea/issues/33347))
  - Update unrs-resolver ([#&#8203;34279](https://.com/go-gitea/gitea/issues/34279))
  - Update go\&js dependencies ([#&#8203;34262](https://.com/go-gitea/gitea/issues/34262))
  - Optimize the calling code of queryElems ([#&#8203;34235](https://.com/go-gitea/gitea/issues/34235))
  - Update protected\_branch.tmpl ([#&#8203;34193](https://.com/go-gitea/gitea/issues/34193))
  - Feat/optimize span svg layout ([#&#8203;34185](https://.com/go-gitea/gitea/issues/34185))
  - Set MERMAID\_MAX\_SOURCE\_CHARACTERS to 50000 ([#&#8203;34152](https://.com/go-gitea/gitea/issues/34152))
  - Update JS and PY deps ([#&#8203;34143](https://.com/go-gitea/gitea/issues/34143))
  - Add Chinese translations for README files ([#&#8203;34132](https://.com/go-gitea/gitea/issues/34132))
  - Use `overflow-wrap: anywhere` to replace `word-break: break-all` ([#&#8203;34126](https://.com/go-gitea/gitea/issues/34126))
  - Clarify ownership in password change error messages ([#&#8203;34092](https://.com/go-gitea/gitea/issues/34092))
  - Add toggleClass function in dom.ts ([#&#8203;34063](https://.com/go-gitea/gitea/issues/34063))
  - Update to golangci-lint v2 ([#&#8203;34054](https://.com/go-gitea/gitea/issues/34054))
  - Update Makefile test comments ([#&#8203;34013](https://.com/go-gitea/gitea/issues/34013))
  - Update go mod dependencies ([#&#8203;33988](https://.com/go-gitea/gitea/issues/33988))
  - Use filepath.Join instead of path.Join for file system file operations ([#&#8203;33978](https://.com/go-gitea/gitea/issues/33978))
  - Prepare common tmpl functions in a middleware ([#&#8203;33957](https://.com/go-gitea/gitea/issues/33957))
  - Remove unused or abused styles ([#&#8203;33918](https://.com/go-gitea/gitea/issues/33918))
  - Update JS and PY deps, misc tweaks ([#&#8203;33903](https://.com/go-gitea/gitea/issues/33903))
  - Try to figure out attribute checker problem ([#&#8203;33901](https://.com/go-gitea/gitea/issues/33901))
  - Add lock for a repository pull mirror ([#&#8203;33876](https://.com/go-gitea/gitea/issues/33876))
  - Fine tune push mirror UI ([#&#8203;33866](https://.com/go-gitea/gitea/issues/33866))
  - Improve issue & code search ([#&#8203;33860](https://.com/go-gitea/gitea/issues/33860))
  - Use pullrequestlist instead of \[]\*pullrequest ([#&#8203;33765](https://.com/go-gitea/gitea/issues/33765))
  - Upgrade act to 0.261.4 and actions-proto-go to v0.4.1 ([#&#8203;33760](https://.com/go-gitea/gitea/issues/33760))
  - Align sidebar gears to the right ([#&#8203;33721](https://.com/go-gitea/gitea/issues/33721))
  - Update Go dependencies (skip blevesearch, meilisearch) ([#&#8203;33655](https://.com/go-gitea/gitea/issues/33655))
  - Add migrations and doctor fixes ([#&#8203;33556](https://.com/go-gitea/gitea/issues/33556))
  - Remove "class-name" from svg icon ([#&#8203;33540](https://.com/go-gitea/gitea/issues/33540))
  - Update MAINTAINERS ([#&#8203;33529](https://.com/go-gitea/gitea/issues/33529))
  - Add "No data available" display when list is empty ([#&#8203;33517](https://.com/go-gitea/gitea/issues/33517))
  - Use `git diff-tree` for `DiffFileTree` on diff pages ([#&#8203;33514](https://.com/go-gitea/gitea/issues/33514))
  - Give organisation members access to organisation feeds ([#&#8203;33508](https://.com/go-gitea/gitea/issues/33508))
  - Update feishu icon ([#&#8203;33470](https://.com/go-gitea/gitea/issues/33470))
  - Hide/disable unusable UI elements when a repository is archived ([#&#8203;33459](https://.com/go-gitea/gitea/issues/33459))
  - Update `@/text-expander-element` to 2.9.0 ([#&#8203;33435](https://.com/go-gitea/gitea/issues/33435))
  - Do not access GitRepo when a repo is being created ([#&#8203;33380](https://.com/go-gitea/gitea/issues/33380))
  - Fix incorrect ref usages ([#&#8203;33301](https://.com/go-gitea/gitea/issues/33301))
  - Prepare for support performance trace ([#&#8203;33286](https://.com/go-gitea/gitea/issues/33286))
  - Enable Typescript `noImplicitThis` ([#&#8203;33250](https://.com/go-gitea/gitea/issues/33250))
  - Remove unused CSS styles and move some styles to proper files ([#&#8203;33217](https://.com/go-gitea/gitea/issues/33217))
  - Add .run to gitignore ([#&#8203;33175](https://.com/go-gitea/gitea/issues/33175))
  - Fix typo in gitea downloader test and add missing codebase in `ToGitServiceType` ([#&#8203;33146](https://.com/go-gitea/gitea/issues/33146))
  - Remove extended glob pattern from branch protection UI ([#&#8203;33125](https://.com/go-gitea/gitea/issues/33125))
  - Clean up legacy form CSS styles ([#&#8203;33081](https://.com/go-gitea/gitea/issues/33081))
  - Unset XDG\_HOME\_CONFIG as gitea manages configuration locations ([#&#8203;33067](https://.com/go-gitea/gitea/issues/33067))
  - Add IntelliJ Gateway's .uuid to gitignore ([#&#8203;33052](https://.com/go-gitea/gitea/issues/33052))
  - User facing messages for AGit errors ([#&#8203;33012](https://.com/go-gitea/gitea/issues/33012))
  - Always show assignees on right ([#&#8203;33006](https://.com/go-gitea/gitea/issues/33006))
  - Fix eslint ([#&#8203;33002](https://.com/go-gitea/gitea/issues/33002))
  - Update JS dependencies ([#&#8203;32914](https://.com/go-gitea/gitea/issues/32914))
  - Bump x/net ([#&#8203;32896](https://.com/go-gitea/gitea/issues/32896)) ([#&#8203;32900](https://.com/go-gitea/gitea/issues/32900))
  - Only activity tab needs heatmap data loading ([#&#8203;34652](https://.com/go-gitea/gitea/issues/34652))

### [`v1.23.8`](https://.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1238---2025-05-11)

[Compare Source](https://.com/go-gitea/gitea/compare/v1.23.7...v1.23.8)

- SECURITY
  - Fix a bug when uploading file via lfs ssh command ([#&#8203;34408](https://.com/go-gitea/gitea/issues/34408)) ([#&#8203;34411](https://.com/go-gitea/gitea/issues/34411))
  - Update net package ([#&#8203;34228](https://.com/go-gitea/gitea/issues/34228)) ([#&#8203;34232](https://.com/go-gitea/gitea/issues/34232))
- BUGFIXES
  - Fix releases sidebar navigation link ([#&#8203;34436](https://.com/go-gitea/gitea/issues/34436)) [#&#8203;34439](https://.com/go-gitea/gitea/issues/34439)
  - Fix bug webhook milestone is not right. ([#&#8203;34419](https://.com/go-gitea/gitea/issues/34419)) [#&#8203;34429](https://.com/go-gitea/gitea/issues/34429)
  - Fix two missed null value checks on the wiki page. ([#&#8203;34205](https://.com/go-gitea/gitea/issues/34205)) ([#&#8203;34215](https://.com/go-gitea/gitea/issues/34215))
  - Swift files can be passed either as file or as form value ([#&#8203;34068](https://.com/go-gitea/gitea/issues/34068)) ([#&#8203;34236](https://.com/go-gitea/gitea/issues/34236))
  - Fix bug when API get pull changed files for deleted head repository ([#&#8203;34333](https://.com/go-gitea/gitea/issues/34333)) ([#&#8203;34368](https://.com/go-gitea/gitea/issues/34368))
  - Upgrade  v61 -> v71 to fix migrating bug ([#&#8203;34389](https://.com/go-gitea/gitea/issues/34389))
  - Fix bug when visiting comparation page ([#&#8203;34334](https://.com/go-gitea/gitea/issues/34334)) ([#&#8203;34364](https://.com/go-gitea/gitea/issues/34364))
  - Fix wrong review requests when updating the pull request ([#&#8203;34286](https://.com/go-gitea/gitea/issues/34286)) ([#&#8203;34304](https://.com/go-gitea/gitea/issues/34304))
  - Fix  migration error when using multiple tokens ([#&#8203;34144](https://.com/go-gitea/gitea/issues/34144)) ([#&#8203;34302](https://.com/go-gitea/gitea/issues/34302))
  - Explicitly not update indexes when sync database schemas ([#&#8203;34281](https://.com/go-gitea/gitea/issues/34281)) ([#&#8203;34295](https://.com/go-gitea/gitea/issues/34295))
  - Fix panic when comment is nil ([#&#8203;34257](https://.com/go-gitea/gitea/issues/34257)) ([#&#8203;34277](https://.com/go-gitea/gitea/issues/34277))
  - Fix project board links to related Pull Requests ([#&#8203;34213](https://.com/go-gitea/gitea/issues/34213)) ([#&#8203;34222](https://.com/go-gitea/gitea/issues/34222))
  - Don't assume the default wiki branch is master in the wiki API ([#&#8203;34244](https://.com/go-gitea/gitea/issues/34244)) ([#&#8203;34245](https://.com/go-gitea/gitea/issues/34245))
- DOCUMENTATION
  - Update token creation API swagger documentation ([#&#8203;34288](https://.com/go-gitea/gitea/issues/34288)) ([#&#8203;34296](https://.com/go-gitea/gitea/issues/34296))
- MISC
  - Fix CI Build ([#&#8203;34315](https://.com/go-gitea/gitea/issues/34315))
  - Add riscv64 support ([#&#8203;34199](https://.com/go-gitea/gitea/issues/34199)) ([#&#8203;34204](https://.com/go-gitea/gitea/issues/34204))
  - Bump go version in go.mod ([#&#8203;34160](https://.com/go-gitea/gitea/issues/34160))
  - remove hardcoded 'code' string in clone\_panel.tmpl ([#&#8203;34153](https://.com/go-gitea/gitea/issues/34153)) ([#&#8203;34158](https://.com/go-gitea/gitea/issues/34158))

### [`v1.23.7`](https://.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1237---2025-04-07)

[Compare Source](https://.com/go-gitea/gitea/compare/v1.23.6...v1.23.7)

- Enhancements
  - Add a config option to block "expensive" pages for anonymous users ([#&#8203;34024](https://.com/go-gitea/gitea/issues/34024)) ([#&#8203;34071](https://.com/go-gitea/gitea/issues/34071))
  - Also check default ssh-cert location for host ([#&#8203;34099](https://.com/go-gitea/gitea/issues/34099)) ([#&#8203;34100](https://.com/go-gitea/gitea/issues/34100)) ([#&#8203;34116](https://.com/go-gitea/gitea/issues/34116))
- BUGFIXES
  - Fix discord webhook 400 status code when description limit is exceeded ([#&#8203;34084](https://.com/go-gitea/gitea/issues/34084)) ([#&#8203;34124](https://.com/go-gitea/gitea/issues/34124))
  - Get changed files based on merge base when checking `pull_request` actions trigger ([#&#8203;34106](https://.com/go-gitea/gitea/issues/34106)) ([#&#8203;34120](https://.com/go-gitea/gitea/issues/34120))
  - Fix invalid version in RPM package path ([#&#8203;34112](https://.com/go-gitea/gitea/issues/34112)) ([#&#8203;34115](https://.com/go-gitea/gitea/issues/34115))
  - Return default avatar url when user id is zero rather than updating database ([#&#8203;34094](https://.com/go-gitea/gitea/issues/34094)) ([#&#8203;34095](https://.com/go-gitea/gitea/issues/34095))
  - Add additional ReplaceAll in pathsep to cater for different pathsep ([#&#8203;34061](https://.com/go-gitea/gitea/issues/34061)) ([#&#8203;34070](https://.com/go-gitea/gitea/issues/34070))
  - Try to fix check-attr bug ([#&#8203;34029](https://.com/go-gitea/gitea/issues/34029)) ([#&#8203;34033](https://.com/go-gitea/gitea/issues/34033))
  - Git client will follow 301 but 307 ([#&#8203;34005](https://.com/go-gitea/gitea/issues/34005)) ([#&#8203;34010](https://.com/go-gitea/gitea/issues/34010))
  - Fix block expensive for 1.23 ([#&#8203;34127](https://.com/go-gitea/gitea/issues/34127))
  - Fix markdown frontmatter rendering ([#&#8203;34102](https://.com/go-gitea/gitea/issues/34102)) ([#&#8203;34107](https://.com/go-gitea/gitea/issues/34107))
  - Add new CLI flags to set name and scopes when creating a user with access token ([#&#8203;34080](https://.com/go-gitea/gitea/issues/34080)) ([#&#8203;34103](https://.com/go-gitea/gitea/issues/34103))
  - Do not show 500 error when default branch doesn't exist ([#&#8203;34096](https://.com/go-gitea/gitea/issues/34096)) ([#&#8203;34097](https://.com/go-gitea/gitea/issues/34097))
  - Hide activity contributors, recent commits and code frequrency left tabs if there is no code permission ([#&#8203;34053](https://.com/go-gitea/gitea/issues/34053)) ([#&#8203;34065](https://.com/go-gitea/gitea/issues/34065))
  - Simplify emoji rendering ([#&#8203;34048](https://.com/go-gitea/gitea/issues/34048)) ([#&#8203;34049](https://.com/go-gitea/gitea/issues/34049))
  - Adjust the layout of the toolbar on the Issues/Projects page ([#&#8203;33667](https://.com/go-gitea/gitea/issues/33667)) ([#&#8203;34047](https://.com/go-gitea/gitea/issues/34047))
  - Pull request updates will also trigger code owners review requests ([#&#8203;33744](https://.com/go-gitea/gitea/issues/33744)) ([#&#8203;34045](https://.com/go-gitea/gitea/issues/34045))
  - Fix org repo creation being limited by user limits ([#&#8203;34030](https://.com/go-gitea/gitea/issues/34030)) ([#&#8203;34044](https://.com/go-gitea/gitea/issues/34044))
  - Fix git client accessing renamed repo ([#&#8203;34034](https://.com/go-gitea/gitea/issues/34034)) ([#&#8203;34043](https://.com/go-gitea/gitea/issues/34043))
  - Fix the issue with error message logging for the `check-attr` command on Windows OS. ([#&#8203;34035](https://.com/go-gitea/gitea/issues/34035)) ([#&#8203;34036](https://.com/go-gitea/gitea/issues/34036))
  - Polyfill WeakRef ([#&#8203;34025](https://.com/go-gitea/gitea/issues/34025)) ([#&#8203;34028](https://.com/go-gitea/gitea/issues/34028))

### [`v1.23.6`](https://.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1236---2025-03-24)

[Compare Source](https://.com/go-gitea/gitea/compare/v1.23.5...v1.23.6)

- SECURITY
  - Fix LFS URL ([#&#8203;33840](https://.com/go-gitea/gitea/issues/33840)) ([#&#8203;33843](https://.com/go-gitea/gitea/issues/33843))
  - Update jwt and redis packages ([#&#8203;33984](https://.com/go-gitea/gitea/issues/33984)) ([#&#8203;33987](https://.com/go-gitea/gitea/issues/33987))
  - Update golang crypto and net ([#&#8203;33989](https://.com/go-gitea/gitea/issues/33989))
- BUGFIXES
  - Drop timeout for requests made to the internal hook api ([#&#8203;33947](https://.com/go-gitea/gitea/issues/33947)) ([#&#8203;33970](https://.com/go-gitea/gitea/issues/33970))
  - Fix maven panic when no package exists ([#&#8203;33888](https://.com/go-gitea/gitea/issues/33888)) ([#&#8203;33889](https://.com/go-gitea/gitea/issues/33889))
  - Fix markdown render ([#&#8203;33870](https://.com/go-gitea/gitea/issues/33870)) ([#&#8203;33875](https://.com/go-gitea/gitea/issues/33875))
  - Fix auto concurrency cancellation skips commit status updates ([#&#8203;33764](https://.com/go-gitea/gitea/issues/33764)) ([#&#8203;33849](https://.com/go-gitea/gitea/issues/33849))
  - Fix oauth2 auth ([#&#8203;33961](https://.com/go-gitea/gitea/issues/33961)) ([#&#8203;33962](https://.com/go-gitea/gitea/issues/33962))
  - Fix incorrect 1.23 translations ([#&#8203;33932](https://.com/go-gitea/gitea/issues/33932))
  - Try to figure out attribute checker problem ([#&#8203;33901](https://.com/go-gitea/gitea/issues/33901)) ([#&#8203;33902](https://.com/go-gitea/gitea/issues/33902))
  - Ignore trivial errors when updating push data ([#&#8203;33864](https://.com/go-gitea/gitea/issues/33864)) ([#&#8203;33887](https://.com/go-gitea/gitea/issues/33887))
  - Fix some UI problems for 1.23 ([#&#8203;33856](https://.com/go-gitea/gitea/issues/33856))
  - Removing unwanted ui container ([#&#8203;33833](https://.com/go-gitea/gitea/issues/33833)) ([#&#8203;33835](https://.com/go-gitea/gitea/issues/33835))
  - Support disable passkey auth ([#&#8203;33348](https://.com/go-gitea/gitea/issues/33348)) ([#&#8203;33819](https://.com/go-gitea/gitea/issues/33819))
  - Do not call "git diff" when listing PRs ([#&#8203;33817](https://.com/go-gitea/gitea/issues/33817))
  - Try to fix ACME (3rd) ([#&#8203;33807](https://.com/go-gitea/gitea/issues/33807)) ([#&#8203;33808](https://.com/go-gitea/gitea/issues/33808))
  - Fix incorrect code search indexer options ([#&#8203;33992](https://.com/go-gitea/gitea/issues/33992)) [#&#8203;33999](https://.com/go-gitea/gitea/issues/33999)

### [`v1.23.5`](https://.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1235---2025-03-04)

[Compare Source](https://.com/go-gitea/gitea/compare/v1.23.4...v1.23.5)

- SECURITY
  - Bump x/oauth2 & x/crypto ([#&#8203;33704](https://.com/go-gitea/gitea/issues/33704)) ([#&#8203;33727](https://.com/go-gitea/gitea/issues/33727))
- PERFORMANCE
  - Optimize user dasard loading ([#&#8203;33686](https://.com/go-gitea/gitea/issues/33686)) ([#&#8203;33708](https://.com/go-gitea/gitea/issues/33708))
- BUGFIXES
  - Fix navbar dropdown item align ([#&#8203;33782](https://.com/go-gitea/gitea/issues/33782))
  - Fix inconsistent closed issue list icon ([#&#8203;33722](https://.com/go-gitea/gitea/issues/33722)) ([#&#8203;33728](https://.com/go-gitea/gitea/issues/33728))
  - Fix for Maven Package Naming Convention Handling ([#&#8203;33678](https://.com/go-gitea/gitea/issues/33678)) ([#&#8203;33679](https://.com/go-gitea/gitea/issues/33679))
  - Improve Open-with URL encoding ([#&#8203;33666](https://.com/go-gitea/gitea/issues/33666)) ([#&#8203;33680](https://.com/go-gitea/gitea/issues/33680))
  - Deleting repository should unlink all related packages ([#&#8203;33653](https://.com/go-gitea/gitea/issues/33653)) ([#&#8203;33673](https://.com/go-gitea/gitea/issues/33673))
  - Fix omitempty bug ([#&#8203;33663](https://.com/go-gitea/gitea/issues/33663)) ([#&#8203;33670](https://.com/go-gitea/gitea/issues/33670))
  - Upgrade go-crypto from 1.1.4 to 1.1.6 ([#&#8203;33745](https://.com/go-gitea/gitea/issues/33745)) ([#&#8203;33754](https://.com/go-gitea/gitea/issues/33754))
  - Fix OCI image.version annotation for releases to use full semver ([#&#8203;33698](https://.com/go-gitea/gitea/issues/33698)) ([#&#8203;33701](https://.com/go-gitea/gitea/issues/33701))
  - Try to fix ACME path when renew ([#&#8203;33668](https://.com/go-gitea/gitea/issues/33668)) ([#&#8203;33693](https://.com/go-gitea/gitea/issues/33693))
  - Fix mCaptcha bug ([#&#8203;33659](https://.com/go-gitea/gitea/issues/33659)) ([#&#8203;33661](https://.com/go-gitea/gitea/issues/33661))
  - Git graph: don't show detached commits ([#&#8203;33645](https://.com/go-gitea/gitea/issues/33645)) ([#&#8203;33650](https://.com/go-gitea/gitea/issues/33650))
  - Use MatchPhraseQuery for bleve code search ([#&#8203;33628](https://.com/go-gitea/gitea/issues/33628))
  - Adjust appearence of commit status webhook ([#&#8203;33778](https://.com/go-gitea/gitea/issues/33778)) [#&#8203;33789](https://.com/go-gitea/gitea/issues/33789)
  - Upgrade golang net from 0.35.0 -> 0.36.0 ([#&#8203;33795](https://.com/go-gitea/gitea/issues/33795)) [#&#8203;33796](https://.com/go-gitea/gitea/issues/33796)

### [`v1.23.4`](https://.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1234---2025-02-16)

[Compare Source](https://.com/go-gitea/gitea/compare/v1.23.3...v1.23.4)

- SECURITY
  - Enhance routers for the Actions variable operations ([#&#8203;33547](https://.com/go-gitea/gitea/issues/33547)) ([#&#8203;33553](https://.com/go-gitea/gitea/issues/33553))
  - Enhance routers for the Actions runner operations ([#&#8203;33549](https://.com/go-gitea/gitea/issues/33549)) ([#&#8203;33555](https://.com/go-gitea/gitea/issues/33555))
  - Fix project issues list and counting ([#&#8203;33594](https://.com/go-gitea/gitea/issues/33594)) [#&#8203;33619](https://.com/go-gitea/gitea/issues/33619)
- PERFORMANCES
  - Performance optimization for pull request files loading comments attachments ([#&#8203;33585](https://.com/go-gitea/gitea/issues/33585)) ([#&#8203;33592](https://.com/go-gitea/gitea/issues/33592))
- BUGFIXES
  - Add a transaction to `pickTask` ([#&#8203;33543](https://.com/go-gitea/gitea/issues/33543)) ([#&#8203;33563](https://.com/go-gitea/gitea/issues/33563))
  - Fix mirror bug ([#&#8203;33597](https://.com/go-gitea/gitea/issues/33597)) ([#&#8203;33607](https://.com/go-gitea/gitea/issues/33607))
  - Use default Git timeout when checking repo health ([#&#8203;33593](https://.com/go-gitea/gitea/issues/33593)) ([#&#8203;33598](https://.com/go-gitea/gitea/issues/33598))
  - Fix PR's target branch dropdown ([#&#8203;33589](https://.com/go-gitea/gitea/issues/33589)) ([#&#8203;33591](https://.com/go-gitea/gitea/issues/33591))
  - Fix various problems (artifact order, api empty slice, assignee check, fuzzy prompt, mirror proxy, adopt git) ([#&#8203;33569](https://.com/go-gitea/gitea/issues/33569)) ([#&#8203;33577](https://.com/go-gitea/gitea/issues/33577))
  - Rework suggestion backend ([#&#8203;33538](https://.com/go-gitea/gitea/issues/33538)) ([#&#8203;33546](https://.com/go-gitea/gitea/issues/33546))
  - Fix context usage ([#&#8203;33554](https://.com/go-gitea/gitea/issues/33554)) ([#&#8203;33557](https://.com/go-gitea/gitea/issues/33557))
  - Only show the latest version in the Arch index ([#&#8203;33262](https://.com/go-gitea/gitea/issues/33262)) ([#&#8203;33580](https://.com/go-gitea/gitea/issues/33580))
  - Skip deletion error for action artifacts ([#&#8203;33476](https://.com/go-gitea/gitea/issues/33476)) ([#&#8203;33568](https://.com/go-gitea/gitea/issues/33568))
  - Make actions URL in commit status webhooks absolute ([#&#8203;33620](https://.com/go-gitea/gitea/issues/33620)) [#&#8203;33632](https://.com/go-gitea/gitea/issues/33632)
  - Add missing locale ([#&#8203;33641](https://.com/go-gitea/gitea/issues/33641)) [#&#8203;33642](https://.com/go-gitea/gitea/issues/33642)

### [`v1.23.3`](https://.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1233---2025-02-06)

[Compare Source](https://.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 [#&#8203;33512](https://.com/go-gitea/gitea/issues/33512)

### [`v1.23.2`](https://.com/go-gitea/gitea/blob/HEAD/CHANGELOG.md#1232---2025-02-04)

[Compare Source](https://.com/go-gitea/gitea/compare/v1.23.1...v1.23.2)

- BREAKING
  - Add tests for webhook and fix some webhook bugs ([#&#8203;33396](https://.com/go-gitea/gitea/issues/33396)) ([#&#8203;33442](https://.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 ([#&#8203;33362](https://.com/go-gitea/gitea/issues/33362)) ([#&#8203;33404](https://.com/go-gitea/gitea/issues/33404))
  - Repo homepage styling tweaks ([#&#8203;33289](https://.com/go-gitea/gitea/issues/33289)) ([#&#8203;33381](https://.com/go-gitea/gitea/issues/33381))
  - Add a confirm dialog for "sync fork" ([#&#8203;33270](https://.com/go-gitea/gitea/issues/33270)) ([#&#8203;33273](https://.com/go-gitea/gitea/issues/33273))
  - Make tracked time representation display as hours ([#&#8203;33315](https://.com/go-gitea/gitea/issues/33315)) ([#&#8203;33334](https://.com/go-gitea/gitea/issues/33334))
  - Improve sync fork behavior ([#&#8203;33319](https://.com/go-gitea/gitea/issues/33319)) ([#&#8203;33332](https://.com/go-gitea/gitea/issues/33332))
- BUGFIXES
  - Fix code button alignment ([#&#8203;33345](https://.com/go-gitea/gitea/issues/33345)) ([#&#8203;33351](https://.com/go-gitea/gitea/issues/33351))
  - Correct bot label `vertical-align` ([#&#8203;33477](https://.com/go-gitea/gitea/issues/33477)) ([#&#8203;33480](https://.com/go-gitea/gitea/issues/33480))
  - Fix SSH LFS memory usage ([#&#8203;33455](https://.com/go-gitea/gitea/issues/33455)) ([#&#8203;33460](https://.com/go-gitea/gitea/issues/33460))
  - Fix issue sidebar dropdown keyboard support ([#&#8203;33447](https://.com/go-gitea/gitea/issues/33447)) ([#&#8203;33450](https://.com/go-gitea/gitea/issues/33450))
  - Fix user avatar ([#&#8203;33439](https://.com/go-gitea/gitea/issues/33439))
  - Fix `GetCommitBranchStart` bug ([#&#8203;33298](https://.com/go-gitea/gitea/issues/33298)) ([#&#8203;33421](https://.com/go-gitea/gitea/issues/33421))
  - Add pubdate for repository rss and add some tests ([#&#8203;33411](https://.com/go-gitea/gitea/issues/33411)) ([#&#8203;33416](https://.com/go-gitea/gitea/issues/33416))
  - Add missed auto merge feed message on dasard ([#&#8203;33309](https://.com/go-gitea/gitea/issues/33309)) ([#&#8203;33405](https://.com/go-gitea/gitea/issues/33405))
  - Fix issue suggestion bug ([#&#8203;33389](https://.com/go-gitea/gitea/issues/33389)) ([#&#8203;33391](https://.com/go-gitea/gitea/issues/33391))
  - Make issue suggestion work for all editors ([#&#8203;33340](https://.com/go-gitea/gitea/issues/33340)) ([#&#8203;33342](https://.com/go-gitea/gitea/issues/33342))
  - Fix issue count ([#&#8203;33338](https://.com/go-gitea/gitea/issues/33338)) ([#&#8203;33341](https://.com/go-gitea/gitea/issues/33341))
  - Fix Account linking page ([#&#8203;33325](https://.com/go-gitea/gitea/issues/33325)) ([#&#8203;33327](https://.com/go-gitea/gitea/issues/33327))
  - Fix closed dependency title ([#&#8203;33285](https://.com/go-gitea/gitea/issues/33285)) ([#&#8203;33287](https://.com/go-gitea/gitea/issues/33287))
  - Fix sidebar milestone link ([#&#8203;33269](https://.com/go-gitea/gitea/issues/33269)) ([#&#8203;33272](https://.com/go-gitea/gitea/issues/33272))
  - Fix missing license when sync mirror ([#&#8203;33255](https://.com/go-gitea/gitea/issues/33255)) ([#&#8203;33258](https://.com/go-gitea/gitea/issues/33258))
  - Fix upload file form ([#&#8203;33230](https://.com/go-gitea/gitea/issues/33230)) ([#&#8203;33233](https://.com/go-gitea/gitea/issues/33233))
  - Fix mirror bug ([#&#8203;33224](https://.com/go-gitea/gitea/issues/33224)) ([#&#8203;33225](https://git…
Sign up for free to join this conversation on . Already have an account? Sign in to comment
lgtm/doneThis PR has enough approvals to get merged. There are no important open reservations anymore.modifies/frontend type/bug
None yet

Successfully merging this pull request may close these issues.