Forgejo v16.0 is available
Forgejo v16.0, the lightweight, community-developed, self-hosted platform for code collaboration, was released on 16 July 2026. You will find a short selection of the changes it introduces below and a complete list in the release notes.
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 in the chat room.
Summary
Something Something
Breaking changes
Something
Something
Something
Something
New features
Something
Something
Something
Something
Something
Something
Something
Something
User interface improvements
Redesigned commits view
lorem ipsum dolor sit amet
https://codeberg.org/forgejo/forgejo/pulls/7948
Multi-line reviews
Some text + screenshots needed with good real code example
https://codeberg.org/forgejo/forgejo/pulls/12582
Pull Request Comment Placement
Frustrating experiences of placing code review comments in pull requests and having them appear with the wrong associated diff, no associated diff at all, or in the wrong location in the UI, have been resolved in Forgejo 16.
The major issues addressed include:
- Forgejo uses
git blamewhen a comment is placed in a pull request review in order to identify the commit that introduced the line of code being commented on. This allows the comment to be displayed on any commit that is viewed on the pull request (if relevant), even if the comment was originally entered on a later commit. However, when the line of code moved in a later commit, the comment would be placed incorrectly. The introduction of an internalgit blame --reverseto track the change to its current location addressed this issue. - Improved the implementation of placing comments based up the code being viewed by the reviewer, rather than the current HEAD of the pull request. In both viewing the entire pull request, and in viewing individual commits, UI bugs caused what was being viewed to be incorrectly tracked.
- Comments on removed lines of code could not perform the
git blameoperation because the line of code was no longer present in the commits, and instead were tracked with the exact line of code that was commented upon. This prevented these comments from being displayed correctly when later commits in the pull request moved lines of code in the file. Comments now usegit blame --reverseto identify when the line of code was removed, verify that the line of code is still removed in the current diff at the same location, and then place the comment correctly (or mark it out-of-date).
More technical information for the curious can be found in these pull requests:
- fix: relocate PR review comments using
git blame --reverse, improving comment placement - fix: mark code comments as Outdated based upon line-of-code existence in current PR commit
- fix: when reviewing in PRs, make comments relative to viewed base & head, not just viewed head
- fix: when reviewing in PRs, make comments relative to the visible code’s commit
- fix: display code comments on removed lines-of-code to correct locations in PR view
Forgejo Actions improvements
Manual Workflow Run Prioritization
Forgejo Actions runs workflows in the order they are triggered. Starting with Forgejo v16, it is possible to manually mark individual workflow runs as prioritized. Forgejo Actions executes prioritized workflow runs before all others. We like to refine the capability in future Forgejo versions. Please try the functionality and report back.
Authorized Integrations
In Forgejo v15, Forgejo Actions was given the ability to generate JWTs that external systems can validate for authentication. Forgejo v16 brings the opposite side of that capability: Authorized Integrations, allowing Forgejo to authenticate API and git access using JWTs.
Authorized Integrations can be accessed from local Forgejo Actions, or can be configured with a set of rules to allow an arbitrary JWT to be validated by Forgejo.
This capability serves as an alternative to implementing permissions: declarations within Forgejo Actions. Authorized Integrations can be used to escalate past the typical permissions that ${{ forgejo.token }} provides, without having to configure (and rotate in the future) a secret access token, without introducing the risky capability for workflow authors to grant themselves unexpected permissions, and with the ability to work across multiple Forgejo repositories.
An external system meeting Forgejo’s technical requirements an also directly access Forgejo APIs and git repositories through a user’s configured Authorized Integration, without configuring of any static secrets between systems. Examples of such systems include: Amazon Web Services, GitHub Actions, or GitLab CI/CD
Something
Something
Release schedule and Long Term Support
Based on the release schedule, major releases are published every three months. Patch releases are published more frequently, depending on the severity of the bug or security fixes they contain. Forgejo v16.0 is a non-LTS release. It will be supported until 29 October 2026.
| Version | Release date | End Of Life |
|---|---|---|
| 11.0 (LTS) | 16 April 2025 | 16 July 2026 |
| 15.0 (LTS) | 16 April 2026 | 15 July 2027 |
| 16.0 | 16 July 2026 | 29 October 2026 |
| 17.0 | 15 October 2026 | 28 January 2027 |
16.0-test daily releases
Releases are built daily from the latest changes found in the v16.0/forgejo development branch. They are deployed to the https://v16.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.
Get Forgejo v16.0
See the download page for instructions on how to install Forgejo,.
Upgrading
Carefully read the breaking changes 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
16.0 tag
to stay up to date with the latest 16.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.
Release and upgrade party
Maybe??
Audio + chat meeting on BigBlueButton: https://lecture.senfcall.de/ott-hqp-axg-yvm
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!
Donate
Forgejo is proud to be funded transparently. Additionally, it accepts 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.