Releases: noir-lang/noir
Releases · noir-lang/noir
nightly-2024-09-26: fix: Do not duplicate constant arrays in brillig (#6155)
Pre-release
# Description ## Problem\* Avoids array duplication in inserter for brillig runtimes. ## Summary\* After https://github.com/noir-lang/noir/pull/6122 the inhibitor in the deduplication process for brillig should not be necessary anymore. ## Additional Context ## Documentation\* Check one: - [x] No documentation needed. - [ ] Documentation included in this PR. - [ ] **[For Experimental Features]** Documentation to be submitted in a separate PR. # PR Checklist\* - [ ] I have tested the changes locally. - [ ] I have formatted the changes with [Prettier](https://prettier.io/) and/or `cargo fmt` on default settings.
nightly-2024-09-25: feat: optimize constraints in sha256 (#6145)
# Description ## Problem\* Resolves <!-- Link to GitHub Issue --> ## Summary\* We can optimize the sha256 implementation rolling the if-statement condition into the values being constrained manually. This allows us to have a single constraint rather than 2 with opposite predicates. ## Additional Context ## Documentation\* Check one: - [x] No documentation needed. - [ ] Documentation included in this PR. - [ ] **[For Experimental Features]** Documentation to be submitted in a separate PR. # PR Checklist\* - [x] I have tested the changes locally. - [x] I have formatted the changes with [Prettier](https://prettier.io/) and/or `cargo fmt` on default settings.
nightly-2024-09-24: feat: swap endianness in-place in keccak implementation (#6128)
Pre-release
# Description ## Problem\* Resolves <!-- Link to GitHub Issue --> ## Summary\* This PR removes the `temp` array created when swapping the endianness of the `block_bytes` array and just swaps the values in place. This removes some unnecessary reads/writes from brillig. ## Additional Context ## Documentation\* Check one: - [x] No documentation needed. - [ ] Documentation included in this PR. - [ ] **[For Experimental Features]** Documentation to be submitted in a separate PR. # PR Checklist\* - [x] I have tested the changes locally. - [x] I have formatted the changes with [Prettier](https://prettier.io/) and/or `cargo fmt` on default settings.
nightly-2024-09-23
feat(perf): Allow array set last uses optimization in return block of…
nightly-2024-09-22
feat(perf): Allow array set last uses optimization in return block of…
nightly-2024-09-21
feat(perf): Allow array set last uses optimization in return block of…
nightly-2024-09-20: fix(mem2reg): Remove possibility of underflow (#6107)
# Description ## Problem\* Resolves ICE ran into by @asterite ## Summary\* After #5925 we have a couple counters that both increment and decrement. In theory they are never supposed to underflow. @asterite has discovered a bug with the remaining last stores counter. I would like to implement the remaining last stores removal in a better way that removes the need for this counter to be decremented, but for now I just block if by check we are not decrementing zero. ## Additional Context ## Documentation\* Check one: - [X] No documentation needed. - [ ] Documentation included in this PR. - [ ] **[For Experimental Features]** Documentation to be submitted in a separate PR. # PR Checklist\* - [X] I have tested the changes locally. - [X] I have formatted the changes with [Prettier](https://prettier.io/) and/or `cargo fmt` on default settings. --------- Co-authored-by: jfecher <[email protected]>
nightly-2024-09-19: chore: fix broken formatting on master (#6096)
# Description ## Problem\* Resolves <!-- Link to GitHub Issue --> ## Summary\* ## Additional Context ## Documentation\* Check one: - [ ] No documentation needed. - [ ] Documentation included in this PR. - [ ] **[For Experimental Features]** Documentation to be submitted in a separate PR. # PR Checklist\* - [ ] I have tested the changes locally. - [ ] I have formatted the changes with [Prettier](https://prettier.io/) and/or `cargo fmt` on default settings.
nightly-2024-09-18
feat(perf): Remove unused loads in mem2reg and last stores per functi…
nightly-2024-09-17: fix: let LSP suggest fields and methods in LValue chains (#6051)
Pre-release
# Description ## Problem LSP autocompletion didn't trigger in some cases. ## Summary Makes LSP autocompletion work when typing a dot but in the next line an l-value assignment follows. In that case the current line and the line that follows are parsed as a single assignment to an l-value and we must complete in the middle of that entire expression. ## Additional Context Also adds a missing `follow_bindings()` that caused some of these cases to not work. ## Documentation Check one: - [x] No documentation needed. - [ ] Documentation included in this PR. - [ ] **[For Experimental Features]** Documentation to be submitted in a separate PR. # PR Checklist - [x] I have tested the changes locally. - [x] I have formatted the changes with [Prettier](https://prettier.io/) and/or `cargo fmt` on default settings.