All notable changes to this project can be found here and in each release's git tag and can be viewed with git tag -ln100 "v*".
Contributors do not need to change this file but do need to add changelog details in their PR descriptions. The person making the next release will collect changelog details from included PRs and edit this file prior to each release.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add new
justfile#195 - Add new simpler feature names
openssl,rustls, andrustls-ring#182 - Add support for Electrum Protocol v1.6 #190
- Add automatic
server.versionnegotiation on connect, exposed via a newprotocol_version()method andCLIENT_NAME/PROTOCOL_VERSION_MIN/PROTOCOL_VERSION_MAXconstants #190 - Add new
mempool_get_infomethod returningmempoolminfee,minrelaytxfee, andincrementalrelayfee#190 - Add new
transaction_broadcast_packagemethod for package relay (CPFP) #190 - Add new optional
EstimationMode(Conservative/Economical) parameter onestimate_fee#190 - Add new
AuthProvidertype alias (Arc<dyn Fn() -> Option<String> + Send + Sync>) for dynamic authorization token support (e.g. JWT Bearer, API keys, OAuth) #194
- Fix
bitcoin::block::Headerdocumentation link #195
- Change
ConfigBuilder::timeout()to acceptOption<Duration>#180 - Remove
Clientdependency on theproxyfeature #182 - The
Clientconstructors (new,new_ssl,new_ssl_from_stream,new_proxy) now fail if protocol version negotiation fails #190 - The
estimate_feenow takesOption<EstimationMode>as its second parameter #190 - Remove
minimal,debug-callsfeatures #182 - Remove conditional compilation of
ElectrumApi::calls_made#182 ConfigBuildernow accepts an optionalAuthProviderviaauthorization_provider(), enabling token-refresh patterns without reconnecting #194RawClientandClientType::from_configupdated to propagate the auth provider across all transport backends (TCP, SSL, SOCKS5) #194
- Default to
ringif multiplerustlsfeatures are set #183
- Use default
CryptoProviderif available, otherwise installrustls'sCryptoProviderbased on features #171 - Add a new batch method for
blockchain.transaction.get_merkle#170
- Fix batch request to Electrum servers out of order responses #160
- Allow types that references to
ElectrumApito also implement it #163
- Raise MSRV to
1.75and bumprustlsto0.23.21#159 - Enforce min
rustlsversion 0.23.19 to support MSRV with fix for RUSTSEC-2024-0399 #158
- Updates the NoCertificateVerification implementation for the rustls::client::danger::ServerCertVerifier to use the rustls::SignatureScheme from CryptoProvider in use #150
- Add
id_from_possupport #155
- Add use-rustls-ring feature #135
- refactor: make validate_merkle_proof more efficient #134
- chore: set rust edition to 2021, fix clippy, add ci fmt and clippy checks #139
- Upgrade rustls to 0.23 #132
- chore(deps): upgrade rust-bitcoin to 0.32.0 #133
- ci: add test with MSRV 1.63.0 #128
- Add Batch::raw and improve docs #94
- Remove webpki and bump webpki-roots to v0.25 #117
- Upgrade rust-bitcoin to v0.31.0 #121
- Add utility to validate GetMerkleRes #122
- Enforce timeout on initial socks5 proxy connection #125
- Revert "errors if expecting headers notification but not subscribed" #115