src.elv.sh@v0.21.0-dev.0.20240515223629-06979efb9a2a/0.21.0-release-notes.md (about) 1 # Notable new features 2 3 - The `os` module has gained the following new commands: `mkdir-all`, 4 `symlink` and `rename`. 5 6 - A new `render-styledown` command. 7 8 - A new `str:repeat` command. 9 10 - A new `md` module, currently containing a single function `md:show` for 11 rendering Markdown in the terminal. 12 13 # Notable bugfixes 14 15 - The string comparison commands `<s`, `<=s`, `==s`, `>s` and `>=s` (but not 16 `!=s`) now accept any number of arguments, as they are documented to do. 17 18 # Deprecations 19 20 - The implicit cd feature is now deprecated. Use `cd` or location mode 21 instead. 22 23 # Breaking changes 24 25 - Support for the legacy `~/.elvish` directory has been removed. 26 27 - The commands `!=`, `!=s` and `not-eq` now only accepts two arguments 28 ([#1767](https://b.elv.sh/1767)). 29 30 - The commands `edit:kill-left-alnum-word` and `edit:kill-right-alnum-word` 31 have been renamed to `edit:kill-alnum-word-left` and 32 `edit:kill-alnum-word-right`, to be consistent with the documentation and 33 the names of other similar commands. 34 35 If you need to write code that supports both names, use `has-key` to detect 36 which name is available: 37 38 ```elvish 39 fn kill-alnum-word-left { 40 if (has-key edit: kill-alnum-word-left~) { 41 edit:kill-alnum-word-left 42 } else { 43 edit:kill-left-alnum-word 44 } 45 } 46 ``` 47 48 - Using `else` without `catch` in the `try` special command is no longer 49 supported. The command `try { a } else { b } finally { c }` is equivalent to 50 just `try { a; b } finally { c }`.