New features for Bash and WSL in Windows 10 Creators Update

Windows 10 Creators Update is now available for everyone. The Creators Update also brings new features and improvements to the Bash and Windows Subsystem for Linux(WSL). Check out what’s new in Bash and WSL in Creators Update.

What’s new in Bash and WSL in Windows 10 Creators Update

More compatibility

In Win10 CU, most mainstream developer tools now work as expected, including:

  • Core tools: apt, sed, grep, awk, top, tmux, ssh, scp, etc.
  • Shells: Bash, zsh, fish, etc.
  • Dev tools: vim, emacs, nano, git, gdb, etc.
  • Languages & platforms: Node.js & npm, Ruby & Gems, Java & Maven, Python & Pip, C/C++, C# & .NET Core & Nuget, Go, Rust, Haskell, Elixir/Erlang, etc.
  • Systems & Services: sshd, Apache, lighttpd, nginx, MySQL, PostgreSQL
  • And many, MANY others!

Ubuntu 16.04 support

With Windows 10 Creators Update, Windows Subsystem for Linux(WSL) now supports Ubuntu 16.04. Any new Bash instances installed on Win10 CU will now install Ubuntu 16.04.

Important Note: Existing Ubuntu 14.04 instances are NOT automatically upgraded to 16.04: You must manually upgrade your instance to Ubuntu 16.04 in one of two ways:

Ifconfig & network connection enumeration support

One of Win10 AU’s biggest annoyances was that it lacked the ability to enumerate network connections which prevented tools like ifconfig, gulp, npm and others from running correctly.

This has been fixed in Win10 CU and you can use ifconfig to enumerate and examine the configuration of your available network adapters:

Ping & ICMP network support

The new Win10 CU fixed an issue that users quickly bumped into in Win10 AU was the fact that non-administrators could not ping a network endpoint.

File change notification support (INOTIFY)

Another much-requested improvement is the ability for a tool to register for notifications when a file is changed. This is an essential capability used frequently by web, Node.js, Ruby and Python developers, and many others.

For example, if you were working on a node.js website project, editing your source in vim, Emacs, Sublime Text, VS Code, etc., whenever you save your code, you might want your website server to reload your newly changed page source so that you can refresh your browser and see your changes reflected immediately.

Importantly, this file change notification support also supports file change notifications for files in the Windows filesystem. This means that you can edit your project source stored on your Windows filesystem using a Windows GUI editor such as VSCode, Visual Studio, SublimeText, Notepad++, etc. and have node.js running in Bash/WSL serving your website locally, and picking up your changes as you save your files!

Windows <-> Linux Interop

In Windows 10 Creators Update, you can now launch Windows apps & tools from within Bash and you can launch Linux binaries/commands/scripts from within Windows.

UNIX and Netlink Socket improvements

In Creators Update, UNIX datagram sockets and Netlink sockets, options & properties were added to WSL, enabling various forms of IPC that allow many modern tools  to run on WSL.

TCP socket & IPv6 improvements

In Creators Update, the WSL team and Windows Core Networking teams worked together to enable WSL to support several additional IPv6 & TCP socket options & properties. This enables a broad range of tools and technologies that rely upon various network socket features, improved IPv6 support, etc.

Miscellaneous WSL Improvements

The WSL improvements listed above are just a selection of the most visible and noteworthy changes, but there are many hundreds of other WSL improvements included in Creators Update.

  • Linux processes exposed to Windows Process enumeration infrastructure so they show up on TaskManager, etc.
  • Added features to help enable anti-malware & firewall tools to understand Linux processes
  • Shared memory support required by PostgreSQL & other tools

Many VT Sequence Improvements

Because the Windows Console was not originally built to support *NIX, it was unable handle the different behaviors and output formatting codes (ANSI Escape Codes & VT sequences) generated by *NIX command-line tools & applications.

In Windows 10 Creators Update, Windows Console’s VT Sequence support was further improved to correctly handle several more advanced VT Sequences, enabling the Console to light-up many rich text-UI features in vim, emacs, Midnight Commander, tmux, htop, etc:

24-bit color support

In Win10 Creators Update, the Console has been updated to support full, glorious 24-bit color.

Mouse support

With the number of rich, text-based UI’s ever increasing, users wanted mouse support for tools like Midnight Commander, Htop, etc., so we added mouse support in Win10 CU.

Symlinks in Windows without Admin Rights

In Windows 10 Creators Update, the admin-rights restriction has been lifted for users who have enabled developer mode, allowing symlinks to be created from an un-elevated Console.

What’s new in Windows 10 Creators Update