elvish/0.19.0-release-notes.md

2.1 KiB

This is the draft release notes for 0.19.0, scheduled to be released around 2022-07-01.

Breaking changes

  • When a styled or styled-segment is printed to terminal, the resulting sequence will now always ignore any existing SGR state.

  • Symbolic links are now always treated as ordinary files by the global modifiers type:dir and type:regular in wildcard expansions.

Deprecated features

Deprecated features will be removed in 0.20.0.

The following deprecated features trigger a warning whenever the code is parsed and compiled, even if it is not executed:

  • The float64 command is now deprecated. Use num for constructing a typed number, or inexact-num for constructing an inexact number.

    The documentation has advertised it as deprecated since the 0.16.0 release, but deprecation warnings were never added.

Notable bugfixes

  • Temporary assignment on an unset environment variables no longer leave it set to an empty string (#1448).

  • Broken symbolic links no longer terminate a wildcard expansion prematurely (#1240).

  • On Windows, command completion for executables now also works for local files

Notable new features

  • A new inexact-num converts its argument to an inexact number.

    It is functionally identical to the now deprecated float64 command since the Go float64 type is the only underlying inexact number type for now. Its behavior may change in future if there are more underlying types for inexact numbers.

  • A new type of interactive abbreviation: edit:command-abbr (#1472).

  • The order and compare commands now support boolean values (#1585).

  • A new path:join command and path:separator and path:list-separator variables (#1562).

  • A new runtime: module that contains paths important for the Elvish runtime (#1385, #1423).

  • A new compact command that replaces consecutive runs of equal values with a single copy, similar to the Unix uniq command.