Skip to content

Commit 4118b94

Browse files
committed
finalize changelog
1 parent 6ad3f10 commit 4118b94

1 file changed

Lines changed: 28 additions & 35 deletions

File tree

blog/2026-04-11-nushell_v0_112_0.md

Lines changed: 28 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,12 @@ title: Nushell 0.112.0
33
author: The Nu Authors
44
author_site: https://www.nushell.sh/blog
55
author_image: https://www.nushell.sh/blog/images/nu_logo.png
6-
excerpt: Today, we're releasing version 0.112.0 of Nu. This release adds...
6+
excerpt: Today, we're releasing version 0.112.0 of Nu. This release adds structured markdown parsing with `from md`, a new `%` sigil to explicitly call internal commands, and a bunch of new config options to better shape Nu to your workflow, along with improvements to type checking for cell paths.
77
---
88

9-
<!-- TODO: complete the excerpt above -->
10-
11-
<!-- NOTE: start from the TODO all the way at the bottom (and sort of work your way up) -->
12-
139
# Nushell 0.112.0
1410

15-
<!-- TODO: write this excerpt -->
16-
17-
Today, we're releasing version 0.112.0 of Nu. This release adds...
11+
Today, we're releasing version 0.112.0 of Nu. This release adds structured markdown parsing with `from md`, a new `%` sigil to explicitly call internal commands, and a bunch of new config options to better shape Nu to your workflow, along with improvements to type checking for cell paths.
1812

1913
# Where to get it
2014

@@ -34,24 +28,21 @@ As part of this release, we also publish a set of optional [plugins](https://www
3428
The `from md` is considered a breaking change as previously `open *.md` would return a string.
3529
:::
3630

37-
We introduced the `from md` command that allows parsing a markdown document and extracting data in a structured manner instead of parsing specific parts of the markdown string and hoping for the best.
31+
We added a new `from md` command that lets you parse markdown into structured data. Instead of manually pulling pieces out of a markdown string and hoping it works, you now get something much more reliable to work with.
3832

3933
::: info
40-
Since `from` commands modify the behavior of `open`, we encourage to discuss whether this is a fitting name or not in a [Github discussion](https://github.com/nushell/nushell/discussions/18011).
41-
Please state your opinion on this.
34+
Since `from` commands affect how `open` behaves, we'd love your input on whether the name still makes sense. Join the discussion on [Github](https://github.com/nushell/nushell/discussions/18011) and share your thoughts.
4235
:::
4336

44-
See the example output [here](#parse-markdown-via-from-md-1).
37+
Check out the example output [here](#parse-markdown-via-from-md-1).
4538

4639
## No more shadows, call internals with `%`
4740

48-
Nushell supports the `^` sigil to explicitly state you want to call an external binary.
49-
This ensures that commands can still be called even if they have a built-in equivalent with the same name or a custom command with the same name.
41+
Nushell already has the `^` sigil to explicitly call external commands. That way you can still run a binary even if there's a built-in or custom command with the same name.
5042

51-
We had a lot of requests if we could have something similar for internals/builtin commands.
52-
Thanks to [@fdncred](https://github.com/fdncred) we now have the `%` sigil that does exactly that.
53-
It uses the initial scope and denies calling externals.
54-
With it you can ensure you always call an internal and even hidden commands can be called using it.
43+
A lot of people asked for something similar for internal commands and now we have it. Thanks to [@fdncred](https://github.com/fdncred), the new `%` sigil lets you explicitly call built-ins.
44+
45+
It always uses the initial scope and won't fall back to externals. That means you can reliably call internal commands, even if they're hidden.
5546

5647
```ansi :no-line-numbers
5748
> version | get version
@@ -72,11 +63,11 @@ Error: nu::shell::external_command
7263
0.112.0
7364
```
7465

75-
More info in the [main entry](#new-sigil-to-explicitly-call-built-ins).
66+
More details in the [main entry](#new-sigil-to-explicitly-call-built-ins).
7667

7768
## Configure Nushell how you like
7869

79-
This release added a lot of new config options.
70+
This release comes with a bunch of new config options to tweak things to your liking.
8071

8172
### `$env.config.history.path`
8273

@@ -97,9 +88,9 @@ $env.config.history.path = "~/custom/my-history.txt"
9788

9889
</details>
9990

100-
Thanks to [@kx0101](https://github.com/kx0101) we can now configure where the history should be stored.
101-
This ignores the file format, so make sure your config accommodates for that.
102-
`null` can also be used to disable history.
91+
Thanks to [@kx0101](https://github.com/kx0101), you can now choose exactly where your history file lives.
92+
This ignores the file format, so make sure your config matches.
93+
You can also set it to `null` to disable history entirely.
10394
Read [more](#history-file-path-can-now-be-configured).
10495

10596
### `$env.config.history.ignore_space_prefixed`
@@ -116,7 +107,7 @@ $env.config.history.ignore_space_prefixed = true
116107

117108
</details>
118109

119-
[@guluo2016](https://github.com/guluo2016) added the option to include commands in your history even if prefixed with a space.
110+
[@guluo2016](https://github.com/guluo2016) added an option to control whether commands starting with a space end up in your history.
120111
Read [more](#new-option-to-allow-command-with-space-prefixes-to-be-recorded-in-history).
121112

122113
### `$env.config.auto_cd_implicit`
@@ -134,7 +125,7 @@ $env.config.auto_cd_implicit = false
134125

135126
</details>
136127

137-
[@dxrcy](https://github.com/dxrcy) added the config option to auto-cd into another directory if it exists.
128+
[@dxrcy](https://github.com/dxrcy) added a config option that lets you automatically `cd` into directories when you type their name.
138129
Read [more](#new-configuration-option-auto-cd-always).
139130

140131
### `$env.config.hinter.closure`
@@ -170,7 +161,7 @@ $env.config.hinter.closure = null
170161

171162
</details>
172163

173-
Thanks to [@stuartcarnie](https://github.com/stuartcarnie) Nushell is now able to configure an external hinter via a closure.
164+
Thanks to [@stuartcarnie](https://github.com/stuartcarnie), you can now plug in your own hinter using a closure.
174165
Read [more](#added-configurable-external-hinter-closure).
175166

176167
### `$env.config.table.mode = "frameless"`
@@ -190,8 +181,8 @@ $env.config.table.mode = "rounded"
190181

191182
</details>
192183

193-
[@Benjas333](https://github.com/Benjas333) added the new table style "frameless".
194-
See an example [here](#new-table-style-frameless).
184+
[@Benjas333](https://github.com/Benjas333) added a new table style called "frameless".
185+
Take a look [here](#new-table-style-frameless).
195186

196187
### `$env.config.color_config.binary_*`
197188

@@ -221,15 +212,17 @@ $env.config.color_config.binary_non_ascii = "yellow_bold"
221212

222213
</details>
223214

224-
[@ian-h-chamberlain](https://github.com/ian-h-chamberlain) added more color config options for the binary values in our hex viewer in [#17887](https://github.com/nushell/nushell/pull/17887).
215+
[@ian-h-chamberlain](https://github.com/ian-h-chamberlain) added more color options for binary data in the hex viewer in [#17887](https://github.com/nushell/nushell/pull/17887).
225216

226217
## Types via cell.paths! - `cell-path-types`
227218

228219
<ExperimentalOption option="cell-path-types" />
229220

230-
[@blindFS](https://github.com/blindFS) added a new experimental option to make type inference smarter when using cell paths.
231-
Previously we only got errors for wrongly used nested types at runtime. Now we can even detect them at parse time.
232-
For some examples see [this](#new-experimental-option-cell-path-types).
221+
[@blindFS](https://github.com/blindFS) introduced a new experimental option that makes type inference smarter when working with cell paths.
222+
223+
Before this, issues with nested types would only show up at runtime. Now they can already be caught during parsing.
224+
225+
Check out some examples [here](#new-experimental-option-cell-path-types).
233226

234227
# Changes <JumpToc/>
235228

@@ -1151,9 +1144,9 @@ Two changes:
11511144
- Added `Type::table()` to `bytes collect` input types so pipelines like `0..128 | each {} | into binary --compact | bytes collect` work without requiring an explicit `collect` first
11521145
- Deduplicated types in `combined_type_string` so error messages say "binary, table, or record" instead of "binary, binary, binary, binary, table, or record"
11531146

1154-
### Builtin commands now support `null` for optional parameters <JumpToc/> <PrBy :pr="17753" user="0xRozier" />
1147+
### built-in commands now support `null` for optional parameters <JumpToc/> <PrBy :pr="17753" user="0xRozier" />
11551148

1156-
Optional positional parameters in builtin commands now accept `null`, treating it as if the argument was omitted. This allows custom commands to wrap builtins and transparently forward optional parameters:
1149+
Optional positional parameters in built-in commands now accept `null`, treating it as if the argument was omitted. This allows custom commands to wrap built-ins and transparently forward optional parameters:
11571150

11581151
```ansi :no-line-numbers
11591152
> def wraps-first [rows?: int] { [1, 2, 3] | first $rows }
@@ -1398,7 +1391,7 @@ Thanks to all the contributors below for helping us solve issues, improve docume
13981391

13991392
| author | title | link |
14001393
| ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------- |
1401-
| [@0xRozier](https://github.com/0xRozier) | fix: allow passing null to optional positional params in builtin commands | [#17753](https://github.com/nushell/nushell/pull/17753) |
1394+
| [@0xRozier](https://github.com/0xRozier) | fix: allow passing null to optional positional params in built-in commands | [#17753](https://github.com/nushell/nushell/pull/17753) |
14021395
| [@Bahex](https://github.com/Bahex) | feat(std-rfc/xml xaccess): experimental rewrite of `std/xml xaccess` | [#16804](https://github.com/nushell/nushell/pull/16804) |
14031396
| [@Bahex](https://github.com/Bahex) | feat: make `Span`'s `Debug` impl succinct | [#17782](https://github.com/nushell/nushell/pull/17782) |
14041397
| [@Bahex](https://github.com/Bahex) | feat: `test_record!` macro for convenience | [#17797](https://github.com/nushell/nushell/pull/17797) |

0 commit comments

Comments
 (0)