Releases: LNP-BP/client_side_validation
Client-side-validation v0.7
What's new
- Commit-convolve scheme
- Refactored commit-embed schemes
- Refactored LNPBP4 using merklization
- Refactored single-use-seals API
Detailed changelog
- Async support in single-use-seals by @dr-orlovsky in #36
- Fixing missed bulletproof use for commit_encode by @dr-orlovsky in #37
- Fixing merklization bug for certain length of data by @dr-orlovsky in #38
- Strict encoding advancements: TLVs, derive helpers, test helpers by @dr-orlovsky in #39
- Strict encoding: failing on even unknown TLVs, better docs by @dr-orlovsky in #40
- Support for non-optional TLV field types by @dr-orlovsky in #41
- TLV testing by @dr-orlovsky in #42
- Fixing encoding derive helpers bug with TLV non-copy encoding by @dr-orlovsky in #43
- Fixing strict encoding for TLV structs without aggregator by @dr-orlovsky in #46
- TLV main refactoring by @dr-orlovsky in #49
- SigHashType strict encoding by @dr-orlovsky in #50
- Strict encoding for rust range types by @dr-orlovsky in #51
- Strict encoding for amplify_num u24 type by @dr-orlovsky in #52
- Taproot support by @dr-orlovsky in #48
- Version bump & updates by @dr-orlovsky in #55
- Refactor commit-embed API by @dr-orlovsky in #56
- Implement strict en-/decoding with const generics by @KaiWitt in #45
- Fix issue with miniscript generic recursion in strict encoding by @dr-orlovsky in #57
- Improve commit_embed API by @dr-orlovsky in #58
- Fix const generic array strict encoding size limits by @dr-orlovsky in #59
- Strict encoding for miniscript descriptor inner types by @dr-orlovsky in #60
- RC fixes for strict_encoding 1.8.0 by @dr-orlovsky in #61
- Update to bitcoin & miniscript RC2 by @dr-orlovsky in #62
- Refactor commitment schemes by @dr-orlovsky in #63
- Make EmbedCommitProof::restore_original_container failable by @dr-orlovsky in #64
- VerifyEq trait for commitment verification of non-Eq types by @dr-orlovsky in #65
- Separate CommitError and VerifyError types in commit-embed-verify scheme by @dr-orlovsky in #66
- Completing strict encodings for bitcoin-related transaction types by @dr-orlovsky in #68
- Update to bitcoin release 0.28.0 by @dr-orlovsky in #69
- Strict encoding 1.8 release by @dr-orlovsky in #70
- Strict encoding test release by @dr-orlovsky in #71
- Revert strict encoding for rust-bitcoin PSBT type by @dr-orlovsky in #72
- Refactor single-use-seal API by @dr-orlovsky in #73
- Complete ConvolveCommit API by @dr-orlovsky in #74
- API for v0.7 by @dr-orlovsky in #75
- LBPNP-4 refactoring into Merkle tree by @dr-orlovsky in #76
- LNPBP-4 API enchancements by @dr-orlovsky in #77
- LargeVec for strict encoding arrays larger u16::MAX by @dr-orlovsky in #78
- Make lnpbp4::MerkleBlock::with public by @dr-orlovsky in #79
- Strict encoding of big signed int and float types by @dr-orlovsky in #80
- Support ieee::Oct strict encoding by @dr-orlovsky in #81
- Strict encoding MediumVec type supporting up to u24 elements by @dr-orlovsky in #82
- Support iter_mut for strict_encoding LargeVec and MediumVec types by @dr-orlovsky in #83
New Contributors
- @KaiWitt made their first contribution in #45
Full Changelog: v0.5.3...v0.7.0
Client-side-validation v0.6
Release based on taproot-enabled rust-bitcoin and rust-miniscript libraries.
What's Changed
- Async support in single-use-seals by @dr-orlovsky in #36
- Fixing missed bulletproof use for commit_encode by @dr-orlovsky in #37
- Fixing merklization bug for certain length of data by @dr-orlovsky in #38
- Strict encoding advancements: TLVs, derive helpers, test helpers by @dr-orlovsky in #39
- Strict encoding: failing on even unknown TLVs, better docs by @dr-orlovsky in #40
- Support for non-optional TLV field types by @dr-orlovsky in #41
- TLV testing by @dr-orlovsky in #42
- Fixing encoding derive helpers bug with TLV non-copy encoding by @dr-orlovsky in #43
- Fixing strict encoding for TLV structs without aggregator by @dr-orlovsky in #46
- TLV main refactoring by @dr-orlovsky in #49
- SigHashType strict encoding by @dr-orlovsky in #50
- Strict encoding for rust range types by @dr-orlovsky in #51
- Strict encoding for amplify_num u24 type by @dr-orlovsky in #52
- Taproot support by @dr-orlovsky in #48
- Version bump & updates by @dr-orlovsky in #55
- Refactor commit-embed API by @dr-orlovsky in #56
- Implement strict en-/decoding with const generics by @KaiWitt in #45
New Contributors
- @KaiWitt made their first contribution in #45
Full Changelog: v0.5.3...v0.6.0
Client-side-validation v0.5
This version for the first time represents reference implementation for R1 version of client-side-validation standards, organized in separate sublibraries/rust crates:
- 📦 Strict encoding (LNPBP-7 and LNPBP-42 standards): binary standard of encoding client-side-validated data and network addresses.
- 📦 Commit-verify client-side-validation-specific APIs, including
- 📦 Single-use-seals API (LNPBP-8 standard)
- 📦 Client-side-validation API from the library root, linking those components together according to LNPBP-9 standard.
The library represents generalized client-side-validation APIs, abstracted from its bitcoin-specific applications and RGB, with detailed documentation and test coverage.
This release finalizes all pending work on client-side-validation and is a final release before the library will move to v1.0 version, which will be released upon the final audit of the current release. This will define a milestone when client-side-validation can be used in production environments.
The library is located at https://crates.io/crates/client_side_validation. Library documentation 📖 is at https://docs.rs/client_side_validation/0.5.0/
Supported & tested platforms: Linux (Ubuntu 20.04 and Ubuntu 21.04), Mac OS (Mac OS Big Sur and Mac OS Catalina), Windows 2020 Server.