Wine-Releases
By thread
wine-releases@list.winehq.org
By month
Messages by month
- ----- 2026 -----
- October
- 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
- 1 participants
- 645 messages
Wine release 11.20
by Alexandre Julliard
The Wine development release 11.20 is now available.
What's new in this release:
- Relay debugging for ARM64EC.
- Improvements in XML validation.
- CDROM support moved to the Mount Manager.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.20.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.20/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.20 (total 24):
- #7054 Pure Pinball game crashes trying to access freed texture objects
- #20777 Multiple applications and games fail to load SHDocVw.dll interop dll (Wine's 'shdocvw.dll' is preferred over native)(Unigine Heaven benchmark v2.0, Toad for SQL Server 5.7, QuickBooks Help)
- #30639 Audio stuttering and performance drops in Star Wolves 3
- #34028 Intuit QuickBooks 2008-2010 fails to run, reporting 'Could not initialize license properties'
- #34040 QuickBooks SS 2008 R1 crashes multiple times on second run
- #42877 SumatraPDF 3.1.2 tabs are covered by wine title bar
- #46568 64-bit msxml6.dll from Microsoft Core XML Services 6.0 redist package fails to load (Wine doesn't respect 44-bit user-mode VA limitation from Windows < 8.1)
- #58418 InternetQueryOptionW(proxy_username) crashes with NULL buffer but valid size pointer.
- #59134 UFO: Aftershock, UFO: Afterlight - problem starting the games with Nvidia binary drivers (EGL backend)
- #59356 Imperium Great Battles of Rome doesn't reproduce music and audio
- #59770 Broken Input under Neko Project 21/W
- #59877 Tagscanner: Server-Side Decorations being drawn on top of the Client-Side Decorations.
- #60253 Incoming (1998) crashes after the intro animation
- #60328 Opening a menu in FL Studio instantly selects the menu entry the mouse is hovering
- #60383 cmd: stack buffer overflow in search_command with a quoted /c command line longer than MAX_PATH
- #60384 Unable to log in to Medicalc4
- #60399 C++ exception reproducer (ARM64): crashes when a DLL function ends with a call to a noreturn throw helper
- #60405 ssbs-probe (2026-09-29 source snapshot, ARM64): SSBS cleared after RtlRestoreContext
- #60408 mfplat: MFCreateDXGISurfaceBuffer fails silently for DXGI_FORMAT_R8_UINT textures, so UE4 ElectraPlayer shows no video
- #60410 MusicBee: System.OutOfMemoryException in WoW64 mode
- #60421 Incomplete implementation of cldapi.dll causes OneDrive to crash.
- #60424 Office 2013 Click-to-Run installer fails with builtin msxml6 when DOMDocument::save() uses "unicode" encoding
- #60466 Battlefield 1942 cannot copy secdrv.sys into c:\windows\syswow64\drivers because directory does not exist.
- #60484 wine 11.19 dnsapi parsing a large /etc/hosts stalls fresh prefix initialization
### Changes since 11.19:
```
Adam Markowski (1):
po: Update Polish translation.
Alex Henrie (6):
wined3d: Fix comment at end of include guard in wined3d_gl.h.
user32: Correct the number of bytes that CharToOemBuffW writes.
winsqlite3: Correct spelling of "Downloading" in make_sqlite.py.
cryptnet: Don't overallocate in build_request_url.
comsvcs: Fix memory leak on error path in holder_AllocResource.
ntdll: Remove stray newline from default case of io2str.
Alexandre Julliard (36):
makefiles: Support disabling modules for specific archs through the makefile.
kerberos: Link directly to the krb5 libraries.
configure: Remove a couple of no longer used config.h defines.
ntdll: Remove special handling of areas above the user limit.
ntdll: Store the lowest reserved address as start of the DOS range.
preloader: Round WINEPRELOADRESERVE values to the granularity boundary.
ntdll: Align reserved areas to the allocation granularity.
win32u: Display the full client area if it extends into the window decorations.
ntdll: Also determine the host address space limit on 32-bit.
ntdll: Only reserve high 32-bit memory after the main exe is loaded.
ntdll: Allocate the virtual heap with mmap() also on 32-bit.
ntdll: Reserve a larger range for the top-down area.
include: Remove some types that don't exist on Windows.
include: Remove strcasecmp/strncasecmp declarations.
ntdll: Use calloc to allocate the page protection pointers.
ntdll: Use an array instead of a list for reserved memory areas.
ntdll: Add support for blocking some memory ranges from allocation.
ntdll: Reserve the entire low 8G on 64-bit.
ntdll: Merge the reserved areas and free ranges arrays.
wpnapps: Import library is not needed.
ntoskrnl: Reject 0 affinity in KeSetSystemAffinityThreadEx().
user32/tests: Fix a couple of test failures.
msvfw32/tests: Mark a failing test as todo.
ntdll: Reserve a top-down area even with a limited 64-bit address space.
include: Remove workarounds for old MSVC compiler versions.
include: Don't use a full barrier in Acquire/Release functions on ARM64.
include: Implement more Acquire/Release functions.
dplay: Make it a data-only dll.
dpnaddr: Make it a data-only dll.
dpnlobby: Make it a data-only dll.
iprop: Make it a data-only dll.
rsabase: Make it a data-only dll.
shfolder: Make it a data-only dll.
twain_32: Make it a data-only dll.
vga: Make it a data-only dll.
winegcc: Support setting the subsystem of data-only dlls.
Alistair Leslie-Hughes (14):
msado15: Trace more recordset DBPROP id's.
fusion: Remove duplicate assignment in IAssemblyName::GetName.
prntvpt: Correctly compare length/width bits in devmode_to_ticket.
prntvpt: Initialize ticket before parsing in PTGetPrintCapabilities.
crypt32: Don't return from within a __TRY block.
wintypes: Correctly release interface in map_entry_clear.
dbgeng: Correct output parameter for GetCurrentTimeDate/GetCurrentSystemUpTime.
include: Correct various commctrl.h macros.
include: Correct spelling of D3DXBONECOMBINATION.VertexCount.
include: Correct szOID_RSA_unstructAddr value.
include: Correct CERT_RDN_* values.
oledb32: Pass the guid to create_datasource.
hnetcfg: Only assign output on success in NetFwPolicy2_create.
wintab32: Increase the default queue size.
Andrey Gusev (1):
d3dx: Trace the correct argument in d3dx9_line_GetDevice().
Anna (navi) Figueiredo Gomes (1):
d3dx10: Use the correct compiler version in D3DX10CompileFromMemory and D3DX10CreateEffect*.
Anton Baskanov (27):
dmime/tests: Explicitly specify the segment start time in test_midi.
dmime/tests: Test setting GUID_StandardMIDIFile on a MIDI segment.
dmusic: Move bandtrack.c to dmusic.
dmusic: Factor out adding a band to a band track.
dmime: Add default bands when parsing a MIDI file.
dmusic: Correctly handle adding a band at the beginning of a track.
dmime/tests: Test segment looping.
dmime/tests: Stop playback before the next test in test_wave_pmsg.
dmime: Store the length and the loop points in the segment state.
dmime: Set rtLength for wave segments.
dmime: Use rtLength to determine a wave segment duration.
dmime: Don't extend the current chunk to the loop end point.
dmime: Also use rtLength for the first loop iteration.
dmime: Use start_time as a reference when converting rtLength to music time.
dmime: Update start_time before end_point is overwritten.
dmime: Ignore the loop points if DMUS_SEGIOF_REFLENGTH is set.
dmime: Don't modify the value reported by IDirectMusicState::GetStartTime.
dmime: Only use the start point on the first loop iteration.
dmime: Loop at the segment end if the loop end point is zero.
dmime: Take the loop start point into account when updating start_time.
dmime: Play the segment to the end on the last loop iteration.
dmime/tests: Use WORD instead of struct expected_note.
dsound: Apply volume in put_samples.
dsound: Perform mixing in put_samples.
dsound: Multiply vols by firgain instead of applying it in downsample.
winmm: Use wine_midi_stream_free() to free MIDI stream.
ntoskrnl: Set Problem for devices in HKEY_DYN_DATA\Config Manager\Enum.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Kölbl (2):
kernel32: Add GetNamedPipeClientComputerName(A|W) stubs.
kernel32/tests: Add basic tests for GetNamedPipeClientComputerNameA.
Bernhard Übelacker (3):
wininet: Improve invalid parameter handling in APPINFO_QueryOption.
wininet: Improve invalid parameter handling in HTTPREQ_QueryOption.
wine.inf: Create the syswow64/drivers directory.
Brendan McGrath (16):
quartz/tests: Compare all fields within AM_MEDIA_TYPE.
quartz/tests: Test source media types for different sink media types.
quartz/tests: Test diff of RGB and X values separately.
quartz/tests: Test all combinations of input to output.
quartz: Add color converter stub.
quartz: Add the source and sink pins.
quartz: Add the IMediaSeeking source interface.
quartz: Add the IMemInputPin sink interface.
quartz: Implement QueryAccept on sink.
quartz: Implement ReceiveConnection on sink.
quartz: Implement media type enum for source.
quartz: Implement QueryAccept for source.
quartz: Make sure cbBuffer is large enough to fit image.
quartz: Implement the Receive function.
quartz: Handle dynamic format change.
quartz: Implement the ReceiveCanBlock function.
Brendan Shanks (13):
winemac: Add autorelease pools to WineMetalSwapChain C wrappers.
amstream/tests: Fix tests that are faulty because of == vs ?: operator precedence.
comctl32/tests: Fix tests that are faulty because of == vs ?: operator precedence.
compstui/tests: Fix tests that are faulty because of == vs ?: operator precedence.
d3d9/tests: Fix tests that are faulty because of == vs ?: operator precedence.
dbghelp/tests: Fix tests that are faulty because of == vs ?: operator precedence.
dxgi/tests: Fix tests that are faulty because of == vs ?: operator precedence.
iphlpapi/tests: Fix tests that are faulty because of == vs ?: operator precedence.
kernel32/tests: Fix tests that are faulty because of == vs ?: operator precedence.
ntdll/tests: Fix tests that are faulty because of == vs ?: operator precedence.
quartz/tests: Fix tests that are faulty because of == vs ?: operator precedence.
configure: Fix check for MoltenVK.
tools: Create temp files in TMPDIR rather than the current directory.
Christoph Neuhauser (1):
winevulkan: Update to VK spec version 1.4.363.
Cong Zhang (2):
msvcrt: Implement _aligned_offset_recalloc and _aligned_recalloc.
ucrtbase/tests: Add _aligned_recalloc and _aligned_offset_recalloc tests.
Connor McAdams (11):
winebus: Hash the unix-side device parent in instance ID.
winebus: Use the serial number string as the instance ID.
winebus: Create instance IDs with a format that more closely matches native.
winebus: Use the udev parent USB device path and sysnum or interface.
winebus: Create a container ID for devices with multiple interfaces.
winebus: Potentially use the iInterface string as the product string for USB HID devices.
setupapi/tests: Add tests for incomplete device instance registry keys.
setupapi/tests: Add tests for device instance ID validation.
setupapi: Validate device instance ID when creating or opening device info.
setupapi: Be less picky about device registry keys in SetupDiOpenDeviceInfo().
ntoskrnl: Try to fix device registry key if both creation and opening fail.
Conor McCarthy (10):
winegstreamer: Check for null wg_transform in video encoder ProcessMessage().
winegstreamer: Do not set input_format twice in mpeg_video_codec_source_get_media_type().
winegstreamer: Do not set stream pointer twice in reader_GetAllocateForOutput().
winegstreamer: Return error codes from wg_transform_create_quartz().
winegstreamer: Do not ignore failure in wma decoder SetOutputType().
winegstreamer: Hold only one reference to the async result in media_sink_begin_finalize().
winegstreamer: Avoid using uninitialised count in media_source_start().
winegstreamer: Check for allocation failure in media_object_GetOutputType().
dinput: Only wait for the input thread to complete cleanup.
mfplat/tests: Do not create COM objects on the stack.
Elizabeth Figura (9):
wined3d: Pass a wined3d_adapter to profile enumeration functions.
wined3d: Allow disabling video decoding support.
mountmgr: Implement IOCTL_STORAGE_GET_MEDIA_TYPES_EX.
server: Move volume unmounting to a separate request.
mountmgr: Implement FSCTL_DISMOUNT_VOLUME.
mountmgr: Stub some FSCTLs.
ntdll: No longer open Unix devices directly.
ntdll: Remove cdrom ioctls.
ntdll: Remove FSCTLs only used on a volume.
Eric Pouech (24):
include: Guard PROCESS_POWER_INFORMATION as Wine-specific.
include: cVal field is of type CHAR.
cmd: Dispose of resources on error path.
cmd/tests: Add more tests about quotes handling in FOR commands.
cmd: Use word_iterator to parse FOR execute sets.
cmd: Use word_iterator to parse FOR numeric args.
cmd: Use word_iterator to execute FOR set arguments.
cmd: Use word_iterator to handle variable setting in FOR loops.
cmd: No longer use WCMD_parameter* when parsing SET /A expressions.
include: Add the 32/64 variant of MEMORY_BASIC_INFORMATION.
include: Add some new definitions to winnt.h.
include: Update winnt.h with xstate definitions.
include: Add missing alignment attributes.
cmd: Properly set quotes when rebuilding commands.
cmd: Use word iterator for HELP builtin command.
cmd: Use word iterator for CHOICE builtin command.
cmd: Use word iterator for MKDIR builtin command.
cmd: Use word iterator for DEL builtin command.
cmd: Use word iterator for RMDIR builtin command.
cmd: Use word iterator for SETLOCAL builtin command.
cmd: Use word iterator for TYPE builtin command.
cmd: Use word iterator for MKLINK builtin command.
cmd: Use word iterator for MORE builtin command.
cmd: Use word_iterator for CLS builtin command.
Esme Povirk (6):
gdiplus: Cache the clip HRGN on Graphics objects.
wminet_utils: Implement Put.
wminet_utils: Implement Delete.
wminet_utils: Implement BeginEnumeration.
wminet_utils: Implement Next.
wminet_utils: Implement GetObjectText.
Etaash Mathamsetty (1):
win32u: Don't return early if no monitor id is present.
Evan Morse (2):
d3d8: Do not decrease texture refcount when it is already 0.
ddraw: Stage execute buffer vertices at execute time.
Francis De Brabandere (5):
vbscript: Allow member access on a literal or New expression.
vbscript: Reject arguments after a call with empty parentheses.
vbscript: Reject whitespace between a with-statement dot and the member name.
vbscript: Allow default and property as class member variable names.
vbscript: Use IProvideClassInfo for TypeName() of COM objects.
Gabriel Ivăncescu (6):
mshtml: Move cycle collector IIDs to jscript.idl.
jscript: Traverse external host objects' jsdisp props.
jscript: Traverse external host objects' non-jsdisp edges.
jscript: Traverse raw external objects that have gecko CC participants in the jscript GC.
mshtml: Unlink the mshtml node from the gecko node during unlink.
mshtml/tests: Test that the WeakMap can handle external/host objects.
Hans Leidekker (1):
dnsapi: Use a Unix call to retrieve host information.
Herman Semenoff (7):
wined3d: Clear lowest set bit in wined3d_bit_scan() without shifting.
wined3d: Align cs_queue fields to cache line boundaries to avoid false sharing.
wined3d: Use WriteRelease() instead of InterlockedExchange() for CS queue pointers.
wined3d: Use switch statement for FOURCC format index lookups in get_format_idx().
wined3d: Compare pixel shader ID earlier in glsl_program_key_compare().
wined3d: Avoid calling strlen() in parse_channel_desc().
winebuild: Avoid calling strlen() in a loop in build_windows_import_lib().
Jacek Caban (7):
ntdll: Ignore attempts to set reserved CPSR bits.
winebuild: Simplify __wine_spec_exports_end handling.
winebuild: Move more code to output_relay_debug.
ntdll: Delay ntdll relay setup until after arm64ec module is initialized.
ntdll: Allow exposing relay descriptors with load config extension.
ntdll: Add ARM64EC relay support.
msvcrt: Disable relay traces for problematic functions on ARM64EC.
Jactry Zeng (1):
winemac.drv: Fix a typo to avoid usage of an uninitialized variable.
Janne Kekkonen (1):
krnl386.exe16: Format volume labels in 8.3 layout for INT 21h FindFirst.
Kyle S. Cooper (2):
ddraw/tests: Add tests for depth fills landing in system memory on ddraw1.
ddraw: Fill system memory depth buffers on the CPU.
Louis Lenders (1):
cldapi: Add stub for CfGetPlatformInfo.
Marc-Aurel Zent (2):
winemac: Derive IME open status from the native input source.
winemac: Replace atomic builtins with Interlocked helpers.
Matteo Bruni (16):
d3dx11: Always fix up texture dimensions.
d3dx11/tests: Add a test for load info dimensions smaller than the block size.
d3dx11: WARN() when texture creation fails.
d3dx11: Trace load_info in D3DXCreateTexture*() functions.
d3dx10: Always fix up texture dimensions.
d3dx10/tests: Add a test for load info dimensions smaller than the block size.
d3dx10: WARN() when texture creation fails.
d3dx10: Trace load_info in D3DXCreateTexture*() functions.
dsound: Introduce a put_samples() helper.
dsound: Interleave channels after mixing.
d3dx10_42: Fix the version number.
d3dx11_42: Fix the version number.
wine.inf: Update VC 14 runtime version registry keys.
msvcr100: Bump the version number.
msvcr110: Add a version number.
msvcp140: Bump the version number to 14.51.
Michael Stefaniuc (7):
dmusic: Error out if the Band Form has no instruments.
dmusic: Propagate the error in parse_lbdl_list().
dmusic: Avoid adding an unitialized band ptr in a Band Track.
dmusic: MultiByteToWideChar() dest size is in WCHARs and not bytes.
dmusic: Use the correct COM macros matching the iface type.
dmime: Fix a copy&paste issue from a TRACE().
dmusic: Remove old dead code.
Nikolay Sivov (27):
msxml3/tests: Add some tests for save() with "unicode" encoding.
msxml3: Accept "unicode" encoding name as an alias for UTF-16.
dwrite/tests: Remove unreliable refcount tests.
mfplat/tests: Do not check for exact failure codes in CreateObjectFromURL().
mfplat/tests: Fix device manager test failures on newer systems.
msxml6/tests: Add some tests for validateNode().
msxml6: Fix argument validation in validateNode().
msxml3: Move validated node type check to the helper.
msxml6: Explicitly check validated node type in validateNode().
msxml3: Improve check for a root element when validating.
msxml3: Add a helper to get DTD node.
msxml3: Validate root element name vs DTD name.
comctl32/tests: Add a test for LVIS_CUT state in LVS_OWNERDATA lists.
msxml3: Simplify parse error object creation.
msxml3: Handle undeclared elements during DTD validation.
msxml3: Handle undefined attributes during DTD validation.
msxml3/tests: Add some supported interfaces checks.
msxml3: Validate #FIXED attribute values during DTD validation.
msxml3: Validate enumerated attribute values with DTD.
msxml6/tests: Add some tests for multiple validation errors reporting.
msxml3/tests: Add some validation tests for elements declared EMPTY.
msxml3: Validate EMPTY elements content with DTD.
msxml3: Validate mixed content elements with DTD.
dwrite/tests: Add some HitTestPoint() tests.
msxml3/tests: Add some more tests for empty elements formatting.
msxml3: Add a SAX reader extension to report empty elements separately.
msxml3: Preserve parsed formatting for empty elements.
Paul Gofman (12):
bcrypt/tests: Test RSA encryption with imprecise sizes.
bcrypt: Use block size instead of output_len in encrypt_rsa().
bcrypt: Refactor error return in decrypt_rsa().
bcrypt: Use block size instead of app length in decrypt_rsa().
bcrypt: Return STATUS_BUFFER_TOO_SMALL on SYMCRYPT_BUFFER_TOO_SMALL and STATUS_INVALID_PARAMETER as default error in decrypt_rsa().
kernel32/tests: Test setting thread group affinity with process affinity.
ntdll: Correct handling of process affinity when setting thread group affinity.
d3d11/tests: Test D3D11_CREATE_DEVICE_VIDEO_SUPPORT.
dinput/tests: Add a test for winmm joystick replugging.
winmm: Avoid duplicating the same joystick devices.
winmm: Reacquire joystick device if it was reconnected.
ntdll: Make sure entry is removed from queue if unlocked entry.addr precheck in RtlWaitOnAddress() suggests so.
Piotr Caban (18):
vcruntime140_1: Don't depent on DLL_THREAD_ATTACH for CxxFrameHandler4 trylevel initialization.
jscript: Pass invoke version to GetNextDispID.
jscript: Use fdexEnumAll in interp_forin in html mode.
jscript: Ignore GetNextDispID failure in interp_forin in html mode.
lsass: Make packages lookup case insensitive.
msvcp60: Fix mbsrtowcs() implementation.
msvcp90: Use correct locale in codecvt_short__Getcat.
msvcp90: Fix FMTFLAG_showpoint handling in num_put_wchar__Ffmt.
msvcp90: Fix typos in time_put<> RTTI data.
msvcp90: Fix error path handling in locale_ctor_locale_cstr.
msvcp90: Fix incorrect len usage in _Strxfrm.
msvcp90: Fix off-by-one error in codecvt_char16_do_in.
msvcp60: Fix crash when writing NULL-terminator in basic_string::replace().
msvcp60: Use correct locale in basic_ios::narrow and basic_ios::widen.
msvcp90: Don't crash on NULL rdbuf in basic_ostream::operator<< functions.
msvcp90: Don't crash on NULL rdbuf in basic_istream::operator>> functions.
msvcp60: Don't crash on NULL rdbuf in basic_ostream::operator<< functions.
msvcp60: Don't crash on NULL rdbuf in basic_istream::operator>> functions.
Rémi Bernon (23):
win32u: Introduce a framebuffer_image_count helper.
win32u: Keep the framebuffer blit programs per surface.
win32u: Avoid using a static vbo in the framebuffer blit programs.
win32u: Avoid using a uniform block for the gamma ramp.
win32u: Use GLSL 1.20 shaders for program in compatibility contexts.
win32u: Use parse_current_extensions to parse EGL device GL extensions.
winebus: Compute device index based on parent hash and index hint.
opengl32/tests: Load functions using a loop.
opengl32/tests: Test rendering to another process window.
opengl32/tests: Test rendering to another process child window.
opengl32/tests: Test rendering to a child of another process window.
win32u: Only check pixel formats for current process windows.
win32u: Merge the EGL display extensions with its device extensions.
win32u: Add dedicated helpers to allocate / free adapter objects.
win32u: Add dedicated helpers to allocate / free device objects.
win32u: Add dedicated helpers to allocate / free allocation objects.
win32u: Add dedicated helpers to allocate / free mutex objects.
win32u: Add dedicated helpers to allocate / free sync objects.
win32u: Add dedicated helpers to allocate / free resource objects.
winemac: Get rid of unnecessary pixel_format macdrv_win_data member.
win32u: Don't assume that every D3DKMT sync has an unix fd.
win32u: Don't assume every D3DKMT resource has an unix fd.
win32u: Pass runtime data in d3dkmt keyed mutex acquire and release.
Stian Low (1):
dxgi: Implement D3D11_CREATE_DEVICE_VIDEO_SUPPORT.
Sven Baars (1):
wined3d: Define VKD3D_UTILS_NO_WIN32_TYPES.
Symon Wang (1):
kernelbase: Support desktop app policy in process/thread attributes list.
Thomas Ritter (5):
comdlg32: Size custom controls for their wrapped text.
include: Add SmoothingModeAntiAlias8x4 and SmoothingModeAntiAlias8x8.
gdiplus: Antialias filled paths.
gdiplus: Draw antialiased thin lines one pixel wide.
gdiplus: Widen antialiased lines with the default flatness.
Vasiliy Stelmachenok (4):
win32u: Fill extensions for the display device.
opengl32: Generate entry points for EGL_EXT_device_type extension.
win32u: Add support for EGL_EXT_device_type.
win32u: Add proper support for WGL_RENDERER_UNIFIED_MEMORY_ARCHITECTURE_WINE.
Vibhav Pant (3):
include: Add notificationactivationcallback.idl.
wpnapps: Add stub dll.
wpnapps/tests: Add tests for displaying text-only ToastNotifications through ToastNotificationManager.
Vishnunithyasoundhar S (1):
cmd: Fix quoted redirection targets in pipes.
Zhiyi Zhang (2):
include: Correct the value of SECURITY_LOCAL_LOGON_RID.
include: Add logon types and providers for LogonUserA/W().
```
Oct. 16, 2026
Wine release 11.19
by Alexandre Julliard
The Wine development release 11.19 is now available.
What's new in this release:
- Support for vertical text in GDIPlus.
- Unicode character tables updated to Unicode 18.0.0.
- Caching for DNS queries.
- Improvements to the VBScript parser.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.19.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.19/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.19 (total 23):
- #25355 Time clock SBE 1.2 and 2.2 not working properly on ubuntu 10.04LTS
- #45969 ArcGIS Pro crashes on start
- #57100 Command Post fails to load
- #58319 winevdm crashes running Quicktime 2
- #59831 Zombie Army 4: Dead War running launcher leads to a memory leak
- #59944 BOINC's project dialog is messed up
- #60117 Evolution: The Game of Intelligent Life demo fails to start
- #60276 Paint.net 5.2 (Build 9739) tool window does not get sized correctly
- #60298 msvc-wine: freeze / deadlock during build due to a recent regression
- #60305 Focus problem between X window and Wine window
- #60322 wineboot blocks for ~5sec. on both macOS and Linux, slowing down the entire Wine startup process in certain situations.
- #60343 Euro Truck Simulator 2 fails to start using OpenGL renderer with the EGL backend
- #60345 rsaenh: CryptSetHashParam(HP_HMAC_INFO) with CALG_SHA_256 on PROV_RSA_FULL reports success but leaves the hash uninitialized; next CryptHashData() crashes (Aniimo, Steam 4126040)
- #60371 Desperados 2: Cooper's Revenge crashes with Animated Shadows enabled on NVIDIA under X11/XWayland
- #60374 msys2: forked process died unexpectedly, retry 0, exit code 0xE0000269, errno 11
- #60378 _aligned_malloc returns an undersized non-NULL pointer for sizes near SIZE_MAX due to overflow
- #60380 .NET Framework 4.8 : Decimal Math.Round always rounds up and never down
- #60381 XInput: The controller "disable" feature is not implemented
- #60385 Final Fantasy XI Online: Mouse/pointer cursor activates at unintended times (redux).
- #60386 Compile errors in dlls/opencl/unix_thunks.c
- #60392 Clicking "Replace All" crashes Wine Notepad
- #60403 gdiplus: GdipWidenPath reads past the dash pattern of a DashStyleCustom pen without dashes
- #60412 Hard Truck Apocalypse hangs and hits a stack overflow with builtin msvcr71/msvcp71
### Changes since 11.18:
```
Aleksei Arsenev (2):
include: Add REPLACEFILE_IGNORE_ACL_ERRORS.
kernelbase: Implement REPLACEFILE_IGNORE_*_ERRORS in ReplaceFileW().
Alex Henrie (38):
riched20: Change dark green in pen_colors from dark cyan to dark green.
riched20: Fix reversal of "objlock" and "objupdate" in rtfKey.
riched20: Fix logging of wNumberingTab in ME_DumpParaStyleToBuf.
riched20: Correct always-true condition in ME_AppendToHGLOBAL.
comctl32: Check array length before dereferencing in TOOLBAR_WrapToolbar.
shell32: Allocate enough space for the final null in build_paths_list.
setupapi: Don't overallocate in (append|delete)_multi_sz_value.
crypt32: Pass the correct length when querying CNGExtraAlgid.
shell32: Remove duplicate check in IExplorerBrowser_fnSetFolderSettings.
msvcrt: Fix typo in function name in comment above _snwscanf_s_l.
include: Fix typo in comment at end of include guard in msvcrt/share.h.
msvcrt: Pass buffer size in WCHARs from _wassert to _snwprintf.
tapi32: Fix backwards string copy in tapiGetLocationInfoA.
krnl386: Delete NE_DumpModule and NE_WalkModules.
msi: Trace function arguments in DISTINCT_CreateView.
dssenh: Trace the algorithm ID argument in CPDeriveKey.
wineps: Return NULL, not FALSE, from create_print_ctx on error.
combase: Fix leak of registry key in get_library_for_classid.
oleaut32: Call get_ptr_size only once in TLB_size_instance.
win32u: Call FT_Set_Charmap only once in select_charmap.
mapi32: Allocate enough space for null terminator in load_mapi_provider.
mshtml: Decrement the refcount in InstallCallback_Release.
mshtml: Fix logging of IDM_UNORDERLIST in query_edit_status.
urlmon: Close HKEYs with CloseRegistryKey in get_mime_filter.
notepad: Always pass a DWORD to EM_GETSEL and EM_SETSEL.
ntdll: Set IPV6_MTU_DISCOVER for IPv6, not IPv4, in sock_ioctl.
msimtf: Call ImmGetCandidateListCountW from GetCandidateListCountW.
advapi32: Correctly pass the domain from LogonUserA to LogonUserW.
kernel32/tests: Test ReleaseSemaphore with an invalid release count.
ntdll/tests: Test NtReleaseSemaphore with an invalid release count.
ntdll: Make the release count argument to NtReleaseSemaphore signed.
ntdll: Validate the release count argument in NtReleaseSemaphore.
rpcrt4: Compile ndr64_(async_)client_call only on 64-bit architectures.
hnetcfg: Fix stack corruption in fw_app_put_ProcessImageFileName.
wmp: Also call AddRef on the first connection in EnumConnections_Next.
quartz: Don't overallocate in FilterMapper_EnumMatchingFilters.
ws2_32: Increase the size of the WSAAddressToString buffers.
notepad: Use CRT allocation functions.
Alexandre Julliard (13):
ntdll: Always reserve some top-down space.
ntdll: Always allocate the virtual heap with mmap() on 64-bit.
ntdll: Make sure that the first thread data is outside of the exe range.
configure: Consistently check for both headers and libraries with pkgconfig.
preloader: Remove i386 macOS support.
preloader: Don't reserve the top-down addresses.
preloader: Remove WINEPRELOADRESERVE support in the macOS preloader.
faudio: Import upstream release 26.10.
msvcrt: Always use explicit sized variant of time_t.
msvcrt: Use 32-bit time_t with older msvcrt versions.
kerberos: Don't build the dll at all if the needed libraries are missing.
msvcrt: Fix stat() function prototypes for older msvcrt versions.
msvcrt: Define _CORECRT_BUILD when building msvcrt modules.
Alistair Leslie-Hughes (19):
windows.devices.enumeration: Return E_NOINTERFACE when no interface found.
sapi: Return error on memory allocation failure.
sapi: Handle memory allocation failure in ISpVoice::Speak.
oleaut32: Use the correct sizeof value in VARIANT_FormatString.
oleaut32: Assign the correct size in FmtMediumTime.
oleaut32: Output the correct varType variable.
msado15: Add validation checks for position in _Stream_put_Position.
include: Add RecordStatusEnum typedef.
include: Add missing d3d12 typedefs.
dpnet: Remove unneeded parameters from Create Functions.
dpnet: Implement DirectPlay8Create.
server: Correct mode mask compare.
msado15: Check correct pointer in parse_criteria.
inetmib1: Correctly access the table entries.
comdlg32: Consistently use SendDlgItemMessageW for messages.
rsaenh: Don't finalize hash for buffer size query in RSAENH_CPGetHashParam().
winetest: Correct CLSID format string.
include: Add some d3d12 options structs.
amstream: Remove duplicate assignment.
Andrii Yukhymchak (1):
ntdll: Fixed compile time issue in socket.c for OpenBSD.
Anna (navi) Figueiredo Gomes (1):
win32u: Load IDC_WAIT if no cursor was ever set.
Anton Baskanov (1):
dmime: Set F_INSTRUMENT_DRUMS for the 10th channel in midi_parser_handle_program_change().
Bernhard Kölbl (6):
windows.media.speech: Avoid leaking an HSTRING.
windows.media.speech: Improve memory allocation handling.
windows.media.speech: Improve memory allocation handling.
windows.media.speech: Improve memory allocation handling.
windows.media.speech: Improve handling of GetUserDefaultLocaleName errors.
windows.media.speech: Downgrade GetRuntimeClassName to a FIXME.
Bernhard Übelacker (3):
comctl32_v6: Avoid uninitialized values in szDim in SYSLINK_Render.
dnsapi: Increase allocations by the terminating character.
cmd: Avoid reading past string termination in WCMD_split_command_build.
Brendan Shanks (13):
winemac: Use C string format strings in the ObjC-only ERR().
winemac: Use C99 bool for internal functions/variables in macdrv.h.
winemac: Move all Windows includes (by Unix files) to macdrv.h.
winemac: Don't expose GDI driver function prototypes to ObjC code.
winemac: In ObjC files, replace BOOL in Windows headers with WINBOOL.
winemac: Avoid RIID redefinition errors with CFPlugIn.h.
winemac: Include OpenGL in macdrv.h to avoid typedef conflicts.
winemac: Include config.h and macdrv.h in all ObjC files.
winemac: Add default debug channels to ObjC files.
winemac: Remove winemac-specific logging functions.
winemac: Improve debugstr_cf().
winemac: Remove pre-macOS 10.15 workarounds.
winemac: Use [NSAnimationContext begin/endGrouping] in place of the deprecated NSDisable/EnableScreenUpdates().
Charlotte Pabst (14):
mfplat/tests: Add non-locking d3d12 buffer tests.
mfplat/tests: Test that d3d12 buffer Lock() is readonly.
mfplat/tests: Test d3d12 buffer read-write lock failures.
mfplat/tests: Test d3d12 buffer lock behavior.
mfplat/tests: Test d3d12 buffer sync object interactions.
mfplat/tests: Add d3d12 buffer creation tests.
mfplat: Allow creating d3d12-backed buffers.
mfplat: Implement Lock()/Unlock() for d3d12 buffer.
mfplat: Implement GetCurrentLength()/SetCurrentLength() for d3d12 buffer.
mfplat: Implement Lock2D()/Unlock2D() for d3d12 buffer.
mfplat: Implement GetScanline0AndPitch() for d3d12 buffer.
mfplat: Implement Lock2DSize() for d3d12 buffer.
mfplat: Implement GetResource() for d3d12 buffer.
mfplat/tests: Fix use-after-free in d3d12 buffer tests.
Connor McAdams (12):
winebus: Set proper device capabilities for winebus devices.
winebus: Allow the PnP manager to generate a container ID for us.
winebus: Rename input field in struct device_desc to interface.
winebus: Get USB interface information on MacOS if possible.
winebus: Move USB specific code out of get_device_subsystem_info() and into its own function.
winebus: Get vid/pid/version values using their sysattr values for USB devices.
winebus: Get interface number for USB based udev devices.
winebus: Get interface number for USB based IOHID devices.
winebus: Avoid setting serial number field unnecessarily.
winebus: Don't report a serial number for USB devices that don't have one.
hidclass.sys: Use DEVPKEY_Device_InstanceId to get PDO IDs.
hidclass.sys: Don't query container ID from the bus PDO.
Conor McCarthy (28):
mf/sar: Move audio renderer flush actions inside the conditional code block for active state.
mf/tests: Test Flush() on a shutdown audio renderer stream sink.
mf/sar: Check for null audio client before resetting during flush.
mfplat: Return the error code from dxgi_buffer_GetUnknown().
mfplat/tests: Test MFInitMediaTypeFromWaveFormatEx() with WAVE_FORMAT_EXTENSIBLE and zero cbSize.
mfplat: Validate MFInitMediaTypeFromWaveFormatEx() cbSize for WAVE_FORMAT_EXTENSIBLE.
mfplat/tests: Add tests for zero image width or height.
mfplat: Return E_INVALIDARG for zero height in MFCalculateImageSize().
mfplat: Check for null media type in sample_allocator_InitializeSampleAllocator().
mfplat: Check for null media type in sample_allocator_InitializeSampleAllocatorEx().
mfplat/tests: Test sample allocator initialisation with null media type.
mfplat: Return the error code on failure of presentation_descriptor_init().
mf/topology_loader: Pass the output pointer to topology_node_get_object() instead of its address.
mf/topology_loader: Get the input at the current loop index in topology_node_set_device_manager().
mf/topology: Return the exchanged new value in topology_generate_id().
mf: Always reset maxlen in mf_get_handler_strings().
mf/scheme_handler: Always release the byte stream in scheme_handler_callback_Invoke().
mf/topology: Guard against overflow in topology_node_reserve_streams().
mf/tests: Test SetTimer() with no time source.
mf/clock: Do not leave a relative 'time' on error in present_clock_schedule_timer().
mf/clock: Check time_source for null in present_clock_schedule_timer().
mf/copier: Validate sample_copier_transform_ProcessOutput() count parameter.
mf/session: Check topo_node for null in the METransformNeedInput handler.
mf/sac: Check for memory allocation failure in enum_audio_capture_sources().
mfmediaengine: Add a missing else in media_engine_GetCurrentSource().
mfsrcsnk: Validate stream identifier is not zero.
mfsrcsnk: Initialise all necessary sink fields before creating a wave format.
mfplat: Set the handler's activate pointer in MFRegisterLocalByteStreamHandler().
Daniel Betz (1):
cmd: Fix buffer overflows in search_command() for long parameters.
Daniel Lehman (4):
ucrtbase/tests: Add strftime format tests with %O.
msvcp140/tests: Add tests for time_put<char>.
ucrtbase: Stub %O in strftime.
msvcp140: Pass along %O in format to time_put.
Daniel Varga (1):
msvcrt: Don't compute handler pointer in cxx_frame_handler if it's not needed.
Dmitry Timoshkov (2):
winemenubuilder: Use character literals instead of hex codes.
winemenubuilder: Simplify the code a bit.
Elizabeth Figura (10):
mountmgr: Implement IOCTL_DVD_SEND_KEY.
mountmgr: Implement IOCTL_DVD_END_SESSION.
mountmgr: Implement IOCTL_DVD_GET_REGION.
mountmgr: Implement IOCTL_DVD_READ_STRUCTURE.
mountmgr: Implement IOCTL_CDROM_CHECK_VERIFY.
mountmgr: Implement IOCTL_SCSI_PASS_THROUGH.
mountmgr: Implement IOCTL_SCSI_PASS_THROUGH_DIRECT.
mountmgr: Implement IOCTL_SCSI_GET_ADDRESS.
mountmgr: Implement IOCTL_SCSI_GET_CAPABILITIES.
mountmgr: Implement IOCTL_SCSI_GET_INQUIRY_DATA.
Eric Blum (2):
user32/tests: Test toolwindow minimum width.
win32u: Fix minimum width of WS_EX_TOOLWINDOW windows.
Eric Pouech (12):
cmd/tests: Add some more tests.
cmd: Introduce explicit delimiters constants.
cmd: Introduce a delimiter set for executable.
cmd: Remove unnecessary parameter to WCMD_parameter*().
cmd: Add structure splitting a command line into command + args/options.
cmd: Introduce helper to identify word inside a string.
cmd: Introduce struct word_iterator to help builtin commands parsing.
include: Add SCN scanf constants for byte-sized ptr.
include/msvcrt: Default time_t to 64bit even on 32bit compilations.
include/msvcrt: Add missing debug definitions.
include: Add a poor's man implementation of malloca()/freea().
include: Fix socklen_t definition.
Esme Povirk (12):
ntdll: Stub NtOpenPrivateNamespace.
gdiplus/tests: Add test for DriverStringOptionsVertical.
gdiplus: Support vertical text in GdipDrawDriverString.
gdiplus: Support vertical text in GdipMeasureDriverString.
gdiplus: Implement vertical text in GdipDrawString.
gdiplus/tests: Remove duplicated line.
gdiplus: Implement vertical text in GdipMeasureString.
gdiplus: Implement vertical text in GdipMeasureCharacterRanges.
gdiplus/tests: Add tests for vertical string measurement.
gdiplus: Implement vertical text in GdipAddPathString.
windowscodecs: Check for integer overflow in DDS decoder.
uiautomation/tests: Skip a test that crashes on Windows 11.
Etaash Mathamsetty (1):
winewayland: Implement color management protocol for Vulkan color space.
Francis De Brabandere (13):
vbscript: Report a syntax error for overflowing hex and octal literals.
vbscript: Treat unused reserved words as keywords.
vbscript: Allow keywords that are valid identifiers as ReDim variable names.
vbscript: Fix indexing an array named default or property.
vbscript: Implement Erase as a builtin procedure instead of a statement.
vbscript: Don't assert on an assignment to Me.
vbscript: Don't assert on an assignment to an expression in parentheses.
vbscript: Report "Name redefined" for a redefined parameter name.
vbscript: Report "Name redefined" for more local declarations.
vbscript: Don't check class method names against locals of another method.
vbscript: Report "Name redefined" for a class variable declared twice.
vbscript: Report "Name redefined" for a name declared by ReDim.
vbscript: Allow a class property after a method of the same name.
Giang Nguyen (2):
ucrtbase/tests: Test the tmpnam() family.
msvcrt: Place the tmpnam() names in the temporary directory for the UCRT.
Gijs Vermeulen (1):
quartz: Check whether the pin is connected in IBasicVideo::get_VideoWidth() and get_VideoHeight().
Hans Leidekker (14):
dnsapi: Fix record data length in DnsRecordCopyEx().
dnsapi: Validate domain name in DnsQuery_UTF8().
dnsapi: Introduce a helper to allocate a record.
dnsapi: Add support for the hosts file in DnsQuery_UTF8().
widl: Build an index for typeref and typedef tables to speed up merge lookups.
ws2_32: Support AI_CANONNAME | AI_DNS_ONLY flags in getaddrinfo().
wineboot: Avoid multicast DNS lookup when resolving canonical hostname.
dnsapi: Add a cache.
dnsapi: Implement DnsRecordListFree(DnsFreeFlat).
dnsapi: Implement DnsGetCacheDataTable().
dnsapi: Avoid VOID, PCSTR, PCSWTR, etc.
dnsapi: Update option mapping.
include: Define DNS_QUERY_DNSSEC_REQUIRED.
kerberos: Initialize the unixlib in DllMain().
Herman Semenoff (1):
d3dcompiler_43: Use memchr() and an end pointer in get_line().
Ivan Ivlev (1):
winemenubuilder: Do not write empty arguments to desktop entries.
Jacek Caban (7):
ieframe: Fix DISPID_AMBIENT_SILENT return value.
ieframe: Handle safe array access errors in navigate_url.
ieframe: Fix returned cookie in EnumConnections_Next.
ieframe: Clean up VARIANT variables in on_offlineconnected_change and on_silent_change.
ieframe: Fix error handling in get_travellog_stream.
ieframe: Handle memory allocation failure in create_webbrowser.
ieframe: Handle memory allocation failure in create_callback.
Janne Kekkonen (1):
dbghelp: Initialize missing DWARF attribute names to empty strings.
Johnny Arcitec (1):
xinput1_3: Do not enumerate "disabled" controllers.
Marc-Aurel Zent (4):
mountmgr: Fix type in dvd_read_structure for DVD disk key descriptor.
winemac: Move IME related functions into their own file.
winemac: Send IME updates directly from the main thread.
imm32: Do not classify aliased HKLs as IME.
Matteo Bruni (10):
d3dx9/tests: Fix compare_elements() error string on declaration size mismatch.
d3dcompiler: Fix texcoord bounds check in find_ps_builtin_semantics().
d3dcompiler: Add error checking to GetCurrentDirectoryA() call.
d3dx9: Handle 0 argument in make_pow2().
d3dcompiler: Properly handle a coissue flag on the first assembly shader instruction.
d3dcompiler: Properly handle a predicate on the first assembly shader instruction.
d3dx9/shader: Check for NULL bytecode in get_shader_semantics().
d3dx9/effect: Check memory allocation in BeginParameterBlock().
d3dx9/effect: Check wide string allocation in D3DXCreateEffect[Compiler]FromFile[Ex]A().
d3dx9/sprite: Check vertex data allocation in d3dx_sprite_flush().
Michael Stefaniuc (11):
dmusic: Drop unused assigment.
dmime: Add missing break for a switch case.
dmime: Fix operator precedence issue.
dmime: Don't use substraction to compare two signed ints.
dmime: Don't leak mem when freeing a sequence track.
dmime: Split the Wave track SetParam into helpers per type.
dmime: Don't leak dsound references in the Wave track SetParam.
dmsynth: Don't leak references when destroying a sink.
dmsynth: Don't leak a ref to the sink when destroying the synth.
dmime: Pass the destination buffer size to stream_chunk_get_*.
dmime: A MIDI note is just 7 bits so mask off the high bit.
Michael Weghorn (1):
include: Add UI Automation HeadingLevelIds.
Mikhail Zhadanov (1):
ws2_32: Add support for SIO_UDP_NETRESET.
Nello De Gregoris (6):
rsaenh: Return NTE_BAD_ALGID for an HMAC with no hash algorithm.
rsaenh: Allow any implemented hash algorithm for HMAC.
rsaenh: Check the HMAC hash algorithm in CPSetHashParam().
rsaenh: Use the hash implementation for the HMAC key in CPSetHashParam().
rsaenh: Pad the HMAC key with the block length of the hash algorithm.
rsaenh/tests: Test the inner hash algorithm of an HMAC.
Nikolay Sivov (6):
msvcp: Implement GetNextAsyncId().
unicode: Update to Unicode 18.0.0.
include: Add some types for the D2D1ColorManagement effect.
d2d1: Add Color Management effect stub.
mfplat/tests: Add some tests for DXGI_FORMAT_R8_UINT buffers.
mfplat: Handle R8_UINT format in MFCreateDXGISurfaceBuffer().
Paul Gofman (5):
server: Make messages mergeable by default.
kernel32/tests: Add tests for setting zero group affinity mask.
ntdll: Treat zero group affinity as full group affinity.
d3dx10/sprite: Fix matrix multiplication order in d3dx10_sprite_draw().
d3dx10/sprite: Avoid drawing extra primitives with mismatched texture in d3dx10_sprite_draw_batch().
Peter Wedder (2):
dinput: Use link collections when reading HID joystick values.
winebus: Put joystick hat switches in separate collections.
Piotr Caban (15):
wmiutils: Implement IMarshal interface in WbemDefPath.
oledb32: Support converting DBTYPE_VARIANT to DBTYPE_I8.
oledb32: Support converting DBTYPE_VARIANT to DBTYPE_BOOL.
ncrypt: Don't allow setting NCRYPT_PROVIDER_HANDLE_PROPERTY property in NCryptSetProperty.
ncrypt: Make ncrypt provider handles refcounted.
secur32: Fix LsaFreeReturnBuffer return value.
msxml3: Get rid of no longer needed element_entry structure.
msxml3: Return success when setting MaxXMLSize property.
oleaut32: Don't overflow maximum date value in VariantTimeToSystemTime when handling milliseconds.
mshtml: Add HTMLCSSStyleDeclaration:textOverflow property implementation.
mshtml: Test VT_UI8 type in JavaScript.
mshtml: Handle VT_I8 type in JavaScript.
kernel32/tests: Test if LOCALE_SSORTLOCALE returned name is valid.
nls: Fix ku-Arab sortlocale.
nls: Generate pap-029 locale data.
Rémi Bernon (36):
winemac: Make the cocoa id<X> typedefs consistent with vulkan headers.
win32u: Parse extensions directly into the BOOLEAN set.
win32u: Parse context version from GL_VERSION string.
opengl32: Simplify make_opengl extensions enumeration.
win32u: Parse and keep track of available EGL extensions.
win32u: Load core and extension GL procedures using a loop.
win32u: Load all EGL core and extension functions.
win32u: Restore dropped return FALSE if pbuffer creation fails.
win32u: Parse wglCreateContextAttribsARB attribs on behalf of the drivers.
win32u: Use the opengl_context_attrs to keep opengl_context attributes.
win32u: Move some context attribute checks out of the drivers.
winemac: Get rid of the now unnecessary macdrv_context core field.
winemac: Merge create_context into macdrv_context_create.
win32u: Move internal_context_create helper around.
win32u: Check ES2_PROFILE_BIT against the profile attributes.
win32u: Initialize context draw / read buffers when making it current.
win32u: Introduce get_root_context for separate context sharing.
opengl32: Use the root contexts to decide if sharing is possible.
opengl32: Use a specific unix call to switch root contexts.
win32u: Recreate framebuffer surface on root context change.
win32u: Create extra root and thread contexts with NO_ERROR flag.
win32u: Create extra root contexts for compat contexts on macOS.
win32u: Get rid of the now unnecessary context shared flag.
win32u: Also notify pbuffer surfaces of internal context activation.
win32u: Use the null surface if framebuffer surface has no target.
win32u: Add a default pbuffer implementation using the FBO surface.
win32u: Avoid using glDrawPixels with the FBO surface pbuffer.
winemac: Implement pbuffers using the framebuffer surface.
win32u: Pass both strings as a single WINE_IME_POST_UPDATE param.
win32u: Pass the IME update return pointer to ImeToAsciiEx.
opengl32: Add more wglChoosePixelFormat filtering traces.
win32u: Use a structure for extra pixel format flags.
winex11: Request sRGB colorspace for sRGB pixel formats.
winewayland: Request sRGB colorspace for sRGB pixel formats.
win32u: Generate extra sRGB pixel formats for onscreen EGL configs.
winewayland: Register a color-management-v1 protocol listener.
Thibault Payet (1):
mountmgr: Fixup build issues related to cdrom.
Thomas Ritter (1):
gdiplus: Widen DashStyleCustom pens without dashes as solid lines.
Tobiasz Laskowski (2):
ole32/tests: Test DoDragDrop before OleInitialize.
ole32: Fix DoDragDrop uninitialized error code.
Vibhav Pant (7):
wintypes/tests: Add additional tests for RoResolveNamespace.
wintypes: Add an initial implementation for RoResolveNamespace.
widl: Set the memberref field for all ATTR_STATIC attributes on a type.
wintypes/tests: Fix buffer overflow while creating a HSTRING with an embedded NUL.
wintypes: Fix incorrect heap allocation in RoResolveNamespace.
widl: Add initial support for merging multiple WinMD files.
widl: Accept multiple input IDLs when invoked with --winmd and --output.
Vishnunithyasoundhar S (3):
msvcrt: Check for overflow in aligned memory allocation.
oleaut32: Fix VarDecRound() rounding of discarded digits.
attrib: Reject file name arguments longer than MAX_PATH.
Zhiyi Zhang (4):
include: Add a PW_RENDERFULLCONTENT flag for PrintWindow().
user32/tests: Add tests for PrintWindow().
win32u: Reimplement NtUserPrintWindow() without sending WM_PRINT messages.
ntdll: Add a ZwOpenPrivateNamespace() private export.
```
Oct. 2, 2026
Wine release 11.18
by Alexandre Julliard
The Wine development release 11.18 is now available.
What's new in this release:
- More NTOSKRNL support for kernel drivers.
- A wide range of fixes for various code correctness issues.
- Some compatibility fixes in standard C headers.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.18.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.18/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.18 (total 21):
- #18260 QuickTime 2.x win16 installer exits silently
- #45104 OOB read in gdiplus
- #51499 Assassin's Creed Rogue some textures have Normal Map effect
- #54146 Super Meat Boy: Periodic Music Corruption
- #57980 Adobe Creative Cloud requires unimplemented function KERNEL32.dll.SetThreadpoolTimerEx
- #59278 Adobe Express Photos installer crashes on unimplemented function KERNEL32.dll.PackageFullNameFromId
- #59335 Screamer 4x4 v1.2 (GOG.com) crashes after 40-50 seconds in XWayland full-screen mode
- #59908 Reading a file: When a line is longer, End of File (EOF) is triggered
- #59934 SlingPlayer 1.5 has a broken border
- #60288 Enclave: brightness control no longer works
- #60290 Mouse button handling regressions in several games when launched through Steam
- #60291 Wine application windows react to mouse clicks outside window
- #60292 Star Wars: Knights of the Old Republic: graphical overlay/corruption in 3D scenes after starting or loading a game
- #60296 Return to Krondor: corrupted text and graphics in several menu screens
- #60307 The Bard's Tale IV Director's Cut: MP4 playback broken, causing black screen and hang
- #60311 wmic: /value after get is treated as a property name
- #60326 mfreadwrite regression causes 'In Sound Mind' to crash during startup videos
- #60327 Regression since "ntdll: Allocate the initial TEB after the main image is loaded."
- #60331 arm64ec regression since "ntdll: Allocate the initial TEB after the main image is loaded."
- #60337 Wine unable to start up after "ntdll: Store the main module handle in a global variable."
- #60338 Wine applications such as Regedit and Notepad show Arabic when the system locale is Norwegian Nynorsk
### Changes since 11.17:
```
Alex Henrie (17):
include: Define EXIT_FAILURE as 1, not -1.
include: Correct the size of OUTLINETEXTMETRIC16.otmsUnderscorePosition.
mmsystem: Correct callback arguments in timeCB3216.
combase: Fix double free on error path in dispatch_rpc.
mshtml: Fix double free on error path in get_nsstyle_pos.
ieframe: Fix duplication of post data in navigate_bsc.
setupapi: Fix "DelService" search in SetupInstallServicesFromInfSectionW.
ntdll: Fix length computation in RtlUpcaseUnicodeStringToOemString.
wined3d: Add device information for the NVIDIA L4 GPU.
dwrite: Correct interface name in warning in rendertarget_DrawGlyphRun.
mshtml: Fix format specifier in warning in HTMLDOMTextNode_splitText.
gdiplus: Fix typo in DLL name in comment above GdipAddPathArcI.
setupx: Correct function name in comment in VCP_UI_NodeCompare.
vbscript/tests: Fix format specifier in error message in run_tests.
wow64: Correct comment above wow64_NtWorkerFactoryWorkerReady.
wnaspi32: Remove duplicate definition of INQUIRY_VENDOR from aspi.h.
mpr: Always use heap allocation in WNetGetConnectionA.
Alexandre Julliard (28):
fluidsynth: Fix an enum conversion compiler warning.
server: Store the image path first in the startup info.
ntdll: Map the main exe before allocating the process parameters.
ntdll: Allocate the initial thread data in high memory.
ntdll: Ignore the preloader range when allocating reserved areas.
ntdll: Use the debug info from the thread data as soon as it's allocated.
ntdll: Store the session id in a global variable.
ntdll: Store the cpu count in a global variable.
ntdll: Add a separate helper to allocate the initial thread data.
ntdll: Set the startup_info_size global variable directly in server_init_process().
ntdll: Allocate the initial TEB after the main image is loaded.
ntdll: Store the redirection flag in the thread data before the TEB is created.
ntdll: Setup large address space before allocating the first TEB.
ntdll: Set the arm64ec bitmap pointer once the PEB is allocated.
ntdll: Only initialize the wow64 TEB in wow64 mode.
ntdll: Only allocate the wow64 TEB in wow64 mode.
ntdll: Allocate initial TEB and process parameters in high memory on 64-bit.
ntdll: Store the main module handle in a global variable.
ntdll: Setup the DOS address space after the main module is loaded.
ntdll: Don't try to load a 32-bit main image in high memory.
ntdll: Don't return early from load_main_exe if the file is missing.
ntdll: Always load builtins from ARM64 directory on ARM64EC.
ntdll: Initialize resource loading before the activation context.
ntdll: Use en-US as last fallback for resource lookups.
makedep: Disable the tests of a disabled module.
makedep: Explicitly list targets instead of using `all`.
dmloader/tests: Skip test that only works on 32-bit.
msvfw32/tests: Skip test that only works on 32-bit.
Alfred Agrell (2):
include/ddraw: Fix typoed vtbl macro.
include/dsound: Fix typoed vtbl macros.
Alistair Leslie-Hughes (14):
winedump: Corrections for generating stub dll.
include: Convert d3d10_1shader.h to idl.
server: Correct sizeof usage.
include: Fix typos in vtbl macros.
msado15: Correct len calculation in stream_ReadText.
include: Fix WriteProfileSection macro.
include: Fix DI_INF_IS_SORTED defined value.
include: Remove parameter name in ScrollConsoleScreenBufferW.
include: Fix LPFN_WSASTRINGTOADDRESS typedef.
include: Correct WS_AF_OSI define.
include: Correct FORWARD__WT_PROXIMITY/_INFOCHANGE defines.
oleaut32: Don't skip characters after 'c' in VarTokenizeFormatString.
localspl: Correct buffer size being passed to cups_start_doc.
oleaut32: Correctly compare the last character in VarFormatPercent.
Andrey Gusev (3):
d3dx: Check for NULL new_data in convert_dib_to_bmp().
msi: Check for NULL prop,val in msi_parse_command_line().
msi: Check for NULL t in append_storage_to_db().
Anton Baskanov (11):
dsound: Get rid of committedbuff and report the mixing position as writepos instead.
dsound: Reuse input samples from the previous resampling iteration.
dsound: Equalize latency for all resampling ratios.
dsound/tests: Test that the filters are applied before resampling.
dsound: Apply the filters before resampling.
dmband: Handle GUID_Download and GUID_Unload.
dmime/tests: Test that the collection is not leaked when parsing a MIDI file.
dmime: Don't leak collection in midi_parser_parse().
dmusic/tests: Test multiple downloads of an instrument.
dmusic: Allow downloading an instrument to multiple ports.
dmusic: Keep track of instrument download count.
Bernhard Kölbl (1):
webservices: Probe the next element with the desired name before staying at the current one.
Bernhard Übelacker (4):
winex11.drv: Use memmove in strip_driver_extra.
comctl32/tests: Add missing newline in ok statement.
sechost: Avoid buffer-overlow with too short strings in ConvertStringSidToSid.
lsass: Make copies of strings to make it freeable by RPC.
Brian Carbone (1):
winewayland: Fix dummy buffer leak.
Charlotte Pabst (2):
mfsrcsnk/tests: Test that byte streams are read in chunks of 0x40000.
winegstreamer: Read input in chunks of 256KiB.
Connor McAdams (10):
include/ddk: Add missing PnP minor function code definition.
ntoskrnl/tests: Introduce new PnP driver tests for device trees.
ntoskrnl: Set DEVPKEY_Device_FirstInstallDate for devices.
ntoskrnl: Add support for creating unique instance ID values based on parent device.
setupapi: Fix device instance ID string casing.
ntoskrnl: Set SPDRP_CAPABILITIES for PnP devices.
ntoskrnl: Handle DevicePropertyContainerID in IoGetDeviceProperty().
ntoskrnl: Set container ID for root PnP devices.
ntoskrnl: Assign container IDs to PnP devices that don't report their own.
hidclass.sys: Use the PnP manager to supply the majority of the device instance ID.
Conor McCarthy (7):
mf/tests: Test OnClockStop() is called after adding a clock state sink.
mf/tests: Test audio renderer MEStreamSinkStopped after OnClockStop().
mf/tests: Test video renderer stopped and paused events after OnClock*().
mf/clock: Don't notify a sink that is also the time source in AddClockStateSink().
mf/evr: Always send MEStreamSinkStopped in OnClockStop().
mf/evr: Always send MEStreamSinkPaused in OnClockPaused().
mf/session: Ignore MEStreamSinkStopped if prerolling or starting sinks.
Daniel Lehman (2):
msxml3/tests: Add test for XPath with namespace.
msxml3: Fix crash when collecting elements with namespace.
Dmitry Timoshkov (4):
crypt32/tests: Add some tests for PKCS signed message attributes.
crypt32: Properly encode CMSG_ENCODED_MESSAGE in the PKCS signed message decoder.
crypt32/tests: Add some comments to the signed message attributes test.
crypt32: Use public symbolic names.
Elizabeth Figura (28):
mountmgr: Handle IRP_MJ_CREATE for disk devices.
ntoskrnl/tests: Test failing IRP_MJ_CREATE.
ntdll: Do not store the file handle in async_fileio.
server: Get rid of the comp_flags argument to create_request_async().
server: Allow open_file_object to be async.
server: Relay the result of IRP_MJ_CREATE.
mountmgr: Split cdrom ioctls to a separate file.
mountmgr: Open cdrom devices.
mountmgr: Implement IOCTL_CDROM_READ_TOC.
mountmgr: Implement IOCTL_CDROM_SEEK_AUDIO_MSF.
mountmgr: Implement IOCTL_CDROM_STOP_AUDIO.
mountmgr: Implement IOCTL_CDROM_PAUSE_AUDIO.
mountmgr: Implement IOCTL_CDROM_RESUME_AUDIO.
mountmgr: Implement IOCTL_CDROM_GET_VOLUME.
mountmgr: Implement IOCTL_CDROM_SET_VOLUME.
mountmgr: Implement IOCTL_CDROM_PLAY_AUDIO_MSF.
d3d11: Implement DiscardResource().
d3d11: Implement DiscardView().
mountmgr: Implement IOCTL_CDROM_READ_Q_CHANNEL.
mountmgr: Implement IOCTL_CDROM_RAW_READ.
mountmgr: Implement IOCTL_CDROM_DISK_TYPE.
mountmgr: Implement IOCTL_CDROM_GET_DRIVE_GEOMETRY.
mountmgr: Implement IOCTL_*_MEDIA_REMOVAL and IOCTL_STORAGE_EJECTION_CONTROL.
mountmgr: Implement IOCTL_STORAGE_EJECT_MEDIA.
mountmgr: Implement IOCTL_*_LOAD_MEDIA.
mountmgr: Implement IOCTL_STORAGE_RESET_DEVICE.
mountmgr: Implement IOCTL_DVD_START_SESSION.
mountmgr: Implement IOCTL_DVD_READ_KEY.
Eric Pouech (11):
include: Fix some typos in wincrypt.h.
include/msvcrt: Add missing constants in corecrt.h.
include/msvcrt: Add some missing prototypes.
include/msvcrt: Add missing vsnprint_s implementation.
include/msvcrt: Add missing _mkgmtime() prototype(s).
include/msvcrt: Add some missing C++ overloaded functions.
include/msvcrt: Add non standard tzset() prototype.
include/msvcrt: Define C++ exceptions only if _HAS_EXCEPTIONS is set.
include/msvcrt: Move abs C++ overload from stdlib.h to cmath.
include: Add missing prototype.
include: Add some missing prototypes about C++ new handler.
Esme Povirk (9):
gphoto2.ds: Fix grayscale palette initialization.
ole32: Fix offset update in propertystorage_read_scalar.
ole32: Rewrite free loop on error path.
ole32: Handle failures in StgStreamImpl_CopyTo.
ole32: Use common error path.
ole32: Check for read past end of stream.
sane.ds: Fix MSG_QUERYSUPPORT for unknown capability.
sane.ds: Fix accidentally concatenated strings.
windowscodecs: Check for multiplication overflow in BMP decoder.
Etaash Mathamsetty (8):
ntoskrnl.exe: Implement PsGetThreadProcess.
ntoskrnl.exe: Implement PsGetProcessPeb.
ntoskrnl.exe: Implement PsGetContextThread.
ntoskrnl.exe: Implement PsReferencePrimaryToken.
ntoskrnl.exe: Implement MmGetPhysicalMemoryRanges.
ntoskrnl.exe: Implement SeLocateProcessImageName.
ntoskrnl.exe: Add semi-stub for MmGetVirtualForPhysical.
ntoskrnl.exe: Add stub for KeCapturePersistentThreadState.
Francis De Brabandere (1):
vbscript: Free fixed-size array data on release.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.362.
Giang Nguyen (4):
wined3d: Handle buffers without a structure byte stride in wined3d_device_context_discard_resource().
wined3d: Use the texture level count to compute the discarded sub-resource index.
d3d11: Release the resource returned by ID3D11View::GetResource() in DiscardView().
d3d11/tests: Test DiscardResource() and DiscardView().
Hans Leidekker (30):
odbc32: Remove unused pSQLBindParam function pointer.
odbc32: Consistently use KeyValueBasicInformation in get_drivers().
odbccp32: Fix setting the driver filename in SQLWriteDSNToIniW().
odbccp32: Check for allocation failure in write_registry_values().
odbccp32: Fix handle leak on error in write_registry_values().
msi: Validate localpath length in open_package().
msi: Handle NULL usersid/prodcode in get_deferred_action().
msi: Handle missing SourceDir property in change_media().
msi: Check for allocation failure in MsiLoadStringA().
msi: Check the result of MSI_RecordGetString() in is_uninstallable().
msi: Check for allocation failure in marshal_record().
msi: Check for MSI_CreateRecord() failure in ITERATE_FindRelatedProducts().
msi: Fix potential use-after-free in st_find_free_entry().
msi: Fix memory leak on error in do_msidbCustomActionTypeDll().
msi: Clean up on failure in MsiFormatRecordA().
msi: Avoid underflow in MSI_GetUserInfo().
msi: Avoid underflow in UPDATE_execute().
mscms: Allocate dest dynamically in InstallColorProfileW().
mscms: Fix buffer size check in GetColorProfileFromHandle().
mscms: Fix parameter validation in CreateMultiProfileTransform().
widl: Keep a list of winmd specific data.
wmic: Support /value parameter.
wmic: fgetws() takes character count.
shell32: Navigate to folder in ItemMenu_InvokeCommand() if hosted by a shell browser.
winscard: Handle NULL states in SCardGetStatusChangeW().
winscard: Remove duplicate assignment.
winscard: Check names_len parameter in SCardStatusA/W().
rsaenh: Set last error before returning in export_public_key_impl().
rsaenh: Handle get_key_container() failure in RSAENH_CPSetKeyParam().
ncrypt: Validate data parameter in NCryptImportKey().
Jacek Caban (12):
ntdll: Use correct Pc offset in ARM64EC process_breakpoint_handler.
ntdll: Avoid exposing ARM64 call_user_mode_callback context to the client side.
winegcc: Pass target CPU to build_tool_name.
winebuild: Use x86_64 assembly for arm64ec targets.
configure: Disable 32-bit only crt modules on 64-bit targets.
configure: Disable 32-bit only Direct Music modules on 64-bit targets.
configure: Disable 32-bit only Direct Play modules on 64-bit targets.
configure: Disable 32-bit only OLE modules on 64-bit targets.
configure: Disable more 32-bit only modules on 64-bit targets.
configure: Disable d3d8.dll on 64-bit targets.
kernelbase: Remove ARM64EC assembly version of RaiseException.
winegcc: Use -target compiler argument when targeting a different CPU than the main target.
Marc-Aurel Zent (1):
imm32: Cancel IME composition on hkl deactivation.
Marcus Meissner (3):
lsass: Use boolean for checking, not pointer.
lsass: Assign result of realloc.
msv1_0: Free cmd on exit.
Matteo Bruni (30):
d3dx9: NULL the out pointer for unsupported interfaces in ID3DXBuffer QueryInterface().
include: Add missing PURE decoration on CloneMesh.
d3dx9/effect: Fix object array element release.
d3dx: Introduce a linear_color_from_format() helper.
d3dx: Introduce a format_from_linear_color() helper.
d3dx9: Fix linearization in box filtering.
d3d10: Compute dependent properties for all the state variables.
d3dx9: Add missing error checks in wide string allocations.
include: Add missing PURE decoration on GetFunction[ByName].
d3dx: Get rid of a duplicated declaration.
d3dx10: Add missing wide string allocation error check in D3DX10CreateAsyncFileLoaderA().
d3dx11: Add missing wide string allocation error check in D3DX11CreateAsyncFileLoaderA().
d3dx9: Fix potential leak in OptimizeInplace()'s failure path.
d3d10: Add a comment for intentional behavior in pres_not() and pres_or().
d3dx9: Fix sampler parameters release.
d3dx9: Free effect on creation failure.
d3dx9: Always initialize effect output parameter in D3DXCreateEffect*().
d3dx9/tests: Add a couple missing effect creation checks.
d3dx9/tests: Release effects created because of todo_wine.
d3dx9/mesh: Validate skin weights data more strictly.
d3dx9/effect: Validate parameter object id.
d3dx9/effect: Downgrade OOB effect value traces from FIXME() to WARN().
d3dx9/tests: Test binary effect with invalid pass index in resource.
d3dx: Validate RLE-compressed TGA data more strictly.
d3dx9/mesh: Fix normal data size validation.
d3dx9/mesh: Don't overflow vertex declaration buffer in SetDeclaration().
d3dx9/mesh: Don't overflow vertex declaration buffer in UpdateSemantics().
d3dx9/mesh: Don't overflow vertex declaration buffer in D3DXCreateMesh().
d3dx9/mesh: Add bounds checking in declaration_equals().
d3dx9/tests: Add some tests for overflowing vertex declarations.
Michel Bernert (1):
imm32: Fix malformed messages in ImeToAsciiEx().
Nello De Gregoris (11):
ntoskrnl.exe/tests: Add tests for PsGetThreadProcess.
ntoskrnl.exe/tests: Add tests for PsGetProcessPeb.
ntoskrnl.exe/tests: Add tests for PsGetContextThread.
server: Allow creating token kernel objects.
ntoskrnl.exe/tests: Add tests for token kernel objects.
ntoskrnl.exe: Implement PsDereferencePrimaryToken.
ntoskrnl.exe/tests: Add tests for PsReferencePrimaryToken.
ntoskrnl.exe/tests: Add tests for MmGetPhysicalMemoryRanges.
ntoskrnl.exe/tests: Add tests for SeLocateProcessImageName.
ntoskrnl.exe: Implement PsGetProcessImageFileName.
ntoskrnl.exe/tests: Add tests for PsGetProcessImageFileName.
Nikola Kuburović (2):
ntdll: Fix out-of-bounds access in NtQueryInformationToken.
ntdll: Add missing token information classes.
Nikolay Sivov (30):
include: Fix pointer types in qos2.h.
include: Fix PST_RS422 constant name.
include: Remove duplicated macros from wingdi.h.
include: Fix typo in IOCTL_AVIO_MODIFY_STREAM definition.
include: Fix a typo in IMAPISession_MessageOptions() macro.
d3dx10/tests: Add some more tests for sprite state restoration.
d3dx10/tests: Test batched sprite drawing when interleaved with immediate one.
d3dx10/tests: Test immediate sprite drawing outside of Begin-End.
d3dx10/sprite: Make DrawSpritesImmediate() work outside of Begin-End.
kernel32/tests: Add some tests for PackageFullNameFromId().
kernelbase: Partially implement PackageFullNameFromId().
wined3d/spirv: Fix a typo in bitwise mask test.
wined3d: Add missing mutex release in failure paths of swapchain initialization.
wined3d: Remove duplicated code block.
wined3d: Remove unnecessary assignment.
d3drm: Access created objects only on successful paths.
d3drm: Use correct interface methods macros.
include: Fix some typos in methods macros of D3DRM interfaces.
include: Fix PST_RS449 value.
mfreadwrite: Fix end-of-segment notifications for MF_SINK_WRITER_ALL_STREAMS.
mfreadwrite/reader: Fix async command objects leak.
mshtml: Use correct method names in error messages.
mfreadwrite/reader: Initialize operation object refcount.
wpcap: Remove duplicated trace call.
xmllite/writer: Improve failure handling in WriteRawChars().
winegstreamer/aac: Fix a copy-paste mistake in SetOutputType().
winegstreamer: Fix a copy-paste mistake in internal video type mapping helper.
winegstreamer: Fix typos in trace messages.
d2d1: Add Premultiply effect stub.
d2d1: Add 3D Transform effect stub.
Paul Gofman (13):
ddraw/tests: Add tests for _ProcessVertices with vertex blending.
wined3d: Support vertex blending for position in process_vertices_strided().
ddraw/tests: Add test for lighting in _ProcessVertices with vertex blending.
wined3d: Support vertex blending for lighting in process_vertices_strided().
ntdll/tests: Fix test failures in test_extended_context() on current up to date Win11 (25H2).
amstream: Unblock ddraw_mem_allocator_GetBuffer() and return VFW_E_NOT_COMMITTED when stream is flushing.
ntdll/tests: Fix test failures in test_copy_context() on current up to date Win11 (25H2).
ntdll/tests: Fix test failures with exception reporting flags on current up to date Win11 (25H2).
ntdll: Send debug event exceptions as exception space.
Revert "kernelbase: Don't modify non-volatile regs in RaiseException() on x64.".
ntdll/tests: Fix termination_handler parameter definition.
ntdll/tests: Expect xstate in context in test_wow64_context().
server: Consider _MOVE_NOCOALESCE and _ABSOLUTE flags when merging mouse events.
Rémi Bernon (48):
opengl32: Move default FBO buffer restore helper around.
opengl32: Restore the default FBOs in pop_default_fbo_buffers.
opengl32: Restore default FBO read/draw buffers after presenting.
win32u: Remove unnecessary FBO read / draw buffers initialization.
winex11: Don't ignore some focus events wrt. XI2 raw mouse events.
winex11: Keep root window XI2 event mask in x11drv_thread_data.
winex11: Restore XI_ButtonPress event instead of raw button events.
opengl32: Add some traces to wglChoosePixelFormatARB.
opengl32: Set the null function table when clearing current context.
winex11: Restore gamma ramp driver entry points.
resampledmo: Don't use AVRational as time base.
imm32: Explicitly link against kernel32 before kernelbase.
win32u: Split drivers make_current into context_activate / thread_cleanup.
win32u: Allocate opengl_context structs in the drivers.
win32u: Set glReserved2 to the current client or internal context.
win32u: Set the internal context drawables when activating.
winemac: Get rid of macdrv_context specific drawable members.
win32u: Avoid setting drawable current if not necessary.
winemac: Use the latched client surface toplevel window.
winemac: Flush GL commands when activating another context.
winemac: Make sure all contexts are double buffer capable.
win32u: Make sure glDrawArrays has an active VAO.
win32u: Keep the size of the opengl_drawable implementation in the funcs.
win32u: Keep the size of the client_surface implementation in the funcs.
win32u: Keep the size of the window_surface implementation in the funcs.
win32u: Pass the pbuffer drawable size to opengl_drawable_create.
win32u: Pass a SIZE to pbuffer_create instead of width / height.
win32u: Use the opengl_drawable virtual_size for the pbuffers dimension.
winemac: Remove unnecessary type alias for WineEventQueue.
winemac: Remove unnecessary type alias for WineStatusItem.
winemac: Remove unnecessary type alias for CAMetalLayer.
winemac: Remove unnecessary type alias for WineMetalView.
winemac: Remove unnecessary type alias for WineOpenGLContext.
winemac: Remove unnecessary type alias for id<MTLDevice>.
winemac: Remove unnecessary type alias for id<WineMetalSwapchain>.
winemac: Remove unnecessary type alias for WineContentView.
winemac: Remove unnecessary type alias for WineWindow.
win32u: Avoid a dump_extensions unused warning.
win32u: Release previous drawables after setting the context drawables.
win32u: Check for any internal context in context_sync_drawables.
win32u: Simplify context_sync_drawables control flow in the noop case.
win32u: Set the context drawables right after activation succeeds.
opengl32/tests: Test viewport initialization with pbuffer DC.
opengl32: Initialize context viewport in init_client_context.
win32u: Move the flush_memory_dc helper before create_memory_pbuffer.
win32u: Initialize memory DC directly in create_memory_pbuffer.
win32u: Use explicit *_LEFT buffer in wglBindTexImageARB.
opengl32: Avoid unix-side crashes without an active context.
Santino Mazza (1):
cmd: Use wine_dbgstr_w to prevent overflows when logging enabled.
Sean Reid (1):
winebus.sys: Truncate input reports to their declared length.
Tobiasz Laskowski (3):
kernel32/tests: Check case for GetTempFileName.
kernel32/tests: Check digit case in temp file hex.
kernel32: Use upper case hex in temp files names.
Vibhav Pant (15):
rometadata/tests: Add additional tests for IMetaDataImport::{EnumCustomAttributes, GetCustomAttributeProps}.
rometadata: Add a varargs helper function to get multiple table columns.
rometadata: Factor creation of TOKEN_ENUM_LIST token enumerators into token_array.
rometadata: Implement IMetaDataImport::{EnumCustomAttributes, GetCustomAttributeProps}.
rometadata: Implement IMetaDataImport::{EnumInterfaceImpls, GetInterfaceImplProps}.
rometadata/tests: Add tests for IMetaDataImport::{EnumTypeRefs, GetTypeRefProps}.
rometadata: Implement IMetaDataImport::{EnumTypeRefs, GetTypeRefProps}.
vccorlib140/tests: Add tests for Platform::Object::Object().
vccorlib140: Implement Platform::Object::Object().
rometadata/tests: Add additional tests for IMetaDataImport::FindTypeRef.
rometadata: Implement IMetaDataImport::FindTypeRef.
rometadata/tests: Add tests for IMetaDataImport2::{EnumGenericParams, GetGenericParamProps}.
rometadata: Set out to NULL when QueryInterface fails.
rometadata/tests: Add tests for IMetaDataAssemblyImport::GetAssemblyRefProps.
vccorlib140: Use the correct prefix in IPrintable RTTI descriptors for exceptions.
Yuxuan Shui (3):
mfreadwrite: Fix callback invocation in ReadSample error path.
mfreadwrite: Make sure ASYNC_READ op can't start until ASYNC_SEEK finishes.
mfreadwrite/tests: Check if and how OnReadSample is called when no stream is selected.
Zhiyi Zhang (8):
user32/tests: Add more tests for CreateCompatibleBitmap() with display DCs.
win32u: Add some special cases for CreateCompatibleBitmap() with a display DC.
user32/tests: Move GetDIBits() tests with display DCs from gdi32.
win32u: Allow 8-bit DDBs with 8-bit display DCs in NtGdiGetDIBitsInternal().
user32/tests: Test that WM_PRINT PRF_CHILDREN sets a clip region.
win32u: Set a clip region when handling WM_PRINT PRF_CHILDREN.
user32/tests: Test WM_PRINT with a child window that has a non-client area.
win32u: Fix drawing the non-client area for child windows with WM_PRINT.
```
Sept. 18, 2026
Wine release 11.17
by Alexandre Julliard
The Wine development release 11.17 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 2.1.
- Initial support for display mode emulation.
- Better support for preferred UI languages.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.17.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.17/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.17 (total 44):
- #23364 Tetris JR (win16) exits immediately
- #25373 Nokia S60 5th Edition SDK 1.0: epoc32 emulator and other tools fail to run (Wine's 'hal.dll' is preferred over native, causing failure to load app provided library with same name)
- #29851 Some part of PDFCreator installer cannot display Chinese correctly even Font Replacement is setting correctly
- #30155 SafeDisc v2.05.030 fails due to driver dispatch routine status and irp.IoStatus.u.Status differing (Command & Conquer: Red Alert 2)
- #32368 Bigrats: UI can't display normally and all the widgets didn't work
- #35056 64-bit PTC Pro Engineer Wildfire V5 installer fails (64-bit processors not reported in volatile hardware registry keys)
- #39336 VisualSubSync (ItaSA version) 1.0.2.1 crashes when pressing audio play button
- #42383 certmgr.exe is unable to import certificate in PKCS12 format
- #44137 Wine64 crashes with any 64-bit binary
- #45979 Advanced SystemCare 6.4 needs 'SWbemPropertySet::get__NewEnum' to iterate over 'Win32_PhysicalMedia' properties
- #46671 Biamp canvas crashes on startup
- #46815 PS4 Remote Play 2.x (.NET 4.x app) fails on startup, reports 'Cannot connect to the server.' (missing TEMP directory in user's Local AppData directory)
- #47062 Multiple E-Banking applications by KOBIL Systems GmbH crash on startup due to ntdll.NtQueryDirectoryObject '\\KnownDlls' failure (MigrosBank EBanking 8.2.x, Sparda Bank SecureApp 1.x)
- #47070 DA: Inquisition can't see gamepad
- #48534 32-bit MSXML 6.0 package fails to install in 64-bit WINEPREFIX 'package is not supported on the current processor type.'
- #49078 Sennheiser Wireless Systems Manager 4.4 server (.NET 4.5 app) crashes with 'System.ComponentModel.Win32Exception: Unknown error (0x80090308)'
- #49079 Multiple applications want support for CREATE_NO_WINDOW flag (0x08000000) in CreateProcess
- #50233 Signtools from Windows 10 SDK needs 'wintrust.CryptCATAdminAcquireContext2' implementation
- #50323 Multiple applications need 'Ws2_32.getservbyname' to read information from '%SystemRoot%\System32\Drivers\Etc\services' (Autodesk 3ds Max 9 RaySat service)
- #50572 LDAP_AUTH_NEGOTIATE login fails as authorization user is used instead of authentication user
- #53047 SketchUp 2021 installer quits with "IDS_ERROR_NO_WIZARD_PAGES" (native xmllite works around)
- #53241 wtsapi32:wtsapi - test_WTSEnumerateProcessesW() crashes if a process exits during the test?
- #56366 Worms Blast characters become grey/untextured
- #57983 getaddrinfo cannot handle "https" as the service string on some distros, but windows 10 can
- #58046 Horizon Chase Turbo: gamepad hotplugging doesn't work
- #58511 GunBound crashes on unimplemented function ntoskrnl.exe.KeAcquireGuardedMutex
- #59963 DWARF unwinding crashes on i386
- #60080 GTA: Vice City - Blank white screen during intro video
- #60094 Marathon crashes on launch
- #60095 GTA: San Andreas videos are not displayed when using exclusive fullscreen
- #60140 Signature from BCryptSignHash with RSA 512 key and PSS padding cannot be verified
- #60218 Ground Control: Mouse movement is confined to a small area
- #60219 Ankh - Anniversary Edition: Some textures are rendered black
- #60221 Clive Barker's Jericho Demo has a non-fatal msiexec crash during install
- #60223 IMFTimedText and related APIs missing
- #60226 Wine XInput: XInputGetState returns 0 buttons for connected Bluetooth Xbox One controller
- #60229 Netscape Navigator 3.04 for Windows 3.1 crashes on start on a null pointer
- #60247 SetWindowLongPtr succeeds on a window owned by another process, resulting in a crash
- #60252 winedmo: Issue with demuxer destructor logic
- #60256 Wine application prevents X11 root window from receiving mouse button events
- #60257 win32u: send_mouse_motion() skips resetting raw_mouse.count on empty input, causing a heap buffer overflow
- #60267 Multiple E-Banking applications by KOBIL Systems GmbH terminate on startup due to missing WBEM namespace 'ROOT\SecurityCenter2' (MigrosBank EBanking 8.2.x, Sparda Bank SecureApp 1.x)
- #60275 xEdit (fo4edit, fo3edit) cannot run after 11.15
- #60285 Star Wars: Knights of the Old Republic I/II crash after start
### Changes since 11.16:
```
Akihiro Sagawa (5):
winegstreamer: Make sure every stream has a buffer or an initial gap on initialization.
quartz/tests: Add a timestamp test for the first sample.
winegstreamer: Change wg_parser_create argument from bool to bit flags.
winegstreamer: Rebase PTS values so the stream starts at zero.
winegstreamer: Fix GstCaps reference leak in wg_parser_stream.
Alex Henrie (2):
krnl386: Don't free DISCARDABLE resources in FreeResource16.
compobj: Ensure compobj_malloc is initialized in CoGetMalloc16.
Alexandre Julliard (33):
kernel32/tests: Fix incorrect tests for UI languages with zero flags.
vkd3d: Import upstream release 2.1.
ntdll: Load the system and user UI languages from the registry.
ntdll: Implement RtlGetSystemPreferredUILanguages and RtlGetUserPreferredUILanguages.
ntdll: Implement RtlGet/SetProcessPreferredUILanguages.
ntdll: Partially implement RtlGet/SetThreadPreferredUILanguages.
kernelbase: Reimplement GetThreadUILanguage on top of GetThreadPreferredUILanguages.
kernelbase: Reimplement SetThreadUILanguage on top of SetThreadPreferredUILanguages.
mlang/tests: Enable some ifdef'ed out traces.
mlang/tests: Remove skips for old Windows versions.
mlang/tests: Run some tests in an English locale.
kernel32/tests: Run some tests in an English locale.
jscript/tests: Run some tests in an English locale.
wininet/tests: Run some tests in an English locale.
ieframe/tests: Run tests in an English locale.
mshtml/tests: Run tests in an English locale.
pdh/tests: Run tests in an English locale.
ntdll: Implement RtlpQueryDefaultUILanguage.
ntdll: Return the default user UI language for LOCALE_CUSTOM_UI_DEFAULT.
ntdll: Return the default system UI language for LOCALE_CUSTOM_DEFAULT.
kernelbase: Reimplement GetSystem/UserDefaultUILanguage on top of RtlpQueryDefaultUILanguage.
kernelbase: Add a helper to convert a LCID to a sort locale.
kernelbase: Use the default user UI language for LOCALE_CUSTOM_UI_DEFAULT.
kernelbase: Use the default system UI language for LOCALE_CUSTOM_DEFAULT.
ntdll: Use the preferred UI language list to load resources.
include: Fix wscanf* prototypes.
include: Fix typos in Unicode macros.
include: Fix typos in vtbl macros.
ntdll: Fix mmap_is_in_reserved_area when area starts in the middle of the specified range.
wow64: Check that the entire memory allocation is within the user space range.
vbscript/tests: Run some tests with an English UI language.
shlwapi/tests: Run some tests with an English UI language.
faudio: Import upstream release 26.09.
Alistair Leslie-Hughes (1):
include: Use RECT directly instead of tagRECT define.
Alvin Philips (1):
winebus: Clarify that the Disable Hidraw toggle also affects the IOHID backend in trace message.
Bernhard M. Wiedemann (1):
wscript: Use angle brackets to include the generated ihost.h.
Bernhard Übelacker (3):
wbemdisp: Avoid out-of-bounds read in objectpath_get_DisplayName.
mfplat/tests: Add broken to avoid some test failures.
msv1_0: Fix string termination in ntlm_pool_get_ctx.
Brendan Shanks (7):
ntdll: Spawn a Wine system thread for the macOS main thread on launch.
winemac: Fix memory leak in get_format_entries().
winemac: Stop using deprecated kUTTypeContent/kUTTypeData.
winemac: Remove WineDisplayLink.
winemac: Remove now-unnecessary check for MTLDevice.registryID.
winemac: Stop using deprecated [NSGraphicsContext graphicsPort].
winemac: Stop setting deprecated NSWindow.oneShot.
Connor McAdams (6):
setupapi: Add tests for class device enumeration order.
setupapi: Add a few more SetupDiGetClassDevs() tests.
setupapi: Validate enumerator string passed into SetupDiGetClassDevs().
setupapi: Use CM_Get_Device_ID_List() to implement SetupDiGetClassDevs() for devices.
setupapi: Use CM_Get_Device_Interface_List() to implement SetupDiGetClassDevs() for interfaces.
setupapi: Use cfgmgr32 functions to implement remove_all_device_ifaces().
Conor McCarthy (8):
wbemdisp: Rename propertyset object to class_object.
wbemdisp: Implement ISWbemPropertySet::NewEnum().
wbemdisp: Initialise the variants in enumvar_Next().
wbemdisp: Implement ISWbemMethodSet::NewEnum().
wbemdisp: Implement get ISWbemProperty::Name.
wbemdisp: Add ISWbemQualifierSet stub implementation.
wbemdisp: Add ISWbemQualifierSet enumerator stub implementation.
mfreadwrite: Queue only one output sample while draining transforms.
Daniel Lehman (2):
ntdll/tests: Add tests for RemoveDirectory with open FindFirstFile handle.
ntdll: Open directory handle with FILE_SHARE_DELETE in FindFirstFileW.
Dmitry Timoshkov (3):
crypt32/tests: Add missing CryptEncodeObjectEx() return value check.
crypt32: CryptMsgGetParam(CMSG_SIGNER_UNAUTH_ATTR_PARAM) should set returned size to 0 if there's no attributes.
crypt32: CryptMsgGetParam(CMSG_SIGNER_AUTH_ATTR_PARAM) should set returned size to 0 if there's no attributes.
Elizabeth Figura (4):
ntdll: Implement NtSetVolumeInformationFile(FileFsLabelInformation).
kernel32: Reimplement SetVolumeLabel() using NtSetVolumeInformationFile().
d3d9: Fix clearing flags for managed resources.
wined3d: Store the device functions in context_vk.
Esme Povirk (6):
coml2: Fix missing check for bytes read.
gdiplus: Fix GdipMeasureDriverString with length == 0.
gdiplus: Touch all points in GdipClearPathMarkers.
gdiplus: Add validation to GdipSetImageAttributesNoOp.
gdiplus: Fix incorrect pointer cast writing pens to emf+.
gdiplus: Pass through status code in metafile_deserialize_path.
Etaash Mathamsetty (3):
ntoskrnl.exe: Implement PsGetProcessSessionId.
ntoskrnl.exe: Use the cached session id in PsGetCurrentProcessSessionId.
ntoskrnl.exe: Implement PsGetProcessCreateTimeQuadPart.
Evan Morse (5):
ntdll: Return the object manager status from NtQueryFullAttributesFile.
server: Rewind the directory stream when checking if it is empty.
ntdll/tests: Test SYNCHRONIZE requirement for synchronous I/O options.
ntdll: Request SYNCHRONIZE access with the synchronous I/O options.
ntdll: Require SYNCHRONIZE access for the synchronous I/O options.
Francis De Brabandere (3):
vbscript: Treat a dot right after a keyword as a with-statement dot.
vbscript: Initialize the function pointer before the recursion limit check.
vbscript: Return "Object not a collection" for For Each on Nothing.
Gabriel Ivăncescu (9):
mshtml: Don't throw when retrieving window.external if the DocHost returns E_NOINTERFACE.
jscript: Fix interpreted function.prototype on-demand creation by updating value in-place.
jscript: Don't call the setter for non-writable builtin props.
jscript/tests: Move some tests in lang.js down.
jscript: Use no_gc_traverse for host functions and constructors.
jscript: Get rid of the obj parameter in gc_process_linked_obj.
jscript: Get rid of the obj parameter in gc_process_linked_val.
jscript: Replace the addref/release methods for host objects with get_host_disp.
jscript: Use get_host_disp in the vtbl when retrieving the host outer dispatch.
Gijs Vermeulen (1):
msi: Pass deformated target to HANDLE_CustomType7 in ACTION_CustomAction.
Hans Leidekker (81):
msi: Propagate ERROR_NO_MORE_ITEMS return from custom actions.
msi: Handle NULL params in build_msiexec_args().
wbemdisp: Implement property_get_CIMType().
webservices: Fix nil value check for a couple of types.
webservices: Fix error return in WsReadStartAttribute() and read_comment_bin().
webservices: Handle NULL msg->action in message_insert_http_headers().
webservices: Fix buffer size check in build_dict().
webservices: Remove redundant assignment in grow_strs_array().
webservices: Avoid NULL dereference on error in str_to_qname().
webservices: Decrement len after consuming closing bracket in WsDecodeUrl().
webservices: Correctly initialize loop counter in WsWriteArray().
webservices: Use configured backlog value in open_listener_tcp().
webservices: Fix memory leak on error path in dup_message_mapping().
webservices: Fix memory leak on error in dup_fault().
webservices: Use proper type in queue_write_message_end().
webservices: Correctly parse fragment in WsDecodeUrl().
winhttp: Use %lu to format unsigned integer in send_request().
include: Remove duplicate defines.
winhttp: Fix potential buffer overflow in finished_reading().
winhttp: Validate scheme and hostname length in run_script().
winhttp: Fix return length for ICU_ESCAPE with null-terminated string in get_comp_length().
winhttp: Fix a trace in request_set_option().
winhttp: Validate day of week and month in WinHttpTimeFromSystemTime().
winhttp: Fix error value returned from send_socket_shutdown().
winhttp: Check for allocation failure in add_domain().
bcrypt: Remove duplicate chain mode field.
bcrypt: Return proper values from ecc_blob_curve().
bcrypt: Fix parameter validation in BCryptDeriveKeyCapi().
bcrypt: Verify len against output buffer size in import_key().
msi: Fix memory leak on error in append_productcode().
msi: Fix handle leak on error in get_fusion_filename().
msi: Fix row index in DELETE_execute().
msi: Handle tables without primary key columns in add_table_to_db().
msi: Handle empty string properties in read_properties_from_data().
msi: Fix buffer size calculation in TransformView_add_column().
msi: Handle NULL return from msi_dup_record_field() in get_signature().
msi: Handle missing manifest file in msi_install_assembly().
msi: Consistently check dialog_add_control() failure.
msi: Handle NULL text in dialog_hyperlink().
msi: Remove unused field from struct drop_view.
msi: Fix error message in apply_substorage_transform().
wbemprox: Add SecurityCenter2 namespace.
msi: MsiSetMode() returns UINT.
msi: Handle CreateNamedPipeW() failure.
msi: Fix return values in cabinet_copy_file().
msi: Validate buffer parameters in MsiGetPatchInfoA/W().
msi: Handle NULL folder->ResolvedTarget in set_target_path().
msi: Handle NULL guids in msi_check_patch_applicable().
msi: Fix out-of-bounds read in decode_base85_guid().
msi: Don't free caller owned buffer on error in TransformView_delete_row().
msi: Handle empty file in read_text_archive().
msi: Fix potential heap buffer overflow in DISTINCT_execute().
msi: Avoid out-of-bounds read in read_properties_from_data().
msi: Avoid out-of-bounds read in sqliteGetToken().
widl: Fix buffer size in add_composable_attr_step2().
widl: Pass correct target table in serialize_methodimpl_table().
wbemprox: Zero-initialize columns in create_signature_columns_and_data().
wbemprox: Add NULL check in class_object_GetMethod().
wbemprox: Avoid using uninitialized pointer in wbem_context_Clone().
wbemprox: Use appropriate value for pointer return.
wbemprox: Pass correct buffer size to swprintf() in fill_cache_memory() and fill_processor().
wbemprox: Fix memory leak on error in get_owner().
wbemprox: Fix off-by-one in enum_class_object_Skip().
wbemprox: Set query namespace in wbem_services_ExecNotificationQueryAsync().
wbemprox: Fix cleanup of associations.
wbemprox: Fix memory leak on error in get_pnp_entities() and get_display_adapters().
wbemprox: Fix memory leak on error in class_object_SpawnInstance().
wbemprox: Fix memory leak on error in create_signature_columns_and_data().
wldap32: Fix a memory leak in WLDAP32_ldap_unbind_s().
wldap32: Fix buffer overflow in escape_filter_element().
wldap32: Don't try to free a static buffer in ldap_get_paged_count().
wldap32: Avoid double free in ldap_search_init_pageW().
wldap32: Free memory on error in create_page_control().
secur32: Properly validate context handle in schan_Encrypt/DecryptMessage().
secur32: Remove an outdated comment.
secur32: Fix misplaced parentheses in schan_set_application_protocols().
secur32: Fix memory leak on error in ensure_remote_cert().
secur32: Fix a memory leak on error in get_key_container_path().
secur32: Free GnuTLS credentials on error in acquire_credentials_handle().
secur32: Pass correct comment length in _copyPackageInfoFlatWToA().
secur32: Use the right deallocator in thunk_ContextAttributesAToW().
Henri Verbeet (2):
wined3d: Don't link to libdxguid.
d3dcompiler: Implement D3DReflect() on top of D3DReflectVKD3D().
Huoju Cheng (1):
gdiplus: Fix font family lookup after font substitution.
Ivo Ivanov (3):
dinput: Make instance guid Data4 last bytes similar to Windows.
hidclass.sys: Use FDO instance_id instead of serial number for multi-TLC child PDOs.
winebus.sys: Return an error on IOCTL_HID_GET_STRING when no serial number is available.
Jacek Caban (12):
winegcc: Handle CPU_ARM64EC in get_multiarch_dir.
ntdll: Check that the pointer is within the address space limits before accessing EcCodeBitMap.
ntdll: Don't modify non-volatile registers before switching to the kernel stack in the ARM64 syscall dispatcher.
ntdll: Avoid exposing ARM64 syscall dispatcher to the client side.
wow64: Don't use static for pBTCpuSimulate.
winegstreamer: Silence -Wunused-but-set-global warning.
gitlab: Update to llvm-mingw 20260826.
ntdll: To try to handle suspend doorbell in leave_syscall_callback if the thread is in simulation.
ntdll: Move KiUserEmulationDispatcher handling to restore_context.
ntdll: Define make_esr only on Linux targets.
ntdll: Suppress debug events during CPU simulation.
ntdll/tests: Adjust ARM64EC Rip tests in test_debugger for current Windows versions.
Ken Sharp (1):
wined3d: Cast UINT64 handles to avoid compiler warnings.
Matteo Bruni (10):
d3dx10/tests: Disable two cube textures tests with invalid texture dimensions.
d3dx11/tests: Disable two cube textures tests with invalid texture dimensions.
d3dx10/tests: Tweak a sRGB test to avoid undefined behavior on Windows.
d3dx11/tests: Tweak a sRGB test to avoid undefined behavior on Windows.
d3dx11/tests: Get rid of a debug trace.
d3dcompiler/tests: Get rid of a debug trace.
d3dx9: Move D3DXSHProjectCubeMap() implementation to texture.c.
d3dx9: Move some exports from mesh.c to math.c.
d3dx10: Use shared code for math exports.
include: Add some function prototypes to d3dx10math.h.
Michel Weinachter (7):
ntdll: Make RtlCopySid() return NTSTATUS instead of BOOLEAN.
ntoskrnl.exe: Implement MmMapLockedPagesSpecifyCache().
ntoskrnl.exe/tests: Test the MDL flags maintained by test_mdl_map().
ntoskrnl.exe: Implement MmUnmapLockedPages().
ntoskrnl.exe: Implement MmProbeAndLockPages() and MmUnlockPages().
ntoskrnl.exe/tests: Test MmBuildMdlForNonPagedPool().
ntoskrnl.exe: Implement MmBuildMdlForNonPagedPool().
Nat Brown (1):
ntdll: Keep reserved area bounds page aligned when avoiding 4GB wrap-around.
Nello De Gregoris (12):
evr: Implement IMFVideoDisplayControl::SetRenderingPrefs().
evr/tests: Add tests for IMFVideoDisplayControl rendering preferences.
winegstreamer/wma_decoder: Implement GetInputCurrentType.
winegstreamer/wma_decoder: Implement GetOutputCurrentType.
ntoskrnl.exe: Add stub for KeRegisterBugCheckCallback().
ntoskrnl.exe: Add stub for KeRegisterBugCheckReasonCallback().
ntoskrnl.exe: Add stub for KeDeregisterBugCheckReasonCallback().
ntoskrnl.exe/tests: Add tests for PsGetProcessSessionId.
winegstreamer: Add winegstreamer_create_wma_decoder().
wmadmod: Create the decoder without CoCreateInstance().
xaudio2/tests: Test creating an xWMA source voice without COM.
ntoskrnl.exe/tests: Add tests for PsGetProcessCreateTimeQuadPart.
Nickita Biryulin (1):
server: Remove dangling pointer from load_version_resource.
Nikolay Sivov (77):
mfplat/tests: Remove todo on now succeeding test.
include: Add IMFTimedText* definitions.
comdlg32/filedlg: Improve CDM_GETFILEPATH when view has an active selection.
comdlg32/filedlg: Handle allocation failures in the CDM_GETFILEPATH handler.
comdlg32: Use ReleaseStgMedium() from ole32.
msxml3: Move transformNodeToObject() to a reusable helper.
msxml3: Add explicit traces for unsupported destination objects in transformNodeToObject().
msxml3: Remove a workaround when transforming to a document by using the document stream.
msxml3/tests: Add some tests for IXSL* object properties.
msxml3: Implement stylesheet property getter.
msxml3: Implement ownerTemplate() property.
shell32/shellview: Implement Ctrl-A shortcut for the item list.
msxml3/dom: Fix a typo in a node type string.
msxml3: Unconditionally release bind context instance.
mfplat: Fix a typo in the async write stream callback.
mfplat: Remove duplicated checks from the wrapper stream methods.
include: Fix PJOBOBJECT_END_OF_JOB_TIME_INFORMATION type.
include: Fix duplicated EnumServicesStatus macro.
include: Fix a typo in OPEN_VIRTUAL_DISK_VERSION enum member.
include: Fix AW macros in shlwapi.h.
include: Add missing macros for ID3DXRenderToEnvMap::OnResetDevice().
include: Fix MoveFileTransacted macro.
server: Fix freeing unlinked windows.
msado15: Initialize variant before copying to it.
msado15: Forward to correct method in IRowsetExactScroll::Hash().
msado15: Fix allocation failure check in FindNextRow().
msado15: Fix variant type check when getting bookmark data.
msado15: Fix column info leak on failure paths.
msado15: Initialize refcount for the Property objects.
d2d1: Check for allocation failures when recording command lists.
d2d1: Fix potential brush use-after-free in geometry fill recording.
d2d1: Put command list in error state on brush creation failure right away.
d2d1: Better handle NULL locale name when recording DrawGlyphRun() calls.
dwrite/ot: Fix TTC header read size.
dwrite: Remove duplicated weight pattern check.
dwrite/format: Use consistent way to check for format property changes.
dwrite: Fix a leak on error path in the resource stream.
evr: Return failure for unsupported interfaces on MR_VIDEO_RENDER_SERVICE.
evr/mixer: Fix a copy-paste type in aperture values handling.
evr/presenter: Fix potential use-after-free on swapchain interface.
scrrun/stream: Remove wrong object release on file read failure.
oleaut32/olepicture: Consistently use CRT allocation functions.
oleaut32: Fix allocation failure check in SafeArrayGetElement().
oleaut32: Use correct types for UI8/I8 -> UI2 conversion.
oleaut32: Use correct fields in VarSub() between UI1 values.
dbgeng: Remove unnecessary static variables.
dbgeng/tests: Add a GetModuleParameters() test with start module index.
dbgeng: Fix GetModuleParameters() used with start module index.
winedmo: Use correct parameter structure in wow64_demuxer_destroy().
winedmo: Do not access freed context on cleanup.
dxgi: Fix cleanup path on CreateSurface() failure.
dxgi: Correctly initialize output pointer on GetResource() failure.
dxgi: Use correct flags value in the trace message.
atl: Fix typelib instance leak in AtlGetObjectSourceInterface().
atl: Do not use interface pointer after it's been released in AtlAxCreateControlLicEx().
d3d10: Do not reference adapter on failure path of the device creation.
d3d10_1: Do not reference adapter on failure path of the device creation.
d3d11: Do not reference adapter on failure path of the device creation.
winewayland: Use null-terminated string for the clipboard class name.
ntdll: Use appropriate status code on allocation failure in TpAllocIoCompletion().
d3dx10/tests: Add another sprite rendering test to verify sampler filter type.
d3dx10/tests: Add a sprite immediate rendering tests with non-empty batch.
d3dx10: Partially implement sprite rendering.
d3dx10: Implement sprite view transform methods.
propsys: Remove duplicated property info entry.
propsys: Do not check for null string pointers in InitPropVariantFromStringVector().
propsys/tests: Add a test for PropVariantCompareEx(VT_CLSID,VT_LPWSTR).
propsys: Use coerced value for VT_CLSID case in PropVariantCompareEx().
propsys: Use coerced value for VT_UI1 vectors case in PropVariantCompareEx().
kernel32: Add SetThreadpoolTimerEx() implementation.
include: Remove duplicated macros from commdlg.h.
include: Remove duplicated definitions from d3d9types.h.
include: Remove duplicated prototype from gdiplusflat.h.
include: Fix IF_TYPE_PLC value.
include: Fix KSDATAFORMAT_ATTRIBUTES value.
include: Remove duplicated prototype from corecrt_wstdio.h.
include: Use correct type for SERVICE_INFOW fields.
Paul Gofman (3):
win32u: Only resolve default draw framebuffer before blit or readback.
ntdll: Remove a leftover no-op line in RtlCopyExtendedContext().
ntdll/tests: Fix two tests in test_extended_context() wrongly using ternary expression.
Pavel Cheloveckov (1):
po: Update Russian translation.
Piotr Caban (20):
kerberos: Fix wow64 unseal_message wrapper.
kerberos: Don't access Lsa mode data in user mode functions.
kerberos: Fix copying data to wow client in LsaApCallPackageUntrusted.
secur32: Avoid LSA_SEC_HANDLE truncation when moving handle between 32 and 64-bit processes.
programs: Add SamSs service stub.
secur32: Retrieve security packages list from lsass.exe.
secur32: Call LSA mode functions from lsass.exe.
msv1_0: Support ISC_REQ_MUTUAL_AUTH in ntlm_SpInitLsaModeContext.
msv1_0: Reply with password if ntlm_auth asks for it.
msv1_0: Reuse ntlm_auth processes.
msv1_0: Initialize output buffer on successfull local authentication.
lsass: Accept NULL timestamps in initialize_security_context and accept_security_context.
secur32: Fix memory allocation in LsaGetLogonSessionData.
rsaenh/tests: Add more tests for RSA keys with public exponent 1.
symcrypt: Don't use SymCryptIntExtendedGcd to compute private exponent if public exponent is 1.
rsaenh: Fix buffer size passed to SymCryptIntCreate in rsa_decrypt().
msv1_0: Fix error handling in ntlm_SpAcceptLsaModeContext.
msv1_0: Use NTLM local authentication when empty authentication data is provided.
secur32: Handle SECPKG_ATTR_PACKAGE_INFO in lsa_QueryContextAttributesA.
msv1_0: Handle SECPKG_ATTR_PACKAGE_INFO in ntlm_SpQueryContextAttributes.
Rémi Bernon (40):
win32u: Flush mouse input motion when hitting the clipping rect edges.
opengl32: Use the drawable latched virtual size for multisample resolve.
opengl32: Use the drawable latched virtual size for front buffer emulation.
win32u: Initialize framebuffer attachment storage before binding them.
win32u: Avoid requiring OpenGL 4.5 for the framebuffer surface.
opengl32: Always isolate some object names allocated in win32u.
win32u: Create textures for the FBO single sampled surfaces.
win32u: Swap front / back color attachments in framebuffer_surface_swap.
win32u: Avoid unnecessary internal / client context switches.
win32u: Introduce an optional target surface for the framebuffer surface.
win32u: Allow creating client surfaces with raw physical coordinates.
win32u: Support OpenGL scaling according to emulated resolution.
win32u: Use the framebuffer target drawable in make_client_context_current.
win32u: Only flag client surfaces as updated if something changed.
win32u: Implement a default gamma ramp when emulating display modes.
win32u: Support gamma ramp emulation in GL when emulating display modes.
opengl32: Fix multisampled default framebuffer draw buffer resolution.
win32u: Use SRGB framebuffer if target default FBO is SRGB capable.
win32u: Restore set_window_long_internal GWLP_WNDPROC check.
opengl32: Move extension string filtering to the PE side.
win32u: Move context extensions parsing from opengl32.
win32u: Initialize global extensions with the global context.
win32u: Move some global extension checks from winemac.
opengl32: Hide some unix-only extensions from the PE side.
joy.cpl: Fix incorrect POV index in paint_povs_view.
joy.cpl: Remove unnecessary thread_stop / state_event events creation.
joy.cpl: Clear device interfaces when switching tab.
joy.cpl: Check IID_IGameController QueryInterface result.
joy.cpl: Avoid underflow when setting motor vibration.
winex11: Keep track of mouse device and pointer button mappings.
winex11: Listen to raw mouse button events on the root window.
opengl32: Fix and simplify WOW64 string allocation.
opengl32: Fix incorrect mask for GL_BACK_RIGHT.
win32u: Fix egldrv_describe_pixel_format array bound check.
win32u: Fix some truncated query_renderer_integer memcpy.
user32: Fix some length overflows in init_class_name(_ansi).
win32u: Avoid possible buffer overflow in NtUserGetAtomName.
server: Cast cls_extra - size to int before comparison.
winevulkan: Check for returnedonly on individual members.
winevulkan: Don't flag dynamic array / lengths as returnedonly.
Shaun Ren (1):
windowscodecs: Always pass a valid pcbRead pointer to IStream::Read().
Sven Baars (1):
gitlab: Install libva-dev.
Thibault Payet (1):
ntdll/unix: Fix logical_proc_info_add_numa_node parameter order.
Vibhav Pant (2):
rometadata/tests: Add tests for IMetaDataImport::{EnumInterfaceImpl, GetInterfaceImplProps, FindTypeRef}.
rometadata/tests: Add initial tests for WinRT metadata shipped with Windows.
Ziia Shi (2):
pdh: Avoid access violation in PdhCloseQuery on bad handle.
powrprof: Stub PowerReadACValueIndex.
```
Sept. 4, 2026
Wine release 11.16
by Alexandre Julliard
The Wine development release 11.16 is now available.
What's new in this release:
- Mono engine updated to version 11.3.0, including ARM64 support.
- Hardware video decoding using VA-API.
- Improved exception handling on ARM64EC.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.16.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.16/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.16 (total 35):
- #19160 Orly's Draw-A-Story demo crashes on startup (dmDriverExtra is not initialized)
- #26040 Odell Down Under Demo: Pagefault on read access when moving fish around the map
- #29451 pmd85 emulator - toolbar icons missing
- #32783 Siemens Automation License Manager installer (part of SIMATIC STEP 7 Lite SP4) fails to start ALM service (Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider missing)
- #33600 Klik and Play crash on modify / create game option
- #35732 Adobe CC (Creative Cloud) installer crashes inside msxml3
- #40526 "Pettersson und Findus" does not start
- #40945 Post provider setup of WMI core 1.5 installer crashes in wbemprox
- #42062 silhouette studio : installation frozen
- #42226 No ingame sfx audio when CD Audio playing with builtin dsound in Ignition
- #46392 Commandos: Behind Enemy Lines videos aren't played
- #46559 Visual C++ Build Tools 2015 hangs on install
- #47785 CERT_CHAIN_POLICY_IGNORE_NOT_TIME_VALID_FLAG not taken into account
- #49792 pfx import does not works
- #49837 Just Grandma and Me (win16) softlock. Win16Mutex wait timed out
- #50824 ISdone.dll error 5, something releated to insufficient virtual memory
- #52201 Backpacker crashes on launch
- #56565 Command and Conquer 3 Tiberium Wars installer crashes
- #56887 Total Commander ftps connection (TLS1.2)
- #57669 Suspicious behavior of rundll32.exe
- #58530 regedit /e should exit silently on failure
- #58698 Application goes into an infinite loop under new wow64 but works okay under old wow64
- #59642 Stratego (1997): Jittery mouse pointer / cursor
- #59726 Syscall emulation on Linux using Syscall User Dispatch broken with glibc < 2.34
- #59757 SteelSeries GG 110.0 crashes on startup in .NET System.Security.Cryptography.X509Certificates.StorePal.Export
- #59977 Acrobat Reader DC locks up opening a PDF directly with "wine some.pdf"
- #60029 Broken cursor in Star Citizen inventory + terminal menu
- #60125 Yabridge overlaping windows on some WM produce dead zone for input
- #60141 CertCreateSelfSignCertificate with default parameters makes insecure RSA 512 cert
- #60142 CertGetCertificateContextProperty does not support CERT_SIGN_HASH_CNG_ALG_PROP_ID
- #60152 WineWayland driver doesn't work anymore in Wine 11.15
- #60158 Steam fails to launch
- #60162 WPF apps crash on startup (x86 only?)
- #60164 WebView2 mouse hit testing is vertically offset under X11
- #60198 X11 fullscreen borderless non-decorated window's surface offset by Wine's window borders
### Changes since 11.15:
```
Alex Henrie (2):
riched20: Set value to 0 in TextPara_GetAlignment.
krnl386: Respect the MOVEABLE flag in AllocResource16.
Alexandre Julliard (23):
ntdll: Export the helper function to allocate object attributes.
server: Use standard object attributes for window stations and desktops.
configure: Make the non-PE build an error unless --without-mingw is specified.
user32: Pass valid security descriptors when creating user objects.
user32: Implement Get/SetUserObjectSecurity().
server: Don't check access rights on newly-created desktop.
server: Set the object name parent also for desktops.
server: Use the root directory as winstation handle in create_desktop.
ntdll: Ignore dlls of the wrong architecture during bootstrap.
ntdll: Force running wineboot.exe with the native architecture.
win32u: Force running explorer.exe with the native architecture.
wineboot: Force running services.exe and rundll32.exe with the native architecture.
server: Return correct status on overflow in desktop_get_full_name().
wow64: Enforce a valid low limit in extended memory parameters.
ntdll: Don't try to allocate past the specified limits in map_free_area().
ntdll: Reserve some space for top-down allocation in large address aware mode.
ntdll: Avoid overflow in NtQueryVirtualMemory() in old wow64 mode.
ntdll: Set a 32-bit limit on cross-process allocations in old wow64 mode.
kernel32/tests: Move the large page test to virtual.c.
kernelbase: Fetch the large page minimum size from the user shared data.
kernel32/tests: Add some tests for MEM_PHYSICAL and MEM_LARGE_PAGES.
ntdll: Add parameter checks for MEM_LARGE_PAGES in NtAllocateVirtualMemory().
ntdll: Support the MEM_PHYSICAL flag in NtAllocateVirtualMemory().
Alistair Leslie-Hughes (1):
wintrust: Add parameter check in WTHelperGetProvCertFromChain.
Aric Stewart (2):
coreaudio: Report USB device PKEY_Device_InstanceId.
mmdevapi: Propagate the hardware Device_InstanceId.
Bernhard Übelacker (2):
winhttp: Avoid heap-use-after-free with WINHTTP_OPTION_SERVER_CBT.
wow64win: Add structure conversions in wow64_NtUserGetPointerInfoList.
Brendan McGrath (18):
windows.gaming.input: Allow gamepad added callback to be registered before initializing providers.
quartz/tests: Add test stub for color space converter.
quartz/tests: Add test for filter registration.
quartz/tests: Add interface tests for colorconv.
quartz/tests: Add aggregation test.
quartz/tests: Add enum pin test.
quartz/tests: Add find pin test.
quartz/tests: Add pin info test.
quartz/tests: Add media types test.
quartz/tests: Add enum media types test.
quartz/tests: Add unconnected filter state test.
quartz/tests: Add connect pin test.
quartz/tests: Add sink allocator test.
quartz/tests: Add filter state test.
quartz/tests: Add sample processing test.
quartz/tests: Test content of image.
quartz/tests: Test dynamic format change.
quartz/tests: Add streaming events test.
Brendan Shanks (3):
ntdll: NtQuerySystemInformation(SystemProcessorBrandString) is only supported on i386 and x86_64.
ntdll: Populate the CPU name and vendor on ARM64 macOS.
ws2_32/tests: Remove faulty inet_addr() test.
Carl-Friedrich Braun (2):
rsaenh: Use SymCryptAesKeyCopy() when duplicating AES keys.
rsaenh/tests: Test that a duplicated AES key encrypts identically.
Conor McCarthy (11):
bcrypt/tests: Test non-HMAC BCryptHash() with a secret.
bcrypt/tests: Test BCryptDeriveKey() with secret buffers.
bcrypt: Return INVALID_PARAMETER from BCryptHash() if the input secret is not used.
bcrypt: Handle prepended secret buffers in BCryptDeriveKey() for KDF_HASH.
wbemdisp/tests: Test ISWbemObjectPath::DisplayName.
wbemdisp/tests: Test ISWbemObject set enumeration.
wbemdisp: Handle null output pointer in enumvar_Next().
wbemdisp: Add ISWbemObjectPath stub implementation.
wbemdisp: Partially implement get ISWbemObjectPath::DisplayName.
wbemdisp: Implement ISWbemObject::GetTypeInfo().
wbemdisp: Return null object on failure of QueryInterface().
Deep Agrawal (2):
kernelbase: Implement ReadConsoleInputEx.
kernelbase: Reimplement PeekConsoleInput and ReadConsoleInput on top of ReadConsoleInputEx.
Elizabeth Figura (25):
xaudio2: Release the correct lock on failure in CreateSourceVoice().
wined3d: Introduce a stub VA decoder backend.
wined3d: Allocate the bitstream on CPU for the VA backend.
win32u: Enable VK_EXT_physical_device_drm and VK_EXT_external_memory_dma_buf.
wined3d: Query VA for H.264 support.
wined3d: Create a VA decoding session.
wined3d: Share VA surfaces with Vulkan.
wined3d: Implement VA H.264 decoding.
mountmgr: Pass the device type to IoCreateDevice().
mountmgr: Pass characteristics to IoCreateDevice().
mountmgr: Rename the "serial" field of struct disk_device to "disk_serial".
mountmgr: Consistently use "unix_device" for variables representing the Unix block device path.
mountmgr: Move unix_mount to struct volume.
mountmgr: Document the difference between struct disk_device and struct volume.
mountmgr: Rename harddisk_* to disk_*.
mountmgr.sys: Handle IRP_MJ_CREATE.
ndis: Handle IRP_MJ_CREATE.
nsiproxy: Handle IRP_MJ_CREATE.
winebth: Handle IRP_MJ_CREATE.
mouhid: Handle IRP_MJ_CREATE.
wined3d: Pass a VkImageCreateInfo to wined3d_context_vk_create_image().
d3d11: Plumb resource sharing flags to wined3d.
d3d11: Validate shared resource flags.
wined3d: Make WINED3D_TEXTURE_GENERATE_MIPMAPS a usage flag.
wined3d: Try to perform CPU copy in wined3d_texture_update_sub_resource().
Eric Pouech (2):
cmd: Revert AI generated code.
widl: Handle boolean as template parameter.
Esme Povirk (2):
appwiz.cpl: Move architecture to addon_info_t.
mscoree: Update Wine Mono to 11.3.0.
Francisco Casas (1):
wined3d: Don't call vulkan functions with 0 attachments on wined3d_context_vk_update_blend_state().
Gabriel Ivăncescu (1):
mshtml: Don't leak the attribute after forwarding in setAttributeNode.
Hans Leidekker (1):
crypt32: Support CertGetCertificateContextProperty(CERT_SIGN_HASH_CNG_ALG_PROP_ID).
Henri Verbeet (1):
d3dcompiler_46: Return E_NOINTERFACE from D3DReflect() for unsupported interfaces.
Hugo Osvaldo Barrera (1):
winex11: Fix use-after-free in GL_EXTENSIONS string.
Ivan Ivlev (9):
comctl32/tests: Test wrapping for fixed size toolbar and autosized buttons.
comctl32/toolbar: Add TOOLBAR_AutoSizeButtonWidth from LayoutToolbar as a separate function.
comctl32/toolbar: Use TOOLBAR_AutoSizeButtonWidth in WrapToolbar.
comctl32/toolbar: Remove redundant toolbar wrapping logic.
ntdll/tests: Test NtAllocateVirtualMemory user address limit.
ntdll/tests: Test NtMapViewOfSection user address limit.
ntdll/tests: Test NtAllocateVirtualMemoryEx user address limit.
ntdll/tests: Test NtMapViewOfSectionEx user address limit.
ntdll: Validate virtual memory ranges against the user address limit.
Jacek Caban (7):
winegcc: Disable safeseh by default.
ntdll: Fix CONTEXT_ARM64_X18 handling when setting another thread's context.
ntdll: Move KiUserEmulationDispatcher setup to syscall dispatcher exit code.
ntdll: Setup KiUserEmulationDispatcher in usr1_handler when needed.
ntdll: Set InSimulation before returning to KiUserEmulationDispatcher from the kernel side.
ntdll: Don't use entry thunk context in RtlRaiseException.
ntdll: Preserve exception flags when converting between x64 and arm64 context flags.
Ken Sharp (3):
regedit: /e should exit silently if key not found.
ntdll: Remove debug_init declaration.
ntdll: Avoid sign extension when parsing MaxVersionTested.
Matteo Bruni (1):
win32u: Fix get_locale_data() table entry lookup.
Nikolay Sivov (19):
oleaut32/tests: Add a test for Invoke() with typeinfo from CreateDispTypeInfo().
oleaut32/typelib: Make it possible to Invoke() through COCLASS type.
msxml3: Remove commented out leftover line.
msxml3/tests: Add one more test for document dirty state.
msxml3/tests: Add some tests for supported interfaces for XMLHTTP objects.
comctl32/tests: Add more tests for TCM_SETCURFOCUS.
comctl32/tests: Remove trace noise from the Tab tests.
comctl32/tab: Ignore negative index TCM_SETCURFOCUS for TCS_BUTTONS controls.
comctl32/tests: Add a Tab test for switching focus from -1 value.
comctl32/tab: Fix switching focus from unset state.
comctl32/tab: Update item pressed state on focus change.
d3d10/tests: Add some state block capture tests with disabled fields.
d3d10/stateblock: Fix mask checks for byte-sized fields.
d3dx10/sprite: Check for the Begin/End state in affected methods.
d3dx10/tests: Add some tests for the sprite state saving feature.
d3dx10/sprite: Partially implement state restore functionality.
d3dx10/sprite: Collect sprites on DrawSpritesBuffered().
include: Add some matrix functions prototypes to d3dx10math.h.
d3dx10/tests: Add some sprites rendering tests.
Paul Gofman (20):
ntdll: Implement NtQuerySystemInformation( SystemNumaProcessorMap ).
kernelbase: Implement GetNumaHighestNodeNumber().
kernel32: Implement GetNumaProcessorNode[Ex]().
kernel32: Add FIXME to GetNumaProximityNode() stub.
kernelbase: Implement GetNumaNodeProcessorMask[Ex]().
kernelbase: Add FIXME to GetNumaProximityNodeEx().
ntdll/tests: Remove spurious pointer advance in test_query_numa_map().
ntdll: Check iosb for FSCTL_GET_OBJECT_ID in open_dll_file().
quartz/tests: Add tests for implicit fullscreen support by filter graph.
quartz: Implement BaseControlWindowImpl_GetRestorePosition().
quartz: Introduce fullscreen mode emulation in filtergraph.
quartz: Implement entering and leaving emulated fullscreen mode.
ntdll: Add WAYLAND_DISPLAY to ignored variables list.
msvcrt: Introduce asm wrapper for _isatty on x64.
winhttp: Support WINHTTP_QUERY_FLAG_NUMBER64 with WINHTTP_QUERY_CONTENT_LENGTH.
msvcrt: Always set WX_TEXT flag when importing std handles.
msvcrt: Initialize std handles in a loop in msvcrt_init_io().
msvcrt: Don't update system std handles in msvcrt_init_io().
msvcrt: Also inherit WX_ATEOF and WX_READNL attributes.
ntdll: Treat 'reached_thread_count > total_thread_count' the same as equal in RtlBarrier().
Piotr Caban (18):
include: Add SECPKG_CALL_* definitions.
secur32: Don't convert authentication identity in lsa_AcquireCredentialsHandleA.
secur32: Handle memory allocated with lsa_AllocateClientBuffer in FreeContextBuffer.
msv1_0: Use GetCallInfo to obtain thread and process id.
msv1_0: Fix client buffer handling in ntlm_SpQueryCredentialsAttributes.
msv1_0: Fix client buffer handling in ntlm_SpQueryContextAttributes.
kerberos: Handle SEC_WINNT_AUTH_IDENTITY_EX in SpAcquireCredentialsHandle.
kerberos: Use LSA_SECPKG_FUNCTION_TABLE to call Lsa functions.
kerberos: Fix client buffer handling in kerberos_SpQueryContextAttributes.
secur32: Pass unmodified authentication data from nego_SpAcquireCredentialsHandle().
msv1_0: Fix auth_data client buffer handling in ntlm_SpAcquireCredentialsHandle.
kerberos: Fix auth_data client buffer handling in kerberos_SpAcquireCredentialsHandle.
msv1_0: Map SecBuffer data before accessing it in ntlm_SpInitLsaModeContext and ntlm_SpInitLsaModeContext.
kerberos: Map SecBuffer data before accessing it in kerberos_SpInitLsaModeContext and kerberos_SpAcceptLsaModeContext.
secur32: Initialize user mode handle in lsa_InitializeSecurityContextW.
secur32: Initialize user mode handle in lsa_AcceptSecurityContext.
secur32: Don't access Lsa mode data in negotiate user mode functions.
msv1_0: Don't access Lsa mode data in user mode functions.
Ralf Habacker (2):
ntdll: Fix some SIMD exception codes.
ntdll/tests: Add SIMD exception test for floating point overflow operation fault.
Rémi Bernon (37):
win32u: Avoid a race condition when releasing / detaching a client surface.
win32u: Keep unused client surfaces around and reuse them if possible.
opengl32: Move wglCopyContext implementation to the PE side.
opengl32: Keep vendor / renderer strings in opengl_client_context.
opengl32: Keep context version string in opengl_client_context.
opengl32: Move debug callback / user pointers to opengl_client_context.
opengl32: Optionally return client context from get_current_context.
opengl32: Move unix-side context wrapper allocation to win32u.
win32u: Remove wgl functions that aren't doing anything.
user32/tests: Cleanup AttachThreadInput tests.
user32/tests: Test that thread input attachments are refcounted.
server: Move desktop check out of attach_thread_input.
server: Pass desktop instead of thread to create_thread_input.
server: Assume thread queues are valid in attach_thread_input.
user32/tests: Improve reparenting tests with different DPI awareness.
server: Check DPI awareness contexts when reparenting windows.
server: Don't change DPI awareness context when reparenting.
win32u: Avoid calling monitor_dpi_from_rect when creating the desktop window.
server: Return the visible rect from get_window_rectangles request.
server: Use the receiving window thread for set_window_rect_visible.
opengl32: Set glTable before calling init_client_context.
win32u: Allocate a proper opengl_context struct for internal contexts.
win32u: Use toplevel visible rect relative position for client surfaces.
win32u: Latch the client surface sizes in the opengl_drawable struct.
opengl32: Initialize the scissor box when making context current.
opengl32: Restore read and draw buffers when popping default FBOs.
win32u: Move framebuffer_surface_resize into framebuffer_surface_flush.
win32u: Introduce helpers to resize / destroy framebuffer attachments.
server: Update both shared input at once in assign_thread_input.
server: Update shared input keystate in assign_thread_input.
server: Update focus and active windows in assign_thread_input.
server: Detach the parent window thread input when reparenting.
server: Implement thread input attachments refcounting.
opengl32: Wrap glGetFramebufferParameteriv separately from its extensions.
opengl32: Ignore the currently bound FBO in glGetFramebufferParameterivEXT.
winex11: Use the client surface monitor rect for offscreen present.
winex11: Allow child D3D presentation on fullscreen exclusive toplevel.
Rüdiger Lenz (1):
winex11: Preserve fractional raw mouse motion.
Santino Mazza (1):
d2d1: Implement DrawSpriteBatch() command list recording.
Stefan Dösinger (3):
wined3d: Don't delay-clear backbuffers except to black.
d3d11/tests: Test delayed clear RGB/sRGB mismatch.
d3d10/tests: Synchronize test_swapchain_views with d3d11.
Thomas Portal (1):
winebus.sys: Report USB class compatible IDs.
Tobiasz Laskowski (10):
jscript/tests: Ensure windows run uses jscript.dll.
comctl32/tests: Check multicolumn listbox redraw.
user32/tests: Check multicolumn listbox redraw.
comctl32/listbox: Fix SetRedraw top item handling.
user32/listbox: Fix SetRedraw top item handling.
gdiplus/tests: Check drawimage without attributes.
gdiplus/metafile: Allow drawimage without attributes.
gdiplus/tests: Check drawimage corner colors.
gdiplus/metafile: Fix emf+ image rendering.
gdiplus/tests: Clean up converged cases.
Zhiyi Zhang (12):
jscript: Separate keyword searching from parsing.
jscript: Support Unicode characters in identifiers.
jscript/tests: Add ES3 identifier tests.
mshtml/tests: Add ES5 identifier tests.
dinput/tests: Test setting two actions with the same control identifier.
dinput: Check device GUID in init_object_app_data().
winemac.drv: Hide client_view when flushing window surfaces.
winex11.drv: Allow ConfigureRequest events when the window is maximized.
mmdevapi: Use MulDiv() to avoid rounding errors.
winecoreaudio: Set the requested period frame size when creating audio streams.
winecoreaudio: Add a helper to get device sample rate.
winecoreaudio: Return the actual Core Audio device period frame size.
```
Aug. 21, 2026
Wine release 11.15
by Alexandre Julliard
The Wine development release 11.15 is now available.
What's new in this release:
- More KDF algorithms in BCrypt.
- Support for ARM64EC build in Mingw mode.
- More format conversions in WindowsCodecs.
- Support for local NTLM authentication.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.15.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.15/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.15 (total 41):
- #4811 MSXML3: XMLDOMDocument cannot be queried for IStream interface
- #11595 Notepad++ versions prior to 6.9 freeze if native application changes a file it has open when not in a virtual desktop (dogfood)
- #20584 Lemmings Revolution - Crash on exit.
- #21940 Rise of Legends Demo crashes with null pointer reference in msxml3?
- #23319 cmd thinks shift.exe is an internal command
- #30239 Multiple Adobe CS6 trial installers fail to initialize, reporting 'Exception caught while getting payloads data combined. Error #1090'
- #33984 Nokia Music Player: extraneous transparent gray border in installer window
- #35727 Tom Clancy's Rainbow Six: Lockdown Demo wrong players and weapon rendering
- #37896 EM_SETPASSWORDCHAR ineffective on multiline edit controls
- #43031 popen() hangs when both stdin and stdout are closed
- #50109 conhost: write_console beep doesn't produce a beep
- #54928 exclamation mark ! in string missing if EnableDelayedExpansion
- #55198 QuickBooks SS 2009 installer crash
- #55447 wine cannot parse valid javascript
- #56399 cmd.exe's %~s modifier (short DOS path) expands to mixed short/long format
- #57967 Wrong Z-order in Browse for Folder from MPC-HC 1.7.13
- #58112 Unimplemented function KERNEL32.dll.InitializeSynchronizationBarrier
- #59073 Washed out colors in OpenGL
- #59436 Wayland/EGL: Washed-out colors caused by double sRGB conversion on default framebuffer (GL_FRAMEBUFFER_SRGB)
- #59898 Wine on aarch64 fails on linux with CONFIG_ARM64_VA_BITS=39
- #59926 CharPrevA/CharPrevExA crash on NULL start pointer (MapleStory 216150 fails to launch)
- #59970 monitor_get_dpi will get zero dmPelsWidth/dmPelsHeight in both physical/current cause divide by zero
- #59980 Final Fantasy XI Online: Unexpected Right Shift behaviour.
- #59986 Mouse misbehaves in Steam
- #59998 Multiple applications freeze (Mugen, Touhou 8, Final Burn Neo)
- #59999 Application (e. g. WinSCP) freeze after resize its window
- #60002 YNAB 4 mouse position incorrect
- #60005 Pegasus hangs and crashes
- #60012 HOTAS controlls by WinWing are not recognized and even aggresively mapped as some x-box controller.
- #60023 Dialogs in some applications are rendered at a quarter of their actual size in Wine 11.13 under certain conditions, e.g. DPI = 144 (IrfanView, WinSCP)
- #60036 WMI queries via PS Core do not work with mono.
- #60037 Fixed resolution 4:3 fullscreen apps on Wayland have their content offset and present some undefined padding area
- #60046 Multiple 32-bit applications including wine builtins (winecfg / regedit / etc.) crash under wine-11.13.
- #60051 KakaoTalk intermittently hangs
- #60057 gdiplus: GdipCloneBitmapArea drops trailing pixels for 1bpp/4bpp bitmaps with non-byte-aligned width
- #60063 shell32: SHBrowseForFolder crashes when an application passes an invalid BROWSEINFO.pidlRoot
- #60068 wminet_utils: implement GetErrorInfo()
- #60069 WordPerfect 7 installation fails
- #60088 ole32/storage: extra trailing NUL byte written into name of stream nested in a substorage (breaks MS Publisher .pub file portability)
- #60093 Unable to combine 32 bit arm with i386 emulation on aarch64
- #60120 Amnesia: Rebirth crashes after the splash screens
### Changes since 11.14:
```
Alex Dujardin (4):
windowscodecs: Add 32bppBGRA, 32bppPBGRA -> 64bppPRGBA conversion.
windowscodecs: Add 64bppPRGBA -> 128bppRGBAFloat conversion.
windowscodecs: Add 64bppPRGBA -> 128bppPRGBAFloat conversion.
windowscodecs: Remove incorrectly added bound check.
Alex Henrie (3):
kernelbase: Make Char(Next|Prev)A call Char(Next|Prev)ExA.
kernelbase: Search backwards in CharPrevExA.
user32/tests: Add tests for CharPrev(Ex)A.
Alexandre Julliard (28):
wmc: Remove an unused variable.
install: Remove an unused variable.
server: Pass unicode_str objects by value where possible.
server: Add a structure to store object initialization parameters.
server: Pass an object parameters structure to create_named_object().
server: Pass an object parameters structure to open_named_object().
server: Add an init() object operation.
server: Implement the init() operation for events.
server: Implement the init() operation for mutexes.
server: Implement the init() operation for semaphores.
server: Implement the init() operation for timers.
server: Implement the init() operation for debug objects.
server: Implement the init() operation for ALPC ports.
server: Implement the init() operation for completion objects.
server: Implement the init() operation for directories.
server: Implement the init() operation for symlinks.
server: Implement the init() operation for mailslots.
server: Implement the init() operation for named pipes.
server: Implement the init() operation for devices.
server: Implement the init() operation for sections.
server: Implement the init() operation for registry keys.
server: Implement the init() operation for reserve objects.
server: Implement the init() operation for job objects.
server: Implement the init() operation for window stations and desktops.
server: Move the name length check into open_named_object().
server: Add a helper to create an object and its handle.
symcrypt: Don't enforce any alignment in non-PE builds.
ntdll: Redirect to sysarm32 directory on ARM wow64.
Alfred Agrell (3):
vidreszr: Register the correct media types.
vidreszr: Implement CResizerDMO by piggybacking on CColorConvertDMO.
mf: Add tests for video resizer DMO.
Alistair Leslie-Hughes (5):
include: Add more defines in wdm.h.
include: Add more defines in fltkernel.h.
include: Add Flag* defines.
include: Add fltuser.h.
include: Add fltuserstructures.h.
Allan Vester (2):
bcrypt: Add tests for BCRYPT_INITIALIZATION_VECTOR.
bcrypt: Support BCRYPT_INITIALIZATION_VECTOR.
Arkadiusz Hiler (1):
winebus: Fix initial axis values for evdev gamepads.
Attila Fidan (2):
shell32/tests: Test SHBrowseForFolderW() with CSIDL values.
shell32: Accept CSIDL values in SHBrowseForFolderW().
Barath Kannan (1):
conhost: Add beep functionality to write_console.
Benoît Legat (1):
crypt32: Ignore trailing bytes past the outer SEQUENCE in PFXImportCertStore.
Bernhard Übelacker (3):
win32u: Fix off-by-one in kbdus_tables.
comctl32/tests: Add test of LM_GETIDEALSIZE being more greedy in width.
comctl32_v6: Improve LM_GETIDEALSIZE to be more greedy in width.
Billy Laws (1):
ntdll: Add RtlWow64SuspendThread semi-stub implementation.
Brendan Shanks (5):
dinput/tests: Fix tests that are faulty because of == vs ?: operator precedence.
msado15/tests: Fix typos.
advapi32/tests: Fix typo.
msvcp120/tests: Fix tests that are faulty because of == vs ?: operator precedence.
ucrtbase/tests: Fix tests that are faulty because of == vs ?: operator precedence.
Conor McCarthy (1):
mfreadwrite: Do not return NEED_MORE_INPUT from source_reader_push_transform_samples().
Dan Fraser (1):
dnsapi: Add stubs for the DNS-SD service entry points.
Dean M Greer (1):
documentation: Update macOS version.
Elizabeth Figura (11):
d3d11/tests: Shrink NV12 test textures a bit.
wined3d: Separate a surface_cpu_blt_plane() helper.
wined3d: Implement planar CPU blits.
d3d11/tests: Test planar CPU blits.
wined3d: Separate a wined3d_decoder_vk_prepare_image() helper.
wined3d: Separate a wined3d_decoder_vk_create_layered_image() helper.
wined3d: Separate a wined3d_decoder_vk_destroy_images() helper.
wined3d: Handle dynamic resizing of the H.264 stream.
win32u: Make win32u_vkDestroySwapchainKHR() static.
win32u: Do not use EXT_external_memory_dma_buf.
ntdll: Search for the library containing sa_restorer.
Eric Pouech (3):
winedbg: Support larger strings in DebugString.
winedbg: Let 'maint module' be a bit more useful.
winedbg: Support watch operation larger than 4 bytes.
Esme Povirk (2):
winedump: Use the Length from the metadata header.
winedump: Handle incremental CLR images.
Etaash Mathamsetty (1):
winewayland: Use the visible rect for toplevel rect.
Hans Leidekker (10):
bcrypt: Add support for BCRYPT_TLS1_{1,2}_KDF_ALGORITHM.
bcrypt: Support retrieving hash block length.
bcrypt: TLS1 KDF label is optional.
bcrypt: Add support for BCRYPT_HKDF_ALGORITHM.
msi: Close the RPC connection on dll unload.
secur32: Use bcrypt to hash the certificate in schan_QueryContextAttributesW().
winhttp: Support WinHttpQueryOption(WINHTTP_OPTION_SERVER_CBT).
winhttp: Stub WinHttpSetOption(WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS).
winhttp: Stub WinHttpSetOption(WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT).
crypt32: Use the strong provider in CertCreateSelfSignCertificate().
Henri Verbeet (1):
wined3d: Add GPU information for AMD REMBRANDT.
Iliya Andrienko (2):
gdiplus: Fix convert_pixels() rounding down bytes.
gdiplus: Add sub-byte formats logic to GdipImageRotateFlip.
Jacek Caban (2):
winegcc: Always add Clang target options to the compiler command when building ARM64X image.
ntdll: Run native-ready .net applications as ARM64EC on ARM64.
Jannis Lübke (3):
wined3d: Don't hold wined3d cs mutex when waiting for frame latency.
d3dx9/tests: Add tests for D3DXIntersect() and D3DXIntersectSubset().
d3dx9: Implement D3DXIntersect() and D3DXIntersectSubset().
Ken Sharp (1):
po: Update English resource.
Lokesh Poovaragan (4):
jscript: Don't insert implicit semicolon after '.' in member expressions.
cmd: Handle caret escape in delayed expansion.
cmd/tests: Add tests for %~s short path modifier.
cmd: Fix %~s modifier to produce fully short paths.
Louis Lenders (7):
wminet_utils: Add NextMethod.
wminet_utils: Add EndMethodEnumeration.
wminet_utils: Add GetMethod.
wminet_utils: Add GetMethodQualifierSet.
wminet_utils: Add QualifierSet_Get.
wminet_utils: Add GetPropertyQualifierSet.
wminet_utils: Add GetErrorInfo.
Maotong Zhang (2):
comctl32/tests: Add test for RBBS_VARIABLEHEIGHT band height handling.
comctl32: Clamp child height when cyIntegral is zero.
Martin Storsjö (2):
include: Use __atomic_exchange_n on Clang.
include: Fix building for arm64ec in mingw mode.
Matteo Bruni (3):
winex11: Get rid of special handling for right shift in X11DRV_GetKeyNameText().
win32u: Don't ignore raw mouse input.
d3dx9/tests: Fix a flaky D3DXWeldVertices() test.
Nello De Gregoris (1):
ntoskrnl.exe: Add stub for KeGetCurrentIrql().
Nikolay Sivov (20):
comdlg32/filedlg: Return current path as is for CDM_GETFILEPATH if it's absolute.
ole32/storage: Update name size field on rename.
msxml3/tests: Add a test for the document stream.
msxml3/tests: Add another stream read test.
msxml3: Write out UTF-16 BOM in save().
msxml3/tests: Extend a test with multiple writing streams.
msxml3/tests: Adjust stream test XML data.
msxml3/stylesheet: Improve processor output object management.
msxml3/dom: Add IStream support for the document object.
msxml3: Remove now unnecessary workaround in save().
msxml3: Use ISequentialStream internally for save().
msxml3: Explicitly handle ISequentialStream in save().
msxml3: Add explicit messages for currently unsupported destination types in save().
comdlg32/tests: Add a CDM_SETCONTROLTEXT(edt1) test.
comdlg32: For CDM_SETCONTROLTEXT(edt1) always use current file control.
msxml3: Handle null destination object in save().
msxml3/tests: Add a test for loading from a document.
msxml3: Remove workaround when loading from a document in load().
include: Add IRequest definition.
msxml3: Explicitly check and warn about currently unsupported source types in load().
Paul Gofman (10):
winebus: Avoid spurious device recreation in process_inotify_event().
kernel32/tests: Add tests for unhandled exception filter with BeingDebugged PEB flag set.
kernel32/tests: Add tests for unhandled exception filter under debugger.
kernelbase: Query debug port instead of BeingDebugged PEB flag in UnhandledExceptionFilter().
crypt32: Avoid adding spurious line separator in encodeBase64[A/W]().
crypt32: Fix output string tracing in quote_rdn_value_to_str_w().
winhttp: Handle incorrect handle state when querying WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT.
winhttp: Use chain established in netconn_verify_cert() for WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT.
cmd/tests: Add test for console mode change.
cmd: Set console mode in node_execute().
Piotr Caban (23):
secur32/tests: Add NTLM QueryCredentialsAttributes(SECPKG_CRED_ATTR_NAMES) tests.
msv1_0: Use calloc to allocate credentials handle in ntlm_SpAcquireCredentialsHandle.
msv1_0: Add ntlm_SpQueryCredentialsAttributes stub.
msv1_0: Add ntlm_SpQueryCredentialsAttributes implementation.
msv1_0: Hide password in logs.
msv1_0: Remove FLAG_NEGOTIATE_* defines and use NTLMSSP_NEGOTIATE_* instead.
ntoskrnl: Implement IoGetRequestorProcessId.
msv1_0: Implement in-process NTLM local authentication.
msvcr120/tests: Restore exp() tests.
ucrtbase: Fix exp(NAN) handling.
msv1_0: Don't overwrite output buffer when getting session key.
include: Declare SEC_WINNT_AUTH_IDENTITY_EX2.
secur32/tests: Add SspiMarshalAuthIdentity tests.
secur32/tests: Add SspiUnmarshalAuthIdentity tests.
sspicli: Handle more auth identity formats in SspiZeroAuthIdentity.
sspicli: Handle more auth identity formats in SspiEncodeAuthIdentityAsStrings.
sspicli: Handle more auth identity formats in SspiPrepareForCredWrite.
sspicli: Change auth identity format returned by SspiEncodeStringsAsAuthIdentity.
sspicli: Use LocalAlloc/LocalFree when allocating auth identity.
sspicli: Handle more auth identity formats in SspiFreeAuthIdentity.
secur32: Implement SspiMarshalAuthIdentity() and SspiUnmarshalAuthIdentity().
secur32: Pass stub LSA_SECPKG_FUNCTION_TABLE to SpInitialize.
msv1_0: Get clients process id and thread id using LSA functions table.
Rick Rey (1):
winebus.sys: Prefer hidraw for (some) switch 1 controllers.
Rémi Bernon (10):
opengl32: Use unsigned handle entry pointer index.
opengl32: Add some missing SetLastError on invalid handles.
win32u: Use system DPI as monitor DPI for detached sources.
user32/tests: Fix monitor DPI awareness tests when system DPI isn't 96.
user32/tests: Test window DPI context and monitor DPI in CBT hooks.
user32/tests: Check child window DPI awareness and monitor changes.
win32u: Lock host window state updates when applying new state.
opengl32: Pass NULL object array pointers through.
dinput/tests: Fix incorrect GetOverlappedResult test expectation.
win32u: Pass initial monitor DPI to the window creation request.
Santino Mazza (3):
d2d1/tests: Add some tests for sprite batches.
d2d1: Implement sprite batch object methods.
cmd: Fix usage of uninitialized variable in node_build_parse.
Thomas Portal (2):
dnsapi: Implement DnsServiceConstructInstance() and DnsServiceFreeInstance().
dnsapi/tests: Add tests for DnsServiceConstructInstance().
Tobiasz Laskowski (9):
jscript: Fix String.replace with multi-digit group.
jscript: Fix internal state of RegExp.prototype.
jscript/tests: Add tests for RegExp.prototype use.
comctl32/tests: Check listbox SETTOPINDEX errors.
user32/tests: Check listbox SETTOPINDEX errors.
comctl32/listbox: Handle out-of-bounds SETTOPINDEX.
user32/listbox: Handle out-of-bounds SETTOPINDEX.
jscript: Fix zero-length regex matches.
jscript/tests: Add more tests for 0-length regex.
Tomáš Novotný (1):
winebus: Enable hidraw by default for Winwing Orion controllers.
Vibhav Pant (4):
rometadata: Implement IMetaDataImport::{EnumMembers, EnumMembersWithName}.
rometadata: Implement IMetaDataImport::FindMember.
rometadata/tests: Add tests for IMetaDataImport::{EnumCustomAttributes, GetCustomAttributeProps}.
maintainers: Add entry for WinRT Metadata.
Vlad Zahorodnii (1):
winewayland: Add support for wl_fixes.ack_global_remove.
Yuxuan Shui (4):
mfplat/tests: Test how the MPEG4 media source handles aspect ratio info.
mfreadwrite: Don't modify the `type` parameter in src_reader_SetCurrentMediaType.
mfreadwrite/tests: Test how aspect ratios are handled by the reader.
mfreadwrite: Ensure output has a 1:1 pixel aspect ratio if processing is enabled.
Zhiyi Zhang (1):
winex11.drv: Remove some noisy traces.
```
Aug. 8, 2026
Wine release 11.14
by Alexandre Julliard
The Wine development release 11.14 is now available.
What's new in this release:
- 7.1 format conversions in DirectSound.
- Support for AES-GMAC algorithm in BCrypt.
- New WoW64 mode supported on FreeBSD.
- Icons in Start Menu.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.14.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.14/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.14 (total 21):
- #21811 3impact tech demo collection crashes on first demo
- #34665 Adobe Reader 11 PDF portfolio search crashes
- #38746 Adobe Reader 9.0 installer fails
- #43775 Heroes of the Storm crash on start with d3d11
- #49868 Hedgewars 1.0.0 crashes when a game against the computer is started
- #52833 Wine's wscript.exe and cscript.exe don't support UTF-16 LE with BOM script files
- #53574 MSYS2 "pacman -Sy" fails key lookup
- #56317 Falcon BMS 4.37 crashes on start (needs D3DX11CreateTextureFromFileA implementation)
- #56501 nProtect Anti-Virus/Spyware 4.0 'tkpl2k64.sys' crashes on unimplemented function 'fltmgr.sys.FltCreateCommunicationPort'
- #56580 Xdefiant Beta needs unimplemented function pdh.dll.PdhGetFormattedCounterArrayA
- #56745 Amazing Adventures 2: mouse pointer flashes all over the screen
- #57801 Marble Marcher Community Edition: Startup error "Compute shader compilation error."
- #58826 Winhq 10.17 seems to loose window focus??
- #59378 Black rectangle box in foreground blocking application window on TaxAct 2025
- #59456 TreeView: TVN_ITEMCHANGING not sent on checkbox change
- #59816 cmd: inbuilt 'type' fails on expanding *.txt
- #59913 msvcrt: _aligned_offset_realloc alignment validation failure crashes PCSX2 nightly
- #59964 Age of Empires I and II both show blank screen in introduction cinematics
- #60000 msvcrt: fopen("wb, ccs=UTF-8") prepends a BOM unlike Windows
- #60021 Wine loader segfaults converting Unix executable path when no DOS drive maps it
- #60039 Microsoft Office Word 2016 hangs after changing a Design style
### Changes since 11.13:
```
Aidan Racaniello (4):
uxtheme: Add GetImmersiveUserColorSetPreference stub.
uxtheme: Add GetImmersiveColorTypeFromName stub.
uxtheme: Add GetImmersiveColorFromColorSetEx semi-stub.
uxtheme: Add GetImmersiveColorNamedTypeByIndex stub.
Alexander Shaikhulin (2):
ntdll: Support new wow64 mode on FreeBSD.
ntdll: Work around AMD SYSRET SS descriptor behavior on FreeBSD.
Alexandre Julliard (31):
setupapi: Delay file copy if truncating fails.
win32u: Add missing newline in a trace.
server: Make the add_queue() operation optional.
server: Make the satisfied() operation optional.
server: Make the signal() operation optional.
server: Make the get_fd() operation optional.
server: Make the get_sync() operation optional.
server: Make the map_access() operation optional.
server: Make the get_sd() operation optional.
server: Make the set_sd() operation optional.
server: Make the get_full_name() operation optional.
server: Make the lookup_name() operation optional.
server: Make the link_name() operation optional.
server: Make the unlink_name() operation optional.
server: Make the open_file() operation optional.
server: Make the get_kernel_obj_list() operation optional.
server: Make the close_handle() operation optional.
server: Make the destroy() operation optional.
server: Use designated initializers for object operations.
server: Make the get_poll_events() fd operation optional.
server: Make the poll_event() fd operation optional.
server: Make the read() fd operation optional.
server: Make the write() fd operation optional.
server: Make the flush() fd operation optional.
server: Make the get_file_info() fd operation optional.
server: Make the get_volume_info() fd operation optional.
server: Make the ioctl() fd operation optional.
server: Make the cancel_async() fd operation optional.
server: Make the queue_async() fd operation optional.
server: Make the reselect_async() fd operation optional.
server: Use designated initializers for fd operations.
Alistair Leslie-Hughes (1):
ntoskrnl.exe: Implement IoThreadToProcess.
Andrea Faulds (1):
explorer: Display icons next to Start Menu items.
Anton Baskanov (1):
dsound: Move the get functions to mixer.c.
Arkadiusz Hiler (1):
dsound: Add mono and stereo to 7.1 conversions.
Barath Kannan (2):
cmd/tests: Add tests for the expansion of wildcards in the type command's arguments.
cmd: Add wildcard expansion for the type command's arguments.
Bernhard Übelacker (4):
wow64: Handle PS_ATTRIBUTE_GROUP_AFFINITY in ps_attributes_32to64.
taskmgr: Change the default push button.
server: Clear connection failure events in IOCTL_AFD_WINE_CONNECT.
kernel32/tests: Fix test_GetFinalPathNameByHandleW.
Brandow Lucas (1):
msxml3: Handle NULL value for the SelectionNamespaces property.
Brendan McGrath (2):
strmbase: Introduce callback for ReceiveCanBlock.
winegstreamer: Preserve sign of stride from 2D buffer.
Brendan Shanks (1):
ntdll: Hard code the host address space limit on macOS.
Connor McAdams (8):
include/ddk: Add some missing enum/structure definitions.
ntoskrnl/tests: Add tests to highlight PDO specific behavior.
ntoskrnl/tests: Add tests for AttachedTo field in DEVOBJ_EXTENSION.
ntoskrnl: Set AttachedTo field in DEVOBJ_EXTENSION when attaching/detaching devices.
ntoskrnl: Set DO_BUS_ENUMERATED_DEVICE flag for PDO DEVICE_OBJECTs.
ntoskrnl: Add checks for DEVICE_OBJECTs passed into various PnP functions.
ntoskrnl: Cache device instance ID for PDOs.
ntoskrnl: Use cached device instance ID for DevicePropertyEnumeratorName.
Conor McCarthy (9):
wintypes/tests: Test DataWriter.
wintypes: Rename struct data_writer to data_writer_factory.
wintypes: Add DataWriter stubs.
wintypes: Implement IDataWriter::WriteBytes().
wintypes: Implement IDataWriter::DetachBuffer().
wintypes: Add IDataWriterFactory stubs.
wintypes: Implement IDataWriterFactory::CreateDataWriter().
wintypes: Implement IDataWriter::StoreAsync().
wintypes: Implement IDataWriter::DetachStream().
Daniel Lehman (1):
shell32/tests: Remove stray test file after directory rename test.
Dmitry Timoshkov (1):
crypt32: Add support for CERT_CLOSE_STORE_FORCE_FLAG.
Elizabeth Figura (13):
qwave: No longer prefer native.
rstrtmgr: No longer prefer native.
svrapi: No longer prefer native.
uianimation: No longer prefer native.
uiautomationcore: No longer prefer native.
websocket: No longer prefer native.
winnls32: No longer prefer native.
wldp: No longer prefer native.
wpc: No longer prefer native.
wined3d: Do not disable extendedDynamicState3PolygonMode (validation).
slc: No longer prefer native.
ncrypt: No longer prefer native.
ntdll: Handle Unix paths with no corresponding drive in get_full_path().
Eric Pouech (3):
dbghelp/dwarf: Implement DW_OP_shra by shifting signed quantities.
dbghelp/dwarf: Follow Dwarf specs for (un)signed arithmetic operations.
dbghelp/dwarf: Report errors when attempting to divide by zero.
Esme Povirk (2):
mscoree: Use wide string literals.
mscoree: Add libmono dll name for arm64.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.357.
Hans Leidekker (4):
bcrypt: Support BCRYPT_SIGNATURE_LENGTH for RSA.
bcrypt: Fix accepted key size for 25519 curve.
bcrypt: Support BCRYPT_AES_GMAC_ALGORITHM.
bcrypt: Support BCRYPT_MESSAGE_BLOCK_LENGTH.
Haoyang Chen (1):
crypt32: Fix CryptRegisterOIDInfo size validation for CRYPT_OID_INFO_HAS_EXTRA_FIELDS compatibility.
Henri Verbeet (2):
d3dcompiler: Store a D3D11_SHADER_DESC structure in struct d3dcompiler_shader_reflection.
d3dcompiler: Adopt vkd3d's STAT parser.
Hieu Le Minh (3):
dxcore: Add support for DedicatedAdapterMemory property.
dxcore: Add support for SharedSystemMemory property.
dxcore: Return stub value for DedicatedSystemMemory property.
Jacob Czekalla (2):
msxml3/tests: Add more tests for setNamedItem().
msxml3: Return new node from setNamedItem().
Jiangyi Chen (2):
symcrypt: Avoid SSE intrinsic that is missing in old gcc versions.
winewayland.drv: Avoid ABBA deadlocks between win_data_mutex and user_mutex.
Kang Kang (1):
dxgi: Return the first adapter from EnumWarpAdapter().
Kyle Yang (1):
wininet: Fix out-of-bounds read in InternetCrackUrlW for empty file paths.
Lakulish Antani (1):
dsound: Add quad and 5.1 to 7.1 conversions.
Lokesh Poovaragan (2):
wscript: Support UTF-16 LE encoded script files.
wscript/tests: Add encoding tests for UTF-16 script files.
Louis Lenders (3):
wminet_utils: Add GetNames.
wminet_utils: Add BeginMethodEnumeration.
cldapi: Add stub for CfGetPlaceholderInfo.
Marcus Meissner (1):
ntdll/tests: GetCurrentDirectoryW gets size in characters not bytes.
Matteo Bruni (1):
winex11: Report right shift as an extended key.
Michael Brabec (1):
avifil32: Fix ICM_COMPRESS_FRAMES_INFO not being sent without VIDCF_COMPRESSFRAMES.
Nikolay Sivov (24):
msxml3/tests: Add some tests for DTD node children.
msxml3/dom: Add notations as children of a DTD.
msxml3: Add a stub for IXMLDOMNotation node.
oleaut32/tests: Add some tests for aggregation with CreateStdDispatch().
oleaut32: Add aggregation support for CreateStdDispatch().
msxml3: Add entities as children of a DTD.
msxml3: Add a stub for IXMLDOMEntity node.
msxml3/notation: Implement nodeTypeString() property.
msxml3/entity: Implement nodeTypeString() property.
msxml3/notation: Implement text() property.
msxml3/tests: Add more tests for notation nodes.
msxml3: Return name properties for IXMLDOMNotation.
msxml3/doctype: Implement hasChildNodes() method.
msxml3/tests: Move some notation tests.
msxml3: Add a helper to return attribute count.
msxml3: Create attributes for IXMLDOMNotation nodes.
msxml3/tests: Add more tests for entity nodes.
msxml3: Add entities as DTD children.
msxml3: Implement name methods for IXMLDOMEntity.
msxml3: Correct copy-pasted variable names.
msxml3: Set entity nodes text property.
msxml3: Add attributes for entity nodes.
msxml3/doctype: Implement entities() property.
msxml3/doctype: Implement notations() property.
Pan Hui (1):
winewayland: Fix restoring window after being maximized on the secondary monitor.
Paul Gofman (5):
ntdll/tests: Add tests for skipping directory reopen by RtlSetCurrentDirectory_U().
ntdll: Do not reopen directory file when setting the same directory path.
winex11.drv: Flush display in acquire_selection().
shell32: Add AppDataDocuments known folder.
ntdll: Add BirthVolumeId to loaded dll file id.
Pavel Cheloveckov (1):
mscoree: Store the sku attribute from supportedRuntime config elements.
Piotr Caban (17):
comsvcs/tests: Remove non-needed IHolder pointer checks.
comsvcs/tests: Test creating multiple Dispenser Managers.
comsvcs: Don't use IDispenserDriver after closing holder.
comsvcs/tests: Add more Dispenser Manager tests.
comsvcs: Add partial implementation of resources pooling.
comsvcs: Implement resource purging thread in Dispenser Manager.
comsvcs: Remove COM initilization hack from Dispenser Manager.
comsvcs: Create one Dispenser Manager in a process.
comsvcs: Exit resource lookup loop when perfect match is found in AllocResource.
comsvcs: Exit resource purging loop on first resource in use.
comsvcs: Remove the FIXME message since pool purging is implemented.
msvcrt/tests: Test BOM handling in files opened in binary mode.
msvcrt: Don't append/read BOM in fopen binary mode.
msvcrt/tests: Cleanup _aligned_offset_realloc tests.
msvcrt/tests: Add more _aligned_offset_realloc tests.
msvcrt: Allow changing alignment and offset in _aligned_offset_realloc.
server: Set kernel notification events initial state.
Rose Hellsing (1):
ntdll: Return empty value instead of failing in NtQueryVolumeInformation.
Shaun Ren (1):
windows.ui: Stub IUISettings2::add_TextScaleFactorChanged().
Stian Low (1):
winhlp32: Implement MACRO_PopupContext.
Tim Clem (1):
winemac.drv: Detect display changes with CGDisplayRegisterReconfigurationCallback.
Yue Zhang (3):
setupapi: Implement SPDRP_ENUMERATOR_NAME.
gdiplus: Fix potential integer overflow in GdipDrawImagePointsRect.
gdiplus: Fix missing newline detection in gdip_format_string.
Zhengyong Chen (3):
pdh: Implement PdhGetFormattedCounterArrayA/W.
mshtml: Fire property change notification when document title is set.
ieframe: Fire TitleChange event on document title change.
Zhiyi Zhang (7):
ntdll/tests: Add ALPC Port object tests.
ntdll/tests: Add NtAlpcCreatePort() tests.
ntdll: Implement NtAlpcCreatePort().
dxgi/tests: Add IDXGISwapChain::ResizeBuffers() flag tests.
dxgi: Support DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT in dxgi_swapchain_flags_from_wined3d().
dxgi: Support modifying swapchain flags in d3d11_swapchain_ResizeBuffers().
dxgi: Support modifying swapchain flags in d3d12_swapchain_resize_buffers().
Zhou Zhang (1):
user32: Release drop target at the end of drag_drop_drop and drag_drop_leave.
```
July 24, 2026
Wine release 11.13
by Alexandre Julliard
The Wine development release 11.13 is now available.
What's new in this release:
- Better support for input pointers.
- Improved keyboard scancode mapping on X11.
- FFmpeg optimizations on ARM64EC.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.13.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.13/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.13 (total 22):
- #13088 Adobe Acrobat Pro 7 / Acrobat Reader 7 -- Comments don't work
- #30824 msvbvm60.dll crashes Gehalt.exe
- #36373 Requiem: Avenging Angel - Black screen in-game
- #40231 Grand Theft Auto: Vice City crashes at start
- #42282 Tales of Zestiria v1.2 (latest Steam provided runtime) crashes at launch
- #45503 msiexec crashes during Office 2000 setup
- #49435 cyrrillic text are broken in winbox64.exe
- #50030 "Hayoola" freezes in wine 5.19 while it works great in 5.13
- #55030 Nelogica Profitchart freezes and Crash since wine-7.12 [bisect included]
- #55407 Virtual desktop option breaks wine creating windows
- #58105 explorer creates extra virtual desktop when using the /desktop=shell argument
- #58610 Sim Racing Studio fails to start: “Error Loading Prython DLL ”C:\Progam Files\RimsRacingStudio 2.0\python312.dll"
- #59727 DrawText rendering bug when DT_WORD_ELLIPSIS / DT_PATH_ELLIPSIS is used
- #59850 Exit unwind is broken
- #59884 Age of Mythology errors on startup with "Initialization failed"
- #59914 One i386 uwninding testcase fails with wine built with GCC
- #59916 d2d1 path geometry leaks figure->vertex_types (steady heap growth under sustained Direct2D path rendering)
- #59920 msvcrt setjmp/longjmp in x86_64 ELF builds broken by ntdll change
- #59932 Slingplayer 2's help has an extra window
- #59960 Sony Acid Pro 7.0 crashes on startup during initialization
- #59969 winecfg buttons can't be clicked on dpi != 96
- #59975 SuccubusHeaven camera breaks
### Changes since 11.12:
```
Alex Henrie (1):
faudio: Handle odd offsets in decode_mono_adpcm_block.
Alexandre Julliard (6):
ntdll: Fix handling of exit unwind when there are no TEB frames.
msvcrt: Save all registers when calling the exception filter on i386.
ffmpeg: Add support for ARM64EC assembly.
ffmpeg: Add ARM64EC assembly in libswresample.
ffmpeg: Add ARM64EC assembly in libswscale.
make_announce: Use the new Bugzilla REST API.
Alexey Prokhin (1):
win32u: Enable fullscreen clipping even if not already clipping.
Alistair Leslie-Hughes (14):
dplayx: Add missing break.
fltmgr.sys: Add FltAllocateContext stub.
fltmgr.sys: Add FltReleaseContext stub.
fltmgr.sys: Add FltGetStreamContext stub.
fltmgr.sys: Add FltSetStreamContext stub.
fltmgr.sys: Add FltQueryInformationFile stub.
fltmgr.sys: Add FltGetFileNameInformationUnsafe stub.
fltmgr.sys: Add FltReadFile stub.
fltmgr.sys: Add FltParseFileNameInformation stub.
fltmgr.sys: Add FltReleaseFileNameInformation stub.
fltmgr.sys: Add FltGetFileNameInformation stub.
fltmgr.sys: Add FltCreateCommunicationPort stub.
fltmgr.sys: Add FltCloseCommunicationPort stub.
fltmgr.sys: Add FltEnumerateVolumes stub.
Anna (navi) Figueiredo Gomes (9):
win32u: Move process_pointer_message to input.c.
win32u: Keep per-thread list of known pointers.
win32u: Preallocate pointerId 1 for the mouse pointer.
win32u: Keep track of pointer types.
win32u: Implement NtUserGetPointerType.
win32u: Hardcode pointer id 1 to PT_MOUSE in GetPointerType.
win32u: Update pointerid 1 from mouse_in_pointer events.
server: Mask pointer inputs for SetCursorPos requests.
win32u: Implement NtUserGetPointerInfoList.
Anton Baskanov (7):
dmsynth: Increase the write latency by 10 ms.
dsound: Name the parameters of bitsgetfunc and bitsputfunc.
dsound: Remove getieee32 from the getbpp array.
dsound: Get rid of endianness conversion.
dsound: Downmix to mono after resampling and remove get_mono.
dsound: Get rid of get_aux and read the values directly.
dsound: Get all channel samples in one go.
Benoît Legat (2):
crypt32: Avoid conflict between unnamed containers.
crypt32: Open MS_ENH_RSA_AES_PROV in PFXImportCertStore.
Bernhard Übelacker (1):
secur32/tests: Update count for new test.winehq.org certificate.
Brendan Shanks (4):
ntdll: Advertise ARM32 processor features on ARM64.
ntdll: Detect ARM32 processor features using getauxval(AT_HWCAP).
ntdll: Detect ARM64 processor features on macOS, and on Linux using getauxval(AT_HWCAP).
ntdll: Define HWCAP_CPUID on ARM64.
Conor McCarthy (11):
windows.storage/tests: Test InMemoryRandomAccessStream.
windows.storage: Add InMemoryRandomAccessStream stubs.
windows.storage: Implement InMemoryRandomAccessStream IClosable::Close().
windows.storage: Implement InMemoryRandomAccessStream IOutputStream::WriteAsync().
windows.storage: Implement InMemoryRandomAccessStream IRandomAccessStream::get_Size().
windows.storage: Implement InMemoryRandomAccessStream IRandomAccessStream::put_Size().
windows.storage: Implement InMemoryRandomAccessStream IRandomAccessStream::get_Position().
windows.storage: Implement InMemoryRandomAccessStream IRandomAccessStream::Seek().
windows.storage: Implement InMemoryRandomAccessStream IInputStream::ReadAsync().
windows.storage: Add InMemoryRandomAccessStream to class registration.
windows.storage: Do not limit the size to SIZE_MAX in memory_stream_random_access_put_Size().
Daniel Lehman (1):
dwrite: Add some more fallback ranges.
Elizabeth Figura (18):
wined3d: Store plane_formats as wined3d_format pointers.
wined3d: Allow any typed format for planar texture views.
wined3d: Do not alter the swapchain latency.
wined3d: Use a semaphore for frame latency.
dxgi: Implement DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT for d3d11.
dxgi: Implement d3d11_swapchain_SetMaximumFrameLatency().
dxgi: Implement d3d11_swapchain_GetMaximumFrameLatency().
dxgi: Implement d3d11_swapchain_GetFrameLatencyWaitableObject().
acledit: No longer prefer native.
avrt: No longer prefer native.
connect: No longer prefer native.
inkobj: No longer prefer native.
magnification: No longer prefer native.
mscat32: No longer prefer native.
msnet32: No longer prefer native.
msports: No longer prefer native.
mssip32: No longer prefer native.
netprofm: No longer prefer native.
Erhan Bilgili (1):
cfgmgr32: Fix CM_Get_Device_ID buffer size handling.
Eric Pouech (1):
dbghelp/dwarf: Fix out-of-bound write when leaf name is too large.
Etaash Mathamsetty (4):
winex11: Don't initialize win_data_mutex twice.
winewayland: Don't initialize win_data_mutex twice.
winewayland: Use a flag instead of checking zwp_relative_pointer_v1.
winewayland: Don't offset client rect in client surface reconfigure.
Francis De Brabandere (1):
vbscript: Count carriage returns as line endings when reporting error lines.
Gabriel Ivăncescu (7):
mshtml: Don't leak gecko attr when creating attribute.
mshtml: Don't leak ref from attribute collection when detaching attribute.
mshtml: Don't leak gecko attribute when obtaining DISPID from collection.
mshtml: Properly unlink the element refs of frame elements.
mshtml: Properly unlink the element refs of iframe elements.
mshtml/tests: Fix attribute leak when testing tabIndex.
mshtml/tests: Properly close the view of the legacy document when testing attributes across modes.
Haoyang Chen (1):
ole32: Add support for writing VT_BOOL properties.
Jacek Caban (4):
dsound/tests: Remove unused variable.
qcap/tests: Remove unused variable.
ws2_32/tests: Remove unused variable.
http.sys: Check thread_stop in request_thread_proc loop.
Jacob Czekalla (1):
hhctrl.ocx: Create the index popup window hidden.
Jiajin Cui (6):
wininet/tests: Cover long CreateUrlCacheEntryW extensions.
urlmon/tests: Cover URLDownloadToCacheFile buffer bounds.
wininet: Ignore overly long cache file extensions.
urlmon: Fix URLDownloadToCacheFile buffer handling.
urlmon: Remove temporary cache files on failure.
winewayland: Fix y coordinate of IME cursor rectangle.
Louis Lenders (3):
kernel32: Add stub for PssQuerySnapshot.
kernel32: Add stub for PssFreeSnapshot.
kernel32: Add stub for PssCaptureSnapshot.
Maotong Zhang (1):
user32: Fix lastSlash handling in TEXT_PathEllipsify.
Martin Storsjö (1):
configure: Reduce the fixed load address for the preloader on aarch64.
Matteo Bruni (4):
winex11: Fix Right Shift scancode.
user32/tests: Add a SendInput VK_PAUSE test.
user32/tests: Add more key names tests.
user32/tests: Add more key map tests.
Nello De Gregoris (1):
mfsrcsnk: Ignore empty byte stream origin names.
Nikolay Sivov (4):
msxml3/xpath: Add a strstr() variant that handles nulls.
msxml3/xpath: Add a string comparison helper that handles nulls.
msxml3/tests: Add a test for translate() function.
msxml3/xpath: Fix translate() function to actually return its result.
Paul Gofman (4):
ws2_32: Add WSCEnumProtocols32().
kernel32/tests: Test filename case preservation when opening existing file.
kernelbase: Add a stub for FindNextFileNameW().
mmdevapi: Implement SAORS_Reset().
Piotr Caban (3):
secur32: Return impersonation token from lsa_QuerySecurityContextToken.
msv1_0: Decrypt all data buffers in ntlm_SpUnsealMessage.
gdiplus: Return InvalidParameter error when GdipLoadImageFromStream is used with empty stream.
Piotr Pawłowski (2):
comctl32/tests: Add tests for TVN_ITEMCHANGING and TVN_ITEMCHANGED.
comctl32/treeview: Implemented TVN_ITEMCHANGING and TVN_ITEMCHANGED.
Ryan Houdek (1):
wow64: Add BTCpuNotifyProcessExecuteFlagsChange interface.
Rémi Bernon (53):
winewayland: Make window lock mutex recursive.
winewayland: Use update_client_surfaces to detach client surfaces.
winewayland: Remove unnecessary client surface attach / detach.
winewayland: Move ensure_window_surface_contents into wayland_surface.c.
winex11: Use the desired state for mapping delays.
server: Map update_window_zorder rect from raw to virtual coordinates.
server: Update window zorder directly in queue_mouse_message.
wineandroid: Remove now unnecessary update_window_zorder call.
winemac: Remove now unnecessary update_window_zorder call.
winex11: Remove now unnecessary update_window_zorder call.
win32u: Keep track of client surface toplevel window.
win32u: Move client_surface_update on present from winex11.
win32u: Move client surface rect computation out of the drivers.
win32u: Assume that NtUserExposeWindowSurface rect is in raw monitor DPI.
win32u: Reorder KEYEVENTF_SCANCODE handling control flow.
win32u: Remap some scancodes to better match native behavior.
winex11: Use scancode high bit to set KEYEVENTF_EXTENDEDKEY flag.
winex11: Support fixed X11 keycode to scancode conversion.
opengl32/tests: Test versioned / core / compat context creation and sharing.
winemac: Remove unnused macdrv_context renderer_id member.
opengl32: Remove duplicated client context member.
winex11: Remove unnecessary window send_mouse_input argument.
winex11: Pass individual INPUT fields to send_mouse_input.
winex11: Pass / return a POINT to / from map_event_coords.
winex11: Use send_mouse_input in move_resize_window.
winex11: Use send_mouse_input in the RawMotion handler.
win32u: Use internal helpers to get present / client rects and dpi.
win32u: Introduce a ratio struct for unix-side DPI values.
server: Use the ratio struct for DPI values.
win32u: Represent raw monitor dpi as rational value.
server: Move window monitor DPI to the shared memory.
win32u: Ignore empty mouse input in NtUserSendHardwareInput.
server: Skip dispatching rawinput message when it is empty.
win32u: Accumulate mouse motion in NtUserSendHardwareInput.
winex11: Remove now unnecessary mouse motion event merging.
winemac: Try initializing GL3_Core and GL4_Core profile contexts.
winemac: Create all core contexts with the best supported profile.
winemac: Use WGL_CONTEXT_CORE_PROFILE_BIT_ARB to detect core profiles.
win32u: Request core profile for internal OpenGL contexts.
winemac: Ignore context sharing when profile doesn't match.
opengl32: Flag GL_EXT_external_buffer extension as unsupported.
opengl32: Move more wow64 wrappers out of the generated code.
opengl32: Use a static variable for the buffer storage map.
opengl32: Remove unused flags member from buffer struct.
opengl32: Reduce WOW64 locking to the buffer storage map accesses.
server: Always update window monitor DPI from its parent.
winewayland: Remove now unnecessary implicit fullscreen clipping.
server: Support explicit raw mouse motion in NtUserSendHardwareInput.
winewayland: Send raw mouse motion through NtUserSendHardwareInput.
winex11: Enable XI2 raw events when window is focused.
winex11: Send raw mouse motion frames from XI2 RawEvents.
winex11: Remove unnecessary ConfigureNotify event merging.
winex11: Get rid of now unnecessary event merging logic.
Stefan Riesenberger (2):
dnsapi: Add stub for DnsStartMulticastQuery().
dnsapi: Add stub for DnsStopMulticastQuery().
Sven Baars (2):
configure: Set PCSCLITE_LIBS in the AC_CHECK_FUNC error case on macOS.
dxgi: Replace FIXMEs in swapchain latency methods by traces.
Thomas Portal (1):
hidclass: Return the full report length from IOCTL_HID_WRITE_REPORT.
Zhiyi Zhang (14):
dxgi/tests: Wait for destroyed windows to disappear before creating a fullscreen swapchain.
dxgi/tests: Run test_create_swapchain() on D3D12 as well.
dxgi/tests: Test creating a fullscreen swapchain with an invalid scanline order or scaling.
dxgi: Report the DXGI_SWAP_CHAIN_FULLSCREEN_DESC used for creating a D3D11 swapchain.
dxgi: Create a windowed swapchain instead when the fullscreen mode scanline order or scaling is invalid.
dxgi: Refuse to enter fullscreen when the fullscreen mode scanline order or scaling is invalid.
dxgi: Retrieve the fullscreen state from the swapchain state in d3d11_swapchain_GetFullscreenState().
user32/tests: Move the test window position further away from the top-left corner of the work area.
user32/tests: Fix test failures when the top-left corner of the work area is not (0,0).
user32/tests: Add more window placement tests.
win32u: Implement coordinates mapping in {Get,Set}WindowPlacement().
notepad: Use SetWindowPlacement() to restore the saved normal window position.
taskmgr: Use SetWindowPlacement() to restore the saved normal window position.
wordpad: Use SetWindowPlacement() to restore the saved normal window position.
```
July 10, 2026
Wine release 11.12
by Alexandre Julliard
The Wine development release 11.12 is now available.
What's new in this release:
- Bundled libswresample and libswscale from FFmpeg.
- Mono engine updated to version 11.2.0.
- XSLPattern parser reimplemented in MSXML.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.12.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.12/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.12 (total 27):
- #3037 LTspice, Progman: broken internal windows resizing
- #18010 Slingplayer video tuning wizard fails
- #27240 Multiple Corel product installers report msxml:xslpattern_error syntax error / msxml:domselection_create error code 1206 (Corel Paint Shop Photo Pro, CorelDRAW Graphics Suite X3/X4)
- #33450 .NET 3.5 Framework installation fails (.NET WorkFlow Service Registration Tool "WFServicesReg.exe" crash with libxml2 < 2.9.0)
- #34758 Microsoft Money 97 5.0 crashes with an unhandled divide by zero
- #36912 Taskkill does not support /T option
- #44232 Menus in Slingplayer 1.5 do not draw until mouseover
- #48174 wine-mono creates incorrect strings
- #51678 Avogadro crashes when adding atoms
- #56100 Greenshot: Error when adding a textbox
- #56664 winecfg not exposing an option for 7.1 surround sound audio output (winepulse.drv)
- #58632 Against the Storm: Encyclopedia doesn't display animated sequences
- #59317 Need for Speed Most Wanted (2005): Up is triggered continuously without pressing a button on gamepad
- #59318 Graphic problem
- #59406 Super Hexagon: if gamepad is connected, game will ignore every input after selecting anything from title screen
- #59590 MS-Money 2000 - cannot process TKIND_UNION when loading INV7.OCX
- #59711 unlock_fd: UnlockFile returns ERROR_LOCK_VIOLATION (33) instead of ERROR_NOT_LOCKED (158) when no matching lock is held
- #59820 ComicRackCE freezes when attempting to view "info" for a comic file
- #59842 Cross builds don't install the "wine" executable anymore
- #59855 .configure script fails on system without "ln -s"
- #59856 "musl: Use __builtin_rint if available" breaks rounding control in rint function family on x86_64
- #59870 VRChat PhotonEncryptorPlugin.dll crash
- #59871 Sonic Boom (1995 Klik & Play fangame) fails to create HBITMAP over memory, cannot start
- #59880 For games installed under a prefix that has cnc_ddraw installed using Winetricks, error message appears
- #59886 Build failed for SymCrypt with clang-msvc on x86/i386 and x86_64
- #59894 MS Office 2007 does no longer accept product key from config file
- #59910 One case of i386 unwinding broken
### Changes since 11.11:
```
Alexandre Julliard (20):
makefiles: Don't reuse an install command if it has an explicit destination name.
makefiles: Always enable the wine tool.
makefiles: Also skip C files in arch-specific directories.
libs: Import ffmpeg from upstream release 8.1.1.
user32: Don't send a message in GetComboBoxInfo().
nsiproxy.sys: Link to pthread libs for pthread_once.
ffmpeg: Import upstream assembly optimizations for ARM64.
ffmpeg: Import upstream assembly optimizations for ARM.
makefiles: Add support for nasm.
ffmpeg: Import upstream assembly optimizations for x86.
symcrypt: Disable asm optimizations globally for non-PE builds.
symcrypt: Disable asm optimizations for older clang versions.
ffmpeg: Only disable clang warnings when building ffmpeg itself.
configure: Use the pkg-config specified libs by default in package checks.
configure: Use the pkg-config specified libs also for MinGW checks.
configure: Add more pkg-config checks.
kernelbase: Implement HasFiberData thread flag.
ntdll: Initialize fiber data to 0x1e00.
ntdll: Set default NtGlobalFlag for debugged processes.
server: Fix returned status for NtUnlockFile on unlocked range.
Alistair Leslie-Hughes (4):
tiptsf: Add dll.
tiptsf: Add ITextInputPanel interface stub.
rtscom: Add stub dll.
rtscom: Add RealTimeStylus stubbed interface.
André Zwing (6):
comctl32/tests: Fix typo for ARM64EC.
kernel32/tests: Fix typo for ARM64EC.
oleaut32/tests: Fix typo for ARM64EC.
user32/tests: Fix typo for ARM64EC.
uxtheme/tests: Fix typo for ARM64EC.
vcomp/tests: Fix typo for ARM64EC.
Anna (navi) Figueiredo Gomes (4):
win32u: Stub NtUserGetPointerType.
win32u: Stub NtUserGetPointerDeviceRects.
win32u/tests: Add NtUserGetPointerDeviceRects test for INVALID_HANDLE_VALUE.
win32u: Implement NtUserGetPointerDeviceRects for INVALID_HANDLE_VALUE.
Bartosz Kosiorek (5):
msvcp: Use sizeof(wchar_t) instead of sizeof(char) for basic_string_wchar_replace_cstr_len.
msvcp: Use sizeof(wchar_t) instead of sizeof(char) for basic_string_wchar_replace_ch.
msvcp90: Add _Ctraits<float>::_Isinf(float) implementation.
msvcp90: Add _Ctraits<double>::_Isinf(double) implementation.
msvcp90: Add _Ctraits<long double>::_Isinf(long double) implementation.
Benoît Legat (1):
rsaenh: Fix reporting of "Cryptographic Service Provider".
Bernhard Übelacker (9):
mfplat/tests: Avoid crash if mediasource retrieval failed.
mfplat/tests: Explicitly link against kernel32 before kernelbase.
mfsrcsnk/tests: Add broken in test_mp4_extra_metadata.
user32/tests: Fix test_class_name with old Windows versions.
dxgi/tests: Add two missing winetest_pop_context.
dxgi/tests: Skip tests if DXGI 1.4 is not available.
msxml3/xpath: Fix out-of-bounds access in query string (ASan).
oleview: Avoid heap-use-after-free when reloading (ASan).
regedit: Avoid heap-buffer-overflow in regedit with REG_MULTI_SZ (ASan).
Connor McAdams (1):
dinput: Lowercase device paths passed into insert_cache_entry() when reusing cache entries.
Daniel Lehman (4):
msxml3/tests: Fix double-free of node text.
dwrite: Add fallbacks for arrows.
include: Move ifdef __cplusplus in rpcasync.h.
shell32: Use DE_INVALIDFILES instead of hard-coded value.
Dmitry Timoshkov (2):
oleaut32: Take into account that SAFEARRAY element in an SLTG typelib uses 32-bit units.
gdi.exe: Don't use biSizeImage when calculating DIB pitch.
Esme Povirk (1):
mscoree: Update Wine Mono to 11.2.0.
Etaash Mathamsetty (6):
winewayland: Implement fractional scaling protocol.
winewayland: Fix missing wayland_win_data_release.
win32u: Always flush the window surface in expose_window_surface.
winewayland: Assign a name to the winewayland queue.
winewayland: Change default debug channel to cursor for pointer.
winewayland: Rename toplevel_hwnd to owner_hwnd.
Feli Rippmann (1):
comctl32: Clamp rebar height to cyMaxChild when cyIntegral == 0 too.
Floris Renaud (1):
po: Update Dutch translation.
Francis De Brabandere (6):
vbscript: Index named items by name.
vbscript: Store global variables and functions in a single tagged tree.
vbscript: Parse a bare '&' followed by octal digits as an octal literal.
vbscript: Cache host DISPIDs as entries in the unified global tree.
vbscript: Raise type mismatch when comparing an array.
vbscript: Look up named items before builtin functions.
Giang Nguyen (1):
d2d1: Free the vertex types array in d2d_figure_cleanup.
Hans Leidekker (4):
bcrypt: Fix parameter validation for GCM mode.
bcrypt: Remove unused fields.
symcrypt: Accept RSA keys with public exponent 1.
bcrypt: Reject RSA keys with public exponent 1.
Henri Verbeet (2):
d3dcompiler: Retrieve signature information using vkd3d in d3dcompiler_shader_reflection_init().
d3dcompiler: Retrieve thread group size information using vkd3d in d3dcompiler_shader_reflection_init().
Jacek Caban (12):
dpnet: Remove unused variables.
rpcrt4/tests: Remove unused variables.
riched20/tests: Remove unused variables.
msxml6/tests: Enable call checks in set_xht_site.
msxml3/tests: Remove unused code.
msxml3/tests: Add missing CLEAR_CALLED statement.
mf/tests: Remove unused variables.
wbemprox: Remove unused variable.
winebus: Remove unused variables.
joy.cpl: Remove unused variable.
winevulkan: Remove unused variable.
winex11: Remove unused variables.
Marius Kamm (2):
windowscodecs: Fix decoding GIFs that fill the LZW code table.
windowscodecs/tests: Test decoding a GIF that fills the LZW code table.
Martin Storsjö (2):
ntdll: Don't validate arm64 pointer signing when unwinding.
include: Use __msvcrt_ulong in setjmp.h.
Matteo Bruni (1):
dsound: Get rid of non-float mixing remnants.
Nello De Gregoris (1):
mfsrcsnk: Use SetCurrentPosition() for absolute byte stream seeks.
Nikolay Sivov (15):
dsrole: Add a new dll.
netapi32: Forward DsRole* functions to dsrole.dll.
msxml3/tests: Add more selection tests.
msxml3/xpath: Remove duplicate line typo.
msxml3/tests: Add some tests for node value comparison in queries.
msxml3/xpath: Fix comparison direction for node-set vs value case.
msxml3/tests: Add some more comparison tests for XPath.
msxml3: Add a helper to check for XPath query keywords.
msxml3: Explicitly switch to XPath for XmlView documents.
msxml3: Handle XSLPattern syntax directly instead of converting to XPath.
msxml3: Fix a typo in a helper name.
msxml3/tests: Add a query test with attribute test in the predicate.
msxml3: Add support for nodeName() function.
msxml3: Rename helpers to reflect their purpose better.
msxml3: Remove now unused file.
Pan Hui (1):
winewayland: Use process_name in wl_display_create_queue_with_name for debugging.
Paul Gofman (21):
nsiproxy.sys: Factor out icmp_socket structure.
nsiproxy.sys: Rename icmp_listen into icmp_get_reply.
nsiproxy.sys: Contain all the reply data in struct icmp_reply_ctx.
nsiproxy.sys: Manage ICMP listen threads on the Unix side.
nsiproxy.sys: Poll all icmp sockets in a single thread.
nsiproxy.sys: Return ICMP ids from parse_icmp_hdr() instead of matching those.
nsiproxy.sys: Reuse icmp socket with matching parameters.
nsiproxy.sys: Support ICMP error replies with ping sockets.
nsiproxy.sys: Use compatible ICMP request id and seq numbers.
winevulkan: Do not show debug assertion dialog on Unix side exceptions.
win32u: Support D3D12_FENCE_SUBMIT_INFO in win32u_vkQueueSubmit().
win32u: Force timeline semaphore type when importing d3d12 fence.
ntdll/tests: Add tests for PROCESS_PARAMS_IMAGE_KEY_MISSING flag.
ntdll: Manage PROCESS_PARAMS_IMAGE_KEY_MISSING flag.
imm32/tests: Flush events in test_ImmSetCompositionWindow().
imm32/tests: Add tests for resetting in-composition state.
imm32: Strip off trailing zeros in ImeSetCompositionString().
imm32: Clear in-composition state when empty composition string is set.
imm32: Reset composition string when deactivating context.
wbemprox: Use device instance id for pnpdevice_id in get_display_adapters().
ntdll: Don't reserve exc_stack_layout twice in call_user_exception_dispatcher() on i386.
Piotr Caban (10):
mshtml: Added IHTMLTextAreaElement::disabled property implementation.
msv1_0: Initialize seal keys in ntlm_SpAcceptLsaModeContext.
ucrtbase/tests: Remove no longer needed workaround from test_math_errors.
ucrtbase: Don't use builtin_rint since it doesn't respect rounding control.
secur32/tests: Cleanup ntlm negotiate flags tests.
secur32/tests: Test ctxt_attrs value after initial InitializeSecurityContextA call.
msv1_0: Fix buffer type returned by ntlm_SpAcceptLsaModeContext.
msv1_0: Make output argument optional on second call to ntlm_SpAcceptLsaModeContext.
msv1_0: Set ctxt_attr in ntlm_SpInitLsaModeContext.
msv1_0: Set ctxt_attr in ntlm_SpAcceptLsaModeContext.
Rose Hellsing (4):
gdiplus: Recognize raw WMF streams in the WMF image codec.
gdiplus: Rasterize metafiles for encoding and report raw WMF as EMF.
gdiplus: Store the source HMETAFILE for proper lifetime management.
gdiplus/tests: Add tests for raw WMF load, playback and encoding.
Rémi Bernon (50):
xinput1_3: Introduce a new open_device_at_index helper.
mf/topology_loader: Restore original type when optional connection fails.
opengl32: Implement client / host mapping for shader names.
opengl32: Use a per-table lock for context / pbuffer / sync handles.
opengl32: Move the sync handle table to the display lists.
opengl32: Trace client side object names leaks.
opengl32: Remove unused unix thunks.
ffmpeg: Redirect av_log calls to Wine debug traces.
winegstreamer: Remove unnecessary resampler inline qualifiers.
winegstreamer/resampler: Implement IMediaObject iface using libswresample.
winegstreamer/resampler: Translate IMFTransform calls to IMediaObject.
resampledmo: Move resampler implementation from winegstreamer.
win32u: Add a new driver entry to create client surfaces.
win32u: Create vulkan client surfaces from win32u.
win32u: Create OpenGL client surfaces from win32u.
user32/tests: Use 1024x768 as test resolution for DPI scaling on Windows.
user32/tests: Add more GetPointerDeviceRects tests with DPI scaling.
opengl32: Unset current context on thread detach.
win32u: Create a default thread context when binding NULL.
opengl32: Ensure a context is current before display lists destruction.
win32u: Share all unix-side GL contexts with a global context.
opengl32: Keep a global WOW64 buffer storage map.
opengl32: Implement wglShareLists on the PE side.
win32u: Get rid of opengl_drawable set_context callback.
opengl32: Allocate WOW64 buffers struct with calloc.
opengl32: Set dummy context with wglMakeContextCurrentARB.
gitlab: Add nasm to the CI docker images.
xinput1_3: Move keystroke states and locks to check_for_keystroke.
xinput1_3: Read and write current state without the controller lock.
xinput1_3: Use a global critical section to guard device and enabled flag.
xinput1_3: Extend the CS to guard all device open / read / destroy.
winegstreamer/color_convert: Remove unnecessary inline qualifiers.
winegstreamer/color_convert: Implement IMediaObject iface using libswscale.
winegstreamer/color_convert: Translate IMFTransform calls to IMediaObject.
colorcnv: Move color converter implementation from winegstreamer.
winegstreamer/video_processor: Reimplement using libswscale.
msvproc: Move video processor implementation from winegstreamer.
opengl32: Only query GL_CONTEXT_PROFILE_MASK with GL >= 3.2.
opengl32: Only reserve name range if range length is > 0.
opengl32: Remove now unnecessary context creation attribs.
winewayland: Make sure the primary monitor rect is at 0x0.
winewayland: Use RECT / POINT to map coordinates from surface.
winewayland: Use RECT / POINT to map coordinates to surface.
winewayland: Use a RECT in struct wayland_surface_config.
win32u: Use the null context instead of internal context for pbuffers.
win32u: Notify driver of capture window reset on destruction.
win32u: Pass current and previous toplevel windows to SetCapture.
winex11: Also ignore warped MotionNotify if cursor isn't clipped.
winex11: Simplify send_mouse_input when clipping cursor.
winex11: Get rid of now unnecessary x11drv_thread_data()->grab_hwnd.
Shaun Ren (10):
xinput1_3: Remove an unreachable return from HID_set_state().
xinput1_3: Keep controller read events across device changes.
xinput1_3: Return correct slot indices for existing devices in find_opened_device().
xinput1_3: Don't wait on overlapped event if CancelIoEx failed.
xinput1_3: Clear enabled when controller is destroyed on read error.
xinput1_3: Return FALSE from controller_init if device enable failed.
xinput1_3: Disable controller when removing an opened device.
xinput1_3: Rescan controllers before reporting disconnection to callers.
xinput1_3: Initialize state with the previous state in read_controller_state.
xinput1_3: Initialize controller state only on success in controller_init.
Soham Nandy (1):
ntdll: Ignore hardware breakpoint traps inside the signal stack.
Thomas Portal (1):
user32: Add a stub for IsImmersiveProcess().
Tobias Markus (1):
ksecdd.sys: Forward BCrypt functions to bcrypt.dll.
Vibhav Pant (1):
winebth.sys: Ensure bus relations are invalidated after the PDO has been started by the PnP manager.
Wolfgang Hartl (1):
oleaut32: Implement SLTG union type processing.
Zhengyong Chen (1):
windowscodecs: Decode GIF frames on demand.
Zhiyi Zhang (1):
server: Fix a memory leak in d3dkmt_share_objects.
Ziqing Hui (1):
dwrite: Fix Miscellaneous Symbols font fallback.
```
June 29, 2026
Wine release 11.11
by Alexandre Julliard
The Wine development release 11.11 is now available.
What's new in this release:
- Bundled SymCrypt library, to replace TomCrypt.
- More USER32 window information moved to shared memory.
- Layered windows in the Wayland driver.
- More VBScript compatibility improvements.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.11.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.11/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.11 (total 25):
- #27579 The appearance of uTorrent 3.x torrents list is broken
- #32079 Dotted (.foobar) files are not displayed in file open dialog
- #37849 Wine causing color temperature setting(redshift) not working for a short time
- #41134 Foxit Reader 8.x service 'FoxitConnectedPDFService.exe' crashes on startup due to invalid database permissions ('ConvertStringSecurityDescriptorToSecurityDescriptor' SDDL / ACL parser must take whitespace between ACEs into account)
- #49622 error in installing battle.net launcher
- #49722 Space Empires V can't load certain images (.bmp) with built-in d3dxof.dll
- #50583 Foxit PhantomPDF Business v10.0 installer crashes in MSI custom action 'SetStartMenuWindows10T' with WinVer set to 'Windows 10'
- #50763 Wreckfest has blurry rendering with OpenGL renderer
- #51433 Battle.Net: Installer terminates with BLZBNTBTS0000005C error screen
- #51567 Battle.net app takes a long time to start
- #53293 Total War: Shogun 2 crashes with builtin d3dx9_42
- #53653 winmine.exe is not scaled properly to match the output DPI
- #54189 Fail in SetupDiEnumDeviceInfo: err=259: No more data available.
- #54694 Marvel's Spider-Man Remastered requires Windows 10 version 1909, build 18363 (or newer)
- #55230 Yesterday Origins shows black screen while playing some videos
- #56398 Think or Swim running in WINE, loads, then crashes, and need to be shut down.
- #57806 visual and response lags in Guitar Pro v8.1.3 (build 121)
- #58297 [Wayland-only mode] Minimize button click makes the app window buttons lock up
- #59125 Sunlogin crashes on unimplemented function advapi32.dll.WmiCloseBlock
- #59453 uSimmics crashes on unimplemented function msvcp100.dll._Sinh
- #59549 MS-Money 2000 - shows errors when loading INV7.OCX
- #59604 setupapi: CM_Get_Parent stub breaks USB HID device identification
- #59807 Regression in multithreaded application
- #59841 Missing audio in Gray Matter due to FAudio 26.06 import
- #59845 Istaria: game window fails to appear since Wine 11.10
### Changes since 11.10:
```
Alexandre Julliard (35):
configure: Re-generate with autoconf 2.73.
libs: Import upstream code from SymCrypt 103.11.0.
rsaenh: Use SymCrypt for hash algorithms.
rsaenh: Use SymCrypt for AES, DES and RC2.
symcrypt: Add pclmul target for older compilers.
ntdll: Use SymCrypt for SHA hashes.
ntdll: Get crc32 implementation from zlib instead of tomcrypt.
configure: Don't try to link to external zlib.
makefiles: Look for dependencies in assembly files.
makefiles: Only build asm files in PE builds.
makefiles: Use a separate directory for ARM64EC asm files.
symcrypt: Import upstream assembly code for x86-64.
symcrypt: Import upstream assembly code for ARM64.
symcrypt: Import upstream assembly code for ARM.
symcrypt: Import upstream assembly code for i386.
faudio: Import upstream release 26.06.
mpg123: Import upstream release 1.33.5.
png: Import upstream release 1.6.58.
lcms2: Import upstream release 2.19.1.
sqlite3: Import upstream release 3.53.2.
sqlite3: Disable debug assertions.
rsaenh: Align allocations for SymCrypt.
dssenh: Align allocations for SymCrypt.
notices: Add a file to collect all third-party copyright notices.
makedep: Add a helper function to skip an initial directory.
makedep: Also ignore missing headers when included from external lib header.
fluidsynth: Remove unused files.
gsm: Remove unused files.
icucommon: Remove unused files.
icui18n: Remove unused files.
ldap: Remove unused files.
vkd3d: Remove unused files.
xml2: Remove unused files.
faudio: Don't fixup wma bitrate if it's already valid.
ntdll: Support either a Unix call function table or a __wine_unix_lib_init entrypoint.
Alistair Leslie-Hughes (1):
include: Add IInkRecognizerContext coclass.
Anton Baskanov (5):
dsound: Use DWORD to store freqAdjustNum, freqAdjustDen and freqAccNum.
dsound: Move cp_fields_noresample after cp_fields_resample.
dsound: Use #define for fir.h constants.
dsound: Add an SSE version of upsample.
dsound: Add an SSE version of downsample.
Bernhard Kölbl (2):
win32u: Add missing internal messages to spy.
win32u: Add win32u internal driver messages to spy.
Bernhard Übelacker (9):
crypt32/tests: Avoid crash in testCertProperties.
rsaenh: Use _aligned_free instead of free for aligned allocations (ASan).
dssenh: Use _aligned_free instead of free for aligned allocations (ASan).
dsound/tests: Don't fail test if device cannot be opened the second time.
webservices/tests: Improve double tests.
user32/tests: Fix test_window_extra_data_proc.
windows.ui.core.textinput/tests: Only check interfaces if retrieval succeeded.
imagehlp/tests: Accept zero checksum if the compiler emitted a zero checksum.
kernel32/tests: Fix tests with old Windows 10 versions.
Charlotte Pabst (3):
include: Add some missing definitions in mfd3d12.idl.
mfplat/tests: Add tests for mf d3d12 synchronization object.
mfplat: Implement mf d3d12 synchronization object.
Conor McCarthy (6):
quartz: Update current and elapsed positions in Stop().
d3d8/tests: Test multisampled back buffer locking.
d3d9/tests: Test multisampled back buffer locking.
wined3d: Disallow locking of multisampled back buffers.
mfplat/tests: Test CreateObjectFromByteStream() URL with unknown or no extension.
mfplat: Do not require CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE if no extension is present.
Dmitry Timoshkov (9):
msi: Catch all exceptions in the custom DLL procedure.
msi: Return ERROR_INSTALL_FAILURE on an exception in the custom action.
ole32/tests: Add some tests for IStorage::MoveElementTo().
ole32: Implement IStorage::MoveElementTo() for stream element.
ole32: Implement IStorage::MoveElementTo() for storage element.
widl: Add support for enums to SLTG typelib generator.
widl: Add support for unions to SLTG typelib generator.
sane.ds: Add more traces.
sane.ds: SANE_DisableDSUserInterface() should accept states 5 and 6.
Elizabeth Figura (11):
srclient: No longer prefer native.
wevtapi: No longer prefer native.
ninput: No longer prefer native.
msctf: No longer prefer native.
msctfmonitor: No longer prefer native.
quartz/tests: Add a few more seeking tests.
directmanipulation: No longer prefer native.
feclient: No longer prefer native.
d3d8thk: No longer prefer native.
shcore: No longer prefer native.
userenv: No longer prefer native.
Esme Povirk (1):
comdlg32: Treat empty default extension as null.
Etaash Mathamsetty (3):
winewayland: Do not place_above on a detached client surface.
winewayland: Treat maximized+fullscreen state as fullscreen.
winewayland: Implement min/max size hints for non-resizeable windows.
Fatih Uzunoglu (1):
mscms: Add stub for `WcsCreateIccProfile()`.
Francis De Brabandere (20):
scrrun/tests: Add tests for dictionary put_Key.
scrrun/dictionary: Rename keys in place in put_Key.
vbscript: Bind local variables and arguments at compile time.
vbscript: Factor out assign_local_var from assign_ident.
vbscript: Bind local variable assignments at compile time.
vbscript: Factor out do_for_step and do_incc from interp_step and interp_incc.
vbscript: Bind For-loop variables at compile time.
vbscript: Bind class properties at compile time.
scrrun/tests: Add tests for Empty dictionary keys.
scrrun/dictionary: Match Empty keys against zero-valued and empty-string keys.
scrrun/tests: Add tests for Boolean dictionary keys.
scrrun/dictionary: Match native key semantics for Boolean keys.
vbscript/tests: Add tests for class declaration scope.
vbscript: Handle class declaration scope in the parser.
vbscript/tests: Add tests for sub declaration scope.
vbscript: Lex a dot immediately followed by a digit as a numeric literal.
vbscript: Report specific compile errors for trailing tokens and missing identifiers.
vbscript: Allow Dim to shadow a global const from a previous compile unit.
vbscript/tests: Add tests for one-line sub headers with multi-line bodies.
vbscript: Keep the offending identifier out of Err.Description.
Francisco Casas (3):
win32u: Enable VK_KHR_external_fence_capabilities in d3dkmt_init_vulkan().
wined3d: Enable VK_KHR_external_fence_capabilities when initializing vulkan.
wined3d: Don't use texelFetchOffset() for buffers and multi-sample textures.
Gabriel Ivăncescu (1):
ieframe: Return S_FALSE for NULL URLs in WebBrowser_Navigate.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.353.
Hans Leidekker (9):
winhttp: Revert recursion limit to 3.
rsaenh: Use SymCrypt for RSA and RC4.
dssenh: Use SymCrypt.
bcrypt: Use SymCrypt for hashes.
tomcrypt: Remove library.
bcrypt: Use SymCrypt for keys.
bcrypt: Get rid of the unixlib.
bcrypt: Add initial support for CHACHA20_POLY1305.
bcrypt: Add support for Brainpool curves.
Ivan Lyugaev (1):
secur32: Return SEC_E_INVALID_TOKEN for invalid TLS record headers.
Jacek Caban (12):
jscript/tests: Remove unused variables.
vbscript/tests: Remove unused variables.
ucrtbase/tests: Link directly to environment functions.
msvcp140_1/tests: Remove unused variable.
msvcp60/tests: Remove unused variable.
ddraw/tests: Remove unused variable.
ddraw: Remove unused variable.
ntdll: Synthesize caller context in ARM64EC RtlRaiseException.
ieframe/tests: Add missing CHECK_CALLED statements.
scrobj/tests: Remove unused variables.
wpcap/tests: Remove unused variables.
shcore/tests: Remove unused variables.
Jiangyi Chen (2):
winewayland.drv: Add alpha-modifier-v1 protocol to support change alpha by WAYLAND_SetLayeredWindowAttributes.
winewayland.drv: Add WAYLAND_UpdateLayeredWindow and add support for changing alpha using the alpha-modifier-v1 protocol.
Kellen Kopp (1):
win32u: Fixed incorrect glyph outline size.
Marc-Aurel Zent (3):
winemac: Remove unused includes in vulkan.c.
winemac: Factor out Metal device and view logic into MetalViewSwapChain.
winemac: Implement cross-process MetalViewSwapChain via CALayerHost.
Martin Storsjö (2):
ntdll: Fix building for arm64 without HWCAP_CPUID defined.
ntdll: Fix building for arm64 without ESR_MAGIC/esr_context.
Matteo Bruni (4):
server: Fix numpad vkey handling.
winex11: Return the layout index from from detect_keyboard_layout().
winex11: Create layouts when falling back to fuzzy detection.
configure: Add -msse2 to default i386_EXTRACFLAGS.
Nikolay Sivov (5):
msxml3/writer: Use wchar literals in more places.
msxml3/tests: Add more tests for the writer output.
msxml3/tests: Use writer output test helper throughout the tests.
msxml3/tests: Avoid string conversion in a few places.
msxml3/writer: Normalize newlines in CDATA content.
Paul Gofman (8):
ddraw: Renamed is_root surface attribute to is_implicit.
ddraw: Allow attaching flip chain surfaces.
ddraw/tests: Add tests for attaching and detaching backbuffers on ddraw1.
ddraw: Force render target bind flags on v1 swapchain candidate surfaces.
kernelbase: Add stub for GetIntegratedDisplaySize().
dsound: Fail IDirectSoundCaptureBufferImpl_Lock() for invalid buffer range.
ddraw/tests: Remove extra backbuffer1 release in test_surface_attachment().
win32u: Always consider newly created shape updated in set_surface_shape().
Piotr Caban (3):
msxml3: Don't add newline before first element when indentation is enabled.
msxml3: Don't indent endElement since it changes text node content.
include: Define more runtimeclasses in windows.storage.streams.idl.
Rose Hellsing (6):
wineboot: Create SQMClient MachineId registry key.
ntdll: Account for read-only cookie in loader.
ntoskrnl.exe: Account for read-only cookies.
kernel32/tests: Add test for read-only cookie in loader.
riched20: Properly capture \pntext content.
riched20/tests: Expand editor tests to verify \pntext behaviour.
Russell Greene (1):
hhctrl: Return a nonzero cookie from HH_INITIALIZE.
Rémi Bernon (43):
server: Keep track of builtin class FNID on registration.
server: Introduce a get_class_fnid helper.
user32: Set builtin class FNID for menu controls.
user32: Set builtin class FNID for MDI client controls.
user32: Set builtin class FNID for dialog controls.
win32u: Set builtin class FNID on window creation.
winex11: Move find_xkb_layout_variant helper around.
opengl32: Allocate display lists for client-side contexts.
opengl32: Share display lists in wglShareLists on the PE side.
opengl32: Query the context profile mask on init.
opengl32: Track client-side buffer names allocation.
opengl32: Track implicit buffer names allocation.
user32: Store a scroll_info pointer in the scrollbar control info.
user32: Set FNID for the builtin scrollbar window class.
opengl32: Call get_integer hook after a successful unix call.
opengl32: Add get_integer hooks to indexed glGet functions.
opengl32: Pass the returned unix value to get_integer hooks.
opengl32: Hook more glGet functions with get_integer.
opengl32: Implement client / host mapping for buffer names.
win32u: Introduce a server_set_window_info helper.
server: Move window extra data to the shared memory.
win32u: Return value directly from get_window_extra.
server: Move window id / menu to the shared memory.
server: Move window instance to the shared memory.
server: Move window user data to shared memory.
server: Move class local flag to the shared memory.
server: Keep track of class window proc ansi nature.
win32u: Simplify winproc handle to index conversions.
win32u: Move window procedure to the shared memory.
opengl32: Implement client / host mapping for framebuffer names.
opengl32: Allow framebuffer implicit allocation in some core contexts.
opengl32: Implement client / host mapping for renderbuffer names.
opengl32: Allow renderbuffer implicit allocation in some core contexts.
opengl32: Implement client / host mapping for texture names.
opengl32: Ignore more cases in make_opengl get_object_type.
opengl32: Implement client / host mapping for sampler names.
opengl32: Implement client / host mapping for display list names.
opengl32: Implement client / host mapping for program names.
opengl32: Implement client / host mapping for vertex shader names.
opengl32: Implement client / host mapping for fragment shader names.
opengl32: Implement client / host mapping for semaphore names.
opengl32: Implement client / host mapping for memory names.
opengl32: Implement client / host mapping for path names.
SeongChan Lee (1):
winexinput.sys: Fix handling of non-32-bit axis.
Soham Nandy (1):
ntdll: Preserve nonvolatile registers across VEH callbacks.
Steven Don (2):
atl: Implement registering ATL window messages.
atl/tests: Add tests for proper handling of WM_ATLGETCONTROL and WM_ATLGETHOST.
Thibault Payet (1):
ntdll/unix: Always define get_current_thread_data.
Tim Clem (1):
hnetcfg: Report 0 returned elements from IEnumVARIANT::Next.
Twaik Yont (1):
wineandroid: Raise minimum SDK version to 28 (Android 9.0).
Vibhav Pant (2):
combase/tests: Add tests for delayed marshaling of objects with apartment affinity.
combase: Implement delayed marshaling for RoGetAgileReference.
Wolfgang Hartl (1):
ir50_32: Export DllRegisterServer and DllUnregisterServer.
Yuxuan Shui (2):
mf/tests: Check frame size of video processor's output type.
winegstreamer: Video processor shouldn't have a preferred size.
Zhengyong Chen (1):
win32u: Fix signed coordinate extraction in drag_drop_call.
```
June 12, 2026