Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Release Noir(1.0.0-beta.2) #6914

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

noirwhal
Copy link
Contributor

@noirwhal noirwhal commented Dec 23, 2024

🤖 I have created a release beep boop

1.0.0-beta.2 (2025-01-17)

⚠ BREAKING CHANGES

  • loop statements (only frontend) (#7092)
  • Include kind in StructDefinition::generics and fix derivation of Eq in structs with numeric generics (#7076)
  • Handle generic fields in StructDefinition::fields and move old functionality to StructDefinition::fields_as_written (#7067)
  • disallow calling unconstrained functions outside of unsafe blocks and passing unconstrained functions in place of constrained functions (#6938)
  • Disable mocks in execute (#6869)
  • require trait primitive functions/calls to have their trait in scope (#6901)
  • Reserve enum and match keywords (#6961)
  • require trait method calls (foo.bar()) to have the trait in scope (imported) (#6895)
  • type-check trait default methods (#6645)
  • update aes128_encrypt to return an array (#6973)
  • turn TypeIsMorePrivateThenItem into an error (#6953)
  • turn CannotReexportItemWithLessVisibility into an error (#6952)
  • Switch to using jsonrpsee for foreign calls; refactor run_test; foreign call layering (#6849)

Features

  • --pedantic-solving flag (#6716) (5b9a113)
  • loop keyword in runtime and comptime code (#7096) (c4f183c)
  • loop statements (only frontend) (#7092) (48e613e)
  • Add ConstrainNotEqual instruction (#7032) (51180b9)
  • Allow associated types to be ellided from trait constraints (#7026) (aa7b91c)
  • Auto-import traits when suggesting trait methods (#7037) (a9acf5a)
  • Avoid generating a new witness when checking if linear expression is zero (#7031) (14c9237)
  • Avoid inserting inc_rc instructions into ACIR (#7036) (2d316c2)
  • brillig: SSA globals code gen (#7021) (82cb900)
  • cli: Add CLI option to filter by contract function name (#7018) (fc5848c)
  • comptime: Implement to_be_bits and to_le_bits in the interpreter (#7008) (a7eea81)
  • Disable mocks in execute (#6869) (e71fcdf)
  • Disallow calling unconstrained functions outside of unsafe blocks and passing unconstrained functions in place of constrained functions (#6938) (2732947)
  • Don't report warnings for dependencies (#6926) (7cc8dbf)
  • Don't simplify SSA instructions when creating them from a string (#6948) (da94c2b)
  • experimental: Try to infer lambda argument types inside calls (#7088) (a3b823c)
  • Handle generic fields in StructDefinition::fields and move old functionality to StructDefinition::fields_as_written (#7067) (14a7e37)
  • Impl Default for U128 (#6984) (3c488f4)
  • Lock on Nargo.toml on several nargo commands (#6941) (54d81ca)
  • LSP: Auto-import trait reexport if trait is not visible (#7079) (197b02a)
  • LSP: Code action to import trait in a method call (#7066) (3b8d1da)
  • LSP: Suggest trait methods from where clauses (#6915) (21eef0d)
  • lsp: Use trait method docs for trait impl method docs on hover (#7003) (4d38a88)
  • Parser and formatter support for enums (#7110) (7705a62)
  • Require trait function calls (Foo::bar()) to have the trait in scope (imported) (#6882) (a5447ed)
  • Require trait method calls (foo.bar()) to have the trait in scope (imported) (#6895) (d61633d)
  • Require trait primitive functions/calls to have their trait in scope (#6901) (56c931a)
  • Skip codegen of zero iteration loops (#7030) (fa12b7f)
  • SSA globals in monomorphization and SSA gen (#6985) (db28cb9)
  • ssa: Add flag to DIE pass to be able to keep store instructions (#7106) (ed12ad7)
  • ssa: Hoist add and mul binary ops using known induction variables (#6910) (ebc4d2c)
  • ssa: Immediately simplify away RefCount instructions in ACIR functions (#6893) (ab8807d)
  • ssa: Treat globals as constant in a function's DFG (#7040) (1273ea4)
  • Switch to using jsonrpsee for foreign calls; refactor run_test; foreign call layering (#6849) (51a4d5d)
  • test: Enable the test fuzzer for Wasm (#6835) (f4745d4)
  • Turn CannotReexportItemWithLessVisibility into an error (#6952) (da18a12)
  • Turn TypeIsMorePrivateThenItem into an error (#6953) (8b6f720)
  • Type-check trait default methods (#6645) (8bb3908)
  • Unchecked math operations in SSA (#7011) (f6ed6aa)
  • Update aes128_encrypt to return an array (#6973) (dcdccfc)
  • Warn on trait method visibility (#6923) (bb71bcb)

Bug Fixes

  • Allow implicit associated types on integer type kinds (#7078) (f2a6d10)
  • Allow multiple trait impls for the same trait as long as one is in scope (#6987) (7328f0b)
  • Bigint builtins are foreigns (#6892) (a1f9c94)
  • Consistent file_id across installation paths (#6912) (baca790)
  • Defunctionalize pass on the caller runtime to apply (#7100) (dd70845)
  • Do not emit range check for multiplication by bool (#6983) (c0a4010)
  • Do not panic on indices which are not valid u32s (#6976) (bf474c0)
  • Do not remove memory blocks used as brillig input (#7073) (8d2a2dd)
  • Don't always select trait impl when verifying trait constraints (#7041) (ba07336)
  • Don't fail parsing macro if there are parser warnings (#6969) (7f0067c)
  • Error on missing function parameters (#6967) (38d429e)
  • Include kind in StructDefinition::generics and fix derivation of Eq in structs with numeric generics (#7076) (f17b7cc)
  • Let static_assert fail with the provided message (#7005) (268229e)
  • lsp: Suggest all possible trait methods, but only visible ones (#7027) (7d46287)
  • nargo_fmt: Don't consider identifiers the same if they are equal… (#7043) (18ea051)
  • nargo_fmt: Let doc comment could come after regular comment (#7046) (c3f8a46)
  • Non-determinism from under constrained checks (#6945) (203242c)
  • Reduce memory usage in mem2reg (#7053) (a0ffedf)
  • Remove unnecessary cast in bit-shift (#6890) (011fbc1)
  • Remove unused brillig functions (#7102) (4727b16)
  • Reproduce and fix bytecode blowup (#6972) (724547d)
  • Require generic trait impls to be in scope to call them (#6913) (5300ec3)
  • Return trait impl method as FuncId if there's only one (#6989) (8d7f1f9)
  • Show output of test_program_is_idempotent on failure (#6942) (a690d96)
  • Start RC at 1 again (#6958) (6f086b3)
  • Wrong module to lookup trait when using crate or super (#6974) (74ec723)

Miscellaneous Chores


This PR was generated with Release Please. See documentation.

Copy link
Contributor

github-actions bot commented Dec 23, 2024

Peak Memory Sample

Program Peak Memory
keccak256 78.48M
workspace 123.65M
regression_4709 422.91M
ram_blowup_regression 1.58G
rollup-base-public 10.47G
rollup-base-private 6.57G
private-kernel-tail 201.81M
private-kernel-reset 717.07M
private-kernel-inner 291.88M
parity-root 172.14M

Copy link
Contributor

github-actions bot commented Dec 23, 2024

Compilation Report

Program Compilation Time %
sha256_regression 0.997s -4%
regression_4709 0.822s 2%
ram_blowup_regression 16.000s -1%
rollup-root 3.628s 1%
rollup-merge 2.162s 4%
rollup-block-root-single-tx 139.000s -5%
rollup-block-root-empty 2.140s 2%
rollup-block-root 142.000s 2%
rollup-block-merge 3.700s 5%
rollup-base-public 27.880s 0%
rollup-base-private 10.240s 0%
private-kernel-tail 1.112s 10%
private-kernel-reset 6.240s 3%
private-kernel-inner 2.064s -1%

Copy link
Contributor

github-actions bot commented Dec 23, 2024

Execution Report

Program Execution Time %
sha256_regression 0.052s -2%
regression_4709 0.001s 0%
ram_blowup_regression 0.604s 1%
rollup-root 0.104s 0%
rollup-merge 0.007s 0%
rollup-block-root 38.600s 1%
rollup-block-merge 0.104s 0%
rollup-base-public 1.216s -1%
rollup-base-private 0.453s 0%
private-kernel-tail 0.020s 5%
private-kernel-reset 0.315s 1%
private-kernel-inner 0.068s 0%

@github-actions github-actions bot added the documentation Improvements or additions to documentation label Dec 23, 2024
Copy link
Contributor

github-actions bot commented Dec 23, 2024

@noirwhal noirwhal force-pushed the release-please--branches--master--components--noir branch 2 times, most recently from 097d799 to e0c7b2b Compare December 23, 2024 17:14
@noirwhal noirwhal force-pushed the release-please--branches--master--components--noir branch 5 times, most recently from d619924 to 6fdd29f Compare January 2, 2025 21:52
Copy link
Contributor

github-actions bot commented Jan 2, 2025

Execution Memory Report

Program Peak Memory
keccak256 74.630
workspace 123.890
regression_4709 315.940
ram_blowup_regression 512.570
rollup-root 498.700
rollup-merge 473.340
rollup-block-root 1230.000
rollup-block-merge 498.710
rollup-base-public 734.390
rollup-base-private 590.800
private-kernel-tail 180.840
private-kernel-reset 245.440
private-kernel-inner 208.840

Copy link
Contributor

github-actions bot commented Jan 2, 2025

Compilation Memory Report

Program Peak Memory
keccak256 77.560
workspace 123.700
regression_4709 424.070
ram_blowup_regression 1460.000
rollup-root 601.600
rollup-merge 494.440
rollup-block-root-single-tx 16060.000
rollup-block-root-empty 489.060
rollup-block-root 16070.000
rollup-block-merge 601.590
rollup-base-public 2380.000
rollup-base-private 1140.000
private-kernel-tail 207.250
private-kernel-reset 584.400
private-kernel-inner 294.620

@noirwhal noirwhal force-pushed the release-please--branches--master--components--noir branch 15 times, most recently from c4b1153 to 55d68df Compare January 7, 2025 15:23
@noirwhal noirwhal force-pushed the release-please--branches--master--components--noir branch 8 times, most recently from c45132b to 68877c4 Compare January 15, 2025 14:40
Copy link

socket-security bot commented Jan 15, 2025

@noirwhal noirwhal force-pushed the release-please--branches--master--components--noir branch 11 times, most recently from cd84227 to ed72c1d Compare January 17, 2025 18:58
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Execution Time'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.10.

Benchmark suite Current: 9eda5db Previous: dd70845 Ratio
rollup-block-merge 0.122 s 0.104 s 1.17

This comment was automatically generated by workflow using github-action-benchmark.

CC: @TomAFrench

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Compilation Time'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.10.

Benchmark suite Current: 226248f Previous: dd70845 Ratio
private-kernel-tail 1.112 s 1.006 s 1.11

This comment was automatically generated by workflow using github-action-benchmark.

CC: @TomAFrench

@noirwhal noirwhal force-pushed the release-please--branches--master--components--noir branch from 496592f to 2f0cf6e Compare January 17, 2025 19:58
@noirwhal noirwhal force-pushed the release-please--branches--master--components--noir branch from b661796 to 9eda5db Compare January 17, 2025 21:13
Copy link
Contributor

github-actions bot commented Jan 17, 2025

Changes to Brillig bytecode sizes

Generated at commit: 368ce87738f5b40c3497b849a75a26a4ccf067c4, compared to commit: 7705a624842d1e1f716506b005ca65e397ff7a9f

🧾 Summary (10% most significant diffs)

Program Brillig opcodes (+/-) %
higher_order_functions_inliner_max +571 ❌ +793.06%
brillig_fns_as_values_inliner_zero +148 ❌ +672.73%
higher_order_functions_inliner_zero +59 ❌ +8.50%

Full diff report 👇
Program Brillig opcodes (+/-) %
higher_order_functions_inliner_max 643 (+571) +793.06%
brillig_fns_as_values_inliner_zero 170 (+148) +672.73%
higher_order_functions_inliner_zero 753 (+59) +8.50%
sha256_regression_inliner_max 6,693 (+13) +0.19%
sha256_inliner_max 2,292 (+4) +0.17%
sha256_var_padding_regression_inliner_max 4,913 (+6) +0.12%
hashmap_inliner_max 19,775 (-8) -0.04%
uhashmap_inliner_max 12,707 (-8) -0.06%
sha256_regression_inliner_min 5,320 (-8) -0.15%
sha256_regression_inliner_zero 4,855 (-8) -0.16%
sha256_var_padding_regression_inliner_min 3,268 (-6) -0.18%
sha256_var_padding_regression_inliner_zero 2,950 (-6) -0.20%
uhashmap_inliner_min 9,805 (-24) -0.24%
hashmap_inliner_zero 7,950 (-22) -0.28%
hashmap_inliner_min 12,594 (-40) -0.32%
uhashmap_inliner_zero 7,520 (-37) -0.49%
higher_order_functions_inliner_min 1,438 (-12) -0.83%
brillig_fns_as_values_inliner_min 221 (-4) -1.78%

Copy link
Contributor

github-actions bot commented Jan 17, 2025

Changes to number of Brillig opcodes executed

Generated at commit: 368ce87738f5b40c3497b849a75a26a4ccf067c4, compared to commit: 7705a624842d1e1f716506b005ca65e397ff7a9f

🧾 Summary (10% most significant diffs)

Program Brillig opcodes (+/-) %
higher_order_functions_inliner_max +1,054 ❌ +1043.56%
brillig_fns_as_values_inliner_zero +160 ❌ +800.00%
higher_order_functions_inliner_zero +149 ❌ +12.04%

Full diff report 👇
Program Brillig opcodes (+/-) %
higher_order_functions_inliner_max 1,155 (+1,054) +1043.56%
brillig_fns_as_values_inliner_zero 180 (+160) +800.00%
higher_order_functions_inliner_zero 1,387 (+149) +12.04%
sha256_regression_inliner_max 111,650 (+141) +0.13%
sha256_inliner_max 13,201 (+4) +0.03%
sha256_var_padding_regression_inliner_max 196,673 (+6) +0.00%
sha256_var_padding_regression_inliner_min 270,849 (-24) -0.01%
sha256_var_padding_regression_inliner_zero 265,616 (-24) -0.01%
sha256_regression_inliner_min 161,090 (-28) -0.02%
sha256_regression_inliner_zero 155,350 (-28) -0.02%
uhashmap_inliner_max 137,640 (-60) -0.04%
uhashmap_inliner_min 229,459 (-108) -0.05%
uhashmap_inliner_zero 175,728 (-98) -0.06%
hashmap_inliner_zero 75,680 (-52) -0.07%
hashmap_inliner_min 113,195 (-108) -0.10%
hashmap_inliner_max 48,530 (-60) -0.12%
higher_order_functions_inliner_min 2,627 (-26) -0.98%
brillig_fns_as_values_inliner_min 270 (-6) -2.17%

Copy link
Contributor

FYI @noir-lang/developerrelations on Noir doc changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autorelease: pending documentation Improvements or additions to documentation
Projects
Status: 📋 Backlog
Development

Successfully merging this pull request may close these issues.

3 participants