Wine-Announce
By thread
wine-announce@list.winehq.org
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 1 participants
- 699 messages
Wine release 11.9
by Alexandre Julliard
The Wine development release 11.9 is now available.
What's new in this release:
- Bundled SQLite library.
- Initial support for system threads.
- Thread suspension in emulated code on ARM64.
- More VBScript compatibility improvements.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.9.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.9/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.9 (total 24):
- #36484 Lotus Notes 8.x installer aborts with SAX parser exception (line breaks not preserved)
- #53317 Logos 9: Crash When Indexing: Invalid String Format
- #53551 Unable to run a hello world console program: unhandled page fault
- #53637 WinSCP UI rendering issue
- #53877 vbscript compile_assignment assertion when assigning multidimensional array by indices
- #54177 vbscript fails to compile sub call when argument expression contains multiplication
- #56281 vbscript: String number converted to ascii value instead of parsed value
- #57852 rebase (tool from the Windows SDK) crashes on unimplemented function imagehlp.dll.ReBaseImage64
- #58125 Homesite 5.5 installer's progress bar misses its outline
- #58925 GOM Player: UI elements not responding to mouse clicks
- #59011 Wargaming Game Center Window not appearing / invisible
- #59028 Graphpad Prism 9: project (.pzfx) files cannot be saved if msxml6 is not installed
- #59409 msvcrt: scanf scanset character ranges with high bytes (\x80-\xff) broken due to signed char comparison in scanf.h
- #59425 GXSCC crashes when a valid MIDI file is dragged in its window
- #59611 ExamDiff Pro Fileeditor blocks on end of file
- #59672 winhttp: DOAXVV fails with error 9003 at title screen
- #59689 SEC_WINNT_AUTH_IDENTITY_EX support in AcquireCredentialsHandle
- #59690 Both Command & Conquer 3 and Command & Conquer Red Alert 3 show the same kind of error
- #59708 d3d9: missing MSVC vtable byte-pattern
- #59718 d2d1: Three correctness issues in arc Bezier-approximation code (d2d_arc_to_bezier, d2d_figure_add_arc, d2d_arc_transform)
- #59722 RemoveDirectoryW fails with ERROR_SHARING_VIOLATION after subprocess exit
- #59729 Volumes do not report FILE_SUPPORTS_OPEN_BY_FILE_ID
- #59743 regression: Wine crashes / segmentation fault's when starting Photoshop CS 2
- #59746 SteelSeries GG 110.0 crashes on startup in .NET System.Security.Cryptography.X509Certificates.CertificateRequest..ctor
### Changes since 11.8:
```
Alexandre Julliard (36):
ntdll: Add a helper function to create a thread on the server side.
ntdll: Add a helper function to create a thread with pthread.
ntdll: Move single-step handling to the SIGTRAP handler.
ntdll: Don't allow getting/setting the context for threads without a TEB.
ntdll: Don't try to return from syscall for threads without a TEB.
ntdll: Handle signals in thread without a TEB.
ntdll: Don't raise an exception for threads without a TEB.
ntdll: Support last error functions in threads without a TEB.
ntdll: Pass the thread data explicitly in a few more functions.
ntdll: Store the initial suspend flag in the thread data.
ntdll: Move all the thread initialization into server_init_thread().
ntdll: Export PsCreateSystemThread.
server: Add support for system threads.
server: Don't return system threads in enumerations.
server: Don't allow accessing the context of system threads.
server: Don't send debug events for system threads.
server: Fix crash on invalid thread handle.
ntdll: Return explicit load order when checking version heuristics.
ntdll: Add builtin heuristics for Twain dll.
winemac: Use pthread instead of the TEB to access per-thread data.
winex11: Use pthread instead of the TEB to access per-thread data.
ntdll: Always get the 64-bit TEB from the 32-bit one.
ntdll: Pass the thread data to get_cpu_area().
ntdll: Add a helper function to initialize a CLIENT_ID structure.
winealsa.drv: Move zero_bits initialization to the wow64 attach callback.
winecoreaudio.drv: Move zero_bits initialization to the wow64 attach callback.
wineoss.drv: Move zero_bits initialization to the wow64 attach callback.
winepulse.drv: Move zero_bits initialization to the wow64 attach callback.
kernel32/tests: Adapt sort order test for Japanese and Korean.
kernel32/tests: Remove a sorting test that depends on Windows version.
kernel32/tests: Fix some geo name tests on latest Windows.
kernelbase: Don't store invalid geo names in the registry.
kernelbase: Implement GetGeoInfo(GEO_NAME).
kernelbase: Implement GetGeoInfo(GEO_RFC1766).
kernelbase: Implement GetGeoInfo(GEO_LCID).
kernelbase: Partially implement GetGeoInfo(GEO_FRIENDLYNAME).
Alistair Leslie-Hughes (5):
propsys: Only trace Properties that cannot be found.
include: Add struct SHARDAPPIDINFOLINK.
include: Add JOB_STATUS_RESTART define.
include: Add define WC_NETADDRESS.
msado15: Correctly increase the cnt value.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (4):
windows.ui.core.textinput/tests: Move Release below check_interface.
kernelbase: Run conhost.exe from c:\windows\system32 directory.
ntdll: Use debugstr_wn instead of debugstr_w in nt_to_unix_file_name.
winex11.drv: Use hwnd_drop instead of hwnd in x11drv_dnd_drop_event.
Brendan McGrath (2):
mf: Remove periodic callback on clock shutdown.
mf: Call GetCorrelatedTime without critical section.
Brendan Shanks (3):
ntdll: Always synthesize ESR in SIGTRAP handler on ARM64 Linux.
ntdll/tests: Test unaligned access on ARM64.
ntdll: Add constants/helpers, and be more explicit when parsing the ARM64 ESR.
Conor McCarthy (12):
mf/tests: Test optional topology nodes.
mf/topology_loader: Resolve topologies by walking down from each source node.
mf/topology_loader: Try to insert optional nodes after resolving the surrounding branch.
mf/tests: Add asynchronous transform tests.
mf/session: Support asynchronous transforms.
mf/tests: Test for preroll support in the sample grabber.
mf/tests: Test preroll notification when the rate has not been set.
mf/session: Initialise the stored presentation rate.
mf/scheme_handler: Call PathCreateFromUrlW() for URL to path conversion.
mfplat/tests: Create the new file in the temp path in test_file_stream().
mfplat/tests: Test leading forward slashes and colons in filename URLs.
mfplat: Normalise URLs before passing to BeginCreateObject().
Dan Ginovker (1):
d3d9: Add a fake d3d9 device vtbl initialization sequence.
Dmitry Timoshkov (4):
wineboot: Run services.exe from c:\windows\system32 directory.
adsldp: Add support for ADS_OPTION_REFERRALS.
crypt32: Use case-insensitive comparison for registered OID names.
adsldp: Add support for ADS_SEARCHPREF_CHASE_REFERRALS.
Esme Povirk (2):
win32u: Support OBJID_CLASSNAMEIDX in scrollbar controls.
wbemprox: Stub Win32_DiskDrive TotalHeads and Signature properties.
Francis De Brabandere (35):
vbscript/tests: Add coverage for BSTR vs numeric comparison.
vbscript/tests: Cover BSTR comparison with VT_BYREF and additional numeric VTs.
vbscript/tests: Cover BSTR comparison literal vs non-literal dispatch.
vbscript: Match native BSTR-vs-numeric and BSTR-vs-Boolean comparison.
vbscript/tests: Cover BSTR comparison with dispatch-only numeric VTs.
vbscript: Reject Automation types not supported in VBScript on compare.
vbscript/tests: Cover bare match.SubMatches(N) indexing.
vbscript: Implement DateValue and TimeValue functions.
vbscript/tests: Cover non-literal numeric vs whitespace-only and control-char BSTR.
vbscript: Treat all-whitespace and control-char BSTR as greater than numeric.
vbscript: Return subscript-out-of-range from UBound/LBound on uninitialized array.
vbscript: Return Null from Day/Month/Year/Hour/Minute/Second on Null operand.
vbscript: Handle Null operands in Left().
vbscript: Return the script class name from TypeName() on a class instance.
oleaut32: Fix Null handling in VarAnd.
oleaut32: Fix VT_CY Null handling in VarImp.
oleaut32: Fix VT_DATE Null handling in VarImp.
vbscript: Match native UI1 Imp Null behavior.
vbscript/tests: Add Null handling smoke tests for logical operators.
vbscript/tests: Cover Dim/Sub shadowing of host members.
vbscript: Coerce VT_EMPTY operands before Var* calls.
vbscript: Support assignment to chained array index expressions.
vbscript: Implement DateDiff built-in function.
vbscript/tests: Cover empty parens on properties, Dim variables, and arrays.
vbscript: Raise illegal-func-call on empty parens of class variant property.
vbscript: Delegate do_icall is_call branch to variant_call.
vbscript/tests: Cover top-level Const behavior.
vbscript/tests: Cover cross-parse name redefinition semantics.
vbscript: Match native cross-parse name redefinition rules.
vbscript: Implement IDispatch::GetTypeInfo for class instances via ICreateTypeLib2.
vbscript: Fix crash on fixed-size Dim array inside Execute called from a local scope.
vbscript/tests: Add tests for BSTR vs numeric/bool with neither side literal.
vbscript: Treat non-literal BSTR as greater than non-literal numeric/bool.
vbscript/tests: Add tests for &H8000 literal type.
vbscript: Parse &H8000 as Long(-32768) like native.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.350.
Giang Nguyen (3):
d2d1: Fix coordinate in arc-to-bezier conversion for degenerate case.
d2d1: Fix arc center translation in arc-to-bezier conversion.
d2d1: Do not translate radius vectors in arc-to-bezier conversion.
Hans Leidekker (3):
winhttp: Don't buffer more than one chunk.
winhttp: Always queue async writes.
msv1_0: Handle SEC_WINNT_AUTH_IDENTITY_EX.
Ivan Ivlev (3):
winmm/tests: Use non-static struct to avoid clang compilation errors.
vccorlib140/tests: Use non-static objects to avoid clang compilation errors.
dmsynth/tests: Use macro instead of static function to avoid clang compilation errors.
Jacek Caban (25):
advapi32/tests: Remove unused variable.
kernel32/tests: Avoid unused variables.
server: Store the client page size in the process struct.
ntdll/tests: Avoid unused global variables in exception.c.
ntdll/tests: Avoid unused global variables in wow64.c.
ntdll/tests: Avoid unused global variables.
gitlab: Update to llvm-mingw 20260505.
msvcrt: Provide trunc in the import library.
keyboard.drv: Remove unused global variables.
mouse.drv: Remove unused global variable.
win87em: Remove unused global variables.
comctl32/tests: Avoid unused global variables.
localui/tests: Remove unused global variables.
secur32/tests: Directly use secur32 functions in main.c.
kerberos: Remove unused variable.
msv1_0: Remove unused variables.
kernel32/tests: Avoid unused global variables on 32-bit ARM target.
mountmgr.drv: Avoid unused global variable.
ntdll: Avoid unused global variables.
ntdll/tests: Avoid unused global variables in wow64.c.
ntoskrnl/tests: Remove unused variable.
windows.media.speech/tests: Remove unused variables.
ntdll: Add support for ARM64EC cooperative suspend.
ntdll: Use unwind_context values only if the caller is not EC in capture_context.
ntdll/tests: Add SuspendDoorbell tests.
Joel Holdsworth (4):
ntdll/tests: Add test for FILE_SUPPORTS_OPEN_BY_FILE_ID in FileFsAttributeInformation.
ntdll: Report FILE_SUPPORTS_OPEN_BY_FILE_ID.
kernel32/tests: Add test for FILE_SUPPORTS_OPEN_BY_FILE_ID on volume handles.
mountmgr: Report FILE_SUPPORTS_OPEN_BY_FILE_ID.
Jon Koops (2):
dsound/tests: Test primary buffer independence across IDirectSound objects.
dsound: Create independent devices for each DirectSoundCreate call.
Luca Bacci (1):
msvcrt: Set errno in failure path.
Matteo Bruni (3):
winmm: Fix voicecom IMMDevice leak in device enumeration.
winmm/tests: Add some DRVM_MAPPER_CONSOLEVOICECOM_GET tests.
winmm/tests: Check that the preferred device is always at index 0.
Mykola Mykhno (2):
cmd: Update tests for parentheses in quoted parameter.
cmd: Remove parentheses from list of illegal characters for quote strip.
Nikolay Sivov (7):
msxml3: Fix missing document output in save().
msxml3/tests: Add some tests for cloning textual nodes.
msxml3: Clone textual contents when cloning nodes.
msxml3: Handle baseName property for entity references.
msxml3/tests: Remove some refcount tests.
msxml3/tests: Add a basic test for replaceChild() on attributes.
msxml3/tests: Add some tests for selecting from detached nodes.
Paul Gofman (16):
wininet/tests: Add a test for multiple server addresses.
wininet: Pass proxy server addr_str if present in open_http_connection().
wininet: Store server address related data in the new server_addr_t structure.
wininet: Enclose ipv6 address string in square brackets.
wininet: Introduce and use create_connect_socket().
wininet: Try to connect to multiple server addresses.
wininet: Do not force ipv4 addresses.
ws2_32/tests: Properly check for loopback address in test_gethostbyname().
ws2_32: Exclude not found and loopback addresses in get_local_ips() if others present.
win32u: Bump D3DKMT driver version.
ddraw/tests: Don't leak window and ddraw in test_d3d_state_reset() on ddraw2.
ddraw/tests: Add tests for clipper in exclusive fullscreen mode.
ddraw: Do not render to the clipping window in exclusive fullscreen mode.
winsqlite3: Import sqlite3 from upstream release 3.51.1.
include: Add winsqlite3.h.
winsqlite3/tests: Add a basic test.
Piotr Pawłowski (2):
comctl32/tests: Print id field of logged/expected messages on failure.
uxtheme/tests: Print id field of logged/expected messages on failure.
Rémi Bernon (5):
mf/topology_loader: Get rid of the topoloader_context.
mf/topology_loader: Clone and validate topology in a dedicated helper.
mf/topology_loader: Copy branches with cloned nodes before connecting.
mf/topology_loader: Add some sanity checks for optional output nodes.
mf/topology_loader: Force enumerate types when optional node method is set.
Sameer Singh (समीर सिंह) (2):
gdi32/uniscribe: Perform bounds check in insert_glyph().
gdi32/uniscribe: Resize the buffers if glyph count exceeds limit.
Sven Baars (1):
wine: Show all dlopen() error messages instead of just the last one.
Twaik Yont (5):
wineandroid: Add reply_fd plumbing to ioctl path.
wineandroid: Switch ioctl dispatch to socket transport on main thread looper.
wineandroid: Switch dequeueBuffer to socket transport.
wineandroid: Remove unixlib/ntoskrnl ioctl path.
wineandroid: Return ioctl errors directly.
Yuxuan Shui (1):
preloader: Account for ld.so stack usage when reserving.
Zakaria Habri (1):
winewayland: Use wp_pointer_warp_v1 for SetCursorPos when available.
Zhiyi Zhang (2):
include: Add D2D1_TURBULENCE_NOISE.
include: Add IDCompositionDevice3.
```
May 15, 2026
Wine release 11.8
by Alexandre Julliard
The Wine development release 11.8 is now available.
What's new in this release:
- Mono engine updated to version 11.1.0.
- More work on MSXML reimplementation without libxml2.
- Improved keyboard layout support using XKBRegistry.
- More VBScript compatibility improvements.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.8.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.8/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.8 (total 22):
- #1201 Microsoft Golf 99 (Direct3D game) crashes on startup (IDirect3D::EnumDevices() needs to return the RGB device second)
- #32619 Tom Clancy's Rainbow Six: Lockdown can't save a game (directory not created)
- #39922 Hoot Sound Hardware Emulator: crashes on startup
- #42400 cscript.exe doesn't show errors
- #46107 Altium Designer 18.x - 20.x crashes on startup
- #46951 MSXML Multi line attribute value - #10 char lost
- #49908 vbscript: ExecuteGlobal is not implemented
- #50384 Visio 2013 fails to install with builtin msxml6
- #53844 vbscript invoke_vbdisp not handling let property correctly for VT_DISPATCH arguments
- #53889 vbscript does not support Get_Item call on IDispatch objects
- #53962 vbscript does not Eval implemented
- #54221 vbscript: missing support for GetRef
- #55006 vbscript: single line if else without else body fails compilation
- #57511 vbscript: For loop where loop var is not defined throws error without context
- #58248 vbscript: Me(Idx) fails to compile
- #59636 Petka crashes when starting a new game
- #59644 Enigma Virtual Box packed applications fail with file access errors since commit 35916176078
- #59645 FormatMessageW fails to format ERROR_NOT_A_REPARSE_POINT (4390) with error 317
- #59678 PLSQL Developer: Won't start on Wine 11.7
- #59684 ExamDiffPro now Crashes under 11.7
- #59689 SEC_WINNT_AUTH_IDENTITY_EX support in AcquireCredentialsHandle
- #59694 Assassin's Creed Shadows fails to start since Wine 11.4, after windows.media.speech changes
### Changes since 11.7:
```
Adam Markowski (4):
po: Update Polish translation.
po: Update Polish translation.
po: Update Polish translation.
po: Update Polish translation.
Alex Henrie (1):
imagehlp: Add ReBaseImage64 stub.
Alexandre Julliard (28):
ntdll: Merge signal_init_threading() and signal_init_process().
ntdll: Export RtlGetCurrentPeb() on the Unix side.
win32u: Use RtlGetCurrentPeb() on the Unix side.
winemac.drv: Use RtlGetCurrentPeb() on the Unix side.
winewayland.drv: Use RtlGetCurrentPeb() on the Unix side.
winex11.drv: Use RtlGetCurrentPeb() on the Unix side.
ntdll: Swap the FPU control word between PE and Unix on i386.
ntdll: Store the current process id in a global variable.
ntdll: Export PsGetCurrentProcessId() and PsGetCurrentThreadId() on the Unix side.
win32u: Silence a compiler warning.
ntdll: Add a helper to allocate the initial syscall frame.
ntdll: Allocate the kernel stack and signal stack together.
ntdll: Get the TEB from the Unix thread data.
ntdll: Move the exception jmp_buf to the Unix thread data.
ntdll: Move the thread start params to the Unix thread data.
ntdll: Move the server file descriptors to the Unix thread data.
ntdll: Move the allow write flag to the Unix thread data.
ntdll: Store the thread id in the Unix thread data.
ntdll: Move the TEB list entry to the Unix thread data.
ntdll: Use a separate debug_info structure on the kernel side.
ntdll: Use a consistent code pattern in all signal handler functions.
ntdll: Pass the thread data structure to signal handling helpers.
ntdll: Pass the thread data structure to inline helper functions.
ntdll: Return the thread data structure from init_handler() on i386.
ntdll: Return the thread data structure from init_handler() on x86-64.
ntdll: Retrieve the CPU-specific data from the thread data structure on i386.
ntdll: Retrieve the CPU-specific data from the thread data structure on x86-64.
ntdll: Rename ntdll_thread_data to teb_data.
Alistair Leslie-Hughes (1):
windows.ui.core.textinput: Add CoreTextServicesManager stubbed interface.
Antoine Leresche (2):
kernelbase: Add message string for errors 302-316.
kernelbase: Add message string for error 318-326.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (5):
gdiplus: Add support to line alignment for GdipMeasureString.
gdiplus: Add support for PixelFormat 16bpp RGB565 and RGB555 to GdipGetNearestColor.
gdiplus: Initial implementation of GdipWarpPath.
gdiplus/tests: Extend GdipInitializePalette tests with transparent color.
gdiplus: Fix returned flags and add transparency to GdipInitializePalette.
Benoît Legat (1):
secur32: Fix handling by SChannel for CNG/NCrypt client certificates for mTLS.
Bernhard Kölbl (2):
windows.media.speech: Don't access the all voices vector view directly.
windows.media.speech: Fix a trace typo.
Brendan McGrath (6):
amstream/tests: Test enum media type with ddraw.
amstream/tests: Test enum media type whilst connected.
amstream/tests: Test enum media type on disconnect.
amstream: Return current format in media type enum.
amstream: Return connected media subtype in enum if connected.
mf: Handle no time and/or duration during markin.
Connor McAdams (10):
dinput: Only pass instance name string to device_instance_is_disabled().
dinput: Create a cache of currently connected HID joysticks.
dinput: Use joystick cache in hid_joystick_create_device().
dinput: Use joystick cache in hid_joystick_enum_device().
dinput: Return E_FAIL when opening a joystick device that is currently disconnected.
dinput: Create a version 1 UUID for dinput joystick devices.
dinput/tests: Add tests for dinput joystick IDs.
dinput: Add support for DIPROP_JOYSTICKID.
dinput/tests: Add tests for GUID_Joystick.
dinput: Add support for GUID_Joystick.
Conor McCarthy (15):
mf/tests: Test setting the input type on the topology loader test transform.
mf/topology_loader: Compare the current type with upstream on direct connection only for output nodes.
mf/tests: Check IsMediaTypeSupported() is always called on the topology loader test sink.
mf/topology_loader: Always call IsMediaTypeSupported() on downstream when connecting a branch.
gdiplus: Elide empty spans.
gdiplus/tests: Test a region intersect which produces empty spans.
mf/tests: Introduce a helper for creating an activated media sink.
mf/tests: Check for sample grabber sink shutdown.
mf/tests: Add tests for sample grabber sink shutdown.
mf/session: Ensure the session object is shut down on release.
mf/session: Shut down all topologies on session shutdown.
mfmediaengine/tests: Set the volume after the null check in test_TransferVideoFrame().
mfmediaengine/tests: Test a media engine extension.
mfmediaengine: Set the source pending flag before creating the source.
mfmediaengine: Support media engine extensions.
Cooper Morgan (3):
winewayland: Fix use-after-release of window rects in configure handler.
winewayland: Handle WS_MINIMIZE to suppress incorrect state transitions.
winewayland: Restore minimized windows when compositor sends configure.
David Carrasco Flores (1):
wusa: Recognize runtime.syswow64 expressions.
Dmitry Timoshkov (2):
gdiplus: Copy logic for trimming bounds width from GdipMeasureString() to GdipMeasureCharacterRanges().
gdiplus: Copy logic for calculating y-offset from GdipDrawString() to GdipMeasureCharacterRanges().
Ekaterine Papava (1):
po: Update Georgian translation.
Esme Povirk (1):
mscoree: Update Wine Mono to 11.1.0.
Francis De Brabandere (30):
wscript: Implement WScript.Timeout property and //T:nn CLI flag.
wscript: Terminate the script when WScript.Timeout elapses.
vbscript: Return specific error codes for unterminated block statements.
vbscript: Return error 1045 for non-literal constant expressions.
vbscript: Convert VT_DISPATCH arguments to string in Eval/Execute/ExecuteGlobal.
vbscript: Track source location in const, class, and function declarations.
vbscript: Return "Name redefined" error for duplicate global declarations.
vbscript: Return "Name redefined" error for duplicate class members.
scrrun: Implement IFolder and IFile ShortName and ShortPath.
vbscript: Return error 1010 for keyword used where identifier expected in Dim.
vbscript: Return "Invalid for loop control variable" error for member expressions.
vbscript: Implement DatePart built-in function.
vbscript: Fix Sub first argument parentheses handling.
vbscript: Convert string to number for comparison operators.
vbscript: Return proper errors for orphan Loop and Next keywords.
vbscript: Move call_depth check past exec_script's setup phase.
vbscript: Resolve parser conflicts with %prec and %expect.
vbscript: Implement GetLocale and SetLocale functions.
vbscript: Use script LCID in Format* functions.
vbscript: Pass script LCID to VariantChangeType in to_string helper.
vbscript: Pass script LCID to VariantChangeType in to_system_time helper.
vbscript: Implement LenB.
vbscript: Implement LeftB, RightB, and MidB.
vbscript: Implement InStrB.
vbscript: Implement AscB and ChrB.
vbscript: Support element access on public array properties of class instances.
scrrun: Implement IFile::Delete.
scrrun: Implement IFolder::Delete.
scrrun: Implement IFile::Move.
scrrun: Implement IFolder::Move.
Hans Leidekker (1):
secur32: Handle SEC_WINNT_AUTH_IDENTITY_EX in the Negotiate provider.
Hendrik Borchardt (1):
msvcrt: Only reject negative timestamps with EINVAL in ctime_s.
Henri Verbeet (1):
winmm: Handle DRVM_MAPPER_CONSOLEVOICECOM_GET messages.
Ivan Ivlev (3):
odbc32: Compare strings case-insensitively in get_driver_filename().
odbc32: Skip operations for NULL filename in replicate_odbc_to_registry().
odbc32: Check if row_number is NULL in param_options_unix().
Jacek Caban (9):
mshtml/tests: Remove unused variables.
mshtml/tests: Add missing CHECK_CALLED statements.
mshtml/tests: Remove unused variables and fix CLEAR_CALLED statements.
winspool.drv/tests: Remove unused variables.
localspl/tests: Remove unused variable.
urlmon/tests: Remove unused variables.
urlmon/tests: Add missing CHECK_CALLED statements.
itss/tests: Fix CHECK_CALLED statement.
ntdll: Use ESR in the ARM64 signal handler when possible.
Joe Meyer (1):
win32u: Stub NtUserInitializeTouchInjection.
Lubomir Rintel (1):
cmd: Fix handling of "ECHO.ON".
Matteo Bruni (4):
winex11: Factor out mapping keycodes to scancodes / keysyms into a separate function.
winex11: Get Xkb group names.
winex11: Look up keysyms for the currently selected Xkb group in X11DRV_KEYBOARD_DetectLayout().
winex11: Decode current keyboard layout from the Xkb group name.
Michał Durak (3):
nsiproxy.sys: Avoid null pointer dereference on if_nameindex() failure.
nsiproxy.sys: Avoid malloc(0) in case no network interfaces are present.
iphlpapi: Avoid out-of-bounds read if no network interfaces are present.
Nikolay Sivov (37):
msxml3: Fix owner node refcount update when adding children and attributes.
msxml3: Respect document encoding in Save().
msxml3: Fix a leak when parsing xml declaration body (Coverity).
msxml3: Improve cleanup on error paths when creating DOM nodes (Coverity).
msxml3/tests: Fix copy-paste issue when testing node value (Coverity).
msxml3/tests: Fix a string double free (Coverity).
msxml3/tests: Fix some use-after-free (Coverity).
msxml3/tests: Add a few missing return value checks (Coverity).
odbc32: Add missing object unlock on return in SQLSetEnvAttr().
msxml3/tests: Add some tests for loading documents with Shift_JIS encoding.
msxml3: Handle Shift_JIS encoding in the parser.
msxml3: Improve handling of incomplete multibyte sequences in parser input.
msxml3/tests: Separate DTD validation tests.
msxml3/tests: Add more tests for DTD node methods.
msxml3: Implement previousSibling() property for DTD node.
msxml3: Implement nextSibling() property for DTD node.
msxml3: Do not rely on strings being BSTRs in createNode().
msxml3/tests: Add more tests for baseName property.
msxml3: Remove fixme's from implemented methods.
msxml3/tests: Add more tests for creating entity references.
msxml3: Improve name validation for entity reference nodes.
msxml3/tests: Add some tests for creating document fragments.
msxml3: Ignore name and uri when creating document fragments.
msxml3/tests: Add some tests for max-element-depth property.
msxml3/tests: Extend MaxElementDepth tests.
msxml3/sax: Add support for max-element-depth property.
msxml3: Add support for MaxElementDepth property in the DOM parser.
msxml3: Improve attribute value normalization in DOM.
msxml3: Store attribute types in parsed form.
msxml3: Store parsed attribute default declaration type.
msxml6/tests: Add some tests for XMLHTTP API.
msxml3: Create structured representation for element declarations.
msxml3/sax: Store reusable type strings separately.
msxml3/sax: Keep reused strings together.
msxml3/sax: Keep DTD data in a separate structure.
msxml3/sax: Retain element declarations as DTD data.
msxml3: Pass parsed DTD data to the DOM.
Paul Gofman (3):
ntdll: Do not crash in RtlVirtualUnwind2() in some cases of NULL output parameters on x64.
ntdll: Catch access violation in RtlVirtualUnwind2() on arm64.
ntdll: Only take PEB lock to update PEB data in RtlSetCurrentDirectory_U().
Piotr Caban (19):
odbc32: Support data type conversion on version mismatch.
msado15: Wrap IAccessor interface in rowset wrapper.
msado15: Use CoTaskMemFree in dbtype_free.
msado15: Introduce helper to get bookmark in IRowset wrapper.
msado15: Add partial implementation of IRowsetFind::FindNextRow in rowset wrapper.
msado15: Handle BSTR data in IRowsetFind::FindNextRow.
msado15: Don't leak HACCESSOR on error in _Recordset::Find.
msado15: Handle empty BSTR bookmark in _Recordset::Find.
msado15: Don't crash if IRowsetUpdate::Update doesn't allocate status in _Recordset::Update.
msado15: Take cache size into account when calculating offset from current row in recordset_Find.
msado15: Initialize recordset->current_row in recordset_Find.
msado15: Validate arguments in _Recordset::put_CursorLocation.
msado15: Print FIXME message when client-side cursor is requested.
msado15: Rename create_mem_rowset to create_client_cursor.
msado15: Print FIXME message when changing active connection when recordset is open.
msvcp120: Ensure that segments are not being allocated when segments table is enlarged.
msvcp120: Don't count segments being allocated when reporting vector capacity.
Revert "msvcp120: Ensure that segments are not being allocated when segments table is enlarged.".
concrt140: Sync details.c file with msvcp90.
Rémi Bernon (24):
winex11: Fix some X11DRV_InitKeyboard loop indentation.
opengl32: Fix incorrect cleanup when GLsync creation fails.
opengl32: Avoid leaking client syncs on context destruction.
opengl32: Move wgl_cs entry / exit out of handle functions.
dinput: Check for disabled/overridden devices in hid_joystick_try_open.
dinput: Handle device override directly in hid_joystick_device_try_open.
dinput: Save and load HID joystick instance GUIDs to the registry.
opengl32/tests: Remove unnecessary window creation check.
opengl32/tests: Declare and load every GL/WGL functions.
opengl32/tests: Test implicit object allocation support.
opengl32/tests: Test wglShareLists sharing of various types.
opengl32/tests: Test wglShareLists sharing of GLsync objects.
opengl32/tests: Test object types shared namespaces.
dinput: Test and implement support for GUID_Sys(Mouse|Keyboard)Em.
opengl32: Generate a thunks.h file for extern declarations.
opengl32: Implement wglMakeCurrent with wglMakeContextCurrentARB.
opengl32: Implement wglCreateContext with wglCreateContextAttribsARB.
opengl32: Move context thread id checks to the PE side.
opengl32: Generate code to call the get_integer hooks.
opengl32/tests: Test the default framebuffer behavior.
win32u: Only fill the drawable buffer map for valid buffers.
opengl32: Validate glDrawBuffers enum before setting the state.
opengl32: Initialize the context draw / read buffers on creation.
opengl32: Always use the partial context state tracker.
Sameer Singh (समीर सिंह) (1):
gdi32/uniscribe: Correct the script tag for Tamil.
Stefan Dösinger (1):
hhctrl.ocx: Make Contents/Search/Index children of the tab control.
Sven Baars (1):
ntdll: Make sure User Syscall Dispatch defines are always defined on Linux.
Tim Clem (1):
cfgmgr32: Catch invalid handles in CM_Unregister_Notification.
Twaik Yont (6):
wineandroid: Switch java_* variables to direct linking.
wineandroid: Load AHardwareBuffer symbols from libandroid.
wineandroid: Simplify client pid handling.
wineandroid: Use Android logging for ioctl paths.
wineandroid: Move native window registration to surface_changed.
wineandroid: Pass JNIEnv explicitly through ioctl handlers.
Yuxuan Shui (2):
urlmon/tests: Test output length calculation when output buffer is too small.
iertutil: Fix out-of-bound access in remove_dot_segments.
Zhiyi Zhang (6):
Revert "win32u: Don't forcefully activate windows before restoring them.".
iertutil: Fix wrong host type for Punycode-encoded hostnames.
gdi32: Test that GetDIBits() rejects DDBs that are not 1-bit or 32-bit.
win32u: Reject DDBs that are not 1-bit or 32-bit for GetDIBits().
win32u: Optimize the speed of halftone primitives by using 32.32 fixed point arithmetic.
win32u: Set the normal window position without going through NtUserSetInternalWindowPos().
```
May 1, 2026
Wine release 11.7
by Alexandre Julliard
The Wine development release 11.7 is now available.
What's new in this release:
- Beginnings of MSXML reimplementation without libxml2.
- VBScript compatibility fixes and optimizations.
- SRGB filter support in D3DX.
- 7.1 speaker configuration in DirectSound.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.7.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.7/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.7 (total 35):
- #26226 msxml4 emits too much xmlns attributes
- #33118 Adding bin.base64 attribute causes duplicate datatype attribute
- #38350 FTDI Vinculum II IDE V2.0.2-SP2 gets OLE Error 80020006 and exits, native msxml3 is workaround
- #49029 ABBYY FineReader 12 Professional crashes in trial mode
- #52607 build on Cygwin fails, error: undefined references to _alldiv, _allmul, _allrem, _aulldiv, _aullrem (etc.) in dlls/ntdll
- #54236 Default to Windows 10 when creating a prefix
- #54291 vbscript stuck in endless for loop when UBound on Empty and On Error Resume Next
- #54344 simtower (setup.exe) says could not open the file name "h:\wine64....."
- #55031 experimental wow64 mode: crashes in some 3d graphics code
- #55093 vbscript: if boolean condition should work without braces
- #55196 vbscript: Trailing End If
- #56480 vbscript: underscore line continue issues
- #56931 vbscript: Const used before declaration fails (explicit)
- #58026 vbscript: Script running error when Dictionary contains array
- #58051 vbscript: Dictionary direct Keys/Items access causes parse error
- #58056 vbscript: Directly indexing a Split returns Empty
- #58392 Can't display background and characters in MapleStory World.
- #58398 vbscript: For each function with Split a empty string
- #58673 Kinco Dtools fails to start: err:msxml:doparse Unsupported encoding: gb2312
- #58802 Inserting XML document fragment adds the fragment instead of its content.
- #59415 In Falsus demo cannot be interacted with
- #59446 Latest VOCALOID6 version (6.11) crashes after VOCALOID:AI track
- #59512 HID devices report wrong DeviceType causing GetFileType() to return FILE_TYPE_DISK
- #59516 Songbookpro crashes with RoFailFastWithErrorContext()
- #59517 IWICFormatConverter does not support BlackWhite as destination pixel format
- #59528 Fade In Pro: Crashes immediately after splash screen
- #59534 Cabinet.dll missing Compressor interfaces
- #59558 HTTP 200 response body empty since Wine 11.5 regression (worked in 11.4)
- #59572 Stratego (1997) shows a black screen on startup
- #59578 Act of War: Direct Action crashes while loading the main menu
- #59613 case 64 is missing in key_asymmetric_verify function
- #59627 Kakaowork crashes at start.
- #59632 VC_redist fails to start (regression)
- #59643 SHCreateStreamOnFileW (IStream::Seek) truncates 64-bit offsets to 32-bit, breaking >4GB file reads
- #59658 Xara Designer Pro + crashes: Call from 00006FFFFFFA4E45 to unimplemented function icuuc.dll.udata_setCommonData_70, aborting
### Changes since 11.6:
```
Adam Markowski (2):
po: Update Polish translation.
po: Update Polish translation.
Akihiro Sagawa (5):
quartz/tests: Add IMediaEvent(Ex)::WaitForCompletion tests.
quartz: Reset the completion event on paused -> running transition.
quartz: Don't leak the completion event handle.
quartz/tests: Add more WaitForCompletion tests.
quartz: Fix WaitForCompletion behavior when default handling is canceled.
Alex Henrie (1):
kernelbase: Ignore GENERIC_WRITE in CreateFile on CDs on Windows 9x.
Alexandre Julliard (9):
configure: Stop using external libxml/libxslt.
shell32/tests: Remove todo from test that succeeds now.
ntdll: For the native heuristics, assume that dll without version is not from Microsoft.
opengl32: Link to pthread library for pthread_once.
mf/tests: Fix 64-bit printf formats.
shcore: Store the app user model id in the process parameters.
configure: Require the Mingw compiler on Cygwin.
tools: Remove Cygwin platform and treat it as Mingw.
Revert "msi/tests: Add regression tests for table stream padding and mismatched string refs."
Andrey Gusev (2):
d3d11: Fix a memory leak in d3d_video_decoder_create().
d3dcompiler: Fix misplaced parentheses.
Antoine Leresche (1):
kernelbase: Add message string for ERROR_NOT_A_REPARSE_POINT.
Anton Baskanov (5):
dsound: Replace multiplications by fir_step and fir_width with bit shifts.
dsound: Use a 0.32 fixed point to represent the resampling ratio.
dsound: Make rem_num signed.
dsound: Calculate opos_num and ipos_num incrementally.
dsound: Calculate rem and rem_inv incrementally.
Aurimas Fišeras (3):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Bartosz Kosiorek (1):
gdiplus/tests: Fix flaky rounding error in test_getblend.
Brendan McGrath (21):
amstream/tests: Test when top-down image is not accepted.
amstream: Reject filter when top-down image is not accepted.
amstream: Always return S_OK on disconnect.
iyuv_32/tests: Fix a read overrun.
winegstreamer: Add winegstreamer_create_color_converter.
iyuv_32: Implement IYUV_GetInfo.
iyuv_32: Implement IYUV_DecompressQuery.
iyuv_32: Implement IYUV_DecompressGetFormat.
iyuv_32: Implement IYUV_Open.
iyuv_32: Implement IYUV_DecompressBegin.
iyuv_32: Implement IYUV_Decompress.
amstream/tests: Test QueryAccept when connected.
amstream/tests: Test negative heights in QueryAccept.
amstream: Reject negative heights in QueryAccept.
amstream: Accept additional subtypes in QueryAccept.
amstream/tests: Test AcceptQuery behavior after SetFormat.
amstream: Only accept format passed in SetFormat.
amstream/tests: Test media types when ddraw is passed to AddMediaStream.
amstream: Use DisplayMode to determine pixel format.
amstream/tests: Test media type is only on the first of each sample.
amstream: Only provide MediaType on first retrieval.
Brendan Shanks (3):
kernelbase: In GetProcessInformation(ProcessMachineTypeInfo), use SystemSupportedProcessorArchitectures2.
kernelbase: Implement GetMachineTypeAttributes().
kernelbase/tests: Add tests for GetMachineTypeAttributes().
Chris Denton (1):
bcryptprimitives: Ensure ProcessPrng fills the whole buffer.
Connor McAdams (11):
d3dx10/tests: Add tests for decoding DXTn DDS files.
d3dx11/tests: Add tests for decoding DXTn DDS files.
d3dx9: Properly handle DXT textures with premultiplied alpha.
d3dx10/tests: Add a test for invalid image load filter flags.
d3dx11/tests: Add a test for invalid image load filter flags.
d3dx10: Only use passed in filter flags if image scaling is necessary.
d3dx11: Only use passed in filter flags if image scaling is necessary.
d3dx9/tests: Add tests for D3DX_FILTER_SRGB flags.
d3dx10/tests: Add tests for SRGB formats and filter flags.
d3dx11/tests: Add tests for SRGB formats and filter flags.
d3dx: Handle SRGB filter flags.
Conor McCarthy (8):
mf/topology_loader: Return specific error on indirect connection failure.
mf/topology_loader: Load the down connection method in topology_branch_connect().
mf/topology_loader: Introduce a helper to clone a media type.
mf/topology_loader: Use the color converter for video conversion by default.
gdiplus: Refactor SOFTWARE_GdipFillRegion() to separate bitmap handling.
gdiplus: Implement software region fill for bitmap images.
gdiplus: Bypass span combination for intersected rects.
winegstreamer: Free the streams in unknown_inner_Release().
Daniel Lehman (1):
msxml3/tests: Test encoding of special characters.
Elizabeth Figura (2):
ntdll/tests: Test a symlink that unwinds past the directory it's in.
ntdll: Unwind the Unix path if necessary when processing relative symlinks.
Eric Pouech (5):
winedbg: Don't proceed with some 'info' commands on non active targets.
winedbg: Introduce helpers to fetch thread name.
winedbg: Let 'backtrace' do something when attached to a minidump.
winedbg: Let 'info thread' work when debugging a minidump.
dbghelp/dwarf: Store btBool constant leaves as signed integer.
Esme Povirk (7):
mscoree: Use coop-aware thread attach functions.
gdiplus/tests: Make the FromGdiDib tests more thorough.
gdiplus/tests: Test FromGdiDib with a top-down DIB.
gdiplus/tests: Check more structure types with FromGdiDib.
gdiplus/tests: Test more image formats with FromGdiDib.
gdiplus: Rewrite GdipCreateBitmapFromGdiDib.
gdiplus: Assume bitmaps are top-down in image-reading code.
Francis De Brabandere (45):
vbscript: Fix error character positions for Exit and Dim statements.
vbscript: Return "Illegal assignment" error for Const and function assignment.
vbscript: Restrict identifier characters to ASCII-only.
vbscript: Handle vertical tab and form feed as whitespace in lexer.
vbscript: Use ASCII-only case folding in check_keyword.
vbscript: Add vbs_wcsicmp and use it in interpreter.
vbscript: Replace wcsicmp with vbs_wcsicmp in compiler, globals, and dispatch.
vbscript: Fast-path stack_pop_bool for VT_BOOL.
vbscript: Defer For loop control variable assignment until all expressions are evaluated.
vbscript: Return proper error for undefined variables with Option Explicit.
vbscript: Fix For loop getting stuck when expression evaluation fails with On Error Resume Next.
vbscript: Reject arguments on Class_Initialize and Class_Terminate.
vbscript: Add missing compiler error constants, messages, and tests.
vbscript: Return specific errors for mismatched End keywords in blocks.
vbscript: Return specific errors for unclosed parens, multiple defaults, and default on Property Let/Set.
vbscript: Support chained call syntax like dict.Keys()(i).
vbscript: Reject 'Set Me' with error 1037 instead of crashing.
vbscript: Return error 1054 for Property Let/Set without arguments.
vbscript: Return error 1005 for missing opening parenthesis in Sub/Function.
vbscript: Implement Filter function.
vbscript: Return specific error codes for integer constant and Property declarations.
vbscript: Return DISP_E_TYPEMISMATCH when indexing non-array variables.
vbscript: Return error 1048 for Property declaration outside a Class.
scrrun: Fix BSTR length off-by-one in create_folder.
scrrun: Implement IFolder::get_ParentFolder.
scrrun: Implement IFile::get_ParentFolder.
scrrun: Implement IFolder::get_IsRootFolder.
scrrun: Implement IFolder::get_Attributes and IFolder::put_Attributes.
scrrun: Implement IFolder and IFile date getters.
vbscript: Return correct error codes for missing statement separators.
vbscript: Silence FuncRef::QueryInterface(IID_IDispatchEx) warning.
vbscript: Fix crash when GetRef is called as a statement.
vbscript: Add missing runtime error constants and tests.
vbscript: Return proper error for New on undefined or non-class identifier.
vbscript: Reject identifiers longer than 255 characters.
vbscript: Support bracketed identifiers like [my var].
vbscript: Return error 1028 for invalid keyword after 'Do'.
vbscript: Return error 1047 for wrong 'End' keyword inside class.
vbscript: Return error 1051 for inconsistent property argument counts.
vbscript: Return proper error for wrong number of arguments.
wscript: Implement error messages, usage output, and //nologo banner.
vbscript: Add call depth limit to prevent stack overflow on infinite recursion.
vbscript: Return specific error codes for missing keywords in parser.
vbscript: Use indexed lookup for global functions.
vbscript: Use indexed lookup for global variables.
Hans Leidekker (11):
winhttp/tests: Fix test failures on old Windows versions.
winhttp/tests: Fix a test failure.
winhttp: Rename request_state.
winhttp: Remove unused arguments from read_more_data().
winhttp: Start the first chunk right after receiving the headers.
winhttp/tests: Add a fully recursive asynchronous test.
winhttp: Increase recursion limit.
winhttp: Stub WinHttpSetOption(WINHTTP_OPTION_IPV6_FAST_FALLBACK).
winhttp: Stub WinHttpQueryOption(WINHTTP_OPTION_HTTP_VERSION).
winhttp: Stub WinHttpQueryOption(WINHTTP_OPTION_CONNECT_RETRIES).
winhttp: Read as much data as possible in WinHttpReadData().
Jacek Caban (14):
widl: Do not override name prefix settings from pragmas in imported modules.
include: Don't use ns_prefix in windows.graphics.directx.direct3d11.interop.idl.
opengl32: Move GL_NUM_EXTENSIONS to client side.
opengl32: Remove unexposed extensions for functions registry.
opengl32: Rename ALL_GL_CLIENT_EXTS to ALL_GL_EXTS.
opengl32: Store extension_array as opengl_extension.
opengl32: Implement glGetStringi(GL_EXTENSIONS) on client side.
opengl32: Initialize enabled / disabled OpenGL extensions struct.
opengl32: Use parse_extensions in filter_extensions.
opengl32: Store core GL version separate from extensions in the function registry.
opengl32: Store extensions an an enum in functions registry.
opengl32: Introduce get_function_entry helper.
opengl32: Always check available extensions in wrap_wglGetProcAddress.
opengl32: Implement wglGetProcAddress on the client side.
Jinoh Kang (2):
ntdll: Do not fail with STATUS_INVALID_INFO_CLASS for anonymous files.
Revert "kernelbase: Replace FileAllInformation with FileStatInformation in GetFileInformationByHandle().".
Katharina Bogad (7):
makedep: Fix -Wdiscarded-qualifier warnings with recent glibc.
winebuild: Fix -Wdiscarded-qualifier warnings with recent glibc.
winegcc: Fix -Wdiscarded-qualifier warnings with recent glibc.
ntdll: Fix -Wdiscarded-qualifier warnings with recent glibc.
winebth.sys: Fix -Wdiscarded-qualifier warnings with recent glibc.
winex11.drv: Fix -Wdiscarded-qualifier warnings with recent glibc.
include: Fix warnings with C23 and GLIBC.
Louis Lenders (1):
wine.inf: Add HKCU\Software\Classes key.
Marc-Aurel Zent (7):
win32u: Introduce new ImeToAsciiEx user driver call.
win32u: Move IME processing to ImeToAsciiEx.
winemac: Implement and use macdrv_ImeToAsciiEx().
winemac: Move macdrv_ImeProcessKey logic to ImeProcessKey and macdrv_ImeToAsciiEx.
win32u: Remove builtin WINE_IME_PROCESS_KEY driver call.
winemac: Replace OSAtomic functions with builtin __atomic counterparts.
winemac: Relax builtin __atomic memory barriers.
Matteo Bruni (1):
configure: Use alsa library search paths in the alsa library check.
Mohamad Al-Jaf (2):
dsound: Support 7.1 speaker config.
winecfg: Support 7.1 speaker config.
Nikolay Sivov (41):
odbc32: Add SQLGetStmtOption() -> SQLGetStmtAttr() fallback for a few options.
odbc32: Add SQLSetStmtOption() -> SQLSetStmtAttr() for a few options.
msxml3/tests: Add some more xml() tests.
msxml3/tests: Add more text() tests.
msxml3/tests: Add some more tests for whitespace handling.
msxml3/tests: Add some more tests for namespace handling.
msxml3/tests: Add some tests for doctype node.
msxml3/tests: Add more tests for the XmlDecl PI.
msxml3/tests: Add a couple of SAX parsing tests.
msxml3: Rework DOM API.
msxml3/tests: Add some more appendChild() tests with fragments.
msxml3/tests: Add some tests for attribute value normalization.
msxml3/tests: Add a setAttribute() test for setting namespace definition.
msxml3: Fix setAttribute() for elements with unspecified namespace uri.
msxml3/tests: Add some more tests for getNamedItem().
msxml3: Do not try to convert NULL strings when creating libxml2 document representation.
msxml3: Remove duplicated SafeArrayUnaccessData() in load().
msxml3/tests: Add another test for subtree serialization with default namespaces.
msxml3/tests: Add a simple test for loading with gb2312 specified encoding.
msxml3: Release temporary document.
shcore: Handle 64-bit position in file stream Seek().
msxml3: Remove unused field from a node structure.
msxml3: Implement parentNode() property for DTD nodes.
msxml3: Implement ownerDocument() property for DTD nodes.
msxml3: Implement nodeTypeString() for DTD nodes.
msxml3/tests: Add some tests for ProhibitDTD property.
msxml3: Handle ProhibitDTD property.
msxml3/tests: Add more splitText() tests.
msxml3: Unify splitText() implementation.
msxml3: Unify deleteData() implementation.
msxml3: Unify substringData() implementation.
msxml3: Unify length() property implementation for textual nodes.
msxml3: Unify insertData() implementation.
msxml3: Unify replaceData() implementation.
msxml3/tests: Run formatted output tests on the main thread.
msxml3: Remove redundant check in cloneNode().
msxml3/tests: Add more tests for setAttribute().
msxml3: Improve check for new attribute collision with element namespace.
msxml3: Make namespace definitions added with setAttribute() read-only.
msxml3/tests: Add another test for insertBefore().
msxml3/tests: Check for supported interfaces on a document object.
Paul Gofman (5):
winmm/tests: Add tests for destination scaling with AVI window resize.
mciavi32: Update destination rect on window size change.
mciavi32: Use msvfw32 for presentation.
wmvcore/tests: Add test for COM initialization in async reader thread.
wmvcore: Initialize COM in async_reader_callback_thread().
Piotr Caban (14):
msvcrt: Add _vwprintf_l implementation.
msvcrt: Add _wprintf_l implementation.
odbc32: Use SQLEndTran() in SQLTransact if needed.
odbc32: Add odbc v3 test driver and use it in SQLConnect tests.
odbc32: Use test driver in SQLDriverConnect tests.
odbc32: Use test driver in SQLBrowseConnect tests.
odbc32: Use test driver in SQLExecDirect tests.
odbc32: Fix SQLBrowseConnect tests.
odbc32: Use SQLFreeHandle in SQLFreeStmt if possible.
odbc32: Only set connection and login timeout if it was ever set.
odbc32: Don't call into driver in SQLGetEnvAttr.
odbc32: Don't call into driver in SQLSetEnvAttr.
odbc32: Implement sharing environment handle between connections.
odbc32: Don't leak connection object if it's reused in connect functions.
Robert Gerigk (3):
include: Add identity string length constants to appmodel.h.
shcore: Implement Set/GetCurrentProcessExplicitAppUserModelID.
shcore/tests: Add tests for Set/GetCurrentProcessExplicitAppUserModelID.
Rémi Bernon (44):
opengl32: Move some unsupported extensions to unexposed.
opengl32: Add support for some unregistered extensions.
opengl32: Don't expose unsupported or unknown extensions.
mf/topology_loader: Disconnect the node after indirect connection failed.
mf/topology_loader: Allocate indirect connection branches dynamically.
mf/topology_loader: Cache the media type handlers on the branches.
mf/topology_loader: Always try setting current up type when connecting directly.
mf/topology_loader: Avoid making redundant connection method attempts.
ntdll: Remove unused namepos variable.
ntdll: Fix unixlib extension position.
mf/topology_loader: Lookup best media type when connecting converter / decoders.
mf/topology_loader: Don't force MFTEnumEx output info either for converters.
mf/topology_loader: Move current type check into topology_branch_foreach_up_types.
mf/topology_loader: Enumerate and select downstream type in connect_direct.
mf/topology_loader: Only enumerate transform outputs if no current type is set.
mf/topology_loader: Update media types while enumerating up types.
winex11: Use unsigned long for monitor indices generation.
cfgmgr32: Implement CM_Get_DevNode_Property(_Ex)(A|W).
setupapi: Forward CM_Get_DevNode_Property(_Ex)(A|W) to cfgmgr32.
cfgmgr32: Implement CM_Get_DevNode_Property_Keys(_Ex).
cfgmgr32: Implement CM_Get_Device_ID_List(_Size)(_Ex)(A|W).
setupapi: Forward CM_Get_Device_ID_List(_Size)(_Ex)(A|W) to cfgmgr32.
cfgmgr32: Move remaining stubs from setupapi.
cfgmgr32: Fix querying unnamed properties.
opengl32: Check for GL_EXT_memory_object_fd before filtering extensions.
mfplat: Don't set frame size or stride if missing from VIDEOINFOHEADER2.
mfplat: Support FORMAT_MFVideoFormat in MFInitMediaTypeFromAMMediaType.
mf/tests: Check resampler IMFTransform / IMediaObject interop.
mf/tests: Check color converter IMFTransform / IMediaObject interop.
opengl32: Move major / minor version to the PE side context wrapper.
opengl32: Implement wglGetExtensionsString(ARB|EXT) on the PE side.
win32u: Query every OpenGL functions on initialization.
opengl32: Don't generate extra params in function pointers.
opengl32: Get rid of make_opengl $gen_trace variable.
opengl32: Simplify make_opengl GL_VERSION filtering.
opengl32: Support parsing multiple registry.py APIs.
opengl32: Simplify adding functions in make_opengl.
mfplat/tests: Test MFInitAMMediaTypeFromMFMediaType GUID conversions.
opengl32: Support more function suffixes for hide_default_fbo.
opengl32: Support more function suffixes for resolve_default_fbo.
opengl32: Support more function suffixes for map_default_fbo_thunks.
opengl32: Use a unique WOW64 wrapper for each group of functions.
opengl32: Remove now unnecessary wow64 buffer function lookup.
opengl32: Use a unique wrapper for each group of wrapped functions.
Stephan Seitz (1):
shell32: Add stub for `SHEvaluateSystemCommandTemplate`.
Steven Don (1):
taskmgr: Fix CPU and Memory usage history graphs.
Tim Clem (8):
mountmgr.sys: Fall back to statfs if "important" free space is 0 on macOS.
ntdll: Fall back to statfs if "important" free space is 0 on macOS.
sechost: Catch invalid HDEVNOTIFY arguments to I_ScUnregisterDeviceNotification.
sechost: Don't attempt to unregister an HDEVNOTIFY with bad magic.
winemac.drv: Handle windows becoming invalid between WM_QUERYENDSESSION and WM_ENDSESSION.
wintab32: Make the internal window message-only.
wintab32: Use an HINSTANCE when registering the internal window class.
wintab32: Create the internal window on demand.
Trent Waddington (2):
kernel32/tests: Add tests for GetModuleFileName string termination.
kernelbase: Fix string termination of GetModuleFileName.
Twaik Yont (5):
wineandroid: Remove redundant backend DPI scaling.
wineandroid: Fix 64-bit crash in setCursor JNI call.
wineandroid: Lower targetSdkVersion to avoid Android 10 W^X restrictions.
wineandroid: Fix loader path and library lookup for modern Wine/Android.
wineandroid: Move environment setup to Java and drop obsolete env vars.
Vitaly Lipatov (2):
include: Fix _LIBCPP_DEFER_NEW_TO_VCRUNTIME not being set with old clang.
include: Avoid __builtin_wmemchr with clang < 13.
Yuxuan Shui (1):
setupapi: Fix wrong buffer size in SetupDiGetClassDescriptionExA.
Zhiyi Zhang (6):
iertutil: Fix parsing some partial IPv4 addresses.
iertutil: Fix parsing URIs without a port value.
iertutil: Do not encode user info if the scheme is unknown.
iertutil: Fix backslash processing in URIs.
iertutil: Add initial URI parsing support for IUriRuntimeClass.
iertutil/tests: Add URI parser tests.
```
April 17, 2026
Wine release 11.6
by Alexandre Julliard
The Wine development release 11.6 is now available.
What's new in this release:
- Beginnings of a revival of the Android driver.
- DLL load order heuristics to better support game mods.
- More VBScript compatibility fixes.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.6.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.6/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.6 (total 28):
- #7961 Bug in findfirst/findnext
- #26389 Win3.1 Notepad crashes when opening a large file
- #38874 Homesite+ (v5.5): Radiobutton in Find dialog not set properly when using keyboard shortcut (Alt+U)
- #42517 StarOffice51 Crash on File open
- #45289 Wine Crashes Some Programs If Compiled with AVX Support
- #49776 .NET application settings are never saved
- #51577 Google Earth Installer renders mostly black
- #52019 DigiCertUtil wrong window size
- #52741 Missing chakra.dll to run Minecraft Windows 10 Edition
- #55933 NSFW game 'Creature reaction inside the ship! 1.5' videos stop after looping a few times
- #56296 PDFSam Installer shows an empty language list
- #58043 Multiple applications won't run on Wine 10.3 because they think that there is a debugger running when there isn't (DVDFab, DCS World updater)
- #58146 HWiNFO 8.24 (latest): doesn't work unless winecfg is set to Windows 7
- #58690 fw_manager_IsPortAllowed is not implemented
- #59486 Treeview TVS_CHECKBOXES cycle all state images with non-zero index
- #59498 pdf-xchange editor v10.8.4.409 crashes at start.
- #59536 Missing WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT
- #59546 Commit 20b34866 breaks the list of on-line multiplayer servers for the game Mount & Blade: Warband
- #59548 Neko Project emulator no longer works with 96 kHz sampling rate (Gentoo Linux)
- #59551 Buhl Tax 2026 shows blank preview - crash on geometry creation
- #59553 ICU dlls cause some games to crash (Cyberpunk 2077)
- #59554 DOAXVV (DMM version) fails to start with network error
- #59559 Missing D3D11 Interop Functions needed for Gecko based browsers
- #59561 VICE: GTK version of x64sc.exe crashes at startup.
- #59563 printf does not support %Z
- #59573 Regression introduced by decompression support in winhttp
- #59576 EIZO ColorNavigator 6 crashes on unimplemented function mscms.dll.WcsGetCalibrationManagementState
- #59600 Regression on 11.5 - Diablo IV in game-menu shop no more reachable
### Changes since 11.5:
```
Adam Markowski (3):
po: Update Polish translation.
po: Update Polish translation.
po: Update Polish translation.
Akihiro Sagawa (5):
winegstreamer: Flush wg_transform buffers on seek in quartz_transform.c.
quartz/tests: Add more video format tests for MPEG-1 Splitter.
winegstreamer: Pass MPEG-1 video codec data to the GStreamer decoder.
winegstreamer: Increase the buffer count in the MPEG video output.
quartz/tests: Remove todo_wine from tests that succeed now.
Alexandre Julliard (27):
configure: Warn when the C++ compiler is missing or not working.
gdi32: Also redirect path in RemoveFontResourceEx.
server: Add a helper function to trace a Unicode string.
server: Share more code between 32- and 64-bit PE data directory handling.
ntdll: Add a structure to return information about a PE mapping.
server: Return version resource in get_mapping_info for native dlls.
ntdll: Add heuristics to prefer native dll based on the version resource.
wtsapi32/tests: Skip processes that no longer exist.
ldap: Correctly grow the buffer on incomplete message.
configure: Require a PE compiler on 64-bit macOS.
configure: Stop using libunwind.
configure: Check for gradle on Android.
configure: Pass ANDROID_HOME when building the Android APK.
ntdll: Fix a printf format warning.
ntoskrnl: Update the security cookie once relocation are applied.
kernelbase: Update timezone data to version 2026a.
zlib: Import upstream release 1.3.2.
png: Import upstream release 1.6.56.
lcms2: Import upstream release 2.18.
ntdll: Move the prefix bootstrap check out of is_builtin_path().
ntdll: Pass the full PE mapping info to get_load_order().
ntdll: Also consider wow64 system directory for module load order.
ntdll: Only set the version resource child when found in version_find_key.
winecrt0: Add LGPL license exception.
msvcrt: Add LGPL license exception.
vcruntime140: Add LGPL license exception.
libs: Add LGPL license exception to the uuid libraries.
Alistair Leslie-Hughes (3):
winhttp: Support Query option WINHTTP_OPTION_SECURITY_INFO.
ntdll: Correct last parameter of NtFlushVirtualMemory.
comctl32/imagelist: Allow for larger initial image count.
Anton Baskanov (1):
dsound: Make i signed in downsample.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (5):
gdiplus: Fix GdipGetImageBounds result in case Graphics is deleted.
gdiplus: Return InvalidParameter in GdipGetImageHorizontalResolution in case HEMF is missing.
gdiplus: Return InvalidParameter in GdipGetImageVerticalResolution in case HEMF is missing.
gdiplus: Return InvalidParameter in GdipGetImageWidth in case HEMF is missing.
gdiplus: Return InvalidParameter in GdipGetImageHeight in case HEMF is missing.
Benoît Legat (2):
crypt32: Implement CERT_NCRYPT_KEY_HANDLE_PROP_ID support.
crypt32: Implement PFXExportCertStoreEx support.
Bernhard Übelacker (2):
mmdevapi: Avoid copying more memory than reserved in validate_fmt (ASan).
d2d1: Allow value NULL in d2d_effect_SetInput.
Brendan McGrath (7):
wmvcore: Test we can open a rawvideo wmv file.
winegstreamer: Place 'videoconvert' prior to 'deinterlace' element.
iyuv_32: Add stub dll.
iyuv_32/tests: Add test stub.
iyuv_32/tests: Test which formats are supported.
iyuv_32/tests: Add a decompression test.
iyuv_32/tests: Add a compression test.
Brendan Shanks (4):
ntdll/tests: In wow64, factor the SYSTEM_INFORMATION_CLASS out of test_query_architectures().
ntdll/tests: Add tests for NtQuerySystemInformation(SystemSupportedProcessorArchitectures2).
ntdll: Implement NtQuerySystemInformation(SystemSupportedProcessorArchitectures2).
server: Add x86_64 as a supported machine on ARM64.
Chris Kadar (1):
cabinet: Add stubs for compressor/decompressor.
Connor McAdams (8):
dinput/tests: Fix occasional GameInput test crash.
dinput/tests: Fix incorrect index when removing child device.
include: Fix HID_STRING_ID_* definitions.
dinput/tests: Add tests for HID device indexed strings.
dinput/tests: Check child device serial, if provided, on remove.
dinput/tests: Cleanup every device key with winetest vendor.
dinput/tests: Test that guidInstance is stable across hotplugs.
dinput/tests: Add tests for dinput joystick guidInstance values.
Conor McCarthy (6):
mf: Trace additional topology details.
mf/topology_loader: Do not create a new branch list containing downstreamm nodes.
mf/topology_loader: Delete unused struct connect_context.
mf/topology_loader: Load the branch up connection method only for source nodes.
mf: Specify the multithreaded queue for presentation clock callbacks.
mf: Specify the multithreaded queue for sample grabber timer callbacks.
Dmitry Timoshkov (6):
advapi32/tests: Add some tests for LockServiceDatabase().
services: Add proper handle management to LockServiceDatabase() and UnlockServiceDatabase().
advapi32: Implement LockServiceDatabase() and UnlockServiceDatabase().
winedump: Fix building with PSDK compiler.
crypt32/tests: Add some tests for CertOpenSystemStore() with real provider handle.
crypt32: Add CERT_STORE_NO_CRYPT_RELEASE_FLAG to CertOpenStore() flags when called from CertOpenSystemStore().
Elizabeth Figura (7):
wined3d/vk: Handle stretching and format conversion when resolving as well.
wined3d: Do not force the source into RB_RESOLVED for a non-colour blit.
wined3d: Separate a raw_blitter_supported() helper.
wined3d: Require matching sample counts for the raw blitter.
wined3d: Move RB_RESOLVED logic from texture2d_blt() to texture2d_blt_fbo().
wined3d: Explicitly handle raw resolve in the FBO blitter.
wined3d: Explicitly pass the RAW flag for d3d10+ resolve.
Eric Pouech (6):
mfplat: Add stub for MFSerializeAttributesToStream.
mf: Add stub for MFCreateDeviceSource().
include: Add missing extern "C" wrappers.
include: Don't use C++ keywords.
wevtapi: Add stub for EvtRender.
advapi32: Add stub for AddConditionalAce().
Francis De Brabandere (24):
vbscript: Implement IActiveScriptError::GetSourceLineText.
vbscript: Invoke default property when calling object variable with empty parens.
vbscript: Pass VT_DISPATCH as-is to Property Let without extracting default value.
wscript: Implement IActiveScriptSite::OnScriptError.
vbscript: Allow hex literals with excess leading zeros.
vbscript: Fix dot member access after line continuation.
vbscript: Add error code tests for compile errors.
vbscript: Improve some error codes in the compiler.
vbscript: Improve some error codes in the lexer.
vbscript: Improve some error codes in the parser.
vbscript: Implement GetRef.
vbscript: Fix crash in ReDim on uninitialized dynamic arrays.
vbscript: Return "Object required" error (424) instead of E_FAIL/E_NOTIMPL.
vbscript: Return correct error for array dimension mismatch and NULL array access.
vbscript: Return type mismatch when calling non-dispatch variable as statement.
vbscript: Fix chained array indexing on call expression results.
vbscript: Allow Not operator as operand of comparison expressions.
vbscript: Implement AscW and ChrW functions.
vbscript: Report proper errors for invalid date literals and line continuations.
vbscript/tests: Enable Empty Mod test that now passes.
vbscript: Implement Escape and Unescape functions.
vbscript: Implement the Erase statement.
vbscript: Implement Eval, Execute, and ExecuteGlobal.
vbscript: Return error 92 for uninitialized For loops.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.347.
Gijs Vermeulen (1):
mscms: Add WcsGetCalibrationManagementState stub.
Hans Leidekker (16):
winhttp: Fix querying available data for chunked transfers.
winhttp: Trace more option values.
winhttp: Accept WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL on session handles.
include: Add missing WinHTTP defines.
winhttp: Print a fixme for unsupported flags in WinHttpOpen() and WinHttpOpenRequest().
winhttp: Introduce struct read_buffer.
winhttp: Always buffer response data.
winhttp: Fix a typo.
winhttp/tests: Get rid of workarounds for old Windows versions.
winhttp: Ignore unexpected content encodings.
winhttp: Don't trace content read / content length in read_data().
winhttp: Move web socket support to a separate file.
winhttp: Use public define for the web socket handle type.
winhttp: Move pending_sends and pending_receives to the socket structure.
crypt32: Also accept CERT_CHAIN_ENGINE_CONFIG without dwExclusiveFlags.
bcrypt: Handle SHA512 in key_asymmetric_verify().
Jacek Caban (1):
configure: Build PE modules with build ID by default.
José Luis Jiménez López (1):
quartz/tests/avisplit: Add tests for IMediaSeeking time formats.
June Wilde (1):
include: Add windows.graphics.directx.direct3d11.interop.idl file.
Kun Yang (2):
taskschd/tests: Add tests for ILogonTrigger.
taskschd: Add implementation of ILogonTrigger.
Louis Lenders (1):
magnification: Add stub for MagInitialize.
Maotong Zhang (3):
msi: Add ComboBox items, using value if text does not exist.
msi: The ComboBox defaults to displaying the value.
msi: ComboBox displays value on selection and falls back to text if missing.
Mohamad Al-Jaf (4):
windows.devices.radios: Add stub dll.
windows.devices.radios: Add IRadioStatics stub.
windows.devices.radios: Implement IRadioStatics::GetRadiosAsync().
windows.devices.radios/tests: Add IRadioStatics::GetRadiosAsync() tests.
Nikolay Sivov (24):
msxml3/tests: Add some more DOM tests.
msxml3/tests: Enable namespace:: axis test on Windows.
msxml3/tests: Remove alternative variants of saved output as acceptable test results.
msxml3/tests: Merge a test with existing get_xml() tests.
msxml3/tests: Add a test for immediate document children list.
d2d1/geometry: Check for null user transform when streaming.
msxml3/tests: Add ISupportErrorInfo tests for DOCTYPE nodes.
msxml3/tests: Add basic argument test for loadXML().
msxml3/tests: Add parentNode() test for attributes.
msxml3/tests: Add some cloneNode() tests for a document.
msxml3/tests: Use string comparison in more places.
msxml3/tests: Add another get_xml() test for namespace definitions.
msxml3/tests: Add some more appendChild() tests.
msxml3/tests: Remove some value testing macros.
msxml3/tests: Skip removeAttributeNode() tests on Wine.
msxml3/tests: Add another test for loadXML(NULL).
msxml3/tests: Move CDATA node tests to its own function.
msxml3/tests: Simplify setting string Variant values.
secur32/tests: Test required buffer size in case of SEC_E_INCOMPLETE_MESSAGE.
secur32/schannel: Fix returned required buffer size for incomplete messages in DecryptMessage().
secur32/tests: Use existing macro for a capability flag.
msxml3/tests: Add a test for reloading document with outstanding references.
odbc32: Map SQLColAttributes(SQL_COLUMN_UNSIGNED) to SQLColAttribute().
include: Fix SQLDriverConnectW() prototype.
Olivia Ryan (11):
windows.web: Cleanup struct json_value.
windows.web: Use json_buffer struct & helper functions.
windows.web: Support escaped characters.
windows.web: Additional string parsing tests.
windows.web: Stub JsonArray runtime class.
windows.web: Support json array parsing.
windows.web: Add a IMap_HSTRING_IInspectable to json objects.
windows.web: Support json object parsing.
windows.web: Implement JsonArray element getters.
windows.web: Support boolean & number value creation.
windows.web: Implement JsonObject typed getters.
Paul Gofman (6):
dwrite: Fix second chance fonts handling in fallback_map_characters().
dwrite: Move opentype_get_font_table() up.
dwrite: Fail loading unsupported COLRv1 fonts.
netprofm: Check adapter addresses instead of gateway to guess ipv6 internet connectivity.
ntdll: Do not keep next handler pointer outside of lock in call_vectored_handlers().
server: Do not return STATUS_ACCESS_DENIED from read_process_memory_vm() for zero read.
Piotr Pawłowski (2):
comctl32/tests: Test cycling all state images from custom image list when toggling checkboxes.
comctl32/treeview: Cycle all state images from custom image list when toggling checkboxes.
Reece Dunham (1):
mshtml: Doc typo fix.
Rémi Bernon (20):
windows.web: Rename JsonObject class methods.
windows.web: Skip whitespace in json_buffer_take.
winex11: Update queue input time on WM_TAKE_FOCUS.
mf: Introduce a new topology_node_get_type helper.
winemac: Keep current user locale in the generated HKLs.
winewayland: Activate an IME HKL before sending IME updates.
winex11: Activate an IME HKL before sending IME updates.
imm32: Only notify the host IME for known IME HKLs.
include: Define _MAX_ENV in stdlib.h.
joy.cpl: Ignore unsupported DIPROP_AUTOCENTER.
dinput/tests: Move TLC count to the descriptor.
dinput/tests: Support starting multiple devices.
dinput/tests: Move fill_context call into hid_device_start.
cfgmgr32: Implement CM_Locate_DevNode(_Ex)(A|W) and CM_Get_Device_ID(_Size)(_Ex)(A|W).
cfgmgr32: Implement CM_Open_DevNode_Key(_Ex).
setupapi: Forward CM_Open_DevNode_Key(_Ex) to cfgmgr32.
cfgmgr32: Implement CM_Get_DevNode_Registry_Property(_Ex)(A|W).
setupapi: Forward CM_Get_DevNode_Registry_Property(_Ex)(A|W) to cfgmgr32.
winevulkan: Improve support for some recursive struct conversion.
winevulkan: Ignore VkPhysicalDeviceVulkan14Properties returnedonly.
Stefan Dösinger (4):
ddraw/tests: Cap test_map_synchronisation to 64k vertices.
ddraw/tests: Fix nested designated initializers in test_caps().
d3d9/tests: Improve yuv_color_test() on Nvidia drivers.
ddraw/tests: Try harder to hide the window in test_window_style().
Theodoros Chatzigiannakis (3):
msi: Handle padding bytes in table streams.
msi: Detect mismatched bytes_per_strref in table data.
msi/tests: Add regression tests for table stream padding and mismatched string refs.
Trung Nguyen (2):
msvcrt: Add support for %Z printf specifier.
msvcrt/tests: Add tests for %Z printf specifier.
Twaik Yont (5):
wineandroid: Update Android project for modern Gradle plugin.
wineandroid: Use BOOL for is_desktop flag.
wineandroid: Fix APK output path for recent Gradle.
ntdll: Disable userfaultfd support on Android.
wineandroid: Switch to AHardwareBuffer and raise minSdkVersion to 26.
Vibhav Pant (10):
winebth.sys: Store GATT characteristic value cached by the Unix Bluetooth service on the PE driver.
winebth.sys: Update the cached GATT characteristic value on receiving a PropertiesChanged signal for a GATT characteristic value from BlueZ.
winebth.sys: Implement IOCTL_WINEBTH_GATT_SERVICE_READ_CHARACTERISITIC_VALUE.
bluetoothapis: Implement BluetoothGATTGetCharacteristicValue.
bluetoothapis/tests: Add tests for BluetoothGATTGetCharacteristicValue.
winebth.sys: Remove unneeded call to IoInvalidateDeviceRelations on radio removal.
winebth.sys: Don't add Bluetooth devices/entries from Unix if they already exist.
winebth.sys: Only make calls to BlueZ if it is available.
winebth.sys: Initialize and remove devices on BlueZ startup and shutdown respectively.
mountmgr.sys: Initialize threading support for DBus before calling DBus functions.
Wolfgang Hartl (1):
oleaut32: Handle reference tables when processing SLTG records.
Yongjie Yao (2):
user32/tests: Test the thread safety of NtUserRegisterClassExWOW and NtUserUnregisterClass.
win32u: Fixed thread safety issues with NtUserRegistClassExWOW and NtUserUnregisterClass.
Yuxuan Shui (4):
crypt32: Don't access CERT_CHAIN_ENGINE_CONFIG::dwExclusiveFlags without checking size.
mfsrcsnk: Test how pixel aspect ratio metadata in an mp4 file are handled.
winedmo: Call avformat_find_stream_info for H264 streams missing aspect ratio.
ntoskrnl.exe/tests: Fix stack use-after-free of OVERLAPPED.
Zhao Yi (2):
win32u: Fix deadlock when setting hdc_src to the window's self DC.
win32u/tests: Add tests for hdc_src is window's self dc when calling UpdateLayeredWindow.
Zhiyi Zhang (15):
ninput: Add ordinal 2502.
include: Add some ALPC definitions.
ntdll/tests: Add AlpcGetHeaderSize() tests.
ntdll: Implement AlpcGetHeaderSize().
ntdll/tests: Add AlpcInitializeMessageAttribute() tests.
ntdll: Implement AlpcInitializeMessageAttribute().
ntdll/tests: Add AlpcGetMessageAttribute() tests.
ntdll: Implement AlpcGetMessageAttribute().
iertutil: Move CreateIUriBuilder() from urlmon.
iertutil: Move CreateUri() from urlmon.
iertutil: Move CreateUriWithFragment() from urlmon.
iertutil: Add PrivateCoInternetCombineIUri().
iertutil: Add PrivateCoInternetParseIUri().
urlmon: Add a wine_get_canonicalized_uri() helper.
iertutil: Move CUri coclass from urlmon.
```
April 3, 2026
Wine release 11.5
by Alexandre Julliard
The Wine development release 11.5 is now available.
What's new in this release:
- C++ support in the build system.
- Bundled ICU libraries.
- Support for Syscall User Dispatch on Linux.
- A number of VBScript compatibility fixes.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.5.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.5/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.5 (total 22):
- #31047 unable to edit gedit's preferences
- #35904 USB connection not recognized by Axon MultiClamp Commander 700B.
- #42687 Evernote installation fails
- #42811 PCG Tools Application fails to install
- #48291 Multiple applications crash due to direct use of x86_64 SYSCALL instruction (Detroit: Become Human, Red Dead Redemption 2, Arknights: Endfield)
- #50532 get_timezone_info doing binary search in the wrong way
- #50636 Reading indexed bitmap wrongly returns 32bit instead of 8bit
- #55037 vbscript: Colon on new line after Then fails
- #58806 Smart quotes in code example misleads clang
- #58963 Stratego (1997) fails to start with error message "Unable to 'CreateScalableFontResource()'"
- #59138 Timelapse export failing in Clip Studio Paint
- #59223 Sony Home Memories Throws Unrecoverable error during installation
- #59314 Swift crashes on unimplemented function ADVAPI32.dll.SaferiIsExecutableFileType
- #59361 MDI child window creation don't respect the window attribute (not WS_MAXIMIZEBOX)
- #59460 bcrypt: Implement RSA-OAEP padding defaults (fixes Wallpaper Engine mobile sync)
- #59474 File dialog crashes in .NET applications like UndertaleModTool
- #59502 VOCALOID6 crashes on startup due to unimplemented wminet_utils stubs
- #59504 jscript: GetScriptDispatch("") returns E_INVALIDARG instead of global dispatch
- #59514 time()/localtime() performance has regressed significantly
- #59531 CertCreateCertificateChainEngine fails with invalid argument in rustls-platform-verifier
- #59541 replacing bass.dll with samp.dll causes freeze/black screen under wine . samp.dll works fine under windows
- #59542 CEF crashes in dwrite when browsing The Verge (weird font file)
### Changes since 11.4:
```
Akihiro Sagawa (3):
po: Update Japanese translation.
ole32/tests: Add more RegisterDragDrop tests after mismatched cleanup.
ole32: Relax COM initialization check in RegisterDragDrop.
Alexandre Julliard (14):
gitlab: Use Buildah instead of Kaniko to build images.
makefiles: Add support for C++ sources.
configure: Check for C++17 support.
include: Import C++ headers from LLVM version 8.0.1.
comctl32/tests: Add some optional treeview messages.
makedep: Specify dll name when it can't be guessed from the spec file name.
makedep: Still build asm files if the subdir doesn't match a known platform.
makedep: Ignore internal static libraries that are disabled.
makedep: Don't ignore disabled libs specified with the -l flag.
libs: Import icucommon from upstream MS-ICU release 72.1.0.3.
libs: Import icui18n from upstream MS-ICU release 72.1.0.3.
unicode: Generate the ICU data file.
icu: Add dll.
ntdll: Disable syscall dispatch when loading a .so dll.
Alistair Leslie-Hughes (6):
combase: Add RoFailFastWithErrorContext stub.
include: Fix PromptDataSource parameter type.
windows.ui.core.textinput: Fake success in ICoreInputView4::add_PrimaryViewHiding.
windows.ui.core.textinput: Return S_OK in ICoreInputView::TryHidePrimaryView.
windows.ui.core.textinput: Return S_OK in ICoreInputView::TryShowPrimaryView.
twinapi.appcore: Support Windows.ApplicationModel.DataTransfer.DataTransferManager.
Andrew Nguyen (2):
wminet_utils: Implement Get.
wminet_utils: Implement CreateInstanceEnumWmi.
Anton Baskanov (8):
dmsynth/tests: Add some polyphony tests.
dmsynth: Restore pre-2.4.3 fluidsynth note-cut behavior.
dmsynth: Put each channel into a separate channel group.
dsound: Calculate required_input more accurately.
dsound: Swap around the two nested loops in downsample.
dsound: Calculate firgain more accurately.
dsound: Transpose the FIR array to make the element access sequential.
dsound: Premultiply the input value by firgain and the interpolation weights in downsample.
Bernhard Kölbl (8):
windows.media.speech/tests: Change a value check.
windows.media.speech/tests: Skip some voice tests on Windows 8.
windows.media.speech: Make sure voice provider is initialized before returning default voice.
windows.media.speech: Set pointer to NULL.
mf: Prevent invalid topologies from being started.
mfreadwrite/tests: Test IMFByteStream release behavior.
mfsrcsnk/tests: Test IMFByteStream release behavior.
mfsrcsnk: Move IMFByteStream release into IMFMediaSource_Shutdown().
Brendan McGrath (18):
mf/tests: Test decoder node for MARKIN/MARKOUT attributes.
mf: Add MARKIN/MARKOUT attributes to decoder node.
mf/tests: Move logic for sending delayed samples to helper function.
mf/tests: Modify topology to start with no resolution.
mf/tests: Test MARKIN will result in a trimmed sample.
mf: Drop samples from transform if MARKIN_HERE is set.
mf: Trim samples from transform if MARKIN_HERE is set.
mf: Replace state variable with clock_state.
mf: Implement presentation time source for SAR.
mf: Check provided presentation clock has a time source.
mf: Implement Scrubbing in SAR.
mf: Discard samples prior to current seek time.
mf: Report seek time up until we render past this point.
mfmediaengine: Reset the sample requested flag on Stop.
mfmediaengine: Implement looping behaviour.
mfmediaengine: Keep the last presentation sample on flush.
mf: Handle ENDOFSEGMENT marker in SAR.
mfmediaengine: Implement scrubbing.
Brendan Shanks (1):
server: On ARM64, only list 32-bit ARM as a supported architecture if the CPU supports it.
Conor McCarthy (2):
winegstreamer: Do not copy the incorrect buffer.
win32u/d3dkmt: Close the wait handle with NtClose() in NtGdiDdDDIAcquireKeyedMutex2().
Daniel Lehman (3):
mxsml3/tests: Add tests for put_text.
msxml3/tests: Skip put_text test for now.
msxml3: Don't add cloned doc to orphan list.
Diego Colin (1):
comctl32: Fix some typos in the comments.
Dmitry Timoshkov (3):
user32/tests: Make test_ShowWindow_mdichild() use real MDI child windows.
user32/tests: Test switching from a maximized MDI child to a child without WS_MAXIMIZEBOX.
user32: Respect WS_MAXIMIZEBOX of the MDI child being activated.
Doug Johnson (1):
advapi32: Add SaferiIsExecutableFileType stub.
Elizabeth Figura (8):
d3d9/tests: Test format conversion in StretchRect().
wined3d: Implement format conversion in the Vulkan blitter.
ddraw: Fix caps tracing in IDirectDraw7::GetCaps().
wined3d/vk: Implement fill mode.
wined3d/hlsl: Force branching in branches that guard pow().
ntdll: Implement syscall emulation on Linux using Syscall User Dispatch.
gdi32: Redirect system32 in CreateScalableFontResourceW().
gdi32: Redirect system32 in AddFontResourceEx().
Eric Pouech (5):
kernelbase: Fix signature of TerminateProcess().
include: Add same guard features as SDK does.
include: Define struct _SECURITY_DESCRIPTOR*.
include: Move NT_TIB(32|64) definitions in winnt.h.
dbghelp/dwarf: Properly ignore Dwarf-5 compilation units.
Francis De Brabandere (12):
vbscript: Split() should return an empty array for empty strings.
vbscript: Do not fail on colon-prefixed statements in If blocks.
vbscript: Allow empty Else blocks in If statements.
vbscript: Fix ElseIf and Else handling for inline and multi-line forms.
vbscript: Allow Me(Idx) to compile as a call to the default property.
vbscript: Return "Object required" error for non-dispatch types.
vbscript: Return proper error for For Each on non-collection types.
vbscript: Support calling named item objects with arguments.
vbscript: Report correct error character position for invalid parenthesized call.
vbscript: Map DISP_E_DIVBYZERO to VBScript error 11.
vbscript: Return type mismatch error for indexed assignment to non-array variables.
vbscript: Allow Const to be used before its declaration.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.346.
Giovanni Mascellani (15):
winmm/tests: Skip format tests if there is no available audio device.
mmdevapi/tests: Drop some corner-case tests.
winmm/tests: Drop some corner-case tests.
winepulse.drv: Support 24-bit PCM formats.
winepulse.drv: Allow cbSize to be larger than 22 bytes for extensible wave formats.
winepulse.drv: Remove support for A-law and mu-law formats.
winepulse.drv: Remove support for 24-in-32 bits formats.
mmdevapi: Do not query for format support in spatial audio.
mmdevapi: Take the wave format validation code from the tests.
mmdevapi/tests: Further tweak some corner-case tests.
winmm/tests: Further tweak some corner-case tests.
winmm: Do not try to convert sample rate or channel count.
winmm: Hard code the list of supported formats.
wineoss.drv: Describe 24-bit samples with AFMT_S24_PACKED when not on FreeBSD.
wineoss.drv: Reject wave formats with invalid bits.
Hans Leidekker (10):
winhttp/tests: Don't send more data than the receive buffer can hold.
winhttp: WinHttpQueryDataAvailable() fails before a response has been received.
winhttp: Don't report data available for certain response statuses, even if there is data.
winhttp: Clear response headers after do_authorization().
winhttp: Also do NTLM autorization when credentials are set between requests.
winhttp: Introduce a stream abstraction.
winhttp: Add decompression support.
include: Update definition of CERT_CHAIN_ENGINE_CONFIG.
crypt32: Trace CERT_CHAIN_ENGINE_CONFIG fields in CertCreateCertificateChainEngine().
hnetcfg: Improve fw_manager_IsPortAllowed() stub.
Jacek Caban (11):
tools: Treat -windows-gnu target as an LLVM-based toolchain.
configure: Default to mingw mode on 32-bit ARM targets.
vcruntime140: Add new and delete operators implementation to CRT library.
vcruntime140: Add __type_info_root_node implementation.
vcruntime140: Add support for MSVC thread-safe constructor initialization.
vcruntime140: Add type_info vtbl to the import library.
libs: Import libc++ from upstream LLVM version 8.0.1.
libs: Import libunwind from upstream LLVM version 8.0.1.
libs: Import libc++abi from upstream LLVM version 8.0.1.
fluidsynth: Import upstream release 2.4.3.
winegcc: Add default C++ libraries when using msvcrt.
Kun Yang (1):
comctl32/tests: Test creating an imagelist with an excessively large initial image count.
Louis Lenders (1):
ole32: Add stub for CoRegisterActivationFilter.
Marc-Aurel Zent (1):
winemac: Avoid matching scan code 0 in GetKeyNameText.
Michael Green (1):
winhttp: Implement WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT.
Nello De Gregoris (4):
server: Allow creating directory kernel objects.
ntoskrnl.exe/tests: Add tests for directory kernel objects.
ntoskrnl.exe: Implement FsRtlGetFileSize().
ntoskrnl.exe/tests: Add tests for FsRtlGetFileSize().
Nikolay Sivov (4):
mfplay: Remove incorrect fixme for MFP_EVENT_TYPE_ERROR.
d2d1: Do not reference layer objects when recording to the command list.
msxml3/sax: Do not attempt to add default attributes for definitions without values.
dwrite: Handle zero-length name strings.
Paul Gofman (9):
win32u: Set VendorId / DeviceId in DirectX registry key with correct size.
shell32: Return S_OK from IShellLinkW_fnSetPath for nonexistent paths.
shell32: Remove trailing backslash in IShellLinkW_fnSetPath().
wshom.ocx: Implement WshShortcut_get_TargetPath().
wshom.ocx: Load shell link in WshShortcut_Create().
include: Add IMFMediaEngineClassFactoryEx and IMFMediaEngineClassFactory2 definitions.
mfmediaengine: Add IMFMediaEngineClassFactoryEx interface.
server: Cache timezone bias adjustment in set_user_shared_data_time().
comctl32/static: Set HALFTONE StretchBlt mode in STATIC_PaintBitmapfn().
Piotr Caban (3):
ntdll: Read last error from wow teb in unixlib RtlGetLastWin32Error.
user32/tests: Test static control extra window data access.
user32: Make static control internal data private.
Piotr Pawłowski (1):
comctl32/treeview: Fixed missing redraw of item being unfocused.
Robert Gerigk (4):
jscript: Treat empty string as NULL in GetScriptDispatch.
vbscript: Treat empty string as NULL in GetScriptDispatch.
windowscodecs: Implement IWICFormatConverter for BlackWhite pixel format.
hidclass.sys: Report correct device type for HID device objects.
Rémi Bernon (5):
setupapi: Cleanup SetupDiGetClassDescription(Ex)(A|W) code style.
setupapi: Reimplement SetupDiGetClassDescriptionExW using cfgmgr32.
setupapi: Forward CM_Get_Device_Interface_List(_Size)(_Ex)(A|W) to cfgmgr32.
setupapi: Use CM_Locate_DevNode_ExW to allocate devnode.
setupapi: Use CM_Get_Device_IDW to get devnode device.
Santino Mazza (2):
msvcrt: Fastfail if _CALL_REPORTFAULT is set.
msvcrt: Call abort at the end of _wassert.
Stefan Dösinger (5):
d3d8: Build a valid box in d3d8_vertexbuffer_Lock.
d3d8: Build a valid box in d3d8_indexbuffer_Lock.
ddraw/tests: Fix vertex winding in test_ck_rgba.
ddraw/tests: Fix vertex winding in test_zenable.
ddraw/tests: Fix vertex winding in test_texture_wrong_caps.
Sven Baars (1):
winegcc: Remove unused libgcc variable.
Trent Waddington (3):
cmd: Ensure that for_ctrl->set is non-NULL at parse time.
findstr/tests: Add tests for start-of-word at start of line.
findstr: Support start word position \\< at start of line.
Vitaly Lipatov (1):
taskschd: Implement IRepetitionPattern for trigger objects.
Zhao Yi (2):
wbemprox: Correct IP address order when calling Win32_NetworkAdapterConfiguration.
wbemprox/tests: Test the IP address order obtained by calling Win32_NetworkAdapterConfiguration.
Zhiyi Zhang (17):
wintypes: Return S_OK for api_information_statics_IsMethodPresent().
ninput/tests: Add tests for INTERACTION_CONTEXT_PROPERTY_INTERACTION_UI_FEEDBACK property.
ninput: Handle INTERACTION_CONTEXT_PROPERTY_INTERACTION_UI_FEEDBACK property.
ninput: Add BufferPointerPacketsInteractionContext() stub.
ninput: Implement getting and setting interaction configuration.
ninput/tests: Add tests for getting and setting interaction configuration.
ninput: Add GetStateInteractionContext() stub.
ninput: Add ProcessBufferedPacketsInteractionContext() stub.
shcore: Add RecordFeatureUsage() stub.
icuuc: Add dll.
icuin: Add dll.
comctl32/tests: Add more tests for TCS_OWNERDRAWFIXED.
comctl32/tab: Use a clip region to protect the tab item background.
icu/tests: Add initial tests.
user32: Add DelegateInput() stub.
user32: Add UndelegateInput() stub.
comctl32/imagelist: Limit the initial image count.
Zhou Qiankang (1):
ntdll: Avoid expensive inverted DST check on get_timezone_info() cache hit path.
```
March 20, 2026
Wine release 11.4
by Alexandre Julliard
The Wine development release 11.4 is now available.
What's new in this release:
- SAX reader reimplemented in MSXML.
- Resampling optimizations in DirectSound.
- Beginnings of a proper CFGMGR32 implementation.
- Better Unix timezone matching.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.4.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.4/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.4 (total 17):
- #14713 Xara Xtreme 4: Resizing handles not visible
- #16957 CreateProcess handles are inherited even when bInheritHandles=FALSE
- #24851 Explorer++ treeview shows plus signs even when a folder contains no subfolders
- #36686 CodeGear RAD Studio 2009 fails on startup (ISAXXMLReader::putFeature method needs to support 'normalize line breaks' feature)
- #42024 FL Studio 12.4 installer, Janetter 4.1.1.0 crash on missing HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable key
- #42027 Xilinx Vivado 2014.4 installer fails: systeminfo is a stub
- #49393 Gag game crash
- #52330 iZotope software authorization process fails
- #55739 Native Access 2: permanent loading circle after entering credentials
- #57415 ROMCenter crash after creating database > IO Exception cannot locate resource images/defaultsystemicon.png (MONO 8.1 is the problem)
- #58505 SSFpres search window appears behind main window since Wine 10.5
- #59140 Bug avec le logiciel pronote pendant sa mise à jour
- #59329 C++ catch() use-after-free with std::rethrow_exception()
- #59342 Roblox Studio needs msvcp140.dll.?_Xregex_error@std@@YAXW4error_type@regex_constants@1@@Z
- #59449 FormatMessageW fails for well-formed function call and crashes application
- #59455 Disappearing TreeView items on TVM_INSERTITEM+TVM_EXPAND+TVM_EDITLABEL
- #59462 wine-staging fails to build due to unable to find -lvkd3d
### Changes since 11.3:
```
Adam Markowski (2):
po: Update Polish translation.
po: Update Polish translation.
Akihiro Sagawa (4):
winmm/tests: Add end position tests for avivideo.
mciavi32: Fix handling of the end position in the play command.
mciavi32: Fix handling of the end position in the seek command.
mciavi32: Fix handling of the end position in the step command.
Alexandre Julliard (14):
makedep: Only allow non-msvcrt sources to depend on config.h.
makedep: Remove the is_external flag.
makefiles: Specify external modules in the main makefile.
configure: Don't bother setting MSVCRT flags for PE-only builds.
include: Add some C++ floating point functions.
include: Move math defines to a new corecrt_math_defines.h file.
include: Define the locale variants of all the printf functions.
makefiles: Simplify compiler-rt usage.
winecrt0: Move to the libs directory.
include: Add __popcnt intrinsics.
include: Add nullptr_t definition for C++.
include: Add a few C++ exception classes.
include: Duplicate the contents of rtlsupportapi.h inside winnt.h.
include: Avoid redefinition warnings for STATUS_ codes.
Alistair Leslie-Hughes (5):
propsys: Add more System Device Properties.
include: Add IDataTransferManagerInterop interface.
include: Windows.ui.viewmanagement add IReference<UIElementType> interface.
include: Add windows.ui.text.idl.
include: Add windows.ui.text.core.idl.
Andrew Nguyen (1):
winmm: Return MMSYSERR_INVALPARAM for NULL lpFormat in waveOutOpen.
Anton Baskanov (15):
dsound: Remove the unused freqneeded field.
dsound: Don't use double-precision arithmetic in the resampler.
dsound: Do the subtraction before converting to float to improve rem precision.
dsound: Use the modulus operator instead of divide-multiply-subtract.
dsound: Multiply by dsbfirstep after calculating the modulus.
dsound: Get rid of fir_copy.
dsound: Resample one channel at a time.
dsound: Resample into a temporary buffer.
dsound: Remove asserts from the resampling loop.
dsound: Factor out resampling.
dsound: Split resample into separate downsample and upsample functions.
dsound: Don't apply firgain in upsample.
dsound: Don't pass dsbfirstep to upsample.
dsound: Use a fixed upsampling loop boundary.
dsound: Don't invert the remainder twice in upsample.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Bernhard Kölbl (7):
mmdevapi/tests: Simplify a trace.
mmdevapi/tests: Check device friendly name pattern.
mmdevapi: Adjust device names.
winmm/tests: Test digital-video window behavior for audio files.
msvfw32/tests: Add a basic audio playback test.
msvfw32: Only attempt to set a digital-video window, when the driver has a window itself.
windows.media.speech: Implement IVectorView<VoiceInformation> on top of a stub provider.
Bernhard Übelacker (2):
mmdevapi/tests: Use temporary during reallocation (ASan).
winmm/tests: Reserve additional memory in test_formats (ASan).
Brendan McGrath (5):
mf/tests: Fix potential race conditions in test.
mf: Drop events and end draining on MFT flush.
mf/tests: Test presentation clock with custom time source.
mf: Don't async notify a sink that is also the time source.
mf: Implement IMFTimer using a periodic callback.
Brendan Shanks (1):
kernelbase: Fix GetNativeSystemInfo() in an x86_64 process on ARM64.
Daniel Lehman (1):
dwrite: Add locales to locale list.
Dmitry Timoshkov (1):
win32u: When looking for duplicates in the external fonts list don't count not external fonts.
Elizabeth Figura (3):
Revert "kernel32/tests: Test whether EA size is returned from FindFirstFile().".
kernelbase: Copy reserved fields in FindFirstFileExA().
ntdll/tests: Accept STATUS_SUCCESS from NtQueryDirectoryFile().
Eric Pouech (8):
windows.media.speech/tests: Add a couple of synthesizer's options tests.
windows.media.speech: Add basic implementation on synthesizer options.
windows.media.speech/tests: Add more tests about IVoiceInformation.
windows.media.speech/tests: Add tests about vector view's content.
windows.media.speech: Add basic implementation of IVoiceInformation.
windows.media.speech/tests: Add more tests about default voice.
windows.media.speech: Select a default voice in synthesizer.
windows.media.speech: Implement get/put voice on synthesizer.
Gabriel Ivăncescu (1):
winex11.drv: Do not set the pending NET_ACTIVE_WINDOW when we're skipping it.
Giovanni Mascellani (11):
mmdevapi/tests: Introduce a helper to format wave formats.
mmdevapi/tests: Introduce a helper to decide whether a wave format is valid.
mmdevapi/tests: Test a curated list of wave formats.
mmdevapi/tests: Tweak test logging a little bit.
mmdevapi/tests: Test capturing with RATEADJUST in exclusive mode more specifically.
winmm/tests: Test playing 24-bit wave formats.
Revert "winmm/tests: Test a few PCM and float wave formats."
winmm/tests: Test a curated list of wave formats.
winmm: Write a null HWAVE when waveOutOpen() fails.
winmm: Initialize the audio client with AUTOCONVERTPCM.
winmm: Interpret S_FALSE from IsFormatSupported() as success.
Herman Semenoff (1):
msvcrt: Add overflow check in _time32().
Huw D. M. Davies (1):
user32/tests: Add mouse in pointer dragging test.
Jacek Caban (8):
winecrt0: Add _tls_used support.
compiler-rt: Import emutls.c.
msvcrt: Add __ExceptionPtrSwap implementation.
msvcp140: Add __ExceptionPtrSwap implementation.
gitlab: Install mingw g++ packages.
compiler-rt: Backport ARM64EC assembly.h changes.
compiler-rt: Import aarch64 chkstk.S.
makedep: Use compiler-rt when explicitly importing winecrt0.
Maotong Zhang (1):
compiler-rt: Add __ctzdi2 to fix i386 MinGW builds.
Nello De Gregoris (1):
ntoskrnl.exe: Add stub for KdChangeOption().
Nick Kalscheuer (1):
wined3d: Add description for NVIDIA A10G GPU.
Nikolay Sivov (24):
msxml3/writer: Return success from putDocumentLocator().
msxml3/tests: Add a test for newlines handling in the writer.
msxml3/tests: Use wide-char constants in more places.
msxml3/tests: Add a test for newline handling when writing attribute values.
msxml6/tests: Use wide-string literals when possible.
msxml6/tests: Add some tests for newlines handling in the writer.
msxml3/writer: Fix newline handling in the writer.
kernelbase: Add a message string for CRYPT_E_NO_MATCH.
msxml/tests: Separate reader tests in a number of helpers.
msxml/tests: Add more tests for characters events.
msxml3/saxreader: Remove libxml2 dependency in the parser.
msxml3/saxreader: Add support for "max-xml-size" property.
msxml/tests: Add some tests for the "normalize-line-breaks" feature.
msxml4/tests: Add SAX tests.
msxml: Better match newline escaping in the writer.
msxml/tests: Extend PI test with newlines.
msxml3/saxreader: Normalize line breaks in PI text.
msxml3/saxreader: Normalize space characters in attribute values to 0x20.
msxml/saxreader: Add support for "normalize-line-breaks" feature.
msxml/tests: Add some feature setting tests for "exhaustive-errors".
msxml3: Add SAX error messages.
msxml/tests: Add some more tests for the ownerDocument() property.
msxml3/dom: Fix ownerDocument() property for documents.
msxml/tests: Add parentNode() property test for the document nodes.
Pan Hui (1):
comdlg32: Add the implementation of IServiceProvider_fnQueryService to obtain IFolderView2.
Paul Gofman (17):
opengl32: Don't access drawable after wgl_context_flush() in flush_context().
win32u: Also try to use DC own drawable in get_updated_drawable() when context is flushed.
msvcrt: Fix no buffering detection in _fwrite_nolock().
win32u: Better handle flags for mouse in pointer messages.
opengl32: Recognize more glHint attributes.
ntdll/tests: Test which MxCsr from the context is used by SetThreadContext() on x64.
ntdll: Prefer CONTEXT.MxCsr over CONTEXT.FltSave.MxCsr in NtSetContextThread() on x64.
winhttp: Stub WinHttpSetOption(WINHTTP_OPTION_DECOMPRESSION).
server: Create temp files for anonymous mappings with memfd_create() if available.
ntdll: Get current timezone bias from user shared data.
server: FIx timezone bias for timezones defined with inverse DST on Unix.
ntdll: Fix get_timezone_info() for timezones defined with inverse DST on Unix.
ntdll: Factor out read_reg_tz_info().
ntdll: Try to determine system time zone to Windows zone by name.
ntdll: Drop additional TZ matching with match_tz_name().
ntdll: Better search for DST change in find_dst_change().
ntdll: Accept 30min shift in match_tz_date().
Piotr Caban (8):
msvcr100: Fix leak in __ExceptionPtrAssign.
msvcp140: Don't validate callback in _Schedule_chore.
mmdevapi: Don't fail initialization when no drivers were loaded.
winmm: Call WINMM_InitMMDevices once on systems without sound devices.
winmm: Fix endpoint notification callback leak in WINMM_InitMMDevices.
msvcp140: Add _Xregex_error implementation.
ntdll: Fix threadpool timer behavior on system time change.
ntdll: Don't fix gsbase on execution fault exception.
Piotr Pawłowski (1):
comctl32/treeview: Fixed wrong check for currently edited item.
Reyka Matthies (7):
wininet/tests: Skip GetUrlCacheConfigInfo and CommitUrlCacheEntry tests if the functions return ERROR_CALL_NOT_IMPLEMENTED.
wininet/tests: Add tests for seeking beyond end of file.
wininet: Return correct errors and put handle into invalid state when seeking beyond end of file.
include: Add MFNETSOURCE_STATISTICS_SERVICE definition.
wininet: Factor out writing of cache file.
wininet: Do not reset content_pos in reset_data_stream.
wininet: Factor request creation out of HTTP_HttpSendRequestW.
Rémi Bernon (33):
cfgmgr32: Implement CM_Get_Class_Property_Keys(_Ex).
cfgmgr32: Implement CM_Get_Device_Interface_List(_Size)(_Ex)(A|W).
cfgmgr32: Reimplement CM_Get_Device_Interface_Property(_Ex)W.
cfgmgr32: Implement CM_Get_Device_Interface_Property_Keys(_Ex)W.
include: Add vcruntime_exception.h.
include: Add vcruntime_typeinfo.h.
include: Add new.h and vcruntime_new.h.
cfgmgr32/tests: Add results for missing permissions.
cfgmgr32/tests: Skip some localized names tests.
cfgmgr32/tests: Skip some HID devices tests if none are present.
winemac: Call client_surface_present when OpenGL surface gets presented.
cfgmgr32: Fix leak of device info set in DevGetObjectPropertiesEx.
cfgmgr32: Move qsort out of dev_object_iface_get_props.
cfgmgr32: Introduce helpers to collect object property keys.
cfgmgr32: Allocate the property array to its maximum size.
cfgmgr32: Keep properties in the order they were requested.
cfgmgr32: Remove DEV_OBJECT parameter from internal callbacks.
cfrmgr32: Introduce a new dev_get_device_interface_property helper.
cfgmgr32: Initialize device_interface structs in DEV_OBJECT functions.
cfgmgr32: Return BOOL from devprop_filter_matches_properties.
cfgmgr32: Use the new helpers to get device interface property keys.
cfgmgr32: Use the new helpers to read device interface properties.
cfgmgr32: Return LSTATUS from enum_dev_objects callback.
cfgmgr32: Enumerate the registry keys directly in enum_dev_objects.
setupapi: Cleanup SetupDiOpenClassRegKey(Ex)(A|W) code style.
setupapi: Reimplement SetupDiOpenClassRegKeyExW using cfgmgr32.
setupapi: Cleanup SetupDiClassGuidsFromName(Ex)(A|W) code style.
setupapi: Reimplement SetupDiClassGuidsFromNameExW using cfgmgr32.
setupapi: Cleanup SetupDiBuildClassInfoList(Ex)(A|W) code style.
setupapi: Reimplement SetupDiBuildClassInfoListExW using cfgmgr32.
winebus.sys: Prefer hidraw for all VKB (VID 231d) devices.
winex11: Introduce a new window_set_net_wm_fullscreen_monitors helper.
winex11: Continue requesting fullscreen monitors in PropertyNotify handlers.
Sreehari Anil (1):
bcrypt: Improve RSA OAEP parameter handling.
Sven Baars (1):
dsound: Fir.h is no longer a generated file.
Tatsuyuki Ishi (4):
crypt32: Support importing cert-only PKCS blobs in PFXImportCertStore.
crypt32/tests: Add tests for importing cert-only PKCS#12 blobs.
crypt32: Verify MAC before parsing the store in PFXImportCertStore.
shell32: Only compute HASSUBFOLDER if requested.
Twaik Yont (5):
ntdll: Use __builtin_ffs instead of ffs in ldt_alloc_entry.
wineandroid: Force --rosegment for wine-preloader on Android (API < 29, NDK r22+).
wineandroid: Fix desktop init ordering after CreateDesktopW changes.
wineandroid: Sanitize dequeueBuffer result and reject missing buffers.
ntdll: Call virtual_init from JNI_OnLoad to avoid early virtual_alloc_first_teb failure.
Vibhav Pant (9):
windows.devices.bluetooth/tests: Fix test failures on w1064v1507 and w1064v1809.
winebth.sys: Create new GATT service entries on receiving InterfacesAdded for org.bluez.GattService1 objects from BlueZ.
winebth.sys: Create new GATT characteristic entries on receiving InterfacesAdded for org.bluez.GattCharacteristic1 objects from BlueZ.
winebth.sys: Create PDOs for GATT services existing on remote devices.
winebth.sys: Implement IOCTL_WINEBTH_LE_DEVICE_GET_GATT_CHARACTERISTICS for GATT service PDOs.
bluetoothapis/tests: Add tests for calling BluetoothGATTGetCharacteristics with a GATT service handle.
winebth.sys: Add debug helper for DBusMessageIter values.
bluetoothapis: Implement BluetoothGATTGetCharacteristics for GATT service handle objects.
winebth.sys: Ignore incoming method calls that are not from BlueZ.
Yuxuan Shui (1):
winegstreamer: Fix buffer info when returning S_FALSE from ProcessOutput.
Zhiyi Zhang (10):
win32u: Disable keyboard cues by default.
user32/tests: Test SPI_{GET,SET}KEYBOARDCUES.
d2d1/tests: Test brushes with out of range opacity values.
d2d1: Clamp opacity value for brushes.
windows.ui/tests: Add tests for IUISettings_get_AnimationsEnabled().
windows.ui: Implement uisettings_get_AnimationsEnabled().
dwmapi: Add DwmShowContact() stub.
include: Add windows.graphics.display.idl.
windows.graphics: Add stub dll.
windows.graphics: Add IDisplayInformationStatics stub.
Ziqing Hui (3):
mf/tests: Add more presentation clock tests for media sink.
winegstreamer: Implement media_sink_SetPresentationClock.
winegstreamer: Implement media_sink_GetPresentationClock.
```
March 6, 2026
Wine release 11.3
by Alexandre Julliard
The Wine development release 11.3 is now available.
What's new in this release:
- Mono engine updated to version 11.0.0
- Bundled vkd3d upgraded to version 1.19.
- Improved FIR filter in DirectSound.
- More optimizations in PDB loading.
- Light theme renamed to Aero for compatibility.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.3.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.3/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.3 (total 30):
- #40435 42Tags (.NET app) doesn't launch (System.Globalization.CultureNotFoundException: Culture ID 0 (0x0000) is not a supported culture.)
- #44820 Processes might terminate with incorrect exit code due to race-condition when threads are killed during shutdown
- #45343 Multiple apps (Vavoo Webinstaller,Kodi) fail with windows version set to Win7: wmic.exe needs support for "/?" switch
- #46384 Can't run zools backup tool on wine
- #49453 ExtractNow: buttons do nothing / don't work / function (needs comctl32 version 6)
- #50177 War Thunder Launcher doesn't render anything, just spams d2d_geometry_sink_AddArc stubs
- #50449 zdaemon - Program freezes if both keyboard and mouse are used at the same time
- #50814 Adobe Audition 2020 crashes on startup, reporting 'Direct2D Drawbot error' (d2d_device_context_Flush is a stub)
- #54610 fusion:asmcache - 32-bit calls to InstallAssembly(..., NULL) crash on Windows 11
- #54636 fusion:asmenum - test_enumerate() fails on Windows 11
- #54656 The winscard tests are not run on the GitLab CI
- #56927 msys2-64/cygwin64: rsync fails with 'Socket operation on non-socket'
- #57435 D2D1GeometrySinc::AddArc() doesn't properly mark end of the figure segment
- #57585 Many games focus poorly when alt-tabbing back into them, without UseTakeFocus=N
- #58582 Rainmeter 4.5.23: crashes on X11 after refreshing default skin Clock.ini
- #58911 doaxvv(DMM) occasionally crashes (WMV playback bug)
- #58978 QuarkXPress 2024 crashes on start with "System.InvalidOperationException: The calling thread must be STA"
- #59005 winhlp / winhelp32: Selecting "Edit > Copy" in Westwood Monopoly (1995) help file crashes
- #59232 Flight Simulator 2000 has flickers and performance issues when rendering the 3D world with a 2D instrument panel in windowed mode
- #59257 RTF clipboard reads randomly chosen string (regression from wine 10)
- #59315 Sysinternals TCPView crashes on unimplemented function IPHLPAPI.DLL.GetOwnerModuleFromTcpEntry
- #59323 Guild Wars 2 crashes with Wine 11.1 and Winewayland enabled with dev builds of DXVK (newer than Jan 23rd)
- #59362 Gdiplus LockBits() flags=0 different behavior than Microsoft implementation
- #59372 Regression: wine completely broken in the presence of non-graphics gl devices since 11.1
- #59403 Missing parameter validation in printf() family of functions
- #59404 Framemaker 8 crashes due to patch to sysparams.c
- #59413 Unable to open a certain PNG image, 'copypixels_to_24bppBGR Unimplemented conversion path'
- #59418 Potential off-by one in swapchain.c
- #59426 iWin Games Manager V4 installer fails to create services
- #59428 Amazon Chime 5.23 installer fails
### Changes since 11.2:
```
Alex Henrie (2):
winhttp: Use the wcsdup function in set_cookies.
winecfg: Use the wcsdup function instead of reimplementing it.
Alexandre Julliard (21):
include: Define more XSTATE bits.
include: Import apisetcconv.h from mingw-w64.
include: Import wtypesbase.idl from mingw-w64.
include: Add intsafe.h based on the mingw-w64 version.
include: Fix POINTSTOPOINT definition.
include: Add IsLFNDrive prototype.
include: Implement strsafe.h based on the mingw-w64 header.
libs: Add strsafe library.
include: Update FMExtensionProc function signature.
d3d11: Use nameless unions/structs.
makedep: Look for explicitly listed header also in the source file directory.
makedep: Use booleans where appropriate.
libs: Remove some unused includes.
include: Always define cdecl.
include: Add GetNumberFormatEx prototype.
msvcrt: Add wcstoimax/wcstoumax.
include: Update timezone variable definitions.
include: Use _CRT_ALIGN in msvcrt headers.
include: Move the div() declaration back into the extern "C" block.
configure: Treat the Windows build as a normal PE build.
vkd3d: Import upstream release 1.19.
Alistair Leslie-Hughes (1):
include: Avoid C++ keyword.
Andrew Nguyen (2):
advapi32/tests: Add additional tests for interactive service creation.
services: Allow ".\LocalSystem" account name for an interactive service.
Anton Baskanov (1):
dsound: Use a better FIR filter generated with the Parks-McClellan algorithm.
Bernhard Übelacker (4):
xaudio2_7/tests: Dynamically load function XAudio2CreateWithVersionInfo.
gdiplus: Allow GdipBitmapLockBits without read/write flags.
ws2_32: Allow using duplicated socket handles in closesocket().
winegstreamer: Use a single call to free the streams array (ASan).
Brendan McGrath (25):
mf/tests: Modify test_seek_clock_sink to be ref counted.
mf/tests: Modify test_media_sink to store test_stream_sink.
mf/tests: Add ClockStateSink to test media sink.
mf/tests: Fix leaks in test source.
mf/tests: Test that there is no pre-roll during scrubbing.
mf/tests: Check that Rate change in PLAY state is ignored.
mf: Make flushing on sample grabber largely a no-op.
mf: Keep count of samples queued.
mf: Always queue a sample unless stopped.
mf: Ensure we always have four requests outstanding/satisfied.
mf: Remove no longer used sample_count and samples array.
mf: Request new sample before processing markers.
mf/tests: Test SAR's IMFRateSupport interface.
mf/tests: Test SAR's IMFPresentationTimeSource interface.
mf/tests: Test SAR's SetPresentationClock.
mf/tests: Test SAR timer with pre-roll and no duration.
mf/tests: Test SAR timer with pre-roll and duration.
mf/tests: Test SAR timer with ENDOFSEGMENT marker.
mf/tests: Test SAR scrubbing start.
mf: Don't perform preroll if we are scrubbing.
mf/tests: Check for GetPresentationClock after MESessionStarted event.
mf/tests: Test sequence of event processing on early sample request.
mf: Fix crash when stream is null during sample request.
mf/tests: Test media sessions sink request count.
mf: Only decrement sink requests on delivery of sample.
Brendan Shanks (3):
win32u: Support real handles to the current process in NtUserGetProcessDpiAwarenessContext().
win32u: Support real handles to the current process in NtUserGetSystemDpiForProcess().
joy.cpl: Avoid hangs when closing the panel.
Conor McCarthy (9):
winegstreamer: Free the stream objects during reader destruction.
mf/tests: Stop checking samples at the end of the expected array.
mf/tests: Change todo to flaky for the H.264 decoder ouput type change test.
mfplat/tests: Test NV12 negative stride in MFCreateMediaBufferFromMediaType().
mf/tests: Test sample copier 2D buffers.
mf/tests: Test H.264 decoder 2D buffers.
mf/tests: Test WMV decoder 2D buffers.
mf/tests: Test color convert 2D buffers.
winegstreamer: Support 2D sample buffer.
Daniel Lehman (1):
cldapi: Add stub dll.
Dmitry Timoshkov (3):
dlls: Rename light.msstyles to aero.msstyles.
uxtheme/tests: Add a test to show that current theme name is supposed to be "aero.msstyles".
windowscodecs: Add fallback path to copypixels_to_24bppBGR().
Elizabeth Figura (11):
ddrawex: Handle NULL desc in EnumDisplayModes().
gdi32/tests: Test AddFontResource() search order.
gdi32: Look for fonts in system32.
wined3d: Remove the "iPixelFormat" field from struct wined3d_pixel_format.
ntdll/tests: Add exhaustive tests for all directory information classes.
kernel32/tests: Test whether EA size is returned from FindFirstFile().
ntdll: Always initialize the reparse tag in get_file_info().
ntdll: Return the reparse tag in EaSize for non-Extd directory classes.
kernelbase: Use FileBothDirectoryInformation in FindFirstFile().
ntdll: Initialize the entire FileId in FileIdExtdBothDirectoryInformation.
ntdll: Initialize LockingTransactionId in FileIdGlobalTxDirectoryInformation.
Eric Pouech (16):
dbghelp/pdb: Remove unused parameter.
dbghelp/pdb: Fix incorrect offset when extracting S_CONSTANT name.
dbghelp/pdb: Introduce iterator over DBI hash entries.
dbghelp/pdb: Set new offset in pdb_reader_symbol_skip_if().
dbghelp/pdb: Split loading of top level objects in compiland stream.
dbghelp: Use symref_t as container for top level functions.
dbghelp/pdb: Load symt_function on demand.
dbghelp/pdb: No longer store symt_function in symt_compiland.
dbghelp/pdb: Construct the global information from the hash table.
dbghelp/pdb: Support rva inside symbol when searching globals.
msvcrt: Ignore negative precision for float args in printf().
include: Add BCRYPT_SUCCESS macro to bcrypt.h.
include: Mark unused arguments as such in ws2tcpip.h.
include/msvcrt: Use the correct stream for wscanf* implementations.
include/msvcrt: Match some constants with intsafe.h.
include/msvcrt: Define gmtime_s() in time.h.
Esme Povirk (5):
gdiplus: Remove an assumption that an enum type is unsigned.
mscoree: Update Wine Mono to 11.0.0.
wine.inf: Add a default association for .reg files.
wow64win: SPI_GETDEFAULTINPUTLANG result is pointer-sized.
windowscodecs: Fix size check in gif copy_interlaced_pixels.
Etaash Mathamsetty (1):
ntoskrnl: Use fastcall for KeInitializeGuardedMutex.
Filip Bakreski (1):
mshtml: Add XMLSerializer implementation.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.344.
Giovanni Mascellani (13):
mmdevapi: Reject wave formats with zero samples per seconds.
mmdevapi: Reject wave formats with zero block alignment.
winecoreaudio.drv: Avoid a division by zero.
winepulse.drv: Avoid a division by zero.
winealsa.drv: Avoid a division by zero.
wineoss.drv: Avoid a division by zero.
winebus.sys: Define BUS_USB if it is missing.
mmdevapi/tests: Reorganize rendering format tests.
mmdevapi/tests: Use test contexts in rendering format tests.
mmdevapi/tests: Introduce a helper to test rendering for a single format.
mmdevapi/tests: Reorganize capturing format tests.
mmdevapi/tests: Use test contexts in capturing format tests.
mmdevapi/tests: Introduce a helper to test capturing for a single format.
Hans Leidekker (3):
bcrypt: Add support for BCRYPT_ECC_CURVE_25519.
bcrypt: Add support for importing and exporting generic ECDH keys.
bcrypt: Compute derived key directly in BCryptSecretAgreement().
Jacek Caban (19):
winebuild: Check for LLVM tool name too when using cc_command in find_tool.
winegcc: Add --cc-cmd option support.
makedep: Pass configured compiler with --cc-cmd to winegcc and winebuild.
include: Add missing extern C to rtlsupportapi.h.
include: Add missing exception macros.
winecrt0: Add support for GCC-style constructors and destructors.
ucrtbase: Add atexit support.
include: Add erfc and nan declarations.
include: Move float_t and double_t declarations from musl.
include: Add at_quick_exit and quick_exit declarations.
include: Don't use div wrappers for PE builds.
include: Add fwide and mbsinit declarations.
configure: Build PE modules with -mlong-double-64.
include: Add long double math function declarations.
compiler-rt: Import more builtin functions.
configure: Use compiler-rt in mingw mode too.
winegcc: Use compiler-rt instead of -lgcc on mingw targets.
include: Don't use explicit alignment for 64-bit msvcrt types on PE targets.
include: Don't use explicit alignment for 64-bit types on PE targets.
Janne Kekkonen (1):
ws2_32: Add stub for WSCInstallProvider64_32.
Matteo Bruni (6):
mmdevapi: Move some declarations to mmdevapi_private.h.
mmdevapi: Allow querying I{Simple,Channel}AudioVolume from IAudioSessionControl.
mmdevapi: Add some traces around session retrieval.
mmdevapi: Add some session_wrapper traces.
dsound: Set all channel volumes to 0 when DSBVOLUME_MIN is passed in.
dsound: Flush denormals in the mixing thread.
Nikolay Sivov (11):
d2d1: Correct arc rotation angles for ellipse segments.
d2d1: Implement arc approximation with Bezier segments.
d2d1: Forward geometry group methods to the path representing the group.
d2d1/tests: Add another test for transformed geometry behavior.
d2d1: Use non-multiplied transform when forwarding transformed geometry methods.
msxml3/tests: Add more tests for createNode().
msxml3: Handle type names in createNode().
msxml3/tests: Add some SAX tests for different encodings.
msxml3/tests: Add doctype SAX parsing test.
msxml3/tests: Use wide strings for property names.
msxml3/tests: Add a test for handler property types in VB API.
Patrick Zacharias (1):
wined3d: Access the right pixel format in swapchain_gl_present().
Paul Gofman (7):
iphlpapi: Implement GetOwnerModuleFromTcpEntry().
iphlpapi: Implement GetOwnerModuleFromTcp6Entry().
win32u: Register WGL_ARB_multisample extension for EGL backend.
win32u: Set pbuffer drawable to internal context in wglBindTexImageARB().
opengl32: Create compatibility context in wrap_wglCreateContext().
win32u: Don't present new drawable in context_sync_drawables().
opengl32: Also bind default framebuffer in pop_default_fbo().
Piotr Caban (4):
riched20: Fix crash when copying text.
ucrtbase: Fix scanset character range handling in scanf.
advapi32: Fix memory leak in ReportEventA.
bcrypt: Support BCRYPT_PBKDF2_ALG_HANDLE pseudo handle.
Piotr Pawłowski (1):
msvcrt: Create copy of C++ exception object in std::rethrow_exception().
Rémi Bernon (32):
winemac: Register clipboard format with NtUserRegisterWindowMessage.
winewayland: Register clipboard format with NtUserRegisterWindowMessage.
winex11: Register clipboard format with NtUserRegisterWindowMessage.
setupapi: Fix some cfgmgr32 function signatures.
cfgmgr32/tests: Add missing newline.
include: Update cfgmgr32.h definitions.
cfgmgr32: Add missing entries to cfgmgr32.spec.
win32u: Ignore EGL device if context cannot be created.
imm32/tests: Add some tests with ImmToAsciiEx bypass.
cfgmgr32: Split sources to separate files.
cfgmgr32: Implement CM_Get_Class_Key_Name(_Ex)(A|W).
setupapi: Forward CM_Get_Class_Key_Name(_Ex)(A|W) to cfgmgr32.
cfgmgr32: Implement CM_Open_Class_Key(_Ex)(A|W).
setupapi: Forward CM_Open_Class_Key(_Ex)(A|W) to cfgmgr32.
cfgmgr32: Cache some common root registry keys.
cfgmgr32: Implement CM_Enumerate_Classes(_Ex).
setupapi: Forward CM_Enumerate_Classes(_Ex) to cfgmgr32.
win32u: Only link client surfaces after they are fully created.
cfgmgr32: Implement CM_Enumerate_Enumerators(_Ex)(A|W).
setupapi: Forward CM_Enumerate_Enumerators(_Ex)(A|W) to cfgmgr32.
cfgmgr32: Implement CM_Open_Device_Interface_Key(_Ex)(A|W).
cfgmgr32: Implement CM_Get_Class_Registry_Property(A|W).
setupapi: Forward CM_Get_Class_Registry_Property(A|W) to cfgmgr32.
cfgmgr32: Implement CM_Get_Class_Property(_Ex)W.
win32u: Don't offset client rect when using D3D present rect.
win32u: Or the GL_FLUSH_INTERVAL flag when updating the swap interval.
user32/tests: Test EnableMouseInPointer message translation.
win32u: Implement NtUserEnableMouseInPointer semi-stub.
ddraw: Pass the active device to material_activate.
win32u: Only update host window state if clip_client changes.
winevulkan: Only filter out CLOCK_MONOTONIC(_RAW)_EXT time domains.
winevulkan: Implement support for VK_EXT_present_timing.
Tim Clem (1):
avicap32: Fail gracefully if V4L is unavailable.
Vibhav Pant (5):
windows.devices.bluetooth/tests: Add initial tests for BluetoothAdapter.
windows.devices.bluetooth: Implement BluetoothAdapter::GetDefaultAsync.
windows.devices.bluetooth: Implement BluetoothAdapter::FromIdAsync.
windows.devices.bluetooth: Implement BluetoothAdapter::get_BluetoothAddress.
bluetoothapis: Simplify BluetoothGATTGetServices.
Viktor Balogh (1):
dinput: Return DIERR_UNSUPPORTED in dinput_device_Escape.
Zhiyi Zhang (7):
comctl32/tests: Add image swapping test for ImageList_Copy().
comctl32/imagelist: Fix swapping images in ImageList_Copy().
d2d1: Return S_OK for d2d_device_context_Flush().
comctl32/tests: Test ACM_OPEN with a NULL LPARAM.
comctl32/animate: Always return FALSE for ACM_OPEN with a NULL LPARAM.
gdi32/tests: Add tests for GdiTransparentBlt() with 32-bit DIB bitmaps.
win32u: Ignore alpha channels for 32-bit DIB bitmaps.
Ziqing Hui (4):
mfreadwrite: Implement stream_create_transforms helper.
mfreadwrite: Rename update_media_type_from_upstream and make it non-static.
mfreadwrite: Implement transforms creation for writer.
mfreadwrite: Create converter if failed to use a single encoder.
```
Feb. 20, 2026
vkd3d release 1.19
by Alexandre Julliard
The vkd3d team is proud to announce that release 1.19 of vkd3d, the 3D
graphics porting library, is now available.
The source is available from the following location:
<https://dl.winehq.org/vkd3d/source/vkd3d-1.19.tar.xz>
The current source can also be pulled directly from either of these git
repositories:
<https://gitlab.winehq.org/wine/vkd3d.git>
<https://codeberg.org/vkd3d/vkd3d.git>
Vkd3d is available thanks to the work of multiple people. See the file AUTHORS
for the complete list.
# What's new in vkd3d 1.19
### libvkd3d
- Barriers are inserted as required between render passes targeting the same
images. Typical desktop GPUs tend to not care much about these, but this is
important for correctness on tile-based renderers.
- The ‘minimum’ and ‘maximum’ texture filtering reduction modes are supported.
### libvkd3d-shader
- Much improved handling of clip and cull distance shader input/output arrays
for SPIR-V targets. Direct3D source formats represent clip and cull
distances as 2 4-component registers, while SPIR-V represents them as scalar
arrays. The previous code for mapping between these conventions was
unfortunately relatively fragile and unable to handle a number of cases.
- Several new features and improvements for the HLSL source type:
- Effects (FX) target profiles can output embedded shader blobs. These are
created by the CompileShader() and ConstructGSWithSO() intrinsic
functions.
- Statically initialised variables are considered to be static expressions.
For example, ‘int count = 4; float4 array[count];’ is now accepted as
valid by the compiler.
- Store operations to ‘RWStructuredBuffer’ resources.
- Load operations from structured thread group shared memory.
- Copy operations involving structured resources.
- Casts of floating-point constants to Boolean values now correctly fold any
non-zero value to ‘true’. Previously ‘(bool)0.25f’ for example would get
constant folded to ‘false’.
- The ‘static’ storage-class specifier is allowed on functions.
- The ‘Buffer’, ‘StructuredBuffer’, and ‘ByteAddressBuffer’ types are
supported in effects (FX) target profiles.
- The following legacy Direct3D byte-code instructions are implemented:
- dp2add
- loop/endloop
- lrp
- nrm
- pow
- rep/endrep
- When the VKD3D_SHADER_DUMP_PATH environment variable is used to dump input
and output shaders, compilation messages like errors and warnings produced
by the compiler will be dumped as well.
- New interfaces:
- The VKD3D_SHADER_PARAMETER_NAME_PROJECTED_TEXTURE_MASK shader parameter
specifies which textures in a shader model 1.0-1.3 pixel shader should be
considered to be projected textures.
### build
- New environment variables:
- VKD3D_TEST_WRAPPER can be used to wrap test execution.
### Changes since vkd3d 1.18:
```
Anna (navi) Figueiredo Gomes (12):
tests/hlsl: Add const scalar array dimension tests.
vkd3d-shader/hlsl: Store statically initialized constant scalars/vectors in ctx->static_initializers.
vkd3d-shader/hlsl: Unify add_shader_compilation() cleanup.
vkd3d-shader/hlsl: Store parsed values in hlsl_ir_compile().
tests/hlsl: Add effect CompileShader() tests.
vkd3d-shader/fx: Add HLSL_CLASS_GEOMETRY_SHADER to helper functions.
vkd3d-shader/fx: Implement shader assignment.
vkd3d-shader/fx: Implement shader initializers.
vkd3d-shader/fx: Introduce write_var_type().
vkd3d-shader/fx: Implement ConstructGSWithSO().
vkd3d-shader/fx: Handle HLSL_IR_INDEX assignments.
tests/shader_runner: Support requiring runner tags in [require] sections.
Conor McCarthy (9):
vkd3d-shader/dxil: Emit branch instructions during parsing.
vkd3d-shader/dxil: Emit switch instructions during parsing.
vkd3d-shader/dxil: Emit return instructions during parsing.
vkd3d-shader/dxil: Emit an error if a return instruction has operands.
vkd3d-shader/dxil: Initialise or validate forward-referenced values in a helper function.
vkd3d-shader/dxil: Move relative index validation outside sm6_parser_get_value_index().
vkd3d-shader/dxil: Emit phi instructions during parsing.
vkd3d-shader/dxil: Get rid of struct sm6_block.
vkd3d: Implement sampler min/max reduction filtering.
Elizabeth Figura (9):
vkd3d-shader: Implement shader model 1.0-1.3 texture projection.
vkd3d-shader/hlsl: Calculate the bind count from the vector width.
vkd3d-shader/hlsl: Handle HLSL_CLASS_VECTOR in hlsl_regset_index_from_deref().
vkd3d-shader/hlsl: Avoid creating "index-val" synthetic temps if we can detect the variable was unmodified.
vkd3d-shader/hlsl: Return an error instruction from add_call() on failure.
tests/hlsl: Add more tests for function modifiers.
vkd3d-shader/hlsl: Allow "static" on functions.
vkd3d-shader/hlsl: Rename HLSL_MODIFIER_EXPORT to HLSL_STORAGE_EXPORT.
vkd3d-shader/preproc: Add a terminating ] or } to the last macro argument.
Evan Tang (3):
vkd3d: Add barriers between render passes to the same image.
tests/d3d12: Add some missing UAV barriers after UAV clears.
vkd3d: Print an error before freezing due to needing timeline semaphores.
Francisco Casas (40):
tests/hlsl: Test clip/cull distance inputs.
tests/hlsl: Test clip distance semantic indexes above the 0-1 range.
vkd3d-shader/ir: Introduce vsir_opcode_is_fork_or_join_phase().
vkd3d-shader/ir: Introduce vsir_opcode_is_control_point_phase().
vkd3d-shader/ir: Assign new register indexes to clip plane signature elements.
vkd3d-shader/ir: Introduce vsir_signature_element_is_array().
vkd3d-shader/ir: Transform clip/cull inputs/outputs into arrays.
tests/hlsl: Test clip/cull distance semantics as arrays.
vkd3d-shader/spirv: Remove the unused "array_element_mask field" from struct vkd3d_shader_output_info.
tests/shader_runner: Introduce struct input_layout.
tests/shader_runner: Restore the input layout after "draw quad" operations.
tests/shader_runner: Avoid segfaults on missing signature elements.
tests/hlsl: Don't test values of clip distance array addressing tests on Windows.
tests/shader_runner: Implement support for d3dbc integer constants.
tests/hlsl: Test SM3 loops with user-provided integer registers.
tests/hlsl: Test SM3 loops with shader-defined int registers.
tests/hlsl: Test SM3 loops with gradient instructions.
tests/hlsl: Test SM3 shaders that use the `loop` instruction.
tests/hlsl: Add additional SM3 loop tests to discern when user-defined ints are used.
tests/d3dbc: Add two SM3 loop tests.
vkd3d-shader: Add VKD3D_SHADER_BLOCK_REP as a breakable cf_info.
vkd3d-shader/d3d-asm: Indent REP blocks.
vkd3d-shader/tpf: Use vkd3d_shader_verror() to report errors.
vkd3d-shader/d3dbc: Fail compilation on LOOP instructions.
vkd3d-shader/ir: Lower REP and ENDREP d3dbc instructions.
vkd3d-shader/d3d-asm: Fix a comment in shader_print_dcl_usage().
vkd3d-shader/ir: Actually retrieve the indexable temporary count in vsir_program_get_idxtemp_count().
vkd3d-shader/ir: Remove unnecessary program traces from vsir_program_normalise_sysval_array().
tests/d3dbc: Add SM3 tests for loop instructions.
tests/d3dbc: Test addressing a constant buffer with the vs_2_0 loop instruction.
vkd3d-shader/d3dbc: Initialise CONSTINT and CONSTBOOL registers with the proper vsir data type.
vkd3d-shader/ir: Lower d3dbc loop instructions.
vkd3d-shader/ir: Copy inputs to an IDXTEMP when there is vN[aL] access.
vkd3d-shader/d3dbc: Add a used_mask to all input registers on indirect addressing.
vkd3d-shader/hlsl: Initialize all blocks before any 'goto fail'.
vkd3d-shader/hlsl: Unroll loops one at the time.
vkd3d-shader/ir: Don't reach unreacheable code in vsir_dst_operand_io_normalise().
vkd3d-shader/hlsl: Make "intrinsic" const in add_call().
vkd3d-shader/fx: Make "state" const in fx_4_parse_state_object_initializer().
tests/vkd3d_shader_api: Avoid a 'const' discard warning in test_emit_signature().
Giovanni Mascellani (146):
vkd3d-shader: Explicitly initialize the parser status to VKD3D_OK.
vkd3d-shader/dxil: Parse the parameter attribute group records.
vkd3d-shader/dxil: Parse well-known attributes in parameter attribute groups.
vkd3d-shader/dxil: Parse well-known attributes with numeric value in parameter attribute groups.
vkd3d-shader/dxil: Parse string attributes in parameter attribute groups.
vkd3d-shader/dxil: Parse string attributes with string value in parameter attribute groups.
tests/shader_runner_d3d12: Do not leave a root signature around between draw calls.
tests/shader_runner_d3d12: Do not keep a free list for pipeline states.
tests/shader_runner_d3d12: Lay out the descriptor heap as suggested by descriptor mappings.
tests/shader_runner: Keep a single array of shader model strings.
tests/shader_runner: Use SHADER_MODEL_MAX to represent the maxium supported shader model.
tests/hlsl: Test SM6.6 dynamic resources.
vkd3d-shader/dxil: Check the fields of well-known structure types.
tests/shader_runner_vulkan: Support explicit descriptor mapping.
tests/d3d12: Avoid a warning about passing a pointer to a const uninitialized object.
ci: Set the macOS runner timeout to ten minutes.
vkd3d-shader/dxil: Move the function emission state outside the opcode switch.
vkd3d-shader/dxil: Pass function emission state to sm6_parser_emit_alloca().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_alloca().
vkd3d-shader/dxil: Take the record from the function emission state in sm6_parser_emit_atomicrmw().
vkd3d-shader/dxil: Handle allocation failure in sm6_parser_emit_atomicrmw().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_atomicrmw().
vkd3d-shader/dxil: Parse parameter attribute records.
vkd3d-shader/dxil: Set the attribute group count to zero if allocation fails.
tests/hlsl: Test the default denormalized mode.
vkd3d-shader/dxil: Parse the f32 denormalization mode.
tests/hlsl: Fix the render target format for arithmetic-float-uniform.shader_test.
tests/d3dbc: Relax the precision for some nrm tests.
tests: Do not put storage buffer descriptors in the descriptor pool.
vkd3d: Remove unused field storage_buffer_max_descriptors from vkd3d_device_descriptor_limits.
vkd3d: Rename the struct vkd3d_device_descriptor_limits fields.
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_binop().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_binop().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_br().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_br().
vkd3d-shader/dxil: Take the record from the function emission state in sm6_parser_emit_call().
vkd3d-shader/dxil: Remove sm6_parser_emit_unhandled().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_unary().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_atomic_binop().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_barrier().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_buffer_load().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_raw_buffer_load().
vkd3d-shader/dxil: Use sm6_parser_add_function_instruction() in sm6_parser_emit_reg_composite_construct().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_buffer_store().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_buffer_update_counter().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_calculate_lod().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_cbuffer_load().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_dx_input_register_mov().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_input_register_mov().
vkd3d-shader/dxil: Do not access unallocated instructions in sm6_parser_emit_dx_create_handle().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_stream().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_discard().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_domain_location().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_dot().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_eval_attrib().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_fabs().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_compute_builtin().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_ma().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_binary().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_get_dimensions().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_tertiary().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_load_input().
tests/hlsl: Add more direct SM<6 clip/cull distance array tests.
vkd3d-shader/dxil: Do not advance the instruction pointer in sm6_parser_emit_dx_get_dimensions().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_make_double().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_quad_op().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_raw_buffer_store().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_get_sample_count().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_get_sample_pos().
tests/hlsl: Test load/sample status and CheckAccessFullyMapped().
vkd3d-shader/dxil: Emit warnings for unrecognised DXIL structures.
vkd3d-shader/dxil: Recognise dx.types.ResRet.f32 structures.
vkd3d-shader/dxil: Recognise dx.types.ResRet.i32 structures.
vkd3d-shader/dxil: Recognise dx.types.CBufRet.f32 structures.
vkd3d-shader/dxil: Recognise dx.types.CBufRet.i32 structures.
vkd3d-shader/dxil: Remove the "reg_type" field from struct sm6_descriptor_info.
vkd3d-shader/dxil: Remove the "reg_data_type" field from struct sm6_descriptor_info.
vkd3d-shader/dxil: Use resource_kind_is_texture() in sm6_value_validate_is_texture_handle().
vkd3d-shader/dxil: Introduce resource_kind_is_buffer().
vkd3d-shader/dxil: Use resource_kind_is_texture() in sm6_parser_emit_dx_get_dimensions().
vkd3d-shader/dxil: Validate the types of SSA values.
vkd3d-shader/dxil: Parse aggregate constants.
vkd3d-shader/dxil: Parse null structure constants.
vkd3d-shader/d3d-asm: Dump the denormal modes.
vkd3d-shader/dxil: Preserve f64 denormals if they're used in the shader.
vkd3d-shader/tpf: Preserve f64 denormals if they're used in the shader.
vkd3d-shader/ir: Introduce the f16 denormal mode.
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_sample().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_sample_index().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_saturate().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_split_double().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_store_output().
vkd3d-shader/dxil: Use resource_kind_is_texture() in sm6_parser_emit_dx_atomic_binop().
vkd3d-shader/dxil: Use resource_kind_is_multisampled() in sm6_parser_emit_dx_texture_load().
vkd3d-shader/dxil: Use resource_kind_is_texture() in sm6_parser_emit_dx_texture_load().
vkd3d-shader/dxil: Remove the "resource_type" field from struct sm6_descriptor_info.
vkd3d-shader/dxil: Recognise dx.types.CBufRet.f64 structures.
vkd3d-shader/dxil: Recognise dx.types.CBufRet.i64 structures.
vkd3d-shader/dxil: Recognise dx.types.CBufRet.i16 structures.
vkd3d-shader/dxil: Recognise dx.types.CBufRet.f16 structures.
vkd3d-shader/dxil: Recognise dx.types.ResRet.f16 structures.
vkd3d-shader/dxil: Recognise dx.types.ResRet.i16 structures.
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_texture_gather().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_texture_load().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_texture_store().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_wave_active_ballot().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_wave_active_bit().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_wave_op().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_void().
vkd3d-shader/dxil: Recognise dx.types.SamplePos structures.
vkd3d-shader/dxil: Recognise dx.types.ResBind structures.
vkd3d-shader/dxil: Recognise dx.types.ResourceProperties structures.
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_cast().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_cast().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_cmp2().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_cmp2().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_cmpxchg().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_cmpxchg().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_extractval().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_extractval().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_gep().
vkd3d-shader/dxil: Do not access unallocated instructions in sm6_parser_emit_gep().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_load().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_load().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_phi().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_phi().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_ret().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_ret().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_store().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_store().
tests/d3dbc: Relax the precision for some POW tests.
tests/hlsl: Mark some modulo tests as buggy on NVIDIA.
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_switch().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_switch().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_vselect().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_vselect().
vkd3d-shader/dxil: Assume that all control paths update the instruction count.
vkd3d-shader/dxil: Do not store a pointer to the current instruction in the function state any more.
vkd3d-shader/dxil: Apply the precise modifier to all vsir instructions generated by a DXIL instruction.
vkd3d-shader/dxil: Pass the function emission state to sm6_function_emit_label().
vkd3d-shader/dxil: Allocate instructions directly in dxil_emit_function_label().
vkd3d-shader/dxil: Do not preallocate vsir instructions.
vkd3d-shader/ir: Avoid a "may be used uninitialized" warning in vsir_program_lower_d3dbc_loops().
vkd3d-shader/dxil: Destroy instruction arrays with shader_instruction_array_destroy().
vkd3d-shader/dxil: Use iterators in sm6_function_emit_instructions().
vkd3d-shader/dxil: Generate MOVs for trivial casts.
Henri Verbeet (84):
tests/hlsl: Avoid sampling on texel edges in ps1-projection.shader_test.
vkd3d-shader/ir: Move "has_descriptor_info" and "has_no_modifiers" to struct vsir_normalisation_flags.
vkd3d-shader: Introduce vkd3d_shader_string_from_message_context().
tests/hlsl: Add a sampler min/max reduction filtering test.
tests/d3dbc: Add some tests for nrm instructions.
vkd3d-shader/ir: Lower VSIR_OP_NRM instructions.
tests/d3dbc: Add some tests for lrp instructions.
vkd3d-shader/ir: Lower VSIR_OP_LRP instructions.
vkd3d-shader/ir: Rename struct vkd3d_shader_dst_param to struct vsir_dst_operand.
vkd3d-shader/ir: Rename struct vkd3d_shader_src_param to struct vsir_src_operand.
tests/d3dbc: Add some tests for dp2add instructions.
vkd3d-shader/ir: Lower VSIR_OP_DP2ADD instructions.
vkd3d-shader: Dump compilation messages as well.
tests/shader_runner: Do not match tags that aren't present.
tests/shader_runner: Introduce read_literal().
tests/shader_runner: Introduce struct uniform_buffer.
tests/d3dbc: Add some tests for pow instructions.
vkd3d-shader/ir: Lower VSIR_OP_POW instructions.
tests/shader_runner: Return the resource type and slot from parse_resource_reference().
tests/shader_runner: Expect the "<type>-<slot>" format in parse_resource_reference().
tests/shader_runner: Use parse_resource_reference() and read_literal() to implement clear operations.
tests/shader_runner: Use parse_resource_reference() to implement probe operations.
tests/shader_runner: Use parse_resource_reference() to implement write operations.
vkd3d-shader/ir: Trace the progam on failure in vsir_transform_().
vkd3d-shader/ir: Take the register count into account in vsir_program_add_fog_input().
tests/hlsl: Require the wave-ops capability for wave-reconvergence.shader_test.
tests/shader_runner_vulkan: Use storage image reads without format if supported.
tests/shader_runner_vulkan: Require "shaderStorageImageReadWithoutFormat" for typed UAV loads.
tests/shader_runner_vulkan: Allow unused input elements.
tests/shader_runner_vulkan: Add a DXIL run.
tests/shader_runner_vulkan: Add support for wave operations.
tests/shader_runner_vulkan: Free the compiled shader on failure in compile_hlsl_and_scan().
tests/shader_runner_vulkan: Free compiled shaders on error paths. (Valgrind)
vkd3d-shader/dxil: Free attribute group attributes on cleanup. (Valgrind)
vkd3d-shader/ir: Reset "ins" after invalidating it in vsir_program_normalise_sysval_array(). (Valgrind)
vkd3d-shader/ir: Free the "semantic_name" field of the removed element in vsir_program_remove_signature_element().
vkd3d-shader/hlsl: Cleanup "body" and "patch_body" in hlsl_emit_vsir(). (Valgrind)
vkd3d-shader/hlsl: Cleanup "initializer_block" on error paths in hlsl_emit_vsir(). (Valgrind)
vkd3d-shader: Introduce vkd3d_shader_code_from_bytecode_buffer().
vkd3d-shader: Introduce vkd3d_bytecode_buffer_cleanup().
vkd3d-shader/hlsl: Avoid leaking the output buffer on HLSL context errors in sm4_generate_rdef(). (Valgrind)
vkd3d-shader/hlsl: Avoid leaking the output buffer on HLSL context errors in sm1_generate_ctab().
vkd3d-shader/dxbc: Avoid leaking the output buffer on errors in vkd3d_shader_serialize_dxbc().
vkd3d-shader/fx: Avoid leaking the output buffer on HLSL context errors in hlsl_fx_2_write(). (Valgrind)
vkd3d-shader/fx: Avoid leaking the output buffer on HLSL context errors in hlsl_fx_4_write().
vkd3d-shader/fx: Avoid leaking the output buffer on HLSL context errors in hlsl_fx_5_write().
vkd3d-shader/fx: Do not allocate entries for anonymous types in write_type(). (Valgrind)
vkd3d-shader/fx: Avoid accessing "entry" after freeing it in decompose_fx_4_state_function_call(). (Valgrind)
vkd3d-shader/hlsl: Avoid leaking "body" in lower_f16tof32(). (Valgrind)
vkd3d-shader/hlsl: Avoid leaking "body" in lower_f32tof16(). (Valgrind)
vkd3d-shader/hlsl: Avoid leaking "body" in lower_isinf(). (Valgrind)
vkd3d-shader/hlsl: Avoid leaking type name strings for unsigned types. (Valgrind)
vkd3d-shader/hlsl: Avoid leaking method name strings. (Valgrind)
vkd3d-shader/ir: Properly determine the defined block count in vsir_cfg_init(). (Valgrind)
vkd3d-shader/hlsl: Avoid leaking modifier name strings. (Valgrind)
vkd3d-shader/hlsl: Avoid leaking base type name strings on error paths. (Valgrind)
vkd3d-shader/hlsl: Add a destructor for name strings. (Valgrind)
vkd3d-shader/hlsl: Do not create name strings for KW_CONSTANTBUFFER tokens. (Valgrind)
vkd3d-shader/hlsl: Avoid leaking expression blocks on "array" rule error paths.
vkd3d-shader/tpf: Avoid leaking the output buffer on errors in tpf_write_signature().
tests: Only read the requested component count in check_readback_data_vec_(). (Valgrind)
vkd3d-shader/hlsl: Add a destructor for attribute lists. (Valgrind)
vkd3d-shader/hlsl: Rename free_parse_initializer() to cleanup_parse_initializer().
vkd3d-shader/hlsl: Add a destructor for initialiser lists. (Valgrind)
vkd3d-shader/hlsl: Add a destructor for state blocks. (Valgrind)
vkd3d-shader/hlsl: Introduce hlsl_func_parameters_cleanup().
vkd3d-shader/hlsl: Avoid leaking redundant function declarations. (Valgrind)
vkd3d-shader/hlsl: Add a destructor for function parameters. (Valgrind)
readme: Provide a slightly more detailed overview of vkd3d.
vkd3d-shader/hlsl: Avoid leaking the (empty) return block on error for returns without value. (Valgrind)
vkd3d-shader/hlsl: Avoid leaking the RHS block on error for assignment expressions. (Valgrind)
vkd3d-shader/hlsl: Avoid leaking conditional expression blocks on error. (Valgrind)
tests/hlsl_d3d12: Avoid leaking the "errors" blobs in test_compile_null_terminator(). (Valgrind)
tests/vkd3d_shader_api: Avoid leaking compiled shaders in test_parameters(). (Valgrind)
tests/vkd3d_shader_api: Avoid leaking "compiler" in test_scan_signatures(). (Valgrind)
tests/shader_runner: Avoid leaking "shader_source" in run_shader_tests(). (Valgrind)
tests/test-driver: Get rid of the "line" and "model" parameters to print_entry().
build: Use the same driver for all tests.
build: Append $(EXEEXT) to SHADER_TEST_LOG_COMPILER.
tests/test-driver: Introduce VKD3D_TEST_WRAPPER to wrap test execution.
vkd3d-shader/hlsl: Introduce struct ctab_ctx.
vkd3d-shader/hlsl: Introduce struct rdef_ctx.
vkd3d-shader/preproc: Avoid accessing "source_name" after preproc_push_include() in preproc_lexer_parse(). (Valgrind)
vkd3d-shader/preproc: Avoid leaking macro argument values on error paths. (Valgrind)
Nikolay Sivov (1):
vkd3d-shader/fx: Fix shader object counters.
Santino Mazza (2):
vkd3d-shader/hlsl: Store auxiliary CTAB type information in struct ctab_ctx.
vkd3d-shader/hlsl: Store auxiliary RDEF type information in struct rdef_ctx.
Shaun Ren (22):
tests/hlsl: Add some structured copy tests.
tests/hlsl: Add more TGSM tests.
vkd3d-shader/hlsl: Validate groupshared variables.
vkd3d-shader/hlsl: Use a block in split_copy().
vkd3d-shader/ir: Don't propagate SSAs when 32/64-bit conversions are performed.
vkd3d-shader/ir: Set the correct source swizzles for immconsts in vsir_program_copy_propagation().
vkd3d-shader/ir: Lower swapc instructions to movc.
vkd3d-shader/ir: Optimise programs in vsir_program_transform().
vkd3d-shader/hlsl: Emit structured TGSM declarations.
vkd3d-shader/hlsl: Emit structured TGSM loads.
vkd3d-shader/hlsl: Split array/struct copies with structured RHS.
vkd3d-shader/hlsl: Introduce a split_copies() helper.
vkd3d-shader/hlsl: Support non-load RHS in stream Append().
tests/hlsl: Add some unroll attribute tests with non-static unroll limits.
vkd3d-shader/hlsl: Fold casting from floating numerals to bools correctly in fold_cast().
vkd3d-shader/hlsl: Remove flatten_conditional_branches() from hlsl_run_folding_passes().
vkd3d-shader/hlsl: Defer evaluating unroll limit attributes until needed.
vkd3d-shader/fx: Add some "sampler_dim" array overflow assertions.
vkd3d-shader/fx: Write StructuredBuffer/ByteAddressBuffer object types only for fx_5_* profiles.
vkd3d-shader/fx: Support *Buffer types in get_fx_4_type_name().
vkd3d-shader/fx: Support *Buffer types in write_fx_4_type().
tests/hlsl: Add effect variable tests for *Buffer types.
Victor Chiletto (6):
vkd3d-shader/hlsl: Add an explicit hlsl_fixme() for whole struct structured stores.
vkd3d-shader/hlsl: Add an explicit hlsl_fixme() for r-value matrix structured stores.
tests/hlsl: Add new UAV structured store tests.
vkd3d-shader/hlsl: Return the found index node on hlsl_index_chain_has_resource_access().
vkd3d-shader/hlsl: Parse structured buffer subfield stores.
vkd3d-shader/hlsl: Emit vsir structured stores.
```
Feb. 19, 2026
Wine release 11.2
by Alexandre Julliard
The Wine development release 11.2 is now available.
What's new in this release:
- More optimizations in PDB loading.
- Support for MSVC constructors in C runtime.
- Easier mechanism for creating version resources.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.2.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.2/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.2 (total 32):
- #27269 Bitcoin 0.3.21 toolbar not displayed correctly
- #33058 Visual Basic 6 crashes when object browser is clicked
- #38183 King of Dragon Pass crashes when loading a saved game
- #44548 Imperium GBR doesn't reproduce audio associated with videos when native dsound.dll is loaded
- #45968 explorer.exe needs "Cascade Windows" function -> 'user32.CascadeWindows' implementation
- #46197 explorer.exe needs "Tile Windows" implementation -> user32.TileWindows()
- #46577 Black Mirror (2017) low performance in d3d11 mode
- #46630 Futuremark 3DMark Vantage 1.1.x requires support for D3D11_FORMAT_SUPPORT_***
- #50480 No audio in some movies in some Daedalic games (A new beginning & Night of the rabbit)
- #50501 Default wrapping mode DWRITE_WORD_WRAPPING_WRAP is not handled correctly
- #50681 The Hong Kong Massacre floor texture is glitchy with OpenGL renderer
- #51426 Alacritty crashes on start (needs ResizePseudoConsole implementation)
- #52497 Sam & Max Save the World: episode Culture Shock (GOG Original Edition) crashes when gameplay starts
- #52592 MilkyTracker does not work: no valid waveout devices.
- #54119 Fifa 2005 demo opens menu in 5 minutes
- #54247 4Story launcher tries to download file but doesn't work
- #57733 MMH7Editor is not started
- #57856 Drop list is not working including Winecfg
- #57893 Progress is not going until you move a mouse
- #58167 Pegasus Mail immediately restores window
- #58575 Low performance in an old Directx8 Sonic fangame in wined3d
- #58919 osu!stable freezes when running on winewayland
- #59120 xactengine3_7:xact3 is crashing since 2025-11-19 with debian 12 and older.
- #59159 Divinity II: Developer's Cut crashes after showing the loading screen
- #59181 GTA: San andreas/Vice city - Intro videos aren't properly rendered, showing only a white screen
- #59234 Wine: Windows batch "WHERE" command return a wrong exit code in quiet mode
- #59280 Wine 11.0 Shop Titans crash
- #59290 Serial baud rates above 115200 not supported due to bug in serial.c
- #59320 Gothic 1 Demo hangs on startup
- #59350 Nexus Terminal install abended (regression)
- #59373 Kyodai Mahjongg runs without audio in WOW64
- #59374 Codename Panzers Phase 1 and 2: fail to start with EGL
### Changes since 11.1:
```
Alex Schwartz (1):
winewayland: Fix non-square icons with xdg-toplevel-icon protocol.
Alexandre Julliard (25):
winewayland: Fix build error with older wl_pointer interface.
makefiles: Generate version resources from makefile variables.
ntdll: Don't use 64-bit arguments for NtSetLdtEntries().
winebuild: Disallow int64 and int128 types for syscall entry points.
win32u: Specify NtUserCreateWindowEx handle arguments as ptr.
faudio: Import upstream release 26.02.
png: Import upstream release 1.6.54.
xslt: Import upstream release 1.1.45.
jpeg: Import upstream release 10.
ntdll: Rename some builtin unixlib functions to reflect current usage.
ntdll: Add a helper to retrieve a builtin module.
ntdll: Add a helper to load the unixlib functions.
ntdll: Add SIGQUIT to the blocked signals.
ntdll: Add support for loading a unixlib with an explicit name.
winecrt0: Add a helper for loading a unixlib by name.
mmdevapi: Load the unixlib directly for audio drivers.
makefiles: Add support for building pure unixlibs without a PE side.
makefiles: Fix a typo.
wow64: Add missing Unicode string mapping for MemoryWineLoadUnixLibByName.
ntdll: Support a __wine_unix_lib_init entry point in unix libs.
win32u: Use the __wine_unix_lib_init entry point.
winex11.drv: Use the __wine_unix_lib_init entry point.
include: Add a few more SAL macros.
include: Add BitScanForward64 and BitScanReverse64.
include: Add Int32x32To64 and UInt32x32To64.
Alistair Leslie-Hughes (1):
inkobj: Correct install path.
Anton Baskanov (7):
dmsynth: Set the event on the error path in synth_sink_render_thread.
dmsynth: Exit the render thread when initialization fails.
dmsynth: Try to maintain a fixed write latency by varying the wait time.
dmsynth: Simplify synth_sink_wait_play_end by making it similar to the main rendering loop.
dmsynth: Call GetCurrentPosition from a separate thread.
dmsynth: Estimate a continuously-advancing buffer position for a more precise timing.
dmsynth: Clear the buffer notifications before closing the event handle.
Bartosz Kosiorek (1):
gdiplus/tests: Add tests for GdipWarpPath.
Bernhard Übelacker (3):
shell32: Create parent directories when creating trash directory.
winhttp/tests: Add broken in test_WinHttpGetProxyForUrl.
shell32: Create parent directories when creating trash directory.
Biswapriyo Nath (8):
include: Add D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR in d3d12video.idl.
include: Add enum flag operators for D3D11_RLDO_FLAGS.
include: Add ID3D12SDKConfiguration1 definition in d3d12.idl.
include: Add ID3D12DeviceFactory definition in d3d12.idl.
include: Add ID3D12DeviceConfiguration definition in d3d12.idl.
include: Replace new D3D12_BARRIER_SYNC_INDEX_INPUT name in d3d12.idl.
include: Add D3D12_BARRIER_SYNC_CLEAR_UNORDERED_ACCESS_VIEW in d3d12.idl.
include: Add D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_LAYOUT in d3d12sdklayers.idl.
Conor McCarthy (8):
winegstreamer: Do not clear the output type in resampler SetInputType().
winegstreamer: Support null type in resampler SetInputType().
winegstreamer: Support null type in resampler SetOutputType().
mf/tests: Test resampler output type after setting the input type.
mf/tests: Validate the input type in the topology test sink.
mf/tests: Do not expect stereo audio when a decoder and resampler are used.
mf/tests: Add more topology loader tests.
mf/tests: Test topology loader transform enumeration.
Dmitry Timoshkov (3):
advapi32/tests: Add a test for creating service with empty display name.
services: Treat empty service display name same way as NULL.
advapi32/tests: Retry on failure instead of using unconditional Sleep().
Elizabeth Figura (9):
ddraw: Enumerate the ramp device.
ntoskrnl/tests: Test FileFsDeviceInformation.
ntoskrnl/tests: Test DEVICE_OBJECT fields.
ntoskrnl: Fill the Characteristics field of DEVICE_OBJECT.
ntoskrnl: Handle FileFsDeviceInformation.
wined3d: Clear backup_dc and backup_wnd when deleting them.
d3d9/tests: Test more shaders and the FFP in shadow_test().
d3d8/tests: Test more shaders and the FFP in shadow_test().
wined3d/spirv: Pass vkd3d_shader_d3dbc_source_info.
Eric Pouech (15):
dbghelp: Use same request as native to get TLS variable offset.
dbghelp/pdb: Always load TPI header in init_DBI().
dbghelp/pdb: Create symref for top and compilands.
dbghelp/pdb: Introduce helper to search in DBI globals.
dbghelp: Start implementing symbol information from symref_t.
dbghelp: Allow symbol lookup methods to return symref instead of ptr.
dbghelp/pdb: No longer create symt for top level global variables.
dbghelp/pdb: No longer create symt for (file) local variables.
dbghelp: Simplify check for local scope when removing a module.
dbghelp: Pass a symref for lexical parent when creating a compiland.
dbghelp/pdb: No longer use symt_module to store compilands.
winedump: Misc improvements for dumping PDB files.
winedump: Support ranges DBI (globals), TPI, IPI sections (PDB).
winedump: Add ability to filter compilands (PDB).
winedump: Dump PDB arm switch table and annotation codeview record.
Esme Povirk (7):
wminet_utils: Add stub dll.
wminet_utils: Stub Initialize.
wminet_utils: Implement GetCurrentApartmentType.
wminet_utils: Implement ConnectServerWmi.
wminet_utils: Implement ExecQueryWmi.
wminet_utils: Implement CloneEnumWbemClassObject.
win32u: Actually return HKL for SPI_GETDEFAULTINPUTLANG.
Etaash Mathamsetty (2):
ntoskrnl.exe: Implement KeAcquireGuardedMutex.
ntoskrnl.exe: Implement KeReleaseGuardedMutex.
Gabriel Ivăncescu (2):
jscript: Always treat DISPATCH_METHOD | DISPATCH_PROPERTYGET as method call if arguments are supplied.
mshtml/tests: Test calling function object method with return value and arg in legacy modes.
Hans Leidekker (2):
winedump: Print CLR string offset instead of index.
odbcad32: Add stub program.
Jacek Caban (2):
mshtml: Remove event handler when setting its property to a string in IE9+ modes.
mshtml: Update element event handlers when the corresponding attribute value changes.
Jactry Zeng (4):
include: Update STORAGE_BUS_TYPE in ntddstor.h.
mountmgr.sys: Stub StorageDeviceTrimProperty query.
kernel32/tests: Add tests of StorageDeviceTrimProperty query.
winebus.sys: Add INOTIFY_CFLAGS to UNIX_CFLAGS.
Louis Lenders (1):
kernelbase: Return S_OK in ResizePseudoConsole.
Myles Gray (1):
ntdll: Report all possible serial baud rates.
Nikolay Sivov (23):
dwrite/tests: Add more tests for GetClusterMetrics().
dwrite/layout: Set RTL flag for clusters representing inline objects.
dwrite/layout: Fix itemization with inline objects.
dwrite/tests: Add more tests for whitespace flag of inline clusters.
dwrite/layout: Add a helper for producing lines.
dwrite/tests: Add some tests for DetermineMinWidth().
dwrite/layout: Use whole text buffer to set line 'newline' length metric.
dwrite/layout: Preserve whitespace flag for all types of clusters.
dwrite/tests: Add another HitTestTextPosition() test.
dwrite/layout: Rework line helper to take cluster count instead of upper boundary.
dwrite/layout: Store full resolved level for each run.
dwrite/tests: Add a test for newline clusters with HitTestTextPosition().
dwrite/layout: Partially implement HitTestTextPosition().
dwrite/layout: Improve support for wrapping modes.
dwrite/layout: Implement run reordering.
msxml3/sax: Add some traces for setting handlers.
msxml3/tests: Add some tests for IVBSAXContentHandler behavior.
msxml3/saxreader: Make sure VB startElement/endElement are never called with a NULL uri.
d2d1/tests: Add some more tests for geometry groups.
d2d1: Store original segment data when building paths.
d2d1: Implement Stream() method for paths.
d2d1: Add a way to stream any type of geometry internally.
d2d1: Create a path internally for the geometry group.
Paul Gofman (1):
opengl32: Pass app's FBO to set_current_fbo().
Piotr Caban (4):
msado15/tests: Cleanup after _Recordset_put_Filter tests.
msado15: Add helper for obtaining bookmark data.
msado15: Add _Recordset::Find implementation.
msado15/tests: Add _Recordset::Find tests.
Rémi Bernon (41):
win32u: Extract pbuffer create/destroy to dedicated helpers.
opengl32: Generate function pointers with wrapper types.
opengl32: Move pbuffer handle allocation to the client side.
opengl32: Return early on memory allocation failure.
opengl32: Move context handle allocation to the client side.
opengl32: Move current context error to the client wrapper.
opengl32: Move sync handle allocation to the client side.
winevulkan: Rename make_vulkan VkVariable type to type_name.
winevulkan: Hoist some type info in local variables.
winevulkan: Introduce a new Type base class for types.
winevulkan: Implement require and set_order in the base class.
winevulkan: Implement type aliasing with the base class.
winevulkan: Get rid of make_vulkan type_info.
opengl32: Fix a typo in client-side GLsync allocated object.
winevulkan: Use the Define class for constants too.
winevulkan: Simplify make_vulkan structure generation.
winevulkan: Take all type dependencies into account when ordering.
winevulkan: Enumerate types from the base Type class.
winevulkan: Remove unnecessary make_vulkan is_alias.
winevulkan: Generate function pointers interleaved with structs.
winevulkan: Always sort constant and defines.
winevulkan: Filter out non required types by default when enumerating.
winevulkan: Inline make_vulkan loader_body method.
winevulkan: Factor out pNext and sType name checks.
winevulkan: Get rid of debug handles unwraps in struct chains.
opengl32: Rename wgl_context to opengl_context.
opengl32: Avoid creating contexts with unsupported HDCs.
opengl32: Remove unnecessary null_get_pixel_formats.
opengl32: Create a temporary window in copy_context_attributes.
opengl32: Use separate functions to create / destroy / reset contexts.
opengl32: Update make_opengl to latest spec revision.
opengl32: Don't generate thunks for unexposed functions.
opengl32: Alias GL_EXT_copy_texture and GL_VERSION_1_2.
opengl32: Alias GL_ARB_texture_compression to GL_VERSION_1_3.
opengl32: Remove remaining glVertexAttribDivisor altenative.
opengl32: Generate GL/WGL/EGL extension list macros.
opengl32: Parse extension aliases from the registry.
opengl32: Support GLES and pass through extensions.
opengl32: Add more extension aliases manually.
win32u/tests: Test that window properties don't actually require atoms.
server: Only try to grab atom for string window properties.
Stefan Dösinger (2):
kernelbase: Don't write result on async NtWriteFile returns.
kernelbase: Don't write result on async NtReadFile returns.
Thomas Csovcsity (1):
where: Add quiet mode.
Tim Clem (4):
winemac.drv: Only set the app icon once per process.
ntdll: Report free space for "important" data on macOS.
mountmgr.sys: Report free space for "important" data on macOS.
winemac.drv: Unconditionally use CreateIconFromResourceEx for app icons.
Twaik Yont (7):
explorer: Keep systray visible with taskbar enabled.
wineandroid: Fix ANDROID_WindowPosChanged prototype in android.h.
wineandroid: Drop leftover drawable_mutex after win32u OpenGL changes.
wineandroid: Fix start_device_callback assignment type.
win32u: Fix wineandroid build after OpenGL drawable refactoring.
ntdll: Export Java globals for dlsym lookup.
wineandroid: Fix WineAndroid device access path.
Yeshun Ye (3):
cmd: Allow '/' in quoted 'WCMD_pushd' args.
cmd/tests: Add test for 'start' with '/d'.
start: Remove quotes from the path specified by '/d'.
Yuxuan Shui (13):
winebuild: Generate start and end symbols for .CRT sections.
winegcc: Merge .CRT sections for windows targets.
include: Add prototype for _initterm.
crt: Run MSVC constructors and destructors.
qasf: Stop the WMReader first in asf_reader_destroy.
qasf: Don't start a stopped stream in media_seeking_ChangeCurrent.
kernel32/tests: Fix CreateToolhelp32Snapshot failure check.
kernel32/tests: Handle ERROR_BAD_LENGTH from CreateToolhelp32Snapshot.
include: Add TH32CS_SNAPMODULE32.
kernel32: Fix CreateToolhelp32Snapshot on old WoW64.
kernel32/tests: Test CreateToolhelp32Snapshot with TH32CS_SNAPMODULE32.
kernel32: Implement TH32CS_SNAPMODULE32 support for CreateToolhelp32Snapshot.
dbghelp: Rewrite EnumerateLoadedModulesW64 in terms of CreateToolhelp32Snapshot.
Zhiyi Zhang (10):
twinapi.appcore: Add Windows.ApplicationModel.Core.CoreApplication activation factory.
twinapi.appcore/tests: Add tests for Windows.ApplicationModel.Core.CoreApplication activation factory.
twinapi.appcore/tests: Add tests for statics2_GetForCurrentView().
twinapi.appcore: Add statics2_GetForCurrentView() stub.
windows.ui: Implement uisettings_UIElementColor().
windows.ui: Add ICoreWindowStatic stub.
windows.ui/tests: Add tests for corewindow_static_GetForCurrentThread().
windows.ui: Add corewindow_static_GetForCurrentThread() stub.
d2d1: Warn in d2d_device_context_set_error().
wined3d: Reset internal_format_set when using the backup DC.
```
Feb. 6, 2026
Wine release 11.1
by Alexandre Julliard
The Wine development release 11.1 is now available.
What's new in this release:
- Various changes that were deferred during code freeze.
- More pixel format conversions in WindowsCodecs.
- More work on ActiveX Data Objects (MSADO).
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.1.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.1/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.1 (total 22):
- #16009 SureThing CD Labeler crashes when starting a new project
- #26645 PAF5 throws exception after canceling print from help viewer
- #38740 Mathearbeit G 5.6 installer hangs during installation (ShellFolder attributes for virtual folder 'CLSID_Printers', clsid '{2227a280-3aea-1069-a2de-08002b30309d}' missing in registry)
- #45930 Microsoft .NET Framework 4.x GAC update fails for some assemblies, 'Error compiling mscorlib, Path not found. (Exception from HRESULT: 0x80070003)' (legacy GAC missing: '%systemroot%\assembly')
- #51232 calling WsaGetLastError() after calling getsockopt() with a file descriptor that is not a socket differs from Windows
- #52030 Multiple game have corrupted text rendering (Project Cars 2, SnowRunner)
- #54160 Disk Usage page of PDFsam installer says that empty CD drive has the same amount of free space as the previous drive in the list
- #54300 LdrLoadDll illegal memory access on DllPath
- #56378 Microsoft Edge and Edge-based WebView2 do not function without --no-sandbox option
- #58143 Variable refresh rate does not work properly with winewayland.
- #58158 Sacred Gold 2.28 ASE crashes when initialising multiplayer
- #58757 Camerabag Pro 2025.2 fails to load image picture data unless winetricks windowscodecs used
- #58793 iTunes 12.9.3 freezes after opening
- #58905 Many Microsoft Store installers fail to start with System.TypeLoadException
- #59046 Multiple applications crash on unimplemented ICU functions
- #59149 Icons are broken in Wayland
- #59153 Wine 11.0-rc2 Ubisoft Connect freezes
- #59155 FastStone Image Viewer fails to open some PNG images due to unimplemented wincodecs conversion (copypixels_to_24bppBGR)
- #59162 GOG GALAXY launcher starts on an all white screen
- #59172 CEnumerateSerial needs unimplemented function msports.dll.ComDBOpen
- #59178 Genshin Impact requires ntdll.CloseThreadpoolCleanupGroupMembers to not hang when called from a DLL_PROCESS_DETACH notification
- #59227 Program under LMDE6 and wine run but not anymore under LMDE7 and wine
### Changes since 11.0:
```
Alex Henrie (2):
winecfg: Remove unnecessary calls to strdupU2W.
include: Annotate VirtualAlloc functions with __WINE_ALLOC_SIZE.
Alexandre Esteves (1):
ntdll: Accept device paths in LdrAddDllDirectory.
Alexandre Julliard (19):
winebth.sys: Don't include config.h from another header.
oledb32: Move non version-related resources out of version.rc.
tasklist: Make version resource language-neutral.
wrc: Stop translating the product name in version resources.
widl: Fix a typo in a comment.
resources: Rename version.rc files if they also contain non-version resources.
include: Add ntverp.h and common.ver.
include: Use common.ver to implement wine_common_ver.rc.
include: Add Wine version to the default product name in version resources.
start: On failure, report the error from the initial ShellExecuteW.
resources: Don't rely on headers being included by wine_common_ver.rc.
resources: Use common.ver directly in tests.
kernel32: Use common.ver directly.
ntdll: Remove the machine frame in KiUserExceptionDispatcher on ARM64.
ntdll/tests: Add a test for passing BOOLEAN values in syscalls.
ntdll: Move NT syscall Unix-side support to a new syscall.c file.
ntdll: Add syscall wrappers to work around ABI breakages.
win32u: Add syscall wrappers to work around the macOS ABI breakage on ARM64.
ntdll/tests: Mark a test that sometimes fails as flaky.
Alistair Leslie-Hughes (3):
include: Add more DB_E_ defines.
include: Add peninputpanel.idl.
include: Add some coclasses.
Ashley Hauck (1):
winewayland: Support wl_seat version 8.
Bernhard Übelacker (1):
iccvid/tests: Reserve enough memory for input in test_formats (ASan).
Biswapriyo Nath (6):
include: Add ID3D12VideoProcessor in d3d12video.idl.
include: Add ID3D12VideoProcessCommandList in d3d12video.idl.
include: Add D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT in d3d12video.idl.
include: Add D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_EIGHTH_PIXEL.
include: Add missing flags in D3D12_RENDER_PASS_FLAGS.
propsys: Fix parameter type of PropVariantToGUID.
Brendan McGrath (11):
mfsrcsnk: Use stream_map for index value on stream start.
mfsrcsnk/tests: Add test for end of presentation.
mfsrcsnk: Remain in running state on EOP.
mfmediaengine/tests: Test we receive a frame before calling Play.
mf/tests: Add test for sample grabber seek.
mf/tests: Test sample grabber {Set,Cancel}Timer.
mf/tests: Check StreamSinkMarker event.
mf/tests: Test samplegrabber flush then seek.
mf/tests: Test seek with sample grabber whilst ignoring clock.
mf/tests: Check contents of sample collection.
mf/tests: Test sample grabber pause and resume.
Connor McAdams (5):
d3dx10: Move file/resource loading helper functions into shared code.
d3dx11: Implement D3DX11GetImageInfoFromFile{A,W}().
d3dx11: Implement D3DX11GetImageInfoFromResource{A,W}().
d3dx11: Implement D3DX11CreateTextureFromFile{A,W}().
d3dx11: Implement D3DX11CreateTextureFromResource{A,W}().
Derek Lesho (2):
win32u: Implement glImportMemoryWin32(Handle/Name)EXT for opaque handle types.
win32u: Implement glImportSemaphoreWin32(Handle/Name)EXT for opaque handle types.
Dmitry Timoshkov (8):
win32u: Also print hwnd in set_window_text() trace.
windowscodecs: Add support for converting 8bpp indexed to 24bpp format.
windowscodecs: Support trivial cases for copying 1bpp indexed data.
windowscodecs: Remove optimization for 1bpp pixel formats from WICConvertBitmapSource().
windowscodecs: Add support for converting from 32bpp RGBA to 64bpp RGBA.
windowscodecs: Fix conversion from 64bpp RGBA to 32bpp BGRA.
kerberos: Add support for EXTENDED_ERROR flags.
windowscodecs: Add fallback path to copypixels_to_64bppRGBA().
Elizabeth Figura (11):
wined3d: Separate a vk_blitter_conversion_supported() helper.
wined3d: Hold a reference to the wined3d in adapter_vk_destroy_device().
wined3d/spirv: Set FFP caps.
wined3d/spirv: Set shader_caps.varying_count.
wined3d: Downgrade the multiple devices FIXME to a WARN.
kernel32/tests: Test GetDiskSpaceInformationA() on a volume path.
mountmgr: Implement FileFsFullSizeInformationEx.
wined3d/glsl: Fix WINED3DTSS_TCI_SPHEREMAP calculation.
d3d8/tests: Test generated texcoords.
d3d9/tests: Test generated texcoords.
wined3d/hlsl: Implement generated texcoords.
Eric Pouech (4):
cmd: Detect and report more syntax errors in MKLINK command.
cmd: Fix two potential buffer overflows in MKLINK command.
cmd/tests: Add test for quoted wildcarded sets in FOR instruction.
cmd: Strip quotes from element in FOR set when it contains wildcards.
Francisco Casas (1):
wined3d: Don't print opcodes for cs padding packets.
Gabriel Ivăncescu (2):
jscript: Treat DISPATCH_PROPERTYGET | DISPATCH_METHOD as property getter in ES5+ modes.
mshtml: Handle DISPATCH_PROPERTYGET | DISPATCH_METHOD in dispex_value as property getter.
Georg Lehmann (2):
winevulkan: Update to VK spec version 1.4.339.
winevulkan: Update to VK spec version 1.4.340.
Giovanni Mascellani (2):
gitlab: Install PCSC lite and Samba for i386 as well.
gitlab: Install the OSSv4 header.
Hans Leidekker (9):
netprofm: Add IPv6 support.
netprofm: Skip the loopback interface.
netprofm: Trace returned connectivity values.
winhttp: Convert build_wpad_url() to Unicode.
winhttp: Enforce a 5 second resolve timeout in detect_autoproxyconfig_url_dns().
msi: Don't list drives for which GetVolumeInformationW() or GetDiskFreeSpaceExW() fails.
fusion: Create the legacy GAC directory in CreateAssemblyCache().
ncrypt: Support ECDSA_P256.
crypt32: Sync backing store when contexts are added or removed.
Jacek Caban (3):
include: Add more stdio.h function declarations.
include: Add more corecrt_wstdio.h function declarations.
include: Move intrinsic pragmas below function declarations.
Jactry Zeng (1):
winemenubuilder: Skip .desktop file creation when not on an XDG desktop.
Jiajin Cui (2):
windowscodecs: Correct GIF LZW compression initialization for images with truncated color palette.
ntdll: Prevent null pointer dereference in directory scanning.
Louis Lenders (1):
shell32: Add attributes to registry for CLSID_Printers.
Michael Stopa (1):
cryptnet: Close file handle.
Mohamad Al-Jaf (3):
chakra: Add stub dll.
windows.ui/tests: Add IUISettings2::get_TextScaleFactor() tests.
windows.ui: Stub IUISettings2::get_TextScaleFactor().
Nikolay Sivov (10):
d2d1/tests: Add a test for default stroke transform type.
d2d1/stroke: Fix querying for ID2D1StrokeStyle1.
d2d1/tests: Add some tests for transformed geometries used with uninitialized paths.
dwrite/tests: Handle COLRv1 in GetGlyphImageFormats() tests.
dwrite: Improve underline thickness estimation when font hasn't provided one.
dwrite/tests: Add some tests for HitTestTextPosition().
dwrite/layout: Run script and levels analyzer on whole text instead of segments.
dwrite/layout: Use single structure for formatted runs.
dwrite/layout: Add a list to keep textual and inline runs together.
d2d1: Implement GetGlyphRunWorldBounds().
Paul Gofman (19):
ntdll: Fix LdrLoadDll() prototype.
ntdll: Handle search flags in LdrLoadDll().
kernel32/tests: Add tests for LdrLoadDll().
ntdll: Use LDR_DONT_RESOLVE_REFS instead of DONT_RESOLVE_DLL_REFERENCES.
ntdll: Don't fill output handle on error in LdrLoadDll().
kernelbase: Pass search flags instead of path to LdrLoadDll().
wbemprox: Add Win32_SystemEnclosure.SerialNumber.
wbemprox: Mark Win32_SystemEnclosure.Tag as key column.
dwrite: Zero 'current' in create_font_collection().
ntdll: Make VEH registration structure compatible.
win32u: Wrap vkGetPhysicalDeviceProperties.
win32u: Fixup Vulkan deviceName to match win32u GPU name.
ntdll: Factor out get_random() function.
ntdll: Generate process cookie and return it from NtQueryInformationProcess( ProcessCookie ).
ntdll: Reimplement RtlEncodePointer / RtlDecodePointer using process cookie.
kernel32: Don't use export forwarding for ntdll function table functions.
ntdll/tests: Add some tests for RtlWalkFrameChain() / RtlCaptureStackBackTrace() on x64.
ntdll: Stop walk in RtlWalkFrameChain() if there is no function entry on x64.
ntdll: Add stub function for NtWorkerFactoryWorkerReady().
Piotr Caban (21):
include: Add msdshape.h header.
msado15: Improve column lookup performance.
msado15: Add initial ADOConnectionConstruction tests.
msado15: Add _Connection:{get,put}_ConnectionTimeout implementation.
msado15: Add partial adoconstruct_WrapDSOandSession implementation.
msado15: Fix lock and cursor type initialization in recordset_Open.
msado15: Request more features when opening table directly.
msado15: Fix active connection leak on Recordset release.
msado15: Improve connection validation in recordset_put_ActiveConnection.
msado15: Make dso and session arguments optional in adoconstruct_WrapDSOandSession.
msado15: Handle SetProperties error in adoconstruct_WrapDSOandSession.
msado15: Add initital IRowset wrapper tests.
msado15: Add IRowset wrapper stub.
msado15: Silence FIXME message when querying for known interfaces in rowset wrapper.
msado15: Implement IRowsetExactScroll:GetExactPosition in rowset wrapper.
msado15: Handle VT_I8 bookmarks in cache_get() helper.
msado15: Add _Recordset::Seek implementation.
msado15: Fix IDBProperties use after free in adoconstruct_WrapDSOandSession.
msado15: Respect DBPROP_CANHOLDROWS property in cache_get().
msado15: Dump rowset properties if logging is enabled.
msado15: Fix WrapDSOandSession usage in connection_Open.
Ralf Habacker (1):
ws2_32: Use debug strings in trace outputs for *socket*() and bind().
Rémi Bernon (28):
win32u: Use surfaces for client area if the backend doesn't support PutImage.
server: Track foreground process id, instead of looking for active window.
server: Remove now unnecessary process-wide set_foreground flag.
win32u: Make sysparam GPU devices less Vulkan specific.
win32u: Enumerate system GPU devices from EGL devices.
win32u: Expose device LUID / nodes mask to opengl32.
windows.gaming.input: Enfore axis usage mapping for HID devices.
win32u: Load glBlitFramebuffer function pointer.
opengl32: Fix front buffer emulation glBlitFramebuffer parameters.
opengl32: Use glBlitFramebuffer instead of glBlitNamedFramebuffer.
opengl32: Resolve default framebuffer before flushing.
win32u: Remove unnecessary window_surface exports.
winevulkan: Move copied structs without chain to a separate set.
winevulkan: Only require conversion if there are extensions.
winevulkan: Enable VK_KHR_maintenance7 extension.
winevulkan: Remove mostly unnecessary WINE_VK_VERSION.
winevulkan: Mind unsupported extensions dependencies.
winevulkan: Introduce an Extension class.
winevulkan: Get rid of the VkRegistry class.
winevulkan: Use the conversion names instead of rebuilding them.
winevulkan: Include physical device in the instance functions.
winevulkan: Simplify function prototype generation.
winevulkan: Get rid of remaining extra client parameter.
winevulkan: Simplify function lists generation.
winevulkan: Add parameter names to function pointers.
winevulkan: Simplify function parameters generation.
winevulkan: Simplify function protoypes generation.
mf/session: Discard end of presentation on IMFMediaSession_Stop.
SeongChan Lee (2):
winebus: Use smallest report size for joystick axis.
winebus: Use 16-bit relative axis range for bus_sdl.
Stefan Brüns (2):
msports: Add stub implementations for ComDBOpen/ComDBClose.
advapi32: Use same default values for both GetEffectiveRightsFromAclA/W.
Stefan Dösinger (3):
d3d8/tests: ATI2 DS surface creation attempt crashes nvidia.
d3d8/tests: Clarify a skip message.
d3d9/tests: Clarify a skip message.
Sven Baars (1):
msi/tests: Fix some typos (Coverity).
Tim Clem (4):
msvcp140: Bump the version number.
msvcp140_2: Bump the version number.
vcruntime140_1: Bump the version number.
wineboot: Check if ai_canonname is NULL.
Tobias Gruetzmacher (1):
winhttp: Implement WINHTTP_AUTOPROXY_ALLOW_STATIC.
Vibhav Pant (5):
winebth.sys: Fix potential memory leaks when async DBus calls fail.
winebth.sys: Simplify DBus signal matching in bluez_filter.
winebth.sys: Use a helper for logging DBus errors.
winebth.sys: Add heap allocation annotations to unix_name_{get_or_create, dup}.
rometadata: Add helpers for bounds checks while accessing offsets to assembly data.
Yeshun Ye (2):
kernel32/tests: Add tests for CreateProcessA.
kernelbase: Trim whitespaces from the quoted command line.
Yuxuan Shui (1):
qasf: Protect against unconnected pins in media_seeking_ChangeCurrent.
Zhiyi Zhang (5):
winex11.drv: Delete unused parameters for X11DRV_init_desktop().
comctl32_v6: Add horizontal spacing around button text.
comctl32: Use BOOLEAN instead of BOOL for RegisterClassNameW().
comctl32/tests: Test that there is no flatsb_class32 window class.
comctl32: Remove flatsb_class32 window class.
Ziia Shi (1):
ntdll: Avoid infinite wait during process termination.
```
Jan. 23, 2026