1
1
mirror of https://github.com/tweag/nickel.git synced 2024-10-03 22:57:11 +03:00
Commit Graph

19 Commits

Author SHA1 Message Date
Yann Hamdaoui
03cf743c5c
[release.sh] update to 1.7.0 (#1951) 2024-06-11 14:19:21 +00:00
Yann Hamdaoui
13fe12cb70
[release.sh] update to 1.6.0 (#1896) 2024-04-25 09:32:10 +00:00
Yann Hamdaoui
2c5b8f1f07
1.5.0 release (#1853)
* [release.sh] update to 1.5.0

* Fix LSP not compiling when format feat is disabled

* Add 1.5 release notes

* Don't mention current release in the manual intro

We used to mention the current release version in the manual intro, but
this is tedious to keep in sync, and not very valuable - this
information is really easy to get by many other mean. The original
intent was to insist that Nickel was past 1.0, and thus was considered
relatively stable and usable in production. The text has been reworded
to say that instead.
2024-03-13 14:54:30 +00:00
Yann Hamdaoui
6015c8c0cb
Backport 1.4 release to master (#1755)
* Only update relevant deps in Cargo.lock

The release script needs to update Cargo.lock after having updated
Cargo.toml with the new version of various Nickel crates.

Indeed, we are running some checks via Nix, and Nix builds are sandboxed
without network access. This requires the Nix build to use `cargo
--frozen --offline`, which in turns require the Cargo.lock file to be
up-to-date or it will fail.

The previous version of the release script would do a simple `cargo
update`, which has the default of updating all dependencies. This commit
changes that to only udpate dependencies which we might have bumped.

* Add pause to commit release notes in release script

* Fix release script for LSP

The release script was missing a part: the removal of `lsp-harness` (a
local, unpublished util crates) from the nickel-lang-lsp package priori
to publication to crates.io.

Passing by, other small improvements and fixes are included as well.

* [release.sh] update to 1.4.0

* Specify 'do not commit' when updating release notes

* release guide: add missing step for lsp-harness removal
2024-01-11 09:15:16 +00:00
Yann Hamdaoui
6ffa6ac0a1
Fix the order of argument in (.) (#1752)
* Fix order of arguments for curried dot operator

* Add std.record.get to stdlib

* Update release note with breaking changes for (.)

Co-authored-by: jneem <joeneeman@gmail.com>

* Remove snapshot test for std.record.get

Unfortunately, the output of the error message shows a closure address
(in practice, a memory address), which makes it non-determinstic and
thus unfit for a snpashot test.

Instead, it's been replaced with an integration test, which
Unfortunately won't allow to detect a deterioriation in error reporting,
but at least ensure that the contract of `std.record.get` works as
expected.

---------

Co-authored-by: jneem <joeneeman@gmail.com>
2024-01-09 10:11:48 +00:00
Yann Hamdaoui
22e94cff46
1.3.0 release (#1714)
* Bump version numbers for 1.3 release

* Add release notes (part 1)

* Bump latest version mentioned in READMEs to 1.3

* Bump latest version mentioned in manual to 1.3

* Update RELEASING guide
2023-11-16 17:52:59 +00:00
Yann Hamdaoui
27b8c0ede5
Backport 1.2.0 release to master (#1603)
* Bump versions for 1.2.0 release

* Update Cargo.lock

* Update RELEASING guide

Co-authored-by: Viktor Kleen <viktor.kleen@tweag.io>

* Add 1.2.0 release notes

* Depend from published tree-sitter-nickel

* Add warning about crates.io and format feature in READMEs

* Fix formatting_external borrowing issue

---------

Co-authored-by: Viktor Kleen <viktor.kleen@tweag.io>
2023-09-14 18:14:32 +00:00
Yann Hamdaoui
7a01d60270
Backport 1.1.1 (#1439)
* Version bump: 1.0.0 -> 1.1.0

* Add release notes for 1.1

* Bump version - part 2, reset to 0.1 for new crates

* Add missing README to nickel-lang-cli

* Update Cargo.lock, make nickel-wasm-repl's version consistent

* Update releasing instructions for new crate layout

* Fix typo in RELEASES.md

* Update Cargo.lock
2023-07-10 15:31:28 +00:00
Yann Hamdaoui
c4da6975b3
Bump version to 1.0 (#1302)
* Bump version number to 1.0

* Add text for 1.0 release
2023-05-17 12:50:43 +00:00
Yuriy Taraday
f553b8091c
Convert import to statement instead of pseudo-fun (#1293)
Currently `import` is treated as a very special function that only
accepts literal string as its first argument. It has following
downsides:

* Special handling of `import` is hidden. User can assume that its
  just a function while it's a special keyword. User might expect to
  be able to pass variables to it while it is only handled before
  typechecking and evaluation.
* We can't extend `import` functionality without introducing new
  keywords which is not backward-compatible.

This change makes `import` into another statement like `let` or `fun`,
which means it cannot be confused with a function anymore. It also means
that expressions like `import "foo.ncl" bar` and
`import "foo.ncl" & {..}` are invalid, and `import` statement need to be
put in parethesis: `(import "foo.ncl") bar`.

For more context, see discussion in
https://github.com/tweag/nickel/issues/329#issuecomment-1531333491
2023-05-04 15:25:16 +00:00
Yann Hamdaoui
4e7cd8cdca
Update RELEASES.md to prepare 1.0 (#1288) 2023-04-27 13:05:06 +00:00
Viktor Kleen
c77cdcf03b
Change the enum tag start delimiter from backtick to single-quote (#1279)
* Change enum token start from backtick to single-quote

* Get tests to pass

* Fix printing in Term::shallow_repr

* Fix benchmark enum tag syntax

* Change enum tags in the documentation to the new syntax
2023-04-26 09:13:26 +00:00
Yann Hamdaoui
80edc42462
Put the stdlib under the std namespace (#1231)
* Introduce std namespace

This commits put the different modules of the stdlib, previously living
directly at the top-leve in the initial environment (`array`, `string`,
etc.) under the `std` top-level record. This makes the stdlib more
structured, give an unified entry point (including for completion and
querying) and avoid polluting the environment with name that could clash
with e.g. local function parameters.

This changes came with a number of trade-offs. The LSP isn't happy if
something like `std` isn't defined in one location, so we have to write
or at least generated actual code for `std` (instead of programmatically
building the record, for example).

We also want the users to be able to read this file, even if generated,
because otherwise diagnosing a contract error would be quite hard.

There were also other subtleties with respect to typechecking mutually
recursive modules. In the end, the stdlib is currently squashed into one
file (plus the module internals, but which is special) `std.ncl`, which
content is bound to `std` in the initial environment.

* Update the LSP to work with new std namespace

* Update examples to use the new std namespace

* Update benches to use std namespace

* Update integration tests for the new std namespace

* Update snapshot tests for new std namespace

* Last fixes for test after std namespace change

* Please the clippy God 🙏

* Update RELEASES.md - std namespace + RFC005

* Apply suggestions from code review

Co-authored-by: Viktor Kleen <viktor.kleen@tweag.io>

* Update stdlib/std.ncl

Co-authored-by: Viktor Kleen <viktor.kleen@tweag.io>

* Update stdlib/std.ncl

Co-authored-by: Viktor Kleen <viktor.kleen@tweag.io>

* Fix the LSP completion for `std`

* Please the Clippy overlord

---------

Co-authored-by: Viktor Kleen <viktor.kleen@tweag.io>
2023-04-11 17:51:10 +02:00
Yann Hamdaoui
31cf0d7389
Update RELEASES.md with breaking renamings 2023-03-08 16:36:13 +01:00
Matthew Healy
ea0a77e69f Update changelog for 0.3.1 2022-12-15 17:09:03 +01:00
Yann Hamdaoui
52864069c5
Update RELEASES.md for 0.3.0 2022-12-08 10:44:45 +01:00
Yann Hamdaoui
9e38299518 Add release notes for 0.2.0 2022-08-08 15:31:44 +02:00
Yann Hamdaoui
9fb8b3968d Add 0.2.0 release notes + markdown lints 2022-08-08 15:31:44 +02:00
Yann Hamdaoui
6385a6c452 Add release notes 2022-03-09 18:52:12 +01:00