Table of contents

Release Notes

Russ Alexander|Last Updated: 1/19/2017
|
2 Contributors

Build 15014

For general Windows information on build 15014 visit the Windows Blog.
To track or report an issue visit our Github page.

Fixed

  • Ctrl+C now works as intended
  • htop and ps auxw now show correct resource utilization (GH #516)
  • Basic translation of NT exceptions to signals. (GH #513)
  • fallocate now fails with ENOSPC when running out of space instead of EINVAL (GH #1571)
  • Added /proc/sys/kernel/sem.
  • Implemented semop and semtimedop system calls
  • Fixed nslookup errors with IP_RECVTOS & IPV6_RECVTCLASS socket option (GH 69)
  • Support for socket options IP_RECVTTL and IPV6_RECVHOPLIMIT
  • Additional fixes and improvements

LTP Results:

Number of Passing Test: 709
Number of non-Passing (failing, skipped, etc…): 255
LTP Test Run Logs

Syscall Summary

Total Syscalls: 384
Total Implemented: 235
Total Stubbed: 22
Total Unimplemented: 127
Detailed Breakdown



Build 15007

For general Windows information on build 15007 visit the Windows Blog.
To track or report an issue visit our Github page.

Known Issue

  • There is a known bug where the console does not recognize some Ctrl + input. This includes the ctrl-c command which will act as a normal ‘c’ keypress.

    • Workaround: Map an alternate key to Ctrl+C. For example, to map Ctrl+K to Ctrl+C do: stty intr \^k. This mapping is per terminal and will have to be done every time bash is launched. Users can explore the option to include this in their .bashrc

Fixed

  • Corrected the issue where running WSL would consume 100% of a CPU core
  • Socket option IP_PKTINFO, IPV6_RECVPKTINFO now supported. (GH #851, 987)
  • Truncate network interface physical address to 16 bytes in lxcore (GH #1452, 1414, 1343, 468, 308)
  • Additional fixes and improvements

LTP Results:

Number of Passing Test: 709
Number of non-Passing (failing, skipped, etc…): 255
LTP Test Run Logs



Build 15002

For general Windows information on build 15002 visit the Windows Blog.
To track or report an issue visit our Github page.

Known Issue

Two known issues:

  • There is a known bug where the console does not recognize some Ctrl + input. This includes the ctrl-c command which will act as a normal ‘c’ keypress.

    • Workaround: Map an alternate key to Ctrl+C. For example, to map Ctrl+K to Ctrl+C do: stty intr \^k. This mapping is per terminal and will have to be done every time bash is launched. Users can explore the option to include this in their .bashrc
  • While WSL is running a system thread will consume 100% of a CPU core. The root cause has been addressed and fixed internally.

Fixed

  • All bash sessions must now be created at the same permission level. Attempting to start a session at a different level will be blocked. This means admin and non-admin consoles cannot run at the same time. (GH #626)
  • Implemented the following NETLINK_ROUTE messages (requires Windows admin)
    • RTM_NEWADDR (supports ip addr add)
    • RTM_NEWROUTE (supports ip route add)
    • RTM_DELADDR (supports ip addr del)
    • RTM_DELROUTE (supports ip route del)
  • Scheduled task checking for packages to update will no longer run on a metered connection (GH #1371)
  • Fixed error where piping gets stuck i.e. bash -c "ls -alR /" | bash -c "cat" (GH #1214)
  • Implemented TCP_KEEPCNT socket option (GH #843)
  • Implemented IP_MTU_DISCOVER INET socket option (GH #720, 717, 170, 69)
  • Removed legacy functionality to run NT binaries from init with NT path lookup. (GH #1325)
  • Fix mode of /dev/kmsg to allow group / other read access (0644) (GH #1321)
  • Implemented /proc/sys/kernel/random/uuid (GH #1092)
  • Corrected error where process start time was showing as year 2432 (GH #974)
  • Switched default TERM environment variable to xterm-256color (GH #1446)
  • Modified the way that process commit is calculated during process fork. (GH #1286)
  • Implemented /proc/sys/vm/overcommit_memory. (GH #1286)
  • Implemented /proc/net/route file (GH #69)
  • Fixed error where shortcut name was incorrectly localized (GH #696)
  • Fixed elf parsing logic that is incorrectly validating the program headers must be less than (or equal to) PATH_MAX. (GH #1048)
  • Implemented statfs callback for procfs, sysfs, cgroupfs, and binfmtfs (GH #1378)
  • Fixed AptPackageIndexUpdate windows that won’t close (GH #1184, also discussed in GH #1193)
  • Added ASLR personality ADDR_NO_RANDOMIZE support. (GH #1148, 1128)
  • Improved PTRACE_GETSIGINFO, SIGSEGV, for proper gdb stack traces during AV (GH #875)
  • Elf parsing no longer fails for patchelf binaries. (GH #471)
  • VPN DNS propagated to /etc/resolv.conf (GH #416, 1350)
  • Improvements to TCP close for more reliable data transfer. (GH #610, 616, 1025, 1335)
  • Now return correct error code when too many files are opened (EMFILE). (GH #1126, 2090)
  • Windows Audit log now reports the image name in process create audit.
  • Now gracefully fail when launching bash.exe from within a bash window
  • Added error message when interop is unable to access a working directory under LxFs (i.e. notepad.exe .bashrc)
  • Fixed issue where Windows path was truncated in WSL
  • Additional fixes and improvements

LTP Results:

Number of Passing Test: 690
Number of non-Passing (failing, skipped, etc…): 274
LTP Test Run Logs



Syscall Support

Below are a list of new or enhanced syscalls that have some implementation in WSL. The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

shmctl
shmget
shmdt
shmat



Build 14986

For general Windows information on build 14986 visit the Windows Blog.
To track or report an issue visit our Github page.

Fixed

  • Fixed bugchecks with Netlink and Pty IOCTLs
  • Kernel version now reports 4.4.0-43 for consistency with Xenial
  • Bash.exe now launches when input directed to 'nul:' (GH #1259)
  • Thread IDs now reported correctly in procfs (GH #967)
  • IN_UNMOUNT | IN_Q_OVERFLOW | IN_IGNORED | IN_ISDIR flags now supported in inotify_add_watch() (GH #1280)
  • Implement timer_create and related system calls. This enables GHC support (GH #307)
  • Fixed issue where ping returned a time of 0.000ms (GH #1296)
  • Return correct error code when too many files are opened.
  • Fixed issue in WSL where Netlink request for network interface data would fail with EINVAL if the interface's hardware address is 32-bytes (such as the Teredo interface)
    • Note that the Linux "ip" utility contains a bug where it will crash if WSL reports a 32-byte hardware address. This is a bug in "ip", not WSL. The “ip” utility hard-codes the length of the string buffer used to print the hardware address, and that buffer is too small to print a 32-byte hardware address.
  • Additional fixes and improvements

LTP Results:

Number of Passing Test: 669
Number of non-Passing (failing, skipped, etc…): 258
LTP Test Run Logs



Syscall Support

Below are a list of new or enhanced syscalls that have some implementation in WSL. The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

timer_create
timer_delete
timer_gettime
timer_settime



Build 14971

For general Windows information on build 14971 visit the Windows Blog.
To track or report an issue visit our Github page.

Fixed

  • Due to circumstances beyond our control there are no updates in this build for the Windows Subsystem for Linux. Regularly scheduled updates will resume on the next release.

LTP Results:

Unchanged from 14965
Number of Passing Test: 664
Number of non-Passing (failing, skipped, etc…): 263
LTP Test Run Logs



Build 14965

For general Windows information on build 14965 visit the Windows Blog.
To track or report an issue visit our Github page.

Fixed

  • Support for Netlink sockets NETLINK_ROUTE protocol's RTM_GETLINK and RTM_GETADDR (GH #468)
  • /sbin is now in the user's path by default
  • NT user path now appended to the WSL path by default (i.e. you can now type notepad.exe without adding System32 to the Linux path)
  • Added support for /proc/sys/kernel/cap_last_cap
  • NT Binaries can now be launched from WSL when the current working directory contains non-ansi characters (GH #1254)
  • Allow shutdown on disconnected unix stream socket.
  • Added support for PR_GET_PDEATHSIG.
  • Added support for CLONE_PARENT
  • Fixed error where piping gets stuck i.e. bash -c "ls -alR /" | bash -c "cat" (GH #1214)
  • Handle requests to connect to the current terminal.
  • Mark /proc//oom_score_adj as writable.
  • Add /sys/fs/cgroup folder.
  • sched_setaffinity should return number of affinity bits mask
  • Fix ELF validation logic which incorrectly assumes interpreter paths must be less than 64 characters long. (GH #743)
  • Open file descriptors can keep console window open (GH #1187)
  • Fixeed error where rename() failed with trailing slash on target name (GH #1008)
  • Implement /proc/net/dev file
  • Fixed 0.000ms pings due to timer resolution.
  • Implemented /proc/self/environ (GH #730)
  • Additional bugfixes and improvements

LTP Results:

Number of Passing Test: 664
Number of non-Passing (failing, skipped, etc…): 263
LTP Test Run Logs



Build 14959

For general Windows information on build 14959 visit the Windows Blog.
To track or report an issue visit our Github page.

Fixed

  • Improved Pico Process notification for Windows. Additional information found on the WSL Blog.
  • Improved stability with Windows interoperability
  • Fixed error 0x80070057 when launching bash.exe when Enterprise Data Protection (EDP) is enabled
  • Additional bugfixes and improvements

LTP Results:

Number of Passing Test: 665
Number of non-Passing (failing, skipped, etc…): 263
LTP Test Run Logs



Build 14955

For general Windows information on build 14955 visit the Windows Blog.
To track or report an issue visit our Github page.

Fixed

  • Due to circumstances beyond our control there are no updates in this build for the Windows Subsystem for Linux. Regularly scheduled updates will resume on the next release.

LTP Results:

Number of Passing Test: 665
Number of non-Passing (failing, skipped, etc…): 263
LTP Test Run Logs



Build 14951

For general Windows information on build 14951 visit the Windows Blog.
To track or report an issue visit our Github page.

New Feature: Windows / Ubuntu Interoperability

Windows binaries can now be invoked directly from the WSL command line. This gives users the ability to interact with their Windows environment and system in a way that has not been possible. As a quick example, it is now possible for users to run the following commands:

```
$ export PATH=$PATH:/mnt/c/Windows/System32
$ notepad.exe
$ ipconfig.exe | grep IPv4 | cut -d: -f2
$ ls -la | findstr.exe foo.txt
$ cmd.exe /c dir
```

More information can be found at:

Fixed

  • Ubuntu 16.04 (Xenial) is now installed for all new WSL instances. Users with existing 14.04 (Trusty) instances will not be automatically upgraded.
  • Locale set during install is now displayed
  • Terminal improvements including bug where redirecting a WSL process to a file does not always work
  • Console lifetime should be tied to bash.exe lifetime
  • Console window size should use visible size, not buffer size
  • Additional bugfixes and improvements

LTP Results:

Number of Passing Test: 665
Number of non-Passing (failing, skipped, etc…): 263
LTP Test Run Logs



Build 14946

For general Windows information on build 14946 visit the Windows Blog.
To track or report an issue visit our Github page.

Fixed

  • Fixed an issue that prevented creating WSL user accounts for users with NT usernames that contain spaces or quotes.
  • Change VolFs and DrvFs to return 0 for directory's link count in stat
  • Support IPV6_MULTICAST_HOPS socket option.
  • Limit to a single console I/O loop per tty. Example: the following command is possible:
    • bash -c "echo data" | bash -c "ssh user@example.com 'cat > foo.txt'"
  • replace spaces with tabs in /proc/cpuinfo (GH #1115)
  • DrvFs now appears in mountinfo with a name that matches mounted Windows volume
  • /home and /root now appear in mountinfo with correct names
  • Additional bugfixes and improvements

LTP Results:

Number of Passing Test: 665
Number of non-Passing (failing, skipped, etc…): 263
LTP Test Run Logs



Build 14942

For general Windows information on build 14942 visit the Windows Blog.
To track or report an issue visit our Github page.

Fixed

  • A number of bugchecks addressed, including the “ATTEMPTED EXECUTE OF NOEXECUTE MEMORY” networking crash which was blocking SSH
  • inotifiy support for notifications generated from Windows applications on DrvFs is now in
  • Implement TCP_KEEPIDLE and TCP_KEEPINTVL for mongod. (GH #695)
  • Implement the pivot_root system call
  • Implement socket option for SO_DONTROUTE
  • Additional bugfixes and improvements

LTP Results:

Number of Passing Test: 665
Number of non-Passing (failing, skipped, etc…): 263
LTP Test Run Logs

Syscall Support

Below are a list of new or enhanced syscalls that have some implementation in WSL. The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

pivot_root



Build 14936

For general Windows information on build 14936 visit the Windows Blog.
To track or report an issue visit our Github page.

Note: WSL will install Ubuntu version 16.04 (Xenial) instead of Ubuntu 14.04 (Trusty) in an upcoming release. This change will apply to Insiders installing new instances (lxrun.exe /install or first run of bash.exe). Existing instances with Trusty will not be upgraded automatically. Users can upgrade their Trusty image to Xenial using the do-release-upgrade command.

Known Issue

WSL is experiencing an issue with some socket implementations. The bugcheck manifests itself as a crash with the error “ATTEMPTED EXECUTE OF NOEXECUTE MEMORY”. The most common manifestation of this issue is a crash when using ssh. The root cause is fixed on internal builds and will be pushed to Insiders at the earliest opportunity.

Fixed

  • Implemented the chroot system call
  • Improvements in inotify including support for notifications generated from Windows applications on DrvFs
    • Correction: Inotify support for changes originating from Windows applications not available at this time.
  • Socket binding to IPV6:: now supports IPV6_V6ONLY (GH #68, #157, #393, #460, #674, #740, #982, #996)
  • WNOWAIT behavior for waitid systemcall implemented (GH #638)
  • Support for IP socket options IP_HDRINCL and IP_TTL
  • Zero-length read() should return immediately (GH #975)
  • Correctly handle filenames and filename prefixes that don't include a NULL terminator in a .tar file.
  • epoll support for /dev/null
  • Fix /dev/alarm time source
  • Bash -c now able to redirect to a file
  • Additional bugfixes and improvements

LTP Results:

Number of Passing Test: 664
Number of non-Passing (failing, skipped, etc…): 264
LTP Test Run Logs

Syscall Support

Below are a list of new or enhanced syscalls that have some implementation in WSL. The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

chroot



Build 14931

For general Windows information on build 14931 visit the Windows Blog.
To track or report an issue visit our Github page.

Fixed

  • Due to circumstances beyond our control there are no updates in this build for the Windows Subsystem for Linux. Regularly scheduled updates will resume in the next release.



Build 14926

For general Windows information on build 14926 visit the Windows Blog.
To track or report an issue visit our Github page.

Fixed

  • Ping now works in consoles which do not have administrator privileges
  • Ping6 now supported, also without administrator privileges
  • Inotify support for files modified through WSL. (GH #216)
    • Flags supported:
      • inotify_init1: LX_O_CLOEXEC, LX_O_NONBLOCK
      • inotify_add_watch events: LX_IN_ACCESS, LX_IN_MODIFY, LX_IN_ATTRIB, LX_IN_CLOSE_WRITE, LX_IN_CLOSE_NOWRITE, LX_IN_OPEN, LX_IN_MOVED_FROM, LX_IN_MOVED_TO, LX_IN_CREATE, LX_IN_DELETE, LX_IN_DELETE_SELF, LX_IN_MOVE_SELF
      • inotify_add_watch attributes: LX_IN_DONT_FOLLOW, LX_IN_EXCL_UNLINK, LX_IN_MASK_ADD, LX_IN_ONESHOT, LX_IN_ONLYDIR
      • read output: LX_IN_ISDIR, LX_IN_IGNORED
    • Known issue: Modifying files from Windows applications does not generate any events
  • Unix socket now supports SCM_CREDENTIALS

LTP Results:

Number of Passing Test: 651
Number of non-Passing (failing, skipped, etc…): 258
LTP Test Run Logs



Build 14915

For general Windows information on build 14915 visit the Windows Blog.
To track or report an issue visit our Github page.

Fixed

  • Socketpair for unix datagram sockets (GH #262)
  • Unix socket support for SO_REUSEADDR
  • UNIX socket support for SO_BROADCAST (GH #568)
  • Unix socket support for SOCK_SEQPACKET (GH #758, #546)
  • Adding support for unix datagram socket send, recv and shutdown
  • Fix bugcheck due to invalid mmap parameter validation for non-fixed addresses. (GH #847)
  • Support for suspend / resume of terminal states
  • Support for TIOCPKT ioctl to unblock the Screen utility (GH #774)
    • Known issue: Function keys not operational
  • Corrected a race in TimerFd that could cause a freed member 'ReaderReady' to be accessed by LxpTimerFdWorkerRoutine (GH #814)
  • Enable restartable system call support for futex, poll, and clock_nanosleep
  • Added bind mount support
  • unshare for mount namespace support
    • Known issue: When creating a new mount namespace with unshare(CLONE_NEWNS) the current working directory will continue to point to the old namespace
  • Additional improvements and bug fixes



Build 14905

For general Windows information on build 14905 visit the Windows Blog.
To track or report an issue visit our Github page.

Fixed

  • Restartable system calls are now supported (GH #349, GH #520)
  • Symlinks to directories ending in / now operational (GH #650)
  • Implemented RNDGETENTCNT ioctl for /dev/random
  • Implemented the /proc/[pid]/mounts, /proc/[pid]/mountinfo and /proc/[pid]/mountstats files
  • Additional bugfixes and improvements


Build 14901

First Insider build for the post Windows 10 Anniversary Update release.

For general Windows information on build 14901 visit the Windows Blog.
To track or report an issue visit our Github page.

Fixed

  • Fixed trailing slash issue
    • Commands such as $ mv a/c/ a/b/ now work
  • Installing now prompts if Ubuntu locale should be set to Windows locale
  • Procfs support for ns folder
  • Added mount and unmount for tmpfs, procfs and sysfs file systems
  • Fix mknod[at] 32-bit ABI signature
  • Unix sockets moved to dispatch model
  • INET socket recv buffer size set using the setsockopt should be honored
  • Implement MSG_CMSG_CLOEXEC unix socket receive message flag
  • Linux process stdin/stdout pipe redirection (GH #2)
    • Allows for piping of bash -c commands in CMD. Example: >dir | bash -c "grep foo"
  • Bash can now be installed on systems with multiple pagefiles (GH #538, #358)
  • Default INET Socket buffer size should match that of default Ubuntu setup
  • Align xattr syscalls to listxattr
  • Only return interfaces with a valid IPv4 address from SIOCGIFCONF
  • Fix signal default action when injected by ptrace
  • implement /proc/sys/vm/min_free_kbytes
  • Use machine context register values when restoring context in sigreturn
    • This resolves the issue where java and javac were hanging for some users
  • Implement /proc/sys/kernel/hostname

Syscall Support

Below are a list of new or enhanced syscalls that have some implementation in WSL. The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

waitid
epoll_pwait



Build 14388 to Windows 10 Anniversary Update

For general Windows information on build 14388 visit the Windows Blog.
To track or report an issue visit our Github page.

Fixed

  • Fixes to prepare for the Windows 10 Anniversary Update on 8/2
    • More information about WSL in the Anniversary Update can be found on our blog



Build 14376

For general Windows information on build 14376 visit the Windows Blog.
To track or report an issue visit our Github page.

Fixed

  • Removed some instances where apt-get hangs (GH #493)
  • Fixed an issue where empty mounts were not handled correctly
  • Fixed an issue where ramdisks were not mounted correctly
  • Change unix socket accept to support flags (partial GH #451)
  • Fixed common network related bluescreen
  • Fixed bluescreen when accessing /proc/[pid]/task (GH #523)
  • Fixed high CPU utilization for some pty scenarios (GH #488, #504)
  • Additional bugfixes and improvements



Build 14371

For general Windows information on build 14371 visit the Windows Blog.
To track or report an issue visit our Github page.

Fixed

  • Corrected timing race with SIGCHLD and wait() when using ptrace
  • Corrected some behavior when paths have a trailing / (GH #432)
  • Fixed issue with rename/unlink failing due to open handles to children
  • Additional bugfixes and improvements



Build 14366

For general Windows information on build 14366 visit the Windows Blog.
To track or report an issue visit our Github page.

Fixed

  • Fix in file creation through symlinks
  • Added listxattr for Python (GH 385)
  • Additional bugfixes and improvements

Syscall Support

  • Below are a list of new or enhanced syscalls that have some implementation in WSL. The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

listxattr

Build 14361

For general Windows information on build 14361 visit the Windows Blog.
To track or report an issue visit our Github page.

Fixed

  • DrvFs is now case sensitive when running in Bash on Ubuntu on Windows.
    • Users may case.txt and CASE.TXT on their /mnt/c drives
    • Case sensitivity is only supported within Bash on Ubuntu on Windows. When outside of Bash NTFS will report the files correctly, but unexpected behavior may occur interacting with the files from Windows.
    • The root of each volume (i.e. /mnt/c) is not case sensitive
    • More information on handling these files in Windows can be found here.
  • Greatly enhanced pty / tty support. Applications like TMUX now supported (GH #40)
  • Fixed install issue where user accounts not always created
  • Optimized command line arg structure allowing for extremely long argument list. (GH #153)
  • Now able to delete and chmod read_only files from DrvFs
  • Fixed some instances where the terminal hangs on disconnect (GH #43)
  • chmod and chown now work on tty devices
  • Allow connection to 0.0.0.0 and :: as localhost (GH #388)
  • Sendmsg/recvmsg now handle an IO vector length of >1 (partial GH #376)
  • Users can now opt-out of auto-generated hosts file (GH #398)
  • Automatically match Linux locale to the NT locale during install (GH #11)
  • Added the /proc/sys/vm/swappiness file (GH #306)
  • strace now exits correctly
  • Allow pipes to be reopened through /proc/self/fd (GH #222)
  • Hide directories under %LOCALAPPDATA%\lxss from DrvFs (GH #270)
  • Better handling of bash.exe ~. Commands like “bash ~ -c ls” now supported (GH #467)
  • Sockets now notify epoll read available during shutdown (GH #271)
  • lxrun /uninstall does a better job of deleting the files and folders
  • Corrected ps -f (GH #246)
  • Improved support for x11 apps such as xEmacs (GH #481)
  • Updated initial thread stack size to match default Ubuntu setting and reporting the size correctly to the get_rlimit syscall (GH #172, #258)
  • Improved reporting of pico process image names (e.g., for auditing)
  • Implemented /proc/mountinfo for df command
  • Fixed symlink error code for child name . and ..
  • Additional improvements bugfixes and improvements

Syscall Support

Below are a list of new or enhanced syscalls that have some implementation in WSL. The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

GETTIMER
MKNODAT
RENAMEAT
SENDFILE
SENDFILE64
SYNC_FILE_RANGE

Build 14352

For general Windows information on build 14352 visit the Windows Blog.
To track or report an issue visit our Github page.

Fixed

  • Fixed issue where large files were not downloaded / created correctly. This should unblock npm and other scenarios (GH #3, GH #313)
  • Removed some instances where sockets hang
  • Corrected some ptrace errors
  • Fixed issue with WSL allowing filenames longer than 255 characters
  • Improved support for non-English characters
  • Add current Windows timezone data and set as default
  • Unique device id’s for each mount point (jre fix – GH #49)
  • Correct issue with paths containing “.” and “..”
  • Added Fifo support (GH #71)
  • Updated format of resolv.conf to match native Ubuntu format
  • Some procfs cleanup
  • Enabled ping for Administrator consoles (GH #18)

Syscall Support

Below are a list of new or enhanced syscalls that have some implementation in WSL. The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

FALLOCATE
EXECVE
LGETXATTR
FGETXATTR

Build 14342

For general Windows information on build 14342 the Windows Blog.
To track or report an issue visit our Github page.
Information on VolFs and DriveFs can be found on the WSL Blog.

Fixed

  • Fixed install issue when the Windows user had Unicode characters in the username
  • The apt-get update udev workaround in the FAQ is now provided by default on first run
  • Enabled symlinks in DriveFs (/mnt/) directories
  • Symlinks now work between DriveFs and VolFs
  • Addressed top level path parsing issue: ls .// will now work as expected
  • npm install on DriveFs and the -g options are now working
  • Fixed issue preventing PHP server from launching
  • Updated default environment values, such as $PATH to closer match native Ubuntu
  • Added a weekly maintenance task in Windows to update the apt package cache
  • Fixed issue with ELF header validation, WSL now supports all Melkor options
  • Zsh shell is functional
  • Precompiled Go binaries are now supported
  • Prompting on Bash.exe first run is now localized correctly
  • /proc/meminfo now returns correct information
  • Sockets now supported in VFS
  • /dev now mounted as tempfs
  • Fifo now supported
  • Multi-core systems now showing correctly in /proc/cpuinfo
  • Additional improvements and error messages downloading during first run
  • Syscall improvements and bugfixes. Supported syscall list below.
  • Additional bugfixes and improvements

Known Issues

  • Not resolving ‘..’ correctly on DriveFs in some cases

Syscall Support

Below are a list of new or enhanced syscalls that have some implementation in WSL. The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

FCHOWNAT
GETEUID
GETGID
GETRESUID
GETXATTR
PTRACE
SETGID
SETGROUPS
SETHOSTNAME
SETXATTR

Build 14332

For general Windows information on build 14332 visit the Windows Blog.
To track or report an issue visit our Github page.

Fixed

  • Better resolv.conf generation including prioritizing DNS entries
  • Issue with moving files and directories between /mnt and non-/mnt drives
  • Tar files can now be created with symlinks
  • Added default /run/lock directory on instance creation
  • Update /dev/null to return proper stat info
  • Additional errors when downloading during first run
  • Syscall improvements and bugfixes. Supported syscall list below.
  • Additional improvements bugfixes and improvements

Syscall Support

Below is the new syscall that has some implementation in WSL. The syscall on this list is supported in at least one scenario, but may not have all parameters supported at this time.

READLINKAT

Build 14328

For general Windows information on build 14332 visit the Windows Blog.
To track or report an issue visit our Github page.

New Features

  • Now support Linux users. Installing Bash on Ubuntu on Windows will prompt for creation of a Linux user. For more information, visit http://aka.ms/wslusers
  • Hostname is now set to the Windows computer name, no more @localhost
  • For more information on build 14328, visit: http://aka.ms/wip14328

Fixed

  • Symlink improvements for non /mnt/ files
    • npm install now works
    • jdk / jre now installable using instructions found here.
    • known issue: symlinks do not work for Windows mounts. Functionality will be available in a later build
  • top and htop now display
  • Additional error messages for some install failures
  • Syscall improvements and bugfixes. Supported syscall list below.
  • Additional improvements bugfixes and improvements

Syscall Support

Below is a list of syscalls that have some implementation in WSL. Syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

ACCEPT
ACCEPT4
ACCESS
ALARM
ARCH_PRCTL
BIND
BRK
CAPGET
CAPSET
CHDIR
CHMOD
CHOWN
CLOCK_GETRES
CLOCK_GETTIME
CLOCK_NANOSLEEP
CLONE
CLOSE
CONNECT
CREAT
DUP
DUP2
DUP3
EPOLL_CREATE
EPOLL_CREATE1
EPOLL_CTL
EPOLL_WAIT
EVENTFD
EVENTFD2
EXECVE
EXIT
EXIT_GROUP
FACCESSAT
FADVISE64
FCHDIR
FCHMOD
FCHMODAT
FCHOWN
FCHOWNAT
FCNTL64
FDATASYNC
FLOCK
FORK
FSETXATTR
FSTAT64
FSTATAT64
FSTATFS64
FSYNC
FTRUNCATE
FTRUNCATE64
FUTEX
GETCPU
GETCWD
GETDENTS
GETDENTS64
GETEGID
GETEGID16
GETEUID
GETEUID16
GETGID
GETGID16
GETGROUPS
GETPEERNAME
GETPGID
GETPGRP
GETPID
GETPPID
GETPRIORITY
GETRESGID
GETRESGID16
GETRESUID
GETRESUID16
GETRLIMIT
GETRUSAGE
GETSID
GETSOCKNAME
GETSOCKOPT
GETTID
GETTIMEOFDAY
GETUID
GETUID16
GETXATTR
GET_ROBUST_LIST
GET_THREAD_AREA
INOTIFY_ADD_WATCH
INOTIFY_INIT
INOTIFY_RM_WATCH
IOCTL
IOPRIO_GET
IOPRIO_SET
KEYCTL
KILL
LCHOWN
LINK
LINKAT
LISTEN
LLSEEK
LSEEK
LSTAT64
MADVISE
MKDIR
MKDIRAT
MKNOD
MLOCK
MMAP
MMAP2
MOUNT
MPROTECT
MREMAP
MSYNC
MUNLOCK
MUNMAP
NANOSLEEP
NEWUNAME
OPEN
OPENAT
PAUSE
PERF_EVENT_OPEN
PERSONALITY
PIPE
PIPE2
POLL
PPOLL
PRCTL
PREAD64
PROCESS_VM_READV
PROCESS_VM_WRITEV
PSELECT6
PTRACE
PWRITE64
READ
READLINK
READV
REBOOT
RECV
RECVFROM
RECVMSG
RENAME
RMDIR
RT_SIGACTION
RT_SIGPENDING
RT_SIGPROCMASK
RT_SIGRETURN
RT_SIGSUSPEND
RT_SIGTIMEDWAIT
SCHED_GETAFFINITY
SCHED_GETPARAM
SCHED_GETSCHEDULER
SCHED_GET_PRIORITY_MAX
SCHED_GET_PRIORITY_MIN
SCHED_SETAFFINITY
SCHED_SETPARAM
SCHED_SETSCHEDULER
SCHED_YIELD
SELECT
SEND
SENDMMSG
SENDMSG
SENDTO
SETDOMAINNAME
SETGID
SETGROUPS
SETHOSTNAME
SETITIMER
SETPGID
SETPRIORITY
SETREGID
SETRESGID
SETRESUID
SETREUID
SETRLIMIT
SETSID
SETSOCKOPT
SETTIMEOFDAY
SETUID
SETXATTR
SET_ROBUST_LIST
SET_THREAD_AREA
SET_TID_ADDRESS
SHUTDOWN
SIGACTION
SIGALTSTACK
SIGPENDING
SIGPROCMASK
SIGRETURN
SIGSUSPEND
SOCKET
SOCKETCALL
SOCKETPAIR
SPLICE
STAT64
STATFS64
SYMLINK
SYMLINKAT
SYNC
SYSINFO
TEE
TGKILL
TIME
TIMERFD_CREATE
TIMERFD_GETTIME
TIMERFD_SETTIME
TIMES
TKILL
TRUNCATE
TRUNCATE64
UMASK
UMOUNT
UMOUNT2
UNLINK
UNLINKAT
UNSHARE
UTIME
UTIMENSAT
UTIMES
VFORK
WAIT4
WAITPID
WRITE
WRITEV

© 2017 Microsoft