2020-07-02 05:11:04 +08:00
|
|
|
This is the draft release notes for 0.15.0, scheduled to be released on
|
|
|
|
2021-01-01.
|
2020-08-14 04:56:28 +08:00
|
|
|
|
2020-08-20 20:31:55 +08:00
|
|
|
# Breaking changes
|
|
|
|
|
2021-01-09 08:41:42 +08:00
|
|
|
- Builtin functions and subnamespaces of `edit:` are now read-only.
|
|
|
|
|
2020-08-20 20:31:55 +08:00
|
|
|
- Introspection for rest arguments has changed:
|
|
|
|
|
|
|
|
- The rest argument is now contained in the `arg-names` field of a
|
|
|
|
closure.
|
|
|
|
|
|
|
|
- The `rest-arg` field now contains the index of the rest argument,
|
|
|
|
instead of the name.
|
|
|
|
|
2021-01-04 06:28:57 +08:00
|
|
|
- The `-source` command now runs in a temporary namespace and can no longer
|
|
|
|
affect the local scope of its caller.
|
|
|
|
|
2020-12-25 08:43:57 +08:00
|
|
|
- Key modifiers are no longer case insensitive. For example, `Alt` is still
|
|
|
|
recognized but `alt` is not. This makes key modifier parsing consistent with
|
|
|
|
key names. See [#1163](https://b.elv.sh/1163).
|
2020-10-21 12:49:47 +08:00
|
|
|
|
2020-08-14 04:56:28 +08:00
|
|
|
# Deprecated features
|
|
|
|
|
2020-08-16 05:52:50 +08:00
|
|
|
The following deprecated features trigger a warning whenever the code is parsed
|
|
|
|
or compiled, even if it is not executed:
|
|
|
|
|
2020-08-14 04:56:28 +08:00
|
|
|
- The `chr` command is now deprecated. Use `str:from-codepoints` instead.
|
|
|
|
|
|
|
|
- The `ord` command is now deprecated. Use `str:to-codepoints` instead.
|
2020-08-16 05:52:50 +08:00
|
|
|
|
2020-08-16 23:27:24 +08:00
|
|
|
- The `has-prefix` command is now deprecated. Use `str:has-prefix` instead.
|
|
|
|
|
|
|
|
- The `has-suffix` command is now deprecated. Use `str:has-suffix` instead.
|
|
|
|
|
2020-08-17 06:07:30 +08:00
|
|
|
- The `-source` command is now deprecated. Use `eval` instead.
|
|
|
|
|
2020-08-18 13:40:30 +08:00
|
|
|
- The undocumented `esleep` command is now deprecated. Use `sleep` instead.
|
|
|
|
|
2021-01-17 07:21:33 +08:00
|
|
|
- The `eval-symlinks` command is deprecated. Use `path:eval-symlinks` instead.
|
|
|
|
|
|
|
|
- The `path-abs` command is deprecated. Use `path:abs` instead.
|
|
|
|
|
|
|
|
- The `path-base` command is deprecated. Use `path:base` instead.
|
|
|
|
|
|
|
|
- The `path-clean` command is deprecated. Use `path:clean` instead.
|
|
|
|
|
|
|
|
- The `path-dir` command is deprecated. Use `path:dir` instead.
|
|
|
|
|
|
|
|
- The `path-ext` command is deprecated. Use `path:ext` instead.
|
|
|
|
|
|
|
|
- The `-is-dir` command is deprecated. Use `path:is-dir` instead.
|
|
|
|
|
2020-08-16 05:52:50 +08:00
|
|
|
The following deprecated features trigger a warning when the code is evaluated:
|
|
|
|
|
2020-10-06 02:35:52 +08:00
|
|
|
- Using `:` in slice indices is deprecated. Use `..` instead.
|
2020-08-16 05:52:50 +08:00
|
|
|
|
|
|
|
# Notable new features
|
|
|
|
|
|
|
|
New features in the language:
|
|
|
|
|
2021-01-16 13:00:15 +08:00
|
|
|
- A new `var` special command can be used to explicitly declare variables, and
|
|
|
|
optionally assign them initial values.
|
|
|
|
|
|
|
|
- A new `set` special command can be used to set the values of variables or
|
|
|
|
elements.
|
|
|
|
|
2020-10-06 02:35:52 +08:00
|
|
|
- Slice indices can now use `..` for left-closed, right-open ranges, and `..=`
|
|
|
|
for closed ranges.
|
2020-08-17 06:02:51 +08:00
|
|
|
|
2020-08-20 20:15:00 +08:00
|
|
|
- Rest variables and rest arguments are no longer restricted to the last
|
|
|
|
variable.
|
|
|
|
|
2021-01-13 06:47:21 +08:00
|
|
|
- Variables containing any character can now be assigned and used by quoting
|
|
|
|
their name, for example `'name!' = foo; put $'name!'`.
|
|
|
|
|
2020-08-17 06:02:51 +08:00
|
|
|
New features in the standard library:
|
|
|
|
|
|
|
|
- A new `eval` command supports evaluating a dynamic piece of code in a
|
|
|
|
restricted namespace.
|
2020-08-21 05:46:42 +08:00
|
|
|
|
2020-08-18 13:40:30 +08:00
|
|
|
- A new `sleep` command.
|
|
|
|
|
2021-01-17 07:21:33 +08:00
|
|
|
- A new `path:` module has been introduced for manipulating and testing
|
|
|
|
filesystem paths.
|
|
|
|
|
2020-08-26 06:26:51 +08:00
|
|
|
New features in the interactive editor:
|
|
|
|
|
|
|
|
- SGR escape sequences written from the prompt callback are now supported.
|
|
|
|
|
2021-01-04 00:25:52 +08:00
|
|
|
New features in the main program:
|
|
|
|
|
|
|
|
- When using `-compileonly` to check Elvish sources that contain parse errors,
|
|
|
|
Elvish will still try to compile the source code and print out compilation
|
|
|
|
errors.
|
|
|
|
|
2020-08-21 05:46:42 +08:00
|
|
|
# Notable bugfixes
|
|
|
|
|
|
|
|
- Using large lists that contain `$nil` no longer crashes Elvish.
|