Skip to content

Releases: noir-lang/noir

nightly-2024-09-26: fix: Do not duplicate constant arrays in brillig (#6155)

26 Sep 02:28
68f3022
Compare
Choose a tag to compare
# 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)

25 Sep 02:29
164d29e
Compare
Choose a tag to compare
# 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)

24 Sep 02:28
e3cdebe
Compare
Choose a tag to compare
# 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

23 Sep 02:28
5598059
Compare
Choose a tag to compare
nightly-2024-09-23 Pre-release
Pre-release
feat(perf): Allow array set last uses optimization in return block of…

nightly-2024-09-22

22 Sep 02:30
5598059
Compare
Choose a tag to compare
nightly-2024-09-22 Pre-release
Pre-release
feat(perf): Allow array set last uses optimization in return block of…

nightly-2024-09-21

21 Sep 02:24
5598059
Compare
Choose a tag to compare
nightly-2024-09-21 Pre-release
Pre-release
feat(perf): Allow array set last uses optimization in return block of…

nightly-2024-09-20: fix(mem2reg): Remove possibility of underflow (#6107)

20 Sep 02:26
aea5cc7
Compare
Choose a tag to compare
# 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)

19 Sep 02:26
30d7035
Compare
Choose a tag to compare
# 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

18 Sep 02:25
19eef30
Compare
Choose a tag to compare
nightly-2024-09-18 Pre-release
Pre-release
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)

17 Sep 02:13
5bf6567
Compare
Choose a tag to compare
# 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.