The Wine development release 10.9 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.16.
- Initial support for generating Windows Runtime metadata in WIDL.
- Support for compiler-based exception handling with Clang.
- EGL library support available to all graphics drivers.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.9.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.9/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.9 (total 34):
- #10853 Code::Blocks 8.02 IDE: some toolbar strips are too long
- #10941 Wine does not print in a new allocated console window using AllocConsole()
- #21666 Heavy Metal Pro fails to print Record Sheet
- #22018 No MIDI music in Alonix
- #26017 3D Pinball - Space Cadet: fullscreen does not work properly
- #34331 Toolbar buttons can be activated without a proper click
- #35882 Empire Earth 1.x display artifacts
- #46750 MS Office 2010 on Windows 7 crash
- #47281 wineserver uses a full CPU core with Ableton Live 10.0.6 and a custom Wine version
- #51386 ln.exe needs KERNEL32.dll.FindFirstFileNameW
- #51644 Implementation of wsplitpath_s required for The Legend of Heroes: Trails of Cold Steel
- #51945 property "Size" from win32_logicaldisk gives bogus results
- #52239 Partially invisible URL in TurnFlash's About window
- #54899 EA app launcher problem with text display
- #55254 Dyson Sphere Program (Steam): white artefact on opening scene
- #55255 Dyson Sphere Program (Steam): mouse ignored if switching windows
- #55304 Kerberos authentication stopped to work after PE wldap32 conversion
- #55928 NtQuerySystemInformation SystemProcessInformation result misaligned
- #56068 No "Timeout" command
- #56186 The 32-bit dmusic:dmusic fails in a 64-bit wineprefix
- #56859 Can't install photoshop CS6 through wine
- #57105 Steam GPU process crash loop with 64-bit wineprefix
- #57178 toolbar control doesn't forward WM_NOTIFY to it's original parent (affects 7-zip file manager)
- #57387 Sega Rally Championship Demo crashes at startup if Direct3d/renderer set to GDI
- #57613 Calling 'iphlpapi.GetIpNetTable' with a large number of network interfaces present crashes Wine builtin NSI proxy service
- #58060 Zafehouse: Diaries demo crashes in d3dx_initialize_image_from_wic with unsupported pixel format {6fddc324-4e03-4bfe-b185-3d77768dc902}
- #58133 Gigapixel ai no longer starts 8.3.3
- #58203 PL/SQL Developer: All system memory gets eaten
- #58217 The Journeyman Project 3 doesn't work in virtual desktop mode
- #58243 Geekbench 6 crashes at start.
- #58255 Player2 crashes
- #58269 Build regression in wine 10.7 using clang on aarch64 (error in backend: Invalid register name "x18")
- #58277 Virtual desktop doesn't resize correctly
- #58285 Crystal of Atlan - Hard crash after server selection
### Changes since 10.8:
```
Adam Markowski (1):
po: Update Polish translation.
Alanas Tebuev (4):
comctl32/tests: Test WM_NOTIFY CBEN_ENDEDITW conversion and forwarding in toolbar.
comctl32: Rewrite COMCTL32_array_reserve (was PAGER_AdjustBuffer).
comctl32: Move WM_NOTIFY unicode to ansi conversion code from pager.c to commctrl.c.
comctl32/toolbar: Forward WM_NOTIFY CBEN_ENDEDITW and CBEN_ENDEDITA.
Alex Henrie (1):
wintrust: Initialize all cert fields in WINTRUST_AddCert.
Alexandre Julliard (33):
configure: Correctly override DLLEXT for ARM builds.
include: Output the name label directly in the __ASM_GLOBL macro.
include: Add a macro to define a pointer variable in assembly.
ntdll: Call the syscall dispatcher from assembly on thread init.
ntdll: Set registers directly when calling __wine_syscall_dispatcher_return() on syscall fault.
ntdll: Use %r13 to store the TEB in the syscall dispatcher.
ntdll: Move the syscall frame and syscall table to the ntdll thread data.
ntdll: Share is_inside_syscall() helper across platforms.
winedump: Dump syscall numbers.
ntdll: Add tracing for syscall entry/exit.
ntdll: Add tracing for user callback entry/exit.
wineps: Use the correct metrics count in generated font data.
dbghelp: Use the __cpuid() intrinsic.
vkd3d: Import upstream release 1.16.
ntdll: Pre-compute the syscall frame and XState data size.
ntdll: Only create logical processor information when needed.
ntdll: Perform some shared data initialization before starting wineboot.
ntdll: Perform CPU features initialization before starting wineboot.
ntdll: Perform XState data initialization before starting wineboot.
ntdll: Fetch the XState supported features mask from the user shared data.
ntdll: Fetch the XState features mask from the user shared data.
ntdll: Fetch the XState features size from the user shared data.
ntdll: Fetch the XState compaction flag from the user shared data.
ntdll: Fetch the XState features offsets from the user shared data.
ntdll: Check processor features from the user shared data.
ntdll: Get rid of the cached cpu_info structure.
ntdll: Generate the CPU features bits from the user shared data.
ntdll: Don't bother checking for cpuid availability.
ntdll: Check directly for valid %fs register instead of using a syscall flag.
ntdll: Check for wrfsbase availability from the user shared data.
ntdll: Check for xsavec availability from the user shared data.
ntdll: Check for fxsave availability from the user shared data.
ntdll: Check for xsave availability from the user shared data.
Alfred Agrell (1):
kernel32/tests: Don't import NtCompareObjects before Windows 10.
Bernhard Kölbl (2):
setupapi/tests: Add display enum tests.
win32u: Provide more gpu device properties.
Bernhard Übelacker (6):
ucrtbase/tests: Avoid reading behind buffer in test_swprintf (ASan).
timeout/tests: Move the ctrl-c tests to an intermediate process.
nsiproxy: Avoid buffer overflow in ipv4_neighbour_enumerate_all.
dmusic: Only extract name in EnumInstrument when the valid flag is set.
ntdll: Align records retrieved by SystemProcessInformation.
gdiplus: Add check of type parameter to be positive (ASan).
Brendan McGrath (5):
mf/tests: Add negative timestamp tests for h264.
winegstreamer: Use provided PTS and duration in video_decoder.
winegstreamer: Avoid rounding errors when generating timestamps.
winegstreamer: Don't generate sample timestamps for the WMV decoder.
winegstreamer: Fixup negative input timestamps.
Brendan Shanks (1):
ntdll: Don't swap GSBASE on macOS in user_mode_callback_return().
Charlotte Pabst (1):
mf: Release pending items when sample grabber is stopped.
Connor McAdams (3):
d3dx9/tests: Add tests for {1,2,4}bpp indexed PNG files.
d3dx9: Properly handle indexed pixel formats smaller than 8bpp.
d3dx9: Add support for decoding 2bpp indexed PNG files.
Conor McCarthy (1):
user32: Restore the previous thread DPI awareness context before leaving CalcChildScroll().
Daniel Lehman (3):
msvcr120/tests: Test exp.
musl: Pass math_error callback to exp.
msvcr120: Add cexp() implementation.
David Kahurani (1):
xmllite/tests: Add more writer tests.
Dmitry Timoshkov (4):
ldap: When initializing security context ask for mutual authentication.
ldap: Sasl_encode()/sasl_decode() should treat encrypted buffer as data + token for Kerberos.
ldap: Add support for missing ISC_RET_CONFIDENTIALITY in the server response.
ldap: Save server attributes also on 2nd authentication step.
Elizabeth Figura (23):
wined3d: Move the remainder of the table fog flag to wined3d_extra_vs_args.
wined3d: Move the remainder of the shade mode flag to wined3d_extra_vs_args.
wined3d: Move the ortho_fog flag to wined3d_extra_vs_args.
wined3d: Remove no longer used transforms from wined3d_state.
wined3d: Feed point size clamping constants through a push constant buffer.
amstream/tests: Add more tests for the ddraw stream allocator.
amstream: Avoid shadowing in ddraw_meminput_Receive().
amstream: Rename "busy" to "pending".
amstream: Implement the custom ddraw stream allocator.
amstream: Fix allocator pitch tests.
amstream: Allocate the media type in set_mt_from_desc().
amstream/tests: Add more format tests.
amstream: Handle 8-bit RGB in set_mt_from_desc().
amstream: Fill the whole AM_MEDIA_TYPE in set_mt_from_desc().
amstream: Use set_mt_from_desc() in IMediaSample::GetMediaType().
amstream: Do not alter the current media type in SetFormat().
amstream: Take the actual ddraw pitch into account in GetMediaType().
amstream: Fill the source and target rects in set_mt_from_desc().
amstream: Report a top-down DIB in set_mt_from_desc().
wined3d/vk: Use an XY11 fixup for 2-channel SNORM formats.
wined3d/spirv: Implement clip planes.
wined3d/spirv: Implement point size.
wined3d/spirv: Implement point sprite.
Eric Pouech (4):
dbghelp: Don't dupe some exports on 64bit compilation.
kernel32/tests: Test closing of std handles when closing console.
wineconsole: Create child with unbound console handles.
kernelbase: Don't close handles in FreeConsole() for a Unix console.
Esme Povirk (5):
gdiplus: Remove repeated points before widening paths.
comctl32: Add tests for trackbar MSAA events.
comctl32: Implement EVENT_OBJECT_VALUECHANGE for trackbars.
comctl32/tests: Fix childid in trackbar statechange event.
gdiplus: Unify region rasterization in GdipFillRegion.
Gabriel Ivăncescu (5):
include: Add IHTMLDOMAttribute3 interface.
mshtml: Expose ownerElement from attribute nodes in IE8+ modes.
mshtml: Implement ownerElement prop for attribute nodes.
mshtml: Introduce dispex_builtin_prop_name that returns static string for builtins.
mshtml: Finish the nsAString in element_has_attribute.
Hans Leidekker (12):
secur32: Reset function tables in nego_SpInitLsaModeContext() and nego_SpAcceptLsaModeContext().
widl: Initial support for generating Windows Runtime metadata.
widl: Write the string stream.
widl: Write the user string stream.
widl: Write the blob stream.
widl: Write the guid stream.
winedump: Also dump the Culture column of the Assembly table.
widl: Write the table stream.
widl: Implement the Module table.
widl: Implement the TypeDef table.
widl: Implement the Assembly table.
widl: Implement the AssemblyRef table.
Huw D. M. Davies (1):
winemac: Ensure pglGetString is initialized before calling init_gl_info().
Jacek Caban (7):
msvcrt: Add empty block for __EXCEPT_PAGE_FAULT.
include: Use ULONG for RpcExceptionCode macro.
ntdll: Pass exception code to exception handlers in __C_specific_handler.
ntdll: Mark IsBadStringPtr functions as noinline.
configure: Enable -fasync-exceptions when supported.
include: Enable compiler exceptions on Clang for 64-bit MSVC targets.
ntdll/tests: Register runtime function in test___C_specific_handler.
Jinoh Kang (2):
server: Add `nested` parameter to redraw_window().
server: Remove unused parameter `frame` from redraw_window().
Louis Lenders (4):
wbemprox: Return the SMBIOSTableData[] when querying SMBiosData.
user32: Add stub for SetProcessLaunchForegroundPolicy.
pdh: Add stub for PdhEnumObjects{A,W}.
pdh: Add stub for PdhGetRawCounterArrayW{A,W}.
Makarenko Oleg (1):
winebus: Fix detection of devices with no axis.
Michael Stefaniuc (4):
dmime: Handle (skip over) text MIDI meta events.
dmime: Print the MIDI meta event type for unhandled messages.
dmime: Support the MIDI meta end of track event.
dmime: Parse and ignore MIDI key signature meta events.
Mohamad Al-Jaf (10):
include: Add dxcore C interface macros.
dxcore/tests: Add DXCoreCreateAdapterFactory() tests.
dxcore: Implement DXCoreCreateAdapterFactory().
dxcore/tests: Add IDXCoreAdapterFactory::CreateAdapterList() tests.
dxcore: Partially implement IDXCoreAdapterFactory::CreateAdapterList().
dxcore: Implement IDXCoreAdapterList::GetAdapterCount().
dxcore/tests: Add IDXCoreAdapterList::GetAdapter() tests.
dxcore: Implement IDXCoreAdapterList::GetAdapter().
dxcore/tests: Add IDXCoreAdapter::GetProperty() tests.
dxcore: Implement IDXCoreAdapter::GetProperty(HardwareID).
Nikolay Sivov (14):
comctl32/taskdialog: Protect WM_COMMAND handler from partially initialized dialog.
dwrite: Update script information with Unicode 14-16 additions.
odbc32: Ignore SQL_ATTR_CONNECTION_POOLING on global environment.
odbc32: Improve string attribute detection in SQLSetStmtAttr().
odbc32: Fix data buffer size handling when forwarding SQLGetInfo -> SQLGetInfoW.
windowscodecs/tiff: Remove remaining endianess compiler checks.
windowscodecs/metadata: Remove remaining endianess compiler checks.
windowscodecs/tiff: Fix source buffer size for 16bpp format (ASan).
odbc32: Destroy child objects automatically on successful SQLDisconnect().
comctl32/listview: Fix lbutton item selection with Shift+Ctrl.
comctl32/listview: Do not consider key state when navigating with alphanumeric keys.
d3dx9/tests: Add an effect compiler test for accessing functions.
mf/samplegrabber: Initialize state -> event map in a more robust way.
mf/clock: Initialize state -> notification map in a more robust way.
Panayiotis Talianos (1):
wined3d: Swap wined3d_resource.heap_pointer on swapchain present.
Paul Gofman (4):
wbemprox: Only use IOCTL_DISK_GET_DRIVE_GEOMETRY_EX if GetDiskFreeSpaceExW() fails.
mountmgr.sys: Fill DiskNumber and ExtentLength for IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS.
win32u: Implement NtGdiDdDDIOpenAdapterFromDeviceName().
ntdll: Avoid excessive committed range scan in NtProtectVirtualMemory().
Piotr Caban (24):
oledb32: Remove leading whitespaces from property name in datainit_GetDataSource.
msado15: Don't clear VARIANT in _Record_get_ActiveConnection.
msado15: Don't store active connection as variant.
msado15: Add _Recordset_putref_ActiveConnection implementation.
msado15: Add _Recordset_put_ActiveConnection implementation.
msado15: Use _Recordset_put_ActiveConnection in recordset_Open implementation.
msado15: Don't overwrite data in resize_recordset.
msado15: Avoid unneeded data copy in load_all_recordset_data.
msado15: Set recordset index in load_all_recordset_data.
msado15: Handle rowsets with unknown number of rows in load_all_recordset_data.
msado15: Add support for obtaining base tables and views in _Recordset_Open.
include: Define DBSCHEMA_* GUIDs.
include: Add dbsrst.idl.
msado15: Return error in recordset_MoveNext when there are no more records.
msado15: Skip columns without name in create_bindings.
msado15: Handle DBTYPE_VARIANT in load_all_recordset_data.
msado15: Pass DBCOLUMNINFO to append_field helper.
msado15: Add Field_put_Precision implementation.
msado15: Add Field_get_Precision implementation.
msado15: Add Field_put_NumericScale implementation.
msado15: Add Field_get_NumericScale implementation.
msado15: Handle DBTYPE_DATE in load_all_recordset_data.
msado15: Add connection_OpenSchema implementation.
include: Add DBBOOKMARK enum.
Rémi Bernon (39):
winex11: Remove unnecessary mutable_pf member.
opengl32: Move legacy extensions fixup from winex11.
winex11: Focus the desktop window when _NET_ACTIVE_WINDOW is None.
winex11: Don't activate/update foreground in virtual desktop mode.
win32u: Pass opengl_funcs pointer to init_wgl_extensions.
win32u: Initialize opengl_funcs tables even on failure.
win32u: Move the opengl_funcs tables out of the drivers.
include: Generate EGL prototypes and ALL_EGL_FUNCS macro.
win32u: Load EGL and expose functions in opengl_funcs.
winewayland: Use the EGL functions loaded from win32u.
wineandroid: Use the EGL functions loaded from win32u.
Revert "winex11: Focus the desktop window when _NET_ACTIVE_WINDOW is None."
winex11: Track _MOTIF_WM_HINTS property in the window state.
winex11: Avoid unnecessary _NET_WM_FULLSCREEN_MONITORS requests.
winex11: Trace more window change request serials.
winex11: Move managed window check to window_set_net_wm_state.
winex11: Update the current window state when ignoring events.
win32u: Open and initialize an EGL platform display.
wineandroid: Use the EGL display opened from win32u.
winewayland: Use the EGL display opened from win32u.
win32u: Introduce an EGL opengl_driver_function table.
win32u: Implement OpenGL pixel formats over EGL configs.
wineandroid: Use win32u for EGL display and pixel formats.
winewayland: Use win32u for EGL display and pixel formats.
winex11: Keep track of xinerama fullscreen monitors generation.
winex11: Continue requesting desired window state on no-op event.
winex11: Serialize individual _NET_WM_STATE bit changes.
winex11: Track window pending config position / size independently.
winex11: Keep track of the last config above flag used.
winex11: Serialize managed window config change requests.
winex11: Serialize window config requests with some other requests.
winex11: Don't set _MOTIF_WM_HINTS / _NET_WM_STATE for embedded windows.
winex11: Avoid requesting impossible state changes over and over.
winex11: Don't delay config requests for embedded windows.
winex11: Don't expect an event from config requests while window is unmapped.
winex11: Wait for decoration change side effects before changing focus.
user32/tests: Flush events before changing foreground.
user32/tests: Make test_foregroundwindow test more reliable.
winex11: Listen for ConfigureNotify events on the virtual desktop.
Santino Mazza (3):
amstream: Call QueryAccept with the new media type.
amstream/tests: Test how the ddraw allocator properties change.
amstream: Return error when calling SetFormat with allocated samples.
Steven Flint (1):
ntdll: Implement RtlCreateServiceSid.
Vibhav Pant (6):
winebth.sys: Implement IOCTL_WINEBTH_RADIO_START_AUTH.
bluetoothapis: Implement BluetoothAuthenticateDeviceEx.
bluetoothapis: Use a wizard GUI to respond to pairing requests if an authentication callback is not registered.
bluetoothapis/tests: Add tests for BluetoothAuthenticateDeviceEx.
winebth.sys: Don't decrement the reference count for the DBusPendingCall received by bluez_device_pair_callback.
bluetoothapis: Fix a potential handle leak in BluetoothAuthenticateDeviceEx.
Yuxuan Shui (4):
wineps.drv: Avoid double destroy of PSDRV_Heap.
ntdll: Fix out-of-bound read in RtlIpv6AddressToStringExA.
xmllite/tests: Fix out-of-bound read.
crypt32: Fix invalid access of list head.
Zhiyi Zhang (26):
include: Avoid a C++ keyword.
windows.ui: Return a newer IUISettings5 interface.
windows.ui: Use helpers to implement IWeakReference.
geolocation: Use helpers to implement IWeakReference.
wintypes/tests: Use defined constants.
wintypes: Implement IReference<UINT32>.
wintypes: Implement IReference<BYTE>.
wintypes: Implement IReference<FLOAT>.
wintypes: Implement IReference<GUID>.
wintypes: Implement IReference<INT16>.
wintypes: Implement IReference<INT32>.
wintypes: Implement IReference<INT64>.
wintypes: Implement IReference<UINT64>.
wintypes: Implement IReference<DateTime>.
wintypes: Implement IReference<Point>.
wintypes: Implement IReference<Rect>.
wintypes: Implement IReference<Size>.
wintypes: Implement IReference<TimeSpan>.
d3d11/tests: Test newer device interfaces.
d3d11: Add ID3D11Device3 stub.
d3d11: Add ID3D11Device4 stub.
d3d11: Add ID3D11Device5 stub.
dxgi: Add IDXGIResource1 stub.
dxgi: Add IDXGISurface2 stub.
dxgi/tests: Add tests for subresource surfaces.
dxgi: Implement subresource surface support.
```
The Wine development release 10.8 is now available.
What's new in this release:
- User handles in shared memory for better performance.
- Improvements to TIFF image support.
- More work on the new PDB backend.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.8.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.8/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.8 (total 18):
- #37813 Defiance fails to connect to login Server
- #51248 UrlGetPart produces different results from Windows
- #54995 msys2-64/cygwin64: git clone fails with 'Socket operation on non-socket'
- #56723 Vegas Pro 14: crash upon creating the main window
- #56983 UI: Application using ModernWPF crashes, Windows.UI.ViewManagement.UISettings not implemented
- #57148 cmd,for: ghidraRun.bat shows: Syntax error: unexpected IN
- #57397 Apps hang when trying to show tooltip
- #57424 msys2-64/cygwin64: mintty.exe not able to show bash.exe output.
- #57575 dmsynth: incorrect condition for buffer underrun in synthsink.c:synth_sink_write_data
- #57805 Wine CoreMIDI: Extra program change event on sending program change through MIDI Output from winmm
- #57941 Build broken with libglvnd <=1.3.3
- #57986 Final Fantasy XI Online window borders and content behave strangely
- #58067 comctl32/edit: Unable to enter values in Adobe Lightroom Classic 10.4
- #58085 foobar2000. Columns UI user interface error listing fonts using DirectWrite
- #58185 Country Siblings: EXCEPTION_ACCESS_VIOLATION related with D3D11
- #58191 dwrite tests fail to compile with mingw-gcc 15 due to attempt to link to truncf
- #58207 Caret gets broken in Edit (incl Combobox) when using long texts
- #58212 boost::interprocess::named_mutex does not work
### Changes since 10.7:
```
Adam Markowski (1):
po: Update Polish translation.
Akihiro Sagawa (5):
d2d1: Fix a crash in Clear method if no target is set.
d2d1: Fix a crash in DrawBitmap method family if no target is set.
d2d1: Fix a crash in DrawGeometry method family if no target is set.
d2d1: Fix a crash in FillGeometry method family if no target is set.
d2d1: Fix a crash in DrawGlyphRun method family if no target is set.
Alex Henrie (5):
dsound/tests: Allocate right amount of memory in test_secondary8 (ASan).
opcservices: Fix string comparison in opc_part_uri_get_rels_uri.
mfmediaengine/tests: Mark a refcount test in test_SetCurrentTime as flaky.
quartz: Clamp MediaSeeking_GetCurrentPosition to the stop position.
quartz/tests: Increase the timeout of a pause test in test_media_event.
Alexandre Julliard (16):
shell32/tests: Remove leftover file that hides succeeding tests.
tools: Add support for syscalls with a custom entry point.
ntdll: Define NtQueryInformationProcess as a custom syscall.
ntdll: Don't require syscall flag on Zw functions.
ntdll/tests: Add a test for syscall numbering.
dbghelp: Fix wrong variable used in EX case.
mountmgr: Remove redundant casts.
odbc32: Remove redundant casts.
opengl32: Remove redundant casts.
winebth.sys: Remove redundant casts.
winegstreamer: Remove redundant casts.
wineps: Remove redundant casts.
winedmo: Remove redundant casts.
ntdll: Use the appropriate type for the xstate_features_size variable.
include: Add some fields to the user shared data.
include: Fix the name of the user shared data structure.
Alexandros Frantzis (2):
winewayland: Use ARGB buffers for shaped windows.
winex11: Initialize ex_style_mask output parameter.
Alfred Agrell (9):
ntdll: Fix RtlUTF8ToUnicodeN for expected output ending with a surrogate pair that doesn't fit.
include: Fix a typoed vtable call macro.
include: Fix some typoed vtable call macros.
include: Fix a typoed vtable call macro.
include: Fix a typoed vtable call macro.
include: Fix some typoed vtable call macros.
include: Fix some typoed comments.
include: Fix some typoed vtable call macros.
include: Fix some typoed vtable call macros.
Alistair Leslie-Hughes (6):
odbc32: SQLColAttributesW accept field id SQL_COLUMN_NAME.
include: Add ApplicationRecoveryInProgress/Finished prototype.
include: Add InitNetworkAddressControl prototype.
include: Add some SHARD_* defines.
include: Add some ENDSESSION_* defines.
include: Add IHTMLOptionButtonElement interface.
Andrew Nguyen (1):
wine.inf: Add BootId value for Session Manager\Memory Management\PrefetchParameters key.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (1):
server: Improve returned value in member WriteQuotaAvailable.
Brendan McGrath (3):
winegstreamer: Only align the first plane in gst_video_info_align.
winegstreamer: Allow decodebin to eliminate caps that don't use system memory.
mfreadwrite: Use stream_index from ASYNC_SAMPLE_READY command.
Brendan Shanks (5):
winemac: Set the OpenGL backbuffer size to the size in window DPI.
winhttp: Use GlobalAlloc for the result of WinHttpDetectAutoProxyConfigUrl.
winhttp: Add a cache to WinHttpDetectAutoProxyConfigUrl().
nsiproxy: Set the name of internal threads.
nsiproxy: Implement change notifications for NSI_IP_UNICAST_TABLE on macOS.
Connor McAdams (6):
d3dx9: Make functions for pixel copying/conversion/filtering static.
d3dx9: Move code for format conversion of a single pixel into a common helper function.
d3dx9/tests: Add some color key tests.
d3dx9: Set all color channels to zero when color keying.
d3dx9: Calculate a range of color key channel values in d3dx_load_pixels_from_pixels() if necessary.
d3dx9: Don't color key compressed pixel formats on 32-bit d3dx9.
Dmitry Timoshkov (3):
combase: Find correct apartment in ClientRpcChannelBuffer_SendReceive().
user32/tests: Add a message test for listbox redrawing after LB_SETCOUNT.
ldap: Use correct SPN when authenticating to Kerberos DC.
Eric Pouech (17):
dbghelp: Introduce a cache for loading blocks in new PDB reader.
winedump: Dump some symbols for managed code.
dbghelp: Silence symbol for managed code.
dbghelp: Silence FIXME when dealing with empty hash table.
dbghelp: Fix using Start parameter in TI_FINDCHILDREN request.
dbghelp: Get rid of code quality warning.
dbghelp: Return method_result from pdb_reader_request_cv_typeid.
dbghelp: Load global symbols from DBI.
dbghelp: Beef up reading compiland header helper.
dbghelp: Build compiland table for new PDB reader.
dbghelp: Create all symt* from new PDB reader.
dbghelp: Workaround SAST false positive.
dbghelp: Skip compilands without MSF stream (new PDB).
dbghelp: Add method to query backend for symbol by address.
dbghelp: Add method to query symbols by name.
dbghelp: Add method to enumerate symbols.
dbghelp: Load compilands on demand (new PDB).
Gabriel Ivăncescu (29):
mshtml: Ignore setting non-writable external props.
mshtml: Don't redefine deleted props in dispex_define_property.
jscript: Properly fill the builtin props.
mshtml: Expose "arguments" from host functions in IE9+ modes.
mshtml: Expose "caller" from host functions in IE9+ modes.
mshtml: Expose "arguments" and "caller" from host constructors in IE9+ modes.
mshtml: Get rid of useless "iter" member in the attribute collection enum.
mshtml/tests: Test iframe window navigation resetting props.
mshtml: Fill the props in the host method instead of enumerating next prop.
mshtml: Only fill the external props once, unless they are volatile.
mshtml: Properly fill the prototype's "constructor" prop.
mshtml: Properly fill the constructor's "prototype" prop.
mshtml: Properly fill the window's constructors.
mshtml: Properly fill the window's script vars.
mshtml: Enumerate all own custom props if requested.
mshtml: Implement nodeType prop for attributes.
mshtml: Implement attributes prop for attributes.
mshtml: Implement ownerDocument prop for attributes.
mshtml: Implement cloneNode for attributes.
mshtml: Implement appendChild for attributes.
mshtml: Implement insertBefore for attributes.
mshtml: Implement hasChildNodes for attributes.
mshtml: Implement childNodes prop for attributes.
mshtml: Implement firstChild prop for attributes.
mshtml: Implement lastChild prop for attributes.
mshtml: Implement previousSibling prop for attributes.
mshtml: Implement nextSibling prop for attributes.
mshtml: Implement replaceChild for attributes.
mshtml: Implement removeChild for attributes.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.315.
Hans Leidekker (2):
winedump: Improve formatting of CLR metadata.
wldap32: Don't map errors from ldap_set_optionW().
Jacek Caban (2):
mshtml: Add CSSStyleDeclaration::content property implementation.
ntdll/tests: Initialize out buffer in threadpool tests.
Jinoh Kang (2):
include: Fix ARM64EC acq/rel barrier to match ARM64.
user32/tests: Test BeginPaint() clipbox of cropped window with CS_PARENTDC.
Mike Swanson (1):
notepad: Restructure menus and make hot-keys unique.
Mohamad Al-Jaf (6):
windows.ui: Implement IUISettings4 stub.
windows.ui: Implement IUISettings5 stub.
coremessaging: Add IDispatcherQueueControllerStatics stub.
coremessaging/tests: Add IDispatcherQueueControllerStatics::CreateOnDedicatedThread() tests.
coremessaging/tests: Add CreateDispatcherQueueController() tests.
coremessaging: Partially implement CreateDispatcherQueueController().
Nikolay Sivov (17):
windowscodecs/tests: Use wide-char literals in tests.
windowscodecs/converter: Add 48bppRGBHalf -> 32bppBGRA conversion path.
windowscodecs/converter: Add 48bppRGBHalf -> 128bppRGBFloat conversion path.
windowscodecs/tests: Add a test for 24bpp TIFF with separate sample planes.
windowscodecs/tiff: Add support for files with separate planes.
windowscodecs: Fix information strings for the Ico decoder.
windowscodecs: Fix information strings for the Jpeg decoder.
windowscodecs: Fix information strings for the Tiff decoder.
libs: Enable JPEG codec in libtiff.
windowscodecs/tiff: Use libjpeg for colorspace conversion YCbCr -> RGB.
windowscodecs/tests: Add some tests for multi-frame tiffs vs SUBFILETYPE tag.
windowscodecs/tiff: Skip frames marked with SUBFILETYPE(0x1).
comctl32/edit: Remove change notifications on Ctrl+A selections.
user32/edit: Reset internal capture state on WM_CAPTURECHANGED.
comctl32/edit: Reset internal capture state on WM_CAPTURECHANGED.
windowscodecs/tiff: Zero-initialize decoder structure.
gdi32/uniscribe: Do not limit the number of items in ScriptStringAnalyse().
Paul Gofman (10):
win32u: Don't redraw window in expose_window_surface() if window has surface.
win32u: Don't inflate rect in expose_window_surface().
shell32: Avoid writing past end of xlpFile or lpResult in SHELL_FindExecutable().
ntdll: Bump current build number to 19045 (Win10 22H2).
services: Create ImagePath registry value with REG_EXPAND_SZ type.
ntdll: Allocate output string if needed for REG_EXPAND_SZ in RTL_ReportRegistryValue().
user32: Add stub for IsWindowArranged().
msvcp: Use _beginthreadex() in _Thrd_start().
kernel32/tests: Add test for removing completion port association with job.
server: Support removing completion port association with job.
Piotr Caban (12):
netapi32: Validate bufptr argument before accessing it.
netapi32: Fix WOW64 server_getinfo thunk.
netapi32: Fix WOW64 share_add thunk.
netapi32: Fix WOW64 wksta_getinfo thunk.
netapi32: Use correct allocators for buffers returned by NetServerGetInfo and NetWkstaGetInfo.
netapi32: Add NetShareGetInfo implementation for remote machines.
ntdsapi: Add DsMakeSpnA implementation.
ntdsapi: Fix referrer handling in DsMakeSpnW function.
msado15: Don't return early in _Recordset_Open if there are no columns.
msado15: Initialize columns in ADORecordsetConstruction_put_Rowset.
msado15: Fix Fields object refcounting.
msado15/tests: Fix some memory leaks.
Rémi Bernon (37):
winebus: Ignore mouse / keyboard hidraw devices by default.
server: Remove const qualifier from shared memory pointers.
include: Implement ReadAcquire64.
server: Use NTUSER_OBJ constants for user object types.
server: Allocate a session shared memory header structure.
server: Move the user object handle table to the shared memory.
win32u: Use the session shared object to implement is_window.
win32u: Use the session shared object for user handle entries.
winewayland: Implement window surface shape and color keying.
windows.gaming.input: Move async impl interfaces to a dedicated IDL.
windows.media.speech: Sync async impl with windows.gaming.input.
cryptowinrt: Sync async impl with windows.gaming.input.
windows.devices.enumeration: Sync async impl with windows.gaming.input.
windows.security.credentials.ui.userconsentverifier: Sync async impl with windows.gaming.input.
server: Remove unused get_window_info atom reply parameter.
win32u: Read the windows full handle from the shared memory.
win32u: Use the session user entries for is_current_thread_window.
win32u: Use the session user entries for is_current_process_window.
win32u: Read window tid / pid from the session shared memory.
wineandroid: Get rid of now unnecessary function loading.
winex11: Get rid of now unnecessary function loading.
winemac: Get rid of now unnecessary function loading.
winewayland: Get rid of now unnecessary function loading.
win32u: Pass thread id to next_process_user_handle_ptr.
win32u: Get rid of struct WND tid member.
win32u: Get rid of struct user_object.
gitlab: Run ntoskrnl tests with win64 architecture.
windows.devices.enumeration: Factor DeviceWatcher creation in a device_watcher_create helper.
windows.devices.enumeration: Implement DeviceWatcher::get_Status.
windows.devices.enumeration: Implement DeviceWatcher async state changes.
windows.devices.enumeration: Split setupapi device enumeration to a separate helper.
windows.media.speech/tests: Make refcount tests results deterministic.
win32u: Don't load the display drivers in service processes.
win32u: Rename set_window_style to set_window_style_bits.
win32u: Add NtUserAlterWindowStyle syscall stub.
win32u: Implement and use NtUserAlterWindowStyle.
winebus: Skip device stop if it wasn't started.
Tim Clem (2):
ntdll: Treat TokenElevationTypeDefault tokens in the admin group as elevated.
advapi32/tests: Skip a token elevation test if OpenProcess fails.
Vibhav Pant (8):
windows.devices.enumeration/tests: Add conformance tests for FindAllAsync().
windows.devices.enumeration: Add a stubbed implementation for FindAllAsync() and DeviceInformationCollection.
windows.devices.enumeration: Add a stubbed IDeviceInformation implementation for device interfaces.
windows.devices.enumeration: Create IDeviceInformation objects from all present device interfaces.
windows.devices.enumeration: Add tests for initial device enumeration in DeviceWatcher.
windows.devices.enumeration: Implement IDeviceInformationStatics::CreateWatcher.
windows.devices.enumeration: Implement EnumerationCompleted handler for DeviceWatcher.
windows.devices.enumeration: Implement initial device enumeration for DeviceWatcher::Start().
Yeshun Ye (3):
dssenh: Add 'CRYPT_VERIFYCONTEXT | CRYPT_NEWKEYSET' support for CPAcquireContext.
dssenh/tests: Add test for CryptAcquireContextA.
find: Support switch /i or /I.
Yuxuan Shui (3):
win32u: Fix potential use of uninitialized variables.
msvcrt: Use _LDOUBLE type in exported functions.
ntdll: Also relocate entry point for builtin modules.
Zhiyi Zhang (4):
windows.ui: Implement IWeakReferenceSource for IUISettings.
windows.ui: Implement weak_reference_source_GetWeakReference().
include: Add windows.ui.viewmanagement.core.idl.
include: Add ID3D11FunctionLinkingGraph.
Ziqing Hui (11):
shell32/tests: More use of check_file_operation helper in test_copy.
shell32: Fail if wildcards are in target file names.
shell32: Introduce file_entry_{init,destroy} helpers.
shell32: Remove a useless index variable in parse_file_list.
shell32: Rework FO_COPY operation.
shell32: Remove useless bFromRelative member.
shell32: Add overwrite confirmation for FO_COPY.
shell32/tests: Add more wildcard target tests.
shell32: Introduce has_wildcard helper.
shell32: Handle invalid parameter correctly for SHFileOperationW.
shell32: Introduce parse_target_file_list helper.
```
The Wine development release 10.7 is now available.
What's new in this release:
- User fault fd support to improve write watches performance.
- Support for Float format conversions in WindowsCodecs.
- More work on the new PDB backend.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.7.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.7/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.7 (total 14):
- #18803 PokerStars windows disappear on alert
- #18926 In Winamp, the "send to..." submenu in the playlist menu does not appear
- #20172 Button "Alt Gr" triggers access violation in Teach2000
- #31775 Misaligned icons in icon bar
- #33624 winhelp: Popups appear with bogus scrollbars which disappear when you click them
- #37706 ScrollWindowEx() returns ERROR if the window is not visible (in the Windows API sense); real Windows returns NULLREGION
- #38379 Barnham Junction fails to start "Cannot create file C\users\username\Temp\BBC*.tmp\Sim Resources\Barnham Junction\Nameboard.bmp"
- #48792 HeidiSQL: some icons completely grayed out
- #50226 Native Access 1.13.5 Setup PC.exe Installer installs infinitely
- #50851 The procedure entry point RasClearConnectionStatistics could not be located in the dynamic link library RASAPI32.dll
- #56107 Comdlg32/Color - Cross not painted
- #57684 Games do not receive keyboard input in virtual desktop mode
- #58072 LVSCW_AUTOSIZE does not include the size of the state imagelist
- #58082 Race condition in GlobalMemoryStatusEx() implementation
### Changes since 10.6:
```
Adam Markowski (1):
po: Update Polish translation.
Akihiro Sagawa (3):
cmd: Use the OEM code page if GetConsoleOutputCP fails.
cmd/tests: Add updated code page test in batch file.
cmd: Use the console output code page to read batch files.
Alex Henrie (2):
gdi32: Limit source string length in logfont_AtoW (ASan).
gdi32: Ensure null termination in logfont_AtoW.
Alexander Morozov (3):
ntoskrnl.exe/tests: Test some Io functions with FDO and PDO.
ntoskrnl.exe/tests: Test that calling some Io functions does not result in receiving IRP_MN_QUERY_ID.
ntoskrnl.exe: Fix getting DevicePropertyEnumeratorName.
Alexandre Julliard (25):
ntdll: Round the virtual heap size to a page boundary.
kernel32/tests: Don't use _ReadWriteBarrier on ARM platforms.
configure: Default to MSVC mode with LLVM cross-compilers.
configure: Move cross-compiler checks before header checks.
configure: Make the missing PE compiler notice a warning.
configure: Use a standard pkg-config check for Alsa.
include: Use pragma push/pop.
tools: Use pragma push/pop.
dlls: Use pragma push/pop.
programs: Use pragma push/pop.
configure: Re-enable pragma pack warnings.
urlmon/tests: Run the ftp tests against test.winehq.org.
wininet/tests: Run the ftp tests against test.winehq.org.
include: Avoid long types on the Unix side.
ntdll: Remove redundant casts.
win32u: Remove redundant casts.
winex11: Remove redundant casts.
winemac: Remove redundant casts.
wineandroid: Remove redundant casts.
winewayland: Remove redundant casts.
tools: Fix tracing of empty strarray.
tools: Use booleans where appropriate.
tools: Generate syscall macros directly with the right offset.
tools: Add a platform-independent name for the ALL_SYSCALLS macros.
ntdll: Add a test for invalid syscall numbers.
Alexandros Frantzis (3):
winewayland: Support building with older EGL headers.
winewayland: Always check the role to determine whether a surface is a toplevel.
winewayland: Introduce helper to check whether a surface is toplevel.
Attila Fidan (1):
winewayland: Require wl_pointer for pointer constraints.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Bernhard Übelacker (4):
ntoskrnl.exe/tests: Remove unused function pointers.
spoolss: Avoid buffer-overflow when setting numentries (ASan).
d3d11/tests: Add broken to test_nv12.
gdi32/tests: Remove one test for NtGdiMakeFontDir.
Billy Laws (2):
ntdll: Allow mem{cpy,move} optimisation now -fno-builtins is used.
ntdll: Check arm64ec TEB frames are valid before popping them.
Brendan McGrath (3):
mf: Update state and start clock for both paused and stopped.
mf: Reset audio client on flush.
winegstreamer: Handle the Stream Group Done event.
Brendan Shanks (2):
win32u: Enter font_lock in NtGdiMakeFontDir.
win32u: Raise realized font handle limit to 5000.
Charlotte Pabst (1):
mfplat/tests: Don't assume video processor MFT can provide samples.
Dmitry Timoshkov (3):
user32/tests: Add more ScrollWindowEx() tests.
win32u: Fix return value of ScrollWindowEx() for invisible windows.
windowscodecs: Also initialize FlipRotator.bpp field.
Elizabeth Figura (4):
wined3d/glsl: Move clip distance enabling to shader_glsl_apply_draw_state().
wined3d/glsl: Move GL_FRAMEBUFFER_SRGB application to shader_glsl_apply_draw_state().
wined3d: Move SRGB write enable to wined3d_extra_ps_args.
wined3d: Move the clip plane mask to wined3d_extra_vs_args.
Eric Pouech (9):
dbghelp: Move typedef handling to the new PDB backend.
dbghelp: Add user field to function and inline sites.
dbghelp: Move reading inlinee line number information to PDB backend.
dbghelp: Directly store compiland's name in symt_compiland.
dbghelp: Use symref_t to describe a symbol's container.
cmd: Factor out code_page when searching for a label.
conhost: Add support for ESC in win32 edit mode.
conhost: Handle ctrl-break unconditionally.
conhost: Handle ctrl-c from unix console in ReadConsoleW + control.
Esme Povirk (7):
oleaut32: Use apartment-less WIC.
oleaut32: Copy palette from WIC source for indexed formats.
gdiplus: Limit clip region calculation to device rectangle.
gdiplus: Don't trace old values in GdipSetMatrixElements.
appwiz.cpl: Report addon download failures.
comctl32: Implement EVENT_OBJECT_STATECHANGE for progress control.
comctl32: Implement EVENT_OBJECT_VALUECHANGE for progress bars.
Francisco Casas (1):
d2d1: Compile shaders on device creation instead of device context creation.
Gabriel Ivăncescu (9):
mshtml: Rename struct constructor to stub_constructor.
mshtml: Consolidate the functional constructors into a common struct implementation.
mshtml: Define the constructor's prototype on mshtml side.
mshtml: Define "create" from XMLHttpRequest constructor as a jscript prop in IE9+ modes.
mshtml: Return proper string from functional constructors' toString in IE9+ modes.
mshtml: Store the object_id of the last object in the prototype chain that contains the needed prop.
mshtml: Validate builtin host functions in IE9+ using prototype_id rather than tid where possible.
mshtml: Use designated initializers for the Location dispex data.
mshtml: Remove unused struct mutation_observer_ctor.
Hans Leidekker (3):
odbc32: Fix replicating unixODBC data sources.
include: Fix typos in exclusiveto attributes.
msv1_0: Drop the ntlm_auth check.
Jinoh Kang (4):
Revert "kernel32/tests: Don't use _ReadWriteBarrier on ARM platforms."
kernel32/tests: Don't use _ReadWriteBarrier() on clang.
kernel32/tests: Run store_buffer_litmus_test() in a single-iteration loop.
kernel32/tests: Shorten time for negative half of litmus test for FlushProcessWriteBuffers().
Keno Fischer (1):
ntdll: Make server requests robust to spurious short writes.
Louis Lenders (1):
combase: Add stub for RoOriginateErrorW.
Marc-Aurel Zent (4):
server: Store process base priority separately.
server: Use process base priority in set_thread_base_priority.
ntdll: Implement ProcessBasePriority class in NtSetInformationProcess.
ntdll/tests: Add tests for setting process base priority.
Michael Stefaniuc (2):
maintainers: Remove myself as the Stable maintainer.
dmsynth: Don't report an underrun when current equals write position.
Mohamad Al-Jaf (4):
windows.media.mediacontrol: Fix a memory leak.
windows.devices.enumeration: Guard against WindowsDuplicateString() failure.
windows.system.profile.systemid/tests: Add ISystemIdentificationInfo::get_Id() tests.
windows.system.profile.systemid: Implement ISystemIdentificationInfo::get_Id().
Nikolay Sivov (23):
include: Add newer winhttp option constants.
comctl32/tests: Add a column width test for LVSCW_AUTOSIZE with a state imagelist.
comctl32/listview: Use state icon width when autosizing columns.
winedump: Fix a crash in 'dump' command.
include: Change the schannel.h guard name.
include: Add WINHTTP_SECURITY_INFO type.
windowscodecs/tests: Remove A->W test data conversion.
windowscodecs/tests: Add some tests for encoder info.
windowscodecs: Fix JPEG encoder information strings.
windowscodecs: Fix TIFF encoder information strings.
shell32: Simplify error handling when FolderItemVerbs object is created.
shell32: Fix use-after-free at FolderItemVerbs creation (ASan).
windows.ui/tests: Remove tests for exact color values.
uiautomationcore: Fix BSTR buffer overrun (ASan).
comdlg32/colordlg: Fix color picker cursor painting.
windowscodecs/png: Fix byte-swapping mode usage in the encoder.
windowscodecs/tests: Add a test for big-endian TIFF image data handling.
windowscodecs/tiff: Remove unnecessary image data byte-swaping.
windowscodecs/converter: Add 24bppBGR -> 128bppRGBAFloat conversion path.
windowscodecs/converter: Add 32bppBGRA - > 128bppRGBAFloat conversion path.
windowscodecs/converter: Add 128bppRGBAFloat -> 32bppBGRA conversion path.
windowscodecs/converter: Add 96bppRGBFloat -> 128bppRGBFloat conversion path.
windowscodecs/converter: Add 96bppRGBFloat -> 32bppBGRA conversion path.
Pali Rohár (2):
win87em: Fix __FPMATH symbol name.
krnl386: Set carry flag for unimplemented DPMI 0800h call (Physical Address Mapping).
Paul Gofman (6):
opengl32: Don't distinguish WGL_SWAP_EXCHANGE_ARB and WGL_SWAP_UNDEFINED_ARB when filtering in wglChoosePixelFormatARB().
kernel32/tests: Add more tests for write watches.
ntdll: Use UFFD for write watches support if available.
wbemprox: Implement Win32_CacheMemory table.
netapi32: Fix service names in NetStatisticsGet().
ntdll: Make sure NT flag is not set before iretq in wine_syscall_dispatcher_return on x86-64.
Piotr Caban (18):
msvcr110/tests: Link to msvcr110.
msvcr70/tests: Link to msvcr70.
msvcr71/tests: Link to msvcr71.
include: Add _FCbuild() declaration.
include: Add vsscanf declaration.
include: Add function declarations used in msvcr120 tests.
msvcr120/tests: Link to msvcr120.
msvcrt: Fix memory leaks in create_locinfo.
makefiles: Use -fno-builtin for CRT tests.
msvcr80/tests: Link to msvcr80.
include: Add functions used by msvcr90 tests.
msvcr90/tests: Link to msvcr90.
msvcrt: Avoid dynamic allocation when storing locale name.
msvcrt: Use LC_MAX constant in create_locinfo.
secur32/tests: Make NTLM server challenge blob human-readable.
secur32/tests: Use one copy of server challenge reply in NTLM tests.
secur32/tests: Fix NTLM tests on Windows 11 by accepting NTLMv2 in test server response.
secur32/tests: Don't accept NTLMv1 type 3 message in NTLM tests.
Rastislav Stanik (1):
kernelbase: Fix race condition in GlobalMemoryStatusEx().
Rémi Bernon (12):
d3d9/tests: Skip some d3d12 tests instead of crashing.
win32u: Use the driver_funcs interface for osmesa pixel formats.
win32u: Add an opengl_driver_funcs entry to implement wglGetProcAddress.
opengl32: Generate error messages in null functions.
opengl32: Pass null GL funcs to __wine_get_wgl_driver.
win32u: Add procedure loading to generic OpenGL code.
win32u: Add a generic wglSwapBuffers implementation.
wineandroid: Use the generic wglSwapBuffers implementation.
winemac: Use the generic wglSwapBuffers implementation.
winewayland: Use the generic wglSwapBuffers implementation.
winex11: Use the generic wglSwapBuffers implementation.
win32u: Add nulldrv swap_buffers implementation.
Stefan Dösinger (3):
odbc32: Don't call wcslen in debugstr_sqlwstr.
odbc32: Retlen may be NULL in SQLGetData.
msvcrt: Add truncf to the import library.
Tim Clem (1):
comctl32: Track initial taskdialog layout on a per-dialog basis.
Yuxuan Shui (1):
winegstreamer: Make sure WMSyncReader never reads in the background.
```
The Wine development release 10.6 is now available.
What's new in this release:
- New lexer in Command Processor.
- PBKDF2 algorithm in Bcrypt.
- More support for image metadata in WindowsCodecs.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.6.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.6/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.6 (total 27):
- #6682 IrfanView's 4.44 Help -> About window is missing a picture on the left
- #13884 No music in Blue Wish Resurrection Plus
- #29912 No parent button in file selection dialog
- #31701 Alan Wake crashes on start without native d3dx9_36
- #35652 Multiple MMORPH game launchers crash on startup or apps fail to update initial window content ('DIALOG_CreateIndirect' needs to trigger WM_PAINT)(Aeria Games 'Aura Kingdom', STOnline)
- #39453 Graphs not rendering using gdiplus
- #41729 2GIS 3.0 application crashes on exit.
- #44978 Text in WC3 World Editor isn't colored properly
- #45460 Running EVE Online keeps locking up after a few hours
- #48121 Unity games do not fire OnApplicationFocus/OnApplicationPause events on focus regain
- #51053 Alan Wake Crashes After Intro Cut Scene
- #51378 Failures with `DetourCreateProcessWithDllEx` for Microsoft's Detours Library
- #51546 Xenos 2.3.2 dll injector crashes
- #51575 Texconv fails with mipmap error unless "-nowic" is supplied to disable WIC use
- #51584 Zafehouse: Diaries demo needs support for pixel format DXT5 in D3DXSaveSurfaceToFileInMemory
- #52553 Resource Hacker 5.1.8 fails to render tree view on left, shows white screen
- #55819 when alt+tab out and in again, the input no longer working
- #56073 Some Unity games don't receive keyboard input when using virtual desktop
- #57283 The Queen of Heart 99 SE : corrupted visuals on KO screen
- #57492 Players can't join Astroneer dedicated server with enabled encryption because BCryptExportKey encryption of key not yet supported
- #57665 The Medium game launcher has no background image
- #57738 Title of "Select Topic" window in hh.exe is not translatable
- #57951 Ultrakill: level 1-1 has invisible tree leaves on WINED3D, works fine on DXVK
- #57998 ClickOnce apps don't start after installing winetricks dotnet472
- #58057 Certificate import wizard does not give visual confirmation when a specific certificate store is selected
- #58061 [FL Studio] When holding CTRL to zoom in the playlist, it also scrolls vertically - possible regression
- #58066 Virtual desktop doesn't resize correctly (missing window border) when VD size = desktop size
### Changes since 10.5:
```
Akihiro Sagawa (1):
server: Fix the accumulation method when merging WM_MOUSEWHEEL message.
Alex Henrie (1):
cryptui: Copy localized name of selected store to textbox.
Alexander Morozov (1):
ntoskrnl.exe/tests: Fix a test failure on 32-bit Windows 7.
Alexandre Julliard (37):
winegcc: Set default section alignment to 64k on ARM64.
winegcc: Add a boolean flag for the -marm64x option.
winebuild: Align sections to 64k on ARM64.
ntdll: Move a bit more work into the open_builtin_so_file() helper function.
ntdll: Add a helper function to open the main image as .so file.
ntdll: Move some code around to group together all functions related to .so dlls.
ntdll: Don't build support for .so dlls on platforms that don't have them.
win32u: Implement NtGdiMakeFontDir().
gdi32/tests: Add a test for NtGdiMakeFontDir().
gdi32: Use NtGdiMakeFontDir() to implement CreateScalableFontResourceW().
win32u: Remove the __wine_get_file_outline_text_metric() syscall.
win32u: Implement NtUserGetProcessDefaultLayout().
win32u: Implement NtUserBeginDeferWindowPos().
win32u: Implement NtUserSetForegroundWindow().
win32u: Implement NtUserKillSystemTimer().
cng.sys: Use the native subsystem.
hidclass.sys: Use the native subsystem.
hidparse.sys: Use the native subsystem.
wmilib.sys: Use the native subsystem.
mouhid.sys: Remove unneeded spec file.
makefiles: Require .sys modules to use the native subsystem.
mmdevapi: Move the device GUID cache to the common code.
mmdevapi: Move the registry device name lookup to the common code.
mmdevapi: Move assigning a device GUID to the common code.
mmdevapi: Forward driver entry points to the loaded driver.
winmm: Always load mmdevapi as audio driver.
mmdevapi: Get rid of the Wine info device.
mmdevapi: Move the auxMessage() implementation to the common code.
mmdevapi: Unload the driver module on process detach.
mmdevapi: Allow audio drivers to defer MIDI support to a different driver.
mmdevapi: Move the DriverProc implementation to the common code.
mmdevapi: Move the mid/modMessage implementations to the common code.
mmdevapi: Merge mmdevdrv.h into mmdevapi_private.h.
makefiles: Make spec files optional for driver modules.
ntdll: Add a stub for NtCreateSectionEx().
kernelbase: Implement CreateFileMapping2().
cmd/tests: Fix the NUL device name.
Bernhard Übelacker (7):
ws2_32/tests: Add broken to test_WSAAddressToString.
propsys/tests: Add broken to test_PropVariantChangeType_R8.
psapi/tests: Add broken to test_GetModuleFileNameEx.
winhttp/tests: Add broken to test_redirect.
setupapi/tests: Add broken to test_SetupDiOpenDeviceInterface.
advapi32/tests: Avoid crash in test_LsaLookupNames2 by setting len to zero.
ntdll/tests: Make single step test succeed for 32-bit systems.
Brendan McGrath (1):
winegstreamer: Push flush event when flushing.
Byeong-Sik Jeon (9):
win32u: Preserve result string from multiple WINE_IME_POST_UPDATE calls during ImeProcessKey.
win32u: Support WM_IME_KEYDOWN message during ImeProcessKey.
imm32: Fix the WM_IME_COMPOSITION messages to be between the WM_IME_{START|END}COMPOSITION message.
winewayland: Use an empty string to clear the composition string.
win32u: Add more CompAttr, CompClause implementation using cursor_begin, cursor_end concept.
winewayland: Extend cursor_pos using cursor_begin, cursor_end.
winemac: Extend cursor_pos using cursor_begin, cursor_end.
winex11: Extend cursor_pos using cursor_begin, cursor_end.
winex11: Update only when caret pos changed in xic_preedit_caret.
Charlotte Pabst (2):
mfplat/tests: Add test for MF_XVP_PLAYBACK_MODE.
winegstreamer: Allow caller to allocate samples in MF_XVP_PLAYBACK_MODE.
Conor McCarthy (1):
server: Do not call setpriority() if it cannot be used safely.
Daniel Lehman (3):
oleaut32/tests: Test for bpp.
oleaut32/tests: Add some test bmps.
oleaut32: Handle more pixel formats in OleLoadPicture.
Daniel Martin (1):
activeds: Implement ADsBuildVarArrayInt.
Dmitry Timoshkov (8):
sane.ds: Fix DC leak.
sane.ds: Change return type of sane_categorize_value() to void.
sane.ds: Clarify how SANE mode names map to ICAP_PIXELTYPE values.
sane.ds: Use sizeof() instead of hard-coded values, avoid zero initializing local variables when not necessary.
bcrypt/tests: Add a test for exporting/importing AES wrapped blob with different key sizes.
bcrypt: Add support for exporting AES wrapped blob for a 256-bit key.
bcrypt: Add support for importing AES wrapped blob for a 256-bit key.
cryptext: Implement CryptExtOpenCER.
Elizabeth Figura (12):
user32/tests: Test messages when creating a visible modeless dialog.
wined3d: Partially move fog mode to wined3d_extra_ps_args.
wined3d: Move alpha test func to wined3d_extra_ps_args.
wined3d: Partially move texture index and transform flags to wined3d_extra_ps_args.
wined3d: Make ffp_vertex_update_clip_plane_constants() static.
wined3d: Feed clip planes through a push constant buffer.
wined3d: Add support for a layered DPB.
ddraw/tests: Test a stretched blit to self with overlap.
wined3d: Fix a bit of logic around identical fog start/end.
ws2_32/tests: Add tests for socket handle validity checks in send functions.
ntdll: Validate fd type in IOCTL_AFD_WINE_COMPLETE_ASYNC.
ws2_32: Allow using duplicated socket handles in WS2_sendto().
Eric Pouech (31):
cmd/tests: Add more lexer related tests.
cmd: Rely on node_builder to get lexer state.
cmd: Check command buffer instead of keeping whitespace state.
cmd: Factorize end-of-line conditions.
cmd: Handle directly commands til eol.
dbghelp: Fix line number when multiple entries have same offset.
dbghelp: Always reset all the fields for local scope enumeration.
dbghelp: Don't report local symbols when they are not present.
dbghelp: Use new pdb reader for DEFRANGE based local variables.
dbghelp: Introduce helper to query info from index.
cmd: Rewrite string handling in lexer.
cmd: Remove unneeded variable 'thisChar' in lexer.
cmd: Removed acceptCommand variable.
cmd: Remove lastWasRedirect variable in lexer.
cmd: Fix infinite loop in FOR /L.
dbghelp: Add SYMFLAG_NULL for out of scope local variables.
dbghelp: Rename ptr <> index conversion helpers.
dbghelp: Introduce an opaque type to store type of data & function.
dbghelp: Use opaque symref_t inside typedef symbol.
dbghelp: Introduce helpers to discrimate symref_t owner.
dbghelp: Now returning PDB basic types as a symref_t.
dbghelp: Advertize old PDB reader types into new reader.
dbghelp: Add method for search type by name.
dbghelp: Add enum_types debug-info method.
dbghelp: Move pointer type handle to PDB backend.
dbghelp: Move array type handling to PDB backend.
dbghelp: Move function signature type handling to PDB backend.
dbghelp: Move enumeration type to PDB backend.
dbghelp: Move UDT type handling to PDB backend.
dbghelp: No longer preload the types from PDB.
dbghelp: Optimize request to codeview types.
Esme Povirk (13):
comctl32: Implement MSAA events for header controls.
gdiplus: Implement path to region conversion without gdi32.
gdiplus/tests: Test rounding of region rectangles.
advapi32: Return success from TreeSetNamedSecurityInfoW.
comctl32: Implement MSAA events for listbox.
comctl32/tests: Test MSAA events for listbox.
comctl32/tests: Add more MSAA event tests for listbox.
gdiplus: Limit path rasterization to region bounding box.
comctl32: Implement MSAA events for listview controls.
comctl32/tests: Test listview MSAA events.
comctl32/tests: Add test for MSAA event on listview setview.
gdiplus: Rename a misleading variable.
gdiplus: Simplify rect region conversion to HRGN.
Etaash Mathamsetty (2):
winewayland.drv: Implement support for xdg-toplevel-icon.
winewayland: Implement relative motion accumulator.
Fabian Maurer (2):
gdiplus/tests: Add test for loading .ico.
gdiplus: Use correct format guid for .ico files.
Gabriel Ivăncescu (5):
mshtml: Don't expose "create" from Image constructor in IE9+ modes.
mshtml: Don't expose "create" from Option constructor in IE9+ modes.
mshtml: Use own window property for Image constructor.
mshtml: Use own window property for Option constructor.
mshtml: Use get_constructor in window's get_XMLHttpRequest.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.312.
Gerald Pfeifer (2):
ntdll: Fix build on platforms without getauxval.
winemaker: Account for FreeBSD.
Giovanni Mascellani (1):
dxgi/tests: Do not request a frame latency waitable on D3D10.
Hans Leidekker (1):
rsaenh/tests: Get rid of workarounds for old Windows versions.
Jacek Caban (1):
mshtml: Rename prototype_id to object_id.
Joachim Priesner (1):
msvcrt: Concurrency: Fix signed/unsigned comparison.
John Szakmeister (1):
ntdll: Correctly detect the NUL device under macOS.
Lorenzo Ferrillo (7):
kernelbase: Factor out common functionality for performance counter functions.
kernelbase: Add implementation of PerfSetULongCounterValue.
kernelbase: Add implementation for PerfSetULongLongCounterValue.
advapi32/tests: Create tests for PerfSetULongCounterValue.
advapi32/tests: Add test For PerfSetULongLongCounterValue.
kernelbase: Check for PERF_ATTRIB_BY_REFERENCE attribute in PerfSetCounterRefValue.
kernelbase: Check for PERF_SIZE_LARGE in PerfSetULongLongCounterValue and PerfSetULongCounterValue.
Marcus Meissner (1):
configure: Avoid problems with -Werror=return-type in check.
Matteo Bruni (2):
d3dx9/tests: Clean up D3DXSaveTextureToFileInMemory tests.
d3dxof/tests: Get rid of test_dump().
Nikolay Sivov (33):
windowscodecs/tests: Add some tests for initial metadata readers content.
windowscodecs/tests: Add more tests for the item id handling.
windowscodecs/tests: Add some tests for bKGD chunk.
windowscodecs/tests: Add line context to the metadata comparison helper.
windowscodecs/tests: Remove redundant string length check for VT_LPSTR metadata value.
windowscodecs/tests: Use wide-char literals in metadata tests.
msvcirt/tests: Fix buffer overrun with a terminating null (ASan).
uiautomationcore/tests: Fix use-after-free (ASan).
windowscodecs/tests: Add another test case for 4bps tiff.
windowscodecs/tiff: Fix stride value for 4bps RGBA.
propsys/tests: Add more tests for PropVariantToDouble().
propsys/tests: Add some tests for PropVariantChangeType(VT_R8).
propsys/tests: Use correct members to initialize PropVariantToDouble() test input.
propsys: Fix PropVariantToDouble() for float input.
propsys: Implement PropVariantChangeType(VT_R8).
windowscodecs/tests: Add a PNG encoder test with 64bppRGBA format.
windowscodecs/tests: Add some tests for metadata handlers component info.
windowscodecs/tests: Add some more tests for creating metadata readers.
windowscodecs/tests: Add some tests for GetMetadataHandlerInfo().
windowscodecs/metadatahandler: Remove unused internal vtable entries.
windowscodecs/metadata: Pass handler pointer to the loader implementation.
windowscodecs/metadata: Make it possible to populate default items at creation time.
windowscodecs/metadata: Create default item for the gAMA reader.
windowscodecs/metadata: Create default items for the cHRM handler.
windowscodecs/metadata: Create default item for the hIST handler.
windowscodecs/metadata: Create default items for the tIME handler.
windowscodecs/tests: Add more tests for initial reader contents.
windowscodecs/metadata: Add default item for the GifComment handler.
windowscodecs/metadata: Implement bKGD chunk reader.
dwrite: Implement GetFontSet() for collections.
windowscodecs/metadata: Add a stub for bKGD writer.
windowscodecs/metadata: Add a stub for tIME writer.
combase: Add a stub for SetRestrictedErrorInfo().
Paul Gofman (2):
ntdll: Do not mark first stack guard page as committed.
ntdll: Add some specifics for NtQueryInformationProcess( ProcessDebugObjectHandle ) parameters handling.
Piotr Caban (16):
conhost: Allow raster fonts.
conhost: Merge validate_font and validate_font_metric helpers.
conhost: Imrove best matching font selection in set_first_font.
conhost: Prioritize font charset when selecting initial font.
advapi32: Make username and domain match case insensite.
include: Add some PBKDF2 related definitions.
bcrypt: Fix BcryptDeriveKeyPBKDF2 with NULL salt.
bcrypt: Add PBKDF2 algorithm provider.
bcrypt: Handle PBKDF2 in BCryptGetProperty.
bcrypt: Handle PBKDF2 in BCryptGenerateSymmetricKey.
bcrypt: Reorganize hash_handle_from_desc helper so it can be reused.
bcrypt: Add BCryptKeyDerivation partial implementation (PBKDF2 algorithm).
include: Add _[w]dupenv_s declaration.
include: Add _aligned_msize() declaration.
include: Add wmemmove_s declaration.
msvcr100/tests: Link to msvcr100.
Rémi Bernon (36):
winemac: Get DC pixel format from winemac-internal objects.
winex11: Trace XReconfigureWMWindow requests mask.
winex11: Send _NET_WM_STATE requests to X root window.
winex11: Only set NET_WM_STATE_FULLSCREEN for the desktop.
user32/tests: Add more SW_SHOWNA / SetFocus tests.
win32u: Set window foreground when setting focus.
kernel32/tests: Use the public PROCESS_BASIC_INFORMATION definition.
ntdll/tests: Use the public PROCESS_BASIC_INFORMATION definition.
winex11: Avoid sending WM_MOUSEACTIVATE on WM_TAKE_FOCUS.
winemac: Avoid sending WM_MOUSEACTIVATE on WM_TAKE_FOCUS.
explorer: Paint the desktop even without RDW_ERASE.
winex11: Avoid setting RDW_ERASE on expose events.
dbghelp/tests: Remove now succeeding todo_wine.
psapi/tests: Remove now succeeding todo_wine.
cfgmgr32/tests: Add Windows 7 broken result.
activeds: Use VT_I4 instead of VT_UI4.
inetmib1/tests: Avoid printing large number of failures on macOS.
kernel32/tests: Avoid printing large number of failures on macOS.
dbghelp/tests: Remove now succeeding todo_wine.
win32u: Handle some pixel format initialization.
opengl32/tests: Avoid leaking contexts.
opengl32/tests: Add more WGL_ARB_pbuffer tests.
opengl32/tests: Add more WGL_ARB_render_texture tests.
win32u: Introduce a generic pbuffer implementation from winex11.
winewayland: Use the generic pbuffer implementation.
winemac: Use the generic pbuffer implementation.
win32u: Add a nulldrv pbuffer stub implementation.
win32u: Introduce opengl_driver_funcs for memory DCs.
win32u: Pass pixel format to osmesa_create_context.
win32u: Implement generic context functions.
win32u: Check the DC internal pixel formats against the context format.
wineandroid: Use the generic context functions.
winemac: Use the generic context functions.
winewayland: Use the generic context functions.
winex11: Use the generic context functions.
win32u: Add nulldrv context functions.
Santino Mazza (5):
amstream: Implement IMemAllocator stub for ddraw stream.
amstream/tests: Test for custom allocator in ddraw stream.
amstream: Implement custom allocator for ddraw stream.
amstream/tests: Test for dynamic formats in ddraw stream.
amstream: Implement dynamic formats in ddraw stream.
Sebastian Lackner (1):
user32: Call UpdateWindow() after showing a dialog.
Stefan Dösinger (1):
odbc32: Call the driver's SQLGetInfoW after a->w conversion.
Sven Baars (8):
win32u: Fix a string leak (Valgrind).
ntdll/tests: Fix a leak on error path (Coverity).
ntdll/tests: Fix a string leak (Valgrind).
ntdll: Empty the atom table before destroying it (Valgrind).
ntdll/tests: Fix some string leaks (Valgrind).
ntdll/tests: Don't trace invalid pointers (Valgrind).
ntdll/tests: Fix some uninitialized variable warnings (Valgrind).
ntdll: Avoid evaluating a possibly uninitialized variable in RtlExpandEnvironmentStrings(). (Valgrind).
Tim Clem (1):
winemac.drv: Only send key down events to the window's inputContext.
Tobias Gruetzmacher (4):
wininet: Handle HTTP status code 308 (Permanent Redirect).
winhttp: Handle HTTP status code 308 (Permanent Redirect).
urlmon: Handle HTTP status code 308 (Permanent Redirect).
rsaenh: Ignore reserved field in import_key.
Vibhav Pant (10):
winebth.sys: Fix use-after-free in dispatch_auth (Coverity).
winebth.sys: Broadcast PnP event after updating properties for remote devices.
winebth.sys: Broadcast PnP event when remote devices are removed/lost.
winebth.sys: Broadcast GUID_BLUETOOTH_RADIO_IN_RANGE events for newly discovered remote devices as well.
ws2_32/tests: Allow socket() for Bluetooth RFCOMM sockets to fail with WSAEPROTONOSUPPORT.
winebth.sys: Implement IOCTL_BTH_DISCONNECT_DEVICE.
winebth.sys: Implement IOCTL_WINEBTH_RADIO_REMOVE_DEVICE.
bluetoothapis: Add stub for BluetoothRemoveDevice.
bluetoothapis: Implement BluetoothRemoveDevice.
bluetoothapis/tests: Add tests for BluetoothRemoveDevice.
Yuri Hérouard (1):
wined3d: Use temporary buffer when stretching a surface to itself with cpu blit.
Zhiyi Zhang (7):
user32/tests: Properly test ShowWindow(SW_MAXIMIZE) regarding WS_CAPTION.
win32u: Fix incorrect work area for maximized windows.
user32/tests: Add more window placement maximized position tests.
win32u: Check against the monitor work area in update_maximized_pos().
win32u: Use a more fitting name for a helper function.
win32u: Properly scale monitor work area when emulate_modeset is enabled.
win32u: Support windows spanning multiple monitors in map_window_rects_virt_to_raw().
Ziqing Hui (6):
shell32/tests: Add more tests to test_rename.
shell32/tests: Test NULL and empty file name for SHFileOperation.
shell32/tests: Avoid showing UI when testing.
shell32: Rework add_file_entry, add more parameters.
shell32: Don't parse wildcard for rename operation.
shell32: Rework rename_files.
```
The Wine stable release 9.0.1 is now available.
What's new in this release:
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.0/wine-9.0.1.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.0.1/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.0.1 (total 74):
- #25207 SHFileOperation does not create new directory on FO_MOVE
- #33050 FDM (Free Download Manager) crashes with page fault when any remote FTP directory opened
- #44863 Performance regression in Prince of Persia 3D
- #46070 Basemark Web 3.0 Desktop Launcher crashes
- #46074 Visio 2013 crashes with unimplemented function msvcr100.dll.??0_ReaderWriterLock@details@Concurrency@@QAE@XZ
- #48110 Multiple .NET 4.x applications need TaskService::ConnectedUser property (Toad for MySQL Freeware 7.x, Microsoft Toolkit from MS Office 2013)
- #49089 nProtect Anti-Virus/Spyware 4.0 'tkpl2k64.sys' crashes on unimplemented function 'fltmgr.sys.FltBuildDefaultSecurityDescriptor'
- #49703 Ghost Recon fails to start
- #49877 Minecraft Education Edition shows error during install: Fails to create scheduled task
- #51285 The bmpcoreimage test in user32:cursoricon fails on most Windows versions
- #51599 cmd.exe incorrectly parses an all-whitespace line followed by a closing parenthesis
- #51813 python fatal error redirecting stdout to file
- #51957 Program started via HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths should also be started if extension ".exe" is missing
- #52399 SIMATIC WinCC V15.1 Runtime installer: SeCon tool fails with error 5 while trying to create 'C:\\windows\Security\\SecurityController' (needs '%windir%\\security')
- #52622 windows-rs 'lib' test crashes on unimplemented function d3dcompiler_47.dll.D3DCreateLinker
- #52879 ESET SysInspector 1.4.2.0 crashes on unimplemented function wevtapi.dll.EvtCreateRenderContext
- #53934 __unDName fails to demangle a name
- #54759 Notepad++: slider of vertical scrollbar is too small for long files
- #55000 wineserver crashes below save_all_subkeys after RegUnLoadKey
- #55268 user32:cursoricon - LoadImageA() fails in test_monochrome_icon() on Windows 8+
- #55282 Flutter SDK can't find "aapt" program (where.exe is a stub)
- #55421 Fallout Tactics launcher has graphics glitches
- #55619 VOCALOID AI Shared Editor v.6.1.0 crashes with System.Management.ManagementObject object construction
- #55724 mfmediaengine:mfmediaengine sometimes gets a threadpool assertion in Wine
- #55765 The 32-bit d2d1:d2d1 frequently crashes on the GitLab CI
- #55810 Finding Nemo (Steam): window borders gone missing (virtual desktop)
- #55876 Acrom Controller Updater broken due to oleaut32 install
- #55883 SpeedWave can't draw Window, needs oleaut32.OleLoadPictureFile().
- #55897 cpython 3.12.0 crashes due to unimplemented CopyFile2
- #55945 KakaoTalk crashes when opening certain profiles after calling GdipDrawImageFX stub
- #55997 Dolphin Emulator crashes from 5.0-17264
- #56054 Microsoft Safety Scanner crashes on exit on unimplemented function tbs.dll.GetDeviceIDString
- #56062 unimplemented function mgmtapi.dll.SnmpMgrOpen
- #56078 LibreOffice 7.6.4 crashes on unimplemented function msvcp140_2.dll.__std_smf_hypot3
- #56093 msys/pacman: fails with "fixup_mmaps_after_fork: VirtualQueryEx failed"
- #56122 LANCommander won't start, prints "error code 0x8007046C" (ERROR_MAPPED_ALIGNMENT)
- #56133 explorer.exe: Font leak when painting
- #56135 Dictionnaire Hachette Multimédia Encyclopédique 98 crashes on start
- #56139 scrrun: Dictionary does not allow storing at key Undefined
- #56168 dbghelp hits assertion in stabs_pts_read_type_def
- #56174 Forza Horizon 4 crashes with concrt140.dll.?_Confirm_cancel@_Cancellation_beacon@details@Concurrency@@QEAA_NXZ
- #56195 Device name inconsistent casing between GetRawInputDeviceInfo and PnP
- #56223 winedbg: crashes after loading gecko debug information
- #56235 Windows Sysinternals Process Explorer 17.05 crashes showing Threads property page.
- #56243 ShowSystray registry key was removed without alternative
- #56244 SplashTop RMM client for Atera crashes on unimplemented function shcore.dll.RegisterScaleChangeNotifications
- #56256 Windows Sysinternals Process Explorer 17.05 shows incomplete user interface (32-bit).
- #56265 Epic Games Launcher 15.21.0 calls unimplemented function cfgmgr32.dll.CM_Get_Device_Interface_PropertyW
- #56271 Free Download Manager no longer works after it updated (stuck at 100% CPU, no visible window)
- #56309 Across Lite doesn't show the letters properly when typing
- #56334 Page fault when querying dinput8_a_EnumDevices
- #56357 Zero sized writes using WriteProcessMemory succeed on Windows, but fail on Wine.
- #56361 Geovision Parashara's Light (PL9.exe) still crashes in wine
- #56367 Tomb Raider 3 GOG crashes at start
- #56369 Advanced IP Scanner crashes on unimplemented function netapi32.dll.NetRemoteTOD
- #56372 musl based exp2() gives very inaccurate results on i686
- #56400 SSPI authentication does not work when connecting to sql server
- #56434 WScript.Network does not implement UserName, ComputerName, and UserDomain properties
- #56493 PresentationFontCache.exe crashes during .Net 3.51 SP1 installation
- #56498 Incorrect substring expansion for magic variables
- #56503 CryptStringToBinary doesn't adds CR before pad bytes in some cases
- #56554 ON1 photo raw installs but wont run the application
- #56579 Setupapi fails to read correct class GUID and name from INF file containing %strkey% tokens
- #56582 vb3 combobox regression: single click scrolls twice
- #56598 Calling [vararg] method via ITypeLib without arguments via IDispatch fails
- #56599 HWMonitor 1.53 needs unimplemented function pdh.dll.PdhConnectMachineA
- #56609 vcrun2008 fails to install
- #56653 GetLogicalProcessorInformation can be missing Cache information
- #56666 BExAnalyzer from SAP 7.30 does not work correctly
- #56730 Access violation in riched20.dll when running EditPad
- #56755 White textures in EverQuest (Unsupported Conversion in windowscodec/convert.c)
- #56763 Firefox 126.0.1 crashes on startup
- #56781 srcrrun: Dictionary setting item to object fails
- #56871 The 32-bit wpcap program is working abnormally
### Changes since 9.0:
```
Alex Henrie (10):
tbs: Add GetDeviceIDString stub.
include: Add mgmtapi.h and LPSNMP_MGR_SESSION.
mgmtapi: AddSnmpMgrOpen stub.
msvcp140_2: Implement __std_smf_hypot3.
where: Implement search with default options.
explorer: Fix font handle leaks in virtual desktop.
pdh: Add PdhConnectMachineA stub.
ntdll/tests: Delete the WineTest registry key when the tests finish.
ntdll/tests: Rewrite the RtlQueryRegistryValues tests and add more of them.
ntdll: Succeed in RtlQueryRegistryValues on direct query of nonexistent value.
Alexandre Julliard (16):
configure: Add /usr/share/pkgconfig to the pkg-config path.
winsta: Start time is an input parameter in WinStationGetProcessSid.
oleaut32: Fix IDispatch::Invoke for vararg functions with empty varargs.
ntdll: Add default values for cache parameters.
secur32/tests: Update count for new winehq.org certificate.
gitlab: Add 'build' tag on Linux build jobs.
gitlab: Remove make -j options.
dnsapi/tests: Update tests for winehq.org DNS changes.
urlmon/tests: Fix a test that fails after WineHQ updates.
wininet/tests: Update issuer check for winehq.org certificate.
urlmon/tests: Skip test if ftp connection fails.
user32/tests: Fix some sysparams results on recent Windows.
dnsapi/tests: Update DNS names for the new test.winehq.org server.
wininet/tests: Update certificate for the new test.winehq.org server.
secur32/tests: Update expected results for the new test.winehq.org server.
winhttp/tests: Allow some more notifications for the new test.winehq.org server.
Alistair Leslie-Hughes (3):
fltmgr.sys: Implement FltBuildDefaultSecurityDescriptor.
fltmgr.sys: Create import library.
ntoskrnl/tests: Add FltBuildDefaultSecurityDescriptor test.
Andrew Nguyen (2):
oleaut32: Bump version resource to Windows 10.
ddraw: Reserve extra space in the reference device description buffer.
Bartosz Kosiorek (2):
gdiplus/tests: Add GdipDrawImageFX tests except effects or attributes.
gdiplus: Partially implement GdipDrawImageFX.
Benjamin Mayes (1):
windowscodecs: Add conversions from PixelFormat32bppBGRA->PixelFormat16bppBGRA5551.
Bernhard Übelacker (10):
server: Avoid unloading of HKU .Default registry branch.
server: Allow VirtualQueryEx on "limited" handle.
wing32: Add tests.
wing32: Avoid crash in WinGGetDIBPointer when called with NULL bitmap info.
dbghelp: Return early if HeapAlloc failed.
ntdll: Fix structure layout in RtlQueryProcessDebugInformation for 64-bit.
wininet: Add missing assignment of return value.
wininet: Avoid crash in InternetCreateUrl with scheme unknown.
cmd: Handle lines with just spaces in bracket blocks.
cmd: Avoid execution if block misses closing brackets.
Dmitry Timoshkov (4):
oleaut32: Do not reimplement OleLoadPicture in OleLoadPicturePath.
oleaut32: Factor out stream creation from OleLoadPicturePath.
oleaut32: Implement OleLoadPictureFile.
kerberos: Allocate memory for the output token if requested.
Eric Pouech (4):
dbghelp: Support redefinition of a range statement.
server: Allow 0-write length in WriteProcessMemory().
cmd: Add test for substring handling in 'magic' variable expansion.
cmd: Fix substring expansion for 'magic' variables.
Esme Povirk (1):
gdiplus: Prefer Tahoma for generic sans serif font.
Fabian Maurer (11):
win32u: Factor out scroll timer handling.
win32u: Only set scroll timer if it's not running.
oleaut32: Add test for invoking a dispatch get-only property with DISPATCH_PROPERTYPUT.
oleaut32: Handle cases where invoking a get-only property with INVOKE_PROPERTYPUT returns DISP_E_BADPARAMCOUNT.
riched20: In para_set_fmt protect against out of bound cTabStop values.
mmdevapi/tests: Add tests for IAudioSessionControl2 GetDisplayName / SetDisplayName.
mmdevapi/tests: Add tests for IAudioSessionControl2 GetIconPath / SetIconPath.
mmdevapi/tests: Add tests for IAudioSessionControl2 GetGroupingParam / SetGroupingParam.
mmdevapi: Implement IAudioSessionControl2 GetDisplayName / SetDisplayName.
mmdevapi: Implement IAudioSessionControl2 GetIconPath / SetIconPath.
mmdevapi: Implement IAudioSessionControl2 GetGroupingParam SetGroupingParam.
Felix Münchhalfen (2):
ntdll: Use pagesize alignment if MEM_REPLACE_PLACEHOLDER is set in flags of NtMapViewOfSection(Ex).
kernelbase/tests: Add a test for MapViewOfFile3 with MEM_REPLACE_PLACEHOLDER.
Hans Leidekker (13):
wbemprox: Protect tables with a critical section.
wbemprox: Handle implicit property in object path.
netprofm: Support NLM_ENUM_NETWORK flags.
netprofm: Set return pointer to NULL in networks_enum_Next().
msi: Install global assemblies before running deferred custom actions.
msi: Install global assemblies after install custom actions and before commit custom actions.
wpcap: Handle different layout of the native packet header structure on 32-bit.
winhttp/tests: Fix test failures introduced by the server upgrade.
secur32: Handle GNUTLS_MAC_AEAD.
secur32/tests: Switch to TLS 1.2 for connections to test.winehq.org.
secur32/tests: Mark some test results as broken on old Windows versions.
crypt32/tests: Fix a test failure.
wbemprox: Use separate critical sections for tables and table list.
Helix Graziani (1):
cfgmgr32: Add CM_Get_Device_Interface_PropertyW stub.
Jinoh Kang (4):
include: Add definition for FILE_STAT_INFORMATION.
ntdll/tests: Add tests for NtQueryInformationFile FileStatInformation.
ntdll: Implement NtQueryInformationFile FileStatInformation.
kernelbase: Replace FileAllInformation with FileStatInformation in GetFileInformationByHandle().
Kartavya Vashishtha (1):
kernelbase: Implement CopyFile2().
Louis Lenders (3):
shcore: Add stub for RegisterScaleChangeNotifications.
shell32: Try appending .exe when looking up an App Paths key.
wmic: Support interactive mode and piped commands.
Martin Storsjö (1):
musl: Fix limiting the float precision in intermediates.
Michael Stefaniuc (2):
gitlab: Do not run the build script on each commit.
tools: Get the ANNOUNCE bug list from the stable-notes git notes.
Nicholas Tay (1):
win32u: Preserve rawinput device instance ID case in add_device().
Nikolay Sivov (10):
scrrun/dictionary: Add support for hashing VT_EMPTY keys.
scrrun/dictionary: Add support for hashing VT_NULL keys.
scrrun/dictionary: Handle VT_EMPTY/VT_NULL keys.
wshom/network: Use TRACE() for implemented method.
wshom/network: Implement GetTypeInfo().
wshom/network: Implement ComputerName() property.
wshom/network: Check pointer argument in get_UserName().
wshom/network: Implement UserDomain property.
d2d1: Fix a double free on error path (Valgrind).
scrrun/dictionary: Implement putref_Item() method.
Paul Gofman (5):
explorer: Don't pop start menu on "minimize all windows" systray command.
explorer: Don't pop start menu on "undo minimize all windows" systray command.
winhttp: Always return result at once if available in WinHttpQueryDataAvailable().
winhttp: Always return result at once if available in WinHttpReadData().
kernel32/tests: Add tests for critical section debug info presence.
Peter Johnson (1):
wined3d: Added missing GTX 3080 & 1070M.
Piotr Caban (5):
msvcp140_2: Fix i386 export names.
msvcp140_2: Implement __std_smf_hypot3f.
msvcp140_t/tests: Add __std_smf_hypot3 tests.
concrt140: Add _Cancellation_beacon::_Confirm_cancel() implementation.
msvcrt: Store _unDName function parameter backreferences in parsed_symbol structure.
Roland Häder (1):
wined3d: Added missing GTX 1650.
Rémi Bernon (9):
dinput/tests: Add some IRawGameController2 interface tests.
windows.gaming.input: Stub IRawGameController2 interface.
explorer: Restore a per-desktop ShowSystray registry setting.
secur32/tests: Update the tests to expect HTTP/2 headers.
imm32/tests: Add todo_himc to some ImmTranslateMessage expected calls.
urlmon/tests: Expect "Upgrade, Keep-Alive" connection string.
user32/tests: Add flaky_wine to some SetActiveWindow tests.
wininet: Parse multi-token Connection strings for Keep-Alive.
user32/tests: Fix cursoricon tests on recent Windows versions.
Sam Joan Roque-Worcel (1):
win32u: Make SCROLL_MIN_THUMB larger.
Santino Mazza (1):
crypt32: Fix CryptBinaryToString not adding a separator.
Tim Clem (1):
gitlab: Update configuration for the new Mac runner.
Tuomas Räsänen (2):
setupapi/tests: Add tests for reading INF class with %strkey% tokens.
setupapi: Use INF parser to read class GUID and class name.
Vijay Kiran Kamuju (10):
msvcr100: Add _ReaderWriterLock constructor implementation.
wine.inf: Create security directory.
concrt140: Add stub for _Cancellation_beacon::_Confirm_cancel().
taskschd: Implement ITaskService_get_ConnectedUser.
taskschd: Return success from Principal_put_RunLevel.
taskschd: Implement TaskService_get_ConnectedDomain.
d3dcompiler: Add D3DCreateLinker stub.
netapi32: Add NetRemoteTOD stub.
mscms: Add stub for WcsGetDefaultColorProfile.
wevtapi: Add stub EvtCreateRenderContext().
Zebediah Figura (4):
shell32/tests: Remove obsolete workarounds from test_move().
ddraw: Use system memory for version 4 vertex buffers.
ddraw: Upload only the used range of indices in d3d_device7_DrawIndexedPrimitive().
ddraw/tests: Test GetVertexBufferDesc().
Zhenbo Li (1):
shell32: Create nonexistent destination directories in FO_MOVE.
Zhiyi Zhang (6):
include: Rename DF_WINE_CREATE_DESKTOP to DF_WINE_VIRTUAL_DESKTOP.
server: Inherit internal desktop flags when creating desktops.
rtworkq: Avoid closing a thread pool object while its callbacks are running.
rtworkq: Avoid possible scenarios that an async callback could be called twice.
user32/tests: Add some ReleaseCapture() tests.
win32u: Only send mouse input in ReleaseCapture() when a window is captured.
```
The Wine development release 10.5 is now available.
What's new in this release:
- Support for larger page sizes on ARM64.
- Mono engine updated to version 10.0.0.
- Pairing support in the Bluetooth driver.
- Vulkan H.264 decoding.
- %GS register swapping on macOS.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.5.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.5/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.5 (total 22):
- #2155 Failure of SetFocus, SetActiveWindow and SetForegroundWindow
- #52715 wine segfaults on asahi linux due to 16k pages (apple M1 hardware, linux kernel/userland)
- #56377 Microsoft Edge freezes almost immediately after launching
- #56479 Shrift 2 Translation Patch 1.3Gamev2.07: could not load file or assembly. access denied.
- #56837 Bad file pointer after a file write in appending mode
- #57010 Pantheon - error during installation
- #57406 Brothers - A Tale of Two Sons launcher fails to launch
- #57784 Video modes are broken
- #57919 Rally Trophy: Keyboard key is not configurable anymore, regression
- #57920 Rally Trophy: Input device configuration doesn't show mapped keys anymore, regression
- #57940 ntoskrnl.exe tests can trigger BSOD
- #57948 Listview / LVM_GETORIGIN returns wrong coordinates
- #57973 Listbox selected items are rendered even with LBS_NOSEL
- #57987 The Queen of Heart 99 SE : Config.exe crashes just before saving and quitting
- #57996 PS Core installer crashes (regression)
- #58006 winegcc seg-faults in wine 10.4
- #58008 wine-10.4 hangs on macOS (Rosetta 2)
- #58022 mscoree:comtest and mscoree:mscoree fail
- #58024 Listview does not handle WM_VSCROLL(SB_BOTTOM)
- #58038 Keyboard input lost after alt-tabbing in virtual desktop
- #58050 Game Controllers panel crashes on exit
- #58052 TipTap launcher for OverField crashes: Call to unimplemented function USER32.dll.IsTopLevelWindow
### Changes since 10.4:
```
Alex Henrie (4):
ntdll: Correct NtAllocateReserveObject arguments in specfile.
ntdll: Implement querying StorageDeviceProperty for optical discs.
cryptui: Use wide character string literal for L"".
shell32/tests: Use wide character string literals.
Alexandre Julliard (48):
winegcc: Store the output name in a global variable.
winegcc: Use -nostdlib for MSVC builds.
winegcc: Always add strip flag to the linker args explicitly.
winegcc: Validate the target option after all arguments have been handled.
winegcc: Always pass the -x option through the files list.
winegcc: Store the linking options in global variables.
winegcc: Store the files arguments in a global variable.
ntdll: Limit the header mapping size to the size of the file.
ntdll: Don't use private writable mappings on macOS.
ntdll: Retrieve the host page size on the Unix side on ARM64.
ntdll: Align virtual memory allocations to the host page size.
ntdll: Align virtual memory deallocations to the host page size.
ntdll: Apply virtual page protections to the entire host page.
ntdll: Align file mappings to the host page size.
ntdll: Align stack guard pages to the host page size.
ntdll: Align to the host page size when calling mlock/munlock/msync.
server: Support the host page size being different from the Windows page size.
widl: Preserve pragma pack() statements in header files.
widl: Use pragma pack in generated files.
include: Use pragma pack in idl files.
ntdll: Round the size of the .so NT header to the file alignment.
winegcc: Don't forward -v to the compiler by default.
winegcc: Only pass explicit linker arguments with -print-libgcc-file-name.
winegcc: Set the entry point option in get_link_args().
winegcc: Add a helper function to read options from a file.
include: Move InitializeObjectAttributes definition to ntdef.h.
ntdll: Use the InitializeObjectAttributes macro in more places.
ntdll/tests: Use the InitializeObjectAttributes macro in more places.
kernelbase: Use the InitializeObjectAttributes macro in more places.
wine.inf: Add list of known dlls.
wineboot: Fetch the list of supported machines once at startup.
wineboot: Create section objects for known dlls.
advapi32: Delay import cryptsp.
comctl32: Delay import oleacc.
comdlg32: Delay import winspool
gdiplus: Delay import mlang.
imagehlp: Delay import dbghelp.
wldap32: Delay import some libraries.
ntdll: Only enable redirection around the calls that access the file system.
ntdll: Add a helper to build an NT name from the system directory.
ntdll: Try to open dll mappings from the KnownDlls directory first.
ntdll: Only check HAVE_PTHREAD_TEB when setting %fs on Linux.
wineps.drv: Delay import winspool.
kernelbase: Redirect system32 paths manually for delayed file moves.
setupapi: Don't print an error when failing to replace a native dll.
setupapi: Delay fake dll installation until reboot for files in use.
makefiles: Handle the makefile disable flags directly in configure.
makefiles: Skip building some programs that are only useful for the host architecture.
Alfred Agrell (1):
server: Fall back to epoll_wait if epoll_pwait2 doesn't work.
Anders Kjersem (1):
setupapi: Don't add backslash on empty folder.
André Zwing (2):
bluetoothapis/tests: Don't test function directly when reporting GetLastError().
kernel32/tests: Don't test function directly when reporting GetLastError().
Attila Fidan (1):
winewayland: Don't use a destroyed surface in text input.
Bartosz Kosiorek (4):
gdiplus/test: Add GdipReversePath test for Path Pie.
gdiplus: Fix GdipReversePath for mixed Bezier and Line points in subpath.
gdiplus/tests: Add tests for GdipGetPathWorldBounds with single point.
gdiplus: Add single point support for GdipGetPathWorldBounds.
Bernhard Übelacker (1):
joy.cpl: Set devnotify to NULL after it got unregistered (ASan).
Brendan McGrath (5):
mfplat/tests: Fix crash in MFShutdown on Windows.
mfplat/tests: Fix leak of media events.
mfplat/tests: Fix leak of media source.
winegstreamer: Allow NULL for time_format.
mfsrcsnk: Allow NULL for time_format.
Brendan Shanks (6):
ntdll: Remove ugly fallback method for getting a thread's GSBASE on macOS.
ntdll: Ensure init_handler runs in signal handlers before any compiler-generated memset calls.
ntdll: Don't access the TEB through %gs when using the kernel stack in x86_64 syscall dispatcher.
ntdll: Set %rsp to be inside syscall_frame before accessing %gs in x86_64 syscall dispatcher.
ntdll: On macOS x86_64, swap GSBASE between the TEB and macOS TSD when entering/leaving PE code.
ntdll: Remove x86_64 Mac-specific TEB access workarounds that are no longer needed.
Connor McAdams (5):
d3dx9/tests: Add a test for reading back a texture saved as D3DXIFF_JPG.
d3dx9/tests: Add more tests for saving textures to DDS files.
d3dx9: Add support for saving IDirect3DTexture9 textures to DDS files in D3DXSaveTextureToFileInMemory().
d3dx9: Add support for saving IDirect3DCubeTexture9 textures to DDS files in D3DXSaveTextureToFileInMemory().
d3dx9: Add support for saving IDirect3DVolumeTexture9 textures to DDS files in D3DXSaveTextureToFileInMemory().
Dmitry Timoshkov (1):
bcrypt/tests: Add some tests for export/import of BCRYPT_AES_WRAP_KEY_BLOB.
Elizabeth Figura (18):
wined3d: Feed fog constants through a push constant buffer.
wined3d: Introduce a separate wined3d_extra_ps_args state for point sprite enable.
wined3d/glsl: Move legacy shade mode to shader_glsl_apply_draw_state().
wined3d: Partially move shade mode to wined3d_extra_ps_args.
kernel32/tests: Add more tests for orphaned console handles.
server: Fail to create an unbound input/output when there is no console.
server: Use a list of screen buffers per console.
server: Allow waiting on an orphaned screen buffer.
server: Track unbound input signaled state based on its original console.
server: Track unbound output signaled state based on its original console.
d3d11: Plumb SubmitDecoderBuffers() through wined3d.
wined3d: Create and submit video decode command buffers.
wined3d: Call vkQueueSubmit() if there are semaphores.
wined3d: Add a "next" pointer to wined3d_context_vk_create_image().
wined3d: Implement Vulkan H.264 decoding.
d3d11/tests: Add tests for H.264 decoding.
wined3d: Invert gl_FragCoord w.
wined3d: Use VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV_READ_FORMAT_UNKNOWN if possible.
Eric Pouech (11):
dbghelp: Fix order of non-commutative binary op:s in PDB/FPO unwinder.
dbghelp: Introduce new PDB reader, use it for unwinding FPO frames.
dbghelp: Don't keep PDB files mapped after parsing is done.
dbghelp: Introduce a vtable per module_format.
dbghelp: Rename struct internal_line into lineinfo.
dbghelp: Always copy the source file string.
dbghelp: Introduce interface for line info access.
dbghelp: Introduce method to get next/prev line information.
dbghelp: Introduce method to enumerate line numbers.
dbghelp: Add method to enumerate source files.
dbghelp: No longer store line information from old PDB reader.
Eric Tian (1):
gdiplus: Avoid storing NULL in gdip_font_link_section.
Esme Povirk (9):
comctl32: Implement EVENT_OBJECT_VALUECHANGE for edit controls.
comctl32/tests: Test MSAA events for edit controls.
mscoree: Update Wine Mono to 10.0.0.
win32u: Implement EVENT_OBJECT_NAMECHANGE.
comctl32/tests: Add test for SysLink accDoDefaultAction.
comctl32: Implement accDoDefaultAction for SysLink controls.
comctl32/tests: Test accLocation values on SysLink control.
comctl32/tests: Test SetWindowText and LM_GETITEM for SysLink.
comctl32/tests: Test MSAA events for SysLink.
Francisco Casas (1):
d2d1: Add [loop] attribute in sample_gradient() shader function.
Gabriel Ivăncescu (8):
mshtml: Keep the link from the inner window to the outer window even when detached.
jscript: Obtain the jsdisp for host objects in other contexts.
mshtml: Make sure manually created document dispex info is initialized in IE9+ modes.
mshtml: Release the node if there's no script global when handling events.
jscript: Get rid of the funcprot argument.
mshtml: Don't mess with the outer window if we're already detached.
jscript: Don't leak when popping (u)int values off the stack.
jscript: Don't leak when return value of host constructor is not used.
Hans Leidekker (7):
adsldp/tests: Fix test failures.
wbemprox: Get rid of unused imports.
wbemprox: Get rid of the per-table lock.
bcrypt: Make secret parameter to create_symmetric_key()/generate_symmetric_key() const.
bcrypt: Only print a fixme if a vector has been set.
bcrypt: Add support for BCRYPT_AES_WRAP_KEY_BLOB in BCryptExportKey().
bcrypt: Add support for BCRYPT_AES_WRAP_KEY_BLOB in BCryptImportKey().
Kevin Martinez (2):
shell32: Added stub for IEnumObjects interface.
shell32: Added stub for IObjectCollection interface.
Kostin Mikhail (1):
regsvr32: Ignore obsolete flag /c.
Louis Lenders (3):
win32u: Add stub for NtUserSetAdditionalForegroundBoostProcesses.
powrprof: Add stub for PowerRegisterForEffectivePowerModeNotifications.
dwmapi: Do not prefer native dll.
Marc-Aurel Zent (5):
server: Implement ThreadPriority class in NtSetInformationThread.
server: Move last thread information to get_thread_info flags.
server: Return the correct base/actual thread priorities.
kernelbase: Use ProcessPriorityClass info class in GetPriorityClass.
server: Return the correct base/actual process priority.
Nikolay Sivov (13):
user32/tests: Add some tests for current selection with LBS_NOSEL.
comctl32/tests: Add some tests for current selection with LBS_NOSEL.
user32/listbox: Do not paint item selection with LBS_NOSEL.
comctl32/listbox: Do not paint item selection with LBS_NOSEL.
libtiff: Provide zlib allocation functions.
windowscodecs/metadata: Always initialize handler pointer.
windowscodecs/jpeg: Add support for App1 metadata blocks in the decoder.
windowscodecs/tests: Add some tests for the App0 reader.
comctl32/listview: Handle WM_VSCROLL(SB_BOTTOM).
windowscodecs/converter: Implement BW -> 24BGR conversion.
windowscodecs/converter: Implement 48bppRGB -> 128bppRGBFloat conversion.
wmphoto: Use CRT allocation functions.
d3d10/effect: Fix constant buffer overrun when updating expression constants (ASan).
Paul Gofman (11):
wintrust: Don't set desktop window when initializing provider data.
kernel32/tests: Add tests for known dlls load specifics.
ntdll/tests: Fix a test failure on Windows wow64.
msvcp140: Implement codecvt_char16 ctors and dtor.
msvcp140: Implement codecvt_char16_do_out().
msvcp140: Implement codecvt_char16_do_in().
msvcp: Fix output size check in codecvt_wchar_do_out().
setupapi/tests: Add a test for SetupDiOpenDeviceInterface().
cfgmgr32: Implement CM_Get_Device_Interface_List[_Size][_Ex]W().
cfgmgr32: Implement CM_Get_Device_Interface_List[_Size][_Ex]A().
cfgmgr32: Implement CM_Get_Device_Interface_PropertyW() for DEVPKEY_Device_InstanceId.
Piotr Caban (1):
msvcrt: Update file position in _flsbuf() in append mode.
Robert Lippmann (1):
server: Use INOTIFY_CFLAGS.
Rémi Bernon (54):
winex11: Use the current state when deciding how to reply to WM_TAKE_FOCUS.
winex11: Use the state tracker for the desktop window _NET_WM_STATE.
opengl32: Remove unused type parameter.
opengl32: Remove unnecessary interlocked exchange.
opengl32: Use an explicit GLsync pointer in the union.
opengl32: Introduce an opengl_context_from_handle helper.
opengl32: Introduce a wgl_pbuffer_from_handle helper.
winex11: Introduce a new handle_state_change helper.
winex11: Track _NET_ACTIVE_WINDOW property changes.
dinput/tests: Load cfgmgr32 dynamically.
dinput/tests: Add more EnumDevicesBySemantics tests.
dinput: Fix EnumDeviceBySemantics user checks.
dinput: Fix keyboard / mouse semantics matching.
dinput: Only load mappings that have not yet been set.
dinput: Avoid overriding app-configured action map controls.
winex11: Get rid of now unnecessary unmap_window helper.
winex11: Keep _NET_WM_USER_TIME on individual toplevel windows.
winex11: Avoid stealing focus during foreground window mapping.
win32u: Introduce a new opengl_driver_funcs structure.
win32u: Implement opt-in WGL_(ARB|EXT)_extensions_string support.
wineandroid: Use win32u for WGL_(ARB|EXT)_extensions_string support.
winemac: Use win32u for WGL_(ARB|EXT)_extensions_string support.
winewayland: Use win32u for WGL_(ARB|EXT)_extensions_string support.
winex11: Use win32u for WGL_(ARB|EXT)_extensions_string support.
win32u: Add a nulldrv init_wgl_extensions implementation.
cfgmgr32/tests: Load some functions dynamically.
winemac: Use the default wglGetPixelFormatAttribivARB implementation.
winemac: Remove the driver wglChoosePixelFormatARB implementation.
win32u: Implement opt-in generic wgl(Get|Set)PixelFormat(WINE).
wineandroid: Use win32u generic wgl(Get|Set)PixelFormat(WINE).
winewayland: Use win32u generic wgl(Get|Set)PixelFormat(WINE).
winex11: Use win32u generic wgl(Get|Set)PixelFormat(WINE).
winemac: Use win32u generic wgl(Get|Set)PixelFormat(WINE).
win32u: Add a null driver set_pixel_format implementation.
winex11: Only set focus_time_prop for managed windows.
winex11: Keep track of whether mapped window needs activation.
winex11: Refactor X11DRV_GetWindowStateUpdates control flow.
win32u: Return foreground window changes from GetWindowStateUpdates.
win32u: Call ActivateWindow callback when foreground window changes.
winex11: Use _NET_ACTIVE_WINDOW to request/track window activation.
win32u: Move WGL_ARB_pixel_format extension registration.
winex11: Ignore GL drawable creation failure on reparent.
win32u: Remove unnecessary win32u_(get|set)_window_pixel_format exports.
setupapi: Implement SetupDiOpenDeviceInterface(A|W).
winex11: Cleanup code style in X11DRV_wglCreatePbufferARB.
winex11: Cleanup code style in X11DRV_wglQueryPbufferARB.
winex11: Cleanup code style in X11DRV_wglBindTexImageARB.
winex11: Compute texture binding enum from the texture target.
winex11: Remove some pbuffer related dead code.
opengl32/tests: Cleanup memory DC rendering tests.
opengl32/tests: Update memory DC pixel format tests.
opengl32/tests: Update memory DC drawing tests.
gdi32/tests: Test selecting bitmap on a D3DKMT memory DC.
opengl32/tests: Test GL rendering on D3DKMT memory DCs.
Sven Baars (9):
dmime/tests: Use wine_dbgstr_longlong.
win32u: Store window styles in a DWORD (Coverity).
win32u: Always set DriverVersion.
makedep: Fix a compilation warning.
d3dxof: Fix a memory leak on error path (Coverity).
d3dxof/tests: Fix a memory leak on error path (Coverity).
adsldp: Fix a leak on error path in search_ExecuteSearch() (Valgrind).
adsldp: Free ber in search_GetNextRow() (Valgrind).
adsldp/tests: Fix a name leak (Valgrind).
Tim Clem (1):
imm32: Add a stub for CtfImmRestoreToolbarWnd.
Tomasz Pakuła (4):
dinput/tests: Add tests for 6-axis force feedback joystick.
include: Define the max number of supported HID PID axes.
winebus: Support creation of dynamic number of PID axes.
winebus: Get the number of haptic axes from SDL.
Vibhav Pant (16):
ws2_32/tests: Add tests for creating Bluetooth RFCOMM sockets.
server: Add support for creating Bluetooth RFCOMM sockets.
ws2_32: Add bind tests for Bluetooth RFCOMM sockets.
ws2_32: Support bind for Bluetooth RFCOMM addresses.
winebth.sys: Register a pairing agent with BlueZ during startup.
winebth.sys: Broadcast a WINEBTH_AUTHENTICATION_REQUEST PnP event on receiving a RequestConfirmation request from BlueZ.
winebth.sys: Implement IOCTL_WINEBTH_AUTH_REGISTER.
bluetoothapis: Implement BluetoothRegisterForAuthenticationEx and BluetoothUnregisterForAuthentication.
bluetoothapis/tests: Add tests for BluetoothRegisterForAuthenticationEx and BluetoothUnregisterAuthentication.
winebth.sys: Support cancellation of pairing sessions via BlueZ.
winebth.sys: Implement IOCTL_WINEBTH_RADIO_SEND_AUTH_RESPONSE.
bluetoothapis: Add stub for BluetoothSendAuthenticationResponseEx.
bluetoothapis: Implement BluetoothSendAuthenticationResponseEx.
bluetoothapis/tests: Add tests for BluetoothSendAuthenticationResponseEx.
winebth.sys: Allow service auth requests from BlueZ for authenticated devices.
ws2_32/tests: Check for WSAEAFNOSUPPORT or WSAEPROTONOSUPPORT if socket() fails for AF_BTH.
Vitaly Lipatov (1):
wow64: Skip memcpy for null pointer.
Yongjie Yao (1):
wmp: Check the return value of IOleClientSite_QueryInterface().
Yuri Hérouard (1):
comctl32: Avoid segfault in PROPSHEET_DoCommand when psInfo is NULL.
Ziqing Hui (7):
shell32/tests: Remove old windows tests for test_copy.
shell32/tests: Add more tests to test_copy.
shell32/tests: Introduce check_file_operation helper.
shell32/tests: Use more check_file_operation.
shell32/tests: Use check_file_operation in test_rename.
shell32/tests: Use check_file_operation in test_delete.
shell32/tests: Use check_file_operation in test_move.
```
The Wine development release 10.4 is now available.
What's new in this release:
- Improvements to PDB support in DbgHelp.
- More Vulkan video decoder support in WineD3D.
- Accessibility support in the SysLink control.
- More progress on the Bluetooth driver.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.4.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.4/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.4 (total 28):
- #33770 Strong Bad's Episode 1 - Homestar Ruiner Demo crashes without d3dx9_27 (purist)
- #33943 Battle.net client dropdowns do not appear until you hover its options
- #42117 Multiple applications have windows with double caption/title bars (Chessmaster 9000, Steam when Windows >= Vista)
- #44795 Need for Speed: Shift demo main menu has messed up rendering (needs ID3DXEffect::SetRawValue implementation)
- #46012 Command & Conquer 3: Kane's Wrath (1.03) Invisible units and tiberium
- #46662 absolute value of unsigned type 'unsigned int' has no effect
- #47165 iTunes 12.9.4+ user interface is rendered black (only text visible)
- #47278 Multiple games and applications require TGA support in D3DXSaveSurfaceToFileInMemory (Europa Universalis 4 Golden Century, ShaderMap 4.x)
- #53103 ie8 doesn't start (race condition)
- #54066 SysLink control shouldn't delete the HFONT it didn't create
- #56106 Roon 2.0.23 crashes due to unable to find library: Windows.Storage.Streams.RandomAccessStreamReference
- #56108 Edit control should stop processing characters when left mouse button is down
- #56225 16-bit Myst deadlocks on start since Wine 3.2
- #57540 unrecognized charset 'SHIFT_JIS' when running Wine with LC_ALL=ja_JP.SJIS
- #57559 Chessbase 17 database table background and non-selected entries rendered in black
- #57717 Adobe Illustrator CS6 (16), Adobe Photoshop CS6 (13), likely all CS6 apps: Main menu bar item shortcut/accelerator key underlines positioning is wrong with built-in gdiplus
- #57746 BeckyInternetMail/VirtualListView: The ListView of the email list isn't redrawn while receiving email.
- #57800 Fullscreen OpenGL apps have unintended literal transparency
- #57826 Zenless Zone Zero fails to start after update to 10.1
- #57848 Wrong alignment of GUI elements in Enterprise Architect
- #57853 Error: makecab.exe not found
- #57874 wineloader no longer able to find ntdll.so
- #57889 Prntvpt (Print Ticket API): printing is cropped in landscape orientation
- #57896 winemenubuilder crash
- #57952 Q-Dir crashes on exit.
- #57962 Firefox 136.0.1 fails to start
- #57963 Firefox crashes on youtube: wine: Call to unimplemented function ucrtbase.dll.imaxdiv, aborting
- #57964 Firefox crashes: wine: Call to unimplemented function KERNEL32.dll.GetCurrentApplicationUserModelId, aborting
### Changes since 10.3:
```
Alex Henrie (3):
winecfg: Use wide character string literal for "Tahoma".
wuauserv: Use wide character string literal for "wuauserv".
fusion: Use wide character string literals.
Alexander Morozov (2):
ntoskrnl.exe/tests: Improve device properties test, avoid BSOD.
ntoskrnl.exe: Implement MmMapLockedPages.
Alexandre Julliard (33):
include: Add a number of missing TCHAR macros.
include: Use pragma pack push/pop.
ntdll: Update the main exe entry point when the module is relocated.
ntdll: Disallow AT_ROUND_TO_PAGE on 64-bit.
user32: Add some more stubs for ordinal functions that forward to win32u.
server: Consistently use size_t for page sizes.
server: Compute the size of the PE header that can be mapped.
ntdll: Only copy the PE section data to a separate block when necessary.
krnl386: Handle DOS ioctl with simulated real mode interrupt.
krnl386: Remove the CTX_SEG_OFF_TO_LIN macro.
ntdll: Pass an explicit mask to the ROUND_SIZE macro.
ntdll: Pass the base address to decommit_pages().
tools: Add is_pe_target() common helper function.
winegcc: Make the target options global variables.
winegcc: Move setting the compatibility defines to a separate helper function.
winegcc: Move the initial argument array out of the options structure.
winegcc: Move the remaining directory options out of the options structure.
winegcc: Remove option fields that already have a corresponding output file variable.
winegcc: Pass the files list explicitly to the various compilation functions.
winegcc: Pass the output name explicitly to the various compilation functions.
winegcc: Store the file processor type in a global variable.
winegcc: Store the various search path directories in global variables.
winegcc: Store the library search suffix in a global variable.
winegcc: Store the winebuild path in a global variable.
winegcc: Store the compiler arguments in global variables.
winegcc: Pass tool names directly to build_tool_name instead of using an enum.
winegcc: Store various string options as global variables.
winegcc: Store all the boolean options in global variables.
winegcc: Get rid of the options struct.
ntdll: Round all sizes to the section alignment for PE mappings.
ntdll: Always map files as writable and adjust permissions.
server: Fix limit check for adding a committed range.
ntdll: Force committed access on anonymous mappings.
Alexandros Frantzis (4):
winewayland: Implement wl_data_device initialization.
winewayland: Support wl_data_device for copies from win32 clipboard to native apps.
winewayland: Support wl_data_device for copies from native apps to win32 clipboard.
winewayland: Warn about missing clipboard functionality.
Anders Kjersem (2):
comctl32/listview: Never use null buffer with LVN_ENDLABELEDIT on a text change.
shcore: Implement OS_TABLETPC and OS_MEDIACENTER.
Attila Fidan (1):
win32u: Return 0 from NtUserGetKeyNameText if there is no translation.
Bartosz Kosiorek (6):
gdiplus: Fix widening of LineCapArrowAnchor.
gdiplus/tests: Improve test drawing accuracy of GdiAddPath*Curve functions.
gdiplus: Improve drawing accuracy of GdiAddPath*Curve functions.
gdiplus/tests: Add additional test for GdipAddPathArc.
gdiplus/tests: Add GdipFlattenPath tests with default flatness 0.25.
gdiplus: Fix GdipFlattenPath return path precision.
Bernhard Übelacker (4):
kernel32/tests: Flush pending APCs and close handles (ASan).
ieframe: Enter reallocation path one position earlier (ASan).
advapi32: Avoid buffer underrun in split_domain_account (ASan).
msxml6/tests: Make test pass with Windows 7.
Biswapriyo Nath (1):
include: Add mpeg2data.idl.
Brendan McGrath (3):
mfplat: Add mp3 resolver hint.
mf/tests: Test timestamps in H264 decoder.
mf/tests: Test timestamps in WMV decoder.
Brendan Shanks (5):
ntdll: Stop using chdir() in file_id_to_unix_file_name().
ntdll: Move the dir_queue into file_id_to_unix_file_name().
ntdll: Add a lock around the get_dir_case_sensitivity_attr() fs_cache.
ntdll: Use *at() functions in get_dir_case_sensitivity().
ntdll: Stop using chdir() in nt_to_unix_file_name().
Connor McAdams (8):
d3dx9/tests: Add tests for ID3DXEffect::SetRawValue().
d3dx9: Partially implement ID3DXEffect::SetRawValue().
d3dx9: Add support for setting 4x4 matrices in ID3DXEffect::SetRawValue().
d3dx9: Fixup return values for D3DXPT_BOOL parameters in ID3DXEffect::GetValue().
d3dx9: Add stubs for D3DXSaveVolumeToFile{A,W,InMemory}().
d3dx9/tests: Add tests for D3DXSaveVolumeToFile{A,W,InMemory}().
d3dx9: Implement D3DXSaveVolumeToFile{A,W,InMemory}().
d3dx9: Use D3DXSaveVolumeToFileInMemory() inside of D3DXSaveTextureToFileInMemory().
Dmitry Timoshkov (4):
prntvpt: PageImageableSize capabilities depend on page orientation.
wldap32: Also initialize idW.Flags field.
kerberos: Fix imported target name leak.
winex11.drv: Don't add MWM_DECOR_BORDER to windows without a caption.
Dylan Donnell (2):
ntdll: Return STATUS_ACCESS_VIOLATION from NtQueryInformationThread ThreadHideFromDebugger if *ret_len is not writable.
ntdll/tests: Add tests for ret_len on NtQueryInformationThread HideFromDebugger.
Elizabeth Figura (13):
wined3d: Avoid indexing a 2-element array by shader type.
wined3d: Invalidate bumpenv_constants in wined3d_stateblock_primary_dirtify_all_states().
wined3d: Bind video session memory.
d3d11: Implement GetDecoderBuffer() for metadata buffers.
d3d11: Implement GetDecoderBuffer() for bitstream buffers.
d3d11: Create a wined3d video decoder output view.
d3d11: Implement DecoderBeginFrame() and DecoderEndFrame().
advapi32: Move SystemFunction032 to cryptsp.
advapi32: Move lmhash functions to cryptsp.
advapi32: Merge crypt_lmhash.c into crypt_des.c.
advapi32: Move the remaining SystemFunction* functions to cryptsp.
advapi32: Move DES functions to cryptbase.
advapi32: Move the remaining SystemFunction* functions to cryptbase.
Ellington Santos (1):
wpcap: Implement pcap_set_immediate_mode.
Eric Pouech (28):
cmd: Fix regression in PAUSE test.
winedump: Use correct computation for first section out of a .DBG file.
winedump: Use correct field when dumping CodeView symbols.
winedump: Don't miss PDB_SYMBOL_RANGE* in PDB files.
winedump: Don't miss hash entries in PDB files.
winedump: Support more than 64K files in PDB DBI module source substream.
include: Remove flexible array member from PDB JG header.
winedump: Support dumping large PDB files (>4G).
dbghelp: Fix potential crash for old debug formats.
dbghelp: Support large PDB files (> 4G).
dbghelp: Store pointer to context instead of context.
dbghelp: Optimize vector allocation.
dbghelp: Simplify get_line_from_addr().
dbghelp: Support module lookup in SymEnumSourceFiles.
dbghelp: Factorize some code between type enumeration APIs.
dbghelp: Only store types with names in module.
dbghelp: Factorize function signature creation {dwarf}.
dbghelp: Introduce helper to match an ANSI string against a Unicode regex.
winedbg: Support more integral types in VARIANT for enum value.
dbghelp: Pass a VARIANT to add an enumeration entry.
dbghelp: Use VARIANT for storing enum values (pdb).
dbghelp: Store LEB128 encoded as 64bit entities (dwarf).
dbghelp: Introduce helper to fill in VARIANT (dwarf).
dbghelp: Fix debug information for C++ enumeration types (dwarf).
dbghelp: Add a couple of missing basic types for PDB.
dbghelp: Silence a couple of CodeView symbols.
dbghelp: Uniformize the two readers for PDB line information.
dbghelp: Only load line information when SYMOPT_LOAD_LINE is set.
Esme Povirk (10):
gdiplus: Reset X position before drawing hotkey underlines.
comctl32: Include only link items as IAccessible children.
comctl32: Implement get_accState for SysLink controls.
comctl32: Implement acc_getName for SysLink.
comctl32: Implement get_accDefaultAction for SysLink.
comctl32: Implement accLocation for SysLink.
comctl32: Implement get_accChildCount for SysLink.
comctl32: Implement accChild for SysLink.
comctl32: Implement IOleWindow for SysLink.
comctl32: Implement EVENT_OBJECT_VALUECHANGE for datetime control.
Hans Leidekker (7):
odbc32: Pass through result length pointers when PE/Unix pointer sizes are equal.
wpcap: Check for failure from pcap_dump_open().
wpcap: Fix Unix call in pcap_dump_close().
wpcap: Remove unneeded trace.
wpcap: Pass the dumper handle to pcap_dump().
wpcap: Correct params structure in wow64_dump_open().
wpcap: Fall back to a buffer copy if 32-bit mmap support is not available.
Jacek Caban (3):
rpcrt4: Don't validate buffer in NDR marshaler.
kernelbase: Factor out get_process_image_file_name.
kernelbase: Use ProcessImageFileNameWin32 in GetModuleFileNameExW.
Joe Souza (1):
cmd: Allow any key to continue past DIR /P pauses.
Kun Yang (1):
msvcrt: Add MSVCRT__NOBUF flag check in _filbuf to avoid dead loop in application which sets the flag.
Louis Lenders (2):
magnification: Add stub for MagUninitialize.
kernelbase: Add stub for GetCurrentApplicationUserModelId.
Marc-Aurel Zent (7):
include: Fix RTL_PATH_TYPE names.
ntdll: Implement RtlGetFullPathName_UEx.
include: Add thread priority constants.
ntdll/tests: Add tests for process and thread priority.
server: Infer process priority class in set_thread_priority.
server: Clarify between effective thread priority and class/level.
server: Rename thread priority to base_priority.
Matteo Bruni (8):
d3dx9: Load the D3DAssemble() function pointer from the proper DLL.
d3dx9/tests: Fix expected asm test results on version >= 42.
d3dcompiler/tests: Clean up temporary file after the test.
d3dx9_42: Generate an import library.
d3dx9/tests: Add d3dx9_42 tests.
d3dcompiler: Fix a few version-dependent error returns in D3DReflect().
d3dcompiler/tests: Add d3dcompiler_42 tests.
d3dx9/tests: Skip some shader tests if we can't create a D3D object.
Mohamad Al-Jaf (17):
include: Add robuffer.idl.
wintypes: Add IBufferFactory stub.
include: Add Windows.System.Profile.SystemIdentification definition.
windows.system.profile.systemid: Add stub dll.
windows.system.profile.systemid: Add ISystemIdentificationStatics stub.
windows.system.profile.systemid/tests: Add ISystemIdentificationStatics::GetSystemIdForPublisher() tests.
windows.system.profile.systemid: Partially implement ISystemIdentificationStatics::GetSystemIdForPublisher().
windows.system.profile.systemid/tests: Add ISystemIdentificationInfo::get_Source() tests.
windows.system.profile.systemid: Implement ISystemIdentificationInfo::get_Source().
wintypes/tests: Add IBufferFactory::Create() tests.
wintypes: Implement IBufferFactory::Create().
wintypes: Implement IBuffer::get_Capacity().
wintypes: Implement IBuffer::put_Length().
wintypes: Implement IBuffer::get_Length().
wintypes: Add IBufferByteAccess stub.
wintypes/tests: Add IBufferByteAccess::Buffer() tests.
wintypes: Implement IBufferByteAccess::Buffer().
Nikolay Sivov (12):
d3dx9/effect: Remove explicit objects pointer from the parsing helpers.
d3dx9/effect: Remove misleading trace message.
comctl32/tests: Run LVM_GETORIGIN tests on v6.
comctl32/tests: Add a test for LVM_GETORIGIN returned coordinate.
comctl32/listview: Invert origin coordinate for LVM_GETORIGIN.
comctl32/listview: Handle WM_VSCROLL(SB_TOP).
d3dx9/tests: Enable tests for d3dx9_35.dll.
comctl32/tests: Add a LVN_ENDLABELEDIT test with empty text.
comctl32/tests: Add a test for LVM_FINDITEM with LVS_OWNERDATA.
comctl32/listview: Use correct LVN_ODFINDITEM notification.
user32/edit: Block key input when mouse input is captured.
comctl32/edit: Block key input when mouse input is captured.
Paul Gofman (9):
ntdll/tests: Test NtCreateUserProcess() with limited access rights.
ntdll: Do not fail NtCreateUserProcess() if requested access doesn't have PROCESS_CREATE_THREAD.
win32u: Prevent remote drawing to ULW layered window.
setupapi: Fix buffer size passed to SetupDiGetDeviceInstanceIdW() in get_device_id_list().
setupapi: Increase id buffer size in get_device_id_list().
ntdll: Properly set context control registers from the other thread on wow64.
ntdll/tests: Test first trap address when setting trap flag in various ways.
ntdll: Fix setting trap flag with CONTEXT_CONTROL and instrumentation callback on x64.
ntdll: Set CONTEXT_CONTROL frame restore flag in sigsys_handler().
Piotr Caban (3):
advapi32: Fix environment parameter handling in CreateProcessWithLogonW.
include: Add imaxdiv declaration.
msvcr120: Add imaxdiv implementation.
Robert Lippmann (1):
winedump: Fix grep warning.
Roman Pišl (2):
kernel32/tests: Test ReplaceFileW with forward slashes.
kernelbase: Handle correctly paths with forward slashes in ReplaceFileW.
Rémi Bernon (15):
win32u: Don't set foreground window if window is minimized.
opengl32: Generate pointer offsets in the extension registry.
opengl32: Generate ALL_(WGL|GL|GL_EXT)_FUNCS macros and prototypes.
opengl32: Get rid of opengl_funcs internal structures.
opengl32: Use ALL_GL(_EXT)_FUNCS to generate opengl_funcs table.
opengl32: Stop generating wine/wgl_driver.h.
hidclass: Rename BASE_DEVICE_EXTENSION to struct device.
hidclass: Use HID_DEVICE_EXTENSION as base for fdo and pdo.
hidclass: Use a dedicated struct phys_device for PDOs.
hidclass: Use a dedicated struct func_device for FDOs.
hidclass: Avoid leaking input packet from the device thread.
winexinput: Remove pending IRPs on IRP_MN_REMOVE_DEVICE.
hidclass: Dispatch IRP_MN_SURPRISE_REMOVAL to the minidrivers.
hidclass: Wait for the pending IRP after thread shutdown.
winex11: Use -1 as fullscreen monitor indices to clear the property.
Sebastian Lackner (1):
win32u: Fix alpha blending in X11DRV_UpdateLayeredWindow.
Tim Clem (2):
imm32: Add a stub for CtfImmHideToolbarWnd.
win32u: Add a stub for NtUserIsChildWindowDpiMessageEnabled.
Vadim Kazakov (1):
ntdll: Print name for TOKEN_INFORMATION_CLASS.
Vibhav Pant (15):
winebth.sys: Remove the first 2 zero bytes after byte-swapping Bluetooth addresses.
winebth.sys: Implement IOCTL_WINEBTH_RADIO_START_DISCOVERY.
winebth.sys: Implement IOCTL_WINEBTH_RADIO_STOP_DISCOVERY.
bluetoothapis: Implement BluetoothFindFirstDevice and BluetoothFindDeviceClose.
bluetoothapis/tests: Add tests for BluetoothFindFirstDevice, BluetoothFindDeviceClose.
bluetoothapis: Implement BluetoothFindNextDevice.
bluetoothapis/tests: Add tests for BluetoothFindNextDevice.
bluetoothapis/tests: Use the correct file name while skipping tests when no radios are found.
bluetoothapis: Add a basic implementation for BluetoothGetDeviceInfo.
bluetoothapis/tests: Add tests for BluetoothGetDeviceInfo.
cfgmgr32: Add stub for CM_Unregister_Notification.
cfgmgr32/tests: Add basic tests for CM_(Un)Register_Notification.
dinput/tests: Add tests for CM_Register_Notification.
cfgmgr32: Implement CM_Register_Notification and CM_Unregister_Notification.
user32: Remove incorrect FIXME warning while registering for DBT_DEVTYP_HANDLE notifications.
Ziqing Hui (4):
winegstreamer: Assume stream type is always not NULL for media sink.
winegstreamer: Implement stream_sink_type_handler_GetMajorType.
winegstreamer: Implement stream_sink_type_handler_GetMediaTypeCount.
winegstreamer: Implement stream_sink_type_handler_GetMediaTypeByIndex.
```
The Wine development release 10.3 is now available.
What's new in this release:
- Clipboard support in the Wayland driver.
- Initial Vulkan video decoder support in WineD3D.
- Bundled Compiler-RT library for ARM builds.
- Header fixes for Winelib C++ support.
- More progress on the Bluetooth driver.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.3.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.3/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.3 (total 18):
- #3930 Miles Sound System (WAIL32.DLL) SuspendThread() deadlock in WINMM callback (silent black screen on HOMM startup)
- #8532 JawsEditor 2.5/3.0 reports "Invalid imagesize" on startup ('IPicture::SaveAsFile' method too stubby/incorrect)
- #38879 wbemprox fill_videocontroller calls are expensive
- #40523 legrand xlpro3 400 : unable to insert a pictogram
- #41427 [Game Maker Studio - Android] subst.exe is not implemented
- #45119 Multiple applications from Google sandbox-attacksurface-analysis-tools v1.1.x (targeting native API) need 'ntdll.NtGetNextProcess' implementation
- #50337 Roland Zenology Pro (VST3 plugin) used with carla-bridge fails to save files
- #50929 Silver Chains (GOG) crashes and start dumping memory in console
- #51121 HeidiSQL 11.0.0.5919 shows a blinking black screen and crashes without virtual desktop
- #52094 IDA Pro 7.6 crashes when loading idapython3.dll
- #56695 Unreal Engine game checks for a specific VC runtime regkey
- #57323 Windows 7 Card Games crash on start
- #57849 Multiple games: sleep accuracy is affected by mouse movement speed
- #57850 Reolink fails to load dll: err:module:import_dll Loading library libvips-42.dll
- #57854 Steam.exe fails to start (hangs upon loading) in Wine-10.2
- #57881 Wine10.2 Noble does not open Quicken 2004, qw.exe file
- #57899 R-Link 2 Toolbox crash
- #57903 kernel32:loader - test_export_forwarder_dep_chain fails on Windows 7
### Changes since 10.2:
```
Alexander Morozov (1):
wineusb.sys: Add support for URB_FUNCTION_VENDOR_ENDPOINT.
Alexandre Julliard (32):
ntdll: Fix pointer access in read_image_directory().
tomcrypt: Import code from upstream libtomcrypt version 1.18.2.
tomcrypt: Import code from upstream libtommath version 1.1.0.
bcrypt: Use the bundled tomcrypt library for hash algorithms.
ntdll: Use the bundled tomcrypt for the crc32 implementation.
rsaenh: Split encrypt and decrypt implementation functions.
rsaenh: Use the bundled tomcrypt to replace the local copy.
configure: Check that the 32- and 64-bit builds are using the same libdir.
ntdll: Add some missing Zw exports.
apisetschema: Add some new apisets, and old ones for recently added dlls.
dataexchange: Don't create an empty import lib.
makefiles: Import winecrt0 by default even with -nodefaultlibs.
tools: Avoid const strarray pointers in all functions.
include: Fix some invalid array definitions in PDB structures.
makefiles: Add support for assembly source files.
makefiles: Add support for optionally installing external libs.
libs: Import code from upstream compiler-rt version 8.0.1.
makefiles: Link to compiler-rt for builds in MSVC mode.
profapi: Don't create an empty importlib.
winedump: Fix dumping of empty values in version resources.
make_unicode: Generate the PostScript builtin font metrics.
wineps: Remove the old font generation code.
wineps: Move the generated glyph list to a separate glyphs.c file.
wineps: Update the glyph list to a more recent version.
wineps: Generate all core fonts metrics into a single file.
wineps: Reduce the size of the stored core fonts metrics data.
png: Import upstream release 1.6.47.
setupapi: Create fake dlls for missing dlls only if explicitly requested.
include: Import mmreg.h instead of duplicating definitions.
winegcc: PE targets always use msvcrt mode, remove redundant checks.
winegcc: Use -nodefaultlibs also for the linker tests.
winegcc: Merge the utility functions into the main file.
Alexandros Frantzis (8):
winewayland: Implement zwlr_data_control_device_v1 initialization.
winewayland: Support copying text from win32 clipboard to native apps.
winewayland: Generalize support for exporting clipboard formats.
winewayland: Support exporting various clipboard formats.
winewayland: Support copying data from native clipboard to win32 apps.
winewayland: Normalize received MIME type strings.
winewayland: Present EGL surfaces opaquely.
winewayland: Treat fully transparent cursors as hidden.
Alistair Leslie-Hughes (6):
include: Add Get/SetValue for gdiplus Color class.
include: Keep the same header order as SDK in gdiplus.h.
include: Add gdiplusbase.h.
include: Add a few sal.h defines.
include: Add stscanf_s define.
vbscript: Correct resource text for VBSE_PARAMETER_NOT_OPTIONAL.
Arkadiusz Hiler (1):
krnl386: Silence a warning in GetSystemDirectory16().
Attila Fidan (2):
winewayland: Update locked pointer position hint.
winewayland: Implement SetCursorPos via pointer lock.
Bernhard Kölbl (1):
wine.inf: Add VC runtime version key.
Bernhard Übelacker (11):
comctl32/tests: Skip a few tests in non-english locale.
user32/tests: Fix monitor dpi awareness test.
ntdll/tests: Skip FileFsFullSizeInformationEx test on older windows.
kernelbase/tests: Skip test if EnumSystemFirmwareTables is not available.
propsys/tests: Add broken for unexpected value in windows 7.
d2d1/tests: Adjust tolerance of a few float comparisons in windows 7.
ws2_32/tests: Allow WSAConnectByNameA test to fail with WSAEOPNOTSUPP.
propsys/tests: Fix check_PropVariantToBSTR2.
setupapi: Initialize the files member in SetupDuplicateDiskSpaceListW. (ASan).
setupapi/tests: Fix message of ok statement.
kernel32/tests: Add broken in test_IdnToNameprepUnicode.
Brendan McGrath (24):
mp3dmod/tests: Add tests for selecting an invalid stream.
mp3dmod: Check for invalid stream.
mp3dmod/tests: Add tests for GetInputCurrentType.
mp3dmod/tests: Add tests for GetOutputCurrentType.
mp3dmod: Implement GetInputCurrentType.
mp3dmod: Implement GetOutputCurrentType.
mp3dmod: Fix leak of previous outtype.
mfplat/tests: Add additional MFCreateWaveFormatExFromMFMediaType tests.
mfplat: Allow MF_MT_USER_DATA to be missing for all subtypes.
winedmo: Call avformat_find_stream_info for the mp3 format.
mp3dmod: Return S_OK in Allocate/Free Resources.
mp3dmod/tests: Add test for 32-bit sample size.
mp3dmod: Add support for 32-bit sample size.
mp3dmod/tests: Test different output sample rates.
mp3dmod: Return error if requested output format values don't agree.
mp3dmod: Only allow 1/2 and 1/4 subsampling.
mp3dmod/tests: Add test for nChannels = 0 on input.
mp3dmod: Ensure nChannels is greater than zero on input.
mf/tests: Test different length user_data against aac decoder.
winegstreamer: Validate the value of cbSize in aac decoder.
winegstreamer: Expand GST_ELEMENT_REGISTER* defines.
wined3d: Interpret Y'CbCr values as being from the reduced range.
mp3dmod: Implement an IMFTransform interface.
mfsrcsnk: Register the MP3 Byte Stream Handler class.
Brendan Shanks (9):
include: Add D3DKMT_WDDM_*_CAPS.
winemac: Remove pre-macOS 10.12 workarounds.
winemac: Always use notifications to detect window dragging.
winecoreaudio: Remove pre-macOS 10.12 workaround.
winegcc: Rename TOOL_ enum constants.
tools: Use _NSGetExecutablePath to implement get_bindir on macOS.
server: Use _NSGetExecutablePath to implement get_nls_dir on macOS.
loader: Use _NSGetExecutablePath to implement get_self_exe on macOS.
user32: Use the correct DPI in AdjustWindowRect(Ex) when DPI virtualization is active.
Charlotte Pabst (1):
winex11.drv: Weaken filter_event conditions for some events.
Connor McAdams (11):
d3dx9/tests: Add some more tests for saving surfaces as targa files.
d3dx9/tests: Add a test for saving a surface as D3DXIFF_DIB.
d3dx9/tests: Add tests for saving surfaces to non-DDS files.
d3dx9: Add TGA prefix to targa specific defines.
d3dx9: Add basic support for saving surfaces to targa files.
d3dx9: Add support for selecting a replacement pixel format when saving pixels to a file.
d3dx9: Add support for saving PNG files in d3dx_save_pixels_to_memory().
d3dx9: Add support for saving JPG files in d3dx_save_pixels_to_memory().
d3dx9: Add support for saving BMP files in d3dx_save_pixels_to_memory().
d3dx9: Add support for saving paletted pixel formats in d3dx_pixels_save_wic().
d3dx9: Add support for saving DIB files in d3dx_save_pixels_to_memory().
Conor McCarthy (4):
ntdll/tests: Test NtQueryVolumeInformationFile() with FileFsFullSizeInformationEx.
kernel32/tests: Test GetDiskSpaceInformationA().
ntdll: Handle FileFsFullSizeInformationEx in NtQueryVolumeInformationFile().
kernelbase: Implement GetDiskSpaceInformationA/W().
Daniel Lehman (3):
dwrite: Fix spelling for Sundanese.
xml2: Import upstream release 2.12.9.
xml2: Import upstream release 2.12.10.
Dmitry Timoshkov (7):
oleaut32/tests: Add some tests for loading and saving EMF using IPicture interface.
oleaut32: Add support for loading and saving EMF to IPicture interface.
oleaut32: Implement a better stub for IPicture::SaveAsFile.
wbemprox: Add support for Win32_PhysicalMemoryArray.
windowscodecs: Make support for WICBitmapTransformRotate270 more explicit.
kernel32: SuspendThread() in Win9x mode should return 0 for current thread.
advapi32: Add CreateProcessWithLogonW() semi-stub.
Elizabeth Figura (27):
d3dx9/tests: Define D3DX_SDK_VERSION=36 for d3dx9_36.
d3dx9/tests: Test implicit truncation warnings.
vkd3d: Import vkd3d-utils.
d3dcompiler: Use D3DPreprocess() from vkd3d-utils.
d3dcompiler: Use D3DCompile2VKD3D() from vkd3d-utils.
d3dx9: Reimplement D3DXCompileShader() for versions before 42.
d3dx9: Link versions 42 and 43 to the corresponding d3dcompiler DLL.
wined3d: Use a separate format value for d3d10+ NV12.
wined3d: Separate a wined3d_texture_vk_upload_plane() helper.
wined3d: Separate a wined3d_texture_vk_download_plane() helper.
wined3d: Implement planar Vulkan uploads.
wined3d: Implement planar Vulkan downloads.
wined3d: Implement planar Vulkan blits.
wined3d: Enable KHR_sampler_ycbcr_conversion.
wined3d: Implement planar NV12 in the Vulkan renderer.
d3d11/tests: Extend NV12 tests.
setupapi/tests: Test disk space list APIs.
setupapi: Get rid of the DISKSPACELIST typedef.
setupapi: Implement SetupAddToDiskSpaceList().
setupapi: Correctly implement SetupQuerySpaceRequiredOnDrive().
d3d11: Implement ID3D11VideoDevice::GetVideoDecoderProfile[Count]().
wined3d: Introduce a Vulkan decoder backend.
d3d11: Create a wined3d_decoder object backing the d3d11 decoder object.
wined3d: Look for a video decode queue.
wined3d: Create a Vulkan video session backing the wined3d_decoder_vk.
d3d9/tests: Expand the YUV blit tests a bit.
ddraw/tests: Port yuv_layout_test() from d3d9.
Eric Pouech (4):
findstr/tests: Add test for default findstr regex vs text search mode.
findstr: Set default search mode to regex.
findstr/tests: Always set text/regex search mode in tests.
cmd: Open file in 'TYPE' with more sharing attributes.
Esme Povirk (4):
gdiplus: Stub GdipGetEffectParameters.
gdiplus/tests: Add tests for effect parameters.
gdiplus: Split effect parameter size into helper function.
gdiplus: Store parameters on effect objects.
Etaash Mathamsetty (2):
ntdll: Implement NtGetNextProcess.
ntdll/tests: Add NtGetNextProcess tests.
Eugene McArdle (2):
ntdll/tests: Test updated NtQueryDirectoryFile mask reset behaviour.
ntdll: Invalidate cached data in NtQueryDirectoryFile when mask is changed.
Floris Renaud (1):
po: Update Dutch translation.
Giovanni Mascellani (8):
dxgi: Submit Vulkan presentation as soon as possible.
dxgi: Set the frame latency even when increasing the frame latency.
dxgi: Do not bias the frame latency fence.
dxgi: Directly signal the frame latency fence.
dxgi: Remove the frame latency fence.
dxgi: Make the frame latency waitable a semaphore.
dxgi: Wait on the frame latency semaphore when the client doesn't do it.
dxgi/tests: Use an explicit frame latency waitable when testing the back buffer index.
Hajo Nils Krabbenhöft (1):
d2d1: Update DC target surface with current HDC contents on BeginDraw().
Hans Leidekker (7):
subst: Add basic implementation.
win32u: Also set DriverVersion for software devices such as llvmpipe.
wbemprox: Don't use DXGI adapter values for Win32_SoundDevice.
wbemprox: Get Win32_VideoController values from the registry.
wmic: Treat VT_I4 values as unsigned.
wbemprox: Fix format string.
wbemprox/tests: Avoid test failures on Windows 7.
Haoyang Chen (2):
comctl32: Fix Alloc/HeapAlloc mismatches.
cryptnet: Uniform return value that is the same as _wfsopen.
Henri Verbeet (1):
wined3d: Handle a NULL "push_constants" buffer in glsl_fragment_pipe_alpha_test_func().
Jacek Caban (13):
winegcc: Don't include host include paths when compiling with MSVCRT.
include: Use inline function for DeleteFile.
include: Use wchar_t for platform types on PE targets.
include: Add UnsignedMultiply128 and _umul128 support.
include: Add ShiftRight128 and __shiftright128 support.
include: Use inline functions for CopyFile and MoveFile.
include: Use struct inheritance for MONITORINFOEX declaration in C++.
include: Add isnormal C++ declaration.
include: Introduce minwindef.h header file.
include: Introduce fibersapi.h header file.
include: Add missing d3d8types.h defines.
include: Introduce minwinbase.h header file.
include: Introduce sysinfoapi.h header file.
Jinoh Kang (10):
ntdll: Sink module dependency registration towards the end of the function in find_forwarded_export().
ntdll: Don't re-add a module dependency if it already exists.
ntdll: Register module dependency for export forwarders regardless of whether the dependency is already loaded.
ntdll: Properly track refcount on static imports of export forwarders.
ntdll: Eagerly call process_attach() on dynamic imports of export forwarders.
ntdll: Explicitly ignore dynamic (GetProcAddress) importers as relay/snoop user module.
ntdll: Properly track refcount on dynamic imports of export forwarders.
ntdll: Remove superflous NULL check for importer.
kernel32/tests: Fix thread handle leak in store_buffer_litmus_test.
kernel32/tests: Work around Windows 7 issuing DllNotification even when loading with DONT_RESOLVE_DLL_REFERENCES.
Louis Lenders (1):
ntdll: Silence the noisy FIXME in RtlGetCurrentProcessorNumberEx.
Mark Jansen (2):
version/tests: Add a test for an empty value in VerQueryValueW.
kernelbase: Fix VerQueryValueW with no data.
Mohamad Al-Jaf (1):
makecab: Add stub program.
Nikolay Sivov (24):
windowscodecs/gif: Store Image descriptor offset when reading GIF data.
windowscodecs/metadata: Add an option to initialize reader from a memory block.
windowscodecs/decoder: Separate metadata block reader to a reusable structure.
windowscodecs/decoder: Add support for metadata block reader at decoder level.
windowscodecs/decoder: Add support for IWICBitmapDecoder::CopyPalette() in common decoder.
windowscodecs: Use common decoder for GIF format.
windowscodecs/decoder: Reuse metadata readers instances.
windowscodecs/decoder: Implement metadata readers enumerator for the common decoder.
msxml3/tests: Remove tests that already run for msxml6.
msxml6/tests: Move some of the SAXXMLReader60 tests.
rtworkq: Fix private queue id mask check.
mfplat/tests: Run tests modifying process state in separate processes.
d2d1/tests: Add some tests for device context handling in the DC target.
include: Add some flags constants used in pipes API.
windowscodecs: Implement query strings enumerator.
windowscodecs/tests: Add some more tests for query enumeration.
windowscodecs/metadata: Do not decorate 'wstr' items with a type name in returned queries.
windowscodecs: Implement CreateQueryWriterFromReader().
windowscodecs/tests: Add some tests for stream position handling when nested readers are used.
windowscodecs/metadata: Restore original stream position on GetStream().
windowscodecs/metadata: Replicate original stream position when creating writer instances from readers.
windowscodecs/tests: Add some tests for metadata handler GetClassID().
windowscodecs/metadata: Implement GetClassID().
windowscodecs: Implement GetPreferredVendorGUID().
Paul Gofman (5):
ntdll: Add stub for RtlDeriveCapabilitySidsFromName().
ntdll/tests: Add tests for RtlDeriveCapabilitySidsFromName().
ntdll: Implement RtlDeriveCapabilitySidsFromName().
kernelbase: Implement DeriveCapabilitySidsFromName().
kernelbase/tests: Add test for DeriveCapabilitySidsFromName().
Piotr Caban (9):
msvcr120: Simplify feupdateenv implementation.
ole32: Mark property storage dirty in PropertyStorage_ConstructEmpty.
ole32: Mark property storage not dirty after it's saved.
ole32: Remove end label from PropertyStorage_WriteToStream.
ole32: Reset output stream when wrting property storage.
whoami: Return non-zero value on error.
whoami: Handle arguments starting with '/' and '-'.
whoami: Parse and validate all command line arguments.
whoami: Support format specifiers when handling /user argument.
Raphael Riemann (1):
kernelbase: Add WerRegisterCustomMetadata stub.
Rémi Bernon (29):
winevulkan: Generate function pointers for required funcs.
winevulkan: Enable the VK_EXT_headless_surface extension.
win32u: Pass a vulkan_instance pointer to vulkan_surface_create.
win32u: Use VK_EXT_headless_surface for nulldrv surface.
winex11: Initialize window managed flag in create_whole_window.
winex11: Request managed/embedded in a new window_set_managed helper.
winex11: Check managed window changes in WindowPosChanged.
winex11: Pass fullscreen flag to is_window_managed.
winewayland: Pass fullscreen flag to is_window_managed.
wined3d: Avoid double-free of swapchain surface on error.
include: Add a MB_CUR_MAX definition in ctype.h.
include: Add some _BitScanForward(64) declarations in intrin.h.
include: Fix InlineIsEqualGUID C++ warning.
include: Fix wmemchr C++ warning.
winetest: Avoid underflow when computing filtered output size.
win32u: Move OpenGL initialization to a separate source.
win32u: Move dibdrv OpenGL functions to opengl.c.
win32u: Move OSMesa OpenGL functions to opengl.c.
win32u: Remove unncessary OSMesa indirections.
win32u: Guard OpenGL function pointers initialization.
wineandroid: Remove now unnecessary wine_get_wgl_driver init guard.
winemac: Remove now unnecessary wine_get_wgl_driver init guard.
winex11: Remove now unnecessary wine_get_wgl_driver init guard.
winewayland: Remove now unnecessary wine_get_wgl_driver init guard.
include: Add IID_PPV_ARGS macro.
include: Add QueryDisplayConfig declaration.
include: Add d3d8 interface GUIDs.
include: Add D3D9 interface GUIDs.
include: Fix D3DDEVINFO_D3DRESOURCEMANAGER type name.
Sebastian Lackner (1):
oleaut32: Implement SaveAsFile for PICTYPE_ENHMETAFILE.
Tim Clem (1):
wbemprox: Add Manufacturer and Speed to Win32_PhysicalMemory.
Vadim Kazakov (1):
include: Add definition of NEGOSSP_NAME.
Vibhav Pant (15):
winebth.sys: Store known devices per radio from org.bluez.Device1 objects on BlueZ.
winebth.sys: Add a basic implementation for IOCTL_BTH_GET_DEVICE_INFO.
winebth.sys: Add connection related properties for remote devices.
winebth.sys: Queue a DEVICE_ADDED event on receiving InterfacesAdded for objects that implement org.bluez.Device1.
winebth.sys: Remove the corresponding device entry for Bluetooth radios on receiving InterfacesRemoved for org.bluez.Device1 objects.
winebth.sys: Use the correct DBus property name in IOCTL_WINEBTH_RADIO_SET_FLAG.
winebth.sys: Initially set numOfDevices to 0 in IOCTL_BTH_GET_DEVICE_INFO.
winebth.sys: Don't iterate over the remaining radios once a local device has been removed.
winebth.sys: Use the "Name" property of a BlueZ adapter for the local radio name.
winebth.sys: Use the "Trusted" property from BlueZ device objects to set BDIF_PERSONAL.
winebth.sys: Set the device class for remote devices from BlueZ's "Class" property.
winebth.sys: Only set the updated properties for local radios on BLUETOOTH_WATCHER_EVENT_TYPE_RADIO_PROPERTIES_CHANGED.
winebth.sys: Update properties for tracked remote devices on receiving PropertiesChanged for org.bluez.Device1 objects from BlueZ.
ws2_32: Implement WSAAddressToString() for Bluetooth (AF_BTH) addresses.
ws2_32/tests: Add tests for Bluetooth addresses for WSAStringToAddress().
William Horvath (2):
server: Use a high precision timespec directly for poll timeouts on supported platforms.
server: Use epoll_pwait2 for the main loop on Linux.
Yuxuan Shui (1):
winegstreamer: Avoid large buffer pushes in wg_transform.
Zhiyi Zhang (8):
imm32/tests: Test that the IME UI window shouldn't be above normal windows at creation.
imm32: Move the IME UI window to the bottom at creation.
d3d11/tests: Test that the fallback device window shouldn't be above normal windows at creation.
dxgi: Move the fallback device window to the bottom at creation.
winex11.drv: Allow MWM_FUNC_MAXIMIZE when WS_MAXIMIZE is present.
win32u: Use the normal window rectangle to find monitor when a window is minimized.
win32u: Remove an unused parameter.
win32u: Don't use the current mode in the registry if it's a detached mode.
Ziqing Hui (4):
mfreadwrite/tests: Move writer creation tests to test_sink_writer_create.
mfreadwrite/tests: Test getting transforms and media sinks from writer.
mfreadwrite/tests: Test AddStream and SetInputMediaType for writer.
mfreadwrite/tests: Test sample processing for writer.
```
The Wine development release 10.2 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.15.
- Support for setting thread priorities.
- New Wow64 mode can be enabled dynamically.
- More progress on the Bluetooth driver.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.2.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.2/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.2 (total 20):
- #25872 Guild Wars 'test system' doesn't show test results
- #39474 MSWT Kart 2004 does not work
- #50152 YOU and ME and HER: Game crashes after launching from game launcher
- #56260 16-bit Myst deadlocks when entering Book
- #56464 vbscript: Join() builtin is not implemented
- #56951 psql 16: unrecognized win32 error code: 127 invalid binary: Invalid argument / could not find a "psql.exe" to execute
- #57310 wineboot failed to initialize a wine prefix
- #57625 Regression: some fullscreen games are displayed incorrectly upon switching from and back to game window
- #57787 Final Fantasy XI Online crashes with unhandled page fault on launch
- #57793 Wine Wordpad started with blank screen
- #57795 cmd lacks support for right-to-left handle redirection (2<&1)
- #57803 Sekiro: Shadows Die Twice crashes at launch with Xbox One controller connected
- #57804 cmd: '@echo off' gets propagated to parent on CALL instruction (CALL seems to freezes)
- #57809 cmd: Incorrect substring expansion of last character (e.g. `!MY_STR:~1!`)
- #57810 ITextStream::WriteBlankLines() needs to be implemented for libxml2's configure.js to work
- #57817 mvscp90 ::std::ifstream::seekg(0) crashes
- #57819 Wine unable to start when built with binutils 2.44
- #57824 SetThreadPriority unexpectedly fails on terminated threads instead of no-op
- #57834 Cyberpunk 2077 doesn't load with CyberEngine Tweaks
- #57847 Cross-compiled Wine no longer installs a 'wine' loader binary
### Changes since 10.1:
```
Adam Markowski (1):
po: Update Polish translation.
Aida Jonikienė (1):
wined3d: Add DXT format mappings in the Vulkan renderer.
Alex Henrie (6):
urlmon/tests: Use wide character string literals.
advapi32/tests: Use wide character string literals.
setupapi: Use wide character string literals.
msxml3: Use wide character string literals.
krnl386: Add a WOWCallback16Ex flag to simulate a hardware interrupt.
mmsystem: Simulate a hardware interrupt in MMSYSTDRV_Callback3216.
Alexandre Julliard (31):
user32: Set last error on failed window enumeration.
server: Fix desktop access check for window enumeration.
ntdll: Add a helper function to retrieve the .so directory.
ntdll: Add a helper function to get the alternate 32/64-bit machine.
ntdll: Set the WINELOADER variable on the PE side, using a Windows path.
loader: Install the Wine loader in the Unix lib directory.
tools: Add a simpler Wine launcher in the bin directory.
tools: Move the loader man pages to the new Wine loader directory.
dbghelp: Always use the WINELOADER variable for the loader name.
ntdll: Disable file system redirection until the initial exe is loaded.
ntdll: Look for a builtin exe corresponding to the loader basename.
makefiles: Install binaries as symlinks to wine.
ntdll: Allow forcing new wow64 mode by setting WINEARCH=wow64.
ntdll: Move setting DYLD_LIBRARY_PATH on macOS to the loader.
makefiles: Create wine as a symlink to tools/wine/wine.
makefiles: Link to the wine loader in the tools directory if it was built.
makefiles: Generate the wow64 symlinks from makedep.
makefiles: Generate more of the re-configure rules from makedep.
make_unicode: Update timezone data source to version 2025a.
makefiles: Don't clean files in other directories.
png: Import upstream release 1.6.45.
lcms2: Import upstream release 2.17.
faudio: Import upstream release 25.02.
rsaenh: Use RtlGenRandom() directly.
rsaenh: Don't use printf.
vkd3d: Import upstream release 1.15.
lcms2: Allow creating a transform without specifying input/output formats.
server: Support an arbitrary number of PE sections.
ntdll: Support an arbitrary number of PE sections.
vkd3d: Update version number.
makefiles: Fix the distclean target to clean everything.
Alexandros Frantzis (1):
winewayland: Don't crash on text input done events without focus.
Anton Baskanov (1):
winedbg: Make crash dialog topmost.
Attila Fidan (4):
winewayland: Enable/disable the zwp_text_input_v3 object.
winewayland: Post IME update for committed text.
winewayland: Implement SetIMECompositionRect.
winewayland: Post IME update for preedit text.
Austin English (1):
mshtml: Add registry association for .log files.
Bernhard Übelacker (3):
wbemprox: Increase buffer size one iteration earlier (ASan).
ntdll/tests: Skip leap secondInformation test with older Windows versions.
msvcrt/tests: Add missing parameter pmode to _open call (ASan).
Biswapriyo Nath (3):
include: Add UI Automation Style ID definitions.
include: Add IWiaDevMgr2 definition in wia_lh.idl.
include: Add missing structures for wiadef.h in wia_lh.idl.
Brendan McGrath (3):
winedmo: Explicitly set 'Data1' value for VP9 GUID.
mf/tests: Add tests using a new WMV decoder MFT.
winegstreamer: Store and use previous WMV stride value.
Brendan Shanks (2):
configure: MacOS is always darwin*.
winecoreaudio: Avoid duplicate Program Change or Channel Aftertouch MIDI messages.
Connor McAdams (2):
quartz/tests: Add a test for resetting stream position after receiving EC_COMPLETE.
quartz/filtergraph: Allow changing stream position after receiving EC_COMPLETE.
Conor McCarthy (16):
mfplat/tests: Test putting work on an undefined queue id.
rtworkq/tests: Test putting work on an undefined queue id.
rtworkq: Support putting work on RTWQ_CALLBACK_QUEUE_UNDEFINED.
rtworkq: Support putting work on any id in RTWQ_CALLBACK_QUEUE_PRIVATE_MASK.
mfplat/tests: Introduce a helper to check the platform lock count.
mfplat/tests: Test mixing of MF platform functions with their Rtwq equivalents.
mfplat/tests: Test platform startup and lock counts.
rtworkq/tests: Test work queue.
rtworkq: Introduce a platform startup count.
rtworkq: Introduce an async result object cache.
mfplat: Free the inner cookie passed to resolver_create_cancel_object().
mfplat/tests: Release callback2 in test_event_queue().
mfplat/tests: Check for async result release after canceling work and shutting down.
rtworkq/tests: Test scheduled items.
rtworkq/tests: Test queue shutdown with pending items.
rtworkq: Do not cancel pending callbacks when closing a thread pool.
Damjan Jovanovic (2):
scrrun: Implement ITextStream::WriteBlankLines().
cmd: Add support for right-to-left handle redirection (2<&1).
Dmitry Timoshkov (17):
windowscodecs/tests: Add some tests for IWICBitmapFlipRotator.
windowscodecs: Implement IWICBitmapFlipRotator(WICBitmapTransformFlipHorizontal) for bitmaps with bpp >= 8.
windowscodecs: Implement IWICBitmapFlipRotator(WICBitmapTransformRotate90) for bitmaps with bpp >= 8.
windowscodecs: Simplify a bit FlipRotator_CopyPixels() implementation.
wldap32: Enable libldap tracing with +wldap32 channel.
wldap32: Don't use win32 constant when calling into libldap.
oleaut32: Fix logic for deciding whether type description follows the name.
oleaut32: 'typekind' is the last field of SLTG_OtherTypeInfo structure.
oleaut32: Implement decoding of SLTG help strings.
oleaut32: Add support for decoding SLTG function help strings.
oleaut32: Add support for decoding SLTG variable help strings.
oleaut32: Make OleLoadPicture load DIBs using WIC decoder.
server: Add support for merging WM_MOUSEWHEEL messages.
oleaut32: Add missing fixup for SLTG typename offset.
oleaut32: Avoid double initialization of TypeInfoCount when reading SLTG typelib.
gdiplus: Add support for more image color formats.
gdiplus/tests: Add some tests for loading TIFF images in various color formats.
Elizabeth Figura (9):
shdocvw: Remove ParseURLFromOutsideSource() implementation.
shdocvw: Remove URLSubRegQueryA() implementation.
wined3d: Propagate a CLEARED location when blitting.
wined3d: Explicitly check for BUFFER/SYSMEM before calling wined3d_texture_download_from_texture().
wined3d: Introduce initial support for Direct3D 10+ 2-plane formats.
wined3d: Forbid creating unaligned planar textures.
wined3d: Forbid unaligned blits for planar textures.
wined3d: Implement creating views of planar resources.
d3d11: Implement D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT.
Eric Pouech (4):
cmd/tests: Add tests about echo mode persistence across batch calls.
cmd: Preserve echo mode across interactive batch invocation.
cmd/tests: Add tests wrt. variable expansion with substring modifition.
cmd: Fix substring substitution in variable expansion.
Esme Povirk (4):
comctl32: Test for an IAccessible interface on SysLink controls.
comctl32: Further testing of SysLink IAccessible.
comctl32: Stub IAccessible interface for SysLink controls.
comctl32: Implement accRole for SysLink controls.
Francis De Brabandere (1):
vbscript: Add Join implementation.
Gabriel Ivăncescu (2):
mshtml: Clear the documents list when detaching inner window.
jscript: Use as_jsdisp where object is known to be a jsdisp.
Gijs Vermeulen (1):
winegstreamer: Implement IWMSyncReader2::GetMaxOutputSampleSize.
Hans Leidekker (1):
sort: Support /+n option.
Jacek Caban (11):
ntdll: Pass WINE_MODREF to import_dll.
ntdll: Pass importer pointer to find_ordinal_export.
ntdll: Pass importer pointer to find_named_export.
ntdll: Pass importer pointer to find_forwarded_export.
ntdll: Pass importer pointer to build_import_name.
ntdll: Use NULL importer in LdrGetProcedureAddress.
ntdll: Remove no longer needed current_modref.
msvcp: Avoid explicitly aligning structs passed by value.
msvcp60: Avoid explicitly aligning structs passed by value.
ntdll: Use signed type for IAT offset in LdrResolveDelayLoadedAPI.
winebuild: Avoid using .idata section for delay-load import libraries.
Jinoh Kang (11):
server: Don't fail SetThreadPriority() on terminated threads.
kernel32/tests: Add a basic FlushProcessWriteBuffers stress test.
kernel32/tests: Add a store buffering litmus test involving FlushProcessWriteBuffers.
include: Fix ReadNoFence64 on i386.
server: Fix incorrect usage of __WINE_ATOMIC_STORE_RELEASE in SHARED_WRITE_BEGIN/SHARED_WRITE_END.
include: Prevent misuse of __WINE_ATOMIC_* helper macros for non-atomic large accesses.
kernel32/tests: Add basic tests for internal flags of modules loaded with DONT_RESOLVE_DLL_REFERENCES.
kernel32/tests: Test for unexpected LDR_PROCESS_ATTACHED flag in import dependency loaded with DONT_RESOLVE_DLL_REFERENCES.
kernel32/tests: Test for unexpected loader notification for import dependency loaded with DONT_RESOLVE_DLL_REFERENCES.
ntdll: Skip DLL initialization and ldr notification entirely if DONT_RESOLVE_DLL_REFERENCES is set.
ntdll: Remove redundant LDR_DONT_RESOLVE_REFS checks before calling process_attach().
Joe Souza (3):
cmd/tests: Add tests for command DIR /O.
cmd: Cleanup DIR /O logic.
cmd: Implement ability to abort lengthy directory operations via Ctrl-C.
Marc-Aurel Zent (5):
server: Also set thread priorities upon process priority change.
kernel32/tests: Setting process priority on a terminated process should succeed.
server: Implement apply_thread_priority on macOS for application priorities.
server: Implement apply_thread_priority on macOS for realtime priorities.
server: Apply Mach thread priorities after process tracing is initialized.
Martin Storsjö (2):
ntdll: Allow running arm/aarch64 in (old) wow64 mode.
server: Include ARMNT as one of the supported architectures on aarch64.
Michele Dionisio (2):
timeout: Add a timeout command.
timeout/tests: Add minimal test suite.
Mohamad Al-Jaf (14):
windows.web/tests: Remove superfluous cast.
windows.web/tests: Add IJsonValue::get_ValueType() tests.
windows.web: Implement IJsonValue::get_ValueType().
windows.web: Partially implement IJsonValueStatics::Parse().
windows.web: Add error handling in IJsonValue::GetArray().
windows.web: Add error handling in IJsonValue::GetObject().
windows.web: Implement IJsonValue::GetString().
windows.web: Implement IJsonValue::GetNumber().
windows.web: Implement IJsonValue::GetBoolean().
windows.web/tests: Add IJsonValueStatics::Parse() tests.
include: Reorder windows.storage.stream classes.
windows.storage: Add stub dll.
windows.storage: Move RandomAccessStreamReference class from wintypes.
windows.storage: Add error handling in IRandomAccessStreamReferenceStatics::CreateFromStream().
Nikolay Sivov (41):
windowscodecs: Implement CreateMetadataWriter().
windowscodecs/metadata: Create nested writer instances when loading IFD data.
windowscodecs/metadata: Add a stub for WICApp1MetadataWriter.
windowscodecs: Filter options in CreateMetadataWriter().
windowscodecs/metadata: Add initial implementation of CreateMetadataWriterFromReader().
windowscodecs/tests: Add an item enumeration test for the App1 reader.
windowscodecs/metadata: Implement SetValue().
maintainers: Add myself to the scrrun.dll section.
wbemprox: Fix a memory leak while filling Win32_PnPEntity fields.
windowscodecs/metadata: Recursively create nested writers in CreateMetadataWriterFromReader().
windowscodecs/tests: Use generic block writer for testing.
windowscodecs/tests: Add some tests for querying nested readers in App1 format.
windowscodecs/tests: Add some tests for the query writer used on App1 data.
windowscodecs/metadata: Handle nested metadata handlers lookup by CLSID.
windowscodecs/tests: Add a top level block enumerator for the test block writer.
windowscodecs/tests: Add some tests for handler objects enumerator.
windowscodecs: Add missing traces to the IWICEnumMetadataItem implementation.
msi: Avoid invalid access when handling format strings.
windowscodecs/tests: Add some query tests with the Unknown reader.
windowscodecs/metadata: Share implementation between query reader and writer objects.
windowscodecs/tests: Add some tests for CreateQueryWriter().
windowscodecs/tests: Add query reader tests for live block reader updates.
windowscodecs/tests: Add some tests for CreateQueryWriterFromReader().
windowscodecs/tests: Add some tests for the query reader container format.
windowscodecs/metadata: Use VT_LPWSTR type instead of BSTRs when parsing queries.
windowscodecs/metadata: Collect query components before assigning values.
windowscodecs/metadata: Add a helper to parse query index syntax.
windowscodecs/metadata: Use separate helpers to parse query items.
windowscodecs/metadata: Handle empty items in queries.
windowscodecs/metadata: Return query writer object from GetMetadataByName() when block writer is used.
windowscodecs/metadata: Base returned query handlers on metadata handlers.
windowscodecs: Implement CreateQueryWriter().
windowscodecs/tests: Add some tests for default metadata item set.
windowscodecs/metadata: Add flags mask to configure builtin handlers.
windowscodecs/metadata: Implement removing items with IWICMetadataWriter.
windowscodecs/tests: Add some tests for RemoveMetadataByName().
windowscodecs/metadata: Implement RemoveMetadataByName().
windowscodecs/tests: Remove WinXP workarounds from png metadata test.
windowscodecs/tests: Move non-specific CreateQueryReaderFromBlockReader() tests to a separate function.
windowscodecs/tests: Add a test for reader instances returned from the decoder.
windowscodecs: Remove TGA decoder.
Paul Gofman (24):
user32/tests: Test system generated WM_MOUSEMOVE with raw input.
server: Ignore WM_MOUSEMOVE with raw input / RIDEV_NOLEGACY.
dwmapi: Sleep in DwmFlush().
ntoskrnl.exe/tests: Open directory object with nonzero access in test_permanent().
httpapi: Don't open files with zero access.
kernel32: Don't open reg keys with zero access mask.
setupapi: Don't open reg keys with zero access mask.
devenum: Don't open reg keys with zero access mask.
quartz: Don't open reg keys with zero access mask.
wbemprox: Don't open reg keys with zero access mask.
shell32: Don't open reg keys with zero access mask.
server: Check for zero access in alloc_handle().
include: Add cfgmgr ID list filter constants.
setupapi: Implement CM_Get_Device_ID_List[_Size]W().
setupapi: Implement CM_Get_Device_ID_List[_Size]A().
setupapi: Make device instance handlers persistent.
setupapi: Implement CM_Locate_DevNode[_Ex]{A|W}().
winex11.drv: Sort Vulkan physical devices in get_gpu_properties_from_vulkan().
win32u: Sort Vulkan physical devices in get_vulkan_gpus().
crypt32/tests: Add test for chain engine cache update.
crypt32: Lock store in MemStore_deleteContext().
crypt32: Do not temporary delete contexts in I_CertUpdateStore().
crypt32: Only sync registry store if registry has changed.
crypt32: Resync world store for default engines in get_chain_engine().
Rémi Bernon (11):
win32u: Introduce a new add_virtual_mode helper.
win32u: Pass host enumerated display modes to get_virtual_modes.
win32u: Keep virtual screen sizes in a SIZE array.
win32u: Introduce a new get_screen_sizes helper.
win32u: Check generated sizes with the maximum display mode.
win32u: Generate fake resolution list from the host modes.
win32u: Generate modes for the host native frequency.
server: Introduce a new find_mouse_message helper.
winetest: Ignore success and color codes in tests output limit.
win32u: Drop now unnecessary WM_WINE_DESKTOP_RESIZED internal message.
winex11: Delay changing window config if win32 side is still minimized.
Sven Baars (2):
win32u: Fix an uninitialized variable warning on GCC 10.
winegstreamer: Fix a compiler warning with GStreamer 1.18 or lower.
Torge Matthies (2):
ntdll: Add sys_membarrier-based implementation of NtFlushProcessWriteBuffers.
ntdll: Add thread_get_register_pointer_values-based implementation of NtFlushProcessWriteBuffers.
Vibhav Pant (10):
winebth.sys: Don't call dbus_pending_call_set_notify with a NULL pending call.
winebth.sys: Implement IOCTL_WINEBTH_RADIO_SET_FLAG.
winebth.sys: Call bluez_watcher_close as part of bluetooth_shutdown.
bluetoothapis: Add stub for BluetoothEnableIncomingConnections.
bluetoothapis/tests: Add tests for BluetoothEnableIncomingConnections.
bluetoothapis: Implement BluetoothEnableIncomingConnections.
bluetoothapis: Add stub for BluetoothEnableDiscovery.
bluetoothapis/tests: Add tests for BluetoothEnableDiscovery.
bluetoothapis: Implement BluetoothEnableDiscovery.
winebth.sys: Free Unix handle to the local radio after updating its properties.
Wei Xie (1):
http.sys: Avoid crashes in complete_irp() if http header value is space.
Zhiyi Zhang (17):
prntvpt: Add a missing return (Coverity).
ntdll: Implement RtlEnumerateGenericTableWithoutSplaying().
ntdll/tests: Add RtlEnumerateGenericTableWithoutSplaying() tests.
ntdll: Implement RtlEnumerateGenericTable().
ntdll/tests: Add RtlEnumerateGenericTable() tests.
ntdll: Implement RtlGetElementGenericTable().
ntdll/tests: Add RtlGetElementGenericTable().
user32/tests: Test TME_LEAVE when the cursor is not in the specified tracking window.
win32u: Post WM_MOUSELEAVE immediately when the cursor is not in the specified tracking window.
include: Add D3DKMT_DRIVERVERSION.
gdi32/tests: Add D3DKMTQueryAdapterInfo() tests.
win32u: Support KMTQAITYPE_CHECKDRIVERUPDATESTATUS for NtGdiDdDDIQueryAdapterInfo().
win32u: Support KMTQAITYPE_DRIVERVERSION for NtGdiDdDDIQueryAdapterInfo().
winex11.drv: Go though WithdrawnState when transitioning from IconicState to NormalState.
d2d1: Add D2D1ColorMatrix effect stub.
d2d1: Add D2D1Flood effect stub.
d3d11/tests: Test D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT feature.
```
The Wine development release 10.1 is now available.
What's new in this release:
- A wide range of changes that were deferred during code freeze.
- Root certificates fixes for Battle.net.
- Print Provider improvements.
- More progress on the Bluetooth driver.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.1.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.1/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.1 (total 35):
- #27245 Internet Settings security zones not i18n-ed
- #35981 Battlefield: Bad Company 2 (Russian locale) updater has missing glyphs
- #39576 Sound in StarCraft 2 breaks after
- #39733 OpenGL Extensions Viewer 4.x (.NET 4.0 app) fails to start with Wine-Mono
- #41342 Build with winegcc is not reproducible
- #46580 HoMM3 WOG: can't enter russian text speaking with sphynx
- #46702 GNUTLS_CURVE_TO_BITS not found
- #52221 GameMaker 8: Missing sound effects
- #53644 vbscript can not compile classes with lists of private / public / dim declarations
- #54752 RUN Moldex3D Viewer will Crash
- #55155 Telegram can not be run in latest version wine, but ok in wine6.0.4
- #56530 Final Fantasy XI Online: Memory leak when Wine is built with CFLAGS="-g -mno-avx".
- #56559 iologo launcher cannot download setup program
- #56658 When using Kosugi for vertical writing, some punctuation marks are not placed correctly.
- #56703 Crash when installing Rhinoceros 8.6
- #56876 Paint Tool SAIv2 VirtualAlloc invalid address on commit
- #57191 Flickering image on Video-surveilance-Software
- #57338 wine-gecko/wine-mono don't cache their installers if using a username with unicode characters
- #57360 Wrong Combobox dropdown in 7zFM
- #57529 reMarkable application crash on new winehq-devel 10 RC1
- #57563 vbscript: mid() throws when passed VT_EMPTY instead of returning empty string
- #57626 SteuerErklarung 2025 halts: windows 8 is not compatible
- #57650 osu! stable: Insert key to minimize to tray does not hide game window (regression)
- #57664 New problems with SudoCue under Win 10.0 rc5
- #57675 err:virtual:virtual_setup_exception stack overflow 3072 bytes addr 0x7bd5b54c stack 0x81100400
- #57689 Menus misplaced on X11 when using dual monitor with right monitor as primary
- #57690 .NET Framework 4.8 installer hangs
- #57692 No context menu in Reason (DAW)
- #57698 Reason's (DAW) dialog windows stopped registering mouse events and open at screen's right edge
- #57704 Compile Error since 10.0rc5+
- #57710 Cannot open main menu via keyboard in Reason (DAW)
- #57711 The 32-bit wpcap program has a stack leakage issue
- #57766 Win3_BIOS most likely should be Win32_BIOS instead
- #57787 Final Fantasy XI Online crashes with unhandled page fault on launch
- #57794 WinHTTP implementation assumes HTTP response has a status text
### Changes since 10.0:
```
Akihiro Sagawa (2):
gdi32/tests: Add tests for script-independent vertical glyph lookup.
win32u: Use the first vertical alternates table regardless of script.
Alex Henrie (20):
concrt140: Annotate allocators with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
msvcirt: Annotate allocators with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
msvcp60: Annotate allocators with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
msvcp90: Annotate allocators with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
msvcrt: Annotate allocators with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
ntdll: Return an error if count is zero in NtRemoveIoCompletionEx.
shell32/tests: Add tests for StrRetToStrN null termination.
shlwapi: Correct return value of StrRetToBuf on an invalid type.
shell32: Use StrRetToBuf instead of reimplementing it.
comdlg32: Use StrRetToBuf instead of reimplementing it.
hhctrl: Fix spelling of "local" in OnTopicChange.
tapi32: Use wide character string literals.
winhlp32: Use wide character string literals.
shlwapi: Use wide character string literals.
cryptui: Use wide character string literals.
hhctrl: Use wide character string literals.
urlmon: Make security zone names and descriptions translatable.
ieframe: Use wide character string literals.
hhctrl: Fix window class name in HH_CreateHelpWindow.
hhctrl: Make "Select Topic" window title translatable.
Alexandre Julliard (39):
shell32: Move some function prototypes to shlwapi.h.
winedump: Dump MUI resources.
wrc: Remove the unused res_count structure.
include: Mark global asm functions as hidden.
kernel32: Implement RegisterWaitForInputIdle().
wineps: Don't store the glyph name or encoding for individual glyphs.
wineps: Don't parse the glyph name or encoding when loading AFM files.
wineps: Remove some unused AFM values.
wineps: Use simple strings for glyph names.
win32u: Implement NtUserDestroyCaret().
win32u: Implement NtUserReleaseCapture().
win32u: Implement NtUserGetThreadState().
win32u: Implement NtUserCreateMenu() and NtUserCreatePopupMenu().
win32u: Implement NtUserEnumClipboardFormats().
win32u: Implement NtUserMessageBeep().
win32u: Implement NtUserPostQuitMessage().
win32u: Implement NtUserRealizePalette().
win32u: Implement NtUserReplyMessage().
win32u: Implement NtUserSetCaretBlinkTime().
win32u: Implement NtUserSetCaretPos().
win32u: Implement NtUserSetProcessDefaultLayout().
win32u: Implement NtUserGetClipCursor().
win32u: Implement NtUserArrangeIconicWindows().
win32u: Implement NtUserDrawMenuBar().
win32u: Implement NtUserGetWindowContextHelpId().
win32u: Implement NtUserSetProgmanWindow() and NtUserSetTaskmanWindow().
win32u: Implement NtUserEnableWindow().
win32u: Implement NtUserSetWindowContextHelpId().
win32u: Implement NtUserShowOwnedPopups().
win32u: Implement NtUserUnhookWindowsHook().
win32u: Implement NtUserValidateRgn().
winedbg: Remove unneeded wrap around checks.
winegcc: Always specify the output file name when there's no spec file.
kernel32/tests: Remove some workarounds for old Windows versions.
kernel32/tests: Add tests for language-specific manifest lookup.
ntdll: Implement language-specific manifest lookup.
server: Do not allow creating mailslots with zero access.
server: Do not allow creating named pipes with zero access.
server: Skip non-accessible threads in NtGetNextThread().
Alexandros Frantzis (1):
winewayland: Round the Wayland refresh rate to calculate the win32 display frequency.
Arkadiusz Hiler (1):
jscript: Fix JSON.stringify for arrays longer than 10.
Bernhard Übelacker (1):
kernel32/tests: Match the value in the debug message the test condition.
Billy Laws (1):
ntdll: Detect kernel support before using ARM64 ID regs.
Brendan McGrath (2):
mfplat/tests: Add audio tests for MFInitMediaTypeFromAMMediaType.
mfplat: Add support for audio with NULL format to MFInitMediaTypeFromAMMediaType.
Brendan Shanks (2):
winemac: [NSWindow setAlphaValue:] must be called from the main thread.
winemac: [NSWindow contentView] must be called from the main thread.
Conor McCarthy (2):
mfsrcsnk: Release object queue objects on destruction.
mfsrcsnk: Release the async request popped sample after sending it.
Damjan Jovanovic (1):
user32: Copy the clipboard format iterator's position when cloning it.
Daniel Lehman (4):
msvcp140/tests: Add more tests for _Mtx_t.
msvcp140: Fix field order in _Mtx_t.
include: Add signbit declarations for c++.
msvcp140: Add padding to _Cnd_t.
Dean M Greer (2):
documentation: Mac OS X became macOS from 10.12.
readme: Update mac info section.
Dmitry Timoshkov (31):
wldap32: Avoid crashes in interact_callback() if defaults is NULL.
wldap32: Add stub for ldap_get_option(LDAP_OPT_GETDSNAME_FLAGS).
wldap32: Add stub for ldap_set_option(LDAP_OPT_GETDSNAME_FLAGS).
wldap32: Add stub for ldap_set_option(LDAP_OPT_PROMPT_CREDENTIALS).
wldap32: Add stub for ldap_set_option(LDAP_OPT_REFERRAL_CALLBACK).
prntvpt: Also initialize dmDefaultSource field.
prntvpt: Forward BindPTProviderThunk to PTOpenProviderEx.
prntvpt: Forward UnbindPTProviderThunk to PTCloseProvider.
prntvpt: Implement ConvertDevModeToPrintTicketThunk2.
prntvpt: Implement GetPrintCapabilitiesThunk2.
prntvpt: Implement ConvertPrintTicketToDevModeThunk2.
prntvpt: Prefer builtin.
prntvpt: Add version resource.
kerberos: Update sizes to match modern implementations.
secur32: Update max token size for Negotiate.
prntvpt: Implement writing PageMediaSize capabilities.
prntvpt: Implement writing PageImageableSize capabilities.
crypt32: Add support for CryptMsgControl(CMSG_CTRL_ADD_CERT) to a being decoded message.
crypt32: Add szOID_APPLICATION_CERT_POLICIES to the list of supported critical extensions.
crypt32: Ignore CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG and CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG in CryptFindOIDInfo().
crypt32: Add support for CryptMsgControl(CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR) to a being decoded message.
crypt32: Add support for CryptMsgGetParam(CMSG_ENCRYPTED_DIGEST) to a being decoded signed message.
crypt32: Add support for CryptMsgControl(CMSG_CTRL_DEL_CERT) to a being decoded message.
crypt32: CertVerifyCertificateChainPolicy() extensions are registered under "EncodingType 0" key.
crypt32: Do not reject key usage data longer than 1 byte.
compstui: Add more string resources.
netapi32: Add stubs for DsGetDcOpenA/W.
wldap32: Use correct host when connecting to Kerberos DC.
wldap32: ldap_init() should resolve NULL hostname to default Kerberos DC.
wldap32/tests: Add some tests for LDAP authentication to a Kerberos DC.
prntvpt: Use Windows 10 version numbers.
Ekaterine Papava (1):
po: Update Georgian translation.
Elizabeth Figura (21):
msi: Fix a spelling error in the name of MigrateFeatureStates.
wined3d: Feed WINED3D_RS_POINTSIZE through a push constant buffer.
wined3d: Implement point size in the HLSL FFP pipeline.
wined3d: Implement vertex blending in the HLSL FFP pipeline.
wined3d: Feed bumpenv constants through a push constant buffer.
wined3d: Implement bumpenv mapping in the HLSL FFP pipeline.
wined3d: Implement colour keying in the HLSL FFP pipeline.
wined3d: Bind the right push constant buffers when FFP is toggled.
wined3d: Use ps_compile_args in shader_spirv_compile_arguments.
wined3d/spirv: Implement flat shading.
wined3d/glsl: Move legacy alpha test to shader_glsl_apply_draw_state().
wined3d: Feed alpha ref through a push constant buffer.
wined3d/spirv: Implement alpha test.
d3d9: Fix IUnknown delegation in IDirect3DDevice9On12.
wined3d: Do not disable point sprite in wined3d_context_gl_apply_blit_state().
wined3d: Do not toggle point sprite.
wined3d: Remove the redundant per_vertex_point_size from vs_compile_args.
wined3d: Remove FOGVERTEXMODE handling from find_ps_compile_args().
d3d11/tests: Remove the workaround for RTVs in test_nv12().
wined3d: Use the correct pitch when downloading Vulkan textures.
wined3d: Factor out a get_map_pitch() helper.
Eric Pouech (3):
include: Add some new definitions for dbghelp.h.
include: Add a couple of definitions to mscvpdb.h.
include: Use flexible array-member in some structure declarations.
Esme Povirk (5):
gdiplus: AddClosedCurve always starts a new subpath.
gdiplus: GdipAddPathPie always starts a new figure.
appwiz.cpl: Account for unicode characters in XDG_CACHE_HOME.
user32/tests: Move a todo into the message sequence.
user32/tests: Account for Wine sometimes duplicating WM_PAINT.
Etaash Mathamsetty (3):
wine.inf: Add UBR key.
winecfg: Add support for UBR key.
twinapi.appcore/tests: Fix broken registry query.
Fabian Maurer (4):
mlang: In GetFontCodePages add another null check (Coverity).
include: Add IConnectionProfile2.
windows.networking.connectivity: Add IConnectionProfile2 stubs.
windows.networking.connectivity: Fake success for IsWwanConnectionProfile and IsWlanConnectionProfile.
Francis De Brabandere (1):
vbscript: Support multiple class declarations on a single line.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.307.
Hans Leidekker (9):
xcopy: Fix handling of quoted filenames.
wpcap: Fix callback signature.
wine.inf: Pass command line arguments to msiexec.
wbemprox: Read Win32_PnPEntity values from the registry.
wbemprox: Implement Win32_PnPEntity.Service.
wbemprox/tests: Fix typo.
wbemprox: Fix allocation size.
ntdll: Stub NtQuerySystemInformation(SystemLeapSecondInformation).
winhttp: Accept server response without status text.
Herman Semenov (1):
msvcrt: Add missing TRACE_ON check.
Jacek Caban (1):
wdscore: Don't export C++ symbols.
Jactry Zeng (7):
include: Don't import .idl when DO_NO_IMPORTS is defined.
wintypes/tests: Add interface tests.
wintypes: Reimplement Windows.Foundation.Metadata.{ApiInformation,PropertyValue} separately.
wintypes: Stub of Windows.Storage.Streams.DataWriter runtimeclass.
wintypes: Return S_OK from data_writer_activation_factory_ActivateInstance().
wintypes: Stub of Windows.Storage.Streams.RandomAccessStreamReference runtimeclass.
wintypes: Stub of IRandomAccessStreamReferenceStatics interface.
Jeff Smith (2):
windowscodecs: Make values returned from CanConvert consistent.
windowscodecs: Simplify png_decoder_get_metadata_blocks using realloc.
Jinoh Kang (3):
ntoskrnl.exe: Fix IRQL mismatch between cancel spin lock acquire and release.
kernel32/tests: Use win_skip() for missing PrefetchVirtualMemory API.
ntdll: Fix syscall_cfa offset in user_mode_abort_thread for ARM64.
Makarenko Oleg (2):
dinput/tests: Add more tests for force feedback.
dinput: Clamp FFB effect report value to the field range.
Marc-Aurel Zent (1):
server: Use setpriority to update thread niceness when safe.
Mohamad Al-Jaf (10):
windows.networking.hostname: Guard against WindowsDuplicateString() failure.
windows.ui: Stub IUISettings3::add_ColorValuesChanged().
windows.ui: Stub IUISettings3::remove_ColorValuesChanged().
windows.ui.xaml: Add stub dll.
windows.ui.xaml: Add IColorHelperStatics stub interface.
windows.ui.xaml/tests: Add IColorHelperStatics::FromArgb() tests.
windows.ui.xaml: Implement IColorHelperStatics::FromArgb().
include: Add d3d9on12.idl file.
d3d9: Implement Direct3DCreate9On12().
d3d9/tests: Add Direct3DCreate9On12() tests.
Nikolay Sivov (43):
oleaut32/tests: Use correct constants for IStream::Seek().
windowscodecs/tests: Use correct constants for IStream::Seek().
windowscodecs/metadata: Use correct constants for IStream::Seek().
windowscodecs/ddsformat: Use correct constants for IStream::Seek().
d2d1: Use correct constants for IStream::Seek().
dmloader: Use correct constants for IStream::Seek().
kernel32/tests: Use correct constants for SetFilePointer().
wintrust: Use correct constants for SetFilePointer().
storage: Use correct constants for SetFilePointer().
krnl386: Use correct constants for SetFilePointer().
shell32: Use correct constants for SetFilePointer().
dmloader: Use correct constants for SetFilePointer().
include: Update with newer Direct2D types.
include: Update with newer DirectWrite types.
propsys/tests: Add some tests for PropVariantChangeType(VT_UI4).
propsys: Implement PropVariantToStringAlloc(VT_UI2).
propsys: Implement PropVariantToStringAlloc(VT_I4).
propsys: Implement PropVariantToStringAlloc(VT_I2).
propsys: Implement PropVariantToStringAlloc(VT_I1).
propsys: Implement PropVariantToStringAlloc(VT_UI1).
propsys: Implement PropVariantToStringAlloc(VT_UI4).
propsys: Implement PropVariantToStringAlloc(VT_I8).
propsys: Implement PropVariantToStringAlloc(VT_UI8).
propsys: Remove FIXME() from PropVariantChangeType().
windowscodecs/metadatahandler: Implement GetPersistOptions().
windowscodecs/metadatahandler: Implement GetStream().
windowscodecs/metadata: Add registration information for the Gps reader.
windowscodecs/metadata: Add registration information for the Exif reader.
windowscodecs/metadata: Add initial implementation of the App1 reader.
po: Update some Russian strings.
windowscodecs: Move component info registry key cleanup to a common failure path.
windowscodecs: Move an hkey handle to the component info base structure.
windowscodecs: Add a stub for IWICMetadataWriterInfo.
windowscodecs/metadata: Add registration information for the "Unknown" writer.
windowscodecs/metadata: Add a stub for WICUnknownMetadataWriter.
windowscodecs/metadata: Add a stub for WICGpsMetadataWriter.
windowscodecs/metadata: Add a stub for WICExifMetadataWriter.
windowscodecs/metadata: Add a stub for WICIfdMetadataWriter.
windowscodecs: Fix a typo in metadata readers registration helper.
windowscodecs: Remove redundant guid-to-string conversion when writing readers registration entries.
winhttp: Check for the end of the text when stripping trailing newlines from headers (ASan).
gdiplus/tests: Extend a GdipGetPathGradientBlend() test with excessive output buffer size.
gdiplus: Use actual blend count for output copies in GdipGetPathGradientBlend() (ASan).
Paul Gofman (37):
crypt32: Factor out CRYPT_RegDeleteFromReg().
crypt32: Factor out CRYPT_SerializeContextToReg().
crypt32: Don't output the whole chains from check_and_store_certs().
crypt32: Do not use temporary store for updating root certificates.
crypt32: Do not delete root certs which were not imported from host in sync_trusted_roots_from_known_locations().
crypt32/tests: Add more tests for VerifyCertChainPolicy().
crypt32: Fix some error codes in verify_ssl_policy().
crypt32: Check CERT_TRUST_REVOCATION_STATUS_UNKNOWN instead of CERT_TRUST_IS_OFFLINE_REVOCATION in verify_ssl_policy().
crypt32: Favour CERT_CHAIN_POLICY_IGNORE_END_REV_UNKNOWN_FLAG in verify_ssl_policy().
crypt32: Only mind end certificate when checking revocation status in verify_ssl_policy().
crypt32: Favour CERT_CHAIN_POLICY_IGNORE_WRONG_USAGE_FLAG in verify_ssl_policy().
crypt32: Use correct tag for OCSP basic response extensions.
crypt32: Use correct tag for OCSP single response extensions.
cryptnet: Retry OCSP request with POST if GET failed.
cryptnet: Do not perform OCSP requests with CERT_VERIFY_CACHE_ONLY_BASED_REVOCATION flag.
ntdll: Add NtConvertBetweenAuxiliaryCounterAndPerformanceCounter() function.
kernelbase: Add ConvertAuxiliaryCounterToPerformanceCounter() / ConvertPerformanceCounterToAuxiliaryCounter().
wine.inf: Add Explorer\FileExts registry key.
win32u: Generate mouse events in the server when releasing capture.
server: Don't send WM_MOUSEMOVE for zero movement in queue_mouse_message().
crypt32: Release cert context in CertDeleteCertificateFromStore().
crypt32: Factor out memstore_free_context() function.
crypt32: Don't try to release zero-refcount context in MemStore_addContext().
crypt32: Release existing cert context in add_cert_to_store().
crypt32: Only remove cert from mem store list when deleting it.
crypt32/tests: Add a test for deleting and adding certs during enumeration.
crypt32: Don't assert in Context_Release() on invalid refcount.
win32u: Nullify surface hwnd when detaching Vulkan surface.
win32u: Check for NULL hwnd before calling vulkan_surface_presented() driver callback.
win32u: Don't invalidate existing Vulkan surface when a new one is created for window.
winex11: Attach currently active Vulkan onscreen surface in vulkan_surface_update_offscreen().
crypt32/tests: Avoid use after free in testEmptyStore().
win32u: Implement NtUserGetCurrentInputMessageSource().
winex11: Update window shape before putting surface image.
winex11.drv: Pass visual to is_wxrformat_compatible_with_visual.
winex11.drv: Choose alpha-enabled xrender format for argb drawables.
ntdll: Zero terminate return string for NtQueryInformationProcess( ProcessImageFileName[Win32] ).
Piotr Caban (10):
propsys: Add PropVariantGetStringElem implementation.
ole32: Support all PROPVARIANT vector types in propertystorage_get_elemsize.
ole32: Update read offset in propertystorage_read_scalar helper.
ole32: Pass MemoryAllocator class to PropertyStorage_ReadProperty.
ole32: Support more vector datatypes when reading property storage.
ole32: Add support for reading VT_VECTOR|VT_VARIANT property.
ole32: Add support for reading VT_R4 property.
ole32: Fix IPropertyStorage::ReadMultiple return value when some properties are missing.
ole32: Set property storage clsid on creation.
msvcr120: Remove MSVCR120_ prefix from creal().
Piotr Morgwai Kotarbinski (2):
wined3d: Add Nvidia RTX30xx series desktop models data.
wined3d: Add Nvidia RTX40xx series desktop models data.
Rémi Bernon (5):
winex11: Allow Withdrawn requests to override Iconic <-> Normal transitions.
winex11.drv: Use get_win_data directly in X11DRV_GetDC.
server: Introduce new set_thread_priority helper.
ntdll: Set RLIMIT_NICE to its hard limit.
server: Check wineserver privileges on init with -20 niceness.
Sebastian Scheibner (2):
wineboot: Add dummy entry for SystemBiosDate.
explorerframe: Return S_OK in more ITaskbarList3 functions.
Shaun Ren (6):
sapi: Adding missing interfaces for SpStream.
sapi: Implement ISpStream::Set/GetBaseStream.
sapi: Implement ISpStream::Close.
sapi: Implement ISpStream::GetFormat.
sapi: Implement IStream methods for SpStream.
sapi: Remove some unnecessary traces.
Stefan Dösinger (6):
wined3d: Support WINED3DFMT_B5G5R5A1_UNORM in the Vulkan backend.
wined3d: Use VK_FORMAT_R4G4B4A4_UNORM_PACK16 for WINED3DFMT_B4G4R4A4_UNORM.
gdi32: Windows adds an extra 4 bytes to EMREXTCREATEPEN.
gdi32: Set EMREXTCREATEPEN offBmi and offBits.
gdi32: EMREXTCREATEPEN contains a 32 bit EXTLOGPEN.
gdi32/tests: Add an EMREXTCREATEPEN test.
Stéphane Bacri (4):
msvcr120: Fix _Cbuild signature.
msvcr120: Add cimag() implementation.
msvcr120: Add _FCbuild() implementation.
msvcr120: Add crealf() and cimagf() implementation.
Tim Clem (1):
imm32: Always validate the IME UI window when painting.
Vibhav Pant (6):
bluetoothapis/tests: Add tests for BluetoothGetRadioInfo.
bluetoothapis: Implement BluetoothGetRadioInfo.
bluetoothapis: Add stubs for BluetoothIsConnectable, BluetoothIsDiscoverable.
bluetoothapis/tests: Add tests for BluetoothIsConnectable, BluetoothIsDiscoverable.
bluetoothapis: Implement BluetoothIsConnectable.
bluetoothapis: Implement BluetoothIsDiscoverable.
William Horvath (2):
ntdll/tests: Add tests for NtDelayExecution and Sleep(Ex).
ntdll: Fix the return value of NtDelayExecution.
Yuxuan Shui (2):
dmime: Handle IStream EOF correctly in MIDI parser.
dmime: Connect default collection to MIDI bandtrack.
Zhiyi Zhang (32):
d2d1/tests: Add ID2D1Device2_GetDxgiDevice() tests.
d2d1: Remove an unnecessary cast in d2d_device_context_init().
d2d1: Implement d2d_device_GetDxgiDevice().
include: Add splay link tree helpers.
ntdll: Implement RtlSubtreePredecessor().
ntdll/tests: Add RtlSubtreePredecessor() tests.
ntdll: Implement RtlSubtreeSuccessor().
ntdll/tests: Add RtlSubtreeSuccessor() tests.
ntdll: Implement RtlRealPredecessor().
ntdll/tests: Add RtlRealPredecessor() tests.
ntdll: Implement RtlRealSuccessor().
ntdll/tests: Add RtlRealSuccessor() tests.
win32u: Allocate a separate user buffer when packing a large WM_COPYDATA message for user32.
user32/tests: Add tests for WM_COPYDATA.
ntdll: Implement RtlSplay().
ntdll/tests: Add RtlSplay() tests.
ntdll: Implement RtlDeleteNoSplay().
ntdll/tests: Add RtlDeleteNoSplay() tests.
ntdll: Implement RtlDelete().
ntdll/tests: Add RtlDelete() tests.
light.msstyles: Use light blue as hot tracking color instead of grey.
include: Fix PRTL_GENERIC_ALLOCATE_ROUTINE prototype.
ntdll/tests: Add RtlInitializeGenericTable() tests.
ntdll/tests: Add RtlNumberGenericTableElements() tests.
ntdll: Implement RtlIsGenericTableEmpty().
ntdll/tests: Add RtlIsGenericTableEmpty() tests.
ntdll: Implement RtlInsertElementGenericTable().
ntdll: Implement RtlDeleteElementGenericTable().
ntdll/tests: Add RtlInsertElementGenericTable() tests.
ntdll/tests: Add RtlDeleteElementGenericTable() tests.
ntdll: Implement RtlLookupElementGenericTable().
ntdll/tests: Add RtlLookupElementGenericTable() tests.
Zsolt Vadasz (1):
ntdll: Add a character map name for Shift JIS.
```