Home Explore Blog CI



nushell

5th chunk of `blog/2020-07-21-nushell_0_17_0.md`
1508d41f94469d7ff297ba103d355fe38813274e1a956b2d0000000100000bf0
- `sort-by` can now sort with case-insensitivity (JosephTLyons)
- `alias` of externals should now be improved (bailey-layzer)
- `history` should be able to correctly store more than 100 rows now (fdncred)
- `to html` will now output pretty hex when given a binary it doesn't recognize (sophiajt), and now has color themes (fdncred)
- `uniq` can now also work with simple values (k-brk)
- Completions now have their own abstraction, so we can more easily improve them in the future (thegedge)
- `table` now prints column numbers a bit more orderly way (Porges)
- `str` made parsing more strict, to let the user know if there were parsing errors (andrasio)
- `group-by` can now take a block that allows for deep keying for grouping (andrasio)
- autoenv (directory-specific environments) can now run commands on entry/exit (samhedin)
- `str trim` can now take an optional character to trim (bailey-layzer)
- duration pretty-print is now easier to read (sophiajt), durations are also now stored as nanoseconds internally (pag4k)
- `str substring` supports more argument types now (andrasio)
- completions for filepaths should now work in more cases (almindor)
- `rm` now gives nicer output (arashout)
- `ls -f` will now do a better job of keeping the tables aligned (arashout)
- general parser improvements (philip-peterson, sophiajt)
- `each` can now number the outputs it creates, allowing for enumeration (sophiajt)

## Bug fixes, tests and more (philip-peterson, JosephTLyons, u5surf, thegedge, arashout, sophiajt)

Parsing now has more test coverage. Internal code cleanups. Command description copy paste issues fixed. Ensure that the MaybeTextCodec gets properly cleared. Fix documentation to renamed subcommands and `str to-int`. Internally more commands were moved to process their streams lazily. We can now generate documentation from reading the built-in docs on each command.

## Breaking changes

### BSON and Sqlite move to plugins (sophiajt)

As part of the portability work, we've moved the `from bson`, `to bson`, `from sqlite` and `to sqlite` out of internal commands and into plugins. The functionality should remain largely unchanged, with the only difference being that you'll need to install these plugins for this functionality.

### Command renames

- `calc` is now `math eval` to join the `math` subcommand family (coolshaurya)
- `keep-until` and `keep-while` are now subcommands: `keep until` and `keep while` (k-brk)
- `skip-while` and `skip-until` are also now subcommands: `skip while` and skip until (andrasio)
- `config` is now split into subcommands based on the command flag, eg) `config set`, `config get`, etc. (ritobanrc, sophiajt)

## Looking forward

Just when we think we'll slow down a little, we're surprised by the amount of community feedback and help. This release covered nearly 4(!) pages of pull requests. Not bad for three weeks for work!

There's some parser work coming up to help continue removing roadblocks to using Nu as a scripting language, improving completions, and generally continuing to polish Nu.

Title: Nushell Updates: Command Improvements, Bug Fixes, and Breaking Changes
Summary
This release of Nushell brings numerous command improvements, including enhancements to `str`, `rm`, `ls`, and `each`. Bug fixes and increased test coverage improve parsing and internal code. Breaking changes include moving BSON and SQLite support to plugins, requiring separate installation. Several commands have been renamed for clarity and consistency, such as `calc` to `math eval` and restructuring `keep`, `skip`, and `config` into subcommands. The project is focused on parser improvements, completion enhancements, and general polishing of Nushell.