WSL

Source code behind the Windows Subsystem for Linux documentation.

OTHER License

Stars
1.9K

Bot releases are visible (Hide)

WSL - 21354 Latest Release

Published by benhillis over 3 years ago

Build 21354

For general Windows information on build 21354 visit the Windows blog.

  • Switch the \wsl prefix to \wsl.localhost to avoid issues when there is a machine on the network named "wsl". \wsl$ will continue to work.
  • Enable Linux quick access icon for wow processes.
  • Update issue where version 2 was always being passed via wslapi RegisterDistribution.
  • Change the fmask of the /usr/lib/wsl/lib directory to 222 so files are marked as executable [GH 3847]
  • Fix wsl service crash if Virtual Machine Platform is not enabled.
WSL - 21286

Published by benhillis almost 4 years ago

Build 21286

For general Windows information on build 21286 visit the Windows blog.

  • Added a boot.command option to /etc/wsl.conf to enable start up commands.
  • Introduce wsl.exe --cd command to set current working directory of a command.
  • Improve mapping of NTSTATUS to Linux error codes. [GH 6063]
  • Improve wsl.exe --mount error reporting.
WSL - 20190

Published by benhillis about 4 years ago

Build 20190

For general Windows information on build 20190 visit the Windows blog.

  • Fix bug preventing WSL1 instances from launching [GH 5633]
  • Fix hang when redirecting Windows process output [GH 5648]
  • Add %userprofile%\.wslconfig option to control the VM idle timeout (wsl2.vmIdleTimeout=<time_in_ms>)
  • Support launching app execution aliases from WSL
  • Added support for installing the WSL2 kernel and distributions to wsl.exe --install
WSL - 20175

Published by benhillis about 4 years ago

Build 20175

For general Windows information on build 20175 visit the Windows blog.

  • Adjust default memory assignment of WSL2 VM to be 50% of host memory or 8GB, whichever is less [GH 4166].
  • Change \\wsl$ prefix to \\wsl to support URI parsing. The old \\wsl$ path is still supported.
  • Enable nested virtualization for WSL2 by default on amd64. You can disable this via %userprofile%\.wslconfig ([wsl2] nestedVirtualization=false).
  • Make wsl.exe --update demand start Microsoft Update.
  • Support renaming over a read-only file in DrvFs.
  • Ensure error messages are always printed in the correct codepage.
WSL - 20150

Published by benhillis over 4 years ago

Build 20150

For general Windows information on build 20150 visit the Windows blog.

  • WSL2 GPU compute see Windows blog for more information.
  • Introduce wsl.exe --install command line option to easily set up WSL.
  • Introduce wsl.exe --update command line option to manage updates to the WSL2 kernel.
  • Set WSL2 as the default.
  • Increase WSL2 vm graceful shutdown timeout.
  • Fix virtio-9p race condition when mapping device memory.
  • Don't run an elevated 9p server if UAC is disabled.
WSL - 19640

Published by benhillis over 4 years ago

Build 19640

For general Windows information on build 19640 visit the Windows blog.

  • [WSL2] Stability improvements for virtio-9p (drvfs).
WSL - 19555

Published by benhillis over 4 years ago

Build 19555

For general Windows information on build 19555 visit the Windows blog.

  • [WSL2] Use a memory cgroup to limit the amount of memory used by install and conversion operations [GH 4669]
  • Make wsl.exe present when the Windows Subsystem for Linux optional component is not enabled to improve feature discoverability.
  • Change wsl.exe to print help text if the WSL optional component is not installed
  • Fix race condition when creating instances
  • Create wslclient.dll that contains all command line functionality
  • Prevent crash during LxssManagerUser service stop
  • Fix wslapi.dll fast fail when distroName parameter is NULL
WSL - 19041

Published by benhillis over 4 years ago

Build 19041

For general Windows information on build 19041 visit the Windows blog.

  • [WSL2] Clear the signal mask before launching the processes
  • [WSL2] Update Linux kernel to 4.19.84
  • Handle creation of /etc/resolv.conf symlink when the symlink is non-relative
WSL - 19028

Published by benhillis almost 5 years ago

Build 19028

For general Windows information on build 19028 visit the Windows blog.

  • [WSL2] Update Linux kernel to 4.19.81
  • [WSL2] Change the default permission of /dev/net/tun to 0666 [GH 4629]
  • [WSL2] Tweak default amount of memory assigned to Linux VM to be 80% of host memory
  • [WSL2] fix interop server to handle requests with a timeout so bad callers cannot hang the server
WSL - 19018

Published by benhillis almost 5 years ago

Build 19018

For general Windows information on build 19018 visit the Windows blog.

  • [WSL2] Use cache=mmap as the default for 9p mounts to fix dotnet apps
  • [WSL2] Fixes for localhost relay [GH 4340]
  • [WSL2] Introduce a cross-distro shared tmpfs mount for sharing state between distros
  • Fix restoring persistent network drive for \\wsl$
WSL - 19013

Published by benhillis almost 5 years ago

Build 19013

For general Windows information on build 19013 visit the Windows blog.

  • [WSL2] Improve memory performance of WSL utility VM. Memory that is no longer in use will be freed back to the host.
  • [WSL2] Update kernel version to 4.19.79. (add CONFIG_HIGH_RES_TIMERS, CONFIG_TASK_XACCT, CONFIG_TASK_IO_ACCOUNTING, CONFIG_SCHED_HRTICK, and CONFIG_BRIDGE_VLAN_FILTERING).
  • [WSL2] Fix input relay to handle cases where stdin is a pipe handle that is not closed [GH 4424]
  • Make the check for \\wsl$ case-insensitive.
[wsl2]
pageReporting = <bool>    # Enable or disable the free memory page reporting feature (default true).
idleThreshold = <integer> # Set the idle threshold for memory compaction, 0 disables the feature (default 1).
WSL - 19002

Published by benhillis about 5 years ago

Build 19002

For general Windows information on build 19002 visit the Windows blog.

  • [WSL] Fix issue with handling of some Unicode characters: https://github.com/microsoft/terminal/issues/2770
  • [WSL] Fix rare cases where distros could be unregistered if launched immediately after a build-to-build upgrade.
  • [WSL] Fix minor issue with wsl.exe --shutdown where instance idle timers were not cancelled.
WSL - 18995

Published by benhillis about 5 years ago

Build 18995

For general Windows information on build 18995 visit the Windows blog.

  • [WSL2] Fix an issue where DrvFs mounts stopped working after an operation was interrupted (e.g. ctrl-c) [GH 4377]
  • [WSL2] Fix handling of very large hvsocket messages [GH 4105]
  • [WSL2] Fix issue with interop when stdin is a file [GH 4475]
  • [WSL2] Fix service crash when unexpected network state is encountered [GH 4474]
  • [WSL2] Query the distro name from the interop server if the current process does not have the environment variable
  • [WSL2] Fix issue with interop whe stdin is a file
  • [WSL2] Update Linux kernel version to 4.19.72
  • [WSL2] Add ability to specify additional kernel command line parameters via .wslconfig
[wsl2]
kernelCommandLine = <string> # Additional kernel command line arguments
WSL - 18990

Published by benhillis about 5 years ago

Build 18990

For general Windows information on build 18990 visit the Windows blog.

  • Improve the performance for directory listings in \\wsl$
  • [WSL2] Inject additional boot entropy [GH 4416]
  • [WSL2] Fix for Windows interop when using su / sudo [GH 4465]
WSL - 18980

Published by benhillis about 5 years ago

Build 18980

For general Windows information on build 18980 visit the Windows blog.

  • Fix reading symlinks that deny FILE_READ_DATA. This includes all the symlinks Windows creates for backwards compatibility such as "C:\Document and Settings" and a bunch of symlinks in the user profile directory
  • Make unexpected filesystem state non-fatal [GH 4334, 4305]
  • [WSL2] Add support for arm64 if your CPU / firmware supports virtualization
  • [WSL2] Allow unprivileged users to view kernel log
  • [WSL2] Fix output relay when stdout / stderr sockets have been closed [GH 4375]
  • [WSL2] Support battery and AC adapter passthrough
  • [WSL2] Update Linux kernel to 4.19.67
  • Add the ability to set default username in /etc/wsl.conf:
[user]
default=root
WSL - 18975

Published by benhillis about 5 years ago

Build 18975

For general Windows information on build 18975 visit the Windows blog.

  • [WSL2] Fixed a number of localhost reliability issues [GH 4340]
WSL - 18970

Published by benhillis about 5 years ago

Build 18970

For general Windows information on build 18970 visit the Windows blog.

  • [WSL2] Sync time with host time when system resumes from sleep state [GH 4245]
  • [WSL2] Create NT symlinks on the Windows volumes when possible.
  • [WSL2] Create distros in UTS, IPC, PID, and Mount namespaces.
  • [WSL2] Fix localhost port relay when server binds to localhost directly [GH 4353]
  • [WSL2] Fix interop when output is redirected [GH 4337]
  • [WSL2] Support translating absolute NT symlinks.
  • [WSL2] Update kernel to 4.19.59
  • [WSL2] Properly set subnet mask for eth0.
  • [WSL2] Change logic to break out of console worker loop when exit event is signaled.
  • [WSL2] Eject distribution vhd when the distro is not running.
  • [WSL2] Fix config parsing library to correctly handle empty values.
  • [WSL2] Support Docker Desktop by creating cross distro mounts. A distro can opt-in to this behavior by adding the following line to the /etc/wsl.conf file:
[automount]
crossDistro = true
WSL - 18947

Published by benhillis about 5 years ago

Build 18947

For general Windows information on build 18947 visit the Windows blog.

WSL

  • [WSL2] Allow listening tcp sockets in WSL2 to be accessible from the host by using localhost:port
  • [WSL2] Fixes for install / conversion failures and additional diagnostics to track down future issues [GH 4105]
  • [WSL2] Improve diagnosability of WSL2 network issues
  • [WSL2] Update kernel version to 4.19.55
  • [WSL2] Update kernel with config options required for docker [GH 4165]
  • [WSL2] Increase the number of CPUs assigned to the lightweight utility VM to be the same as the host (was previously capped at 8 by CONFIG_NR_CPUS in the kernel config) [GH 4137]
  • [WSL2] Create a swap file for the WSL2 lightweight VM
  • [WSL2] Allow user mounts to be visible via \\wsl$\distro (for example sshfs) [GH 4172]
  • [WSL2] Improve 9p filesystem performance
  • [WSL2] Ensure vhd ACL does not grow unbounded [GH 4126]
  • [WSL2] Update kernel config to support squashfs and xt_conntrack [GH 4107, 4123]
  • [WSL2] Fix for interop.enabled /etc/wsl.conf option [GH 4140]
  • [WSL2] Return ENOTSUP if the file system does not support EAs
  • [WSL2] Fix CopyFile hang with \\wsl$
  • Switch default umask to 0022 and add filesystem.umask setting to /etc/wsl.conf
  • Fix wslpath to properly resolve symlinks, this was regressed in 19h1 [GH 4078]
  • Introduce %UserProfile%.wslconfig file for tweaking WSL2 settings
[wsl2]
kernel=<path>              # An absolute Windows path to a custom Linux kernel.
memory=<size>              # How much memory to assign to the WSL2 VM.
processors=<number>        # How many processors to assign to the WSL2 VM.
swap=<size>                # How much swap space to add to the WSL2 VM. 0 for no swap file.
swapFile=<path>            # An absolute Windows path to the swap vhd.
localhostForwarding=<bool> # Boolean specifying if ports bound to wildcard or localhost in the WSL2 VM should be connectable from the host via localhost:port (default true).

# <path> entries must be absolute Windows paths with escaped backslashes, for example C:\\Users\\Ben\\kernel
# <size> entries must be size followed by unit, for example 8GB or 512MB
WSL - 18890

Published by Brian-Perkins over 5 years ago

Build 18890

For general Windows information on build 18890 visit the Windows blog.

WSL

  • Non-blocking socket leak [GH 2913]
  • EOF input to terminal can block subsequent reads [GH 3421]
  • Update resolv.conf header to refer to wsl.conf [discussed in GH 3928]
  • Deadlock in epoll delete code [GH 3922]
  • Handle spaces in arguments to --import and –export [GH 3932]
  • Extending mmap’d files does not work properly [GH 3939]
  • Fix issue with ARM64 \wsl$ access not working properly
  • Add better default icon for wsl.exe
WSL - 18342

Published by benhillis over 5 years ago

Build 18342

For general Windows information on build 18342 visit the Windows blog.

WSL

  • We've added the ability for users to access Linux files in a WSL distro from Windows. These files can be accessed through the command line, and also Windows apps, like file explorer, VSCode, etc. can interact with these files. Access your files by navigating to \\wsl$\<distro_name>, or see a list of running distributions by navigating to \\wsl$
  • Add additional CPU info tags and fix Cpus_allowed[_list] values [GH 2234]
  • Support exec from non-leader thread [GH 3800]
  • Treat configuration update failures as non-fatal [GH 3785]
  • Update binfmt to properly handle offsets [GH 3768]
  • Enable mapping network drives for Plan 9 [GH 3854]
  • Support Windows -> Linux and Linux -> Windows path translation for bind mounts
  • Create read-only sections for mappings on files opened read-only