For Forgejo 7.0.0 and above, the two endpoints return the same value
and they match what is displayed by the CLI or the web UI.
## Compatibility with Gitea
As of Forgejeo 7.0.0 tools designed to work with Gitea 1.22.0 and
below are compatible and do not need any modification to keep working.
In the future, if a tool wants to assert the level of compatibility of
a Forgejo version with Gitea, it can:
- Obtain the version number [example.com/api/v1/version](https://code.forgejo.org/api/swagger/#/miscellaneous/getVersion) using the same API endpoint as Gitea
- If the returned version contains '+gitea-', keep what follows as the compatible Gitea version number
For instance Gitnex will not notice a difference when the version
number is bumped from Forgejo 1.21.7-0 to Forgejo 7.0.0. It only uses
version numbers to verify if a new feature is available in a newer
version. The last time such a check was added was with Gitea 1.17
which was published in July 2022.
## Semantic Version
[SemVer](https://semver.org/spec/v2.0.0.html) allows users to understand the scope of a software update at first glance, based on the following:
-`<MAJOR>` is increased for breaking changes.
-`<MINOR>` is increased for backwards-compatible new features.
-`<PATCH>` is increased for backwards-compatible bug fixes.
Forgejo changes reflected in the version could be:
- a command, an option or an argument, for a CLI
- a route path, a query parameter or a body property, for a REST API
- a text node, a button or a field, for a GUI
Since Forgejo has all of the above, changes to all of those components are be taken into consideration when creating a new version number.
### Stable versions
The structure of the version number is `<MAJOR>.<MINOR>.<PATCH>+gitea-<GITEA VERSION>`, where:
-`<MAJOR>.<MINOR>.<PATCH>` is conformant to [Semantic Versioning 2.0.0](https://semver.org/#semantic-versioning-200)
-`gitea-<GITEA VERSION>` is the Gitea version this Forgejo release is compatible with