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: CONTRIBUTING.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -44,7 +44,7 @@ The Contributor Workflow & Peer Review in libsecp256k1 are similar to Bitcoin Co
44
44
45
45
In addition, libsecp256k1 tries to maintain the following coding conventions:
46
46
47
-
* No runtime heap allocation (e.g., no `malloc`) unless explicitly requested by the caller (via `secp256k1_context_create` or `secp256k1_scratch_space_create`, for example). Morever, it should be possible to use the library without any heap allocations.
47
+
* No runtime heap allocation (e.g., no `malloc`) unless explicitly requested by the caller (via `secp256k1_context_create` or `secp256k1_scratch_space_create`, for example). Moreover, it should be possible to use the library without any heap allocations.
48
48
* The tests should cover all lines and branches of the library (see [Test coverage](#coverage)).
49
49
* Operations involving secret data should be tested for being constant time with respect to the secrets (see [src/ctime_tests.c](src/ctime_tests.c)).
50
50
* Local variables containing secret data should be cleared explicitly to try to delete secrets from memory.
To compile optional modules (such as Schnorr signatures), you need to run `cmake` with additional flags (such as `-DSECP256K1_ENABLE_MODULE_SCHNORRSIG=ON`). Run `cmake .. -LH` to see the full list of available flags.
AC_MSG_ERROR([--with-libmultiprocess=$with_libmultiprocess value is not yes, auto, or no])
1572
-
fi
1573
-
1574
-
dnl Enable multiprocess check
1575
-
1576
-
if test "$enable_multiprocess" = "yes"; then
1577
-
if test "$libmultiprocess_found" != "yes"; then
1578
-
AC_MSG_ERROR([--enable-multiprocess=yes option specified but libmultiprocess library was not found. May need to install libmultiprocess library, or specify install path with PKG_CONFIG_PATH environment variable. Running 'pkg-config --debug libmultiprocess' may be helpful for debugging.])
1550
+
if test x"$enable_module_schnorrsig" = x"yes"; then
1551
+
if test x"$enable_module_extrakeys" = x"no"; then
1552
+
AC_MSG_ERROR([Module dependency error: You have disabled the extrakeys module explicitly, but it is required by the schnorrsig module.])
>>>>>>> 29fde0223a... Squashed 'src/secp256k1/' changes from 199d27cea3..efe85c70a2
170
-
```
171
-
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.
177
+
```shell
178
+
tools/check-abi.sh
179
+
```
176
180
177
-
<<<<<<< HEAD
178
181
Then open a Pull Request to the [guix.sigs repository](https://github.com/bitcoin-core/guix.sigs).
179
182
180
183
## Codesigning
@@ -350,48 +353,48 @@ Notes:
350
353
* adding a section for the release (make sure that the version number is a link to a diff between the previous and new version),
351
354
* removing the `[Unreleased]` section header, and
352
355
* including an entry for`### ABI Compatibility`if it doesn't exist,
353
-
* sets `_PKG_VERSION_IS_RELEASE` to `true` in `configure.ac`, and
354
-
* if this is not a patch release
355
-
* updates `_PKG_VERSION_*` and `_LIB_VERSION_*` in `configure.ac` and
356
+
* sets `_PKG_VERSION_IS_RELEASE` to `true` in `configure.ac`, and,
357
+
* if this is not a patch release,
358
+
* updates `_PKG_VERSION_*` and `_LIB_VERSION_*` in `configure.ac`, and
356
359
* updates `project(libsecp256k1 VERSION ...)` and `${PROJECT_NAME}_LIB_VERSION_*` in `CMakeLists.txt`.
357
-
2. After the PR is merged, tag the commit and push it:
360
+
2. Perform the [sanity checks](#sanity-checks) on the PR branch.
361
+
3. After the PR is merged, tag the commit, and push the tag:
358
362
```
359
363
RELEASE_COMMIT=<merge commit of step 1>
360
364
git tag -s v$MAJOR.$MINOR.$PATCH -m "libsecp256k1 $MAJOR.$MINOR.$PATCH" $RELEASE_COMMIT
5. Create a new GitHub release with a link to the corresponding entry in [CHANGELOG.md](../CHANGELOG.md).
396
-
6. Open PR to the master branch that includes a commit (with commit message `"release notes: add $MAJOR.$MINOR.$PATCH"`, for example) that adds release notes to [CHANGELOG.md](../CHANGELOG.md).
397
-
>>>>>>> 29fde0223a... Squashed 'src/secp256k1/' changes from 199d27cea3..efe85c70a2
398
+
6. Create a new GitHub release with a link to the corresponding entry in [CHANGELOG.md](../CHANGELOG.md).
399
+
7. Send an announcement email to the bitcoin-dev mailing list.
400
+
8. Open PR to the master branch that includes a commit (with commit message `"release notes: add $MAJOR.$MINOR.$PATCH"`, for example) that adds release notes to [CHANGELOG.md](../CHANGELOG.md).
0 commit comments