Windows 10 has bought a lot of cool features and performance improvements. Apps like Paint 3D and the Game Mode are expected to cater to the various niches of the Windows 10 audiences. The Windows 10 Anniversary Update was shipped with a half-baked Windows Subsystem for Linux (WSL) and this meant that it was incompatible with node.js and Java.
Bash/WSL & Windows Console new features
Starting with the Windows 10 Creators Update the WSL has been designed to be compatible with the Linux System Call Interface (SCI) and as a result, it worked with most of the mainstream developer tools. The Windows 10 CU supports the following developers’ tools:
- 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.
Yet another mention worthy thing is the Ubuntu 16.04 support, yes while the Windows 10 AU supported Ubuntu 14.04 the Windows 10 Creators Update supports Ubuntu 16.04. All the newly created bash instances will now be installed to Ubuntu 16.04, However, the existing Ubuntu 14.04 instances will not automatically upgrade to 16.04 and you need to manually upgrade the instance to Ubuntu 16.04 by using either Remove and Replace or Upgrade in Place.
Extended IfConfig and Network Connection Enumeration
In the Win 10 AU one was not able to enumerate network connections and this ended up meddling with the tools like ifconfig, gulp, npm and others. This problem has been promptly fixed in the Win10 CU and the ifconfig can be used to enumerate and examine the configurations of all the available network adapters.
NOTIFY File Change Notifications
The tools will now start notifying as and when the file is changed this capability is used by web, Node.js, Ruby and Python developers along with many others. WSL now supports notify which will let the apps register for the file system change notifications which can further be used to create actionable like rebuilding a project or maybe restarting the local server. Thankfully the file notification also supports Windows filesystem. With this one can edit the project source on the Windows filesystem by using a Windows GUI editor including VSCode, Visual Studio, Notepad++ and can run the Bash/WSL on the website locally.
TCP socket and TPv6 Improvements
The WSL team along with the Windows Core Networking team has come with several additional IPv6 and TCP socket options. What this will do is that it will enable a wide range of tools and technologies that rely on network sockets and improvised IPv6 support.
Support for Unix Socket and Netlink Socket
Certain parts of UNIX and Netlink were earlier not supported on the Anniversary Update and with the Creators the UNIX datagram sockets and Netlink options and properties. Adding these to the WSL enables the various forms of IPC which will allow most of the modern tools to run on WSL.
24-bit color support
Finally, the support for colors more than 16-bits has been answered and now with the Win10 CU the console has been updated to a fancy 24-bit color.
You can read the full details on MSDN.