Skip to main content

Gitea 1.25.0 is released

· 17 min read
lunny
Gitea maintainer
1.25.0Release

We are thrilled to announce the latest release of Gitea v1.25.0.

Gitea 1.25.0 brings exciting new features, performance improvements, and quality-of-life enhancements. Here are some notable changes and features in Gitea 1.25; for the full list, refer to the full release notes.

We are very thankful for the many people who have contributed to the project from sending code patches, reporting issues, translating, and in supporting us in many other ways too.

How to Update

You can download it for example from our downloads page. Please read our installation guide for more information on installation. For upgrade, as always, backup your data and then replace the binary or docker container and restart.

Special Thanks

We would like to thank all of our supporters on Open Collective who are helping to sustain the project financially.

As always, the changes are sorted descending by what we deem most important for users and admins, so the most important change comes first.

Are you looking for a seamless, hassle-free solution to manage your Git repositories? Look no further! Gitea Cloud is here to revolutionize your development experience.

Major Breaking changes

⚠️ Remove deprecated auth sources (#35272)

Deprecated authentication sources have been removed in this version. Please ensure your authentication configuration is up to date before upgrading.

Thank you to @techknowlogick for contributing this feature.

Major Highlights (Code)

🚀 Stream repository archives by default (#35487)

Repository archives (zip/tar.gz/bundle) are now streamed by default, significantly improving performance and reducing memory usage when downloading large repositories. This enhancement provides a better user experience, especially for large projects.

Thank you to @ChristopherHX for contributing this feature.

🚀 Add support for 3D/CAD file formats preview (#34794)

Gitea now supports previewing 3D and CAD file formats directly in the web interface! This includes support for STL, OBJ, and other common 3D file formats, making it easier for engineering and design teams to collaborate on 3D models and CAD designs without leaving Gitea.

3D/CAD file preview

Thank you to @kerwin612 for contributing this feature.

🚀 Edit file workflow for creating a fork and proposing changes (#34240)

A streamlined edit file workflow has been introduced, allowing users to create a fork and propose changes more easily. When editing a file in a repository you don't have write access to, Gitea will now automatically offer to create a fork and open a pull request with your changes.

Fork workflow

Thank you to @brechtvl for contributing this feature.

The UI now follows file symlinks to their target files, making it easier to navigate repositories with symbolic links. When viewing a symlink in the file browser, you can now click through to see the actual file content.

Symlink following

Thank you to @delvh for contributing this feature.

🚀 Support Basic Authentication for archive downloads (#35087)

Repository archive downloads now support Basic Authentication, making it easier to integrate with automation tools and scripts that need to download repository archives programmatically.

Thank you to @pvgoran for contributing this feature.

🚀 Use configurable remote name for git commands (#35172)

Git commands now support configurable remote names instead of being hardcoded to "origin". This provides better flexibility for users with custom git workflows.

Thank you to @ilya-nurullin for contributing this feature.

🚀 Display pull request in merged commit view (#35202)

When viewing a merged commit, Gitea now displays the associated pull request information, making it easier to trace changes back to their original pull requests.

Pull request in merged commit view

Thank you to @na-Itms for contributing this feature.

🚀 Improve submodule relative path handling (#35056)

Submodule handling has been improved with better support for relative paths, making it easier to work with repositories that use relative submodule URLs.

Thank you to @wxiaoguang for contributing this feature.

Major Highlights (Actions)

🚀 Send email on Workflow Run Success/Failure (#34982)

Gitea Actions now supports sending email notifications when workflows succeed or fail! This highly requested feature allows teams to stay informed about their CI/CD pipeline status without constantly checking the web interface.

Email notifications configuration Email notification example

Thank you to @NorthRealm for contributing this feature.

Major Highlights (Authentication & Security)

🚀 Improve instance wide SSH commit signing (#34341)

Instance-wide SSH commit signing has been improved with better configuration options and verification capabilities, enhancing security for organizations that require signed commits.

[repository.signing]
SIGNING_KEY = /data/id_ed25519.pub
SIGNING_NAME = Gitea
SIGNING_EMAIL = git@domain.com
SIGNING_FORMAT = ssh
INITIAL_COMMIT = always
CRUD_ACTIONS = always
WIKI = always
MERGES = always

Thank you to @ChristopherHX for contributing this feature.

🚀 Refactor OpenIDConnect to support SSH/FullName sync (#34978)

OpenID Connect integration has been enhanced to support synchronizing SSH keys and full names from identity providers, streamlining user management for organizations using OIDC.

Thank you to @wxiaoguang for contributing this feature.

🚀 Support base64-encoded agit push options (#35037)

AGit push options now support base64 encoding, providing better compatibility with special characters and binary data in push options.

Thank you to @wxiaoguang for contributing this feature.

Major Highlights (API)

🚀 Refactor repo contents API and add "contents-ext" API (#34822)

The repository contents API has been refactored with the addition of a new "contents-ext" API endpoint, providing more flexibility and better performance for retrieving file contents and repository data.

Thank you to @wxiaoguang for contributing this feature.

🚀 Add has_code to repository REST API (#35214)

The repository REST API now includes a has_code field, making it easier to identify repositories that contain code versus empty repositories or those with only wikis.

Thank you to @6543 for contributing this feature.

Major Highlights (User Experience)

🚀 Enable more markdown paste features in textarea editor (#35494)

The markdown textarea editor now supports more paste features, including automatic markdown formatting for pasted content, making it easier to create well-formatted comments and documentation.

Thank you to @silverwind for contributing this feature.

🚀 Refactor time tracker UI (#34983)

The time tracker user interface has been refactored with a cleaner, more intuitive design, making it easier to track time spent on issues and pull requests.

Thank you to @wxiaoguang for contributing this feature.

🚀 Partially refresh notifications list (#35010)

The notifications list now supports partial refresh, reducing page load times and improving responsiveness when checking for new notifications.

Thank you to @anbraten for contributing this feature.

🚀 Also display "recently pushed branch" alert on PR view (#35001)

The "recently pushed branch" alert is now also displayed on the pull request view page, making it easier to create pull requests from recently pushed branches.

Recently pushed branch alert

Thank you to @Naxdy for contributing this feature.

🚀 Use monospace font in PR command line instructions (#35074)

Command line instructions in pull requests now use a monospace font for better readability and easier copying.

Monospace font in PR instructions

Thank you to @silverwind for contributing this feature.

Major Highlights (Administration)

🚀 Don't store repo archives on gitea dump (#35467)

The gitea dump command no longer stores repository archives by default, significantly reducing backup size and time. Repository data can still be backed up, but pre-generated archives are excluded.

Thank you to @h7x4 for contributing this feature.

🚀 Avoid emoji mismatch and allow to only enable chosen emojis (#35705)

Emoji configuration has been improved, allowing administrators to enable only specific emojis and avoid mismatches between custom and default emoji sets.

Emoji configuration

Thank you to @wxiaoguang for contributing this feature.

Changelog

  • BREAKING

    • Remove deprecated auth sources (#35272)
  • FEATURES

    • Stream repo zip/tar.gz/bundle archives by default (#35487)
    • Add support for 3D/CAD file formats preview (#34794)
    • Send email on Workflow Run Success/Failure (#34982)
    • Edit file workflow for creating a fork and proposing changes (#34240)
    • Improve instance wide ssh commit signing (#34341)
    • Refactor repo contents API and add "contents-ext" API (#34822)
    • Follow file symlinks in the UI to their target (#28835)
    • Use configurable remote name for git commands (#35172)
    • Refactor OpenIDConnect to support SSH/FullName sync (#34978)
  • ENHANCEMENTS

    • Code

      • Display pull request in merged commit view (#35202)
      • Support Basic Authentication for archive downloads (#35087)
      • Improve submodule relative path handling (#35056)
      • Support base64-encoded agit push options (#35037)
      • Add has_code to repository REST API (#35214)
    • Actions

      • Prevent duplicate actions email (#35215)
      • Use inputs context when parsing workflows (#35595)
      • The status icon of the Action step is consistent with GitHub (#35618) #35621
    • User Experience

      • Enable more markdown paste features in textarea editor (#35494)
      • Refactor time tracker UI (#34983)
      • Partially refresh notifications list (#35010)
      • Also display "recently pushed branch" alert on PR view (#35001)
      • Use monospace font in PR command line instructions (#35074)
      • UI: add hover background to table rows in user and repo admin page (#35072)
      • Make restricted users can access public repositories (#35693)
    • Administration

      • Don't store repo archives on gitea dump (#35467)
      • Avoid emoji mismatch and allow to only enable chosen emojis (#35705)
      • Always return the relevant status information, even if no status exists (#35335)
      • Disable Field count validation of CSV viewer (#35228)
      • Don't block site admin's operation if SECRET_KEY is lost (#35721)
    • Issues & Pull Requests

      • When sorting issues by nearest due date, issues without due date should be sorted ascending (#35267)
  • BUGFIXES

    • Update tab title when navigating file tree (#35757) #35772
    • Fix "ref-issue" handling in markup (#35739) #35771
    • Fix webhook to prevent tag events from bypassing branch filters targets (#35567) #35577
    • Fix markup init after issue comment editing (#35536) #35537
    • Fix creating pull request failure when the target branch name is the same as some tag (#35552) #35582
    • Fix auto-expand and auto-scroll for actions logs (#35570) (#35583) #35586
    • Use inputs context when parsing workflows (#35590) #35595
    • Fix diffpatch API endpoint (#35610) #35613
    • Creating push comments before invoke pull request checking (#35647) #35668
    • Fix missing Close when error occurs and abused connection pool (#35658) #35670
    • Fix build (#35674)
    • Fix workflow run event status while rerunning a failed job (#35689)
    • Avoid emoji mismatch and allow to only enable chosen emojis (#35692)
    • Refactor legacy code, fix LFS auth bypass, fix symlink bypass (#35708)
    • Fix various trivial problems (#35714)
    • Fix attachment file size limit in server backend (#35519)
    • Honor delete branch on merge repo setting when using merge API (#35488)
    • Fix external render, make iframe render work (#35727, #35730)
    • Upgrade go mail to 0.7.2 (#35748)
    • Revert #18491, fix oauth2 client link account (#35745)
    • Fix workflow run event status while rerunning a failed job (#35703)
    • Fix various bugs (#35696)
    • Use LFS object size instead of blob size when viewing a LFS file (#35680)
    • Fix code tag style problem and LFS view bug (#35636)
    • Fix inputing review comment will remove reviewer (#35615)
    • Fix diffpatch API endpoint (#35613)
    • Fix: auto-expand and auto-scroll for actions logs (#35586)
    • Fix creating pull request failure when the target branch name is the same as some tag (#35582)
    • Fix rebase push display wrong comments bug (#35580)
    • Fix webhook: prevent tag events from bypassing branch filters targets (#35577)
    • Fix markup init after issue comment editing (#35537)
    • Fix different behavior in status check pattern matching with double stars (#35474)
    • Fix overflow in notifications list (#35446)
  • REFACTORS

    • Move updateref and removeref to gitrepo and remove unnecessary open repository (#35511)
    • Move git command to git/gitcmd (#35483)
    • Replace gobwas/glob package (#35478)
    • Correctly override user unitmodes (#35501)
    • Fix various typos in codebase (#35480)
  • MISC

    • Clean up npm dependencies (#35508, #35484)
    • Update eslint to v9 (#35485)
    • Replace webpack with rspack (#35460)
    • Bump setup-node to v5 (#35448)
    • Bump archives&rar dep (#35638)
    • Fix build (#35674)
    • Fix missing Close when error occurs and abused connection pool (#35670)
    • Creating push comments before invoke pull request checking (#35668)
    • Fix a bug missed return (#35667)
    • Always create Actions logs stepsContainer (#35672)
    • Mock external service in hcaptcha TestCaptcha (#35614)
    • Fixing issue: Password Leak in Log Messages (#35609)
    • Exposing TimeEstimate field in the API (#35475)
    • Vertically center date in file view latest commit (#35456)
    • The status icon of the Action step is consistent with GitHub (#35621)
    • Add perf trace start time (#35282)

Contributors for this release

We thank all contributors who helped make this release possible!

And many more contributors who have helped with testing, reporting issues, and translating!

We will thank all original contributors of backport pull requests on next release.

An icon showing wave propagation

Join our community

Gitea is open source. Star our GitHub repo, and join our community on Discord!

An icon showing a paper plane

Subscribe to our newsletter

Stay up to date with all things Gitea