Forgejo v11.0 is available

Forgejo v11.0 was released on 16 April 2025. You will find a short selection of the changes it introduces below and a complete list in the release notes.

This release marks the end of life for the previous stable version v10. The LTS series Forgejo v7 is still supported until 16 July 2025. Forgejo v11.0 will be supported until 15 July 2026, when Forgejo v16.0 is published. Admins of Forgejo instances with version v10 are recommended to prepare for an upgrade in time so that applying potential future security patches does not involve a major upgrade.

A dedicated test instance is available to try it out. Before upgrading it is strongly recommended to make a full backup as explained in the upgrade guide and carefully read all breaking changes from the release notes. If in doubt, do not hesitate to ask for help on the Fediverse, or in the chat room.

Summary

Forgejo v11.0 is the second LTS (Long Term Support) release, following v7.0 published in April 2024. It is the preferred choice for instances that value stability more than newer features published quarterly. Forgejo v7.0 will be supported for three more months, until 16 July 2025, an overlap that allows Forgejo admins to upgrade on their own time.

In addition to this blog post, the blog posts of the releases published since v7.0 contain the highlights of the changes that an instance upgrading directly from v7.0 to v11.0 will benefit from.

New features

Below is short selection of the most notable changes. The complete list is available in the release notes.

  • PR: user interface to see an overview of the quotas. Quotas overview

  • PR: add the ability to regenerate access tokens. Regenerate access token

  • PR: welcome screen for user dashboard. It is shown when there’s no activity in the feed and can also be customized by instance admins. Welcome screen

  • PR: display to maintainers in PR when it is editable. Editable hint

  • PR: adds the following boolean operators for searching issues when using an indexer:

    • +term: term MUST be present for any result
    • -term: negation; exclude results that contain term
    • "this is a term": matches the exact phrase this is a term

    In all cases the special characters can be escaped by prefixing them with \.

  • PR: add API endpoints with the ability to search for Forgejo Actions jobs (repo, org and global level).

Container images based on Alpine 3.21

The v11 container images are built from the latest Alpine 3.21 patch release. It includes:

Autoscaling capabilities and k8s

End of 2024, a discussion on autoscaling was initiated by a team that is growing, and the workloads they run on Forgejo Actions were increasing. To meet these demands, they needed to increase parallelization when running jobs without unnecessarily blocking or over-provisioning resources. Moving to an autoscaling model would help them achieve this, ensuring that resources are only allocated when there are tasks to process.

Here are the key points:

  1. Pending tasks
    • To enable autoscaling for Forgejo runners, Forgejo itself needs to provide a way to obtain the number of tasks waiting to be executed.
    • Conversations started with KEDA contributors to create a PR where you can define a Forgejo autoscalers based on these pending tasks.
    • These tasks should be accessible at the organization, user, and repository levels and will match how you configure the autoscaler.
  2. Forgejo Runner lifecycle change
    • Forgejo runners operate as persistent daemons. To better integrate with KEDA job autoscaling it was proposed to change the runner lifecycle to function as jobs instead of long-running processes.
    • An experimental fork of the actual runners existed and added a new command on the code to execute all tasks and exit.
    • This allowed runners to scale to 0 when no jobs are running, optimizing resource usage in dynamic environments.

This project was concluded early 2025 and is available both in Forgejo v11.0 and the Forgejo runner v6.3.1:

Release schedule and Long Term Support

The time based release schedule was established to publish a release every three months. Patch releases will be published more frequently, depending on the severity of the bug or security fixes they contain.

VersionRelease dateEnd Of Life
7.0 (LTS)23 April 202416 July 2025
10.016 January 202516 April 2025
11.0 (LTS)16 April 202515 July 2026

11.0-test daily releases

Releases are built daily from the latest changes found in the v11.0/forgejo development branch. They are deployed to the https://v11.next.forgejo.org instance for manual verification in case a bug fix is of particular interest ahead of the next patch release. It can also be installed locally with:

Their names are staying the same but they are replaced by new builds every day.

Localization

Forgejo is now available in Danish! The work was started and completed by Tacaly with help of other contributors and coordinated by the localization team.

This release is the first to be shipped with a new format for storing translations better suited for this purpose, enabling better translatability, easier integration with external tooling and better defined syntax. This version supports both new and legacy formats and mostly relies on the latter. A more significant impact of this change is expected to be seen in upcoming versions of Forgejo.

Get Forgejo v11.0

See the download page for instructions on how to install Forgejo, and read the release notes for more information.

Upgrading

Carefully read the breaking bug fixes section of the release notes.

The actual upgrade process is as simple as replacing the binary or container image with the corresponding Forgejo binary or container image. If you’re using the container images, you can use the 11.0 tag to stay up to date with the latest 11.0.Y patch release automatically.

Make sure to check the Forgejo upgrade documentation for recommendations on how to properly backup your instance before the upgrade.

Contribute to Forgejo

If you have any feedback or suggestions for Forgejo do not hold back, it is also your project. Open an issue in the issue tracker for feature requests or bug reports, reach out on the Fediverse, or drop into the Matrix space (main chat room) and say hi!

Forgejo is proud to be funded transparently. Additionally, it accept donations through Liberapay. It is also possible to donate to Codeberg e.V. in case the Liberapay option does not work out for you, and part of the funding is used to compensate for work on Forgejo.

However, the Liberapay team allows for money to go directly to developers without a round-trip to Codeberg. Additionally, Liberapay allows for a steady and reliable funding stream next to other options, a crucial aspect for the project. The distribution of funds through Liberapay is transparently controlled using the decision-making process, and Forgejo contributors are encouraged to consider applying to benefit from this funding opportunity.

Thank you for using Forgejo and considering a donation, in case your financial situation allows you to.