0
0
Fork 0
mirror of https://codeberg.org/forgejo/docs.git synced 2024-12-25 22:40:42 -05:00
forgejo-docs/user/semver.md
Caesar Schinas 9af05bfb01
refactor: use astro content collections for docs
Reviewed-on: https://codeberg.org/forgejo/website/pulls/323

# Conflicts:
#	v1.19/admin/command-line.md
#	v1.19/admin/config-cheat-sheet.md
#	v1.19/admin/database-preparation.md
#	v1.19/admin/email-setup.md
#	v1.19/admin/incoming-email.md
#	v1.19/admin/index.md
#	v1.19/admin/logging-documentation.md
#	v1.19/admin/reverse-proxy.md
#	v1.19/admin/seek-assistance.md
#	v1.19/admin/upgrade.md
#	v1.19/developer/code-forgejo-org.md
#	v1.19/developer/index.md
#	v1.19/index.md
#	v1.19/license.md
#	v1.19/user/agit-support.md
#	v1.19/user/api-usage.md
#	v1.19/user/authentication.md
#	v1.19/user/email-settings.md
#	v1.19/user/first-repository.md
#	v1.19/user/index.md
#	v1.19/user/issue-pull-request-templates.md
#	v1.19/user/issue-tracking-basics.md
#	v1.19/user/labels.md
#	v1.19/user/linked-references.md
#	v1.19/user/merge-message-templates.md
#	v1.19/user/oauth2-provider.md
#	v1.19/user/packages/cargo.md
#	v1.19/user/packages/chef.md
#	v1.19/user/packages/composer.md
#	v1.19/user/packages/conan.md
#	v1.19/user/packages/conda.md
#	v1.19/user/packages/container.md
#	v1.19/user/packages/generic.md
#	v1.19/user/packages/helm.md
#	v1.19/user/packages/index.md
#	v1.19/user/packages/maven.md
#	v1.19/user/packages/npm.md
#	v1.19/user/packages/nuget.md
#	v1.19/user/packages/pub.md
#	v1.19/user/packages/pypi.md
#	v1.19/user/packages/rubygems.md
#	v1.19/user/packages/storage.md
#	v1.19/user/packages/vagrant.md
#	v1.19/user/project.md
#	v1.19/user/protection.md
#	v1.19/user/push-options.md
#	v1.19/user/push-to-create.md
#	v1.19/user/repo-permissions.md
#	v1.19/user/webhooks.md
#	v1.19/user/wiki.md
#	v1.20/user/semver.md
2023-08-13 17:07:06 +01:00

1.8 KiB

title license
Semantic version CC-BY-SA-4.0

SemVer allows users to understand the scope of a software update at first glance, based on the following :

  • Patch is increased for backwards-compatible bugfixes.
  • Minor is increased for backwards-compatible new features.
  • Major is increased for breaking changes.

something 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 should be taken into consideration when creating a new version number.

Getting the Forgejo semantic version

As of Forgejo v1.19, there are two version numbering schemes:

  • Following the Gitea version which is not a semantic version
    • Used to name release files
    • Used for tagging releases
    • Displayed in the web interface
    • Returned by the /api/v1/version API endpoint
  • Forgejo semantic version
    • Returned by the /api/forgejo/v1/version API endpoint

For instance, the semantic version for https://code.forgejo.org can be obtained with:

$ curl https://code.forgejo.org/api/forgejo/v1/version
{"version":"3.0.0+0-gitea-1.19.0"}

Understanding the Forgejo semantic version

The structure of the version number is <major>.<minor>.<patch>+<build>-gitea-<gitea version> where:

  • <major>.<minor>.<patch> is conformant to Semantic Versioning 2.0.0
  • <build> is the release build number of an otherwise identical source
  • gitea-<gitea version> is the Gitea version this Forgejo release depends on