Skip to content

Releases: MicrosoftDocs/WSL

18334

08 Feb 21:42
445f380
Compare
Choose a tag to compare
18334 Pre-release
Pre-release

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

04 Jan 22:17
38b2e3e
Compare
Choose a tag to compare
18305 Pre-release
Pre-release

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

07 Nov 22:00
3b09568
Compare
Choose a tag to compare
18277 Pre-release
Pre-release

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

31 Oct 18:44
cf3adb8
Compare
Choose a tag to compare
18272 Pre-release
Pre-release

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

24 Oct 23:01
be3b8e7
Compare
Choose a tag to compare
18267 Pre-release
Pre-release

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

05 Oct 16:15
6215a70
Compare
Choose a tag to compare

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 the dmesg command line options such as -S, -C don't work.
  • 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

03 Oct 23:08
033320c
Compare
Choose a tag to compare
18252 Pre-release
Pre-release

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

14 Aug 19:13
a332132
Compare
Choose a tag to compare
17738 Pre-release
Pre-release

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

31 Jul 23:05
a11dc52
Compare
Choose a tag to compare
17728 Pre-release
Pre-release

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

26 Jul 18:12
ee98ef1
Compare
Choose a tag to compare
18204 Pre-release
Pre-release

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]