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

nickel 1.7.0 #174281

Merged
merged 2 commits into from
Jun 12, 2024
Merged

nickel 1.7.0 #174281

merged 2 commits into from
Jun 12, 2024

Conversation

BrewTestBot
Copy link
Member

Created by brew bump


Created with brew bump-formula-pr.

release notes
Version 1.7 (2024-06-11)
========================

Nickel 1.7 ships with several extensions to pattern matching which was introduced in Nickel 1.5 but had a number of limitations. See below for further details.

Additionally, the publication of Topiary to the crates registry makes it so that all versions of Nickel from 1.7 and onward, however they are built, ship with nickel format and the language server formatting command working out of the box without needing a separate installation of Topiary (which was previously required when installing from crates.io using cargo install nickel-lang-cli or cargo install nickel-lang-lsp).

Breaking changes

  • Although primitive operators are internal and aren't officially part of any stability guarantee, some libraries sometimes need to resort to using them, when there's no equivalent in the stdlib. Nickel 1.7 had a big primop refactoring, amounting mostly to renaming. If you're using primops, please look at the corresponding pull request

  • The behavior of destructuring has been changed to match exactly the behavior of pattern matching. While there should be no difference on well-behaving programs, this change makes destructuring stricter and can lead to some programs that were running fine before 1.7 to now fail with unmatched pattern. The typical example is when destructuring a record with a field that is not present: let {x,y, ..} = import "lib.ncl" in. If x is absent from the lib.ncl but is never used anywhere, this used to work fine before 1.7 (the error would only trigger upon usage of x) but will now fail eagerly.

    If you need to fix a large codebase with long import destructuring chains and you don't know which fields are the offending ones, one possible technique is to open the importing file in an editor and use the goto definition command of the NLS on each field of a faulty pattern. If it works, the field is present, but if it doesn't, the field might be faulty. You can also apply a record contract mimicking the structure of the pattern to the import "..." expression to get better error reporting.

Core language

Stdlib

Documentation

LSP

Tooling

New Contributors

Full Changelog: tweag/nickel@1.6.0...1.7.0

@github-actions github-actions bot added rust Rust use is a significant feature of the PR or issue bump-formula-pr PR was created using `brew bump-formula-pr` labels Jun 11, 2024
@chenrui333
Copy link
Member

chenrui333 commented Jun 12, 2024

Minitest::Assertion: Expected /1\.7\.0/ to match "nickel-lang-cli nickel 1.6.0 (rev Homebre)\n".


@chenrui333 chenrui333 added upstream issue An upstream issue report is needed test failure CI fails while running the test-do block labels Jun 12, 2024
nickel: add upstream version patch

Signed-off-by: Rui Chen <rui@chenrui.dev>
@chenrui333 chenrui333 added ready to merge PR can be merged once CI is green and removed upstream issue An upstream issue report is needed test failure CI fails while running the test-do block labels Jun 12, 2024
Copy link
Contributor

🤖 An automated task has requested bottles to be published to this PR.

@github-actions github-actions bot added the CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. label Jun 12, 2024
@BrewTestBot BrewTestBot added this pull request to the merge queue Jun 12, 2024
Merged via the queue into master with commit a26f677 Jun 12, 2024
14 checks passed
@BrewTestBot BrewTestBot deleted the bump-nickel-1.7.0 branch June 12, 2024 08:04
@github-actions github-actions bot added the outdated PR was locked due to age label Jul 14, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 14, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bump-formula-pr PR was created using `brew bump-formula-pr` CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. outdated PR was locked due to age ready to merge PR can be merged once CI is green rust Rust use is a significant feature of the PR or issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants