diff --git a/CHANGELOG.md b/CHANGELOG.md
index b72ac4849aa80..d672fc30b9615 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,207 @@ This changelog goes through the changes that have been made in each release
without substantial changes to our git log; to see the highlights of what has
been added to each release, please refer to the [blog](https://blog.gitea.com).
+## [1.25.0-rc0](https://github.com/go-gitea/gitea/releases/tag/1.25.0-rc0) - 2025-09-24
+
+* 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)
+
## [1.24.0](https://github.com/go-gitea/gitea/releases/tag/1.24.0) - 2025-05-26
* BREAKING
diff --git a/public/assets/img/svg/octicon-running.svg b/public/assets/img/svg/octicon-running.svg
new file mode 100644
index 0000000000000..7759ccf0d3d6b
--- /dev/null
+++ b/public/assets/img/svg/octicon-running.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/templates/repo/actions/status.tmpl b/templates/repo/actions/status.tmpl
index f2020bc160f69..e1e2e47df70eb 100644
--- a/templates/repo/actions/status.tmpl
+++ b/templates/repo/actions/status.tmpl
@@ -12,11 +12,11 @@
{{else if eq .status "cancelled"}}
{{svg "octicon-stop" $size (printf "text grey %s" $className)}}
{{else if eq .status "waiting"}}
- {{svg "octicon-clock" $size (printf "text yellow %s" $className)}}
+ {{svg "octicon-circle" $size (printf "text grey %s" $className)}}
{{else if eq .status "blocked"}}
{{svg "octicon-blocked" $size (printf "text yellow %s" $className)}}
{{else if eq .status "running"}}
- {{svg "octicon-meter" $size (printf "text yellow circular-spin %s" $className)}}
+ {{svg "octicon-running" $size (printf "text yellow circular-spin %s" $className)}}
{{else}}{{/*failure, unknown*/}}
{{svg "octicon-x-circle-fill" $size (printf "text red %s" $className)}}
{{end}}
diff --git a/web_src/js/components/ActionRunStatus.vue b/web_src/js/components/ActionRunStatus.vue
index bc3b99ab893e3..3f004e43ac81c 100644
--- a/web_src/js/components/ActionRunStatus.vue
+++ b/web_src/js/components/ActionRunStatus.vue
@@ -22,9 +22,9 @@ withDefaults(defineProps<{
-
+
-
+
diff --git a/web_src/js/svg.ts b/web_src/js/svg.ts
index d3da9ca053e94..f374acd6cb9cb 100644
--- a/web_src/js/svg.ts
+++ b/web_src/js/svg.ts
@@ -15,6 +15,7 @@ import octiconCheckCircleFill from '../../public/assets/img/svg/octicon-check-ci
import octiconChevronDown from '../../public/assets/img/svg/octicon-chevron-down.svg';
import octiconChevronLeft from '../../public/assets/img/svg/octicon-chevron-left.svg';
import octiconChevronRight from '../../public/assets/img/svg/octicon-chevron-right.svg';
+import octiconCircle from '../../public/assets/img/svg/octicon-circle.svg';
import octiconClock from '../../public/assets/img/svg/octicon-clock.svg';
import octiconCode from '../../public/assets/img/svg/octicon-code.svg';
import octiconColumns from '../../public/assets/img/svg/octicon-columns.svg';
@@ -63,6 +64,7 @@ import octiconRepo from '../../public/assets/img/svg/octicon-repo.svg';
import octiconRepoForked from '../../public/assets/img/svg/octicon-repo-forked.svg';
import octiconRepoTemplate from '../../public/assets/img/svg/octicon-repo-template.svg';
import octiconRss from '../../public/assets/img/svg/octicon-rss.svg';
+import octiconRunning from '../../public/assets/img/svg/octicon-running.svg';
import octiconScreenFull from '../../public/assets/img/svg/octicon-screen-full.svg';
import octiconSearch from '../../public/assets/img/svg/octicon-search.svg';
import octiconSidebarCollapse from '../../public/assets/img/svg/octicon-sidebar-collapse.svg';
@@ -94,6 +96,7 @@ const svgs = {
'octicon-chevron-down': octiconChevronDown,
'octicon-chevron-left': octiconChevronLeft,
'octicon-chevron-right': octiconChevronRight,
+ 'octicon-circle': octiconCircle,
'octicon-clock': octiconClock,
'octicon-code': octiconCode,
'octicon-columns': octiconColumns,
@@ -142,6 +145,7 @@ const svgs = {
'octicon-repo-forked': octiconRepoForked,
'octicon-repo-template': octiconRepoTemplate,
'octicon-rss': octiconRss,
+ 'octicon-running': octiconRunning,
'octicon-screen-full': octiconScreenFull,
'octicon-search': octiconSearch,
'octicon-sidebar-collapse': octiconSidebarCollapse,