RB
← All projectsRust Bitcoin

rust-bitcoin

Rust library for Bitcoin data structures, serialization, consensus encoding, and scripts.

BitcoinCryptographic librariesNormal
Repository coverage

2070 commits in the local evidence base

Every captured commit receives deterministic security triage and a separate communication-quality score. Security candidates and broader second-pass signals receive full-patch Ollama analysis.

459security candidates448second-pass queue426AI analyses
192commits · 30 days
405commits · 60 days
1283commits · 180 days
2070commits · 365 days
Backfill bands
Aug 5 → Feb 6787 seen32 candidatesComplete
Feb 6 → Jun 6878 seen53 candidatesComplete
Jun 6 → Jul 6211 seen15 candidatesComplete
Jul 6 → Aug 5184 seen2 candidatesComplete
Commit communication

Does the history explain itself?

Message quality measures whether a commit identifies its scope, purpose, rationale, testing, and supporting references. It does not change the security-severity score.

64/100 average clarity
311Strong · 80–100
1054Adequate · 60–79
555Thin · 40–59
150Opaque · 0–39
20security candidates with opaque commit messaging
Read the scoring rubric →
Developer activity

Who is changing the project?

Public Git author strings; identities are not independently verified.

DeveloperCommitsCandidatesAnalyzedHigh riskMessage avg.
Mitchell Bagot640192192068
Tobin C. Harding4096562063
jrakibi944949068
Nick Johnson189206059
Andrew Poelstra512015075
Jamil Lambert, PhD1141818061
Fmt Bot311414045
Trevor Arjeski111111069
Shing Him Ng3177056
Ismail Daif2266050
satsfy (Renato Britto)1766066
Martin Habovstiak2755069
Analysis record

Published AI watches

Last scanned 53 minutes ago

Informational 15 AI analysisMessage 60 · Adequate
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

base58ck: Bump version to 0.5.0

This commit is a routine version bump for the base58ck crate from 0.4.0 to 0.5.0. It only updates version numbers in package manifests, lock files, and adds a changelog entry describing unrelated feature changes. There are no code changes,…

8479b56eby Tobin C. Harding+22−168 files
No security note in commit
Informational 20 AI analysisMessage 58 · Thin
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

Rename Error to DecodeCheckError

This commit is a routine code cleanup: it renames the `Error` type in the base58 module to the more descriptive `DecodeCheckError`, and adds a deprecated type alias so existing code using `base58::Error` continues to work. There is no chan…

b0eba4c0by Mitchell Bagot+45−395 files
No security note in commit
Informational 15 AI analysisMessage 78 · Adequate
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

hashes: add sha256::Midstate::SHA256_IV constant

This commit is a routine internal refactoring in the rust-bitcoin SHA-256 hashing code. It exposes the SHA-256 initial value (IV) as a public constant and renames an internal helper function so it can start from any midstate rather than al…

dc21841bby Andrew Poelstra+39−143 files
No security note in commit
Informational 15 AI analysisMessage 50 · Thin
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

hashes: add several methods to sha256::Midstate for computing them in const contexts

This commit adds new helper methods to the SHA-256 'Midstate' type in the rust-bitcoin hashes library. These helpers let callers compute SHA-256 intermediate states inside 'const' contexts (compile-time constants). It is a routine feature …

7d8f06d2by Andrew Poelstra+80−72 files
No security note in commit
Informational 17 AI analysisMessage 73 · Adequate
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

taproot-primitives: Implement encoding traits for TapLeafHash

This commit adds standard data-encoding support for a Bitcoin Taproot hash type (TapLeafHash) so it can be properly serialized and deserialized in PSBT data. There is no indication of a security bug being fixed; it appears to be a missing-…

No security-relevant signal in commit message or diffChange is a feature addition (encoding trait implementations)No bounds-checking, memory-safety, or cryptographic flaws evident in diff
b2ab0896by Mitchell Bagot+59−12 files
No security note in commit
Informational 18 AI analysisMessage 73 · Adequate
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

Split Address into an extension trait

This commit is a routine code reorganization in the rust-bitcoin library. It moves the `Address::from_script` method out of the main `Address` type into a new 'extension trait' called `AddressExt`. The actual logic of the function is copie…

c900fa8cby Mitchell Bagot+35−263 files
No security note in commit
Informational 15 AI analysisMessage 60 · Adequate
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

primitives: Bump version to 0.103.0

This commit is a routine release preparation: it bumps the version number of the `bitcoin-primitives` crate from 0.102.0 to 0.103.0, updates related dependency declarations in other crates, refreshes lock files, and adds a changelog entry.…

5612224dby Tobin C. Harding+48−88 files
No security note in commit
Informational 15 AI analysisMessage 45 · Thin
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

hashes: bump version to 1.1.0

This commit is a routine version bump for the bitcoin_hashes crate from 1.0.0 to 1.1.0. It updates dependency references across the workspace, records the release in the changelog, and adjusts deprecation lint allowances in tests. There is…

bf3f25f4by Nick Johnson+34−269 files
No security note in commit
Informational 17 AI analysisMessage 80 · Strong
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

refactor(bip32): Xpub child tweak api

This commit is a straightforward API refactor in the BIP-32 (Bitcoin key derivation) code. It replaces a function that returned a raw secret key and chain code with one that returns a new structured type called XpubChildTweak. The actual c…

No security-relevant behavioral change observedAPI rename and return-type encapsulation onlyNo new validation, bounds checking, or constant-time guarantees added
37191717by Trevor Arjeski+21−71 file
No security note in commit
Informational 18 AI analysisMessage 85 · Strong
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

refactor(bip32): rename Xpub and Xpriv derivation methods

This is a routine code cleanup in a Bitcoin library. It renames key-derivation methods on extended public and private keys (Xpub/Xpriv) to clearer names and removes old aliases. There is no security bug being fixed and no new vulnerability…

No security-relevant logic changePure API renaming/refactoringDeprecated method removal may break downstream callers at compile time
f8f053fdby Trevor Arjeski+61−852 files
No security note in commit
Informational 15 AI analysisMessage 60 · Adequate
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

internals: Bump version to 0.6.0

This commit is a routine version bump for the internal 'bitcoin-internals' crate from 0.5.0 to 0.6.0. It updates version numbers across package manifests and lock files, and adds a changelog describing API cleanups and small improvements. …

aed7a9ceby Tobin C. Harding+73−5616 files
No security note in commit
Informational 15 AI analysisMessage 68 · Adequate
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

Remove hex dep from internals

This commit simply removes an unused software dependency (the hex-conservative crate) from the internals sub-package and updates related package configuration files. It is a routine cleanup change with no security relevance.

bd0d4bc0by Tobin C. Harding+8−118 files
No security note in commit
Informational 17 AI analysisMessage 73 · Adequate
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

Replace external uses of base58 encoding with Base58CkString

This commit is a routine internal code cleanup in the rust-bitcoin project. It swaps old base58 encoding helper functions for a new equivalent type, Base58CkString, in three source files. There is no indication from the commit itself that …

No security-relevant signal in the diff: equivalent API swap onlyNo new dependencies or unsafe blocks introducedNo changes to input validation, parsing, or secret handling
7f5fbd13by Mitchell Bagot+10−103 files
No security note in commit
Informational 15 AI analysisMessage 68 · Adequate
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

Add try_push to Buffer trait

This commit adds a new `try_push` method to an internal `Buffer` trait used during Base58 encoding. It is a straightforward, additive change that lets encoding code gracefully handle a full fixed-size buffer in no-allocation builds. There …

aafb6065by Mitchell Bagot+15−01 file
No security note in commit
Informational 15 AI analysisMessage 73 · Adequate
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

consensus_encoding: Rename _with decoder functions

This commit is a simple renaming of internal Rust functions from names ending in '_with' to names ending in '_with_decoder'. It does not change what the code does, only what the functions are called, to avoid confusion with another functio…

12325a67by Mitchell Bagot+18−174 files
No security note in commit
Informational 17 AI analysisMessage 63 · Adequate
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

Move ScriptPubKeyBufExt to addresses

This commit is a routine internal code reorganization in the rust-bitcoin library. It moves a helper trait (ScriptPubKeyBufExt) and its functions from one internal module to another, and re-exports it so existing users see no change. There…

ed00d91aby Mitchell Bagot+92−552 files
No security note in commit
Informational 16 AI analysisMessage 50 · Thin
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

hashes: Deprecate sha256t_tag macro

This is a routine code-maintenance change: the developers are marking an old helper macro as deprecated and telling users how to write the same code by hand. There is no bug fix, no security patch, and no vulnerability being addressed in t…

ac921e97by jrakibi+26−123 files
No security note in commit
Informational 15 AI analysisMessage 45 · Thin
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

2026-07-05 automated rustfmt nightly

This commit is a routine automated code-formatting run by the rustfmt tool. It only changes whitespace, import order, and line breaks in five files. There are no functional changes, no bug fixes, and no security-related modifications.

673e5ee4by Fmt Bot+12−115 files
No security note in commit
Informational 15 AI analysisMessage 68 · Adequate
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

hashes: implement sha256t::Tag without the macro

This commit is a routine code cleanup in the rust-bitcoin library. It replaces a macro used to define SHA-256 tagged hash identifiers with direct Rust code that does the same thing. The actual hash values and behavior are unchanged; only t…

0131814dby jrakibi+30−133 files
No security note in commit
Informational 15 AI analysisMessage 95 · Strong
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

ci: adapt default and no feature bip32 test for rbmt 0.4.0

This is a routine update to the project's automated testing configuration. A tool used to run example tests changed its syntax, so the developer updated one line to keep the same tests running the same way. There is no user-facing change a…

5f933d5cby satsfy (Renato Britto)+1−11 file
No security note in commit
Repository ledger

Explore captured commits

Expand any commit for its author, full message, clarity score, changed files, triage signals, analysis, and source link.

Lower-priorityAdd `impl Clone for Box<{custom DST}>`by Martin Habovstiak · 9b738a5f · Jul 17, 2026 · 5 filesMessage 78 · AdequateTriage 0Details
Commit message · Martin Habovstiak

Add `impl Clone for Box<{custom DST}>`

`Script<T>` and `PushBytes` are unsized types wrapping `[u8]`. The standard
library only provides `Clone for Box<T>` where `T: Clone + Sized`, so
`Box<Script<T>>` and `Box<PushBytes>` were missing `Clone` implementations.

Add manual `impl<T> Clone for Box<Script<T>>` and `impl Clone for
Box<PushBytes>` that clone the underlying bytes and wrap them in new boxed
values via `from_boxed_bytes` / `from_boxed_slice_unchecked`.

Also add the corresponding `Box<{Script variant}>` and `Box<PushBytes>` fields
to the API test's `Clone` struct (guarded by `#[cfg(feature = "alloc")]`) so
that these impls are covered by the compile-time API surface tests.

78/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
AI review queuedprimitives: Remove todoby Tobin C. Harding · e62e553d · Jul 17, 2026 · 1 fileMessage 23 · OpaqueTriage 12Details
Commit message · Tobin C. Harding

primitives: Remove todo

Just remove it and document that state machine code is often verbose.

23/100 · OpaqueMessage clarity
✓ Subject identifies a change✓ Provides an explanatory body! Contains work-in-progress language
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
Security candidateprimitives: Bump version to 0.103.0by Tobin C. Harding · 5612224d · Jul 17, 2026 · 8 filesMessage 60 · AdequateInformational 15Details
Commit message · Tobin C. Harding

primitives: Bump version to 0.103.0

In preparation for release add a changelog entry, bump the version,
and update the lock files.

60/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Why it was queued
cryptography-sensitive path
AI analysis · Informational 15/100

This commit is a routine release preparation: it bumps the version number of the `bitcoin-primitives` crate from 0.102.0 to 0.103.0, updates related dependency declarations in other crates, refreshes lock files, and adds a changelog entry. There are no code logic changes and no security fix or vulnerability introduced in the diff itself.

Lower-prioritybitcoin: Depend on encoding 1.1.0by Tobin C. Harding · c719de4c · Jul 17, 2026 · 1 fileMessage 68 · AdequateTriage 0Details
Commit message · Tobin C. Harding

bitcoin: Depend on encoding 1.1.0

The `bitcoin` crate uses the `hex` feature of `encoding` which only
came out in `1.1.0` so we need to explicitly depend on that version.

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Lower-priorityAutomated update to rustc stable-1.97.1by Update Stable Rustc Bot · 41258026 · Jul 17, 2026 · 1 fileMessage 45 · ThinTriage 0Details
Commit message · Update Stable Rustc Bot

Automated update to rustc stable-1.97.1

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Lower-priorityfuzz: update to target 0.32.102by yancy · d75c8544 · Jul 16, 2026 · 3 filesMessage 55 · ThinTriage 5Details
Commit message · yancy

fuzz: update to target 0.32.102

55/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
fuzzing or regression evidence
Lower-prioritytest: V1NetworkMessage sendcmpct should be either 1 or 0by Abeeujah · e99b8e4f · Jul 16, 2026 · 1 fileMessage 87 · StrongTriage 0Details
Commit message · Abeeujah

test: V1NetworkMessage sendcmpct should be either 1 or 0

Add a test that if the mode bit of the sendcmpct should fail if not 1 or
0.

87/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body✓ Mentions testing or verification
Lower-priorityp2p: make SendCmpct encode/decode idempotentby yancy · b7c35eff · Jul 16, 2026 · 1 fileMessage 88 · StrongTriage 0Details
Commit message · yancy

p2p: make SendCmpct encode/decode idempotent

Normalizing the mode bit makes serialization/deserealiztion _not_
idempotent. That's due to the checksum that's created before
normalization which if serialized again, no longer has the same
checksum. This cases a failure to serialize the same `SendCmpct` which
was received if the mode bit is anything other then 0 or 1.
Furthermore, the spec https://bips.dev/152/ defines only 0
(low-bandwidth mode) or 1 (high-bandwidth mode) so anything other than
0 or 1 is unspecified and should result in an error.

As quoted from spec https://bips.dev/152/:
The first integer SHALL be interpreted as a boolean (and MUST have a
value of either 1 or 0)

88/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Links an issue, advisory, or supporting reference
AI review queuedUpdate API filesby Mitchell Bagot · e49c6b95 · Jul 16, 2026 · 4 filesMessage 28 · OpaqueTriage 0Details
Commit message · Mitchell Bagot

Update API files

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
documentation-only discountsecond-pass: opaque commit message
Lower-priorityMove error types to error submodulesby Mitchell Bagot · 17c4b76b · Jul 16, 2026 · 3 filesMessage 68 · AdequateTriage 0Details
Commit message · Mitchell Bagot

Move error types to error submodules

In the crates, all error types should be defined within error submodules
and then re-exported no_inline in the main module. Currently, we have
two error types that do not follow this pattern in units and primitives.

Move error types to error submodules and re-export no_inline.

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI review queuedUpdate API filesby Mitchell Bagot · 7153746e · Jul 16, 2026 · 2 filesMessage 28 · OpaqueTriage 0Details
Commit message · Mitchell Bagot

Update API files

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
documentation-only discountsecond-pass: opaque commit message
Lower-priorityAdd Extend impl to Witnessby Mitchell Bagot · 8f47aff7 · Jul 16, 2026 · 1 fileMessage 68 · AdequateTriage 0Details
Commit message · Mitchell Bagot

Add Extend impl to Witness

Per the C-COLLECT API guideline, any collection type that implements
FromIterator should also implement Extend. Since the Witness type
already has the push method, and FromIterator impl, it is clearly
intended to be usable like a collection and should thus also have
Extend.

Add Extend impl to Witness.

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Lower-priorityAdd Debug impl to witness::Iterby Mitchell Bagot · 986967f4 · Jul 16, 2026 · 3 filesMessage 68 · AdequateTriage 0Details
Commit message · Mitchell Bagot

Add Debug impl to witness::Iter

The C-DEBUG API guideline recommends that all public types implement
Debug. The witness::Iter type is the only public type in primitives
which does not implement Debug, and thus should have a Debug derive
added to it.

Add derive(Debug) impl to witness::Iter.

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Security candidatehashes: bump version to 1.1.0by Nick Johnson · bf3f25f4 · Jul 15, 2026 · 9 filesMessage 45 · ThinInformational 15Details
Commit message · Nick Johnson

hashes: bump version to 1.1.0

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
cryptography-sensitive path
AI analysis · Informational 15/100

This commit is a routine version bump for the bitcoin_hashes crate from 1.0.0 to 1.1.0. It updates dependency references across the workspace, records the release in the changelog, and adjusts deprecation lint allowances in tests. There is no security-relevant code change.

Lower-priorityMake Witness FromIterator infallibleby Mitchell Bagot · d3c9d3a1 · Jul 15, 2026 · 1 fileMessage 58 · ThinTriage 0Details
Commit message · Mitchell Bagot

Make Witness FromIterator infallible

The current Witness FromIterator impl uses the WitnessDecoder
internally. This was initially done as a means of reducing the
allocations needed to construct the type. However, for DoS protection,
the WitnessDecoder has various limitations that make it unsuitable for
infallible Witness construction. Instead, the old infallible solution
should be used, but tweaked to remove the previous per-item allocations
from the iterator collection.

Adjust the Witness FromIterator implementation to use a collect and
from_slice call to remove the incorrect function beyond the DoS
protection limits of the WitnessDecoder.

58/100 · ThinMessage clarity
✓ Descriptive subject✓ Provides detailed explanatory context
Lower-priorityUse DebugTuple for Builder debugby Mitchell Bagot · 350c583d · Jul 15, 2026 · 1 fileMessage 68 · AdequateTriage 0Details
Commit message · Mitchell Bagot

Use DebugTuple for Builder debug

The Builder Debug impl currently calls through to Display which
eventually calls down to Script's Display. For empty scripts, this can
render as a empty string. Per the C-DEBUG-NONEMPTY API guideline, all
Debug impls should always render something, even for conceptually empty
types.

Use DebugTuple in the Builder Debug to render the struct name around
the internal content.

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Lower-priorityfuzz: Fix stale scriptby Tobin C. Harding · cdd2ecd2 · Jul 14, 2026 · 1 fileMessage 73 · AdequateTriage 5Details
Commit message · Tobin C. Harding

fuzz: Fix stale script

As usual the `generate-files.sh` script is stale. Update it using the
contents of `fuzz/Cargo.toml` so that running script produces no changes.

73/100 · AdequateMessage clarity
✓ Subject identifies a change✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Mentions testing or verification
Why it was queued
fuzzing or regression evidence
Lower-priorityio: Bump version to 0.6.0by Tobin C. Harding · 545aeeb2 · Jul 14, 2026 · 5 filesMessage 60 · AdequateTriage 0Details
Commit message · Tobin C. Harding

io: Bump version to 0.6.0

In preparation for release add a changelog entry, bump the version
number, and update the lock files.

60/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Lower-priorityRefactor Encoder and ExactSizeIterator Option implsby Abeeujah · f723b10a · Jul 14, 2026 · 1 fileMessage 65 · AdequateTriage 0Details
Commit message · Abeeujah

Refactor Encoder and ExactSizeIterator Option impls

Replace match statements with idiomatic Option combinator methods
to flatten code and improve readability.

65/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
AI review queuedconsensus_encoding: flatten error constructorsby Abeeujah · 0d4a9ddc · Jul 14, 2026 · 2 filesMessage 58 · ThinTriage 7Details
Commit message · Abeeujah

consensus_encoding: flatten error constructors

Refactor deeply nested error type constructors with chained map_err
calls, This improves readability by making each error conversion step
explicit and avoids deeply nested error constructors.

Allow clippy unnecessary_map_on_constructor in place where readability
is preferred over clippy being right.

58/100 · ThinMessage clarity
✓ Descriptive subject✓ Provides detailed explanatory context
Why it was queued
parser or protocol pathsecond-pass: security-sensitive path
AI review queuedconsensus_encoding: Deduplicate end() error path in decodersby Abeeujah · b30de4d4 · Jul 14, 2026 · 2 filesMessage 73 · AdequateTriage 7Details
Commit message · Abeeujah

consensus_encoding: Deduplicate end() error path in decoders

Both ByteVecDecoder and VecDecoder had identical error handling
patterns in their end methods, structured to check prefix, compare
bytes, return Err with the missing amount. This patch reorders the
logic to compute the missing value first, and early returns when no
bytes are missing.

CompactSizeDecoder end method refactored via pattern matching to
error when either the decoded value is outside the given range
or above the decoded limit.

This reduces the error construction duplication and clarifies the
control flow.

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
parser or protocol pathsecond-pass: security-sensitive path
Lower-priorityMake ToU64 privateby Mitchell Bagot · 56b2eff9 · Jul 14, 2026 · 1 fileMessage 51 · ThinTriage 0Details
Commit message · Mitchell Bagot

Make ToU64 private

The ToU64 trait was moved from internals to bitcoin recently. When
moved, it was made public in bitcoin as it was used in the public API
of some of the old consensus code. With that consensus code removed,
the trait should be made private.

Make ToU64 pub(crate).

51/100 · ThinMessage clarity
✓ Subject identifies a change✓ Provides detailed explanatory context
Lower-priorityconsensus-encoding: Bump version to 1.1.0by Tobin C. Harding · a94e3ca7 · Jul 14, 2026 · 4 filesMessage 68 · AdequateTriage 0Details
Commit message · Tobin C. Harding

consensus-encoding: Bump version to 1.1.0

In preparation for release add a changelog entry, bump the version,
and update the lock files.

This is a post-1.0 release so we need to be careful here team. Please
spend some time reviewing the output of:

`git diff bitcoin-consensus-encoding-1.0.0 consensus_encoding`

With careful eye for API design choices, things that might make
maintenance harder etc.

Thanks

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Security candidaterefactor(bip32): Xpub child tweak apiby Trevor Arjeski · 37191717 · Jul 13, 2026 · 1 fileMessage 80 · StrongInformational 17Details
Commit message · Trevor Arjeski

refactor(bip32): Xpub child tweak api

- Replace ckd_pub_tweak with derive_child_tweak returning XpubChildTweak.
- Remove Xpub::ckd_pub_tweak. Users must use Xpub::derive_child_tweak
and XpubChildTweak instead.

80/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Why it was queued
secret or key materialcryptography-sensitive path
AI analysis · Informational 17/100

This commit is a straightforward API refactor in the BIP-32 (Bitcoin key derivation) code. It replaces a function that returned a raw secret key and chain code with one that returns a new structured type called XpubChildTweak. The actual cryptographic math and behavior remain the same; only the way callers receive the result has changed. There is no indication this fixes a security bug.

Security candidaterefactor(bip32): rename Xpub and Xpriv derivation methodsby Trevor Arjeski · f8f053fd · Jul 13, 2026 · 2 filesMessage 85 · StrongInformational 18Details
Commit message · Trevor Arjeski

refactor(bip32): rename Xpub and Xpriv derivation methods

- Rename the xpriv and xpub derivation APIs to derive_child and derive_path
- Remove derive_priv, derive_xpriv, derive_pub, derive_xpub, and
ckd_pub. Callers should now use derive_child for single ChildNumber
derivation and derive_path for path derivation.

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Why it was queued
secret or key materialcryptography-sensitive path
AI analysis · Informational 18/100

This is a routine code cleanup in a Bitcoin library. It renames key-derivation methods on extended public and private keys (Xpub/Xpriv) to clearer names and removes old aliases. There is no security bug being fixed and no new vulnerability introduced; it is purely a refactoring that may require downstream developers to update their code.