Repository navigation
Releases: microsoft/WSL
Releases · microsoft/WSL
Release list
2.7.1
What's Changed
Security
- Fix CVE-2026-26127: bump .NET runtime from 10.0.0 to 10.0.4 by Ben Hillis (@benhillis) in #14421
Bug Fixes
- virtiofs: fix elevated virtiofs access when VM is launched by an elevated user by Ben Hillis (@benhillis) in #13877
- Resolve issue with config file writing sections outside of their expected header by Ben Hillis (@benhillis) in #13898
- Resolve issue with buttons on notifications not working correctly by Ben Hillis (@benhillis) in #13921
- [GH 13837] Remove trailing slash from
$XDG_RUNTIME_DIRby Ben Hillis (@benhillis) in #13929 - Fix issue with svccommio incorrectly resetting console state in the move operator by Ben Hillis (@benhillis) in #14083
- Fix excessive screen updates in progress indicators by @Copilot in #14206
- Fix 4 code bugs: substr off-by-one, HANDLE* cast, TOCTOU GetLastError, sun_path overflow by Ben Hillis (@benhillis) in #14297
- Fix wsl stuck when misconfigured cifs mount presents by Feng Wang (@chemwolf6922) in #14466
- Accessibility: After selecting from the navigation list, keyboard focus is now transferred to page content by ssparach in #14289
Features & Improvements
- virtiofs: add support for statx syscall by Ben Hillis (@benhillis) in #14087
- virtiofs: add support for mounting directories (not just full volumes) by Ben Hillis (@benhillis) in #14073
- virtio networking: add support for ipv6 by Ben Hillis (@benhillis) in #14350
- Enable DNS tunneling for VirtioProxy networking mode by Ben Hillis (@benhillis) in #14461
- DNS: switch to using 'search' instead of obsolete 'domain' by Ben Hillis (@benhillis) in #14133
- Track
bindsyscall when port is 0 by Daman Mulye (@damanm24) in #14333 - Add
WindowsTerminal.enabledto the list of config keys for wsl-distribution.conf by Blue (@OneBlue) in #14021 - Disable the process creation cursor animation by default by Blue (@OneBlue) in #14293
- Improved VirtioProxy networking and VirtioFS posix compatibility by Ben Hillis (@benhillis) in #14198
- Updated enable virtualization error message by Craig Loewen (@craigloewen-msft) in #14110
- Mask NetworkManager-wait-online.service during boot by Dimitris Chatzis (@dhtzs) in #14272
- Add iptables to list of apps to install in WSL by Andre Muezerie (@andremueiot) in #14459
Developer Experience
- Enable VS 2026 solution generation and improve ARM64 developer experience by Ben Hillis (@benhillis) in #14283
- Refactor: Use TryParse in view models for safer numeric input parsing by Dimitris Chatzis (@dhtzs) in #14323
New Contributors
- Salman Muin Kayser Chishti (@salmanmkc) made their first contribution in #13896
- Masanari Mizuno (@mznms) made their first contribution in #13950
- rfu-cn made their first contribution in #14022
- Andy Sterland (@andysterland) made their first contribution in #14160
- Dimitris Chatzis (@dhtzs) made their first contribution in #14272
- ssparach made their first contribution in #14289
- Daman Mulye (@damanm24) made their first contribution in #14333
- Andre Muezerie (@andremueiot) made their first contribution in #14459
- Feng Wang (@chemwolf6922) made their first contribution in #14466
Full Changelog: 2.7.0...2.7.1
2.6.3
2.7.0
What's Changed
- Remove unused LXSS_DISTRO_FLAGS_WSLCORE_MODE by Blue (@OneBlue) in #13603
- Add logic to handle partial hvsocket writes and additional logging by Blue (@OneBlue) in #13602
- Update Microsoft.NETCore.App.Runtime packages version with fix for CVE-2025-55248 by Ben Hillis (@benhillis) in #13607
- Update Microsoft.WSL.DeviceHost package to version 1.0.0-20251015.1 by Ben Hillis (@benhillis) in #13606
- Fix edge cases around .vhd support by Ben Hillis (@benhillis) in #13061
- Fix WslDistributionConfig to not default-initialize optional fields by Ben Hillis (@benhillis) in #13629
- Make the sample WSL_POST_BUILD_COMMAND more resilient by Blue (@OneBlue) in #13652
- wslsettings: allow OOBE window to close with escape key by Ben Hillis (@benhillis) in #13686
- wslsettings: fix OOBE text truncation at 200% text scaling by Ben Hillis (@benhillis) in #13693
- wslsettings: add underlines to links in about page by Ben Hillis (@benhillis) in #13703
- .clang-format: add InsertBraces: true and minor fix to FormatSource.ps1 by Ben Hillis (@benhillis) in #13712
- wslsettings: ensure selected setting is auto-expanded and selected by Ben Hillis (@benhillis) in #13689
- build: fix minor compiler errors when building with VS2026 by Ben Hillis (@benhillis) in #13744
- Mask systemd-networkd-wait-online.service during boot by Blue (@OneBlue) in #13611
- deps: update a number of NuGet packages to the latest available versions by Ben Hillis (@benhillis) in #13728
- Add *.slnx to .gitignore by Blue (@OneBlue) in #13754
- Fix service crash when collecting a linux crash dump when maxCrashDumpCount is set to 0 by Blue (@OneBlue) in #13755
- cleanup: VirtioNetworking refactoring by Ben Hillis (@benhillis) in #13760
- cleanup: switch from Microsoft::WRL::ComPtr to wil::com_ptr by Ben Hillis (@benhillis) in #13767
- cleanup: VirtioNetworking refactoring to be more portable by Ben Hillis (@benhillis) in #13783
- cleanup: remove invalid m_deviceHostSupport checks by Ben Hillis (@benhillis) in #13787
- cleanup: move common functionality out of service exe by Ben Hillis (@benhillis) in #13788
- test: improve test logging infra by Ben Hillis (@benhillis) in #13811
- virtio networking: fix two minor issues by Ben Hillis (@benhillis) in #13810
- Update Microsoft.WSL.Kernel to 6.6.114.1 by Mitchell Levy (@chessturo) in #13812
- test: minor updates to improve virtiofs pass rate by Ben Hillis (@benhillis) in #13815
- Update Microsoft.WSL.DeviceHost to remove lxutil.dll dependency by Ben Hillis (@benhillis) in #13633
- cleanup: add handling for product-specific virtio networking class IDs. by Ben Hillis (@benhillis) in #13822
- wslsettings: ensure text in the oobe window properly wraps by Ben Hillis (@benhillis) in #13823
- Add back WSL2_VM_ID environment variable to the system distro. by Ben Hillis (@benhillis) in #13835
- CI: Switch away from -dev versions of MS-RDX-MRO.windows-store-publish tasks by Ben Hillis (@benhillis) in #13841
- Fix typo in Dutch translations by Fabio Ros (@frosit) in #13853
- test: add simple virtio proxy networking tests and move mirrored tests to their own class by Ben Hillis (@benhillis) in #13838
- CI: update issue for wslsettings being rebuilt and signature being overwritten by Ben Hillis (@benhillis) in #13855
New Contributors
- AlmaLinux Autobot (@almalinuxautobot) made their first contribution in #13653
- Fabio Ros (@frosit) made their first contribution in #13853
Full Changelog: 2.6.2...2.7.0
2.6.2
What's Changed
- Add comprehensive GitHub Copilot instructions for WSL development by @Copilot in #13352
- wslg: update to latest version which uses wslinfo --vm-id instead of env var by Ben Hillis (@benhillis) in #13361
- Remove hardcoded
--cd ~from WSL terminal fragment profiles to support Terminal's startingDirectory by @Copilot in #13350 - Disable HTTP cache when reading the distribution manifest over HTTP by Blue (@OneBlue) in #13383
- Relaunch the debug shell if user exits it. by Ben Hillis (@benhillis) in #13379
- Update Microsoft .NET and AppSDK nuget packages. by Ben Hillis (@benhillis) in #13450
- logging: add more settings to vm create begin / end events. by Ben Hillis (@benhillis) in #13412
- Fix: Always use 'WSLInterop` as the binfmt name by Ben Hillis (@benhillis) in #13467
- Notice change from build: 129899373 by Ben Hillis (@benhillis) in #13475
- Set TargetLatestRuntimePatch to false to prevent automatic framework version increases by Blue (@OneBlue) in #13483
- Add WININET_E_TIMEOUT to g_commonErrors by Blue (@OneBlue) in #13506
- fix: UnboundLocalError in create-release.py by rodeka (@rodeka) in #13499
- Add logic to force terminate the VM if the session lock can't be acquired for 30 seconds when the service stops by Blue (@OneBlue) in #13493
- Fix incorrect timeout causing WSL1 OOBE to fail if the OOBE process takes longer than 30 seconds by Blue (@OneBlue) in #13517
- Create a persistent install log file to help root cause package upgrade issues by Blue (@OneBlue) in #13500
- fix: correct sparse VHD command to include
trueby Junhao Liao (@junhaoliao) in #13512 - Introduce a new wsl.conf config value to allow distributions to opt-in to cgroupv1 mounts by Blue (@OneBlue) in #13546
- Add more verbose output to bsdtar to help root cause 'ImportExportStdout' test failures by Blue (@OneBlue) in #13555
- Respect the distribution manifest ordering when listing distributions by Blue (@OneBlue) in #13561
- Update the initramfs generation logic to set 755 permissions on /init by Blue (@OneBlue) in #13567
- Update WSLg to 1.0.71 by Hideyuki Nagase (@hideyukn88) in #13570
- Implement clean instance terminate when using systemd by Ben Hillis (@benhillis) in #13552
- Fix potential service deadlock when plugin returns an error from OnVmStarted by Blue (@OneBlue) in #13569
- Improve logging when socket operations fail by Blue (@OneBlue) in #13579
New Contributors
- Kevin Jagodic (@jkvn) made their first contribution in #13355
- @Copilot made their first contribution in #13352
- rodeka (@rodeka) made their first contribution in #13499
- Junhao Liao (@junhaoliao) made their first contribution in #13512
- Hideyuki Nagase (@hideyukn88) made their first contribution in #13570
Full Changelog: 2.5.10...2.6.2
2.6.1
What's Changed
- Fix json invalid utf-8 from IconPath by Carlos Nihelton (@CarlosNihelton) in #13340
- Switch
wslinfo --vm-idto not rely on presence of VM ID environment variable by Ben Hillis (@benhillis) in #13318 - Fixed CVE-2025-53788 (Details to be published on Aug 12th)
- install: do not attempt to install distros if a reboot is required by Ben Hillis (@benhillis) in #13298
- wslsettings: appropriately set heading level for PageHeaderTextBlockStyle by Ben Hillis (@benhillis) in #13257
- Expose the VM ID inside user distros by Craig Gumbley (@chelnak) in #13212
- Don't display a warning when the binfmt process doesn't have a controlling terminal by Blue (@OneBlue) in #13176
- Fix C1010070 compilation error in wslsettings by Mlekow (@Mlekow) in #12928
- Look up systemctl from $PATH for user session checks by K900 in #13157
- Update Microsoft.RemoteDesktop.Client.MSRDC.SessionHost to version 1.2.6353 by Ben Hillis (@benhillis) in #13271
New Contributors
- Mlekow (@Mlekow) made their first contribution in #12928
- K900 made their first contribution in #13157
- g0tmi1k (@g0tmi1k) made their first contribution in #13182
- Craig Gumbley (@chelnak) made their first contribution in #13212
- Kiran Cheparthi (@kirancheparthi) made their first contribution in #13240
- S. M. Mohiuddin Khan Shiam (@mohiuddin-khan-shiam) made their first contribution in #13201
- Jerry Jones (@stratusjerry) made their first contribution in #13314
- Carlos Nihelton (@CarlosNihelton) made their first contribution in #13340
Full Changelog: 2.6.0...2.6.1
2.5.10
- Fixed CVE-2025-53788 (Details to be published on Aug 12th)
2.6.0
- First open source release of WSL
- Various stability improvements
- Update localized strings
- Don't throw when unregistering a distro that has a BasePath that doesn't exist (solves #13004)
- Fix distribution download failing if the URL contains parameters
- Fix various issues with systemd user sessions (solves #13053)
- Fix wslsettings crash when invoked from wslservice
- Set MOVEFILE_WRITE_THROUGH when moving distribution VHD's (solves #13055)
- Discard BOM header when parsing the Windows 'hosts' file (solves #9642)
- Correctly report corrupted disks when mount() fails with EUCLEAN (solves #13074)
- Don't use a ? prefix when resolving the distribution location (solves #13064)
- Solve potential failure while downloading a distribution if LastError is non zero
2.5.9
2.5.8
2.5.7
- Update Linux kernel to 6.6.87.1-1
- Update WindowsAppSDK to version 1.7.250401001
- Increase the soft file descriptor limit to 1024 * 1024 (solves #12837)
- Add logic to detect when an imported distribution is invalid
- Move Linux side warnings to new warning infrastructure
- Fix potential deadlock when converting a distribution to WSL1 or WSL2
- Fix download logic to download to a file instead of in memory (solves #12805)
- Use a systemd-generator to create the wslg and binfmt units