Releases: ava-labs/firewood
Releases · ava-labs/firewood
Release list
v0.8.0
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
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
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
- @sueun-dev made their first contribution in #2037
- @dvansari65 made their first contribution in #2029
Full Changelog: v0.5.0...v0.6.0
v0.5.0
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::rlpmodule + benchmark by @rkuris in #1957 - perf: migrate firewood off the upstream
rlpcrate 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
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_utilsfeature 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...
v0.3.1
What's Changed
- feat(reconstruct): Framework for Reconstruction by @rkuris in #1785
- docs(reconstruct): Diagram move by @rkuris in #1795
- chore(revert): remove nix flake and all references to it (#1788) by @Elvis339 in #1794
- feat(c-chain-benchmark): add firewood-40m-41m test and harden bench-cchain by @Elvis339 in #1800
- chore(deps): bump lz4_flex from 0.11.5 to 0.11.6 by @dependabot[bot] in #1799
- chore: reduce visibility of flush_nodes() by @RodrigoVillar in #1802
- chore(ci): Add Amin as codeowner for fwdctl by @rkuris in #1806
- docs(c-chain-benchmark): add BENCHMARK.md by @Elvis339 in #1801
- ci(deps): bump the github-actions group with 2 updates by @dependabot[bot] in #1809
- fix(fwdctl): use libevm only when specified by @RodrigoVillar in #1805
- chore: Reduce visibility of some storage functions by @rkuris in #1810
- feat(reconstruct): Support Reconstructible revisions by @rkuris in #1786
- feat: add devcontainer configuration for development environment by @demosdemon in #1811
- chore(deps): bump google.golang.org/grpc from 1.66.0 to 1.79.3 in /ffi/tests/firewood by @dependabot[bot] in #1815
- chore: Rootstore cleanups by @rkuris in #1798
- feat(reconstruct): Add benchmarks for rust reconstruction by @rkuris in #1787
- docs(benchmark): improve and consolidate Firewood's benchmarks by @Elvis339 in #1812
- feat(reconstruction): Add FFI Rust layer by @rkuris in #1813
- chore(fwdctl): add block height 77m by @RodrigoVillar in #1816
- feat(reconstruction): Add Go bindings and tests by @rkuris in #1814
- fix: Adding keepAlive to ProposedChangeProof by @bernard-avalabs in #1817
- chore(release): prepare for v0.3.1 by @demosdemon in #1825
Full Changelog: v0.3.0...v0.3.1
v0.3.0
What's Changed
- chore: Update pull request template to include breaking changes by @demosdemon in #1723
- perf: Use
runtime.AddCleanupby @alarso16 in #1705 - chore(deps): bump go.opentelemetry.io/otel/sdk from 1.22.0 to 1.40.0 in /ffi/tests/firewood by @dependabot[bot] in #1729
- refactor(perf): calculate AreaIndex in as_bytes methods by @rkuris in #1675
- ci(deps): bump the github-actions group with 3 updates by @dependabot[bot] in #1738
- chore(ffi): fix lint emitted in maxperf builds by @demosdemon in #1732
- refactor: replace
PersistSemaphorewithPersistChannelby @RodrigoVillar in #1710 - docs: clarify deferred persistence terminology by @RodrigoVillar in #1733
- fix!: enforce
max_revisions>commit_countby @RodrigoVillar in #1749 - chore(docs): render mermaid graphs with aquamarine by @demosdemon in #1753
- chore(deps): update aws-lc-sys to 0.38.0 by @demosdemon in #1756
- chore: remove dead code by @RodrigoVillar in #1755
- refactor(metrics): migrate ffi histogram recording to macros by @rkuris in #1712
- ci(changelog): items labeled 'no-changelog' are omitted from changelog by @rkuris in #1746
- chore!: remove node_cache_size by @RodrigoVillar in #1758
- fix!: clock source miss-match between Rust and Go by @Elvis339 in #1742
- refactor: parallel execution helpers by @rkuris in #1764
- refactor!: remove v2 module by @RodrigoVillar in #1760
- chore: bump go to 1.25.8 by @RodrigoVillar in #1775
- fix: fwdctl vm config by @RodrigoVillar in #1776
- fix: bug where remove_all_entries may not remove all subtries by @bernard-avalabs in #1778
- perf(ffi): add cgo pragma declarations by @demosdemon in #1722
- refactor(reconstruct): rename MutableProposal to Mutable by @rkuris in #1777
- chore: add additional metrics for
v0.3.0by @RodrigoVillar in #1782 - perf: fix child pruning in iterate_to_key by @bernard-avalabs in #1783
- refactor: read node mode by @RodrigoVillar in #1792
- chore: remove nix flake and all references to it by @demosdemon in #1788
- ci: verify go.mod files all have the same declared go version by @demosdemon in #1790
- feat(ffi): automatically generate
cgopragma declarations by @demosdemon in #1784 - chore(release): prepare for v0.3.0 by @demosdemon in #1793
Full Changelog: v0.2.0...v0.3.0
v0.2.0
What's Changed
- fix(flake): grab version from correct location by @demosdemon in #1630
- fix(storage): handle possible short writes by @demosdemon in #1635
- ci: build and lint with --all-features by @demosdemon in #1636
- refactor: decouple header from
NodeStoreby @RodrigoVillar in #1618 - feat: Creating change proofs using FFI by @bernard-avalabs in #1637
- ci(perf): Track Firewood Performance via AvalancheGo Benchmarks by @Elvis339 in #1493
- chore: Add Bernard as codeowner by @bernard-avalabs in #1647
- ci: add benchmark workflow by @RodrigoVillar in #1643
- ci: add scheduled benchmark runs (#1639) by @Elvis339 in #1645
- docs: Update comments on Arc::try_unwrap safety by @demosdemon in #1649
- chore(track-performance): local iteration by @Elvis339 in #1642
- chore(deps): bump bytes from 1.11.0 to 1.11.1 by @dependabot[bot] in #1654
- fix(ffi): force correct alignment on certain c structs by @demosdemon in #1652
- feat(db): add explicit close() method by @RodrigoVillar in #1650
- chore: update to go 1.24.12 by @RodrigoVillar in #1658
- chore(deps): bump time from 0.3.45 to 0.3.47 by @dependabot[bot] in #1660
- fix(db): lock in-memory revisions during commit critical section by @RodrigoVillar in #1661
- fix(track-performance): fail hard on gh errors by @Elvis339 in #1659
- feat: defer persist every commit by @RodrigoVillar in #1656
- feat(fwdctl/launch): add feature-gated fwdctl EC2 deploy workflow for benchmark setup (1/4) by @AminR443 in #1662
- feat(fwdctl/launch): add SSM-based monitor/follow flow for cloud-init and bootstrap progress (2/4) by @AminR443 in #1663
- fix(track-performance): stale cron expression in daily bench by @Elvis339 in #1667
- docs: update README to include archival support by @RodrigoVillar in #1674
- feat: node cache entry-based to memory-based LRU by @rkuris in #1677
- perf: Increase limits and monitor freelist cache size better by @rkuris in #1668
- feat: Change proof serialization/deserialization by @bernard-avalabs in #1638
- feat: defer persist every
Ncommits by @RodrigoVillar in #1657 - chore: trace->info logging by @rkuris in #1682
- chore: add deferred persistence benchmark by @RodrigoVillar in #1670
- chore(ffi): update CGO LDFLAGS to include -ldl by @demosdemon in #1686
- fix(ffi): prevent potential use-after-free in Go Iterator by @demosdemon in #1688
- chore: github actions security audit by @rkuris in #1691
- ci(deps): bump the github-actions group with 14 updates by @dependabot[bot] in #1695
- feat(ffi): Remove explicit garbage collection call by @demosdemon in #1681
- fix: Avoid holding the last_committed_revision arc by @rkuris in #1685
- chore(deps): update dependencies by @demosdemon in #1696
- chore(ci): update .golangci.yaml by @demosdemon in #1703
- refactor: close consumes itself by @RodrigoVillar in #1701
- refactor: stop keeping around the last committed revision by @RodrigoVillar in #1690
- chore: add RootStore metrics by @RodrigoVillar in #1680
- feat: Change proof verification and proposal creation by @bernard-avalabs in #1641
- chore: bump go to 1.25.7 by @RodrigoVillar in #1707
- feat(fwdctl/launch): add scenario-driven deploy, list/kill instance management, and dry-run planning (3/4) by @AminR443 in #1664
- feat!: Remove error returned by Hash by @alarso16 in #1671
- feat(fwdctl/launch): add docs, deprecate aws-launch.sh (4/4) by @AminR443 in #1665
- feat(ffi)!: add optional node cache memory limit to open args by @rkuris in #1713
- fix: acquire lock for displaying MaybePersistedNode by @RodrigoVillar in #1719
- feat: Change proof commit and find next key by @bernard-avalabs in #1646
- perf(ffi)!: remove Pinner interface by @demosdemon in #1721
- chore(release): prepare for v0.2.0 by @demosdemon in #1724
Full Changelog: v0.1.0...v0.2.0
v0.1.0
What's Changed
- chore(ffi): add
io-uringfeature flag by @demosdemon in #1565 - chore: add Rodrigo as codeowner by @RodrigoVillar in #1573
- ci: stop fwdctl from rebuilding every time by @rkuris in #1574
- refactor: replace counter! with firewood_counter! macro by @rkuris in #1569
- fix: eager evaluation causing fjall store creation when root_store disabled by @Copilot in #1577
- chore: Remove 'firewood' from metric names by @rkuris in #1581
- feat(metrics): switch to
metrics-exporter-prometheusand histogram support in FFI by @AminR443 in #1490 - fix(ci): update golang-ci patch by @AminR443 in #1584
- fix(benchmark): align metrics config with new avalanchego task format by @Elvis339 in #1580
- feat!: Use AWS profile in launch script by @alarso16 in #1587
- docs(ffi): update iterator documentation by @AminR443 in #1585
- feat(metrics)!: proposal tracking by @rkuris in #1571
- chore(deps): bump lru from 0.16.2 to 0.16.3 by @dependabot[bot] in #1596
- feat: add
FlushAndSync()by @RodrigoVillar in #1595 - feat: Difference iterator for change proofs part 1 by @bernard-avalabs in #1553
- feat(replay): add
firewood-replaycrate for operation recording and replay (1/5) by @AminR443 in #1590 - feat: Difference iterator for change proofs part 2 by @bernard-avalabs in #1554
- feat: Difference iterator for change proofs part 3 by @bernard-avalabs in #1555
- chore: update to go 1.24.11 by @alarso16 in #1599
- feat(ffi/replay): add
block-replayfeature for recording FFI operations (2/5) by @AminR443 in #1591 - feat(ffi/replay): add Go replay log decoder and execution tests (3/5) by @AminR443 in #1592
- feat(fwdctl/replay): add command for replaying recorded operations (4/5) by @AminR443 in #1593
- fix(benchmark/bootstrap): update script to use new task by @RodrigoVillar in #1601
- perf(ffi): elide panic handling if not needed by @demosdemon in #1606
- feat: CodeHashes() for range proofs by @alarso16 in #1597
- docs(nodestore): expand header documentation by @RodrigoVillar in #1610
- feat!: Remove
GetFromRootAPI by @alarso16 in #1614 - chore!: remove
FlushAndSyncRoot()API by @RodrigoVillar in #1617 - refactor: simplify
into_committed()by @RodrigoVillar in #1621 - refactor(checker): extract
check_area_aligned()fromNodeStoreby @RodrigoVillar in #1623 - feat!: Make
NodeHashAlgorithma required option on storage by @demosdemon in #1608 - feat: add cargo_version and git_describe to storage header by @demosdemon in #1611
- feat!: add the hash of the root node to the header by @demosdemon in #1612
- feat(metrics): metrics crate, separate registries and expensive metrics (1/2) by @AminR443 in #1619
- feat(metrics): integrate FFI with expensive metrics and add Go tests (2/2) by @AminR443 in #1620
- feat(ffi): BatchOp in FFI by @AminR443 in #1624
- chore(release): prepare for v0.1.0 by @demosdemon in #1627
New Contributors
Full Changelog: v0.0.18...v0.1.0
v0.0.18
What's Changed
- fix: hash mismatch when proposing on uncommitted proposal by @AminR443 in #1557
- test: Guarantee that revisions work after commit by @alarso16 in #1558
- chore(release): prepare for v0.0.18 by @demosdemon in #1559
Full Changelog: v0.0.17...v0.0.18