0.73.0 (2025-02-01)
⚠ BREAKING CHANGES
- improve storage slot allocation (#10320)
- sandbox uses Anvil with interval mining (#11383)
- logs refactor (#11503)
- avm: include length in bytecode hash (#11425)
Features
#[derive(Packable)]
(#11531) (83fe192)loop
keyword in runtime and comptime code (noir-lang/noir#7096) (a7f8d96)loop
must have at least onebreak
(noir-lang/noir#7126) (a7f8d96)- Add
noir-inspector
(noir-lang/noir#7136) (a7f8d96) - Add aztec flamegraph command (#11642) (fedff91)
- archiver: Read blobs from cl (#11273) (8cf4982)
- avm: Constrain sha256 (#11048) (897c840)
- avm: Constraining bytecode (part 1) (#11382) (2779ea4)
- avm: Get_row optimization - 25x faster logderiv inv (#11605) (a273136)
- avm: Include length in bytecode hash (#11425) (ab2c860)
- avm: Range checks in vm2 (#11433) (79cbe04)
- avm: Vm2 bitwise subtrace (#11473) (859c29b)
- blobs: Add blobHashes to L2Block emitted log (#11422) (c6f1803)
- blobs: Docker compose local consensus layer (#11374) (106a7f0)
- brillig: Set global memory size at program compile time (noir-lang/noir#7151) (a7f8d96)
- brillig: SSA globals code gen (noir-lang/noir#7021) (a7f8d96)
- Bump bignum to
v0.5.2
(#11579) (8c79213) - Change data store backend to use liblmdb directly (#11357) (7e3a38e)
- Check contract classes from revertible/non-revertible logs are handled correctly (#11396) (012cbe3)
- experimental: Construct enum variants in expressions (noir-lang/noir#7174) (a7f8d96)
- experimental: Try to infer lambda argument types inside calls (noir-lang/noir#7088) (a7f8d96)
- Gemini PolynomialBatcher (#11398) (379aafa)
- Improve storage slot allocation (#10320) (dc7ec48)
- Inline simple functions (noir-lang/noir#7160) (a7f8d96)
- Lazy wasm pt4 (#11491) (f553f58)
- LSP autocomplete module declaration (noir-lang/noir#7154) (a7f8d96)
- LSP chain inlay hints (noir-lang/noir#7152) (a7f8d96)
- Packable contract class id (#11512) (f171547)
- Packing note content (#11376) (6630e80)
- Parse globals in SSA parser (noir-lang/noir#7112) (a7f8d96)
- Parser and formatter support for
enum
s (noir-lang/noir#7110) (a7f8d96) - Proposer forwarder contract (#11403) (76f25b6)
- Resolve enums & prepare type system (noir-lang/noir#7115) (a7f8d96)
- Shplemini claim batcher (#11614) (f4e2953)
- ssa: Add flag to DIE pass to be able to keep
store
instructions (noir-lang/noir#7106) (a7f8d96) - ssa: Expand feature set of the Brillig constraint check (noir-lang/noir#7060) (a7f8d96)
- ssa: Pass to preprocess functions (noir-lang/noir#7072) (a7f8d96)
- ssa: Reuse constants from the globals graph when making constants in a function DFG (noir-lang/noir#7153) (a7f8d96)
- Static ip for dashboard (#11044) (5b6272f)
- Txe native world state (#11226) (6dc25aa)
- Unconstrained optimizations for BoundedVec (noir-lang/noir#7119) (a7f8d96)
- Using
#[derive(Serialize)]
more (#11541) (ab2500b) - Validate L1 config against L1 on startup (#11540) (48b7ac4)
Bug Fixes
Function::is_no_predicates
always returned false for brillig f… (noir-lang/noir#7167) (a7f8d96)- Add fallback to cache build (#11654) (f3eb3c8)
- Allow calling trait impl method from struct if multiple impls exist (noir-lang/noir#7124) (a7f8d96)
- Attempt to cancel timed-out L1 transactions (#11567) (9eb5214), closes #11345
- Avoid creating unnecessary memory blocks (noir-lang/noir#7114) (a7f8d96)
- Aztec-nargo compile should fail script (#11533) (534bb47), closes #11527
- Bootstrap (#11669) (9d2455d)
- Boxes playwright + web bundles (#11615) (af0fd81)
- ci: Spartan cache (#11508) (5ed155a)
- Client IVC paths in bb prover (#11637) (aab6a3f)
- Copy bb wasm from aztec.js (#11652) (ccaf6db)
- Defunctionalize pass on the caller runtime to apply (noir-lang/noir#7100) (a7f8d96)
- docs: Update broken links to EC lib (noir-lang/noir#7141) (a7f8d96)
- Don't always use an exclusive lock in
nargo check
(noir-lang/noir#7120) (a7f8d96) - Don't build noir-bb-bench app in default command (#11618) (c98968b)
- Ensure canonical bits decomposition (noir-lang/noir#7168) (a7f8d96)
- EstimateGas for blob transactions (reth) (#11524) (8724606)
- Fix boxes (#11592) (3d40260)
- Fix noir_bb browser tests (#11552) (17aec31)
- Fuzzer value mutation and instruction write (#11570) (d120cbe)
- Keep
inc_rc
for array inputs during preprocessing (noir-lang/noir#7163) (a7f8d96) - LSP hover over function with
&mut self
(noir-lang/noir#7155) (a7f8d96) - LSP: Correct signature for assert and assert_eq (noir-lang/noir#7184) (a7f8d96)
- Missing wasm files in cache (#11660) (6b09a9f)
- Only set node version in node pools (#11604) (924298a)
- Pin k8s version (#11599) (c087bd8)
- Preserve types when reading from calldata arrays (noir-lang/noir#7144) (a7f8d96)
- Prevent overlapping associated types impls (noir-lang/noir#7047) (a7f8d96)
- Proper cleanup when breaking from comptime loop on error (noir-lang/noir#7125) (a7f8d96)
- Remove unused brillig functions (noir-lang/noir#7102) (a7f8d96)
- Retry fetch on blob sink client (#11562) (5ccdc4f)
- Sandbox uses Anvil with interval mining (#11383) (0ba31df)
- spartan: Get svc addresses from load balancers (#11606) (b44233f)
- spartan: Reduce l1 deploy retry time (#11591) (fdabeda)
- ssa: Resolve value before fetching from DFG in a couple cases (noir-lang/noir#7169) (a7f8d96)
- ssa: Use post order when mapping instructions in loop invariant pass (noir-lang/noir#7140) (a7f8d96)
- Unbound var in network deploy (#11587) (0cfd0fe)
- Update the readme for #11618 (#11623) (4fcf965)
- Using correct length in storage slot allocation (#11601) (7f802a4)
- Validator addresses in rc-2 (#11497) (128f06e)
Miscellaneous
- Add apps & fee support to AVM simulator and AVM bb-prover tests (#11323) (a836786)
- Add aztec not evm compatbile on front page of docs (#11558) (ff6db73)
- Add benchmarking dashboard (noir-lang/noir#7068) (a7f8d96)
- Add compile-time assertions on generic arguments of stdlib functions (noir-lang/noir#6981) (a7f8d96)
- Add method to filemanager (#11610) (6ce2389)
- Add migration notes for pxe contract method consolidation (#11628) (aaa0c87)
- Add SecretAndHash struct (#11293) (f7da324), closes #7921
- avm: Better namespace reporting (#11535) (ac26e1d)
- avm: Get rid of CommitmentLabels class (#11523) (2c250c4)
- avm: Group lookups and perms per file (#11509) (a27dd66)
- avm: Less codegen bloat (#11504) (7b510fe)
- avm: Make check_relation safer (#11593) (13863eb)
- avm: Static labels (#11573) (06a7633)
- bb: Minor fixes (#11557) (f77b11e)
- Blob inclusion metrics (#11625) (1c7d208), closes #11164
- Bump gates diff (#11640) (756b941)
- Consolidate contract functions in pxe (#10480) (15f3cf0)
- Cookbook Onboard integration (noir-lang/noir#7044) (a7f8d96)
- Deploy high tps master network (#11245) (20fc3e9)
- Disable ARM tests until new pass (#11518) (0f36fc6)
- docs: Update PXE concepts (#11225) (ba969fc)
- Downgrade playwright (#11643) (d421460)
- Enable no-misused-promises (#11629) (a420466)
- experimental: Prevent enum panics by returning Options where possible instead of panicking (noir-lang/noir#7180) (a7f8d96)
- Fix flake in circuit-types log-id (#11563) (43e36a8)
- Fix logging promise objects (#11626) (d4b6aeb)
- Formatting issues / minor errors in the docs (noir-lang/noir#7105) (a7f8d96)
- Gke nodes need to write traces and storage (#11568) (13bf3b9)
- Let
add_definition_location
take a Location (noir-lang/noir#7185) (a7f8d96) - Let
Function::inlined
take ashould_inline_call
function (noir-lang/noir#7149) (a7f8d96) - Lock to ubuntu 22.04 (noir-lang/noir#7098) (a7f8d96)
- Logs refactor (#11503) (e45271f)
- Make target contract public (#11582) (cd08d04), closes #11532
- Mark libs good (noir-lang/noir#7123) (a7f8d96)
- Network test scripts (#11529) (1392322)
- New cluster setup (#11547) (e73421d)
- New node pool for bots (#11502) (dfee4b8)
- Pcs tests refactor (#11188) (c4892c6)
- Pre-commit hook to warn of constant.nr change (#11507) (ad604ea)
- Publish aztec/native to npm (#11655) (dc62b3c)
- Pull lazy memory initialization from sync (#11607) (5da7521)
- Pull out more sync stuff (#11617) (30dc56c)
- Rc-2 update & beacon node fix for sepolia (#11631) (ac6b6e8)
- refactor: Remove globals field on Ssa object and use only the shared globals graph (noir-lang/noir#7156) (a7f8d96)
- Relax threshold for reporting regressions (noir-lang/noir#7130) (a7f8d96)
- Remove comments for time/memory benchmarks (noir-lang/noir#7121) (a7f8d96)
- Remove computation of roots from bloblib runtime code (#11365) (0e21c99)
- Remove leonidas name from codebase (#11545) (cd990af)
- Remove old public circuit public inputs (#11594) (e996275)
- Remove transitional adapter file from old public circuit public inputs (#11598) (f46897c)
- Remove yarn version check in bootstrap (#11493) (01f812d)
- Removing fee-related complexity from Token (#11635) (e4de8a5)
- Rename constraining unit tests in vm2 (#11581) (570cdba)
- Rename enqueued call side effect trace (#11574) (6c3d742)
- Replace relative paths to noir-protocol-circuits (5486cbb)
- Replace relative paths to noir-protocol-circuits (15011cd)
- Replace relative paths to noir-protocol-circuits (5809ddc)
- Replace relative paths to noir-protocol-circuits (7fb86bd)
- Replace relative paths to noir-protocol-circuits (5b45a40)
- Replace relative paths to noir-protocol-circuits (6ee3a26)
- Replace relative paths to noir-protocol-circuits (9dc399b)
- Replace relative paths to noir-protocol-circuits (edd46cf)
- Replace usage of stdlib with sha256 library (#11394) (c3e83ba)
- Revert "remove debug_logging flag" (#11498) (de304d8)
- Run kind smoke when helm charts are touched (#11667) (ab8b5db)
- Simplified bb.js bundling (#11622) (8408ede)
- Skip sequential multi-block proving orchestrator tests (#11536) (3c5ea26)
- ssa: Use correct prefix when printing array values in global space (noir-lang/noir#7095) (a7f8d96)
- Turn on overflow checks in CI rust tests (noir-lang/noir#7145) (a7f8d96)
- Update aztec-spartan.sh to correctly Docker installation on macOS (#11490) (d1e33a3)
- Use json log format for eth devnet (#11564) (f411188)
- Using UintNote in crowdfunding and claim (#11270) (9e94a50)