You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: contribute/release-policy.md
+15-10
Original file line number
Diff line number
Diff line change
@@ -5,14 +5,17 @@ title: Release policy
5
5
6
6
## Release semantics
7
7
8
-
The Pulsar project follows a variant of [Semantic Versioning](http://semver.org/spec/v2.0.0.html). Existing releases can expect patches for bugs and security vulnerabilities. New features will target minor releases. The difference is that a major version bump will not carry any special meaning in terms of "big features" included in the release or breaking API changes. Instead, it would simply signal a new long-term support (LTS) release.
8
+
The Pulsar project follows a variant of Semantic Versioning (semver), which mapping `major.minor.patch` to `LTS.feature.patch`.
9
+
10
+
Concretely, existing releases can expect patches for bugs and security vulnerabilities. New features will target to feature releases. A "major" version bump will not carry any special meaning in terms of "big features" included in the release or breaking API changes. Instead, it would simply signal a new long-term support (LTS) release.
9
11
10
12
For example,
11
13
12
14
* 2.10.0 is a feature release;
13
15
* 2.10.1 is a patch release;
14
16
* 2.11.0 is a feature release;
15
17
* 3.0.0 is the first LTS release;
18
+
* 3.0.1 is a patch release of the LTS release;
16
19
* 3.1.0 is a feature release;
17
20
* 3.2.0 is a feature release;
18
21
* 3.2.1 is a patch release;
@@ -54,15 +57,6 @@ import SupportedVersionsTable from "@site/src/components/SupportedVersionsTable"
54
57
<SupportedVersionsTable />
55
58
````
56
59
57
-
## Roadmap for release plans
58
-
59
-
The next release of Pulsar is 3.0.0, and it has the planned timeline as:
60
-
61
-
* 2023-04-11 - RC-1
62
-
* 2023-04-18 - RC-2
63
-
* 2023-04-25 - RC-3
64
-
* 2023-05-02 - Announce 3.0 Release
65
-
66
60
## Release cycles
67
61
68
62
Generally, one committer shall volunteer as the release manager (RM) for a specific release.
@@ -78,6 +72,17 @@ From the code-freeze point, to minimize the risk of delaying the release, only b
78
72
79
73
For patch releases, the process is the same while there is no code-freeze period and strict timeline. Basically, patch release is out "when it is ready".
80
74
75
+
:::note
76
+
77
+
For example, the next release of Pulsar is 3.0.0, and it has the planned timeline as:
78
+
79
+
* 2023-04-11 - RC-1
80
+
* 2023-04-18 - RC-2
81
+
* 2023-04-25 - RC-3
82
+
* 2023-05-02 - Announce 3.0 Release
83
+
84
+
:::
85
+
81
86
## Related PIPs
82
87
83
88
*[PIP-47: A Time-Based Release Plan](https://github.com/apache/pulsar/wiki/PIP-47%3A-Time-Based-Release-Plan)
Copy file name to clipboardexpand all lines: contribute/release-process.md
+14-14
Original file line number
Diff line number
Diff line change
@@ -5,18 +5,18 @@ title: Release process
5
5
6
6
This page contains instructions for Pulsar committers on how to perform a release.
7
7
8
-
The term major/minor releases used throughout this document is defined as follows:
8
+
The term feature/patch releases used throughout this document is defined as follows:
9
9
10
-
*Major releases refer to feature releases, such as 2.10.0, 2.11.0, and so on.
11
-
*Minor releases refer to bug-fix releases, such as 2.10.1, 2.10.2, and so on.
10
+
*Feature releases contain 2.10.0, 2.11.0, 3.0.0, and so on.
11
+
*Patch releases refer to bug-fix releases, such as 2.10.1, 2.10.2, and so on.
12
12
13
13
## Preparation
14
14
15
15
Open a discussion on dev@pulsar.apache.org to notify others that you volunteer to be the release manager of a specific release. If there are no disagreements, you can start the release process.
16
16
17
-
For major releases, you should create a new branch named `branch-X.Y` once all PRs with the X.Y.0 milestone are merged. If some PRs with the X.Y.0 milestone are still working in progress and might take much time to complete, you can move them to the next milestone if they are not important. In this case, you'd better notify the author in the PR.
17
+
For feature releases, you should create a new branch named `branch-X.Y` once all PRs with the X.Y.0 milestone are merged. If some PRs with the X.Y.0 milestone are still working in progress and might take much time to complete, you can move them to the next milestone if they are not important. In this case, you'd better notify the author in the PR.
18
18
19
-
For minor releases, if there are no disagreements, you should cherry-pick all merged PRs labeled with `release/X.Y.Z` into `branch-X.Y`. After these PRs are cherry-picked, you should add the `cherry-picked/branch-X.Y` labels.
19
+
For patch releases, if there are no disagreements, you should cherry-pick all merged PRs labeled with `release/X.Y.Z` into `branch-X.Y`. After these PRs are cherry-picked, you should add the `cherry-picked/branch-X.Y` labels.
20
20
21
21
Sometimes some PRs cannot be cherry-picked cleanly, you might need to create a separate PR and move the `release/X.Y.Z` label from the original PR to it. In this case, you can ask the author to help create the new PR.
22
22
@@ -46,7 +46,7 @@ Also, you need to **clean up the bookkeeper's local compiled** to make sure the
46
46
47
47
We are going to create a branch from `master` to `branch-v2.X` where the tag will be generated and where new fixes will be applied as part of the maintenance for the release.
48
48
49
-
The branch needs only to be created for major releases, and not for minor releases like `2.3.1`. For minor releases, go to the next step.
49
+
The branch needs only to be created for feature releases, and not for patch releases like `2.3.1`. For patch releases, go to the next step.
50
50
51
51
For example, when you create the `v2.3.0` release, the branch `branch-2.3` will be created; but for `v2.3.1`, we
52
52
keep using the old `branch-2.3`.
@@ -101,7 +101,7 @@ git push origin branch-2.X
101
101
git push origin v2.X.0-candidate-1
102
102
```
103
103
104
-
For minor releases, the tag is like `2.3.1`.
104
+
For patch releases, the tag is like `2.3.1`.
105
105
106
106
### Build release artifacts
107
107
@@ -347,7 +347,7 @@ If you don't have the permission, you can ask someone with access to apachepulsa
347
347
348
348
:::caution
349
349
350
-
This step can be skipped if the major version number is not the latest.
350
+
This step is for the latest release only.
351
351
352
352
:::
353
353
@@ -450,7 +450,7 @@ Read more on the manual of [pytools](https://github.com/apache/pulsar-site/tree/
450
450
451
451
:::caution
452
452
453
-
This step is for major releases only, unless you're sure that significant Javadoc fixes are made against the minor release.
453
+
This step is for feature releases only, unless you're sure that significant Javadoc fixes are made against the patch release.
454
454
455
455
:::
456
456
@@ -474,7 +474,7 @@ Read more on the manual of [pytools](https://github.com/apache/pulsar-site/tree/
474
474
475
475
:::caution
476
476
477
-
This step is for major releases only, unless you're sure that significant reference fixes are made against the minor release.
477
+
This step is for feature releases only, unless you're sure that significant reference fixes are made against the patch release.
478
478
479
479
:::
480
480
@@ -495,7 +495,7 @@ Read more on the manual of [pytools](https://github.com/apache/pulsar-site/tree/
495
495
496
496
:::caution
497
497
498
-
This step is for major releases only, unless you're sure that significant doc fixes are made against the minor release.
498
+
This step is for feature releases only, unless you're sure that significant doc fixes are made against the patch release.
499
499
500
500
:::
501
501
@@ -515,7 +515,7 @@ Read more on the manual of [pytools](https://github.com/apache/pulsar-site/tree/
515
515
516
516
:::caution
517
517
518
-
This step is for major releases only, unless you're sure that significant doc fixes are made against the minor release.
518
+
This step is for feature releases only, unless you're sure that significant doc fixes are made against the patch release.
519
519
520
520
:::
521
521
@@ -551,7 +551,7 @@ For every release, you should add a `<release-version>` entry to the correspondi
551
551
552
552
:::caution
553
553
554
-
The following steps are for major releases only.
554
+
The following steps are for feature releases only.
0 commit comments