Skip to content

Releases: noir-lang/noir

nightly-2024-10-22: fix: Allow array map on empty arrays (#6305)

22 Oct 02:28
51ae1b3
Compare
Choose a tag to compare
# Description

## Problem\*

Resolves a private issue sent to me on slack

## Summary\*

Array map is a fairly old method written before we had
`std::mem::zeroed`. Now that we have zeroed, we can allow mapping empty
arrays since we can use `zeroed` to get the filler `U` value for the
starting elements.

## Additional Context

While I was at it I included a small clarification to `reduce`'s docs
that it requires a non-empty array

## Documentation\*

Check one:
- [ ] No documentation needed.
- [x] 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-10-21

21 Oct 02:29
67ac0d6
Compare
Choose a tag to compare
nightly-2024-10-21 Pre-release
Pre-release
feat: Warn about private types leaking in public functions and struct…

nightly-2024-10-20

20 Oct 02:31
67ac0d6
Compare
Choose a tag to compare
nightly-2024-10-20 Pre-release
Pre-release
feat: Warn about private types leaking in public functions and struct…

nightly-2024-10-19: fix: Do not warn on unused self in traits (#6298)

19 Oct 02:27
4d524bf
Compare
Choose a tag to compare
# Description

## Problem\*

Resolves #6297 

## Summary\*

Sets `warn_if_unused` to `false` for the `self` parameter of a function
if it's for a trait implementation.

## 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.
- [ ] I have formatted the changes with [Prettier](https://prettier.io/)
and/or `cargo fmt` on default settings.

nightly-2024-10-18: fix: Reject invalid expression with in CLI parser (#6287)

18 Oct 02:28
052aee8
Compare
Choose a tag to compare
# Description

## Problem\*

Resolves #5560

## Summary\*

Rejects an invalid `--expression-value` in the CLI, which would later
cause a panic in `acvm::compiler::transformers::csat`.

An example error message looks like:

```text
error: invalid value '1' for '--expression-width <EXPRESSION_WIDTH>': minimum value is 3
```

## Additional Context

The issue suggests that
[CSatTransformer::new](https://github.com/noir-lang/noir/blob/ae87d287ab1fae0f999dfd0d1166fbddb927ba97/acvm-repo/acvm/src/compiler/transformers/csat.rs#L24-L27)
should return a `Result` explaining the problem it has with `width`,
rather than doing an `assert!` (without any message) and crashing the
program. I agree, however looking at the chain of calls, none of the
half-dozen functions we go through to reach this use `Result`, and the
`CSatTransformer` is the only option we have. This suggests to me that
this limitation is perhaps supposed to be well-known to the user, ie.
it's not the case that one transformer has X limit and another has Y
limit.

For this reason I added a `pub const MIN_EXPRESSION_WIDTH: usize = 3;`
to the `acvm::compiler` module and using that as a common value for the
assertion as well as the validation in the CLI. Should the assumption of
a single global value change, removing that will force us to update the
validation logic as well.

That said if you prefer going the `Result` route I'm not against it, it
just seemed like an overkill for this single use case.
 
## 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.
- [ ] I have formatted the changes with [Prettier](https://prettier.io/)
and/or `cargo fmt` on default settings.

nightly-2024-10-17: chore: regression test for #5462 (#6286)

17 Oct 02:28
ae87d28
Compare
Choose a tag to compare
# Description

## Problem\*

Regression test for github.com/noir-lang/noir/issues/5462

## Summary\*

- Added the test from [5462](github.com/noir-lang/noir/issues/5462)
- Updated the issue needed to re-enable the `array_regex` execution test

## 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-10-16: chore: regression test for #5462 (#6286)

16 Oct 02:29
ae87d28
Compare
Choose a tag to compare
# Description

## Problem\*

Regression test for github.com/noir-lang/noir/issues/5462

## Summary\*

- Added the test from [5462](github.com/noir-lang/noir/issues/5462)
- Updated the issue needed to re-enable the `array_regex` execution test

## 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-10-15: chore: regression test for #5462 (#6286)

15 Oct 02:28
ae87d28
Compare
Choose a tag to compare
# Description

## Problem\*

Regression test for github.com/noir-lang/noir/issues/5462

## Summary\*

- Added the test from [5462](github.com/noir-lang/noir/issues/5462)
- Updated the issue needed to re-enable the `array_regex` execution test

## 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-10-14: chore: regression test for #5462 (#6286)

14 Oct 02:29
ae87d28
Compare
Choose a tag to compare
# Description

## Problem\*

Regression test for github.com/noir-lang/noir/issues/5462

## Summary\*

- Added the test from [5462](github.com/noir-lang/noir/issues/5462)
- Updated the issue needed to re-enable the `array_regex` execution test

## 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-10-13: chore: regression test for #5462 (#6286)

13 Oct 02:30
ae87d28
Compare
Choose a tag to compare
# Description

## Problem\*

Regression test for github.com/noir-lang/noir/issues/5462

## Summary\*

- Added the test from [5462](github.com/noir-lang/noir/issues/5462)
- Updated the issue needed to re-enable the `array_regex` execution test

## 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.