This version mostly includes bugfixes and stdlib improvement since 1.0
. 1.1.0
has been immediately followed by 1.1.1
, because of a missing README issue on the new nickel-lang-cli
crate published to crates.io. Because crates on crates.io are immutable, we had to bump the minor version.
IMPORTANT: The main crate nickel-lang
has been split between nickel-lang-cli
(the binary) and nickel-lang-core
(the library). If you're using cargo
to install Nickel, please uninstall the previous crate by running cargo uninstall nickel-lang
, and from now one use cargo install nickel-lang-cli
to install 1.1 and do further updates.
Stdlib
- Encode more pre-conditions of stdlib functions as additional contracts,
replacing dynamic type errors with nice contract errors by @yannham in #1358 - ArraySliceFun incorrectly excluded the length of the array as the end index by @vkleen in #1396
Tooling
- Improve the pretty printing of terms in the CLI and within error messages @vkleen in #1262
- Fix LSP panic when importing JSON by @yannham in #1382
- Fix LSP hanging under certain conditions involving external imports by @yannham in #1390
- Better error message when contract makes certain rows illegal by @Radvendii in #1323
- Fix function params hovering in the LSP by @yannham in #1395
- Fix LSP infinite loop on hovering on external imports by @yannham in #1397
Fixes
- Fixes incorrect variable names in type mismatch errors by @vkleen in #1313
- Improve error messages for polymorphic tail parametricity violations by @matthew-healy in #1320
- Fix panic on duplicated top-level idents in record destructuring by @matthew-healy in #1324
- Prevent panic when parsing record type with field path by @matthew-healy in #1325
- Give a better error message when trying to query a non-record by @jneem in #1326
- Fix error position by @jneem in #1333
- Fix panic when interpolating fields in a record type by @jneem in #1332
- Fix type annotations not generating contracts by @yannham in #1379
- Fix typechecker looping by adding missing check for unifying equal type vars by @yannham in #1400
- Fix panic on function contract failure (position of arrow functions not set) by @yannham in #1407