Releases: MicrosoftDocs/WSL
Releases · MicrosoftDocs/WSL
18334
Build 18334
For general Windows information on build 18334 visit the Windows blog.
WSL
- Redesign the way that Windows time zone is mapped to a Linux time zone [GH 3747]
- Fix memory leaks and add new string translation functions [GH 3746]
- SIGCONT on a threadgroup with no threads is a no-op [GH 3741]
- Correctly display socket and epoll file descriptors in /proc/self/fd
18305
Build 18305
For general Windows information on build 18305 visit the Windows blog.
WSL
- pthreads lose access to files when the primary thread exits [GH 3589]
- TIOCSCTTY should ignore the “force” parameter unless it is required [GH 3652]
- wsl.exe command line improvements and addition of import / export functionality.
Usage: wsl.exe [Argument] [Options...] [CommandLine]
Arguments to run Linux binaries:
If no command line is provided, wsl.exe launches the default shell.
--exec, -e <CommandLine>
Execute the specified command without using the default Linux shell.
--
Pass the remaining command line as is.
Options:
--distribution, -d <DistributionName>
Run the specified distribution.
--user, -u <UserName>
Run as the specified user.
Arguments to manage Windows Subsystem for Linux:
--export <DistributionName> <FileName>
Exports the distribution to a tar file.
The filename can be - for standard output.
--import <DistributionName> <InstallLocation> <FileName>
Imports the specified tar file as a new distribution.
The filename can be - for standard input.
--list, -l [Options]
Lists distributions.
Options:
--all
List all distributions, including distributions that are currently
being installed or uninstalled.
--running
List only distributions that are currently running.
-setdefault, -s <DistributionName>
Sets the distribution as the default.
--terminate, -t <DistributionName>
Terminates the distribution.
--unregister <DistributionName>
Unregisters the distribution.
--upgrade <DistributionName>
Upgrades the distribution to the WslFs file system format.
--help
Display usage information.
18277
Build 18277
For general Windows information on build 18277 visit the Windows blog.
WSL
- Fix "no such interface supported" error introduced in build 18272 [GH 3645]
- Ignore the MNT_FORCE flag for umount syscall [GH 3605]
- Switch WSL interop to use the official CreatePseudoConsole API
- Maintain no timeout value when FUTEX_WAIT restarts
18272
Build 18272
For general Windows information on build 18272 visit the Windows blog.
WSL
- WARNING: There is an issue in this build that makes WSL inoperable. When trying to launch your distribution you will see a “No such interface supported” error. The issue has been fixed and will be in next week's Insider Fast build. If you've installed this build you can roll back to the previous Windows build using “Go back to the previous version of Windows 10” in Settings->Update & Security->Recovery.
18267
Build 18267
For general Windows information on build 18267 visit the Windows blog.
WSL
- Fix issue where zombie process may not be reaped and remain indefinitely.
- WslRegisterDistribution hangs if error message exceeds max length [GH 3592]
- Allow fsync to succeed for read-only files on DrvFs [GH 3556]
- Ensure that /bin and /sbin directories exist before creating symlinks inside [GH 3584]
- Added an instance termination timeout mechanism for WSL instances. The timeout is currently set to 15 seconds, meaning the instance will terminate 15 seconds after the last WSL process exits. To terminate a distribution immediately, use:
wslconfig.exe /terminate <DistributionName>
1809
Build 17763 (1809)
For general Windows information on build 17763 visit the Windows Blog.
WSL
- Setpriority syscall permission check too strict for changing same thread priority [GH 1838]
- Ensure that unbiased interrupt time is used for boot time to avoid returning negative values for clock_gettime(CLOCK_BOOTTIME) [GH 3434]
- Handle symlinks in the WSL binfmt interpreter [GH 3424]
- Better handling of threadgroup leader file descriptor cleanup.
- Switch WSL to use KeQueryInterruptTimePrecise instead of KeQueryPerformanceCounter to avoid overflow [GH 3252]
- Ptrace attach may cause bad return value from system calls [GH 1731]
- Fix several AF_UNIX related issues [GH 3371]
- Fix issue that could cause WSL interop to fail if the current working directory is less than 5 characters long [GH 3379]
- Avoid one second delay failing loopback connections to non-existent ports [GH 3286]
- Add /proc/sys/fs/file-max stub file [GH 2893]
- More accurate IPV6 scope information.
- PR_SET_PTRACER support [GH 3053]
- Pipe filesystem inadvertently clearing edge-triggered epoll event [GH 3276]
- Win32 executable launched via NTFS symlink doesn't respect symlink name [GH 2909]
- Improved zombie support [GH 1353]
- Add wsl.conf entries for controlling Windows interop behavior [GH 1493]
[interop] enabled=false # enable launch of Windows binaries; default is true appendWindowsPath=false # append Windows path to $PATH variable; default is true
- Fix for getsockname not always returning UNIX socket family type [GH 1774]
- Add support for TIOCSTI [GH 1863]
- Non-blocking sockets in the process of connecting should return EAGAIN for write attempts [GH 2846]
- Support interop on mounted VHDs [GH 3246, 3291]
- Fix permission checking issue on root folder [GH 3304]
- Limited support for TTY keyboard ioctls KDGKBTYPE, KDGKBMODE and KDSKBMODE.
- Windows UI apps should execute even when launched in the background.
- Add wsl -u or --user option [GH 1203]
- Fix WSL launch issues when fast startup is enabled [GH 2576]
- Unix sockets need to retain disconnected peer credentials [GH 3183]
- Non-blocking Unix sockets failing indefinitely with EAGAIN [GH 3191]
- case=off is the new default drvfs mount type [GH 2937, 3212, 3328]
- See blog for more information.
- Add wslconfig /terminate to stop running distributions.
- Fix issue with the WSL shell context menu entries that do not correctly handle paths with spaces.
- Expose per-directory case sensitivity as an extended attribute
- ARM64: Emulate cache maintenance operations. Resolve dotnet issue.
- DrvFs: only unescape characters in the private range that correspond to an escaped character.
- Fix off-by-one error in ELF parser interpreter length validation [GH 3154]
- WSL absolute timers with a time in the past do not fire [GH 3091]
- Ensure newly created reparse points are listed as such in the parent directory.
- Atomically create case sensitive directories in DrvFs.
- Fixed an additional issue where multithreaded operations could return ENOENT even though the file exists. [GH 2712]
- Fixed WSL launch failure when UMCI is enabled. [GH 3020]
- Add explorer context menu to launch WSL [GH 437, 603, 1836]. To use, hold shift and right-click when in an explorer window.
- Fix Unix socket non-blocking behavior [GH 2822, 3100]
- Fix hanging NETLINK command as reported in GH 2026.
- Add support for mount propagation flags [GH 2911].
- Fix issue with truncate not causing inotify events [GH 2978].
- Add --exec option for wsl.exe to invoke a single binary without a shell.
- Add --distribution option for wsl.exe to select a specific distro.
- Limited support for dmesg. Applications can now log to dmesg. WSL driver logs limited information to dmesg. In future, this can be extended to carry other information/diagnostics from the driver.
- Note: dmesg is currently supported through the
/dev/kmsg
device interface.syslog
syscall interface is not yet supported. And, so, some of thedmesg
command line options such as-S
,-C
don't work.
- Note: dmesg is currently supported through the
- Change default gid and mode of serial devices to match native [GH 3042]
- DrvFs now supports extended attributes.
- Note: DrvFs has some limitations on the name of extended attributes. Some characters (like '/', ':' and '*') are not allowed, and extended attribute names are not case sensitive on DrvFs
18252
Build 18252 (Skip Ahead)
For general Windows information on build 18252 visit the Windows Blog.
WSL
- Move init and bsdtar binaries out of lxssmanager dll and into a separate tools folder
- Fix race around closing file descriptor when using CLONE_FILES
- Handle optional fields in /proc/pid/mountinfo when translating DrvFs paths
- Allow DrvFs mknod to succeed without metadata support for S_IFREG
- Readonly files created on DrvFs should have the readonly attribute set [GH 3411]
- Add /sbin/mount.drvfs helper to handle DrvFs mounting
- Use POSIX rename in DrvFs.
- Allow path translation on volumes without a volume GUID.
17738
Build 17738 (Fast)
For general Windows information on build 17738 visit the Windows Blog.
WSL
- Setpriority syscall permission check too strict for changing same thread priority [GH 1838]
- Ensure that unbiased interrupt time is used for boot time to avoid returning negative values for clock_gettime(CLOCK_BOOTTIME) [GH 3434]
- Handle symlinks in the WSL binfmt interpreter [GH 3424]
- Better handling of threadgroup leader file descriptor cleanup.
17728
Build 17728 (Fast)
For general Windows information on build 17728 visit the Windows Blog.
WSL
- Switch WSL to use KeQueryInterruptTimePrecise instead of KeQueryPerformanceCounter to avoid overflow [GH 3252]
- Ptrace attach may cause bad return value from system calls [GH 1731]
- Fix a number of AF_UNIX related issues [GH 3371]
- Fix issue that could cause WSL interop to fail if the current working directory is less than 5 characters long [GH 3379]
18204
Build 18204 (Skip Ahead)
For general Windows information on build 18204 visit the Windows Blog.
WSL
- Pipe filesystem inadvertenly clearing edge-triggered epoll event [GH 3276]
- Win32 executable launched via NTFS symlink doesn't respect symlink name [GH 2909]