Releases: commonwarexyz/monorepo
Releases · commonwarexyz/monorepo
v2026.2.0
Immutable
release. Only release title and notes can be modified.
What's Changed
- [deployer] Cache AMI Lookup + Batch DescribeInstances + Surface Capacity Limit Errors by @patrick-ogrady in #2822
- [storage/journal]: add distinct labels to subjournals by @SuperFluffy in #2830
- [consensus/marshal] Add pruning API by @clabby in #2827
- [cryptography] 2701, document RecvCipher::recv caveats by @cronokirby in #2826
- [deployer] Rolling Updates and
samplySupport by @patrick-ogrady in #2828 - [runtime/fuzz] fix blob_integrity fuzz test by @roberto-bayardo in #2839
- [deployer] Update AWS config by @clabby in #2844
- [runtime/deterministic] Assert Metric Uniqueness by @patrick-ogrady in #2841
- [runtime/utils/buffer] use an arena instead of vector-per-page for buffer pool data by @roberto-bayardo in #2832
- [deployer] Improve S3 Fetch Robustness by @patrick-ogrady in #2851
- [storage/bmt] Constrain leaf count in root by @clabby in #2840
- [storage/qmdb/benches] split init from generation benchmarks by @roberto-bayardo in #2834
- [runtime] add composite iouring feature by @andresilva in #2850
- [deployer] Multi-AZ Deploys by @patrick-ogrady in #2862
- [runtime] Support
Attributesby @patrick-ogrady in #2864 - [consensus/simplex] Add Standard Threshold + Clarify Usage by @patrick-ogrady in #2863
- [runtime] Remove (erroneous) claim about cardinality explosion by @patrick-ogrady in #2867
- [Storage] Replace
mmr::Hashergeneric with associated type by @danlaine in #2868 - [ci] Fix Fuzz Panics by @patrick-ogrady in #2869
- [cryptography/bloomfilter] generic Hasher and optimizations by @andresilva in #2729
- [storage/mmr] change mmr Proof to store leaves instead of size by @roberto-bayardo in #2852
- Improve proofs malleability fuzz test by @dnkolegov-ar in #2853
- Fix panicing in qmdb_any_fixed_sync by @dnkolegov-ar in #2880
- [ci] Don't cancel other build jobs if one fails by @clabby in #2887
- [storage/metadata] change metadata sync so it doesn't block concurrent reads by @roberto-bayardo in #2875
- [cryptography] allow "unclosed" appends in Transcript by @cronokirby in #2885
- [storage/qmdb/current] share more code across unordered & ordered current db variants by @roberto-bayardo in #2818
- Defer deserializing signatures by @cronokirby in #2833
- [cryptography/bls12381] Use Batch Inversion in Interpolator by @patrick-ogrady in #2900
- [consensus/marshaled] Deferred verification by @clabby in #2604
- [Storage] Return error on invalid range argument in
mmr::mem::Mmrby @danlaine in #2899 - [cryptography/bls12381] Implement Concurrent MSM by @patrick-ogrady in #2878
- [mcp] Fix Flaky Test by @patrick-ogrady in #2902
- Use quint v0.30.0 by @dnkolegov-ar in #2879
- [pipeline] Fix Minnimit nullification interval by @clabby in #2903
- [cryptography] Clarify handshake re-ordering properties by @cronokirby in #2908
- [p2p] Add Regression Test for Duplicate Addresses by @patrick-ogrady in #2907
- [examples/flood] add latency measurement by @andresilva in #2894
- [deployer] Store Deployment Metadata by @patrick-ogrady in #2877
- [runtime] Introduce
IoBuftypes and update network and storage APIs by @andresilva in #2881 - [AGENTS.md] add example for imports at top of module by @andresilva in #2925
- [deployer] Limit
aptUsage by @patrick-ogrady in #2915 - [cryptography/certificate] improve docs on duplicate signatures by @andresilva in #2922
- [runtime] Add
Stream::peekfor non-consuming buffer inspection by @andresilva in #2906 - [macros] add support for on_start/on_end to select_loop! by @andresilva in #2671
- [deployer] Remove
dpkgRetry by @patrick-ogrady in #2934 - Don't store bytes again for ed25519 keys by @cronokirby in #2926
- refactor(codec): deduplicate read_ordered_map function by @reallesee in #2711
- [p2p] remove dead recipients in run_network by @radik878 in #2901
- [storage/qmdb/current] current dbs with variable length values by @roberto-bayardo in #2819
- [deployer] Ensure All Dependencies Installed by @patrick-ogrady in #2943
- [utils] Remove
Faults::quorum_from_sliceby @clabby in #2946 - [examples/estimator] Update
MinimmitErasure Coding by @patrick-ogrady in #2874 - [deployer] Validate Regions + Fix Partial Deploy Teardown by @patrick-ogrady in #2953
- [Storage] Factor out
qmdb::anystate sync; implement forqmdb::any::ordered::*by @danlaine in #2748 - [storage]
bmt::Tree<Hasher>->bmt::Tree<Digest>by @clabby in #2951 - [Storage] Fix
journal::contiguous::Variable::init_at_sizeby @danlaine in #2872 - [p2p] Respect
dialer_frequencyby @patrick-ogrady in #2956 - [storage/freezer] fix empty-slot bug during resize by @roberto-bayardo in #2966
- Make clippy happy by @clabby in #2971
- [treewide] rustfmt over select! by @andresilva in #2927
- [cryptography] Use
aws-lc-rsfor ChaCha20-Poly1305 on x86_64/aarch64 by @clabby in #2962 - [ci] run conformance tests on x86_64 and arm64 by @clabby in #2967
- [reshare] Add per-peer metrics for latest share and acknowledgements by @clabby in #2987
- [Storage] Reduce stack size in batch tests by moving state to heap by @danlaine in #2991
- [cryptography] Add some helpers for debugging DKG by @cronokirby in #2992
- [consensus/simplex] Tracked nullifications and skipped views per leader by @clabby in #2990
- [math] Clarify that 2^lg_rows needs to be a usize by @cronokirby in #2996
- [deployer] Unique Bucket Name by @patrick-ogrady in #2997
- [runtime] rename buffer::pool to buffer::paged by @andresilva in #2973
- [deployer] Fix Instrument by @patrick-ogrady in #2998
- [consensus/simplex] Fix Conflicting Enforcement by @patrick-ogrady in #2999
- [macros] Add
Stabilityby @patrick-ogrady in #2870 - [ci] Deny Warnings by @patrick-ogrady in #3000
- [macros] Don't emit stability cfg warning on
debug/testprofiles by @clabby in #3004 - [ci] use /mnt on linux runners by @andresilva in #2986
- [math] fix no_std by @andresilva in #3007
- [storage] fix bug in init_sync related to pinned nodes by @roberto-bayardo in #2994
- [macros] commonware_macros::select! uses tokio::select! by @andresilva in #3003
- [Storage] Use
into_merkleized()function instead of manual re-implementation by @danlaine in #3008 - [macros] Standardize Docs by @patrick-ogrady in #3012
- [wo...
v0.0.65
Immutable
release. Only release title and notes can be modified.
What's Changed
- [docs] Mirror Code +
llms.txtby @patrick-ogrady in #2603 - [Storage] Implement state sync for
qmdb::any::unordered::variableby @danlaine in #2602 - [docs] Restructure deploy paths for LLM-friendly versioning by @commonware-llm in #2612
- [docs] Add more instruction to llms.txt by @commonware-llm in #2615
- [docs] Add _headers for explicit sitemap Content-Type charset by @commonware-llm in #2616
- [docs] Add sitemap and LLMs to header by @commonware-llm in #2617
- [storage/index] allow Translator capping at sizes that are not equal to some int type by @roberto-bayardo in #2622
- [p2p/simulated] use BTreeSet for blocks by @andresilva in #2606
- [runtime/network/iouring] buffered reading by @andresilva in #2601
- [docs] Use Pretty URLs as Canonical by @commonware-llm in #2623
- [docs] Improve page load performance with prefetch by @patrick-ogrady in #2625
- [storage/qmdb/current] validate the number of chunks in range_proof input by @roberto-bayardo in #2619
- [docs] Create MCP Server by @patrick-ogrady in #2629
- [mcp] use
commonware-libraryinstead ofcommonwareby @patrick-ogrady in #2630 - [mcp] use commonware-library as MCP name by @patrick-ogrady in #2631
- [mcp] optimize search with D1 index by @commonware-llm in #2632
- [mcp] Remove manual indexing trigger by @patrick-ogrady in #2634
- [mcp] Optimize Ingestion by @patrick-ogrady in #2635
- [mcp] Support Multiple Search Modes by @patrick-ogrady in #2636
- [mcp] No Version Error by @patrick-ogrady in #2637
- [mcp] Generalize Crate Match by @patrick-ogrady in #2638
- [p2p]
CheckedSender::Error: 'staticby @clabby in #2641 - [mcp] Remove
/health+ Add CORS tests by @patrick-ogrady in #2644 - [docs] Add
MCPPage by @patrick-ogrady in #2645 - [docs] MCP Page Nits by @patrick-ogrady in #2646
- [mcp] Add Support for File Snippets by @patrick-ogrady in #2648
- [mcp] Implement snippet-based search scoring by @commonware-llm in #2647
- [mcp] Update Version by @patrick-ogrady in #2649
- [storage] create Persistable trait, rename top level store module to kv by @roberto-bayardo in #2642
- [consensus/simplex] Improve
is_activeDocs by @patrick-ogrady in #2652 - [mcp] Fix Description by @patrick-ogrady in #2654
- [p2p/lookup] Fix
allow_unregistered_handshakes(nowbypass_ip_check) by @patrick-ogrady in #2653 - [Storage] Remove
closemethods by @danlaine in #2608 - [storage/kv] move Batchable to kv module by @roberto-bayardo in #2655
- [cryptography] [storage] Replace
Hasher::EMPTYwithDigest::EMPTYby @danlaine in #2656 - [cryptography/certificate] make Scheme::is_attributable an associated function by @andresilva in #2657
- [storage/kv] implement kv traits for Batchable by @roberto-bayardo in #2658
- [Storage] Remove
closemethods by @danlaine in #2613 - [consensus/marshal] Improve
set_floordocumentation by @clabby in #2663 - [cryptography/certificate] declare if a scheme benefits from batch verification by @andresilva in #2660
- chore: annual license year update by @rejected-l in #2668
- [cryptography/certificate] cleanup unnecessary bounds by @andresilva in #2670
- [cryptography] add secp256r1 certificate scheme by @andresilva in #2669
- [p2p/discovery] Address Rotation Restart Test by @patrick-ogrady in #2672
- [cryptography/bls12381] Refactor Batch Verification by @patrick-ogrady in #2624
- [cryptography] use aws-lc-rs for optimized secp256r1 verification by @andresilva in #2680
- [p2p] Bound Block Duration by @patrick-ogrady in #2666
- [cryptography/certificate] make namespace a part of the scheme by @andresilva in #2559
- [storage/qmdb] decouple merkleization from database durability by @roberto-bayardo in #2580
- fix(storage): correct element indices in MMR documentation example by @strmfos in #2691
- [runtime/buffer] avoid write-locking the Append buffer during blob writes by @roberto-bayardo in #2679
- [consensus/aggregation] remove deprecated supervisor by @andresilva in #2699
- [consensus/simplex] Add Timeout then Certify Regression Test by @patrick-ogrady in #2697
- [consensus] add Height type by @andresilva in #2700
- Store RNG in deterministic runtime Config by @cronokirby in #2704
- [runtime] Release lock before notifying in Blocker by @syrupipy in #2696
- [p2p] Add Blocked Peers to Metrics by @patrick-ogrady in #2687
- [runtime/p2p] Use
Buf/BufMutin networking APIs by @clabby in #2558 - [cryptography] Remove aggregate verify_same_signer by @cronokirby in #2715
- [consensus/simplex] Add Voting Metrics by @patrick-ogrady in #2708
- [parallel] Introduce data parallelism abstraction by @clabby in #2621
- Set MSRV to 1.91.1 by @clabby in #2720
- [docs] Add
parallelto homepage by @clabby in #2719 - [Codec] Dedup
fn read_ordered_setby @danlaine in #2718 - Revert "[cryptography] Remove aggregate verify_same_signer (#2715)" by @cronokirby in #2721
- [consensus/simplex] Remove Certify Retry + Cancel Outstanding Certifications by @patrick-ogrady in #2703
- [runtime/storage] Versioned Blobs by @danlaine in #2694
- [docs] Fix Parallel Link by @patrick-ogrady in #2723
- [cryptography] Add Secret wrapper for protected key material by @andresilva in #2640
- [ci] Don't require
breaking-formatlabel for new conformance tests by @clabby in #2724 - [storage/archive] Add Lite Index + Remove Journal Padding by @patrick-ogrady in #2707
- [p2p] Add Restart Tests + Introduce
FallibleExtto Cleanup Channels by @patrick-ogrady in #2726 - [storage & runtime] Switch to page-level checksums instead of record-level checksums by @roberto-bayardo in #2667
- [consensus/broadcast/collector/resovler] Adopt
FallibleExt+ Shutdown Tests by @patrick-ogrady in #2738 - [runtime, storage] move to crc32c by @andresilva in #2740
- [storage/fuzz] fix mmr_journaled fuzz test by @roberto-bayardo in #2746
- [consensus] use NonZeroU64 for journal_heights_per_section by @andresilva in #2751
- Fix double-counting bug in DKG test harness reveal calculation by @cronokirby in #2752
- [consensus/simplex] Fix
Seedableimpl forbls12381_thresholdscheme by @clabby in #2756 - [storage/bmt] Add multi-proof support by @clabby in #2733
- Remove unneeded
PhantomDatausages by @danlaine in #2747
...
v0.0.64
Immutable
release. Only release title and notes can be modified.
What's Changed
- [storage/mmr] binary search in to_nearest_size by @syrupipy in #1908
- [Storage] Remove unneeded type bounds by @danlaine in #2072
- [docs] Add blog post for reshare example by @clabby in #1875
- [blogs/reshare] Add Background to Preview by @patrick-ogrady in #2077
- [Storage] Remove dynamic dispatch from
contiguous::variable::Journal::replayby @danlaine in #2073 - [consensus] remove associated types from
Epochable/Viewabletraits by @andresilva in #2076 - [reshare] Add peer set rotation test by @clabby in #2074
- [Storage] Use
contiguous::variable::Journalinadb::storeby @danlaine in #2078 - [consensus]
Applicationinterface by @clabby in #2067 - [consensus] Stream
Updates instead ofBlocks toApplicationby @clabby in #2090 - [ci/benchmarks] Limit Data Points by @patrick-ogrady in #2094
- [docs] Use new Benchmark Data URL by @patrick-ogrady in #2096
- [Storage] Use
contiguous::variable::Journalinadb::keylessby @danlaine in #2063 - Add regression fuzz tests by @dnkolegov-ar in #2071
- [p2p/lookup] Remove Unnecessary
dialableField by @patrick-ogrady in #2101 - [docs/benchmarks] Just use all-time by @patrick-ogrady in #2104
- [coding/benchmarks] Fix Module Format by @patrick-ogrady in #2105
- Implement the ZODA Coding Scheme by @cronokirby in #1802
- [docs/benchmarks] Lazy Charts by @patrick-ogrady in #2106
- [runtime] Add
tokio-consolefeature by @clabby in #2099 - [consensus::simplex] Remove dead code, fix minor missing-nullifications bug by @BrendanChou in #2100
- [examples/reshare] Cleanup Test by @patrick-ogrady in #2114
- [storage/operation/adb] Make adb variants share most of their code after rewriting it more abstractly by @roberto-bayardo in #2047
- [Storage] Add
pruning_boundaryhelpers by @danlaine in #2113 - [docs] add ZODA blog post by @cronokirby in #1894
- [consensus/simplex] use AttributableMap in batcher by @andresilva in #2109
- [Storage] Add
authenticated::Journalby @danlaine in #2112 - [consensus] Pass consensus context to
Application::verifyby @clabby in #2119 - [p2p/simulated] Add
ManagerandSocketManagerby @patrick-ogrady in #2123 - [storage/adb/any/variable] fix performance regression from double-sync in adb::any::variable by @roberto-bayardo in #2126
- [storage/journal/fixed] remove async from fixed journal size/pruning boundary by @roberto-bayardo in #2124
- [storage/adb] code sharing for fixed benchmarks by @roberto-bayardo in #2127
- [utils] optimize log2_ceil by @andresilva in #2117
- [p2p/simulated] Overwrite Channel (For Restart Testing) by @patrick-ogrady in #2140
- [consensus/marshal] Enshrine Finalizer Wait by @patrick-ogrady in #2144
- [storage/journal] do a full sync of the underlying journal with authenticated journal sync by @roberto-bayardo in #2145
- [Storage] Use
authenticated::journalinadb::keylessby @danlaine in #2122 - [storage/adb/bench] code sharing for adb::variable benchmarks by @roberto-bayardo in #2143
- [consensus/simplex] add TLE helper for bls12381_threshold::Scheme by @andresilva in #2147
- [Storage] Add commit to
journal::Contiguousby @danlaine in #2155 - [docs/minimmit] Add arXiv Link by @patrick-ogrady in #2156
- [coding] Avoid storing more data than necessary in fuzz by @cronokirby in #2158
- [blog] Welcome, Tempo by @patrick-ogrady in #2164
- [blogs/tempo] fix card by @patrick-ogrady in #2165
- Fix panic in the journal fuzz test by @dnkolegov-ar in #2162
- fix: typos in documentation comments by @prestoalvarez in #2163
- [Storage] Add separate types for clean/dirty MMRs by @danlaine in #2142
- Ensures the runtime cleans up tasks before panicking due to a timeout. by @evonide in #2168
- Fix a panic in the adb_keyless fuzz test by @dnkolegov-ar in #2166
- [workspace] Migrate to
rstestfor test matrices by @clabby in #2179 - [runtime] Create ergonomic metric wrappers by @fedemagnani in #2180
- [consensus/simplex] handle out of bounds in AttributableMap::insert by @andresilva in #2150
- Wrap the runtime loop in a catch unwind to also clean up correctly af… by @evonide in #2174
- add X follow badge by @davidcardenasus in #2172
- [consensus/marshal] Fills Gaps Before Processing by @clabby in #2160
- [storage/index] add a new index type which partitions keyspace across sub-indices by @roberto-bayardo in #2176
- [Storage] Rename
sync_datatocommitby @danlaine in #2118 - [ci] Partition miri tests by @clabby in #2197
- [ci] Partition Coverage by @patrick-ogrady in #2198
- [coding] Align CodecCfg to just take a usize parameter by @cronokirby in #2196
- [Storage] Use
authenticated::journalinadb::Immutableby @danlaine in #2125 - [storage/adb/any] use authenticated journal throughout adb::any by @roberto-bayardo in #2193
- [Storage] Parameterize MMRs on
Digestinstead ofHasherby @danlaine in #2195 - [Storage] Move authenticated bitmap to
storage::AuthenticatedBitMapby @danlaine in #2209 - [cryptography] derive Clone for DKG objects by @SuperFluffy in #2214
- [coding] Use MMR multi-proofs for ZODA by @cronokirby in #2215
- [storage/index] ordered variant of partitioned index by @roberto-bayardo in #2206
- [coding] Rename Error -> ZodaError by @cronokirby in #2227
- [p2p/router] Remove Unnecessary Clones by @GarmashAlex in #2224
- [utils] Introduce
Acknowledgementby @patrick-ogrady in #2216 - [consensus/simplex]
voterRefactor by @patrick-ogrady in #2199 - [consensus::simplex] Actor cleanup by @BrendanChou in #2236
- Fix issue 2028 by @dnkolegov-ar in #2234
- [ci] Cover
examplesby @clabby in #2237 - [ci] Upload all coverage reports at the same time by @clabby in #2240
- [coding] Avoid u16 overflow by @cronokirby in #2239
- [storage/adb/store] Add create op to Db trait + other cleanup by @roberto-bayardo in #2248
- [examples/estimator] Rename
Kudzuby @patrick-ogrady in #2259 - [estimator] Fix file refs by @clabby in #2261
- [workspace] Bump dependencies by @clabby in #2247
- [consensus::simplex] Refactor Simplex Recovery by @BrendanChou in #2192
- [coding] Reed-Solomon optimizations by @clabby in #2260
- Add a few comments explaining TLE divergences from paper by @cronoki...
v0.0.63
Immutable
release. Only release title and notes can be modified.
Changes
- [blog] Only Time Will Tell by @patrick-ogrady in #1585
- [blog] Battleware VRF by @patrick-ogrady in #1587
- [blogs] Roberto Nits by @patrick-ogrady in #1588
- [storage] add no_std compilation support by @roberto-bayardo in #1568
- Fuzz test for collector by @dnkolegov-ar in #1562
- [storage/mmr/journaled] fix assertion failure when trying to prune to a location earlier than current boundary by @roberto-bayardo in #1600
- [broadcast] Introduce Fuzzer by @dnkolegov-ar in #1552
- [estimator] Add More
.lazyFiles by @patrick-ogrady in #1620 - [storage/mmr] improve panic error messages by @roberto-bayardo in #1614
- [ci] Improve
no_stdcheck by @clabby in #1613 - [storage] Fix compile time assertions in
Currentby @clabby in #1618 - [cryptography/bls12381] Remove empty test by @patrick-ogrady in #1624
- [ci] Unpin
nightlyin CI workflows by @clabby in #1611 - [storage] Add
put_synctoCacheby @clabby in #1610 - [runtime] Clarifying documentation for the
Signalfuture by @clabby in #1628 - [cryptography] Less contributors in DKG benchmark in
testprofile by @clabby in #1629 - [estimator] Add Coding Specs by @patrick-ogrady in #1631
- [consensus] Add support for reconfiguration by @BrendanChou in #1397
- Update quint version to 0.28.0 by @dnkolegov-ar in #1633
- [adb::sync] Error refactor by @danlaine in #1630
- [adb] Remove sync upper bound rewind by @danlaine in #1616
- [adb::sync] Add
sync::Target::read_cfgvalidation by @danlaine in #1640 - [ci] Use
cargo-nextestforFast/SlowTests by @clabby in #1619 - [ci] Use
taiki-e/install-actionby @clabby in #1615 - [storage] Tune benchmarks down in CI tests by @clabby in #1642
- [consensus/marshal] Allow generic
Resolverby @clabby in #1647 - [codec] Add impl for () by @cronokirby in #1667
- [storage/mmr] update comment for 'size' field of Proof by @roberto-bayardo in #1669
- [coding] Add
SchemeAbstraction by @cronokirby in #1657 - [runtime]: add HandleMetrics and Aborter wrappers by @andresilva in #1685
- [broadcast] Use
BTreeMapinbuffered::Engineby @clabby in #1687 - [stream / cryptography]: Update handshake API, use
Transcriptby @cronokirby in #1557 - [runtime/io_uring] make force_poll mandatory by @andresilva in #1694
- [workspace] Fix lints with new clippy version by @clabby in #1693
- [cryptography] Implement Digest for Transcript::Summary by @cronokirby in #1701
- [storage/mmr] change range proving/verification API to require range of locations by @roberto-bayardo in #1678
- [p2p/simulated] Provide Max-Min Fair Bandwidth Allocation via Progressive Filling by @patrick-ogrady in #1655
- fix clippy warnings on println formatting by @danlaine in #1698
- [runtime] Add timeout() function to Clock trait by @syrupipy in #1650
- [ci] Support
merge_groupdispatch trigger by @clabby in #1716 - [consensus::marshal] Add getters by @BrendanChou in #1695
- [ci] Fail on Build Warnings by @patrick-ogrady in #1719
- [storage/mmr] document overflow conditions and provide better panic messages by @roberto-bayardo in #1714
- [adb::sync] Remove
close;syncwhen moving between sections by @danlaine in #1671 - [docs] Use
font-family: monospaceby @patrick-ogrady in #1728 - [docs] Add dedicated "How Things Work" page by @brunny-eth in #1654
- [docs] Make
Podcastby @patrick-ogrady in #1729 - [ci] Allow parallel slow jobs in merge queue by @patrick-ogrady in #1731
- [macros] Fix flaky test by @patrick-ogrady in #1733
- [storage/index] Provide both unordered and ordered variants of storage::index::Index by @roberto-bayardo in #1622
- [storage/mmr/proof] validate proof size in proof checking by @roberto-bayardo in #1724
- [consensus::marshal] Improve getter ergonomics by @BrendanChou in #1726
- [storage] Add
LocationandPositiontypes. by @danlaine in #1699 - [storage/mmr] change anydb::variable max_ops to NonZeroU64 by @roberto-bayardo in #1735
- fix typos in test comments by @viktorking7 in #1734
- [docs] Remove CF tracker by @patrick-ogrady in #1741
- [docs] Add dedicated podcast card by @patrick-ogrady in #1743
- Add more adjustments to the generic coding API by @cronokirby in #1744
- [consensus/threshold_simplex] include seed signature in Finalize messages by @andresilva in #1722
- update quint 0.29.0 by @dnkolegov-ar in #1730
- [CI] Remove
streambenchmarker by @patrick-ogrady in #1751 - [storage] Add
Location/Positiondocumentation; prevent panics by @danlaine in #1756 - [workspace] Add
justfileby @clabby in #1739 - [storage] Implement
Deref<Target=u64>for Location/Position by @danlaine in #1752 - [ci] Pin all action versions by @clabby in #1758
- [storage] make [*]Cap Translators order preserving by @roberto-bayardo in #1762
- feat: migrate simple 'select!{sleep}' patterns to 'timeout()' by @syrupipy in #1727
- [p2p] Add IP Rate Limiting by @patrick-ogrady in #1737
- [storage/mmr] fix potential hang in to_nearest_size by panicking on overflow by @roberto-bayardo in #1769
- [utils/net] Use
/48for IPV6 by @patrick-ogrady in #1771 - [storage/fuzz] Incorporate
simulate_failureby @dnkolegov-ar in #1582 - [p2p] Fix Flaky Doc Tests by @patrick-ogrady in #1775
- [workspace] make justfile nix friendly by @andresilva in #1777
- [consensus, p2p, storage] remove superfluous context cloning by @andresilva in #1778
- [runtime] Fix spawn_ref child tracking and adopt it across long-lived actors by @andresilva in #1764
- [p2p/lookup] Filter Unauthenticated IPs by @patrick-ogrady in #1774
- [storage/adb/any] test simple historical proof by @roberto-bayardo in #1781
- Fix flaky fuzz tests by @dnkolegov-ar in #1779
- [macros] Cleanup
select!test by @patrick-ogrady in #1793 - [website] Update Link Format by @patrick-ogrady in #1795
- [runtime] Standardize Panic Handling by @patrick-ogrady in #1790
- [ci] Run all benchmarks in
benchmarksjob by @clabby in #1810 - [coding] Remove redundant BMT proof verifications by @clabby in #1772
- [storage] Combine
synclower bound and upper bound intoRangeby @danlaine in #1789 - [bls12381/dkg...
v0.0.62
Changes
- [aggregation] Fix Restart Stall by @patrick-ogrady in #1566
- [cryptography] Mandate
Hasherimplementations to beDefaultby @clabby in #1564 - [storage/cache] Add
.first()Helper by @patrick-ogrady in #1569 - [storage/journal] improve consistency in journal read/get error handling by @roberto-bayardo in #1565
- [utils] Add
ClosedHelper by @patrick-ogrady in #1570 - Remove unnecessary clone() in wire message test by @eeemmmmmm in #1518
- [storage] prune dbs used in init benchmarks by @roberto-bayardo in #1576
- [release] v0.0.62 by @patrick-ogrady in #1575
- [ci] Fix publishing error by @patrick-ogrady in #1579
New Contributors
- @eeemmmmmm made their first contribution in #1518
Full Changelog: v0.0.61...v0.0.62
Stats
.github/workflows/fast.yml | 9 --
Cargo.lock | 56 +++----
Cargo.toml | 34 ++--
broadcast/Cargo.toml | 8 +-
codec/Cargo.toml | 8 +-
codec/fuzz/Cargo.toml | 5 +-
coding/Cargo.toml | 8 +-
coding/fuzz/Cargo.toml | 5 +-
collector/Cargo.toml | 8 +-
consensus/Cargo.toml | 8 +-
consensus/src/aggregation/engine.rs | 49 ++++--
consensus/src/aggregation/mocks/application.rs | 29 ++--
consensus/src/aggregation/mod.rs | 205 +++++++++++++++++++++++++
cryptography/Cargo.toml | 8 +-
cryptography/fuzz/Cargo.toml | 5 +-
cryptography/src/blake3/mod.rs | 6 -
cryptography/src/lib.rs | 8 +-
cryptography/src/sha256/mod.rs | 14 +-
deployer/Cargo.toml | 8 +-
examples/bridge/Cargo.toml | 8 +-
examples/chat/Cargo.toml | 8 +-
examples/estimator/Cargo.toml | 8 +-
examples/flood/Cargo.toml | 8 +-
examples/log/Cargo.toml | 8 +-
examples/sync/Cargo.toml | 8 +-
examples/vrf/Cargo.toml | 8 +-
macros/Cargo.toml | 8 +-
p2p/Cargo.toml | 8 +-
resolver/Cargo.toml | 8 +-
resolver/src/p2p/wire.rs | 2 +-
runtime/Cargo.toml | 8 +-
runtime/fuzz/Cargo.toml | 5 +-
scripts/bump_versions.sh | 58 -------
storage/Cargo.toml | 8 +-
storage/fuzz/Cargo.toml | 5 +-
storage/src/adb/any/variable/mod.rs | 16 +-
storage/src/adb/any/variable/sync.rs | 117 ++++++--------
storage/src/adb/benches/current_init.rs | 1 +
storage/src/adb/benches/fixed_init.rs | 1 +
storage/src/adb/benches/variable_init.rs | 1 +
storage/src/adb/immutable/mod.rs | 10 +-
storage/src/adb/keyless.rs | 30 +---
storage/src/archive/prunable/storage.rs | 6 +-
storage/src/cache/mod.rs | 10 +-
storage/src/cache/storage.rs | 8 +-
storage/src/freezer/storage.rs | 14 +-
storage/src/journal/fixed.rs | 29 ++--
storage/src/journal/mod.rs | 6 +-
storage/src/journal/variable.rs | 38 ++---
storage/src/store/benches/restart.rs | 1 +
storage/src/store/mod.rs | 8 +-
storage/src/store/operation.rs | 10 ++
stream/Cargo.toml | 8 +-
stream/fuzz/Cargo.toml | 5 +-
utils/Cargo.toml | 8 +-
utils/fuzz/Cargo.toml | 5 +-
utils/src/futures.rs | 111 ++++++++++++-
57 files changed, 671 insertions(+), 419 deletions(-)v0.0.61
Changes
- [codec] Impl
Encodefor&[T: Encode]by @clabby in #1513 - [storage] fix rewind bugs by @roberto-bayardo in #1521
- fix: correct typo by @viktorking7 in #1525
- [commonware-utils] Add
rand/std_rngtostdfeature by @danlaine in #1529 - [docs] Point to YouTube for Podcasts by @patrick-ogrady in #1537
- Update Minimmit spec by @dnkolegov-ar in #1456
[commonware-resolver]enablemocksfeature for unit tests by @danlaine in #1527- [cryptography] document non-uniform JF DKG by @cronokirby in #1541
- Transcript API by @cronokirby in #1501
- [cryptography] Use CryptoRng consistently by @cronokirby in #1542
- [storage/adb/fixed] Lightweight commit & new approach to pruning by @roberto-bayardo in #1539
- [storage/adb/bench] benchmarks for generating various adbs by @roberto-bayardo in #1546
- Fix fuzz targets and related functions by @dnkolegov-ar in #1536
- Update quint version to 0.27 by @dnkolegov-ar in #1503
- [cryptography/bls12381/tle] Add
HashtoCiphertextby @patrick-ogrady in #1556 - [storage] lightweight commit for store, adb::immutable, adb::keyless, and adb::any::fixed by @roberto-bayardo in #1523
- [collector] Minimal Panic Fix by @patrick-ogrady in #1560
- [release] v0.0.61 by @patrick-ogrady in #1561
New Contributors
- @viktorking7 made their first contribution in #1525
Full Changelog: v0.0.60...v0.0.61
Stats
.github/workflows/quint.yml | 2 +-
AGENTS.md | 31 +-
Cargo.lock | 69 +-
Cargo.toml | 30 +-
broadcast/Cargo.toml | 2 +-
codec/Cargo.toml | 2 +-
codec/fuzz/Cargo.toml | 2 +-
codec/src/types/vec.rs | 45 +-
coding/Cargo.toml | 2 +-
coding/fuzz/Cargo.toml | 2 +-
collector/Cargo.toml | 3 +-
collector/src/lib.rs | 12 +-
collector/src/p2p/engine.rs | 12 +-
collector/src/p2p/ingress.rs | 8 +-
collector/src/p2p/mocks/mod.rs | 1 +
collector/src/p2p/mocks/sender.rs | 42 +
collector/src/p2p/mod.rs | 119 +-
consensus/Cargo.toml | 2 +-
consensus/src/aggregation/engine.rs | 2 +-
consensus/src/ordered_broadcast/engine.rs | 2 +-
consensus/src/simplex/actors/voter/actor.rs | 2 +-
.../src/threshold_simplex/actors/voter/actor.rs | 2 +-
cryptography/Cargo.toml | 5 +-
cryptography/fuzz/Cargo.toml | 3 +-
cryptography/fuzz/fuzz_targets/blake3_hasher.rs | 26 +-
cryptography/fuzz/fuzz_targets/metamorph_lthash.rs | 3 +
cryptography/fuzz/fuzz_targets/sha256_hasher.rs | 53 +-
cryptography/src/blake3/mod.rs | 4 +-
cryptography/src/bls12381/dkg/dealer.rs | 4 +-
cryptography/src/bls12381/dkg/mod.rs | 22 +-
cryptography/src/bls12381/dkg/ops.rs | 4 +-
cryptography/src/bls12381/primitives/group.rs | 4 +-
cryptography/src/bls12381/primitives/ops.rs | 4 +-
cryptography/src/bls12381/primitives/poly.rs | 4 +-
cryptography/src/bls12381/primitives/variant.rs | 8 +-
cryptography/src/bls12381/scheme.rs | 6 +-
cryptography/src/bls12381/tle.rs | 6 +-
cryptography/src/ed25519/scheme.rs | 7 +-
cryptography/src/lib.rs | 10 +-
cryptography/src/secp256r1/scheme.rs | 4 +-
cryptography/src/sha256/mod.rs | 4 +-
cryptography/src/transcript.rs | 367 +++++
deployer/Cargo.toml | 2 +-
docs/shared.js | 2 +-
examples/bridge/Cargo.toml | 2 +-
examples/chat/Cargo.toml | 2 +-
examples/estimator/Cargo.toml | 2 +-
examples/flood/Cargo.toml | 2 +-
examples/log/Cargo.toml | 2 +-
examples/sync/Cargo.toml | 2 +-
examples/sync/src/bin/server.rs | 3 +
examples/sync/src/databases/any.rs | 5 +-
examples/sync/src/databases/immutable.rs | 4 +-
examples/sync/src/databases/mod.rs | 4 +-
examples/vrf/Cargo.toml | 3 +-
examples/vrf/src/handlers/contributor.rs | 6 +-
macros/Cargo.toml | 2 +-
p2p/Cargo.toml | 2 +-
p2p/src/lib.rs | 4 +-
pipeline/minimmit/minimmit.md | 40 +-
pipeline/minimmit/quint/defs.qnt | 2 +-
.../quint/{main_n6f0.qnt => main_n6f1b0.qnt} | 5 +-
.../quint/{main_n6f1.qnt => main_n6f1b1.qnt} | 3 +-
.../quint/{main_n6f2.qnt => main_n6f2b2.qnt} | 3 +-
.../quint/{main_n7f1.qnt => main_n7f1b1.qnt} | 3 +-
pipeline/minimmit/quint/makefile | 33 +-
pipeline/minimmit/quint/option.qnt | 2 +-
pipeline/minimmit/quint/replica.qnt | 448 +++---
pipeline/minimmit/quint/scripts/invariant.sh | 2 +-
pipeline/minimmit/quint/scripts/smoke.sh | 50 +
pipeline/minimmit/quint/tests/tests_n6f0.qnt | 851 -----------
pipeline/minimmit/quint/tests/tests_n6f1.qnt | 174 ---
pipeline/minimmit/quint/tests/tests_n6f1b0.qnt | 1600 ++++++++++++++++++++
pipeline/minimmit/quint/tests/tests_n6f1b1.qnt | 175 +++
pipeline/minimmit/quint/tests/tests_n7f1.qnt | 176 ---
pipeline/minimmit/quint/tests/tests_n7f1b1.qnt | 175 +++
pipeline/minimmit/quint/twins_n6f1b1.qnt | 41 +
pipeline/minimmit/quint/types.qnt | 40 +-
resolver/Cargo.toml | 8 +-
runtime/Cargo.toml | 2 +-
runtime/fuzz/Cargo.toml | 2 +-
storage/Cargo.toml | 2 +-
storage/fuzz/Cargo.toml | 2 +-
.../fuzz/fuzz_targets/adb_current_operations.rs | 59 +-
storage/fuzz/fuzz_targets/adb_operations.rs | 23 +-
storage/fuzz/fuzz_targets/adb_sync.rs | 25 +-
storage/fuzz/fuzz_targets/journal_operations.rs | 18 +-
storage/src/adb/any/fixed/mod.rs | 711 ++++-----
storage/src/adb/any/fixed/sync.rs | 225 +--
storage/src/adb/any/variable/mod.rs | 464 +++---
storage/src/adb/any/variable/sync.rs | 23 +-
storage/src/adb/benches/bench.rs | 8 +-
storage/src/adb/benches/current_init.rs | 3 +-
storage/src/adb/benches/fixed_generate.rs | 131 ++
storage/src/adb/benches/fixed_init.rs | 3 +-
storage/src/adb/benches/keyless_generate.rs | 110 ++
storage/src/adb/benches/variable_generate.rs | 138 ++
storage/src/adb/current.rs | 380 ++---
storage/src/adb/immutable/mod.rs | 121 +-
storage/src/adb/immutable/sync/mod.rs | 2 +-
storage/src/adb/keyless.rs | 841 ++++++++--
storage/src/adb/mod.rs | 37 +
storage/src/adb/sync/resolver.rs | 8 +-
storage/src/archive/prunable/storage.rs | 2 +-
storage/src/cache/storage.rs | 2 +-
storage/src/freezer/storage.rs | 1 +
storage/src/journal/fixed.rs | 52 +-
storage/src/journal/variable.rs | 156 +-
storage/src/mmr/journaled.rs | 54 +-
storage/src/mmr/mem.rs | 12 +-
storage/src/store/mod.rs | 174 ++-
stream/Cargo.toml | 2 +-
stream/fuzz/Cargo.toml | 2 +-
utils/Cargo.toml | 4 +-
utils/fuzz/Cargo.toml | 2 +-
utils/fuzz/fuzz_targets/bitvec.rs | 169 ++-
utils/fuzz/fuzz_targets/lib_functions.rs | 6 +-
utils/fuzz/fuzz_targets/priority_set.rs | 38 +-
utils/src/lib.rs | 35 +-
119 files changed, 5707 insertions(+), 3164 deletions(-)v0.0.60
Changes
- [storage] add get_loc to all stores by @roberto-bayardo in #1459
- [mmr] Add
init_from_pinned_nodesby @danlaine in #1462 - [Cargo.toml] add
stream! by @patrick-ogrady in #1464 - [docs] Add logo + favicon to Rust docs by @clabby in #1463
- [storage/adb] Support Multi-Proofs by @patrick-ogrady in #1470
- [runtime/iouring] account for linked timeout op space in the SQ by @andresilva in #1465
- [runtime/util/buffer] use fetch_add instead of write lock for unique id assignment by @roberto-bayardo in #1471
- [runtime/{network,storage}] enable iouring single issuer and defer task run by @andresilva in #1466
- [runtime/iouring] use submit_with_args for bounded waits by @andresilva in #1467
- [codec] support no_std codec builds by @roberto-bayardo in #1477
- [utils] no_std for commonware-utils by @roberto-bayardo in #1479
- [runtime] fix flaky process metrics test by @andresilva in #1476
- [runtime] Add support for hierarchical tasks by @andresilva in #1361
- [consensus] Remove compression option by @BrendanChou in #1488
- [deployer] Use
jemalloc2+ Remove (Janky)memleakby @patrick-ogrady in #1489 - [stream] link listener response to dialer hello by @cronokirby in #1485
- Improve coverage for utils fuzz tests - Part 2 by @dnkolegov-ar in #1492
- [cryptography] support no_std build for commonware-cryptography by @roberto-bayardo in #1486
- [cryptography] finish renaming scheme -> signer by @cronokirby in #1494
- [storage/adb] Multi-Proof Helpers by @patrick-ogrady in #1497
- [
utils::BitVec] Improve clarity ofBitVec::mask_over_first_n_bitsby @BrendanChou in #1454 - [storage/adb] Use create, not generate/construct by @patrick-ogrady in #1502
- [consensus] Test that non-active validators can run consensus engines by @BrendanChou in #1500
- [storage] Introduce
cacheby @patrick-ogrady in #1506 - [p2p/simulated, estimator] simulate bandwidth and message size constraints by @andresilva in #1452
- [consensus] Fix Types by @patrick-ogrady in #1508
- [release] v0.0.60 by @patrick-ogrady in #1512
New Contributors
- @cronokirby made their first contribution in #1485
Full Changelog: v0.0.59...v0.0.60
Stats
.github/workflows/fast.yml | 21 +
AGENTS.md | 16 +-
Cargo.lock | 83 +-
Cargo.toml | 45 +-
broadcast/Cargo.toml | 2 +-
broadcast/src/buffered/mocks.rs | 6 +-
broadcast/src/buffered/mod.rs | 4 +-
broadcast/src/lib.rs | 5 +
codec/Cargo.toml | 6 +-
codec/fuzz/Cargo.toml | 2 +-
codec/src/config.rs | 4 +-
codec/src/error.rs | 6 +-
codec/src/lib.rs | 30 +-
codec/src/types/btree_map.rs | 263 ++++
codec/src/types/btree_set.rs | 212 +++
codec/src/types/bytes.rs | 2 +
codec/src/types/hash_map.rs | 398 ++++++
codec/src/types/{set.rs => hash_set.rs} | 267 +---
codec/src/types/map.rs | 780 -----------
codec/src/types/mod.rs | 9 +-
codec/src/types/primitives.rs | 6 +-
codec/src/types/vec.rs | 6 +-
codec/src/varint.rs | 16 +-
coding/Cargo.toml | 2 +-
coding/fuzz/Cargo.toml | 2 +-
coding/src/lib.rs | 5 +
collector/Cargo.toml | 2 +-
collector/src/lib.rs | 5 +
collector/src/p2p/mocks/types.rs | 10 +-
collector/src/p2p/mod.rs | 8 +-
consensus/Cargo.toml | 2 +-
consensus/src/aggregation/mocks/application.rs | 8 +-
consensus/src/aggregation/mod.rs | 12 +-
consensus/src/aggregation/types.rs | 18 +-
consensus/src/lib.rs | 5 +
consensus/src/marshal/ingress/handler.rs | 27 +-
consensus/src/marshal/mod.rs | 64 +-
consensus/src/ordered_broadcast/ack_manager.rs | 70 +-
consensus/src/ordered_broadcast/mod.rs | 28 +-
consensus/src/ordered_broadcast/tip_manager.rs | 6 +-
consensus/src/simplex/actors/voter/actor.rs | 16 +-
consensus/src/simplex/actors/voter/mod.rs | 39 +-
consensus/src/simplex/config.rs | 3 -
consensus/src/simplex/engine.rs | 1 -
consensus/src/simplex/mod.rs | 204 ++-
.../src/threshold_simplex/actors/voter/actor.rs | 13 +-
.../src/threshold_simplex/actors/voter/mod.rs | 52 +-
consensus/src/threshold_simplex/config.rs | 3 -
consensus/src/threshold_simplex/engine.rs | 1 -
.../src/threshold_simplex/mocks/supervisor.rs | 12 +-
consensus/src/threshold_simplex/mod.rs | 315 ++++-
cryptography/Cargo.toml | 13 +-
cryptography/fuzz/Cargo.toml | 2 +-
cryptography/fuzz/fuzz_targets/sha256_hasher.rs | 7 +-
cryptography/src/blake3/mod.rs | 21 +-
cryptography/src/bloomfilter.rs | 9 +-
cryptography/src/bls12381/mod.rs | 4 +
cryptography/src/bls12381/primitives/group.rs | 38 +-
cryptography/src/bls12381/primitives/ops.rs | 119 +-
cryptography/src/bls12381/primitives/poly.rs | 13 +-
cryptography/src/bls12381/primitives/variant.rs | 11 +-
cryptography/src/bls12381/scheme.rs | 41 +-
cryptography/src/bls12381/tle.rs | 2 +
cryptography/src/ed25519/mod.rs | 6 +-
cryptography/src/ed25519/scheme.rs | 49 +-
cryptography/src/lib.rs | 25 +-
cryptography/src/secp256r1/mod.rs | 2 +-
cryptography/src/secp256r1/scheme.rs | 58 +-
cryptography/src/sha256/mod.rs | 26 +-
deployer/Cargo.toml | 2 +-
deployer/src/ec2/aws.rs | 14 +-
deployer/src/ec2/create.rs | 20 -
deployer/src/ec2/destroy.rs | 8 +-
deployer/src/ec2/mod.rs | 14 +-
deployer/src/ec2/services.rs | 335 +----
deployer/src/lib.rs | 5 +
docs/imgs/rustdoc_logo.svg | 22 +
examples/bridge/Cargo.toml | 2 +-
examples/bridge/src/bin/validator.rs | 1 -
examples/bridge/src/lib.rs | 5 +
examples/chat/Cargo.toml | 2 +-
examples/estimator/Cargo.toml | 3 +-
examples/estimator/README.md | 75 +-
examples/estimator/simplex_with_sizes.lazy | 15 +
examples/estimator/src/lib.rs | 118 +-
examples/estimator/src/main.rs | 124 +-
examples/flood/Cargo.toml | 2 +-
examples/flood/README.md | 2 +-
examples/flood/dashboard.json | 362 +----
examples/flood/src/bin/flood.rs | 2 +-
examples/flood/src/bin/setup.rs | 10 +-
examples/flood/src/lib.rs | 7 +-
examples/log/Cargo.toml | 2 +-
examples/log/src/main.rs | 1 -
examples/sync/Cargo.toml | 2 +-
examples/sync/src/lib.rs | 5 +
examples/vrf/Cargo.toml | 2 +-
macros/Cargo.toml | 2 +-
macros/src/lib.rs | 5 +
p2p/Cargo.toml | 2 +-
.../authenticated/discovery/actors/tracker/set.rs | 22 +-
p2p/src/lib.rs | 5 +
p2p/src/si...v0.0.59
Changes
- [utils/channels] Track Message Delivery by @patrick-ogrady in #1396
- [sync] Factor out sync engine; implement sync for
adb::Immutableby @danlaine in #1341 - [sync] readme nit by @danlaine in #1400
- [consensus/aggregation] Use Pre-Computed Participants + Add
Certificateby @patrick-ogrady in #1404 - [storage/mmr/verification] add version of reconstruct_root that returns all involved digests by @roberto-bayardo in #1403
- [runtime] fix lint failure from updated rust due to unneeded module with iouring by @roberto-bayardo in #1408
- [runtime/utils/buffer] use checked add in offset assertion checks by @roberto-bayardo in #1406
- [storage/mmr] Support proving over sub-ranges, fix digest-extraction bug by @roberto-bayardo in #1415
- [adb::variable::*] Fix Miscellaneous Recovery Issues by @danlaine in #1411
- [codec] allow accessing error source chain by @SuperFluffy in #1402
- [codec] Add
CodecFixedby @patrick-ogrady in #1423 - New fuzz targets for runtime and utils by @dnkolegov-ar in #1431
- [consensus/{threshold_simplex, aggregation}] Replay Activity by @patrick-ogrady in #1424
- [storage/adb] introduce "keyless" adb by @roberto-bayardo in #1426
- [consensus/aggregation] Improve Recovery Performance by @patrick-ogrady in #1436
- [storage/mmr] change leaf_num_to_pos to use simpler count_ones based implementation by @roberto-bayardo in #1437
- [AGENTS.md] Introduce Agent Markdown by @patrick-ogrady in #1370
- [AGENTS.md] Add More Testing Information by @patrick-ogrady in #1439
- [storage/adb/keyless] fix authentication/proving in the keyless db by @roberto-bayardo in #1438
- [storage] fix clippy nits by @andresilva in #1444
- [storage/store] change variable stores to use varint for uint64 wrapping operations by @roberto-bayardo in #1449
- [storage/mmr] make mmr iterator functionality public by @roberto-bayardo in #1451
- [storage] support associating metadata w/ variable-store commit ops by @roberto-bayardo in #1450
- [p2p] Add
Muxutility that wraps a channel and muxes based on sub-channels by @BrendanChou in #1427 - Improve coverage for utils fuzz tests by @dnkolegov-ar in #1442
- [runtime] Track RSS by @patrick-ogrady in #1457
- [release] v0.0.59 by @patrick-ogrady in #1458
New Contributors
- @SuperFluffy made their first contribution in #1402
Full Changelog: v0.0.58...v0.0.59
Stats
.github/workflows/coverage.yml | 1 +
.github/workflows/slow.yml | 2 +-
.gitignore | 1 +
AGENTS.md | 558 +++++
CLAUDE.md | 1 +
Cargo.lock | 150 +-
Cargo.toml | 30 +-
broadcast/Cargo.toml | 2 +-
codec/Cargo.toml | 2 +-
codec/fuzz/Cargo.toml | 2 +-
codec/src/codec.rs | 8 +
codec/src/error.rs | 7 +-
coding/Cargo.toml | 2 +-
coding/fuzz/Cargo.toml | 3 +-
coding/fuzz/fuzz_targets/reed_solomon.rs | 16 +-
collector/Cargo.toml | 2 +-
consensus/Cargo.toml | 2 +-
consensus/src/aggregation/config.rs | 3 +
consensus/src/aggregation/engine.rs | 268 ++-
consensus/src/aggregation/mocks/application.rs | 73 +-
consensus/src/aggregation/mocks/mod.rs | 2 +-
consensus/src/aggregation/mocks/reporter.rs | 86 +-
consensus/src/aggregation/mocks/supervisor.rs | 37 +-
consensus/src/aggregation/mod.rs | 770 ++-----
consensus/src/aggregation/types.rs | 105 +-
.../src/threshold_simplex/actors/voter/actor.rs | 44 +-
cryptography/Cargo.toml | 2 +-
cryptography/fuzz/Cargo.toml | 2 +-
cryptography/fuzz/fuzz_targets/blake3_hasher.rs | 39 +-
cryptography/fuzz/fuzz_targets/bloomfilter.rs | 35 +
.../fuzz/fuzz_targets/lthash_operations.rs | 2 +-
cryptography/fuzz/fuzz_targets/metamorph_lthash.rs | 2 +-
deployer/Cargo.toml | 2 +-
deployer/src/ec2/create.rs | 22 +-
examples/bridge/Cargo.toml | 2 +-
examples/chat/Cargo.toml | 2 +-
examples/estimator/Cargo.toml | 2 +-
examples/flood/Cargo.toml | 2 +-
examples/log/Cargo.toml | 2 +-
examples/sync/Cargo.toml | 2 +-
examples/sync/README.md | 6 +-
examples/sync/src/bin/client.rs | 388 ++--
examples/sync/src/bin/server.rs | 486 ++--
examples/sync/src/databases/any.rs | 152 ++
examples/sync/src/databases/immutable.rs | 130 ++
examples/sync/src/databases/mod.rs | 80 +
examples/sync/src/error.rs | 55 +-
examples/sync/src/lib.rs | 122 +-
examples/sync/src/net/io.rs | 95 +
examples/sync/src/net/mod.rs | 185 ++
examples/sync/src/net/request_id.rs | 52 +
examples/sync/src/net/resolver.rs | 124 ++
examples/sync/src/net/wire.rs | 306 +++
examples/sync/src/protocol.rs | 510 -----
examples/sync/src/resolver.rs | 259 ---
examples/vrf/Cargo.toml | 2 +-
macros/Cargo.toml | 2 +-
p2p/Cargo.toml | 2 +-
p2p/src/utils/mod.rs | 1 +
p2p/src/utils/mux.rs | 556 +++++
resolver/Cargo.toml | 2 +-
runtime/Cargo.toml | 3 +-
runtime/fuzz/Cargo.toml | 20 +
runtime/fuzz/fuzz_targets/buffer.rs | 332 +++
runtime/src/lib.rs | 32 +
runtime/src/network/mod.rs | 4 +-
runtime/src/process/metered.rs | 116 +
runtime/src/process/mod.rs | 3 +
runtime/src/tokio/runtime.rs | 13 +-
runtime/src/utils/buffer/tip.rs | 11 +-
storage/Cargo.toml | 2 +-
storage/fuzz/Cargo.toml | 2 +-
storage/fuzz/fuzz_targets/adb_operations.rs | 7 +-
storage/fuzz/fuzz_targets/adb_sync.rs | 42 +-
storage/src/adb/any/{fixed.rs => fixed/mod.rs} | 647 +-----
storage/src/adb/any/fixed/sync.rs | 2325 ++++++++++++++++++++
storage/src/adb/any/mod.rs | 1 -
storage/src/adb/any/sync/client.rs | 2175 ------------------
storage/src/adb/any/sync/metrics.rs | 68 -
storage/src/adb/any/sync/mod.rs | 138 --
storage/src/adb/any/sync/resolver.rs | 151 --
.../src/adb/any/{variable.rs => variable/mod.rs} | 254 ++-
storage/src/adb/any/variable/sync.rs | 1000 +++++++++
storage/src/adb/benches/variable_init.rs | 4 +-
storage/src/adb/current.rs | 8 +-
storage/src/adb/{immutable.rs => immutable/mod.rs} | 268 ++-
storage/src/adb/immutable/sync/journal.rs | 91 +
storage/src/adb/immutable/sync/mod.rs | 1197 ++++++++++
storage/src/adb/keyless.rs | 897 ++++++++
storage/src/adb/mod.rs | 4 +
storage/src/adb/sync/database.rs | 59 +
storage/src/adb/sync/engine.rs | 572 +++++
storage/src/adb/sync/error.rs | 62 +
storage/src/adb/sync/gaps.rs | 293 +++
storage/src/adb/sync/journal.rs | 19 +
storage/src/adb/sync/mod.rs | 37 +
storage/src/adb/sync/requests.rs | 67 +
storage/src/adb/sync/resolver.rs | 224 ++
storage/src/ad...
v0.0.58
Changes
- [release-fix] Change Publish Order by @patrick-ogrady in #1345
- [runtime/utils/buffer] fix out of range bug due to shortened read buffer by @roberto-bayardo in #1354
- fix typo by @anim001k in #1359
- [runtime] Implement shutdown tracking with signal reference counting by @andresilva in #1357
- [minimmit] Update spec to use a subquorum size of
2f+1instead ofn-3fby @BrendanChou in #1332 - [examples/sync] Fix Flaky Test by @patrick-ogrady in #1360
- [storage] Introduce
storeby @clabby in #1327 - Remove usage of
buf.get_u*by @BrendanChou in #1364 - [runtime/storage] Remove
Blob::closeby @andresilva in #1351 - [runtime] Fix
SignalTest Flake by @patrick-ogrady in #1368 - Update quint spec by @dnkolegov-ar in #1333
- [storage/index] Implement
SendforCursor+miriCI by @patrick-ogrady in #1369 - [docs] Use Inconsolata by @patrick-ogrady in #1372
- Revert Inconsolata by @patrick-ogrady in #1373
- [storage/adb] introduce adb::any::Variable by @roberto-bayardo in #1347
- [storage/adb/any] Any db cleanup by @roberto-bayardo in #1379
- [cleanup] change all buffer capacities from usize to NonZeroUsize by @roberto-bayardo in #1358
- [fix] correct element reference in MMR example by @MignonLi0 in #1386
- [storage] migrate the 'per-blob' config fields from u64 to NonZeroU64 by @roberto-bayardo in #1382
- [storage/adb/any] create a new benchmark for the variable anydb by @roberto-bayardo in #1388
- Add fuzz target for ordinal store by @dnkolegov-ar in #1208
- [consensus::marshal] Fix: Responses from
broadcast::bufferedare not immediately processed by @BrendanChou in #1381 - [storage/journal/variable] use Append wrapper by @andresilva in #1384
- [runtime/utils/buffer/append] Avoid re-writing flushed data by @andresilva in #1385
- [storage/adb/current] add benchmark for adb::current startup by @fahimahmedx in #1390
- [storage/rmap + ordinal] Missing Item Helper by @patrick-ogrady in #1393
- [release] v0.0.58 by @patrick-ogrady in #1394
New Contributors
- @anim001k made their first contribution in #1359
- @andresilva made their first contribution in #1357
- @MignonLi0 made their first contribution in #1386
- @fahimahmedx made their first contribution in #1390
Full Changelog: v0.0.57...v0.0.58
Stats
.github/workflows/fast.yml | 33 +-
.github/workflows/publish.yml | 10 +-
.github/workflows/slow.yml | 13 +-
.gitignore | 1 +
Cargo.lock | 54 +-
Cargo.toml | 28 +-
broadcast/Cargo.toml | 2 +-
broadcast/src/buffered/mod.rs | 2 +-
codec/Cargo.toml | 2 +-
codec/fuzz/Cargo.toml | 2 +-
codec/src/varint.rs | 7 +-
coding/Cargo.toml | 2 +-
coding/fuzz/Cargo.toml | 2 +-
collector/Cargo.toml | 2 +-
collector/src/p2p/mocks/types.rs | 10 +-
consensus/Cargo.toml | 2 +-
consensus/src/aggregation/config.rs | 4 +
consensus/src/aggregation/engine.rs | 13 +-
consensus/src/aggregation/mod.rs | 17 +-
consensus/src/marshal/actor.rs | 104 +-
consensus/src/marshal/config.rs | 14 +-
consensus/src/marshal/mod.rs | 587 +++--
consensus/src/ordered_broadcast/config.rs | 10 +-
consensus/src/ordered_broadcast/engine.rs | 11 +-
consensus/src/ordered_broadcast/mod.rs | 22 +-
consensus/src/simplex/actors/voter/actor.rs | 16 +-
consensus/src/simplex/actors/voter/mod.rs | 23 +-
consensus/src/simplex/config.rs | 10 +-
consensus/src/simplex/engine.rs | 1 +
consensus/src/simplex/mocks/application.rs | 21 +-
consensus/src/simplex/mod.rs | 73 +-
.../src/threshold_simplex/actors/voter/actor.rs | 9 +-
.../src/threshold_simplex/actors/voter/mod.rs | 23 +-
consensus/src/threshold_simplex/config.rs | 10 +-
consensus/src/threshold_simplex/engine.rs | 1 +
.../src/threshold_simplex/mocks/application.rs | 13 +-
consensus/src/threshold_simplex/mod.rs | 88 +-
cryptography/Cargo.toml | 2 +-
cryptography/fuzz/Cargo.toml | 2 +-
deployer/Cargo.toml | 2 +-
examples/bridge/Cargo.toml | 2 +-
examples/bridge/src/bin/validator.rs | 9 +-
examples/chat/Cargo.toml | 2 +-
examples/estimator/Cargo.toml | 2 +-
examples/flood/Cargo.toml | 2 +-
examples/log/Cargo.toml | 2 +-
examples/log/src/main.rs | 9 +-
examples/sync/Cargo.toml | 2 +-
examples/sync/src/bin/server.rs | 18 +-
examples/sync/src/lib.rs | 28 +-
examples/sync/src/protocol.rs | 78 +-
examples/sync/src/resolver.rs | 31 +-
examples/vrf/Cargo.toml | 2 +-
macros/Cargo.toml | 2 +-
p2p/Cargo.toml | 2 +-
pipeline/minimmit/minimmit.md | 10 +-
pipeline/minimmit/quint/README.md | 2 +-
pipeline/minimmit/quint/main_n6f0.qnt | 3 +-
pipeline/minimmit/quint/main_n6f1.qnt | 3 +-
pipeline/minimmit/quint/main_n6f2.qnt | 3 +-
pipeline/minimmit/quint/main_n7f1.qnt | 3 +-
pipeline/minimmit/quint/makefile | 6 +-
pipeline/minimmit/quint/replica.qnt | 80 +-
pipeline/minimmit/quint/scripts/invariant.sh | 217 ++
pipeline/minimmit/quint/tests/tests_n6f0.qnt | 12 +-
pipeline/minimmit/quint/tests/tests_n6f1.qnt | 9 +-
pipeline/minimmit/quint/tests/tests_n7f1.qnt | 176 ++
resolver/Cargo.toml | 2 +-
resolver/src/p2p/wire.rs | 4 +-
runtime/Cargo.toml | 2 +-
runtime/src/deterministic.rs | 44 +-
runtime/src/lib.rs | 290 ++-
runtime/src/storage/audited.rs | 17 +-
runtime/src/storage/iouring.rs | 5 -
runtime/src/storage/memory.rs | 5 -
runtime/src/storage/metered.rs | 137 +-
runtime/src/storage/mod.rs | 3 +-
runtime/src/storage/tokio/fallback.rs | 10 -
runtime/src/storage/tokio/unix.rs | 6 -
runtime/src/tokio/runtime.rs | 38 +-
runtime/src/utils/buffer/append.rs | 146 +-
runtime/src/utils/buffer/mod.rs | 181 +-
runtime/src/utils/buffer/pool.rs | 12 +-
runtime/src/utils/buffer/read.rs | 52 +-
runtime/src/utils/buffer/tip.rs | 13 +-
runtime/src/utils/buffer/write.rs | 16 +-
runtime/src/utils/mod.rs | 97 +-
runtime/src/utils/signal.rs | 228 ++
storage/Cargo.toml | 7 +-
storage/fuzz/Cargo.toml | 9 +-
.../fuzz/fuzz_targets/adb_current_operations.rs | 31 +-
storage/fuzz/fuzz_targets/adb_operations.rs | 35 +-
storage/fuzz/fuzz_targets/adb_sync.rs | 14 +-
storage/fuzz/fuzz_targets/archive_operations.rs | 17 +-
storage/fuzz/fuzz_targets/freezer_operations.rs | 14 +-
storage/fuzz/fuzz_targets/journal_operations.rs | 15 +-
storage/fuzz/fuzz_targets/ordinal_operations.rs | 262 +++
storage/fuzz/fuzz_targets/rmap_operations.rs | 4 +-
storage/src/adb/any/fixe...
v0.0.57
Changes
- [adb] [sync] Re-use existing persisted data during state sync by @danlaine in #1275
- [storage/index] Implement Custom
Dropby @patrick-ogrady in #1278 - [CI] Add
codingto benchmarks by @patrick-ogrady in #1279 - [adb] [sync] Change sync lower bound to be inactivity floor, not pruning boundary by @danlaine in #1277
- Fixes #1269: a memory leak in the deterministic runtime by @evonide in #1282
- Add more fuzz tests: coding, blake3, threshold by @dnkolegov-ar in #1276
- [examples/estimator] Introduce
commonware-estimatorby @patrick-ogrady in #1283 - [ci] Add Test for Unstable
Cargo.lockby @patrick-ogrady in #1288 - Fix journal fuzz operation by @dnkolegov-ar in #1290
- [stream] replace unused named variables with underscore in connection.rs by @reallesee in #1286
- [adb] [sync] Make sync target dynamic by @danlaine in #1281
- [adb] lowercase log starts and error messages by @danlaine in #1295
- [adb] [sync] rename hash to digest by @danlaine in #1299
- [storage/adb/any] minor adb::any cleanup by @roberto-bayardo in #1301
- [crytography/bls12381] Timelock Encryption by @patrick-ogrady in #1302
- [adb] [sync] Fix peristence bug causing checksum mismatch on synced database open by @danlaine in #1303
- [cryptography] Introduce
LtHashby @patrick-ogrady in #1307 - [storage/adb/any] remove double-hashing of elements by @roberto-bayardo in #1308
- [adb] [sync] update sync example to use dynamic target by @danlaine in #1289
- [adb] [sync] Update sync example client to continuously re-sync to newest server state by @danlaine in #1305
- [storage/log/variable] reduce # of blob
read_atcalls from 3 to 2 inreadandread_bufferedby @roberto-bayardo in #1313 - lthash fuzz test by @dnkolegov-ar in #1314
- [storage/bmt] Add Range Proofs by @patrick-ogrady in #1315
- [storage/bmt] Follow-Ups by @patrick-ogrady in #1318
- [storage/adb] Introduce
adb::immutableby @roberto-bayardo in #1317 - Add quint spec of the minimmit by @dnkolegov-ar in #1319
- [ci] Pipeline Nits by @patrick-ogrady in #1322
- [storage/adb/immutable] pruning support by @roberto-bayardo in #1325
- Initial adb_sync fuzz test by @evonide in #1324
- Init timelock encryption fuzzing by @dnkolegov-ar in #1326
- [adb::any::sync] Make operation fetching concurrent by @danlaine in #1323
- [storage/archive/immutable] Fix Unclean (Initial) Restart by @patrick-ogrady in #1336
- [consensus] Add
consensus::marshalby @BrendanChou in #1306 - [utils] Introduce
Span(and renamearraytosequence) by @patrick-ogrady in #1337 - Add metamorphic fuzzer for lthash by @dnkolegov-ar in #1334
- [marshal] Use a Single Resolver by @patrick-ogrady in #1340
- [release] v0.0.57 by @patrick-ogrady in #1343
Full Changelog: v0.0.56...v0.0.57
New Contributors
- @evonide made their first contribution in #1282
- @reallesee made their first contribution in #1286
Stats
.github/workflows/benchmark.yml | 4 +
.github/workflows/coverage.yml | 1 +
.github/workflows/fast.yml | 20 +
.github/workflows/publish.yml | 5 +
.github/workflows/quint.yml | 28 +
.github/workflows/slow.yml | 2 +-
.gitignore | 3 +-
Cargo.lock | 303 ++-
Cargo.toml | 30 +-
README.md | 1 +
broadcast/Cargo.toml | 2 +-
codec/Cargo.toml | 2 +-
codec/fuzz/Cargo.toml | 2 +-
codec/src/codec.rs | 2 +-
coding/Cargo.toml | 2 +-
coding/fuzz/Cargo.toml | 24 +
coding/fuzz/fuzz_targets/reed_solomon.rs | 90 +
coding/src/reed_solomon/mod.rs | 251 ++-
collector/Cargo.toml | 2 +-
consensus/Cargo.toml | 5 +-
consensus/src/lib.rs | 28 +
consensus/src/marshal/actor.rs | 944 ++++++++
consensus/src/marshal/config.rs | 68 +
consensus/src/marshal/finalizer.rs | 113 +
consensus/src/marshal/ingress/handler.rs | 489 +++++
consensus/src/marshal/ingress/mailbox.rs | 162 ++
consensus/src/marshal/ingress/mod.rs | 3 +
consensus/src/marshal/ingress/orchestrator.rs | 87 +
consensus/src/marshal/mocks/application.rs | 37 +
consensus/src/marshal/mocks/block.rs | 101 +
consensus/src/marshal/mocks/mod.rs | 3 +
consensus/src/marshal/mocks/resolver.rs | 27 +
consensus/src/marshal/mod.rs | 405 ++++
consensus/src/reporter.rs | 88 +
consensus/src/simplex/actors/resolver/actor.rs | 4 +-
consensus/src/simplex/actors/voter/actor.rs | 4 +-
consensus/src/simplex/actors/voter/ingress.rs | 7 +-
consensus/src/simplex/actors/voter/mod.rs | 11 +-
consensus/src/simplex/mocks/conflicter.rs | 4 +-
consensus/src/simplex/mocks/nuller.rs | 4 +-
consensus/src/simplex/mocks/outdated.rs | 4 +-
consensus/src/simplex/mocks/supervisor.rs | 4 +-
consensus/src/simplex/types.rs | 32 +-
.../src/threshold_simplex/actors/batcher/actor.rs | 4 +-
.../src/threshold_simplex/actors/resolver/actor.rs | 6 +-
.../src/threshold_simplex/actors/voter/actor.rs | 4 +-
.../src/threshold_simplex/actors/voter/mod.rs | 11 +-
.../src/threshold_simplex/mocks/conflicter.rs | 4 +-
.../src/threshold_simplex/mocks/impersonator.rs | 4 +-
consensus/src/threshold_simplex/mocks/invalid.rs | 4 +-
consensus/src/threshold_simplex/mocks/nuller.rs | 4 +-
consensus/src/threshold_simplex/mocks/outdated.rs | 4 +-
.../src/threshold_simplex/mocks/supervisor.rs | 3 +-
consensus/src/threshold_simplex/mod.rs | 173 +-
consensus/src/threshold_simplex/types.rs | 34 +-
cryptography/Cargo.toml | 7 +-
cryptography/fuzz/Cargo.toml | 45 +-
cryptography/fuzz/fuzz_targets/blake3_hasher.rs | 120 ++
.../fuzz_targets/bls12381_aggregate_operations.rs | 213 ++
.../fuzz_targets/bls12381_primitive_operations.rs | 4 +-
.../fuzz_targets/bls12381_threshold_operations.rs | 558 +++++
cryptography/fuzz/fuzz_targets/bls12381_tle.rs | 380 ++++
cryptography/fuzz/fuzz_targets/common/mod.rs | 320 +++
.../fuzz/fuzz_targets/lthash_operations.rs | 151 ++
cryptography/fuzz/fuzz_targets/metamorph_lthash.rs | 166 ++
cryptography/src/blake3/mod.rs | 6 +-
cryptography/src/bls12381/benches/bench.rs | 4 +
cryptography/src/bls12381/benches/tle_decrypt.rs | 34 +
cryptography/src/bls12381/benches/tle_encrypt.rs | 31 +
cryptography/src/bls12381/mod.rs | 1 +
cryptography/src/bls12381/primitives/group.rs | 172 +-
cryptography/src/bls12381/primitives/ops.rs | 12 +-
cryptography/src/bls12381/primitives/poly.rs | 4 +-
cryptography/src/bls12381/primitives/variant.rs | 41 +-
cryptography/src/bls12381/scheme.rs | 8 +-
cryptography/src/bls12381/tle.rs | 598 ++++++
cryptography/src/ed25519/scheme.rs | 8 +-
cryptography/src/lib.rs | 6 +-
cryptography/src/lthash/benches/add.rs | 19 +
cryptography/src/lthash/benches/bench.rs | 15 +
cryptography/src/lthash/benches/checksum.rs | 14 +
cryptography/src/lthash/benches/combine.rs | 22 +
cryptography/src/lthash/benches/subtract....