@@ -37,7 +37,12 @@ gcc -o ecdsa examples/ecdsa.c -I $dir/include -L $dir/lib*/ -l secp256k1 -Wl,-rp
37
37
38
38
## Regular release
39
39
40
- 1 . Open a PR to the master branch with a commit (using message ` "release: prepare for $MAJOR.$MINOR.$PATCH" ` , for example) that
40
+ 1 . Check the ABI compatibility with the [ ` check-abi.sh ` ] ( /tools/check-abi.sh ) tool (installing the ` abi-dumper ` and ` abi-compliance-checker ` packages might be required):
41
+ ``` shell
42
+ tools/check-abi.sh $( git describe --abbrev=0) master
43
+ ```
44
+
45
+ 2 . Open a PR to the master branch with a commit (using message ` "release: prepare for $MAJOR.$MINOR.$PATCH" ` , for example) that
41
46
* finalizes the release notes in [ CHANGELOG.md] ( ../CHANGELOG.md ) by
42
47
* adding a section for the release (make sure that the version number is a link to a diff between the previous and new version),
43
48
* removing the ` [Unreleased] ` section header, and
@@ -46,19 +51,20 @@ gcc -o ecdsa examples/ecdsa.c -I $dir/include -L $dir/lib*/ -l secp256k1 -Wl,-rp
46
51
* if this is not a patch release
47
52
* updates ` _PKG_VERSION_* ` and ` _LIB_VERSION_* ` in ` configure.ac ` and
48
53
* updates ` project(libsecp256k1 VERSION ...) ` and ` ${PROJECT_NAME}_LIB_VERSION_* ` in ` CMakeLists.txt ` .
49
- 2 . After the PR is merged, tag the commit and push it:
54
+
55
+ 3 . After the PR is merged, tag the commit and push it:
50
56
```
51
57
RELEASE_COMMIT=<merge commit of step 1>
52
58
git tag -s v$MAJOR.$MINOR.$PATCH -m "libsecp256k1 $MAJOR.$MINOR.$PATCH" $RELEASE_COMMIT
53
59
git push [email protected] :bitcoin-core/secp256k1.git v$MAJOR.$MINOR.$PATCH
54
60
```
55
- 3 . Open a PR to the master branch with a commit (using message ` "release cleanup: bump version after $MAJOR.$MINOR.$PATCH" ` , for example) that
61
+ 4 . Open a PR to the master branch with a commit (using message ` "release cleanup: bump version after $MAJOR.$MINOR.$PATCH" ` , for example) that
56
62
* sets ` _PKG_VERSION_IS_RELEASE ` to ` false ` and increments ` _PKG_VERSION_PATCH ` and ` _LIB_VERSION_REVISION ` in ` configure.ac ` ,
57
63
* increments the ` $PATCH ` component of ` project(libsecp256k1 VERSION ...) ` and ` ${PROJECT_NAME}_LIB_VERSION_REVISION ` in ` CMakeLists.txt ` , and
58
64
* adds an ` [Unreleased] ` section header to the [ CHANGELOG.md] ( ../CHANGELOG.md ) .
59
65
60
66
If other maintainers are not present to approve the PR, it can be merged without ACKs.
61
- 4 . Create a new GitHub release with a link to the corresponding entry in [ CHANGELOG.md] ( ../CHANGELOG.md ) .
67
+ 5 . Create a new GitHub release with a link to the corresponding entry in [ CHANGELOG.md] ( ../CHANGELOG.md ) .
62
68
63
69
## Maintenance release
64
70
0 commit comments