Commit Graph

3 Commits

Author SHA1 Message Date
Tobin C. Harding 9f28cf6ad0
Deprecate ThirtyTwoByteHash
The implementations of `ThirtyTwoByteHash` for types from the `hashes`
crate are problematic during upgrades because both `bitcoin` and
`secp256k1` depend on `hashes` and when the versions of `hashes` get
out of sync usage of the trait breaks.

Deprecate the `ThirtyTwoByteHash` trait and remove the impls for types
from `bitcoin_hashes`.

Add an explanation in the changelog because its too long to go in the
deprecation message.
2024-04-02 11:11:29 +11:00
Tobin C. Harding 53d34d5ee0
Update the API files
Run `just check-api` and commit the changes. We should have never gotten
to this state, upcoming patch will check for changes in CI.
2024-03-27 11:16:36 +11:00
Tobin C. Harding e9e17a0039
Check for changes to the public API
We would like to get to a stage where we can commit to the public API.
To help us achieve this add a script that generates the public API and
checks it against three committed files, one for each feature set: no
features, alloc, std.

The idea is that with this applied any PR that changes the public API
should include a final patch that is just the changes to the api/*.txt
files, that way reviewers can discuss the changes without even needing
to look at the code, quickly giving concept ACK/NACKs. We also run the
script in CI to make sure we have not accidentally changed the public
API so that we can be confident that don't break semver during releases.
The script can also be used to diff between two release versions to get
a complete list of API changes, useful for writing release notes and for
users upgrading.

There is a development burden involved if we apply this patch.
2023-10-26 10:56:54 +11:00