Skip to content

Releases: MicrosoftDocs/WSL

15007

13 Jan 01:01
Compare
Choose a tag to compare
15007 Pre-release
Pre-release

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

15002

09 Jan 19:51
Compare
Choose a tag to compare
15002 Pre-release
Pre-release

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

14986

08 Dec 00:28
Compare
Choose a tag to compare
14986 Pre-release
Pre-release

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



14965

09 Nov 19:27
Compare
Choose a tag to compare
14965 Pre-release
Pre-release

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)
    • Enables ifconfig and ip commands for network enumeration
  • /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



14959

03 Nov 18:21
Compare
Choose a tag to compare
14959 Pre-release
Pre-release

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

14951

19 Oct 22:38
Compare
Choose a tag to compare
14951 Pre-release
Pre-release

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

14946

13 Oct 20:07
Compare
Choose a tag to compare
14946 Pre-release
Pre-release

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:
  • 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

14942

07 Oct 17:35
Compare
Choose a tag to compare
14942 Pre-release
Pre-release

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



14936

28 Sep 22:27
Compare
Choose a tag to compare
14936 Pre-release
Pre-release

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
  • 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

14926

14 Sep 18:34
Compare
Choose a tag to compare
14926 Pre-release
Pre-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