---
title: Nushell 0.11.0
author: Sophia Turner
author_site: https://twitter.com/sophiajturner
author_image: https://www.nushell.sh/blog/images/sophiajt.jpg
excerpt: We're excited to release the 0.11.0 release of Nu. This release continues to push us forward with new commands, improved engine internals, bugfixes, and more.
---
# Nushell 0.11.0
Nushell, or Nu for short, is a new shell that takes a modern, structured approach to your commandline. It works seamlessly with the data from your filesystem, operating system, and a growing number of file formats to make it easy to build powerful commandline pipelines.
We're excited to release the 0.11.0 release of Nu. This release continues to push us forward with new commands, improved engine internals, bugfixes, and more.
# Where to get it
Nu 0.11.0 is available as [pre-built binaries](https://github.com/nushell/nushell/releases/tag/0.11.0) or from [crates.io](https://crates.io/crates/nu). If you have Rust installed you can install it using `cargo install nu`.
If you want more goodies, you can install `cargo install nu --features=stable`.
As part of this release, we also publish a set of plugins you can install and use with Nu. To install, use `cargo install nu_plugin_<plugin name>`.
# What's new
## Compound shorthand flags (Amanita-muscaria)
Over the last few releases, we've seen the ability for flags to have shorthand version. You no longer needed to use `--full` if the flag supported the shorter `-f` version.
In this release, we've taken it one step further and allowed you to combine multiple shorthand flags into one group. For example, `ls --full --short-names` can now be written as `ls -fs`
## Improvements and cleanup for `ls` (Bocom, quebin31, lincis, equal-l2)
A lot of improvements went into `ls` for this release. The updated `ls` command is now more forgiving of coming across directories the user can't access and will simply show what it can and continue, it can work with named pipes on systems with them, it shows a more reasonable display for zero-length files, and the internals of `ls` have been cleaned a bit to make way for future improvements.
## External command output no longer blocks (thegedge)
Continuing our series of improvements to working with external commands, we have a few updates in this release. The first of these updates is an improvement to how content streams out of externals. With 0.11.0, this content will no longer block, which allows content to flow more easily between external and internal commands. As a result, some corner cases that came up with a series of commands in a pipeline not working because one blocks no longer is an issue.
## Allow externals to output texts or binary (sophiajt, thegedge)
The second update to externals now allows externals to freely output either text or strings, and for this content to be read in a block at a time into Nu. This allows externals to stream any content they wish, and for this stream to continue for as long as needed.
## New `shuffle` command (hirschenberger)
With 0.11.0, we introduce a new `shuffle` command that will let you shuffle the rows of a table. This allows you to choose to not always process data the same way, or to search through data more stochastically.
```
❯ help commands | shuffle
─────┬──────────────┬───────────────────────────────────────────────────────────────────────────────────────────────