Skip to content
* BREAKING
  * Return 201 Created for CreateVariable API responses (#34517)
  * Add label 'state' to metric 'gitea_users' (#34326)
* SECURITY
  * Upgrade security public key (#34956)
* FEATURES
  * Stream repo zip/tar.gz/bundle achives by default (#35487)
  * Use configurable remote name for git commands (#35172)
  * Send email on Workflow Run Success/Failure (#34982)
  * Refactor OpenIDConnect to support SSH/FullName sync (#34978)
  * Refactor repo contents API and add "contents-ext" API (#34822)
  * Add support for 3D/CAD file formats preview (#34794)
  * Improve instance wide ssh commit signing (#34341)
  * Edit file workflow for creating a fork and proposing changes (#34240)
  * Follow file symlinks in the UI to their target (#28835)
  * Allow renaming/moving binary/LFS files in the UI (#34350)
* PERFORMANCE
  * Improve the performance when detecting the file editable (#34653)
* ENHANCEMENTS
  * Enable more markdown paste features in textarea editor (#35494)
  * Don't store repo archives on `gitea dump` (#35467)
  * Always return the relevant status information, even if no status exists. (#35335)
  * Add start time on perf trace because it seems some steps haven't been recorded. (#35282)
  * Remove deprecated auth sources (#35272)
  * When sorting issues by nearest due date, issues without due date should be sorted ascending (#35267)
  * Disable field count validation of CSV viewer (#35228)
  * Add `has_code` to repository REST API (#35214)
  * Display pull request in merged commit view (#35202)
  * Support Basic Authentication for archive downloads (#35087)
  * Add hover background to table rows in user and repo admin page (#35072)
  * Partially refresh notifications list (#35010)
  * Also display "recently pushed branch" alert on PR view (#35001)
  * Refactor time tracker UI (#34983)
  * Improve CLI commands (#34973)
  * Improve project & label color picker and image scroll (#34971)
  * Improve NuGet API Parity (#21291) (#34940)
  * Support getting last commit message using contents-ext API (#34904)
  * Adds title on branch commit counts (#34869)
  * Add "Cancel workflow run" button to Actions list page (#34817)
  * Improve img lazy loading (#34804)
  * Forks repository list page follow other repositories page (#34784)
  * Add ff_only parameter to POST /repos/{owner}/{repo}/merge-upstream (#34770)
  * Rework delete org and rename org UI (#34762)
  * Improve nuget/rubygems package registries (#34741)
  * Add repo file tree item link behavior (#34730)
  * Add issue delete notifier (#34592)
  * Improve Actions list (#34530)
  * Add a default tab on repo header when migrating (#34503)
  * Add post-installation redirect based on admin account status (#34493)
  * Trigger 'unlabeled' event when label is Deleted from PR (#34316)
  * Support annotated tags when using create release API (#31840)
  * Use lfs label for lfs file rather than a long description (#34363)
  * Add "View workflow file" to Actions list page (#34538)
  * Move organization's visibility change to danger zone. (#34814)
* BUGFIXES
  * Fix different behavior in status check pattern matching with double stars (#35474)
  * Fix overflow in notifications list (#35446)
  * Fix package link setting can only list limited repositories (#35394)
  * Extend comment treepath length (#35389)
  * Fix font-size in inline code comment preview (#35209)
  * Move git config/remote to gitrepo package and add global lock to resolve possible conflict when updating repository git config file (#35151)
  * Change some columns from text to longtext and fix column wrong type caused by xorm (#35141)
  * Redirect to a presigned URL of HEAD for HEAD requests (#35088)
  * Fix git commit committer parsing and add some tests (#35007)
  * Fix OCI manifest parser (#34797)
  * Refactor FindOrgOptions to use enum instead of bool, fix membership visibility (#34629)
  * Fix notification count positioning for variable-width elements (#34597)
  * Keeping consistent between UI and API about combined commit status state and fix some bugs (#34562)
  * Fix possible panic (#34508)
  * Fix autofocus behavior (#34397)
  * Fix Actions API (#35204)
  * Fix ListWorkflowRuns OpenAPI response model. (#35026)
  * Small fix in Pull Requests page (#34612)
  * Fix http auth header parsing (#34936)
  * Fix modal + form abuse (#34921)
  * Fix PR toggle WIP (#34920)
  * Fix log fmt (#34810)
  * Replace stopwatch toggle with explicit start/stop actions (#34818)
  * Fix some package registry problems (#34759)
  * Fix RPM package download routing & missing package version count (#34909)
  * Fix repo search input height (#34330)
  * Fix "The sidebar of the repository file list does not have a fixed height #34298" (#34321)
  * Fix minor typos in two files #HSFDPMUW (#34944)
  * Fix actions skipped commit status indicator (#34507)
  * Fix job status aggregation logic (#35000)
  * Fix broken OneDev migration caused by various REST API changes in OneDev 7.8.0 and later (#35216)
  * Fix typo in oauth2_full_name_claim_name string (#35199)
  * Fix typo in locale_en-US.ini (#35196)
* API
  * Exposing TimeEstimate field in the API (#35475)
  * UpdateBranch API supports renaming a branch (#35374)
  * Add `owner` and `parent` fields clarification to docs (#35023)
  * Improve OAuth2 provider (correct Issuer, respect ENABLED) (#34966)
  * Add a `login`/`login-name`/`username` disambiguation to affected endpoint parameters and response/request models (#34901)
  * Do not mutate incoming options to SearchRepositoryByName (#34553)
  * Do not mutate incoming options to RenderUserSearch and SearchUsers  (#34544)
  * Export repo's manual merge settings (#34502)
  * Add date range filtering to commit retrieval endpoints (#34497)
  * Add endpoint deleting workflow run (#34337)
  * Add workflow_run api + webhook (#33964)
* REFACTOR
  * Move updateref and removeref to gitrepo and remove unnecessary open repository (#35511)
  * Remove unused param `doer` (#34545)
  * Split GetLatestCommitStatus as two functions (#34535)
  * Use gitrepo.SetDefaultBranch when set default branch of wiki repository (#33911)
  * Refactor editor (#34780)
  * Refactor packages (#34777)
  * Refactor container package (#34877)
  * Refactor "change file" API (#34855)
  * Rename pull request GetGitRefName to GetGitHeadRefName to prepare introducing GetGitMergeRefName (#35093)
  * Move git command to git/gitcmd (#35483)
  * Use db.WithTx/WithTx2 instead of TxContext when possible (#35428)
  * Support Node.js 22.6 with type stripping (#35427)
  * Migrate tools and configs to typescript, require node.js >= 22.18.0 (#35421)
  * Check user and repo for redirects when using git via SSH transport (#35416)
  * Remove the duplicated function GetTags (#35375)
  * Refactor to use reflect.TypeFor (#35370)
  * Deleting branch could delete broken branch which has database record but git branch is missing (#35360)
  * Exit with success when already up to date (#35312)
  * Split admin config settings templates to make it maintain easier (#35294)
  * A small refactor to use context in the service layer (#35179)
  * Refactor and update mail templates (#35150)
  * Use db.WithTx/WithTx2 instead of TxContext when possible (#35130)
  * Align `issue-title-buttons` with `list-header` (#35018)
  * Add Notifications section in User Settings (#35008)
  * Tweak placement of diff file menu (#34999)
  * Refactor mail template and support preview (#34990)
  * Rerun job only when run is done (#34970)
  * Merge index.js (#34963)
  * Refactor "delete-button" to "link-action" (#34962)
  * Refactor webhook and fix feishu/lark secret (#34961)
  * Exclude devtest.ts from tailwindcss (#34935)
  * Refactor head navbar icons (#34922)
  * Improve html escape (#34911)
  * Improve tags list page (#34898)
  * Improve `labels-list` rendering (#34846)
  * Remove unused variable HUGO_VERSION (#34840)
  * Correct migration tab name (#34826)
  * Refactor template helper (#34819)
  * Use `shallowRef` instead of `ref` in `.vue` files where possible (#34813)
  * Use standalone function to update repository cols (#34811)
  * Refactor wiki (#34805)
  * Remove unnecessary duplicate code (#34733)
  * Refactor embedded assets and drop unnecessary dependencies (#34692)
  * Update x/crypto package and make builtin SSH use default parameters (#34667)
  * Add `--color-logo`, matching the logo's primary color (#34639)
  * Add openssh-keygen to rootless image (#34625)
  * Replace update repository function in some places (#34566)
  * Change "rejected" to "changes requested" in 3rd party PR review notification (#34481)
  * Remove legacy template helper functions (#34426)
  * Use run-name and evaluate workflow variables (#34301)
  * Move HasWiki to repository service package (#33912)
  * Move some functions from package git to gitrepo (#33910)
* TESTING
  * Add webhook test for push event (#34442)
  * Add a webhook push test for dev branch (#34421)
  * Add migrations tests (#34456) (#34498)
* STYLE
  * Enforce explanation for necessary nolints and fix bugs (#34883)
  * Fix remaining issues after `gopls modernize` formatting (#34771)
  * Update gofumpt, add go.mod ignore directive (#35434)
  * Enforce nolint scope (#34851)
  * Enable gocritic `equalFold` and fix issues (#34952)
  * Run `gopls modernize` on codebase (#34751)
  * Upgrade `gopls` to v0.19.0, add `make fix` (#34772)
* BUILD
  * Use github.com/mholt/archives replace github.com/mholt/archiver (#35390)
  * Update JS and PY dependencies (#35444)
  * Upgrade devcontainer go version to 1.24.6 (#35298)
  * Upgrade golang to 1.25.1 and add descriptions for the swagger structs' fields (#35418)
  * Update JS and PY deps (#35191)
  * Update JS and PY dependencies (#34391)
  * Update go tool dependencies (#34845)
  * Update `uint8-to-base64`, remove type stub (#34844)
  * Switch to `@resvg/resvg-wasm` for `generate-images` (#35415)
  * Switch to pnpm (#35274)
  * Update chroma to v2.20.0 (#35220)
  * Migrate to urfave v3 (#34510)
  * Update JS deps, regenerate SVGs (#34640)
  * Upgrade dependencies (#35384)
  * Bump `@github/relative-time-element` to v4.4.8 (#34413)
  * Update JS dependencies (#34951)
  * Upgrade orgmode to v1.8.0 (#34721)
  * Raise minimum Node.js version to 20, test on 24 (#34713)
  * Update JS deps (#34701)
  * Upgrade htmx to 2.0.6 (#34887)
  * Update eslint to v9 (#35485)
  * Update js dependencies (#35429)
  * Clean up npm dependencies (#35508)
  * Clean up npm dependencies (#35484)
  * Bump setup-node to v5 (#35448)
* MISC
  * Add gitignore rules to exclude LLM instruction files (#35076)
  * Gitignore: Visual Studio settings folder (#34375)
  * Improve language in en-US locale strings (#35124)
  * Fixed all grammatical errors in locale_en-US.ini (#35053)
  * Docs/fix typo and grammar in CONTRIBUTING.md (#35024)
  * Improve english grammar and readability in locale_en-US.ini (#35017)