github.com/kolbycrouch/elvish@v0.14.1-0.20210614162631-215b9ac1c423/0.16.0-release-notes.md (about) 1 This is the draft release notes for 0.16.0. It is scheduled to be released on 2 2020-07-01. 3 4 # Breaking changes 5 6 - The `builtin:` namespace, useful for referring to builtin variables and 7 commmands explicitly, now requires `use builtin` before use, consistent with 8 other standard library modules. 9 10 - As a side effect of support for a integer numbers, contexts that require 11 integers no longer accept floating point numbers with a zero fraction part 12 (e.g. `$li[1.0]` is now illegal; `$li[1]` is required). 13 14 - The following commands are now replaced by `edit:close-mode`: 15 `edit:close-listing`, `edit:completion:close`, `edit:history:close`, 16 `edit:listing:close`. 17 18 - The `edit:histlist:toggle-case-sensitivity` command has been removed. 19 Instead, the history listing mode now applies smart-case matching by 20 default. 21 22 - Declaring a variable with a `~` suffix, without an explicit initial value, 23 now initializes its value to the builtin `nop` function rather than `$nil` 24 ([#1248](https://b.elv.sh/1248)). 25 26 # Deprecated features 27 28 Deprecated features will be removed in 0.17.0. 29 30 The following deprecated features trigger a warning whenever the code is parsed 31 or compiled, even if it is not executed: 32 33 - The `fopen` and `fclose` commands are deprecated. Use `file:open` and 34 `file:close` instead. 35 36 - The `prclose` and `pwclose` commands are deprecated. Use `file:close` 37 instead. 38 39 # Notable bugfixes 40 41 - Iterating over certain list slices no longer crash Elvish 42 ([#1287](https://b.elv.sh/1287)). 43 44 - Globbing no longer crashes when there are files whose names contain invalid 45 UTF-8 sequences ([#1220](https://b.elv.sh/1220)). 46 47 - The `path:is-dir` and `path:is-regular` commands default behavior no longer 48 follows a final symlink as advertised in the original documentation. A 49 `&follow-symlink` option has been added to get the old, undocumented, 50 behavior since it can be useful and avoids the need to use 51 `path:eval-symlinks` to transform the path in common use cases. 52 53 * Evaluating `~username` no longer appends a slash 54 ([#1246](https://b.elv.sh/1246)). 55 56 # Notable new features 57 58 New features in the language: 59 60 - Elvish's number type has been extended with support for arbitrary-precision 61 integers and rationals. Many numerical commands in the builtin module and 62 the `math:` module have been extended with support for them. 63 64 New features in the standard library: 65 66 - A new `file:` module contains utilities for manipulating files. 67 68 - Commands for creating temporary files and directories, `path:temp-file` and 69 `path:temp-dir` ([#1255](https://b.elv.sh/1255)). 70 71 - New options to the `edit:command-history` command: `&dedup`, 72 `&newest-first`, and `&cmd-only` ([#1053](https://b.elv.sh/1053)). 73 74 New features in the interactive editor: 75 76 - The editor now supports setting global bindings via `$edit:global-binding`. 77 Global bindings are consulted for keys not present in mode-specific 78 bindings. 79 80 - A new `edit:clear` builtin to clear the screen has been added. 81 82 - The editor now uses a DSL for filtering items in completion, history 83 listing, location and navigation modes. 84 85 - A new `edit:after-command` hook that is invoked after each interactive 86 command line is run. 87 88 - A new `edit:command-duration` variable that is the number of seconds to 89 execute the most recent interactive command line.