Skip to content

Releases: TritonVM/tasm-lib

v1.0.0

23 Oct 20:36

Choose a tag to compare

1.0.0

⚙️ Miscellaneous

v0.50.0

23 Oct 20:35
dc92826

Choose a tag to compare

0.50.0

⚙️ Miscellaneous

  • (!) Upgrade dependency “Triton VM” (3082294)

v0.49.0

23 Oct 20:34
d5da42a

Choose a tag to compare

0.49.0

⚙️ Miscellaneous

  • (!) Upgrade to rust edition 2024 (1d2c50e)
  • (!) Upgrade dependency “Triton VM” (110eb0e)

v0.48.0

23 Oct 20:33

Choose a tag to compare

0.48.0

⚙️ Miscellaneous

♻️ Refactor

  • (BagPeaks) Commit to leaf count (101952a3)

v0.47.0

10 Feb 23:26
6643860

Choose a tag to compare

0.47.0

♻️ Refactor

  • (!) Remove trait DeprecatedSnippet (eb53c844)

🖋 Snippet Sign-Off

v0.46.0

10 Feb 23:25

Choose a tag to compare

0.46.0

✨ Features

  • Derive more for various BasicSnippets (3a66965b)
  • Add snippet exports (e6a44361)
  • (TasmObject) Decode more types from iterators (44976534)

🐛 Bug Fixes

  • (TasmObject) Check all size indicators (a1813e24)
  • (Fri) Don't access array as if it was a list (369fca5a)
  • Run VM on InnerFunction::BasicSnippet (fdf70e23)

⚡️ Performance

  • (TasmObject) Accumulate static jumps in TASM (ae839408)
  • (!) Improve CalculateNewPeaksFromAppend (69ad217c)
  • (MerkleRoot) Simplify power-of-2 check (5c3388a8)

📚 Documentation

  • Fix start of code block in docstring (42426e39)
  • Document absence of “capacity” from lists (bb4245c9)
  • Fix intra-doc link (cc01e5f3)
  • Fix internal intra-doc links (687cc309)

⚙️ Miscellaneous

♻️ Refactor

  • (!) Fail gracefully when looking up exports (5b7f9fac)
  • (!) Consistify u32-Snippets exports (1968b578)
  • (!) Remove field from some “list” snippets (ca6da237)
  • (!) Check bounds in “list” helper functions (1bc79a03)
  • (!) Check bounds in list::get::Get (7f5729ca)
  • (!) Remove “contiguous list” (55fc928d)
  • (!) Check bounds in list::set::Set (138fecb7)
  • Check bounds in list::pop::Pop (83bc62c4)
  • (!) Check bounds in list::push::Push (8d292754)
  • (!) Make field of Contains private (a399b067)
  • (!) Remove snippet BfeAdd (1cbf9e2f)
  • (!) Remove DeprecatedSnippet for DivMod (cb18098b)
  • (!) Remove impl for DeprecatedSnippet (eafc76a6)
  • (!) Make helper type MemoryIter private (8887e566)
  • (!) Remove unused snippets (d3d0eeea)
  • (!) Remove trivial snippets (b5d874ab)
  • (!) Remove unused helper functions (16a1c1c9)
  • (!) Remove trivial snippet u64::Eq (e0ef6ca6)
  • (!) Drop “generic” if no counterpart exists (10263084)

✅ Testing

  • Check failure conditions of list::get::Get (293805a3)
  • (TasmObject) Test decoding from iterator (00a5507b)

🖋 Snippet Sign-Off

Note: (!) indicates a breaking change.

v0.45.0

14 Jan 14:55
8d3e1ab

Choose a tag to compare

0.45.0

✨ Features

  • LessThan for U128 (0492f3b6)
  • (i128) Add lt for i128 (820f26b3)
  • Introduce snippet sign-off functionality (6bc26129)
  • (u128) Add overflowing add (d9afd642)
  • (i128) Shift-right for i128s (39922aef)
  • (hashing) Add snippet for hashing stack value (821d7cac)
  • Add snippet u32::trailing_zeros (1b1a18e5)
  • (!) Add snippet u64::trailing_zeros (a376c4a5)
  • Add snippet hashing::merkle_step_mem_u64 (a9549e80)
  • (TasmStruct) Add destructuring capabilities (3af418ab)

🐛 Bug Fixes

  • Don't unwrap in TasmObject::decode_iter() (cffd64be)
  • (TasmObjectDerive) Make emitted paths absolute (eb715c60)

⚡️ Performance

  • (TasmObject) Use addi x over push x + add (dcf29572)
  • (safe-add) User overflowing add internally (02559987)
  • (verify_mmr_successor) Use new algorithm (94fb493f)

📚 Documentation

  • (PrimitiveRootOfUnity) Add snippet contract (3f8d33e1)

⚙️ Miscellaneous

  • (AddU64) Implement BasicSnippet (4d55540c)
  • (!) TasmObject is BFieldCodec subtrait (bb67184b)
  • Deprecate public type aliases (a880abbd)
  • (!) Drop Rc<RefCell<_>> from RustShadow (f82b2952)
  • (!) (Closure) De-duplicate boilerplate (19361715)

♻️ Refactor

  • (!) (arithmetic) Drop type suffixes (af934daa)
  • (!) Simplify testing framework (b7334898)
  • Remove superfluous 'static bounds (137de811)
  • (!) (TasmObject) Move checks to compile time (bc6c3017)
  • (TasmObject) Don't panic asserting sizes (52a8ba30)
  • (TasmStruct) Remove unreachable code (64f4d3d0)
  • (!) (TasmObject) Slim down public API (3d3daa76)

✅ Testing

  • (PrimitiveRootOfUnity) Check correct encoding (93770758)
  • Add tests and bencher for shift-right-i128 (cc2ad2dc)
  • Test DataType::compare() (ad6c580b)
  • (TasmStruct::destructure) Add test cases (8c940bca)

⏱ Bench

  • Make benchmarks deterministic (c38c7ae0)
  • Add benchmarks (b5245450)
  • (i128_shift_right) Add assembly benchmark (a0209d96)
  • Benchmark merkle_step_u64_index (d703f9a0)

🖋 Snippet Sign-Off

v0.43.0

14 Jan 14:55
9e865cb

Choose a tag to compare

0.43.0

✨ Features

  • Optionally write program-to-debug to disk (251bebac) (33b202f5)
  • Add input type annotation hints after entering an entrypoint (5f32e68c)
  • Add snippet DequeueAs (57c020b1)
  • Keep track of proof items in DequeueNextAs (033955ca)
  • Absorb dequeued item into Fiat-Shamir heuristic (if applicable) (b14ce354)
  • Decouple proof from iterator over its items (c205f5ef)
  • Add data type StructRef (f53603b7)
  • (!) Dynamic allocator uses entire memory pages (ccf90c90)
  • (!) Merge “safe” and “unsafe” lists (f2af2e50)
  • Add snippet for squaring XFE (15e2de89)
  • Add snippet for cubing an XFE (876ee88d)
  • Add snippet for fourth power of an XFE (98d57fce)
  • Add snippet for inner product of two XFE arrays (61945613)
  • Implement TasmObject for Option<T> (928b1fa7)
  • Add snippet for calculating terminal from compile-time known symbols (a721e6ac)
  • Add snippet for squeezing repeatedly for statically known squeeze count (a33bc0f1)
  • Add snippet for sampling a statically-known number of scalars (b43855d2)
  • Improve error message if two stacks do not match (228375fe)
  • Add snippet for calculating terminal value from digest (e8acc61f)
  • Add snippet for deriving Challenges struct (d4245ad5)
  • Sample scalars into static memory (538f2d54)
  • Allow sharing statically allocated memory (40a318e2)
  • Add thin wrapper for AIR constraint evaluation (4c3e8a94)
  • Add function to get conventional STARK-proof-compliant memory layout (7f10d008)
  • Add snippet for Horner evaluation (1be9a76d)
  • Add snippet to read own program digest (49621953)
  • Add split_off snippet (aaa1fcf3)
  • Add conversion method from TVM's FRI struct to tasm-lib's (c882286a)
  • Export function mimicking HashVarlen's sponge mutation (5828932c)
  • Allow profiler to only print aggregated profile (2418aa26)
  • Add snippet for inner product for recufier's main loop (e777210a)
  • Export version of inner prod calculation needed by recufier (a43307c5)
  • Add sorted aggregation to profile output (1504cdc6)
  • Produce timing report when running tests with proof generation (b97573f7)
  • Add snippet for initializing Fiat-Shamir state with generic claim (9610da17)
  • Calculate challenges from generic trait (b0824def)
  • Add FRI proof-derivation helper functions to test (a43ed50d)
  • Add snippet for constructing a claim for a recursive proof (1b64674a)
  • Add snippet for sampling a single scalar (1e35c9e8)
  • Add snippet for calculating out-of-domain points (10ef92ce)
  • Add XFE-snippet for $xfe^{2^n}$ for dynamic $n$ (916c5e26)
  • Add snippet for calculating inverse zerofiers (0ca75bcc)
  • Add convenience functions for STARK verifier (76157651)
  • Add snippet for absorbing statically-sized BFE sequence (2b41a616)
  • Add snippet mirroring hash_varlen for statically-sized inputs (52f85871)
  • Add snippet for verifying a base table row against Merkle root (693072be)
  • Generalize snippet for inner product to accept Xfe base row (db69842f)
  • Add recursive Verifier (7ee32925)
  • Disallow very big proof items (dfa133be)
  • Add snippet for barycentric evaluation (8f907798)
  • Use new evaluation snippets in FRI (39211257)
  • Add profile-generator for verifying a proof from disk (c2140ada)
  • Write tasm output to disk if envvar TASMLIB_STORE is set (3efea1c4)
  • Add snippet for verifying MMR auth path with leaf-index on stack (b0317c6a)
  • Add snippet for calculating Merkle root from list of XFEs (45670b44)
  • Build Merkle tree with known height (fec51e20)
  • Calculate Merkle root XFE sequence with statically known length (f0fc2bf4)
  • Add wrapper for Merkle root from XFEs, len 256, 512, 1024 (054b6ed9)
  • Add contains snippet for lists (206a16e8)
  • Add snippet for comparing ordering of two digests (afe8448b)
  • Add snippet for u64-multiset equality (23a48a19)
  • Add snippet VerifyMmrSuccessor (657794a8)
  • Add snippet VerifyMmrSuccessor (f31b8eb6)
  • (stark_verify) Allow dynamic memory layouts for STARK verify (ef2ca693)
  • Ensure no overlapping use of memory in verifier (d36aae40)
  • (memory) Add function to get highest populated address on ND-region (7affd624)
  • Add function to get first free ND memory address (bed116d0)
  • (dyn_malloc) Ensure dyn_malloc does not map outside its mem-region (315e89c9)
  • Report number of ND digests consumed by StarkVerify (c2027062)
  • (TasmObject) Add method get_encoding_length (a7caa8c3)
  • (TasmObject) Add hints to fields obtained via field! macro (ccee860a)
  • (tasm_object) Add bounds-checks to auto-derived field getters (4f58791e)
  • (tasm_object) Add function for verifying integrity of size-indicators (f35a065a)
  • (tasm_object) Verify correct Option discriminant value (f5dde71d)
  • (tasm_object) Add decode_iter impls for various basic types (7c86811b)
  • (traits) Add new trait mem_preserver (c5a0c943)
  • Add new snippet for read-only algorithm (67ce6382)
  • Add From<FunctionInitialState> for InitVmState implementation (1f0d0c2c)
  • (!) Introduce helper struct StaticAllocation (67ef3663)
  • (map) Allow chaining lists before mapping (031927ad)
  • Add size-consistency verification to dequeue_next_as (dd5e6a75)
  • Add Drop snippet for post-verification-check on VmProofIter (6267a86c)
  • Add bounds-checks on V...
Read more