Skip to content

Releases: ava-labs/firewood

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 13:23
v0.8.0
4966572

What's Changed

  • feat(fwdctl): add import command by @dvansari65 in #2082
  • docs(storage): document FileBacked struct and its fields by @RodrigoVillar in #2112
  • ci(deps): bump golang.org/x/net from 0.52.0 to 0.55.0 in /ffi/tests/firewood by @dependabot[bot] in #2113
  • fix(proofs): change-proof verification accepts forged batch ops by @dvansari65 in #2109
  • fix(storage): validate AreaIndex::TryFrom against NUM_AREA_SIZES by @demosdemon in #2119
  • chore(clippy): allow unwrap and indexing in tests by @demosdemon in #2117
  • ci: run clippy on a pinned nightly, gate maxperf, and add a weekly nightly lint by @demosdemon in #2115
  • ci(deps): bump golang.org/x/crypto from 0.51.0 to 0.52.0 in /ffi/tests/firewood by @dependabot[bot] in #2127
  • ci(deps): bump golang.org/x/crypto from 0.45.0 to 0.52.0 in /ffi/tests/eth by @dependabot[bot] in #2129
  • feat(ffi): Close option to force-close outstanding FFI handles for avalanchego async execution engine by @rkuris in #1976
  • docs: document the lint-suppression policy by @demosdemon in #2116
  • chore(release): prepare for v0.8.0 by @alarso16 in #2133

Full Changelog: v0.7.0...v0.8.0

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 29 Jun 19:38
v0.7.0
be189c5

What's Changed

  • fix(proofs): reconcile partial-storage account values by @bernard-avalabs in #2060
  • fix(launch): correct restored C-chain config for the validator scenario by @rkuris in #2072
  • chore(deps): bump Rust dependencies and fix breaking changes by @RodrigoVillar in #2076
  • fix(proofs): reject change proof that drops an in-range Put behind a left-edge exclusion boundary by @rkuris in #2064
  • feat(proofs): 5/7 add eth_get_proof entry point producing eth_getProof-compatible proofs by @rkuris in #2053
  • perf: skip using FDL when running in archival mode by @RodrigoVillar in #2078
  • feat(labels): introduce versioned label taxonomy by @demosdemon in #2084
  • feat(labels): add issue intake forms and label lifecycle automation by @demosdemon in #2085
  • docs: add mdBook documentation site design spec by @demosdemon in #2068
  • refactor(storage): unify hash_helper receiver by @RodrigoVillar in #2093
  • feat(ffi): 6/7 add fwd_eth_get_proof FFI surface by @rkuris in #2054
  • docs: explain how to sign commits in CONTRIBUTING by @rkuris in #2096
  • refactor(storage): add FreeLists newtype by @RodrigoVillar in #2097
  • refactor(storage): remove bitflags dependency from path.rs by @dvansari65 in #2092
  • feat(devcontainer): rewrite as a Dockerfile-less feature-based config by @demosdemon in #2087
  • feat(ffi): 7/7 add Go EthGetProof wrapper and go-ethereum verification test by @rkuris in #2055
  • test: add insta snapshot tests for proof and node wire serialization by @demosdemon in #2104
  • fix: prevent OOM DoS in Box<[T]>::read_v0_item via untrusted num_items by @dvansari65 in #2095
  • feat: support eth_getProof for reconstructed revisions by @RodrigoVillar in #2059
  • docs: update CONTRIBUTING.md for duplicate docs by @RodrigoVillar in #2106
  • chore(release): prepare for v0.7.0 by @RodrigoVillar in #2110

Full Changelog: v0.6.0...v0.7.0

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 09 Jun 17:47
v0.6.0
f56b467

What's Changed

  • perf(storage): fill predictive read buffer for unaligned reads by @AminR443 in #1964
  • ci: gate canonical-repo workflows on github.repository by @rkuris in #2011
  • feat(proofs): emit canonical Ethereum MPT-RLP from ProofNode by @rkuris in #2004
  • fix(storage): 2/2 persist computed storageRoot in account node values by @rkuris in #1938
  • docs(changelog): detect breaking-change PR labels in CHANGELOG automatically by @demosdemon in #2016
  • docs(release): document undocumented steps, add versioning policy by @demosdemon in #2017
  • feat(storage): add NodeHashAlgorithm::is_ethereum predicate by @rkuris in #2014
  • chore: fix nightly clippy warnings by @rkuris in #2019
  • build(ffi): Run the ffi tests in debug mode by @rkuris in #1562
  • build(ffi): vendor golangci-lint as go tool, drop third-party action by @rkuris in #2026
  • chore: bump go to 1.25.10 by @RodrigoVillar in #2036
  • chore: add 33m-33.5m benchmark by @RodrigoVillar in #2038
  • test(fwdctl): refactor CLI test setup by @sueun-dev in #2037
  • feat(ffi): code-hash iterator for change proofs by @bernard-avalabs in #2033
  • feat: add update convenience API by @dvansari65 in #2029
  • refactor: take &[u8] in key_value_iter_from_key by @RodrigoVillar in #2041
  • fix(proofs): annotate edge-proof hash mismatches with Left/Right edge by @rkuris in #2028
  • feat(proofs): 4/7 add AccountFields decoder and rlp byte-string parse helpers by @rkuris in #2051
  • chore: add TODO checker by @RodrigoVillar in #2044
  • fix: set background in Firewood architecture diagram by @RodrigoVillar in #2065
  • fix(proofs): hash single storage child as storage-trie root by @bernard-avalabs in #2058
  • feat(metrics): add firewood_proof_keys histogram for proof sizes by @rkuris in #2069
  • fix(launch): repair grafana/prometheus metrics pipeline on launched instances by @rkuris in #2070
  • feat(launch): add validator scenario bootstrapping from S3 state snapshot by @rkuris in #2071
  • chore(release): prepare for v0.6.0 by @RodrigoVillar in #2075

New Contributors

Full Changelog: v0.5.0...v0.6.0

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 19 May 12:40
v0.5.0
0695b91

What's Changed

  • ci(deps): bump DavidAnson/markdownlint-cli2-action from 23.0.0 to 23.1.0 in the github-actions group by @dependabot[bot] in #1954
  • feat: add pathdb config + 33m block option by @RodrigoVillar in #1959
  • fix: resolve false rejection at straddling nibbles in collapse_strip by @bernard-avalabs in #1952
  • fix: remove duplicate children loop in compute_root_hash_with_proofs by @bernard-avalabs in #1948
  • ci(deps): bump the github-actions group with 2 updates by @dependabot[bot] in #1977
  • fix(fwdctl): drop legacy rustls feature to clear GHSA-82j2-j2ch-gfr8 by @rkuris in #1956
  • perf(storage): add in-tree crate::rlp module + benchmark by @rkuris in #1957
  • perf: migrate firewood off the upstream rlp crate by @rkuris in #1958
  • refactor(ffi): simplify change proof interface with unified Proposal type by @bernard-avalabs in #1966
  • chore: remove weekly 50m-60m job by @RodrigoVillar in #1983
  • test: add edge case tests for change proof verification by @bernard-avalabs in #1946
  • fix(manager): resolve empty-trie revision under ethhash without RootStore (TOB-FIREWOOD-7) by @rkuris in #1982
  • chore: export errRevisionNotFound by @RodrigoVillar in #1955
  • refactor(proofs): move range/change proof verification helpers from FFI to firewood by @rkuris in #1990
  • test: add adversarial attack tests for change proof verification by @bernard-avalabs in #1947
  • fix(range-proof): use last_kv_key as right-edge anchor for inclusion-style end_proofs by @rkuris in #1970
  • ci: Update workflow to use macOS 26, drop x86_64 mac target by @demosdemon in #1996
  • fix(manager): hold proposals lock across cleanup and reparent (TOB-FIREWOOD-6) by @rkuris in #1981
  • ci(deps): bump cachix/cachix-action from 1eb2ef646ac0255473d23a5907ad7b04ce94065c to 5f2d7c5294214f71b873db4b969586b980625e71 in the github-actions group by @dependabot[bot] in #1995
  • ci: use deploy key instead of pat by @demosdemon in #2002
  • fix(manager): use CommittedId for parent identity, skip trivial commits by @rkuris in #1987
  • feat(ffi): implement range proof verification (Trail of Bits finding TOB-FIREWOOD-2) by @rkuris in #1971
  • perf(storage): retain hashed root in Reconstructed for cheap forks by @rkuris in #1999
  • chore: add firewood review skill and copilot instructions by @demosdemon in #1993
  • fix(storage): pin committed parent in Reconstructed to prevent reaping by @rkuris in #2000
  • refactor(storage): lift nibbles_to_eth_compact into eth_encoding module by @rkuris in #2003
  • feat: add ability to clone reconstructed revisions by @RodrigoVillar in #1991
  • chore(release): prepare for v0.5.0 by @RodrigoVillar in #2006

Full Changelog: v0.4.0...v0.5.0

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 03 May 20:38
v0.4.0
8213187

What's Changed

  • docs: include go docs in gh-pages by @demosdemon in #1819
  • chore(ci): Pedantically check all golang errors by @rkuris in #1820
  • fix(ffi): Return error from ChangeProof. Allow MarshalBinary after verification by @bernard-avalabs in #1828
  • Simple range proof verification by @rkuris in #1566
  • fix(deferred-persistence): carry metrics context into worker by @demosdemon in #1829
  • feat(proofs): 1/4 Range Proof Verification by @rkuris in #1715
  • chore(deps): update rust deps by @demosdemon in #1830
  • chore(ci): Remove metrics check by @rkuris in #1838
  • feat(metrics): Add jemalloc metrics by @rkuris in #1837
  • ci(deps): bump actions/deploy-pages from 4 to 5 in the github-actions group by @dependabot[bot] in #1841
  • feat(proofs): 2/6 Range Proof Verification by @rkuris in #1716
  • refactor(merkle): 3/6 fix dup detection in dump_node with keep_alive vec by @rkuris in #1832
  • refactor(metrics)!: remove histograms by @Elvis339 in #1847
  • feat(range-proof-verification): 4/6 complete range proof verification by @rkuris in #1833
  • test(proofs): 5/6 enable ignored range proof tests and add negative tests by @rkuris in #1834
  • fix(range-proof): manual audit bug fixes by @rkuris in #1848
  • test(proofs): 6/6 add fuzz-style standalone range proof verification by @rkuris in #1835
  • refactor(proofs): replace ChildMask [bool; 16] with u16 newtype by @rkuris in #1849
  • refactor(range-proofs): Consolidate ChildrenMap into ChildMask by @rkuris in #1852
  • refactor(merkle)!: reduce visibility of firewood::merkle module by @rkuris in #1858
  • docs(metrics): add usage guidance metric-naming conforming examples by @Elvis339 in #1864
  • feat(metrics): add firewood_describe_counter! and firewood_describe_gauge! facades by @Elvis339 in #1853
  • feat(change-proof): add change proof verification error variants and document value_digest by @bernard-avalabs in #1866
  • ci(deps): bump the github-actions group with 4 updates by @dependabot[bot] in #1871
  • fix: add test_utils feature when running benchmarks by @RodrigoVillar in #1873
  • docs: clarify fwdctl launch usage by @RodrigoVillar in #1874
  • fix(proofs): yield divergent nodes from PathIterator for exclusion proofs by @rkuris in #1875
  • fix(proofs): verify proof path follows target key branch by @rkuris in #1881
  • chore: bump MSRV from 1.91.0 to 1.94.0 by @bernard-avalabs in #1885
  • refactor: rename verify_root_hash to verify_range_proof_root_hash by @bernard-avalabs in #1887
  • fix(nix): update rust-overlay in nix flake for MSRV 1.94.0 by @rkuris in #1888
  • docs: annotate blocking points across storage and concurrency layers by @demosdemon in #1890
  • fix(test): audit range.rs — fix bugs, add missing coverage, unignore bloated test by @rkuris in #1895
  • fix: verify proof node values match key_values in range proofs by @rkuris in #1896
  • refactor(ffi): remove ArcCache from DatabaseHandle by @demosdemon in #1891
  • fix(proofs): mark right-edge terminal children as outside in compute_outside_children by @bernard-avalabs in #1886
  • chore: use RAID0 in reexecution tests by @RodrigoVillar in #1884
  • fix: update nix lockfile for rust-overlay by @RodrigoVillar in #1899
  • chore(ci): Avoid running benchmarks on normal nextest by @rkuris in #1903
  • docs: replace ignore doctests with runnable examples (Unix only) (#1865) by @andi-nugroho in #1878
  • chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp from 1.22.0 to 1.43.0 in /ffi/tests/firewood by @dependabot[bot] in #1907
  • chore(ci): pin rust-overlay in flake by @demosdemon in #1908
  • feat(storage): autogen area sizes hash and names by @demosdemon in #1906
  • feat(metrics): export prometheus metrics as structured data by @demosdemon in #1868
  • feat: add collapse functions for change proof verification by @bernard-avalabs in #1904
  • refactor(metrics): consolidate metric registry definitions with macro by @Elvis339 in #1867
  • refactor(metrics): add histograms and remove use wrappers by @demosdemon in #1911
  • feat(metrics)!: Overhaul metrics for Prometheus best practices by @demosdemon in #1912
  • feat(ffi)!: remove http and text exporter by @demosdemon in #1913
  • fix(proofs, de): verify partial len is within bounds by @demosdemon in #1920
  • fix(clippy): disallow panicking slice methods via clippy lint by @rkuris in #1926
  • chore: update go linter rules by @rkuris in #1927
  • test(proofs): add round-trip and FrozenChangeProof serialization tests by @demosdemon in #1922
  • docs: document empty-value semantics for batch operations by @rkuris in #1916
  • fix(ffi): add GC finalizers for change proof types and NextKeyRange by @bernard-avalabs in #1921
  • refactor: move ChangeProof from merkle/changes to proofs/change by @bernard-avalabs in #1915
  • chore(deps): bump rand from 0.10.0 to 0.10.1 by @dependabot[bot] in #1928
  • ci(deps): bump the github-actions group with 3 updates by @dependabot[bot] in #1936
  • chore: minor clippy fixes for 1.95 by @demosdemon in #1939
  • storage: fix 'occured' -> 'occurred' in io_uring.rs doc comment by @SAY-5 in #1937
  • feat(dump): improve merkle dump display for ethhash RLP values by @rkuris in #1933
  • fix(proofs): 1/2 recompute storageRoot in ethhash proof generation by @rkuris in #1935
  • perf(storage): use binary search in AreaIndex::from_size by @rkuris in #1940
  • test(merkle): decouple tests from insert-value-equals-stored-value assumption by @rkuris in #1942
  • refactor: update reconcile_branch_proof_node with callback interface by @bernard-avalabs in #1914
  • feat: add verify_change_proof_structure and module documentation by @bernard-avalabs in #1918
  • fix: update change proof generator end proof key logic by @bernard-avalabs in #1931
  • feat: add verify_change_proof_root_hash for change proof verification by @bernard-avalabs in #1930
  • docs(storage/hashers): document ethhash design and refactor replace_hash by @rkuris in #1943
  • test: add change proof test infrastructure with bounds and empty tests by @bernard-avalabs in #1932
  • test: add structural validation and partial proof tests for change proofs by @bernard-avalabs in #1934
  • ci(deps): bump devcontainers/ci from 0.3.1900000417 to 0.3.1900000449 in the github-actions group by @dependabot[bot] in #1945
  • fix(ci): Replace CI Nix cache with cachix to speed up worst ffi-nix run-time case by @JuanLeon2 in #1902
  • test(proofs): add edge case tests for valid proof structures by @demosdemon in #1923
  • test(proofs): add SeededRng fuzz tests for proof round-trips by @demosdemon in #1924
  • test(proofs): cover remaining deserialization failure paths by @demosdemon in #1925
  • fix(proofs): reject truncated exclusion proofs with reachable children by @bernard-avalabs in #1950
  • chore(release): prepare for v0.4.0 by @RodrigoVillar in https://github.com/ava-labs/firewood...
Read more

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 20 Mar 17:47
v0.3.1
a3fe413

What's Changed

Full Changelog: v0.3.0...v0.3.1

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 13 Mar 17:52
v0.3.0
26f2ddc

What's Changed

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 26 Feb 20:36
v0.2.0
39cba5a

What's Changed

Full Changelog: v0.1.0...v0.2.0

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 20 Jan 22:02
v0.1.0
9fd4723

What's Changed

New Contributors

Full Changelog: v0.0.18...v0.1.0

v0.0.18

Choose a tag to compare

@github-actions github-actions released this 17 Dec 18:21
v0.0.18
d5103f9

What's Changed

Full Changelog: v0.0.17...v0.0.18