Home Explore Blog CI



nushell

7th chunk of `blog/2021-06-01-nushell_0_32.md`
348a0e815047f9bf69b251ff32a5b22a6ed4e82fa8428d1d00000001000009ee


### Case-insensitive completions are now the default on Windows (Sympatron)

Since Windows filenames are case-insensitive, This changes to case-insensitive completion matching by default. All other platforms still use case-sensitive matching by default.

### Porting commands to the new engine (efx, LhKipp, elferherrera)

More commands have been updated to use the new engine-p engine.

### `char` now has more characters (fdncred, kubouch)

The `char` command now supports an [additional set of characters](https://github.com/nushell/nushell/pull/3457). It also supports the path separator character.

You can use `char --list` to see the full list of available character and ansi values.

### Protect against bad config more defensively (fdncred)

Nushell is now more resilient if it encounters [a bad config file](https://github.com/nushell/nushell/pull/3510).

### Better glob support for `rm` (lily-mara)

The `*` wildcard should not attempt to delete files with a leading dot unless the more explicit `.*` is used. `rm *` should also not attempt to delete the current directory or its parent directory (. and ..), either. With this release, these should now be followed.

# Breaking changes

- The previous math mode command `=` has been replaced by a smarter parser that can autodetect math mode based on the first token. Math mode calls like `= 10 / 2` are now simply `10 / 2`.
- Invocations of the style `$()` have now been replaced by `()` subexpressions. `$(= 2 + 3)` is now `(2 + 3)`
- String interpolation of the style:

```shell
`the result is {{= 1 + 2}}`
```

Are now replaced with:

```shell
$"the result is (1 + 2)"
```

- `seq` will now return numbers when possible
- The default integer is now signed 64-bit integer and not big integers.
- The `unit` type has now been split into `filesize` and `duration` for better utility.

# Looking ahead

Nushell 0.32 is the first version of Nushell that begins to show what the 1.0 Nushell language will feel like. The easier, and more uniform, expression and subexpression syntax will let us continue to evolve towards a language that's both easier to read and easier to write.

There are some long-standing issues in the engine that are preventing improved completions, and we'd like to address these issues and begin work on smarter completions.

Elferherrera has also been hard at work on a dataframe implementation that we're exploring for inclusion into Nushell. You can try this out by compiling with the `dataframe` feature. If you check it out, let us know how it goes.

Title: Nushell 0.32 Release: Key Updates and Breaking Changes
Summary
Nushell 0.32 introduces case-insensitive completions on Windows, more commands ported to the new engine, expanded `char` command functionality, and improved resilience to bad config files. The `rm` command now handles globs better. Breaking changes include a new math mode parser, replacing `$()` with `()` subexpressions, and a revised string interpolation syntax. The `seq` command returns numbers when possible, the default integer is now signed 64-bit, and the `unit` type is split. Looking ahead, Nushell aims for a more uniform expression syntax and smarter completions, with potential inclusion of a dataframe implementation.