mirror of
https://github.com/inventree/InvenTree.git
synced 2026-02-28 17:40:43 +00:00
feat(docs): add next breaking docs (#11433)
This commit is contained in:
@@ -62,6 +62,7 @@ InvenTree roughly follow the [GitLab flow](https://about.gitlab.com/topics/versi
|
|||||||
There are nominally 5 active branches:
|
There are nominally 5 active branches:
|
||||||
- `master` - The main development branch
|
- `master` - The main development branch
|
||||||
- `stable` - The latest stable release
|
- `stable` - The latest stable release
|
||||||
|
- `next-breaking` - The next breaking release (e.g. 2.0, 3.0) with all deprecated features removed
|
||||||
- `l10n` - Translation branch: Source to Crowdin
|
- `l10n` - Translation branch: Source to Crowdin
|
||||||
- `l10_crowdin` - Translation branch: Source from Crowdin
|
- `l10_crowdin` - Translation branch: Source from Crowdin
|
||||||
- `y.y.x` - Release branch for the currently supported version (e.g. `0.5.x`)
|
- `y.y.x` - Release branch for the currently supported version (e.g. `0.5.x`)
|
||||||
@@ -115,6 +116,23 @@ The translation process is as follows:
|
|||||||
4. Translations made in Crowdin are automatically pushed back to the `l10_crowdin` branch by Crowdin once they are approved
|
4. Translations made in Crowdin are automatically pushed back to the `l10_crowdin` branch by Crowdin once they are approved
|
||||||
5. The `l10_crowdin` branch is merged back into `master` by a maintainer periodically
|
5. The `l10_crowdin` branch is merged back into `master` by a maintainer periodically
|
||||||
|
|
||||||
|
### `next-breaking` Branch
|
||||||
|
|
||||||
|
Used for easier testing of plugins and integrations against the next major release. It is branched from master when a major release is cut and updated on minor release. The branch is not build into docker images or packages and not meant to be run in production.
|
||||||
|
|
||||||
|
|
||||||
|
All deprecated features (REST or python API endpoints mostly) are removed from this branch after each minor release. This allows plugin developers to test their plugins against the next major release early and identify any extensive changes before the major release is cut.
|
||||||
|
|
||||||
|
Only breaking changes are added to this branch. No new features should be added at any point to this branch, only breaking removals / changes.
|
||||||
|
|
||||||
|
Before a major release is cut (1.12.5 > 2.0.0), this branch is merged back into `master`.
|
||||||
|
|
||||||
|
|
||||||
|
During the life-time of a major release line (1.0.1, 1.1.x, 1.2.x, 1.3.x, ..., 1.12.5) all deprecation removals are collected in this branch.
|
||||||
|
On every minor release (1.11.8 > 1.12.0) the `master` is rebased onto the `next-breaking` branch.
|
||||||
|
|
||||||
|
Every time a change with depreations is merged into `master`, a follow up PR that removes the newly-introduced deprecation is created targeting the `next-breaking` branch. After the next minor is released and `master` was rebased into `next-breaking` all the PRs from the previous minor release line can be merged into the `next-breaking` branch. Deprecation removals for the - possibly - long running major release line can be collected this way without having a large number of deprecation removals PRs open.
|
||||||
|
|
||||||
## API versioning
|
## API versioning
|
||||||
|
|
||||||
The [API version]({{ sourcefile("src/backend/InvenTree/InvenTree/api_version.py") }}) needs to be bumped every time when the API is changed.
|
The [API version]({{ sourcefile("src/backend/InvenTree/InvenTree/api_version.py") }}) needs to be bumped every time when the API is changed.
|
||||||
|
|||||||
Reference in New Issue
Block a user