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: doc/release-process.md
+27-31
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# Release Process
1
+
# Release process
2
2
3
3
This document outlines the process for releasing versions of the form `$MAJOR.$MINOR.$PATCH`.
4
4
@@ -14,31 +14,30 @@ This process also assumes that there will be no minor releases for old major rel
14
14
15
15
We aim to cut a regular release every 3-4 months, approximately twice as frequent as major Bitcoin Core releases. Every second release should be published one month before the feature freeze of the next major Bitcoin Core release, allowing sufficient time to update the library in Core.
16
16
17
-
## Sanity Checks
17
+
## Sanity checks
18
18
Perform these checks when reviewing the release PR (see below):
19
19
20
20
1. Ensure `make distcheck` doesn't fail.
21
-
```shell
22
-
./autogen.sh && ./configure --enable-dev-mode && make distcheck
23
-
```
21
+
```shell
22
+
./autogen.sh && ./configure --enable-dev-mode && make distcheck
23
+
```
24
24
2. Check installation with autotools:
25
-
```shell
26
-
dir=$(mktemp -d)
27
-
./autogen.sh && ./configure --prefix=$dir&& make clean && make install && ls -RlAh $dir
4. Use the [`check-abi.sh`](/tools/check-abi.sh) tool to ensure there are no unexpected ABI incompatibilities and that the version number and release notes accurately reflect all potential ABI changes. To run this tool, the `abi-dumper` and `abi-compliance-checker` packages are required.
4. Use the [`check-abi.sh`](/tools/check-abi.sh) tool to verify that there are no unexpected ABI incompatibilities and that the version number and the release notes accurately reflect all potential ABI changes. To run this tool, the `abi-dumper` and `abi-compliance-checker` packages are required.
38
+
```shell
39
+
tools/check-abi.sh
40
+
```
42
41
43
42
## Regular release
44
43
@@ -47,12 +46,12 @@ tools/check-abi.sh
47
46
* adding a section for the release (make sure that the version number is a link to a diff between the previous and new version),
48
47
* removing the `[Unreleased]` section header, and
49
48
* including an entry for `### ABI Compatibility` if it doesn't exist,
50
-
* sets `_PKG_VERSION_IS_RELEASE` to `true` in `configure.ac`, and
51
-
* if this is not a patch release
52
-
* updates `_PKG_VERSION_*` and `_LIB_VERSION_*` in `configure.ac` and
49
+
* sets `_PKG_VERSION_IS_RELEASE` to `true` in `configure.ac`, and,
50
+
* if this is not a patch release,
51
+
* updates `_PKG_VERSION_*` and `_LIB_VERSION_*` in `configure.ac`, and
53
52
* updates `project(libsecp256k1 VERSION ...)` and `${PROJECT_NAME}_LIB_VERSION_*` in `CMakeLists.txt`.
54
53
2. Perform the [sanity checks](#sanity-checks) on the PR branch.
55
-
3. After the PR is merged, tag the commit and push it:
54
+
3. After the PR is merged, tag the commit, and push the tag:
56
55
```
57
56
RELEASE_COMMIT=<merge commit of step 1>
58
57
git tag -s v$MAJOR.$MINOR.$PATCH -m "libsecp256k1 $MAJOR.$MINOR.$PATCH" $RELEASE_COMMIT
@@ -69,27 +68,24 @@ tools/check-abi.sh
69
68
70
69
## Maintenance release
71
70
72
-
Note that bugfixes only need to be backported to releases for which no compatible release without the bug exists.
71
+
Note that bug fixes need to be backported only to releases for which no compatible release without the bug exists.
73
72
74
73
1. If there's no maintenance branch `$MAJOR.$MINOR`, create one:
0 commit comments