Releases: ralexstokes/ssz-rs
safety third
a variety of security fixes/improvements
thanks to everyone who contributed!
What's Changed
- add potential fix for OOR access on Vector by @0xTylerHolmes in #54
- Refactor test gen by @ralexstokes in #67
- update ssz-rs-test-gen readme by @ralexstokes in #68
- Common trait impls by @ralexstokes in #55
- simplify some of the serialization routines by @ralexstokes in #65
- change headline name to reflect crate name by @ralexstokes in #70
- Adds code coverage workflow and badge. by @claravanstaden in #59
- Update README.md by @ralexstokes in #71
- Update README.md by @ralexstokes in #72
- remove
MerkleCache
and partial code by @ralexstokes in #74 - Remove panic defaults in List and Vector by @doubledup in #56
- Replace index with get by @doubledup in #60
- Ignore ssz-rs-derive & ssz-rs-test-gen for coverage by @doubledup in #75
- Note possible checked_sub cases by @doubledup in #57
- add/hide docs so all public items are documented by @ralexstokes in #77
- consolidate hash tree root implementation by @ralexstokes in #87
- feat: derive Hash for merkle node by @jacobkaufmann in #90
- Make
no_std
build work withserde
feature enabled by @aeryz in #58 - refactor exports to skip duplication in
lib.rs
by @ralexstokes in #80 - harden typing to increase safety of serialization routine by @ralexstokes in #81
- error on extra input when deserializing
Union[None]
for some SSZ union type by @ralexstokes in #83 - skip some duplicate checks when deserializing fixed types by @ralexstokes in #84
- simplify proc macro validation by @ralexstokes in #85
- Reduce use of "magic numbers" by @ralexstokes in #86
- remove unnecessary
dep:
prefix forssz-rs
feature set by @ralexstokes in #89 - v0.9.0 release by @ralexstokes in #91
New Contributors
- @0xTylerHolmes made their first contribution in #54
- @doubledup made their first contribution in #56
- @jacobkaufmann made their first contribution in #90
- @aeryz made their first contribution in #58
Full Changelog: v0.8.0...v0.9.0
v0.8: no-std
What's Changed
- basic merkle proof verification by @ralexstokes in #1
- Cache merkleization for some types by @ralexstokes in #3
- deprecate Merkle
Context
in lieu of static data by @ralexstokes in #5 - clean up dbg from test by @ralexstokes in #8
- Add serde feature by @ralexstokes in #13
- fix bug when serializing a "newtype" SSZ wrapper by @ralexstokes in #18
- fix clippy lints from clippy
0.1.65
by @ralexstokes in #29 - fix: avoid overflow on 32 bit architectures by @ncitron in #28
- remove
std::iter::FromIterator
imports to simplify code by @ralexstokes in #31 - lint: eliminate unnecessary cast by @ralexstokes in #36
- update CI with some missing functionality by @ralexstokes in #37
- error refactor by @ralexstokes in #40
- moves computation of merkle "zero hashes" to build time by @ralexstokes in #42
- add
no-std
by @claravanstaden in #25 - Update CI by @ralexstokes in #44
- Allow use of errors in places expecting
E: std::error::Error
by @ralexstokes in #46 - simplify bytes types by @ralexstokes in #48
- impl
U256::from_hex
by @ralexstokes in #50 - docs: add examples and crate docs by @onbjerg in #49
New Contributors
- @ralexstokes made their first contribution in #1
- @ncitron made their first contribution in #28
- @claravanstaden made their first contribution in #25
- @onbjerg made their first contribution in #49
Full Changelog: v0.7.0...v0.8.0
arrays and wrappers
Full Changelog: v0.6.0...v0.7.0
- support
[u8; N]
for0..=32
- rename exposed error type to avoid collisions
- add support for deriving tuple structs of one member to facilitate the "new type" pattern
one error to rule them all
Full Changelog: v0.5.0...v0.6.0
Expose one "wrapping" Error type to simplify the error story for consumers of this library.
others can merkle too
Full Changelog: v0.4.0...v0.5.0
Expose tools for others to write hash_tree_root
implementations.
reality comes at you fast
Full Changelog: v0.3.0...v0.4.0
This release includes a number of features to support the use of this library in a realistic setting, namely ethereum_consensus
.
three's a crowd
Minor fixes realized while using the crates in this repo in https://github.com/ralexstokes/ethereum_consensus geared towards usability and Clippy lints.
as the roots undo
Adds a SimpleSerialize
implementation for the Root
type defined in this crate.
Without this implementation, ssz_rs
users cannot define types that use Root
as "summaries" of their committed data. Due to rules of the Rust trait system, this implementation needs to live in this crate and cannot be defined externally.
genesis
First release!