Skip to content

Commit

Permalink
Merge pull request #3 from fdncred/patch-1
Browse files Browse the repository at this point in the history
darren_updates
  • Loading branch information
sophiajt committed Mar 11, 2022
2 parents 2ff5aa0 + 1ccfe8a commit f96f8e4
Showing 1 changed file with 167 additions and 47 deletions.
214 changes: 167 additions & 47 deletions blog/2022-03-22-nushell_0_60.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,52 +7,53 @@ excerpt: Today, we're releasing version 0.60 of Nu. This is an enormous release,
---

TODO:
- animation gif?
- fill out custom completions section
- document def-env and scoped `cd`
- document parallelism and `par-each`
- document `extern`
- more typechecking
- engine and storing spans
- faster parsing, faster engine
- correct variable captures
- add screenshot for lscolors support
- document breaking changes
- default params/flags
- add peoples names who worked on various parts
- or... thank everyone who worked on this release

- animation gif?
- fill out custom completions section
- document def-env and scoped `cd`
- ~~document parallelism and `par-each`~~
- document `extern`
- more typechecking
- engine and storing spans
- faster parsing, faster engine
- correct variable captures
- ~~add screenshot for lscolors support~~
- ~~document breaking changes~~
- default params/flags
- ~~add peoples names who worked on various part~~
- ~~or... thank everyone who worked on this release~~
- reedline
* entirely new keybinding system
- $env.PROMPT_COMMAND and $env.PROMPT_COMMAND_RIGHT with block or string
- $env.LAST_EXIT_CODE
- size of binaries down 10x
- entirely new keybinding system
- ~~$env.PROMPT_COMMAND and $env.PROMPT_COMMAND_RIGHT with block or string~~
- ~~$env.LAST_EXIT_CODE~~
- ~~size of binaries down 10x~~
- scoped cd
- ability to page data with ls + less
- $env.LS_COLORS
- footers in tables
- maybe a list of new commands
* columns
* complete
* decode
* def-env
* env
* export, export def, export env
* extern
* fmt
* group
* grid, as in, alias lsg = ls | grid -c
* gstat plugin
* ignore
* keybindings default, keybindings listen, keybindings list
* module
* nu-highlight
* par-each
* print
* register
* transpose
* use
* window
* view-source
- ~~$env.LS_COLORS~~
- ~~footers in tables~~
- ~~maybe a list of new commands~~
- ~~columns~~
- ~~complete~~
- ~~decode~~
- ~~def-env~~
- ~~env~~
- ~~export, export def, export env~~
- ~~extern~~
- ~~fmt~~
- ~~group~~
- ~~grid, as in, alias lsg = ls | grid -c~~
- ~~gstat plugin~~
- ~~ignore~~
- ~~keybindings default, keybindings listen, keybindings list~~
- ~~module~~
- ~~nu-highlight~~
- ~~par-each~~
- ~~print~~
- ~~register~~
- ~~transpose~~
- ~~use~~
- ~~window~~
- ~~view-source~~

# Nushell 0.60

Expand Down Expand Up @@ -180,6 +181,7 @@ You now can write a record, or a list of key/value pairs, as a native data type
### Table as a list of records

With the introduction of records, a second way to define a table is a list (or stream) of records:

```
> seq 3 | each { |x| { name: Bob, x: $x } }
# name x
Expand Down Expand Up @@ -304,6 +306,7 @@ You can now also use `select` on rows, by passing in a row number:
The other fundamental command for working with tables is `get`. Like `select`, `get` allows you to work with columns and rows in a table, or fields in a record. Unlike `select`, the `get` command extracts data out of the table and does not try to preserve its original form. This is helpful when you want to get at the cell data itself.

Via a column:

```
> ls | get name
╭────┬───────────────────╮
Expand All @@ -317,6 +320,7 @@ Via a column:
```

Via a row:

```
> ls | get 1
╭──────────┬─────────────────╮
Expand Down Expand Up @@ -510,7 +514,6 @@ want to reload it in your nushell session. You can create a special keybinding t

with this keybinding every time you press F5 you config file is sourced and ready to go. Neat!


# Introducing 'nuon'

As the syntax for Nushell has continued to grow and evolved, we noticed that writing data in Nushell was kinda fun. The more we played with it, the more the idea grew that we could create a data file format using the Nushell syntax for data. Thus, 'nuon' was born. With it, we now include `from nuon` and `to nuon` to help you work with the new .nuon files.
Expand Down Expand Up @@ -544,8 +547,6 @@ Nuon is still very much experimental, but we're already enjoying using it and ar

# New Engine



# New plugin architecture

Rather that scanning for all new plugins on startup like we did with 0.44 (and taking ages to start Nu), the new `register` command stores the
Expand All @@ -564,5 +565,124 @@ specify what command should be used to run the plugin
> register -e json -s python ~/my_plugins/plugin.py
```


# Looking ahead

---

NEEDS CLEANUP

---

some of the items are already documented pretty well. in this section maybe just supply a link to that section

- PROMPT_COMMAND and PROMPT_COMMAND_RIGHT are covered in coloring_and_theming.md
- LAST_EXIT_CODE is covered in stdout_stderr_exit_codes.md
- add screenshot for lscolors support - in assets folder with 0_59_1 prefix
- document parallelism and par-each - is documented in parallelism.md
- breaking changes is documented in this issue https://github.com/nushell/nushell/issues/4305 - maybe we should just put a link to this and maybe clean up that issue at the last moment before release and lock the issue?
- document people who've contributed passed 0.44

* nushell repo

```shell
> git log --pretty=format:%an 0.44.0..HEAD | lines | group-by | transpose name count | get name | sort-by | str collect ', '

Access, Andrew, Andrew Barnes, Andrés N. Robalino, Antonio Natilla, Arthur, Arthur Targaryen, Ashish Thapa, Benoît Cortier, Daniel Reilly, Darren Schroeder, Eli Flanagan, Fernando Herrera, Gabriel B Gutierrez, Gabriel Borges Gutierrez, Genna Wingert, Hilmar Gústafsson, JT, Jae-Heon Ji, Jakub Žádník, Jonathan Moore, Jonathan Turner, Joseph T. Lyons, Julian Aichholz, Justin, Justin Ma, Kat Marchán, LordMZTE, Luca Trevisani, Luccas Mateus, Luccas Mateus de Medeiros Gomes, Matthew Auld, Maxim Zhiburt, Michael Angerman, Michael Rutter, Onur Şahin, Ray Henry, Robert O'Shea, Stefan Holderbach, Stefan Stanciulescu, Tanishq Kancharla, Tom Panton, Yutaro Ohno, dependabot[bot], dgalbraith, eggcaker, jacremer, nibon7, onthebridgetonowhere, panicbit, xiuxiu62, zkldi, Ștefan
```
- engine-q repo
```shell
> git log --pretty=format:%an | lines | group-by | transpose name count | get name | sort-by | str collect ', '
Access, Andrew, Andrés N. Robalino, Antonio Natilla, Arthur, Arthur Targaryen, Ashish Thapa, Benoît Cortier, Darren Schroeder, Eli Flanagan, Fernando Herrera, Gabriel B Gutierrez, Gabriel Borges Gutierrez, Hilmar Gústafsson, JT, Jae-Heon Ji, Jakub Žádník, Jonathan Turner, Julian Aichholz, Justin, Kat Marchán, Luccas Mateus, Luccas Mateus de Medeiros Gomes, Matthew Auld, Maxim Zhiburt, Michael Angerman, Onur Şahin, Stefan Holderbach, Stefan Stanciulescu, Tanishq Kancharla, Tom Panton, eggcaker, jacremer, nibon7, onthebridgetonowhere, xiuxiu62, Ștefan
```
- we merged engine-q on 2022-02-08
- nushell.github.io repo
```shell
> git log --pretty=format:%an --after="2022-02-07" | lines | group-by | transpose name count | get name | sort-by | str collect ', '
Darren Schroeder, DawnMagnet, Fernando Herrera, JT, Jakub Žádník, Luca Trevisani, Mariano Guerra, Michael Angerman, Reilly Wood, adamijak, ammkrn, dgalbraith, hustcer, jaeheonji, sebastian-xyz, st155052, zkldi
```
- nu_scripts repo
```shell
> git log --pretty=format:%an --after="2022-02-07" | lines | group-by | transpose name count | get name | sort-by | str collect ', '
Darren Schroeder, Eli Flanagan, Genna Wingert, JT, Kamil, Michael Angerman, WindSoilder, ZetaNumbers
```
- reedline repo
```shell
> git log --pretty=format:%an | lines | group-by | transpose name count | get name | sort-by | str collect ', '
Antonio Natilla, Basile Henry, Chris Gillespie, Darren Schroeder, David Lattimore, Dheepak Krishnamurthy, Ebuka Agbanyim, Fernando Herrera, Guillermo Lella, JT, Jason Hansen, Jonathan Turner, Josh, Leo Kettmeir, Marco Zanrosso, Niklas S, Niklas Schoellhorn, Sherub Thakur, Stefan Holderbach, Urgau, ahkrr, crozbo, mzanrosso, sholderbach
```
- release size has been reduced significantly
| release file for 0.44.0 | size |
| ----------------------- | ------- |
| nu_0_44_0_linux.tar.gz | 103 MB |
| nu_0_44_0_macOS.zip | 79.7 MB |
| nu_0_44_0_windows.msi | 55.5 MB |
| nu_0_44_0_windows.zip | 57.9 MB |
| release file for 0.60.0 | size |
| ----------------------- | ------- |
| nu_0_60_0_linux.tar.gz | 14.8 MB |
| nu_0_60_0_macOS.zip | 12.9 MB |
| nu_0_60_0_windows.msi | 10.1 MB |
| nu_0_60_0_windows.zip | 10.1 MB |
- footers in tables
insert 0_59_1_ls_sort.png
- `$env.LS_COLORS`
Nushell now respects your `LS_COLORS` environment variable if set. If it's not set, Nushell will provide a default 8-bit setting so people with color terminal can see file types in different colors as seen below in the following screenshots.

insert 0_59_1_ls_sort.png
insert 0_59_1_ls_gridc.png

- new commands in 0.60.0 (storm's table)
| category | command |
| ------------ | ----------------------------------------------- |
| conversions | into {bool, datetime, duration} |
| core | def-env, error make |
| core | export_def_env, export_def, export env, export |
| core | extern, hide, metadata |
| core | ignore, mod, module, register, use, view-source |
| env | let_env, load_env, with-env |
| experimental | view_source |
| filters | columns, group, par-each, transpose, window |
| formats | nuon |
| math | reducers |
| plugins | gstat |
| strings | decode, nu-highlight, print |
| system | complete |
| viewers | grid |
### Questions ?
- ignore is in 0.44 but it is listed in the 0.60 blog post
### No new commands in the following categories ?
| category | command |
| ---------- | ------- |
| date | none |
| filesystem | none |
| generators | none |
| hash | none |
| network | none |
| path | none |
| platform | none |
| random | none |
| shells | none |

0 comments on commit f96f8e4

Please sign in to comment.