Commit Graph

15 Commits

Author SHA1 Message Date
merge-script e45bc0056c
Merge rust-bitcoin/rust-bitcoin#3981: Do not implement `Default` for `HmacEngine`
18619a6d0b api: Run just check-api (Tobin C. Harding)
1eb8f1f9e0 Add a Hmac::engine function (Tobin C. Harding)
c352d376ed Do not implement Default for HmacEngine (Tobin C. Harding)

Pull request description:

  The `HmacEngine` should be created using a key. Currently we are providing a `Default` impl that uses `&[]` as the key. This is, I believe, a hangover from when we had a `Default` trait bound somewhere else. It is incorrect and an API footgun - remove it.

  Note this PR includes changes to the bench code in `hmac` that highlights the footgun - pity the poor user we even shot ourselves.

  Patch 2 adds a constructor `Hmac::engine` and uses it in the bench code.

ACKs for top commit:
  Kixunil:
    ACK 18619a6d0b
  apoelstra:
    ACK 18619a6d0b0bca7b7e3603e260b254b4aae6cebf; successfully ran local tests

Tree-SHA512: c96640e7ffba52d5b13b76a6dd9e1381788efcf56ee76300c5111541466bab8018d2546bcecf237c42dbd82e9372a0e43e1ecec37147508e879365d92a4c1451
2025-01-31 20:29:55 +00:00
Tobin C. Harding 18619a6d0b
api: Run just check-api 2025-01-31 11:17:01 +11:00
Tobin C. Harding 5134025180
api: Run just check-api 2025-01-29 12:28:24 +11:00
Jamil Lambert, PhD 6d0c6c61ef
Run just check-api 2025-01-22 10:18:11 +00:00
Tobin C. Harding 87293dfdd3
api: Run just check-api 2024-12-29 08:42:34 +11:00
Tobin C. Harding 219ecd5498
Add api text files
We are about to introduce a script that generates text files for the
public API surface of various crates.

Run the soon-to-be-introduced script and commit the changes. Covers:

- `hashes`
- `io`
- `primitives`
- `units`

The script and CI setup will be done in the next patch, this is just to
make review easier.
2024-12-06 15:20:52 +11:00
Jose Storopoli d9567b097f
ci: remove check-api
Removes check-api workflow, helper scripts, documentation, and files.
2024-07-04 10:08:06 +00:00
Tobin C. Harding 872ba938cc
api: Run just check-api 2024-06-26 15:06:48 +10:00
Andrew Poelstra 46dad847f2
api changes for split between Hash/GeneralHash 2024-06-24 13:51:09 +00:00
Andrew Poelstra 4652ce20ed
API changes for "delete `all_zeros`"
This is the kind of diff that is nicer to read than the source code.
2024-06-22 15:09:52 +00:00
Andrew Poelstra 9f8797f486
API changes for constification of hash constructors
This is a noisy diff and probably can just be ignored vs reading the
source diff in the previous commit.
2024-06-22 15:08:15 +00:00
Andrew Poelstra c155cbf8b2
hashes: use workaround to get constfns on tagged hashes with MSRV
As you can see from the - lines in the API diff, there is no reduction
in API surface (we just remove the T:Tag bound from the sha256t::Tag
type, which is not strictly necessary but maybe we would prefer to keep).
2024-06-22 15:08:15 +00:00
Tobin C. Harding 18b2788a5a
api: Run just check-api 2024-06-14 10:51:01 +10:00
Nick Johnson c9d1ff7037 Update hashes API changes 2024-05-30 15:50:51 -07:00
Tobin C. Harding 9e7cd97c25
Add a script to check the public API
We would like to check for API changes during development and in CI so
that such changes can be discussed separately from the code.

Add tooling and documentation for creating API listings for the public
crates within the workspace (i.e., not `internals`).

Add API text files from an initial run of the script.
2024-05-18 09:54:52 +10:00