Skip to content

Commit 1f6e19f

Browse files
authored
docs: add major release instructions to CONTRIBUTING guide (#7854)
1 parent 2dceec7 commit 1f6e19f

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

CONTRIBUTING.md

+18
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
- [Merging](#merging)
2525
- [Breaking Change](#breaking-change-1)
2626
- [Reverting](#reverting)
27+
- [Major Release / Long-Term-Support](#major-release--long-term-support)
2728
- [Versioning](#versioning)
2829
- [Code of Conduct](#code-of-conduct)
2930

@@ -362,6 +363,23 @@ If the commit reverts a previous commit, use the prefix `revert:`, followed by t
362363
This reverts commit 1234567890abcdef.
363364
```
364365
366+
### Major Release / Long-Term-Support
367+
368+
Long-Term-Support (LTS) is provided for the previous Parse Server major version. For example, Parse Server 4.x will receive security updates until Parse Server 5.x is superseded by Parse Server 6.x and becomes the new LTS version. While the current major version is published on branch `release`, a LTS version is published on branch `release-#.x.x`, for example `release-4.x.x` for the Parse Server 4.x LTS branch.
369+
370+
#### Preparing Release
371+
372+
The following changes are done in the `alpha` branch, before publishing the last `beta` version that will eventually become the major release. This way the changes trickle naturally through all branches and code consistency is ensured among branches.
373+
374+
- Make sure all [deprecations](https://github.com/parse-community/parse-server/blob/alpha/DEPRECATIONS.md) are reflected in code, old code is removed and the deprecations table is updated.
375+
- Add the future LTS branch `release-#.x.x` to the branch list in [release.config.js](https://github.com/parse-community/parse-server/blob/alpha/release.config.js) so that the branch will later be recognized for release automation.
376+
377+
#### Publishing Release
378+
379+
1. Create LTS branch `release-#.x.x` off the latest version tag on `release` branch.
380+
2. Create temporary branch `build-release` off branch `beta` and create a pull request with `release` as the base branch.
381+
3. Merge branch `build-release` into `release`. Given that there will be breaking changes, a new major release will be created. In the unlikely case that there have been no breaking changes between the previous major release and the upcoming release, a major version increment has to be triggered manually. See the docs of the release automation framework for how to do that.
382+
365383
## Versioning
366384
367385
> The following versioning system is applied since Parse Server 5.0.0 and does not necessarily apply to previous releases.

0 commit comments

Comments
 (0)