The Wine development release 10.17 is now available.
What's new in this release:
- Mono engine updated to version 10.3.0.
- EGL renderer used by default for OpenGL.
- COMCTL32 split into separate v5 and v6 modules.
- Better support for ANSI ODBC drivers.
- Improved CPU info on FreeBSD.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.17.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.17/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.17 (total 17):
- #16214 Copy command does not support CON or CON:
- #38987 tlReader 10.x crashes when searching dictionary (wxWidgets 2.9.4 questionable theming support detection via comctl32 v6 version resource)
- #46603 Metro 2033 crashes on exit
- #46823 in wcmd.exe, trailing slash in "if exist SomeDir/" cause always false
- #51119 INSIDE ground is black rendered with OpenGL renderer
- #52633 Some buttons from Free Virtual Keyboard's setting dialog are unthemed, needs comctl32 version 6.
- #56157 create_logical_proc_info (Stub) : Applications can not spawn multiple threads
- #56381 "type" does not support binary files
- #56391 So Blonde: very long loading times
- #57448 Erratic mouse movement with waylanddriver in Throne and Liberty
- #57574 Wine 9.20: Application window positioning regression on laptop with multi monitor display setup
- #57691 wine-mono: ASan gets triggered in mono_path_canonicalize with strcpy-param-overlap.
- #58726 "Roon" music player only shows a blank white screen but buttons (that aren't displayed) technically work
- #58737 Download of large file via WinHTTP fails with WSATIMEDOUT
- #58755 16-bit applications crash under new wow64 on some processors
- #58770 Unable to Compile 10.16
- #58796 Wine configuration window doesn't appear after prefix creation
### Changes since 10.16:
```
Alexandre Julliard (37):
winebuild: Add support for stripping files before setting the builtin flag.
makedep: Use winebuild to strip installed files.
tools: Add an STRARRAY_FOR_EACH macro to iterate an strarray.
makedep: Use the STRARRAY_FOR_EACH macro.
widl: Use the STRARRAY_FOR_EACH macro.
wine: Use the STRARRAY_FOR_EACH macro.
winebuild: Use the STRARRAY_FOR_EACH macro.
winegcc: Use the STRARRAY_FOR_EACH macro.
wrc: Use the STRARRAY_FOR_EACH macro.
server: Consistently use STATUS_TOO_MANY_OPENED_FILES when running out of file descriptors.
gitlab: Use the release keyword to create a release.
winedump: Rename struct array to str_array.
tools: Add a generic array type.
makedep: Use a generic array for dependencies.
makedep: Use a generic array for include files.
makedep: Add an array of install commands instead of abusing strarrays.
makedep: Build the installed file name when registering the install command.
configure: Fix syntax error in hwloc check.
windows.devices.enumeration: Fix the build with older Bison.
ntdll: Don't assume that the NT name is null-terminated in get_load_order().
ntdll: Build the NT name string directly in get_mapping_info().
server: Return the module export name with the mapping info.
ntdll: Use the export name if any to find the corresponding builtin.
setupapi: Use the actual source name when registering a manifest.
makedep: Include maintainer-generated files from the parent source directory.
makedep: Use normal installation rules when symlinks are not supported.
comctl32: Move version resource to a separate file.
makefiles: List headers in the makefile if they shadow a global header.
setupapi: Only use the actual source name for the first file in the manifest.
msi/tests: Clear the export directory on copied dll to prevent loading the builtin.
tools: Move the fatal_perror function to the shared header.
tools: Add a shared helper to create a directory.
tools: Add an install tool.
makedep: Use the new install tool.
shell32: Move ShellMessageBox implementation to shlwapi.
configure: Remove a couple of unnecessary checks.
makedep: Don't use LDFLAGS for special programs like the preloader.
Bernhard Übelacker (1):
winegcc: Forward large address aware flag with platform windows.
Brendan Shanks (2):
winemac: Draw black letter/pillarboxes around full-screen content.
winemac: Remove the no-longer-needed macdrv_dll.h.
Connor McAdams (10):
d3dx10/tests: Use readback functions from d3d10core tests for resource readback.
d3dx10/tests: Add tests for the D3DX10_IMAGE_LOAD_INFO structure argument.
d3dx10: Fill pSrcInfo structure in D3DX10_IMAGE_LOAD_INFO if passed in.
d3dx10: Create 3D textures for images representing 3D textures.
d3dx10: Add support for custom texture dimension arguments in D3DX10_IMAGE_LOAD_INFO.
d3dx10: Add support for handling the format field in D3DX10_IMAGE_LOAD_INFO.
d3dx10: Handle filter value passed in via D3DX10_IMAGE_LOAD_INFO.
d3dx10: Add support for generating mipmaps to load_texture_data().
d3dx10: Handle FirstMipLevel argument in load_texture_data().
d3dx10: Pass D3DX10_IMAGE_LOAD_INFO texture creation arguments through in load_texture_data().
Damjan Jovanovic (1):
ntdll: Implement create_logical_proc_info on FreeBSD.
Dmitry Timoshkov (20):
include: Properly declare IADsPathname interface.
adsldp: Properly declare IADs and IADsADSystemInfo interfaces.
include: Add declarations for IADsDNWithString and IADsDNWithBinary interfaces.
activeds: Add IADsDNWithBinary class implementation.
adsldp: Use correct DN in IDirectorySearch::ExecuteSearch().
adsldp: Reimplement IADs::GetInfoEx() on top of IDirectorySearch interface.
adsldp: Implement IADs::GetEx().
adsldp/tests: Add some tests for IADs::GetEx().
adsldp: Implement IADs::get_Schema().
adsldp: Fail to create IADs if it doesn't have an associated schema attribute.
activeds: Retry without ADS_SECURE_AUTHENTICATION for an AD path.
adsldp/tests: Add some tests for IADs::get_Schema().
adsldp: Accept virtual objects in IADsOpenDSObject::OpenDSObject().
adsldp/tests: Add a test for opening schema as an ADs object.
activeds: Add registration of IADsDNWithString and IADsDNWithBinary objects.
adsldp: Add IADsObjectOptions stub implementation.
adsldp: Add support for IADsObjectOptions::GetOption(ADS_OPTION_SERVERNAME).
adsldp: Add support for IADsObjectOptions::GetOption(ADS_OPTION_ACCUMULATIVE_MODIFICATION).
adsldp: Return success for IADsObjectOptions::SetOption(ADS_OPTION_ACCUMULATIVE_MODIFICATION) stub.
activeds: Remove misleading comments.
Elizabeth Figura (9):
ddraw/tests: Fix some tests on modern Windows.
ddraw/tests: Expand and fix tests for EnumDevices().
ddraw: Expose the RGB device for version 1.
ddraw: Reorder ddraw7 enumeration.
ddraw: Rename the RGB device to "RGB Emulation".
ddraw: Fix the size for d3d1 and d3d2 EnumDevices().
user32/tests: Inline process helpers into test_child_process().
ntdll: Also fix up invalid gsbase in the syscall and unix call dispatchers.
shell32/tests: Expand attributes tests.
Eric Pouech (13):
wineconsole: Ensure conhost gets the expected title.
conhost: Support the close-on-exit configuration option.
winedbg: No longer expect a startup sequence in auto mode.
cmd/tests: Add some tests when using "complex" commands in pipes.
cmd: Introduce a new node for describing blocks.
cmd: Refactor run_external_full_path().
cmd: Introduce helper for handling pipe commands.
cmd: Run single commands in pipe in external cmd instance.
cmd: Rewrite binary operations for pipes.
cmd: Add support for IF commands in rewrite.
cmd: Rewrite FOR commands for pipe.
cmd: Rewrite explicit blocks for pipe.
cmd: Remove transition helpers for pipe commands.
Esme Povirk (3):
winbrand: Add stub dll.
winbrand: Partially implement BrandingFormatString.
mscoree: Update Wine Mono to 10.3.0.
Felix Hädicke (1):
winhttp: Type UINT64 for variables content_length and content_read.
Gabriel Ivăncescu (11):
mshtml: Factor out XMLHttpRequest creation.
mshtml: Factor out XMLHttpRequest constructor init.
mshtml: Separate the ifaces and the other XHR fields.
mshtml: Factor out XMLHttpRequest's get_responseText.
mshtml: Factor out XMLHttpRequest's abort.
mshtml: Factor out XMLHttpRequest's open.
mshtml: Factor out XMLHttpRequest's send.
mshtml: Add XDomainRequest factory implementation.
mshtml: Implement XDomainRequest.open().
mshtml: Implement timeout for XDomainRequest.
mshtml: Implement contentType for XDomainRequest.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.329.
Giovanni Mascellani (22):
mmdevapi/tests: Test after sleeping with read_packets().
mmdevapi/tests: Move GetBufferSize() checks to the beginning of the test.
mmdevapi/tests: Move checking the current padding out of read_packets().
mmdevapi/tests: Test after overrunning buffer with read_packets().
mmdevapi/tests: Test after stopping and restarting the client with read_packets().
mmdevapi/tests: Test after stopping, resetting and restarting the client with read_packets().
mmdevapi/tests: Iterate independently on sampling rates, channel counts and sample formats when rendering.
mmdevapi/tests: Tweak the lists of audio format to test.
mmdevapi/tests: Simplify checking IsFormatSupported() result when rendering.
mmdevapi/tests: Check that Initialize() matches IsFormatSupported() when rendering.
mmdevapi/tests: Test flag AUDCLNT_STREAMFLAGS_RATEADJUST when rendering.
mmdevapi/tests: Test flag AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM when rendering.
mmdevapi/tests: Test extensible wave formats when rendering.
dsound: Remove dead lead-in logic.
dsound: Simplify a condition in DSOUND_MixInBuffer().
mmdevapi/tests: Iterate independently on sampling rates, channel counts and sample formats when capturing.
mmdevapi/tests: Tweak the lists of audio format to test when capturing.
mmdevapi/tests: Simplify checking IsFormatSupported() result when capturing.
mmdevapi/tests: Check that Initialize() matches IsFormatSupported() when capturing.
mmdevapi/tests: Test flag AUDCLNT_STREAMFLAGS_RATEADJUST when capturing.
mmdevapi/tests: Test flag AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM when capturing.
mmdevapi/tests: Test extensible wave formats when capturing.
Hans Leidekker (1):
bcrypt: Support import/export for generic ECDH/ECDSA algorithms.
Jacek Caban (4):
mshtml: Reset event handlers in document.open.
win32u: Wrap vkGetPhysicalDeviceProperties2[KHR].
win32u: Move LUID handling from winevulkan.
winevulkan: Use generated PE thunks for vkGetPhysicalDeviceProperties2[KHR].
James McDonnell (3):
shell32: Add shield icon.
shell32: Map stock icons to shell32 resource id.
shell32/tests: Add a test for stock icons.
Jiangyi Chen (2):
user32/tests: Add some tests for uiLengthDrawn calculation in DrawTextExW().
user32: Fix uiLengthDrawn calculation in DrawTextExW().
Jinoh Kang (1):
ntdll: Use ReadPointerAcquire to get pointer value in RtlRunOnceComplete.
Louis Lenders (2):
gdi32: Add stub for GetEnhMetaFilePixelFormat.
uxtheme: Add stub for GetThemeBitmap.
Luca Bacci (1):
ntdll: Use ReadPointerAcquire to get pointer value in RtlRunOnceBeginInitialize.
Marc-Aurel Zent (4):
server: Add get_effective_thread_priority() helper.
server: Add set_thread_disable_boost() helper.
server: Boost main thread priority.
ntdll: Switch to CLOCK_BOOTTIME for monotonic counters when available.
Matteo Bruni (6):
d3dx9: Handle inverse transposed matrix in UpdateSkinnedMesh().
d3dx9/tests: Skip ID3DXRenderToSurface tests if BeginScene() fails.
d3dx9/tests: Increase tolerance in test_D3DXSHEvalDirectionalLight().
d3dx9/tests: Add some fallback formats in the texture tests.
d3dx10/tests: Disable size validation test.
d3dx11/tests: Disable size validation test.
Michael Müller (1):
shell32: Set SFGAO_HASSUBFOLDER correctly for normal shellfolders.
Michael Stefaniuc (11):
dmstyle: Move the parsing of the style bands to a helper.
dmstyle: Avoid Hungarian notation in a private struct.
dmstyle: Simplify the load_band() helper.
dmstyle: Move the IStream resetting to the load_band() helper.
dmstyle: Use load_band() for the pattern band too.
dmstyle: Simplify the style IPersistStream_Load method.
dmstyle: Remove no longer needed helpers.
dmstyle: Issue a FIXME for unhandled references to chormaps in a style.
dmscript: Move the loading of the container to a helper.
dmscript: Reimplement the loading of a script.
dmscript: Get rid of the IDirectMusicScriptImpl typedef.
Nikolay Sivov (32):
odbc32: Implement SQLSpecialColumnsW() for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_SEARCH_PATTERN_ESCAPE) for ANSI win32 drivers.
odbc32: Implement SQLColumnsW() for ANSI win32 drivers.
oledb32/tests: Add some more tests for the error object.
oledb32: Rename error object creation helper.
oledb32/error: Store a dynamic id for each error record.
oledb32/errorinfo: Add a helper to access records by index.
oledb32/errorinfo: Return 0-record info with GetGUID().
oledb32/errorinfo: Rename a helper.
oledb32/errorinfo: Return stub error info objects from GetErrorInfo().
oledb32/errorinfo: Reference error object for each returned IErrorInfo instance.
oledb32/errorinfo: Implement GetSource() using error lookup service.
oledb32/errorinfo: Release dynamic error information on cleanup.
oledb32/errorinfo: Implement GetDescription() using error lookup service.
oledb32/errorinfo: Implement GetHelpFile() using error lookup service.
oledb32/errorinfo: Implement GetHelpContext() using error lookup service.
oledb32/errorinfo: Implement IErrorInfo methods of the error object.
oledb32/errorinfo: Implement GetGUID().
oledb32: Consider requested interface in DllGetClassObject().
oledb32: Use public symbol for the Error Object CLSID.
dwrite: Update script information with Unicode 16.0 additions.
dwrite: Explicitly check scripts for "complexity" property.
mfplat/tests: Fix a crash on some Windows systems.
ole32: Move CoTreatAsClass() to combase.
combase: Check for null arguments in CoTreatAsClass().
combase: Remove unreachable failure path in CoTreatAsClass().
ole32: Move CoIsOle1Class() stub to combase.
oleaut32/tests: Enable more tests for VarMul().
oleaut32/tests: Enable more tests for VarEqv().
oleaut32/tests: Enable more tests for VarXor().
oleaut32/tests: Enable more tests for VarAnd().
bcp47langs/tests: Fix a crash when running on Wine.
Owen Rudge (3):
taskschd: Only release ITaskDefinition if creation of RegisteredTask fails.
taskschd/tests: Add test for ITaskDefinition Data property.
taskschd: Implement ITaskDefinition Data property.
Paul Gofman (12):
server: Support NULL job handle in get_job_info().
shell32: Add Screenshots known folder.
win32u: Bump GPU internal driver versions to a future version.
ntdll: Add a stub for EtwEventWriteEx().
advapi32: Add a stub for EnumerateTraceGuidsEx().
windows.media.speech: Add stub IRandomAccessStream interface to SpeechSynthesisStream class.
windows.media.speech: Add stub IInputStream interface to SpeechSynthesisStream class.
windows.media.speech: Add semi-stub for synthesis_stream_input_ReadAsync().
windows.media.speech: Return semi-stub IAsyncInfo from async_with_progress_uint32_QueryInterface().
ntdll/tests: Add more tests for nested exceptions on x64.
ntdll: Make nested_exception_handler() arch specific.
ntdll: Clear nested exception flag at correct frame on x64.
Piotr Caban (17):
odbc32: Add SQLDriverConnectA() implementation.
odbc32: Handle SQL_C_WCHAR conversion in SQLGetData for ANSI drivers.
odbc32: Implement SQLStatisticsW() for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_STRING_FUNCTIONS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_NUMERIC_FUNCTIONS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_TIMEDATE_FUNCTIONS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_SYSTEM_FUNCTIONS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_CONVERT_*) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_CONCAT_NULL_BEHAVIOR) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_EXPRESSIONS_IN_ORDERBY) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_ORDER_BY_COLUMNS_IN_SELECT) for ANSI win32 drivers.
odbc32: Remove prepare_con() helper.
odbc32: Support SQLGetInfo(SQL_OJ_CAPABILITIES) in older drivers.
odbc32: Remove debugstr_sqllen() helper.
odbc32: Remove debugstr_sqlulen() helper.
msvcrt: Optimize _ismbcspace_l for ASCII range.
msvcrt: Support anonymous namespace in __unDName().
Ratchanan Srirattanamet (1):
msi: Record feature in assembly publication when package has 2+ features.
Reinhold Gschweicher (1):
msxml3/element: Implement removeAttributeNode function.
Rémi Bernon (76):
gitlab: Install mesa-vulkan-drivers packages.
server: Move class info to the shared memory object.
win32u: Read class info from the shared memory object.
server: Allocate shared memory objects with dynamic size.
server: Move extra class info to the shared memory object.
win32u: Read extra class info from the shared memory object.
win32u: Ensure D3DKMTQueryVideoMemoryInfo usage is smaller than budget.
winevulkan: Treat LPCWSTR and HANDLE as pointer sized types.
win32u: Pass the name of the extension to replace to get_host_extension.
win32u: Swap VK_KHR_external_memory_win32 with the matching host extension.
win32u: Create D3DKMT global resources for exported Vulkan memory.
win32u: Implement Vulkan memory D3DKMT NT shared handle export.
win32u: Implement Vulkan memory D3DKMT global / shared handle import.
win32u: Implement Vulkan memory D3DKMT handle import from name.
maintainers: Assume maintainership of the GL / VK / D3DKMT areas.
opengl32: Remove deprecated WGL_RENDERER_ID_WINE constant.
win32u: Enumerate and initialize EGL devices as separate platforms.
win32u: Initialize some renderer properties with EGL devices.
win32u: Check maximum context versions with EGL devices.
win32u: Check renderer version and video memory from EGL devices.
winevulkan: Swap VK_KHR_external_semaphore_win32 with the host extension.
win32u: Swap handle types in vkGetPhysicalDeviceExternalSemaphoreProperties.
win32u: Implement export of semaphores as D3DKMT global handles.
win32u: Implement import of semaphores from D3DKMT global handles.
win32u: Implement export of semaphores as D3DKMT shared handles.
win32u: Implement import of semaphores from D3DKMT shared handles.
win32u: Implement import of semaphores from D3DKMT object names.
server: Use the object runtime data size for the reply.
server: Don't crash in d3dkmt_share_objects if attributes are invalid.
win32u: Fix swapped security / root object attributes.
win32u: Introduce a new D3DKMT_ESCAPE_UPDATE_RESOURCE_WINE code.
winevulkan: Swap VK_KHR_external_fence_win32 with the host extension.
win32u: Swap handle types in vkGetPhysicalDeviceExternalFenceProperties.
win32u: Implement export of fences as D3DKMT global handles.
win32u: Implement import of fences from D3DKMT global handles.
win32u: Implement export of fences as D3DKMT shared handles.
win32u: Implement import of fences from D3DKMT shared handles.
win32u: Implement import of fences from D3DKMT object names.
winex11: Flush the thread display after processing every event.
winex11: Remove some arguably unnecessary XFlush calls.
win32u: Check QS_DRIVER bit before calling ProcessEvents.
win32u: Pass the caller class name to NtUserCreateWindowEx.
win32u: Use the caller class name in CREATESTRUCT lpszClass.
win32u: Set CREATESTRUCT lpszClass to the base class name.
winex11: Move colormap ownership to x11drv_client_surface.
winex11: Use the visual depth when creating the client window.
winex11: Lookup visual from EGL config EGL_NATIVE_VISUAL_ID.
win32u: Move fetching window icon out of the drivers.
winex11: Clear WS_VISIBLE to delay showing layered windows.
winex11: Remove unnecessary calls to map_window helper.
winex11: Call window_set_wm_state instead of map_window.
win32u: Use an absolute wait timeout in wait_message.
win32u: Keep waiting on the queue until it gets signaled.
server: Clear QS_RAWINPUT | QS_HARDWARE in get_rawinput_buffer.
win32u: Process internal hardware messages while waiting.
server: Don't set QS_RAWINPUT for internal hardware messages.
winevulkan: Move physical device extension checks around.
winevulkan: Require VK_EXT_map_memory_placed for WOW64 memory export.
winevulkan: Handle WOW64 conversion of SECURITY_ATTRIBUTES.
ntdll: Export wine_server_send_fd to other unix libs.
win32u: Export host memory unix file descriptor.
win32u: Send D3DKMT object fd to wineserver on creation.
win32u: Import vulkan memory from the D3DKMT object fd.
win32u/tests: Avoid closing invalid handle after OpenSharedHandleByName.
win32u: Use local handles in D3DKMT_ESCAPE_UPDATE_RESOURCE_WINE.
win32u: Fix incorrect D3DKMT exported name length.
winex11: Use EGL by default for OpenGL rendering.
server: Target the default or foreground window for internal hardware messages.
winex11: Avoid freeing default colormap.
win32u: Keep exported semaphore fd with the global D3DKMT object.
win32u: Import Vulkan semaphore from the D3DKMT object fd.
win32u: Keep exported fence fd with the D3DKMT global object.
win32u: Import Vulkan fence from the D3DKMT object fd.
winex11: Update WM_HINTS and NET_WM_STATE when WM_STATE isn't.
winex11: Simplify the logic to reset cursor clipping.
winex11: Remove unnecessary extra window hiding condition.
Sven Baars (3):
ntdll: Cast tv_sec to ULONGLONG before multiplying.
mmdevapi/tests: Use %I64u instead of %llu.
winhttp: Use %I64u instead of %llu.
Ugur Sari (1):
netapi32: Add stubs for NetValidatePasswordPolicy and NetValidatePasswordPolicyFree.
Vasiliy Stelmachenok (5):
opengl32: Fix incorrect wglQueryCurrentRendererStringWINE call.
opengl32: Generate entry points for EGL_EXT_device_drm extension.
win32u: Stub WGL_WINE_query_renderer when EGL devices are supported.
win32u: Implement wglQueryCurrentRenderer* with wglQueryRenderer*.
win32u: Implement wglQueryRendererStringWINE with EGL devices.
Vibhav Pant (7):
makedep: Support including generated WinRT metadata in resource files.
cfgmgr32/tests: Add tests to ensure DevGetObjects(Ex) does not de-duplicate requested properties.
windows.devices.enumeration/tests: Add tests for device properties for IDeviceInformation objects.
windows.devices.enumeration/tests: Add tests for IDeviceInformationStatics::FindAllAsyncAqsFilterAndAdditionalProperties.
windows.devices.enumeration: Implement IDeviceInformation::get_Properties.
windows.devices.enumeration: Implement IDeviceInformationStatics::{FindAllAsyncAqsFilterAndAdditionalProperties, CreateWatcherAqsFilterAndAdditionalProperties}.
rometadata: Add stub for IMetaDataTables.
Vijay Kiran Kamuju (1):
bcp47langs: Add stub for GetUserLanguages.
Yuxuan Shui (4):
windows.devices.enumeration: Fix use-after-realloc in devpropcompkeys_append_names.
windows.devices.enumeration: Don't leave dangling pointers if devpropcompkeys_append_names fails.
iphlpapi: Give GetBestRoute2 a SOCKETADDR_INET.
include: Add atomic read/write of pointers.
Zhengyong Chen (1):
imm32: Do not overwrite input context window with GetFocus() in ime_ui_update_window.
Zhiyi Zhang (26):
comctl32/tests: Fix a window leak.
user32: Load version for comctl32 v6 window classes.
comctl32/tests: Add version tests.
comctl32: Separate v5 and v6.
comctl32/tests: Add RegisterClassNameW() tests.
comctl32: Remove user32 control copies in comctl32 v5.
comctl32/tests: Test v6 only exports.
comctl32: Remove taskdialog from comctl32 v5.
comctl32: Remove syslink from comctl32 v5.
comctl32: Remove v6 only exports.
comctl32/tests: Add CCM_SETVERSION tests.
comctl32/toolbar: Don't change Unicode format when handling CCM_SETVERSION.
comctl32/listview: Fix CCM_{GET,SET}VERSION handling.
comctl32/rebar: Fix CCM_{GET,SET}VERSION handling.
comctl32/toolbar: Fix CCM_{GET,SET}VERSION handling.
include: Bump COMCTL32_VERSION to 6.
comctl32/tests: Move toolbar Unicode format tests.
comctl32: Add a helper to handle CCM_SETVERSION messages.
user32/tests: Remove some broken() for older systems in test_comctl32_class().
wintypes: Fix a memory leak.
wintypes: Restore a pointer check in property_value_statics_CreateString().
wintypes: Increase string reference count when property_value_GetString() succeeds.
wintypes: Create a copy for string arrays for property_value_statics_CreateStringArray().
wintypes: Increase string reference count when property_value_GetStringArray() succeeds.
winex11.drv: Ignore fullscreen window config changes.
win32u: Correct a comment.
```
The Wine development release 10.16 is now available.
What's new in this release:
- Fast synchronization support using NTSync.
- 16-bit apps supported in new WoW64 mode.
- Initial support for D3DKMT objects.
- WinMD (Windows Metadata) files generated and installed.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.16.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.16/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.16 (total 34):
- #7115 Need for Speed III installer fails in Win9X mode, reporting "Could not get 'HardWareKey' value" (active PnP device keys in 'HKEY_DYN_DATA\\Config Manager\\Enum' missing)
- #21855 Lotus Word Pro 9.8: Windows pull down does not show file names
- #27002 Shadow Company: Left for Dead fails with "No usable 3D Devices installed".
- #32572 Multiple games have no character animation (Alpha Polaris, Face Noir, A Stroke of Fate series)
- #38142 Approach fields box only show 3/4 of one line
- #43124 Overwatch loses focus on respawn
- #44817 Some software protection schemes need ntdll.NtSetLdtEntries to modify reserved LDT entries
- #49195 Multiple 4k demoscene OpenGL demos crash on startup (failure to lookup atom 0xC019 'static' from global atom tables)
- #49905 VbsEdit runs wscript.exe with unsupported switches /d and /u
- #50210 Multiple games need D3DX11GetImageInfoFromMemory implementation (S.T.A.L.K.E.R.: Call of Pripyat, Metro 2033, Project CARS)
- #53767 vbscript fails to handle ReDim when variable is not yet created
- #54670 16-bit applications fail in wow64 mode
- #55151 PC crashes after endlessly eating up memory
- #57877 CMD: Parsing issue: Mismatch in parentheses provoked by trailing tab
- #58156 Star Wars: Jedi Knight - Dark Forces II Demo & other games: won't launch, "smackw32.DLL" failed to initialize (macOS)
- #58204 Winecfg Audio tab doesn't enumerate drivers or show output devices, but test button works.
- #58458 Wolfenstein: The Old Blood (Wolfenstein: The New Order) fails to start with EGL opengl backend
- #58480 winebuild ASLR breaks older DLLs
- #58491 Flickering on video-surveilance-app is back
- #58515 Street Chaves only displays a black screen
- #58534 Grand Theft Auto: Vice City intros play with a black screen
- #58602 Screen Issue in Colin McRae Rally 2
- #58637 SimCity 2000 Windows 95 edition doesn't launch in WoW64 mode
- #58651 Legacy of Kain: Blood Omen black screen on startup but with sound using Verok's patch
- #58666 wine 10.14 fails to build in alpine linux x86
- #58688 Regression: Xenia Canary crashes with STATUS_CONFLICTING_ADDRESSES when starting a game on Wine 10.13+ (works on 10.12)
- #58699 Profi cash 12 user interface is rendered mostly black
- #58700 Regression: Direct3D applications show a blank screen under wined3d in 10.15
- #58705 Wolfenstein: The New Order (Wolfenstein: Old Blood) - the screen is black
- #58710 wmic now also prints system properties since 3c8a072b52f2159e68bfd4e471faf284309201ed
- #58716 Camerabag Pro 2025.2 crashes with unhandled exception (unimplemented function propsys.dll.PropVariantToFileTime) on loading a JPEG
- #58730 Images in iTunes have a white background (see picture)
- #58742 winedbg: Internal crash at 00006FFFFF8CB5E5 (pe_load_msc_debug_info)
- #58744 Missing Type on get_type within dlls/msi/suminfo.c
### Changes since 10.15:
```
Adam Markowski (2):
po: Update Polish translation.
po: Update Polish translation.
Alexandre Julliard (43):
ntdll: Delay first thread initialization until process init.
ntdll: Use a separate bitmap to keep track of allocated LDT entries.
ntdll: Use the virtual mutex to protect the LDT data.
include: Use latest definitions for PEB fields to replace the old Fls fields.
ntdll: Store the ldt_copy pointer in the PEB and access it from the client side.
server: Remove the server-side LDT support.
ntdll: Replace LDT flags by explicit bit fields.
krnl386: Replace LDT flags by explicit bit fields.
ntdll: Store LDT limit and bits in the same word.
krnl386: Fetch the ldt copy pointer from the PEB.
winebuild: Fetch the ldt copy pointer from the PEB.
ntdll: Allocate the LDT copy only when needed.
ntdll: Handle return length from ThreadDescriptorTableEntry in the common code.
ntdll: Support NtQueryInformationThread(ThreadDescriptorTableEntry) in new wow64 mode.
ntdll: Support setting LDT entries in new wow64 mode.
ntdll: Keep the DOS area clear in new wow64 mode.
tiff: Import upstream release 4.7.1.
ntdll: Restore the macOS RLIMIT_NOFILE workaround.
ntdll/tests: Always restore the APC dispatcher.
ntdll: Clear alignment flag on signal entry also on x86-64.
ntdll: Consistently output one loaddll trace per module.
ntdll: Only return 32-bit PEB for 32-bit process.
win32u/tests: Avoid reading uninitialized data.
wow64cpu: Store the actual segment registers in the wow64 context.
wow64cpu: Store the 32-bit segment registers in the context when entering 32-bit mode.
wow64cpu: Store the 32-bit segment registers in the context on syscalls.
ntdll: Store the actual segment registers in the wow64 context.
ntdll: Trace some segment registers in 64-bit mode.
makedep: Add rules to build winmd files.
wow64cpu: Store the 32-bit segment registers in the context also on Unix calls.
wow64: Support exceptions happening in 16-bit mode.
ntdll: Support exceptions happening in 16-bit mode.
shell: Fix crash in ShellAbout16() when no icon is specified.
makedep: Don't add a trailing slash to installation directories.
makedep: Add a helper to install a data file.
makedep: Add a helper to install a data file from the source dir.
makedep: Add a helper to install a header file.
makedep: Add a helper to install a program.
makedep: Add a helper to install a script.
makedep: Add a helper to install a tool.
makedep: Add a helper to install a symlink.
makedep: Build the install destination string in the common helper.
makefiles: Install winmd files.
Alistair Leslie-Hughes (5):
comdlg32: Correct show parameter passed to ShowWindow.
cryptui: Correct show parameter passed to ShowWindow.
wordpad: Correct show parameter passed to ShowWindow.
include: Add TABLET_DISABLE_PRESSANDHOLD define.
include: Add TOUCH_COORD_TO_PIXEL define.
Anton Baskanov (10):
dmsynth/tests: Check IDirectMusicSynth::Open() default parameter values.
dmsynth/tests: Actually set parameters to zero before calling IDirectMusicSynth::Open().
dmsynth: Remove special handling of zero parameter values in IDirectMusicSynth::Open().
dmsynth: Don't force enable DMUS_EFFECT_REVERB.
winecfg: Allow configuring default MIDI device.
dmsynth/tests: Add tests for GUID_DMUS_PROP_Volume.
dmsynth: Set gain to 6 dB.
dmsynth: Handle GUID_DMUS_PROP_Volume.
fluidsynth: Disable IIR filter resonance hump compensation.
dmsynth: Pre-attenuate voices by center pan attenuation.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Kölbl (2):
make_unicode: Add some halfwidth mapping exceptions.
mf: Handle start request when session is already running.
Billy Laws (4):
ntdll/tests: Skip broken process suspend test under ARM64 WOW64.
ntdll/tests: Test THREAD_CREATE_FLAGS_SKIP_LOADER_INIT flag.
ntdll: Add a default pBaseThreadInitThunk implementation.
ntdll: Support THREAD_CREATE_FLAGS_SKIP_LOADER_INIT flag.
Christian Costa (1):
d3dx9: Add an initial implementation of UpdateSkinnedMesh().
Connor McAdams (15):
d3dx9/tests: Add tests for D3DFMT_CxV8U8.
d3dx9: Add support for D3DFMT_CxV8U8.
d3dx9: Replace D3DFMT_CxV8U8 with D3DFMT_X8L8V8U8 when creating textures.
d3dx9/tests: Add tests for ATI{1,2} DDS files.
d3dx9/tests: Add a test for DDS_PF_FOURCC flag handling.
d3dx9: Ignore all other DDS pixel format flags if DDS_PF_FOURCC is set.
d3dx10/tests: Add more DDS pixel format tests.
d3dx11/tests: Add more DDS pixel format tests.
d3dx9: Add a tweak to stb_dxt to more closely match native output.
d3dx10: Use shared code in load_texture_data() when possible.
d3dx10: Ignore alpha channel values for WICPixelFormat32bppBGR BMP images.
d3dx10: Add support for decompressing BC4 and BC5 formats.
d3dx10: Add support for compressing BC4 and BC5 formats.
d3dx10: Exclusively use shared code to load DDS files in load_texture_data().
d3dx10: Exclusively use shared code in load_texture_data().
David Kahurani (4):
xmllite/writer: Implement WriteNmToken().
xmllite/writer: Implement WriteQualifiedName().
xmllite/writer: Implement WriteEntityRef().
xmllite/writer: Implement WriteName().
Dmitry Kislyuk (1):
wscript: Ignore /d and /u.
Dmitry Timoshkov (15):
winex11.drv: Remove a no longer valid assert().
ntdll/tests: Add some tests for NtSetLdtEntries.
comdlg32: Properly translate Flags and PageRanges to PRINTDLGEX.
runas: Add initial implementation.
ws2_32/tests: Add a simple test for WSAProviderConfigChange().
ws2_32: Return a socket from WSAProviderConfigChange() stub.
ole32/tests: Add a test for IPropertySetStorage::Open() with STGM_TRANSACTED flag.
ole32: Ignore STGM_TRANSACTED in IPropertySetStorage::Open().
ole32: Print correct entry name in a trace when reading storage dictionary.
ole32: Write padding to a dictionary entry only when necessary.
ole32: Clear dirty flag in IPropertyStorage::Commit().
gdiplus: Handle PixelFormatPAlpha separately in alpha_blend_hdc_pixels().
secur32: Add QuerySecurityContextToken() stub implementation to the LSA wrapper.
d2d1: Implement D2D1CreateDeviceContext().
d2d1: Add a test for D2D1CreateDeviceContext().
Elizabeth Figura (23):
user32/tests: Test MDI menu updating when window titles are changed.
user32: Always refresh the MDI menu on WM_MDISETMENU.
setupapi/tests: Test SetupGetBinaryField().
setupapi: Parse a 0x prefix in SetupGetBinaryField().
ntdll: Check inproc sync signal rights in signal and wait.
wined3d: Use malloc() for the private store.
user32/tests: Test integral resizing of listboxes.
comctl32/tests: Test integral resizing of listboxes.
comctl32/listbox: Ignore the horizontal scrollbar when setting integral height.
ntdll: Introduce a helper to wait on a server-side sync object.
ddraw/tests: Use ANSI versions of user32 functions.
winebth.sys: Silently pass down IRP_MN_QUERY_ID to the PDO.
winebus.sys: Silently pass down IRP_MN_QUERY_ID to the PDO.
wineusb.sys: Silently pass down IRP_MN_QUERY_ID to the PDO.
ntoskrnl.exe: Create keys for devices in HKEY_DYN_DATA\Config Manager\Enum.
ddraw/tests: Do not validate that vidmem D32 is not supported.
ddraw/tests: Fix test_caps() on Windows 98.
ddraw/tests: Test dwZBufferBitDepths.
ddraw: Fill dwZBufferBitDepths.
server: Create an inproc sync for user APC signaling.
ntdll: Validate expected inproc sync type in get_inproc_sync.
ntdll: Use in-process synchronization objects.
ntdll: Cache in-process synchronization objects.
Eric Pouech (22):
certutil: Implement -decodehex command.
cmd: Generate binary files with certutil.
cmd: Only set console's default color when provided.
cmd: Fix some initial env variables setup.
cmd: Fix context detection in cmd /c.
cmd: Don't use page mode for stderr.
cmd: Introduce helper to push/pop i/o handles for redirections.
cmd: Ensure that all output to STD_OUTPUT go through WCMD_output_asis.
cmd: Let WCMD_fgets() work properly when reading from a pipe.
cmd: Use a global input handle for console.
cmd: Let WCMD_ask_confirm Use WCMD_fgets().
cmd: Let WCMD_setshow_date() use WCMD_fgets().
cmd: Let WCMD_setshow_env() use WCMD_fgets().
cmd: Let WCMD_label() use WCMD_fgets().
cmd: Add tests showing that MORE outputs to CONOUT$ not stdout.
cmd: Clean up and enhance MORE command implementation.
cmd: Let WCMD_setshow_time() use WCMD_fgets().
cmd: Let WCMD_wait_for_input() no longer use WCMD_ReadFile().
cmd: Get rid of WCMD_ReadFile.
winedbg: Simplify fetching module name.
dbghelp: Add public symbols out of export table when no debug info is present.
dbghelp: Don't crash on stripped image without DEBUG directories.
Francis De Brabandere (1):
vbscript: Allow redim without a prior dim.
Giovanni Mascellani (15):
mmdevapi/tests: Remove a flaky test.
mmdevapi/tests: Introduce a helper to read many packets when capturing.
mmdevapi/tests: Check that GetBuffer() fails when no packet is available.
mmdevapi/tests: Check that GetBuffer() returns a packet of the expected size.
mmdevapi/tests: Check that the received packet isn't larger than the padding.
mmdevapi/tests: Test releasing a buffer without consuming it and getting it again.
mmdevapi/tests: Check that releasing a buffer of the wrong size fails.
mmdevapi/tests: Test acquiring and releasing the buffer out of order.
mmdevapi/tests: Check that captured packets are consecutive.
mmdevapi/tests: Test calling GetNextPacketSize() after GetBuffer().
mmdevapi/tests: Replace a few tests with read_packets().
mmdevapi/tests: Check discontinuities after having started capturing.
mmdevapi/tests: Check that the capture buffer is empty after processing packets.
mmdevapi/tests: Sleep for 600 ms to guarantee a buffer overrun.
mmdevapi/tests: Remove a wrong test about packet sizes.
Hans Leidekker (8):
wbemprox: Support WBEM_FLAG_NONSYSTEM_ONLY in class_object_Next().
wmic: Only list non-system properties.
bcrypt: Add support for named curves.
msi: Support PID_EDITTIME in MsiSummaryInfoSetProperty().
wbemprox: Implement Win32_LocalTime.
widl: Add metadata support for imported types.
widl: Store name and namespace string index.
widl: Fix order of exclusiveto attribute.
Jacek Caban (2):
winebuild: Use .rdata section instead of .rodata on PE targets.
opengl32: Propagate GL errors from wow64 wrappers.
Jiangyi Chen (2):
ole32/tests: Add tests for StgOpenStorageOnILockBytes().
ole32: Fix the return value for StgOpenStorageOnILockBytes().
Jinoh Kang (10):
fluidsynth: Fix g_atomic_int_add() return value.
fluidsynth: Fix data race in g_get_monotonic_time().
fluidsynth: Fix g_mutex_init() and g_cond_init().
fluidsynth: Fix double close of thread handle in g_thread_unref().
fluidsynth: Use full memory barrier in g_atomic_int_get().
fluidsynth: Round up sleep duration in g_usleep().
fluidsynth: Fix argument flag handling in g_file_test().
fluidsynth: Fix definition of g_atomic_int_dec_and_test().
fluidsynth: Return thread return value from g_thread_join().
fluidsynth: Use InterlockedExchangeAdd() in g_atomic_int_add().
Joe Souza (5):
cmd/tests: Add test to check for TYPE truncation in binary mode.
cmd: Refactor WCMD_copy_loop out of WCMD_ManualCopy, and stop copy loop at EOF for /a mode.
cmd: Fix TYPE behavior (now uses WCMD_copy_loop).
cmd/tests: Test that DIR /Oxxx at the command line overrides DIRCMD=/Oyyy set in the environment.
cmd: Allow DIR /Oxxx at the command line to override DIRCMD=/Oyyy set in the environment.
Lauri Kenttä (1):
po: Update Finnish translation.
Louis Lenders (4):
wmic: Add "qfe" alias.
wbemprox: Add two hotfixid's for Windows 7 to Win32_QuickFixEngineering.
wmic: Add a basic help option "/?".
shell32: Add explicit ordinal for SHMultiFileProperties.
Maotong Zhang (1):
ole32/tests: Add some tests for "CurVer" handling.
Michael Müller (1):
user32/listbox: Ignore the horizontal scrollbar when setting integral height.
Nikolay Sivov (65):
dwrite: Always initialize 'contours' flag.
dwrite/layout: Always initialize effective run bounding box.
dwrite/layout: Do not shadow output parameter.
dwrite/opentype: Use mask shifts only for non-zero masks.
win32u/tests: Fix missing test message context pop.
dwrite/tests: Add some more tests for ConvertFontToLOGFONT().
dwrite: Check against local file loader in ConvertFontToLOGFONT().
dwrite: Remove system collection marker.
dwrite: Mark system font sets.
dwrite: Create both WWS and typographic system collections using system font set.
dwrite: Create custom collections using font sets.
dwrite: Simplify collection initialization helper.
dwrite: Remove nested structures in fontset entries.
dwrite: Cache set elements for returned system sets.
dwrite/tests: Add a small test for EUDC collection.
dwrite: Reuse font set entries to return set instances for collections.
xmllite/tests: Add some more tests for WriteNmToken().
mf: Implement MFTranscodeGetAudioOutputAvailableTypes().
dwrite/tests: Add more tests for CreateFontFileReference().
dwrite: Use uppercase paths for local file loader keys.
dwrite: Fail file reference creation when timestamp is inaccessible.
dwrite/tests: Add another CreateFontFaceReference() test with inaccessible file.
xmllite/tests: Add some more implicit flushing tests.
xmllite/write: Improve error handling in WriteCharEntity().
xmllite/writer: Improve error handling in WriteNmToken().
xmllite/writer: Improve error handling in WriteWhitespace().
xmllite/writer: Improve error handling in WriteSurrogateCharEntity().
xmllite/writer: Improve error handling in WriteStartDocument().
xmllite/writer: Improve error handling in WriteCData().
xmllite/writer: Improve error handling in WriteComment().
xmllite/writer: Improve error handling in WriteProcessingInstruction().
xmllite/writer: Remove duplicate check for whitespaces.
xmllite/writer: Improve error handling WriteDocType().
xmllite/writer: Improve error handling in WriteEndElement().
xmllite/writer: Improve error handling in WriteEndDocument().
propsys: Add PropVariantToFileTime() semi-stub.
propsys: Add PropVariantToUInt32Vector() semi-stub.
xmllite/writer: Improve error handling in WriteChars().
xmllite/writer: Improve error handling in WriteString().
xmllite/writer: Improve error handling in WriteFullEndElement().
xmllite/writer: Improve error handling in WriteElementString().
xmllite/writer: Improve error handling in WriteRaw().
xmllite/tests: Add a few more tests for WriteDocType().
xmllite/writer: Improve error handling in WriteAttributeString().
xmllite/writer: Improve error handling when writing namespace defitions.
xmllite/writer: Improve error handling in WriteStartElement().
xmllite/writer: Handle empty names in WriteStartElement().
xmllite/tests: Add more tests for name validation when writing.
xmllite/writer: Improve NCName validation.
xmllite/writer: Remove now unnecessary helper.
xmllite/writer: Output element stack on release.
xmllite/writer: Output element stack on SetOutput().
windowscodecs: Remove IWICWineDecoder interface.
odbc32: Implement SQLErrorW() for ANSI win32 drivers.
odbc32: Add some fixmes for SQLError() on top of driver's SQLGetDiagRec().
odbc32: Implement SQLDriverConnectW() for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_ODBC_API_CONFORMANCE) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_ACTIVE_STATEMENTS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_ACTIVE_CONNECTIONS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_DRIVER_NAME) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_TXN_CAPABLE) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_DBMS_NAME) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_DATA_SOURCE_READ_ONLY) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_IDENTIFIER_QUOTE_CHAR) for ANSI win32 drivers.
odbc32: Implement SQLExecDirectW() for ANSI win32 drivers.
Patrick Hibbs (1):
inf: Add Windows Media Player related registry keys.
Paul Gofman (24):
iphlpapi/tests: Add more tests for GetBestRoute().
nsi/tests: Add test for ipv4 loopback routes presence.
nsiproxy.sys: Explicitly add loopback entries to ipv4 forward table on Linux.
nsi: Match struct nsi_tcp_conn_dynamic size to up to date Win11.
nsiproxy.sys: Only enumerate active routes in ipv6_forward_enumerate_all() on Linux.
nsiproxy.sys: Improve loopback detection in ipv6_forward_enumerate_all() on Linux.
iphlpapi: Fully zero init address in unicast_row_fill().
iphlpapi: Implement GetBestRoute2().
iphlpapi: Reimplement GetBestInterfaceEx() on top of GetBestRoute2().
iphlpapi/tests: Add tests for best routes.
iphlpapi: Try to disambiguate addresses in GetBestRoute2() by probing system assigned ones.
user32/tests: Add test for CB size after setting font.
user32/combo: Don't update item height on WM_SETFONT for owner drawn CB.
comctl32/tests: Also call test_combo_setfont() with CBS_OWNERDRAWFIXED.
comctl32/combo: Don't update item height on WM_SETFONT for owner drawn CB.
ntdll: Initialize segments registers in the frame in call_user_mode_callback().
ntdll: Handle invalid FP state in usr1_handler() on x86-64.
ntdll: Handle invalid FP state in usr1_handler() on i386.
win32u: Implement NtUserDisplayConfigGetDeviceInfo( DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME ).
user32/tests: Add test for (no) messages during TrackMouseEvent() call.
win32u: Use internal message to handle NtUserTrackMouseEvent() for other thread window.
win32u: Move mouse tracking info into per-thread data.
win32u: Track mouse events based on last mouse message data.
user32/tests: Don't leak thread handle in test_TrackMouseEvent().
Ratchanan Srirattanamet (1):
msi: Fix MsiEnumFeatures[AW]() by make it look at the correct registry.
Reinhold Gschweicher (1):
msxml3/tests: Add test for IXMLDOMElement_removeAttributeNode.
Rémi Bernon (68):
server: Create a shared object for window classes.
server: Write class name to the shared memory object.
win32u: Use NtUserGetClass(Long|Name)W in needs_ime_window.
server: Keep a class object locator in the window shared object.
win32u: Read class name from the shared memory object.
win32u: Validate the drawable surface window before reusing.
wineandroid: Keep the client ANativeWindow with the window data.
wineandroid: Use detach_client_surfaces to invalidate drawables.
winex11: Always notify the surface that it has been presented.
server: Use a specific type for internal inproc event syncs.
ntdll: Remove workaround for macOS RLIMIT_NOFILE.
wineserver: Request RLIMIT_NOFILE maximum allowed value.
server: Rename queue is_signaled to get_queue_status.
server: Do not clear queue masks in msg_queue_satisfied.
server: Remove skip_wait flag from set_queue_mask.
win32u: Use a specific opengl_drawable function for context changes.
win32u: Avoid swapping / flushing drawables with destroyed windows.
server: Return early if there's no queue in queue requests.
server: Move hooks_count to the end of the queue_shm_t struct.
win32u: Move the message queue access time to shared memory.
server: Use monotonic_time as queue access time base.
win32u: Check the queue access time from the shared memory.
winex11: Avoid presenting invalid offscreen window rects.
win32u/tests: Test that global d3dkmt handles aren't leaked.
win32u: Use array indexes for d3dkmt handles.
server: Create server-side global D3DKMT objects.
server: Allocate global D3DKMT handles for objects.
win32u: Implement creation of D3DKMT sync objects.
win32u: Implement creation of D3DKMT resource objects.
win32u: Pass D3DKMT object runtime data to wineserver.
win32u: Implement NtGdiDdDDIQueryResourceInfo.
server: Update queue access time in set_queue_mask request.
win32u: Check the queue access time before skipping set_queue_mask.
server: Use the access time and signal state to detect hung queue.
server: Remove the now unnecessary queue waiting flag.
cfgmgr32: Call devprop_filters_validate recursively.
cfgmgr32: Pass filter ranges to helper functions.
win32u: Implement opening of D3DKMT global handles.
win32u: Implement NT sharing of D3DKMT sync objects.
win32u: Implement sharing of D3DKMT resource objects.
win32u: Implement querying D3DKMT objects from shared handles.
win32u: Implement opening D3DKMT objects from shared handles.
win32u: Implement opening D3DKMT shared handles from names.
server: Introduce an internal queue bits field.
server: Use the internal bits to signal the queue sync.
win32u: Process all driver events when waiting on queue.
win32u: Wrap ProcessEvents calls in process_driver_events helper.
win32u: Avoid a crash when unsetting current context.
server: Use a dedicated internal bit for queued hardware messages.
win32u: Check for pending hardware messages after processing events.
win32u: Return TRUE from ProcessEvents after emptying the event queue.
win32u: Notify wineserver after processing every driver event.
server: Continuously poll on queue fd for driver events.
server: Remove mostly unnecessary thread own queue check.
server: Use an internal event sync for message queues.
win32u/tests: Test creating shared resources with D3D9Ex.
win32u/tests: Test importing shared resources into D3D9Ex.
win32u/tests: Test importing shared resources into OpenGL.
win32u/tests: Test creating shared resources with D3D10.
win32u/tests: Test creating shared resources with D3D11.
win32u/tests: Test creating shared resources with D3D12.
win32u/tests: Test creating shared resources with Vulkan.
win32u/tests: Test importing shared resources into Vulkan.
server: Use a separate helper to create internal event syncs.
server: Explicitly create an internal server sync for debug events.
server: Signal event server / inproc syncs using the signal op.
server: Use struct object pointers for object syncs.
ntdll: Receive the user apc inproc sync fd on alertable waits.
Sebastian Lackner (1):
user32: Refresh MDI menus when DefMDIChildProc(WM_SETTEXT) is called.
Stian Low (2):
ntdll: Implement NtSetEventBoostPriority().
ntdll/tests: Add tests for NtSetEventBoostPriority().
Tim Clem (1):
wbemprox: Use setupapi to enumerate video controllers.
Vasiliy Stelmachenok (1):
win32u: Handle errors when creating EGL context.
Vibhav Pant (9):
cfgmgr32: Always check the DEVPROP_OPERATOR_EQUALS mask while evaluating comparison filters.
propsys: Use VT_LPWSTR as the property type for System.Devices.DeviceInstanceId.
windows.devices.enumeration/tests: Add tests for IDeviceInformationStatics::{FindAllAsyncAqsFilter, CreateWatcherAqsFilter}.
windows.devices.enumeration: Support parsing AQS filters in IDeviceInformationStatics::{FindAllAsyncAqsFilter, CreateWatcherAqsFilter}.
maintainers: Add a section for Windows.Devices.Enumeration.
windows.devices.enumeration: Ensure that all AQS logical operators bind left to right.
cfgmgr32/tests: Add additional tests for device query filters.
cfgmgr32: Implement support for logical operators in DEVPROP_FILTER_EXPRESSION.
vccorlib140: Emit RTTI for Platform::Type.
Yuxuan Shui (1):
mf: Add a SUBMITTED command state to avoid multiple submission of the same op.
Zhengyong Chen (1):
imm32: Ensure HIMC is unlocked in ImmGenerateMessage.
```
The Wine development release 10.15 is now available.
What's new in this release:
- Unicode character tables updated to Unicode 17.0.0.
- Zip64 support in Packaging services.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.15.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.15/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.15 (total 16):
- #51345 Regression: Visual Studio 2005 "package load failure"
- #56278 wayland: dropdowns is rendered as toplevel
- #57192 X11DRV_SetCursorPos breaks when xinput "Coordinate Transformation Matrix" is customized
- #57444 Multiple games crashes with new wow64 ("pop gs" behaves differently in 64bit compatibility mode) (Exertus darkness, Claw, Bloodrayne Demo)
- #57478 Sims 2 black-screen when running with Nvidia 470.256.02 and dxvk 1.10.3
- #57912 cmd: not every ( is a command grouping
- #57913 cmd: echo(abc is misparsed
- #58027 trivial use of Win32 GNU make fails
- #58335 Wine can fail if avx is not available
- #58503 Resource leak in wayland_pointer_set_cursor_shape can cause mouse cursor to dissappear after exhausting gdi handles
- #58513 Wine 10.9 completely broke (LGA775 Core2Quad)
- #58585 unnamed keymap layout leads to null pointer dereference in find_xkb_layout_variant
- #58614 wine cmd prints "::" style comments
- #58619 Steam fails to launch
- #58635 CapCut crashes upon launch, needs unimplemented function IPHLPAPI.DLL.SetPerTcp6ConnectionEStats
- #58636 CapCut installer fails: CreateFileW with FILE_ATTRIBUTE_DIRECTORY | FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_POSIX_SEMANTICS should create a directory instesd of a file.
### Changes since 10.14:
```
Alex Henrie (1):
wineboot: Fix a memory leak in create_computer_name_keys.
Alexandre Julliard (15):
faudio: Import upstream release 25.09.
png: Import upstream release 1.6.50.
tools: Upgrade the config.guess/config.sub scripts.
makedep: Build tool names once at startup.
ntdll: Swap the mxcsr register value between PE and Unix.
gitlab: Merge the platform docker files back into a single file.
gitlab: Install the conflicting i386 gstreamer packages manually.
ntdll: Save mxcsr explicitly in the xsavec code path.
maintainers: List gitlab usernames.
gitlab: Add CI job to trigger winehq-bot processing.
ntdll: Move some LDT definitions to the private header.
ntdll: Add a helper to update the LDT copy.
ntdll: Add helpers to build some specific LDT entries.
ntdll: Always use 32-bit LDT base addresses.
nls: Update character tables to Unicode 17.0.0.
Alexandros Frantzis (1):
winewayland: Fix GDI object leak.
Alfred Agrell (1):
preloader: Make thread_ldt reference position independent.
Alistair Leslie-Hughes (2):
winmm: Always call MCI_UnmapMsgAtoW in mciSendCommandA.
winmm: MCI_MapMsgAtoW return error code directly instead of a tri-value.
Bartosz Kosiorek (1):
gdi32: From Windows 2000 FixBrushOrgEx() is a NOP.
Bernhard Übelacker (1):
winedbg: Reserve more memory for symbol value (ASan).
Billy Laws (2):
ntdll/tests: Add THREAD_CREATE_FLAGS_SKIP_THREAD_ATTACH test.
ntdll: Support THREAD_CREATE_FLAGS_SKIP_THREAD_ATTACH flag.
Brendan Shanks (4):
crypt32: Avoid syscall fault in process_detach() if GnuTLS failed to load.
secur32: Avoid syscall fault in process_detach() if GnuTLS failed to load.
ntdll: Fix crash in check_invalid_gsbase() on macOS.
dbghelp: Don't try to load 64-bit ELF/Mach-O debug info in a Wow64 process.
Carlo Bramini (1):
winmm: WaveOutGetID: Return correct id for WAVE_MAPPER.
Christian Tinauer (1):
crypt32: Accept PKCS12_ALWAYS_CNG_KSP flag and fall back to standard import.
Connor McAdams (12):
d3dx10/tests: Add more DDS file DXGI format mapping tests.
d3dx10/tests: Add more DDS file header handling tests.
d3dx10: Add support for parsing DXT10 DDS headers to shared code.
d3dx10: Only validate header size for DDS files in d3dx10.
d3dx10: Add support for DXGI formats in d3dx_helpers.
d3dx10: Exclusively use shared code for parsing DDS files in get_image_info().
d3dx10: Add support for d3dx10+ image file formats in shared code.
d3dx10: Exclusively use shared code for parsing all files in get_image_info().
d3dx11_42: Don't share source with d3dx11_43.
d3dx11/tests: Add a helper function for checking image info structure values.
d3dx11/tests: Import more image info tests from d3dx10.
d3dx11: Implement D3DX11GetImageInfoFromMemory() using shared code.
Dmitry Timoshkov (1):
gdiplus: Manually blend to white background if the device doesn't support alpha blending.
Elizabeth Figura (7):
ntdll: Add some traces to synchronization methods.
ntdll: Add stub functions for in-process synchronization.
ntdll: Retrieve and cache an ntsync device on process init.
server: Create inproc sync events for message queues.
server: Add a request to retrieve the inproc sync fds.
ntdll: Check inproc sync handle access rights on wait.
quartz/tests: Fix a failing test in test_video_window_owner().
Eric Pouech (14):
cmd/tests: Add tests about opening/closing parenthesis.
cmd: Don't create binary node with NULL RHS.
cmd: Simplify builtin ECHO implementation.
cmd: Fix handling of '(' in echo commands.
cmd: Fix unmatched closing parenthesis handling.
cmd/tests: Add more tests about ERASE builtin command.
cmd: Fix return code for ERASE builtin command.
cmd/tests: Add tests about (not) echoing labels.
cmd: Don't display labels when echo mode is ON.
cmd: Simplify setting console colors.
cmd: Reuse exiting execution related helpers in wmain().
cmd: Finish moving command line handling in dedicated helpers.
cmd: cmd /c or /k shall handle ctrl-c events properly.
cmd: No longer reformat output according to console width.
Gabriel Ivăncescu (13):
mshtml: Implement DOMParser constructor and instance object.
mshtml: Move document dispex info initialization to create_document_node.
mshtml: Use Gecko's responseXML to create the XML document in IE10 and up.
mshtml: Fallback to text/xml for unknown content types ending with +xml in get_mimeType.
mshtml: Implement anchors prop for XML documents.
mshtml: Implement DOMParser's parseFromString.
mshtml: Use actual prop name after looking it up case insensitively on window.
mshtml: Set non-HTML elements' prototype to ElementPrototype.
mshtml: Expose toJSON only in IE9+ modes.
mshtml: Don't expose toString from Performance* objects' prototypes in IE9+ modes.
mshtml: Implement toJSON() for PerformanceTiming.
mshtml: Implement toJSON() for PerformanceNavigation.
mshtml: Implement toJSON() for Performance.
Gerald Pfeifer (1):
ntdll: Fix the build of check_invalid_gsbase() on FreeBSD.
Hans Leidekker (15):
include: Comment references to undefined member interfaces.
include: Define IContentTypeProvider, IInputStream and IInputStreamReference.
include: Define IUser.
include: Define IAcceleratorKeyEventArgs and ICoreAcceleratorKeys.
include: Define IKeyCredential and related types.
include: Define IRfcommServiceId.
msi: Allow pre-2.0 assemblies to be installed using 2.0 fusion.
include: Define more USB interfaces.
include: Define IImageDisplayProperties and IVideoDisplayProperties.
include: Define IMediaEncodingProperties and IAudioEncodingPropertiesWithFormatUserData.
include: Define IHolographicCamera and related types.
include: Define IOnlineIdServiceTicket and IOnlineIdSystemIdentity.
include: Add missing parameterized interface declarations.
widl: Require member interfaces to be defined.
widl: Support additional deprecated declarations.
Haoyang Chen (1):
ntdll: Fix a buffer overflow in wcsncpy.
Jacek Caban (8):
opengl32/tests: Add memory mapping tests.
opengl32: Simplify wow64 memory mapping error handling.
opengl32: Implement wrap_wglCreateContext on top of wrap_wglCreateContextAttribsARB.
opengl32: Factor out free_context.
opengl32: Introduce a wow64 buffer wrapper.
opengl32: Move copy buffer allocation to Unix lib.
opengl32: Use generated PE thunks for memory mapping functions.
opengl32: Use generated PE thunks for memory unmapping functions.
Joe Souza (1):
cmd: Treat COPY from CON or CON: as ASCII operation.
Kevin Puetz (1):
oleaut32: Fix UDT record block leak in VariantClear().
Louis Lenders (2):
iphlpapi: Add stub for SetPerTcp6ConnectionEStats.
iphlpapi: Add stub for GetPerTcp6ConnectionEStats.
Matteo Bruni (7):
hidclass: Set Status for pending IRPs of removed devices to STATUS_DEVICE_NOT_CONNECTED.
hidclass: Fix check for early IRP cancellation.
nsiproxy: Fix check for early IRP cancellation.
dinput/tests: Fix check for early IRP cancellation.
http.sys: Fix check for early IRP cancellation.
winetest: Print Windows revision (UBR).
d3dx10_33/tests: Enable tests.
Mohamad Al-Jaf (12):
include: Add windows.media.playback.idl.
windows.media.playback.backgroundmediaplayer: Add stub dll.
windows.media.playback.backgroundmediaplayer: Add IBackgroundMediaPlayerStatics stub.
windows.media.playback.mediaplayer: Implement IActivationFactory::ActivateInstance().
windows.media.mediacontrol: Stub ISystemMediaTransportControls::add/remove_ButtonPressed().
windows.media.mediacontrol: Stub ISystemMediaTransportControlsDisplayUpdater::ClearAll().
windows.media.mediacontrol: Implement ISystemMediaTransportControls::put/get_IsStopEnabled().
windows.media.mediacontrol: Stub ISystemMediaTransportControlsDisplayUpdater::put/get_Thumbnail().
windows.media.playback.backgroundmediaplayer: Implement IBackgroundMediaPlayerStatics::get_Current().
include: Add IMediaPlayer2 definition.
windows.media.playback.mediaplayer: Add IMediaPlayer2 stub.
windows.media.playback.mediaplayer: Implement IMediaPlayer2::get_SystemMediaTransportControls().
Nikolay Sivov (17):
opcservices/tests: Use wide-char strings.
opcservices/tests: Remove Vista workarounds.
opcservices/tests: Use stricter return values checks.
opcservices: Fix MoveNext() at the collection end.
opcservices/tests: Add more tests for MovePrevious().
opcservice: Fix iteration with MovePrevious().
opcservices/tests: Use message context in some tests.
opcservices: Make it clear which structures are specific to zip32.
opcservices: Use 64-bit file sizes.
opcservices: Add support for writing Zip64 packages.
opcservices: Improve error handling when writing archives.
opcservices: Use stdint types for the file header.
opcservices: Set compression method according to part's compression options.
opcservices: Use explicit field for the part name.
combase/tests: Suppress trace messages from the test dll.
opcservices: Remove separate part name allocation.
vccorlib: Fix out of bounds access in debug helper (Coverity).
Patrick Hibbs (2):
mmdevapi: Set DEVPKEY_Device_Driver during MMDevice_Create().
winecfg: Fix audio tab by fetching the default device's audio driver.
Paul Gofman (15):
ntdll: Zero aligned size in initialize_block().
winevulkan: Handle NULL buffer pointer in vkFreeCommandBuffers().
nsiproxy.sys: Use a separate critical section to sync icmp echo IRP cancel.
iphlpapi: Use IOCP callback for echo async completion.
win32u: Bump AMD internal driver version.
kernel32/tests: Add tests for UnhandledExceptionFilter().
kernelbase: Avoid recursive top exception filter invocation for nested exceptions.
kernelbase: Return EXCEPTION_CONTINUE_SEARCH from UnhandledExceptionFilter() for nested exceptions.
dbghelp: Use GetCurrentProcess() special handle in EnumerateLoadedModulesW64() if possible.
wbemprox: Fix CIM_UINT16 handling in to_safearray().
wbemprox: Add MSFT_PhysicalDisk table.
wbemprox: Return an error from class_object_Next() for non-zero flags.
wbemprox: Enumerate system properties in class_object_Next().
iphlpapi: Fix ipforward_row_cmp().
iphlpapi: Fix udp_row_cmp().
Rémi Bernon (90):
dataexchange: Register runtimeclasses explicitly.
geolocation: Register runtimeclasses explicitly.
graphicscapture: Register runtimeclasses explicitly.
hvsimanagementapi: Register runtimeclasses explicitly.
iertutil: Register runtimeclasses explicitly.
threadpoolwinrt: Register runtimeclasses explicitly.
windows.devices.bluetooth: Register runtimeclasses explicitly.
windows.devices.enumeration: Register runtimeclasses explicitly.
windows.devices.usb: Register runtimeclasses explicitly.
windows.gaming.input: Register runtimeclasses explicitly.
win32u: Pass struct vulkan_physical_device pointer to drivers.
winevulkan: Simplify VkDefine and typedefs generation.
winevulkan: Generate structs and pointers for wayland platform.
winevulkan: Generate structs and pointers for macos platform.
winevulkan: Generate structs and pointers for xlib platform.
winevulkan: Simplify function pointer generation.
winevulkan: Simplify struct generation ordering.
windows.gaming.ui.gamebar: Register runtimeclasses explicitly.
windows.media.devices: Register runtimeclasses explicitly.
windows.media.mediacontrol: Register runtimeclasses explicitly.
windows.media.speech: Register runtimeclasses explicitly.
windows.media: Register runtimeclasses explicitly.
windows.networking.connectivity: Register runtimeclasses explicitly.
windows.networking.hostname: Register runtimeclasses explicitly.
windows.perception.stub: Register runtimeclasses explicitly.
windows.security.authentication.onlineid: Register runtimeclasses explicitly.
windows.security.credentials.ui.userconsentverifier: Register runtimeclasses explicitly.
windows.web: Register runtimeclasses explicitly.
include: Remove now unnecessary DO_NO_IMPORTS ifdefs.
winevulkan: Move physical_device memory properties to vulkan_driver.h.
winevulkan: Move extensions to struct vulkan_physical_device.
winevulkan: Get rid of struct wine_vk_phys_dev.
winevulkan: Move physical device pointers to struct vulkan_instance.
win32u: Move device memory object wrapper from winevulkan.
win32u: Move external host memory allocation to a separate helper.
include: Add declarations for some d3dkmt functions.
win32u: Stub NtGdiDdDDICheckOcclusion syscall.
win32u/tests: Move d3dkmt tests from gdi32.
win32u/tests: Check D3DKMT local handle allocation.
win32u: Implement d3dkmt local handle allocation.
winevulkan: Order the win32 structs as other structs.
winevulkan: Simplify struct conversion enumeration.
winevulkan: Build the struct extension list lazily.
winevulkan: Enumerate struct extensions with the registry structs.
winevulkan: Avoid converting unexposed extensions structs.
winevulkan: Generate structs for external memory fds.
winevulkan: Force copy some memory, buffer and image struct chains.
win32u: Strip unsupported structs from vkAllocateMemory chain.
win32u: Strip unsupported structs from vkCreateBuffer chain.
win32u: Strip unsupported structs from vkCreateImage chain.
win32u: Hook VK_KHR_external_memory_win32 functions.
winevulkan: Remove leftover external image functions moved to win32u.
win32u: Pass memory type flags to allocate_external_host_memory.
win32u: Fix missing NULL initialization of NtAllocateVirtualMemory parameter.
wintypes/tests: Check IAgileObject interface on map objects.
wintypes: Introduce a generic IMap stub implementation.
wintypes: Implement a generic IMap<HSTRING, IInspectable>.
wintypes: Introduce a locked IMap<HSTRING, IInspectable> implementation.
winevulkan: Force copying wrapped handle arrays.
winevulkan: Force copying the VkSubmitInfo(2) struct chains.
winevulkan: Move command buffer wrapper to vulkan_driver.h.
win32u: Hook vkQueueSubmit and vkQueueSubmit2 functions.
win32u: Hook VK_KHR_win32_keyed_mutex related functions.
win32u: Hook VK_KHR_external_semaphore_win32 related functions.
win32u: Hook VK_KHR_external_fence_win32 related functions.
winebus: Match match gamepad dpad buttons with XUSB / GIP.
win32u: Stub NtGdiDdDDIOpenNtHandleFromName.
wow64win: Initialize output NtGdiDdDDI* parameters too.
wow64win: Fix NtGdiDdDDICreateAllocation* output conversion.
win32u/tests: Test D3DKMT synchronization object creation.
win32u/tests: Test D3DKMT keyed mutex object creation.
win32u/tests: Test D3DKMT allocation object creation.
win32u/tests: Test D3DKMT objects NT handle sharing.
winevulkan: Simplify device enabled extension conversion.
winevulkan: Check surface_maintenance1 before using swapchain_maintenance1.
win32u: Assume the VkPresentInfoKHR struct is copied in the thunks.
winevulkan: Force copy of the VkSemaphoreSubmitInfo struct chain.
win32u: Wrap vulkan semaphore objects.
win32u: Wrap vulkan fence objects.
d3d8/tests: Flag some tests as todo_wine.
d3d9/tests: Flag some tests as todo_wine.
opengl32/tests: Test that window back buffers are shared.
include: Use the client pointer in debugstr_opengl_drawable.
win32u: Move memory DC pbuffer handling out of context_sync_drawables.
win32u: Use context->draw directly when flushing context.
win32u: Swap the last window drawable if there's no context.
win32u: Introduce an context_exchange_drawables helper.
win32u: Rename window opengl drawable to current_drawable.
win32u: Keep a separate pointer for unused opengl drawable.
win32u: Don't store the window OpenGL drawables on the DCs.
Santino Mazza (2):
dinput: Set per monitor aware DPI awareness in the worker thread.
win32u: Map raw coordinates to virtual screen in low-level hooks.
Spencer Wallace (1):
msxml3: Correct looping of Document Element properties.
Tim Clem (1):
dxcore: Use a static structure for the adapter factory.
Tyson Whitehead (2):
winebus: Unspecified condition blocks are full strength.
joy.cpl: Play condition effects on indicated axis too.
Vibhav Pant (15):
opcservices/tests: Add tests for ReadPackageFromStream.
opcservices/tests: Add some more tests for MoveNext().
windows.applicationmodel/tests: Add tests for exposing inproc WinRT classes through the manifest.
opcservices: Mark entries according to compression mode.
wintypes: Make a copy of the passed string in IPropertyValueStatics::CreateString.
combase: Add stubs for HSTRING_User{Size, Marshal, Unmarshal, Free}.
combase/tests: Add tests for HSTRING marshaling methods.
combase: Implement HSTRING_UserSize.
combase: Implement HSTRING_UserMarshal.
combase: Implement HSTRING_User{Unmarshal, Free}.
combase/tests: Add RoGetAgileReference tests with agile objects.
combase: Don't marshal objects that implement IAgileObject in RoGetAgileReference.
wintypes/tests: Add tests for PropertySet::{Insert, Lookup, HasKey}.
wintypes/tests: Add tests for IMapView.
wintypes: Introduce a serial to track IMap state changes.
Yuxuan Shui (2):
opcservices: IOpcPart::GetContentType takes LPWSTR, not BSTR.
winegstreamer: Free stream buffers before wg_parser_disconnect.
Zhiyi Zhang (4):
gdi32: Use the maximum number of colours when biClrUsed is zero.
gdi32/tests: Test recording StretchDIBits() for bitmaps with zero biClrUsed field in EMFs.
gdi32/tests: Test recording SetDIBitsToDevice() for bitmaps with zero biClrUsed field in EMFs.
Revert "wineps: Use the correct colours when a monochrome bitmap without a colour table is the source.".
Ziqing Hui (2):
mf/tests: Test GetOutputStatus for video processor.
winegstreamer: Add semi-stub implementation for video_processor_GetOutputStatus.
Zowie van Dillen (2):
opengl32/tests: Add 16-bit bitmap rendering tests.
winex11: Check pbuffer bit instead of pixmap bit for bitmap rendering.
```
The Wine development release 10.14 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.17.
- Mono engine updated to version 10.2.0.
- Support for ping on IPv6.
- Gitlab CI now running on Debian Trixie.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.14.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.14/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.14 (total 19):
- #18233 Approach underscore bar inactive with multiple database open
- #27974 warn:winsock:wsaErrno errno 115, (Operation now in progress).
- #35622 VemsTune: program crashes on switching view modes
- #55557 wpcap:wpcap crashes on macOS
- #56639 Phantasy Star Online: Blue Burst: various missing/black textures
- #57027 GetFinalPathNameByHandleW does not handle paths exceeding MAX_PATH (260 chars)
- #57835 ROCS Show Ready crashes on unimplemented function msvcp140_atomic_wait.dll.__std_tzdb_get_time_zones
- #57946 Multiple games need maxAnisotropy values handling (GreedFall, Mafia III: Definitive Edition)
- #58141 [MDK] [WOW64] Stack overflow
- #58169 Trae installer fails: "Failed to expand shell folder constant userpf"
- #58334 ShowStopper crashes on unimplemented function ntdll.dll.RtlQueryProcessHeapInformation
- #58403 Death to Spies: intro videos show black screen (audio works)
- #58482 Roblox Studio installer crashes on unimplemented function api-ms-win-core-memory-l1-1-3.dll.VirtualProtectFromApp
- #58531 MemoryRegionInformation incorrectly returns STATUS_SUCCESS for freed memory regions
- #58574 Multiple applications require gameinput.dll (Fritz Chess Coach, Le Mans Ultimate)
- #58577 MsiGetComponentPath/MsiLocateComponent doesn't resolve a reference to .NET GAC
- #58600 Command line tab completion works improperly with files/directories containing delimiter characters
- #58608 SCardTransmit should work with pioSendPci=NULL
- #58615 winepath changes behaviour and strips ending path separator now
### Changes since 10.13:
```
Adam Markowski (2):
po: Update Polish translation.
po: Update Polish translation.
Alexandre Julliard (39):
tapi32: Move registry keys out of wine.inf.
win32u: Add NtGdiCancelDC() stub.
win32u: Implement NtUserGetCursorPos().
win32u: Implement NtGdiGet/SetMiterLimit().
server: Add a helper to check a process wow64 status.
include: Always use Unicode string constants for the PE build.
server: Use LIST_FOR_EACH_ENTRY in more places.
cabinet: Use the correct structure for DllGetVersion().
rsaenh: Don't reset key when nothing was encrypted.
winebuild: Only allow thiscall functions on i386.
server: Fix get_next_hook return value when no hook is found.
kernel32: Preserve trailing slash for existing paths in wine_get_dos_file_name().
kernel32: Preserve trailing slash for existing paths in wine_get_unix_file_name().
win32u: Define all stubs as syscalls.
vkd3d: Import upstream release 1.17.
sxs: Add support for language in manifest names.
sxs: Support XML escaping in manifest names.
sxs: Take manifest language into account when building the file name.
sxs: Install policy files the same way as normal manifests.
win32u: Disable some unused code when EGL is missing.
gitlab: Update CI image to debian trixie.
setupapi: Use SetupDiGetActualSectionToInstallW instead of duplicating that logic.
setupapi: Add support for Include directive.
setupapi: Add support for Needs directive.
wine.inf: Use Needs directive to reduce duplication.
winedump: Remove const from a member that is written to.
kernel32/tests: Clear FPU status flags before checking control word.
ntdll/tests: Also test mxcsr register in user callbacks.
ntdll/tests: Use a direct syscall to test xmm registers.
gdi32/tests: Remove some workarounds for NT4.
gdi32: Handle the default color profile on the GDI side.
gdi32: Handle the ICM\mntr key on the GDI side.
winex11: Create the ICM profile file at startup.
win32u: Remove the __wine_get_icm_profile() syscall.
win32u: Remove the GetICMProfile driver entry point.
amstream/tests: Use nameless unions/structs.
qcap: Use nameless unions/structs.
qedit: Use nameless unions/structs.
winegstreamer: Use nameless unions/structs.
Alexandros Frantzis (2):
winewayland: Mark only windows with per-pixel alpha as layered.
winewayland: Handle NULL values for xkb layout name and description.
Anders Kjersem (1):
advpack: Support ADN_DEL_IF_EMPTY flag in DelNode().
Attila Fidan (1):
winegstreamer/wma_decoder: Return S_OK from AllocateStreamingResources().
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Bernhard Übelacker (8):
ntdll/tests: Mark test as broken with old Windows versions.
ntdll: Fix XState data initialisation with non-AVX CPUs.
kernel32/tests: Test paths in GetFinalPathNameByHandleW exceeding MAX_PATH.
kernel32: Handle paths in GetFinalPathNameByHandleW exceeding MAX_PATH.
bluetoothapis/tests: Avoid crash in gatt tests with some Windows versions.
kernelbase/tests: Fix test failing with old Windows 10.
ntdll/tests: Add check for len and avoid CommitSize with old Windows.
propsys/tests: Skip tests of properties not supported by old Windows.
Brendan McGrath (1):
winegstreamer: Only add the capsfilter for avdec_h264.
Brendan Shanks (1):
ntdll: Implement NtGetCurrentProcessorNumber() with pthread_cpu_number_np() when available on macOS.
Connor McAdams (8):
ntoskrnl/tests: Add tests for getting IRP_MN_QUERY_DEVICE_TEXT based device properties.
ntoskrnl: Set DEVPKEY_Device_BusReportedDeviceDesc from driver.
winebus: Handle IRP_MN_QUERY_DEVICE_TEXT.
hidclass: Print a warning for unhandled IRP_MN_QUERY_DEVICE_TEXT text types.
winebth.sys: Print a warning for unhandled IRP_MN_QUERY_DEVICE_TEXT text types.
wineusb.sys: Print a warning for unhandled IRP_MN_QUERY_DEVICE_TEXT text types.
winebus: Generate unique container IDs when adding devices.
winebus: Override device instance enumerator string if bus type is known.
Conor McCarthy (1):
winegstreamer: Use a stride alignment of 2 for NV12 in align_video_info_planes().
Dmitry Timoshkov (3):
comdlg32: PRINTDLG_UpdatePrintDlgW() should update dmCopies field in DEVMODE.
kernel32/tests: Test FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_POSIX_SEMANTICS | FILE_ATTRIBUTE_DIRECTORY.
kernelbase: For FILE_FLAG_BACKUP_SEMANTICS also handle FILE_ATTRIBUTE_DIRECTORY in CreateFile.
Elizabeth Figura (3):
qcap/tests: Test subtype validation in QueryAccept() and SetFormat().
quartz/tests: Add more tests for video window style.
quartz: Preserve the current visibility in IVideoWindow::put_Style().
Esme Povirk (1):
mscoree: Update Wine Mono to 10.2.0.
Gabriel Ivăncescu (4):
jscript: Allow objects that expose "length" prop for Function.apply under certain conditions.
jscript: Return proper error when passing wrong type to Function.apply.
jscript: Fallback to Object's toString for Arrays when 'this' isn't an array in ES5 mode.
jscript: Fix error value when passing non-string 'this' to String's toString.
Georg Lehmann (3):
winevulkan: Reorder bitmasks to handle aliases correctly.
winevulkan: Disable h265 extensions.
winevulkan: Update to VK spec version 1.4.325.
Gerald Pfeifer (1):
winebus.sys: Use uint16_t instead of __u16.
Hans Leidekker (11):
msi: Make assembly caches global.
msi: Handle .NET assemblies in MSI_GetComponentPath().
rsaenh: Use TomCrypt for hash implementations.
include: Comment references to undefined static interfaces.
include: Define IRandomAccessStreamStatics.
include: Define ISystemMediaTransportControlsStatics.
widl: Require static interfaces to be defined.
widl: Require activation interfaces to be defined.
widl: Require composition interfaces to be defined.
widl: Require runtimeclass contracts to be defined.
winscard: Handle NULL send parameter in SCardTransmit().
Haoyang Chen (1):
qcap/vfwcapture: Validate the subtype in find_caps().
Henri Verbeet (4):
d3d11/tests: Test that sampler states with anisotropic filtering and zero MaxAnisotropy can be created.
d3d10core/tests: Test that sampler states with anisotropic filtering and zero MaxAnisotropy can be created.
d3d11: Disable anisotropic filtering for sampler states with zero MaxAnisotropy.
wined3d: Disable anisotropic filtering for zero max_anisotropy in sampler_desc_from_sampler_states().
Ignacy Kuchciński (1):
windows.storage: Split ApplicationData.
Jacob Czekalla (6):
hhctrl.ocx: Check for a NULL web_browser before QueryInterface.
wininet/tests: Add more http time test strings.
wininet: Fix parsing order of http times.
wininet: Fix year parsing to include millennium.
comctl32/treeview: Return from TREEVIEW_LButtonDown when the treeview handle is invalid.
comctl32/tests: Add a test for treeview deletion during NM_CLICK in LBUTTONDOWN.
Jiangyi Chen (1):
opengl32: Perform cAccumBits filtering if specified in wglChoosePixelFormat().
Joe Souza (1):
cmd: Treat most delimiters as literals if user specified quotes.
Keigo Okamoto (3):
winealsa: Send All Notes Off and Reset Controllers.
winecoreaudio: Send All Notes Off and Reset Controllers.
wineoss: Send All Notes Off and Reset Controllers.
Marc-Aurel Zent (5):
ntdll: Implement ProcessPriorityBoost class in NtQueryInformationProcess.
ntdll: Implement ProcessPriorityBoost class in NtSetInformationProcess.
kernelbase: Implement GetProcessPriorityBoost.
kernelbase: Implement SetProcessPriorityBoost.
kernel32/tests: Add tests for GetProcessPriorityBoost/SetProcessPriorityBoost.
Mike Kozelkov (1):
winbio: Add stub DLL.
Mohamad Al-Jaf (9):
cryptxml: Add stub dll.
include: Add cryptxml.h.
cryptxml: Implement CryptXmlOpenToDecode() stub.
cryptxml: Implement CryptXmlClose().
cryptxml: Implement CryptXmlGetDocContext().
cryptxml: Implement CryptXmlGetSignature().
cryptxml: Implement CryptXmlVerifySignature() stub.
cryptxml: Implement CryptXmlGetStatus().
cryptxml/tests: Add some signature verification tests.
Nikolay Sivov (5):
d2d1: Add some helpers for geometry figure manipulation.
d2d1: Implement ellipse geometry simplification.
d2d1: Implement rounded rectangle geometry simplification.
fonts: Fix "O" glyph in Tahoma Bold bitmap strikes.
d3d10/tests: Compile more test effects from sources.
Paul Gofman (35):
ntdll: Factor out chksum_add() function.
ntdll: Support SOCK_RAW / IPPROTO_ICMPV6 fallback over SOCK_DGRAM.
ws2_32/tests: Test ICMPv6 ping.
ntdll/tests: Add more tests for NtQueryVirtualMemory( MemoryRegionInformation ).
ntdll: Factor out get_memory_region_size() function.
ntdll: Reimplement get_memory_region_info() on top of get_memory_region_size().
ntdll: Add semi-stub for NtQueueApcThreadEx2().
ntdll: Validate reserve handle in NtQueueApcThreadEx2().
ntdll: Pass user APC flags to call_user_apc_dispatcher().
server: Do not allow queueing special APCs to wow64 threads.
ntdll: Implement QUEUE_USER_APC_CALLBACK_DATA_CONTEXT in NtQueueApcThreadEx2() on x64.
ntdll: Use NtContinueEx in KiUserApcDispatcher on x64.
kernelbase: Implement QueueUserAPC2().
server: Check thread and call parameters in queue_apc() for APC_USER.
msvcp140_atomic_wait: Semi-stub __std_tzdb_get_time_zones() / __std_tzdb_delete_time_zones().
msvcp140_atomic_wait: Semi-stub __std_tzdb_get_current_zone() / __std_tzdb_delete_current_zone().
msvcp140_atomic_wait: Stub __std_tzdb_get_leap_seconds() / __std_tzdb_delete_leap_seconds().
kernelbase: Preserve last error in OutputDebugStringA().
kernel32: Preserve last error in OutputDebugStringA().
kernel32/tests: Test last error preservation in OutputDebugString().
ntdll/tests: Test last error preservation in OutputDebugString() with debugger.
winex11.drv: Only create dummy parent when needed in create_client_window().
win32u: Avoid calling server in NtUserGetKeyState() when input keystate is in sync.
nsiproxy.sys: Get rid of echo request thread.
nsiproxy.sys: Bind to source address in icmp_send_echo().
nsiproxy.sys: Store socket type in struct icmp_data.
iphlpapi: Factor out icmp_send_echo() function.
iphlpapi/tests: Refactor APC testing in testIcmpSendEcho().
iphlpapi: Only supply APC routine if no event in icmp_send_echo().
iphlpapi: Implement Icmp6ParseReplies().
iphlpapi: Implement Icmp6CreateFile().
nsiproxy.sys: Don't try to check for original packet for ping socket.
iphlpapi: Implement Icmp6SendEcho2().
iphlpapi/tests: Add tests for Icmp6SendEcho2().
iphlpapi: Avoid leaking APC context in icmp_send_echo().
Rémi Bernon (69):
widl: Wrap strappend parameters in a new struct strbuf.
widl: Introduce a new append_basic_type helper.
widl: Remove unnecessary recursion for TYPE_BITFIELD.
widl: Move some type name construction out of write_type_left.
joy.cpl: Read the device state when getting selected effect.
winetest: Set winetest_mute_threshold to 4 when running tests.
user32: Use init_class_name(_ansi) in FindWindowEx(A|W).
win32u: Drop unnecessary NtUserCreateWindowEx version strings.
win32u: Add a helper to add atom / strings to server requests.
server: Simplify create_class atom validation check.
server: Unify reading class atom / name from requests.
widl: Introduce a new write_record_type_definition helper.
widl: Cleanup indentation and variables in write_type_left.
widl: Split write_type_left into a write_type_definition_left helper.
widl: Introduce a new append_type_left helper.
win32u: Move nulldrv client surface code from vulkan.c.
win32u: Introduce a new framebuffer object GL surface.
win32u: Create render buffers for double / stereo buffering.
win32u: Create depth attachments for the FBO surface.
widl: Remove now unnecessary write_callconv argument.
widl: Cleanup indentation and variables in write_type_right.
widl: Inline write_args into write_type_right.
widl: Introduce a new append_declspec helper.
opengl32: Hook glGet(Booleanv|Doublev|Floatv|Integer64v).
opengl32: Share wgl_context structure definition with win32u.
opengl32: Keep track of draw/read framebuffer binding.
opengl32: Return the tracked FBOs when using FBO surfaces.
include: Add gameinput.idl.
gameinput: Introduce new DLL.
dinput/tests: Add some gameinput tests.
winebus: Generate unique serial numbers when adding devices.
user32/tests: Add more GetClassInfo tests.
win32u: Forbid setting GCW_ATOM class info.
win32u: Introduce helpers to check desktop and message class.
user32: Implement integral class name versioning support.
win32u: Remove now unnecessary integral atom specific handling.
server: Return the class base atom from create_class.
opengl32: Keep track of default FBO read/draw buffers.
opengl32: Return the tracked FBO buffers when using FBO surfaces.
opengl32: Remap read / draw FBO buffers when using FBO surfaces.
opengl32: Redirect default framebuffer when using FBO surfaces.
wine.inf: Fix section name for DefaultInstall.ntx86 services.
win32u: Simplify setting extra class info in set_class_long.
win32u: Use set_class_long_size for NtUserSetClassWord.
win32u: Use get_class_long_size for get_class_word.
server: Split get_class_info request from set_class_info.
server: Get rid of set_class_info request flags.
widl: Keep track of statements source locations.
widl: Allow explicit registration by referencing runtimeclasses.
windows.storage.applicationdata: Register runtimeclasses explicitly.
windows.storage: Register runtimeclasses explicitly.
wintypes: Register runtimeclasses explicitly.
include: Remove now unnecessary registration ifdefs.
opengl32: Initialize viewport when using FBO surface.
win32u: Create a separate draw FBO for multisampled formats.
opengl32: Resolve multisample draw buffer when using FBO surfaces.
win32u: Remove unnecessary HDC parameter from client_surface_present.
win32u: Remove unnecessary HDC parameter from p_surface_create.
winex11: Remove unnecessary members from struct gl_drawable.
windows.ui: Register runtimeclasses explicitly.
windows.ui.xaml: Register runtimeclasses explicitly.
coremessaging: Register runtimeclasses explicitly.
twinapi.appcore: Register runtimeclasses explicitly.
windows.applicationmodel: Register runtimeclasses explicitly.
windows.system.profile.systemid: Register runtimeclasses explicitly.
windows.system.profile.systemmanufacturers: Register runtimeclasses explicitly.
windows.globalization: Register runtimeclasses explicitly.
appxdeploymentclient: Register runtimeclasses explicitly.
cryptowinrt: Register runtimeclasses explicitly.
Tim Clem (3):
ntdll: Initialize return value in fork_and_exec.
ntdll: Zero the process and thread handles when creating a Unix process.
kernelbase: Zero the RTL_USER_PROCESS_PARAMETERS in CreateProcessInternalW.
Tingzhong Luo (1):
shell32: Support the UserProgramFiles folder.
Tres Finocchiaro (1):
winebuild: Add flag to disable dynamicbase/aslr.
Tyson Whitehead (9):
joy.cpl: Use correct interface for effect AddRef call.
joy.cpl: Remove needless device caps retrieval.
joy.cpl: Remove incorrect DIEP_TYPESPECIFICPARAMS flag usage.
joy.cpl: Cleanup selected device Acquire / Unacquire logic.
joy.cpl: Fix effect axes / direction in SetParameters call.
joy.cpl: Avoid restarting effect while button is pressed.
joy.cpl: Turn off autocenter for every device on creation.
joy.cpl: Add specific parameters based on type and not effect GUID.
winebus: SDL backend FF effect angle requires 32 bits.
Vibhav Pant (9):
vccorlib140: Add semi-stub for Platform::Details::Heap::{Allocate, Free}.
vccorlib140: Add stub for Platform::Details::{Allocate(ptrdiff_t, size_t), ControlBlock::ReleaseTarget}.
vccorlib140: Implement Platform::Details::{Allocate(ptrdiff_t, size_t), ControlBlock::ReleaseTarget}.
vccorlib140: Add stub for __abi_make_type_id, Platform::Type{Equals, GetTypeCode, ToString, FullName::get}.
vccorlib140: Implement __abi_make_type_id.
vccorlib140: Implement Platform::Type::{Equals, GetTypeCode, ToString, FullName::get}.
vccorlib140: Add stub for Platform::Details::CreateValue.
vccorlib140: Implement Platform::Details::CreateValue.
vccorlib140: Use the correct symbol name for InitControlBlock on i386 and arm.
William Horvath (2):
ntdll: Check for invalid gs_base in the 64-bit segv_handler.
ntdll/tests: Re-enable a previously crashing test.
Yuxuan Shui (6):
include: Make sure to null terminate string in wine_dbg_vsprintf.
server: Fix use-after-free of handle entry.
makefiles: Don't delete Makefile if makedep is interrupted.
dmime: Fix use-after-free after performance_CloseDown.
msi/tests: Fix wrong character counts passed to RegSetValueExA.
ole32: Don't get metafile extent if there is no metafile.
Zhiyi Zhang (2):
user32/tests: Add more SendMessageCallbackA/W() tests with NULL callback.
win32u: Put the message in the queue when the callback pointer is NULL and the callback data is 1.
Ziqing Hui (1):
dwrite: Add fallback for Dingbats.
```
The Wine development release 10.13 is now available.
What's new in this release:
- Windows.Gaming.Input configuration tab in the Joystick Control Panel.
- ECDSA_P521 and ECDH_P521 algorithms in BCrypt.
- OpenGL WoW64 thunks are all generated.
- Still more support for Windows Runtime metadata in WIDL.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.13.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.13/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.13 (total 32):
- #21864 Default paper size A4 instead of my printers default
- #32334 Microsoft SQL Server Management Studio Express 2005: Connection window is too narrow
- #44066 mintty/msys2 doesn't work since wine 2.5.0 (named pipes)
- #50174 Microsoft Office 365 login page for activating Office is blank
- #52844 Multiple games stuck/crash with a black screen after/before intro (Call of Duty: Black Ops II, Nioh 2 - The Complete Edition)
- #54157 dir command of cmd fails on Z: on Ubuntu under WSL
- #56246 Regarding the color depth of BMP in the SavePicture method: the value is unstable.
- #56697 _kbhit ignores the last event in the queue
- #56754 Amazing Adventures 2 CD: bundled demo launchers fail to launch game
- #56883 DualSense bumpers registering as two buttons on wine 9.9 and later
- #57115 CEF sample application "Draggable" test fails
- #57116 Crash during codecs test on CEF sample application in 64-bit wineprefix (widevinecdm)
- #57130 CEF sample application WebGL test fails
- #57131 Info and profile buttons in CEF sample application instantly close
- #57458 FL Studio logo appears on the top left of the screen and with a black background
- #57648 Wrong Cursor on Wayland
- #57783 Approach will not run in a virgin 10.0 wineprefix
- #58122 WSAENOTSOCK error when calling winsock.Send() on duplicated socket
- #58389 Wrong path, app fails to start (regression): err:environ:init_peb starting L"\\\\?\\unix\\home\\user\\krita-x64-5.2.9-setup.exe
- #58393 FlexiPDFfails to run in wine-10.10
- #58396 virtual terminal captures mouse
- #58425 video/x-h264 alignment=au caps causes artifacts and crashes with streams that have NALUs split across buffers
- #58448 Metasequoia 3.1.6 OpenGL regression
- #58459 Doom 3: BFG Edition fails to start
- #58477 Some VST plugins fail
- #58488 Bejeweled 3: black screen on start
- #58493 Gothic and Gothic II crash with Access Violation
- #58497 Strings are a confusing mix of US and British English
- #58500 64-bit "Plain Vanilla Compiling" fails
- #58528 CRYPT_AcquirePrivateKeyFromProvInfo does not check machine store for private key
- #58549 Call of Duty: Black Ops II has no sound
- #58571 On NetBSD, the case-insensitive mechanism for filenames appears to be broken
### Changes since 10.12:
```
Adam Markowski (2):
po: Update Polish translation.
po: Update Polish translation.
Akihiro Sagawa (1):
ntdll: Remove redundant fusefs detection for NetBSD.
Alexandre Julliard (39):
winebrowser: Use wine_get_unix_file_name() instead of wine_nt_to_unix_file_name().
makefiles: Don't try to install symlinks for programs if not supported.
ntdll: Share more filename string constants.
ntdll: Move the helper to build NT pathnames to file.c.
ntdll: Add a ntdll_get_unix_file_name() helper.
win32u: Use the ntdll_get_unix_file_name() helper.
winemac.drv: Use the ntdll_get_unix_file_name() helper.
winex11.drv: Use the ntdll_get_unix_file_name() helper.
winspool: Use the ntdll_get_unix_file_name() helper.
mountmgr: Perform the filename conversion to the Unix side when setting shell folders.
mountmgr: Perform the filename conversion to the Unix side when querying shell folders.
ntdll: Add a private info class in NtQueryInformationFile() to return the Unix file name.
kernel32: Reimplement wine_get_unix_file_name() using WineFileUnixNameInformation.
kernel32: Remove leftover debug traces.
ntdll: Get rid of the wine_nt_to_unix_file_name syscall.
ntdll: Remove some commented stubs that no longer exist in recent Windows.
ntdll: Add NtAccessCheckByTypeAndAuditAlarm() and NtCloseObjectAuditAlarm() stubs.
ntdll: Add more LPC stubs.
kernel32/tests: Fix a couple of test failures.
winebuild: Unify the get_stub_name() and get_link_name() helpers.
winebuild: Support -syscall flag for stubs.
ntdll: Add stubs for some syscalls that need explicit ids.
kernel32/tests: Fix some test failures on Windows.
msvcrt: Remove __GNUC__ checks.
vcomp: Remove __GNUC__ checks.
krnl386: Remove __i386__ checks.
mmsystem: Remove __i386__ checks.
system.drv: Remove __i386__ checks.
win87em: Remove __i386__ checks.
ntdll: Remove trailing backslashes from NT names.
kernelbase: Get the CPU count from SYSTEM_CPU_INFORMATION.
light.msstyles: Update generated bitmaps.
joy.cpl: Use aligned double type to avoid compiler warnings.
server: Add a helper to check if a thread is suspended.
wbemprox: Get the CPU count from the PEB.
taskmgr: Get the CPU count from the PEB.
ntdll/tests: Get the CPU count from the PEB.
kernel32/tests: Get the CPU count from the PEB.
cmd/tests: Fix cleanup of created files.
Alfred Agrell (2):
dsound/tests: Add tests for IDirectSoundBuffer_Lock.
dsound: Improve IDirectSoundBufferImpl_Lock handling of invalid arguments.
Alistair Leslie-Hughes (7):
msado15: Support all Fields interfaces.
msado15: Support all Field interfaces.
msado15: Support all Connection interfaces.
msdasql/tests: Allow database tests to run as normal user.
msado15/tests: Check return value (Coverity).
msado15: Implement ADOConnectionConstruction15::get_DSO.
msado15/tests: Fixup error return values for the ConnectionPoint tests.
Ally Sommers (1):
ws2_32: Add afunix.h header.
Andrey Gusev (1):
wined3d: Add NVIDIA GeForce RTX 4060 Mobile.
Arkadiusz Hiler (2):
winebus: Add Logitech G920 mapping to the SDL backend.
winebus: Don't consider wheels / flight sticks as gamepads.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (1):
cfgmgr32/tests: Load imports dynamically to allow execution on Windows 7.
Billy Laws (2):
ntdll/tests: Add THREAD_CREATE_FLAGS_BYPASS_PROCESS_FREEZE test.
ntdll: Support THREAD_CREATE_FLAGS_BYPASS_PROCESS_FREEZE flag.
Brendan McGrath (9):
mf/tests: Test when SAR requests a new sample.
mf/tests: Test sequence of calls during a Pause and Seek.
mf: Restart transforms and sinks on seek.
mf: Don't send MFT_MESSAGE_NOTIFY_START_OF_STREAM when seeking.
mfmediaengine: Don't perform implicit flush on state change.
mfmediaengine: Request sample if we are seeking.
mf/tests: Test H264 decoder when duration and time are zero.
mf/tests: Test WMV decoder when duration and time are zero.
winegstreamer: Correct duration if provided value is zero.
Brendan Shanks (6):
win32u: Remove Mac suitcase/resource-fork font support.
xinput1_3: Correctly handle a NULL GUID parameter in XInputGetDSoundAudioDeviceGuids().
xinput9_1_0: Implement by dynamically loading and calling xinput1_4.dll.
ntdll: Ensure %cs is correct in sigcontext on x86_64 macOS.
winevulkan: Enable VK_EXT_swapchain_maintenance1 when available.
win32u: Create Vulkan swapchains with VkSwapchainPresentScalingCreateInfoEXT when the surface will be scaled.
Connor McAdams (7):
d3dx9: Replace D3DFORMAT constants with enum d3dx_pixel_format_id constants.
d3dx9: Introduce d3dx_resource_type enumeration.
d3dx9: Introduce d3dx_image_file_format enumeration.
d3dx9: Move functions intended for code sharing into a separate source file.
d3dx9: Get rid of ID3DXBuffer usage in d3dx_helpers.
d3dx9: Don't include d3dx9 header in d3dx_helpers.
d3dx10: Use shared d3dx code in get_image_info when possible.
Conor McCarthy (3):
mfplat/tests: Add NV12 650 x 850 to image_size_tests.
mf/tests: Add a video processor NV12 test with a width alignment of 2.
winegstreamer: Do not pass a sample size to wg_transform_read_mf().
Csányi István (1):
winebus.sys: Fix DualSense BT quirk.
Daniel Lehman (4):
ucrtbase/tests: Move cexp tests from msvcr120.
ucrtbase: Add carg implementation.
ucrtbase: Add cargf implementation.
msvcp140_atomic_wait: Add __std_execution_* functions.
Dmitry Timoshkov (1):
windowscodecs: Propagate ::CopyPixels() return value.
Elizabeth Figura (18):
quartz/tests: Create separate IEnumPins instances.
qasf/tests: Test AllocateStreamingResources() error propagation.
mf/tests: Test IMediaObject::AllocateStreamingResources().
winegstreamer: Return S_OK from AllocateStreamingResources().
wined3d/glsl: Transpose the bump environment matrix.
Revert "wined3d/glsl: Transpose the bump environment matrix.".
d3d9/tests: Add comprehensive D3DTSS_TEXTURETRANSFORMFLAGS tests.
wined3d: Handle all invalid values in compute_texture_matrix().
wined3d: Pass the attribute coordinate count to get_texture_matrix().
wined3d: Pass 3 as the attribute count for generated texcoords.
wined3d: Alter the texture matrix even for non-projected textures.
wined3d: Copy the projective divisor in the FFP vertex pipeline.
wined3d: Initialize all remaining FFP texture coordinates to zero.
wined3d: Always divide 1.x projected textures by W for shaders.
wined3d: Always divide 1.x projected textures by W in the FFP.
dxcore: Reset the factory object on destruction.
dxcore: Separate a dxcore_adapter_create() helper.
maintainers: Add dxcore to the D3D section.
Eric Pouech (7):
winedump: Fix crash while dumping CLR blobs.
cmd/tests: Add a couple of tests about return code propagation.
cmd: Fix exit code when run with /C command line option.
cmd: Factorize some code.
cmd: Use a context when handling input from command line (/c, /k).
cmd: Separate command file handling from external commands.
cmd: Fix exit code in cmd /c when leaving nested command files.
Esme Povirk (9):
comctl32/tests: Add general tests for OBJID_QUERYCLASSNAMEIDX.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for Animate controls.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for hotkey controls.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for listviews.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for tooltips.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for trackbar controls.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for treeviews.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for updown controls.
comctl32/tests: Remove individual OBJID_QUERYCLASSNAMEIDX tests.
Gabriel Ivăncescu (40):
mshtml: Use HasAttribute instead of GetAttributeNode when checking if specified attribute.
mshtml: Clone name properly from attached attribute nodes.
mshtml: Use a BSTR to store the detached attribute's name.
mshtml: Use a helper function to find an attribute in the collection's list.
mshtml: Detach attribute nodes when removing the attribute from the element.
mshtml: Implement 'specified' for detached attributes.
mshtml/tests: Add tests for more element prototype props.
mshtml/tests: Test frame and iframe element props.
mshtml: Only allow a specific set of builtin props as attributes for elements.
mshtml: Only allow a specific set of builtin props as attributes for button elements.
mshtml: Only allow a specific set of builtin props as attributes for form elements.
mshtml: Only allow a specific set of builtin props as attributes for frame elements.
mshtml: Only allow a specific set of builtin props as attributes for iframe elements.
mshtml: Only allow a specific set of builtin props as attributes for img elements.
mshtml: Only allow a specific set of builtin props as attributes for input elements.
mshtml: Only allow a specific set of builtin props as attributes for label elements.
mshtml: Only allow a specific set of builtin props as attributes for link elements.
mshtml: Only allow a specific set of builtin props as attributes for meta elements.
mshtml: Only allow a specific set of builtin props as attributes for object elements.
mshtml: Only allow a specific set of builtin props as attributes for option elements.
mshtml: Only allow a specific set of builtin props as attributes for script elements.
mshtml: Only allow a specific set of builtin props as attributes for select elements.
mshtml: Only allow a specific set of builtin props as attributes for style elements.
mshtml: Only allow a specific set of builtin props as attributes for table elements.
mshtml: Only allow a specific set of builtin props as attributes for table data cell elements.
mshtml: Only allow a specific set of builtin props as attributes for table row elements.
mshtml: Only allow a specific set of builtin props as attributes for text area elements.
mshtml: Handle NULL inputs in node's replaceChild.
mshtml: Handle NULL input in node's removeChild.
mshtml: Handle NULL input in node's appendChild.
mshtml: Handle NULL input in node's insertBefore.
mshtml/tests: Test IHTMLElement6::getAttributeNode in legacy modes.
mshtml/tests: Test mixing attribute nodes and collections across modes.
mshtml/tests: Test node hierarchy for attribute nodes in IE9+ modes.
mshtml/tests: Don't create global variable due to typo.
mshtml: Fix expando for IE9 attr nodes.
mshtml: Fix gecko element leak when retrieving ownerElement.
mshtml: Traverse the node on attribute nodes.
mshtml: Allow custom set attributes with same name as builtin methods in legacy modes.
mshtml: Fix 'expando' and 'specified' for attributes in legacy modes.
Giovanni Mascellani (10):
mmdevapi/tests: Check that incompatible formats are rejected by IsFormatSupported().
mmdevapi/tests: Remove workaround for Wine < 1.3.28.
mmdevapi/tests: Test rendering with floating point formats.
mmdevapi/tests: Test supported formats for capturing.
mmdevapi: Error out if the channel count or sampling rate doesn't match the mix format.
Revert "mmdevapi: Error out if the channel count or sampling rate doesn't match the mix format.".
mmdevapi/tests: Mark a wrong error code by IsFormatSupported() as todo.
mmdevapi/tests: Do not test QueryInterface() with a NULL output pointer.
winepulse.drv: Allow 32-bit PCM audio samples.
winecoreaudio.drv: Do not spam fixmes for unknown channels.
Hans Leidekker (20):
crypt32: Retry with CRYPT_MACHINE_KEYSET in CRYPT_AcquirePrivateKeyFromProvInfo().
windows.gaming.input: Turn put_Parameters() into a regular method.
widl: Truncate identifiers that exceed the 255 character limit.
widl: Check that retval parameters also have an out attribute.
widl: Check eventadd method parameters.
widl: Check eventremove method parameters.
widl: Check propget method parameters.
widl: Check propput method parameters.
include: Comment reference to undefined activation interface.
widl: Check activation method parameters.
widl: Check composition method parameters.
include: Add missing runtimeclass contract attributes.
widl: Require runtimeclass contract or version attribute.
widl: Use a structure for the version attribute.
widl: Fix version attribute value.
widl: Skip array size parameters.
widl: Fix encoding of array parameters.
widl: Only use 32-bit integers in row structures.
widl: Add an implicit apicontract attribute.
widl: Always store member references in attributes.
Haoyang Chen (2):
explorer: Ignore command line character case.
explorer: Allow /n to be followed by other arguments.
Henri Verbeet (1):
wined3d: Add GPU information for AMD NAVI44.
Huw D. M. Davies (1):
winemac: Define missing status variable.
Jacek Caban (78):
krnl386: Remove __GNUC__ check.
ntdll: Remove __GNUC__ checks.
ntdll/tests: Remove __GNUC__ checks.
ntoskrnl: Remove __GNUC__ check.
oleaut32: Remove __GNUC__ check.
advapi32: Initialize temp variable in test_incorrect_api_usage.
crypt32/tests: Use dummySubject in CryptSIPLoad invalid parameter test.
kernel32/tests: Initialize stackvar in test_IsBadReadPtr test.
ole32/tests: Initialize rect in OleDraw invalid parameter test.
shlwapi/tests: Initialize cookie before passing it to add_call.
webservices/tests: Use valid url for WsEncodeUrl invalid argument tests.
d3dx9/tests: Fix identity_matrix initialization.
d3dx10/tests: Initialize data in test_D3DX10CreateAsyncMemoryLoader.
d3dx11/tests: Initialize data in test_D3DX11CreateAsyncMemoryLoader.
uxtheme/tests: Initialize rect in test_DrawThemeEdge.
ntoskrnl/tests: Use initialized client dispatch in WskSocket call.
quartz/tests: Initialize mt in test_connect_direct.
d3d10core/tests: Initialize box in test_copy_subresource_region.
d3d11/tests: Initialize box in test_copy_subresource_region.
msvcp60/tests: Don't use const pointers for thiscall thunks.
msvcp90/tests: Don't use const pointers for thiscall thunks.
msvcr90/tests: Initialize key value in test_bsearch_s.
include: Add _callnewh declaration.
user32/tests: Use switch statement in test_keyboard_layout.
opengl32: Move manual wow64 thunks declarations to generated header.
opengl32: Move thunks declarations to generated header.
opengl32: Use generated header for all thunk declarations.
opengl32: Use generated header wrapper declarations.
include: Add IHTMLAttributeCollection4 declaration.
mshtml: Add IHTMLAttributeCollection4 stub implementation.
opengl32: Move static keyword logic to generate_unix_thunk.
opengl32: Use generate_unix_thunk for wow64 wgl thunks.
opengl32: Use generate_unix_thunk for wow64 gl thunks.
opengl32: Use generate_unix_thunk for wow64 ext thunks.
opengl32: Remove no longer used get_func_args arguments.
mshtml: Add create_node fallback to cloneNode.
mshtml: Add DOM attribute node implementation.
mshtml: Implement HTMLAttributeCollection4::get_length.
mshtml: Implement IHTMLAttributeCollection4::item.
mshtml: Implement IHTMLAttributeCollection4::getNamedItem.
mshtml: Properly expose Attr and NamedNodeMap properties.
mshtml/tests: Add more attribute nodes tests.
opengl32: Use generated wow64 thunk for wglMakeCurrent.
opengl32: Use generated wow64 thunk for wglMakeContextCurrentARB.
opengl32: Use generated wow64 thunk for wglDeleteContext.
opengl32: Use manual_win_functions for wglGetCurrentReadDCARB.
opengl32: Avoid unneeded wrapper return type casts.
opengl32: Use generated wow64 thunk for wglCreateContext.
opengl32: Use generated wow64 thunk for wglCreateContextAttribsARB.
opengl32: Don't generate wrapper declarations for functions implemented on PE side.
opengl32: Introduce wow64 wrappers and use it for glClientWaitSync implementation.
opengl32: Use wow64 wrapper for glFenceSync implementation.
opengl32: Use wow64 wrapper for glDeleteSync implementation.
opengl32: Use wow64 wrapper for glGetSynciv implementation.
opengl32: Use wow64 wrapper for glIsSync implementation.
opengl32: Use wow64 wrapper for glWaitSync implementation.
opengl32: Factor out return_wow64_string.
opengl32: Use generated thunk for glGetString.
opengl32: Use generated thunk for glGetStringi.
opengl32: Use generated thunk for wglGetExtensionsStringARB.
opengl32: Use generated thunk for wglGetExtensionsStringEXT.
opengl32: Use generated thunk for wglQueryCurrentRendererStringWINE.
opengl32: Use generated thunk for wglQueryRendererStringWINE.
opengl32: Improve whitespaces in wrapper declarations.
opengl32: Use extra unix call argument to pass client buffer from glUnmapBuffer.
opengl32: Use extra unix call argument to pass client buffer from glUnmapNamedBuffer.
opengl32: Use wow64 wrappers for glMapBuffer and glMapBufferARB implementations.
opengl32: Use wow64 wrappers for glMapBufferRange.
opengl32: Use wow64 wrappers for glMapNamedBuffer and glMapNamedBufferEXT.
opengl32: Use wow64 wrappers for glMapNamedBufferRange and glMapNamedBufferRangeEXT.
opengl32: Use wow64 wrappers for glGetBufferPointerv and glGetBufferPointervARB.
opengl32: Use wow64 wrappers for glGetNamedBufferPointerv and glGetNamedBufferPointervEXT.
opengl32: Pass array arguments as pointers in unix calls.
opengl32: Use generated thunk for glPathGlyphIndexRangeNV.
opengl32: Pass type as a string to get_wow64_arg_type.
opengl32: Use generated thunk for wglCreatePbufferARB.
opengl32: Use generated thunk for wglGetPbufferDCARB.
opengl32: Use generated thunk for wglGetProcAddress.
Jacob Czekalla (5):
hhctrl.ocx: Add a search button to the search tab.
hhctrl.ocx: Selection of treeview items in the content tab should reflect web browser page.
mshtml/tests: Add call stacking to htmldoc test framework.
mshtml/tests: Add iframe event tests in htmldoc.c.
mshtml: Fire BeforeNavigate2 for documents in async_open.
Jake Coppinger (1):
ntdll: Add a stub for RtlQueryProcessHeapInformation().
Jan Sikorski (1):
maintainers: Remove myself as d3d maintainer.
Joe Souza (1):
conhost: Implement F1 and F3 support for history retrieval.
Kareem Aladli (4):
kernelbase: Implement VirtualProtectFromApp.
kernelbase/tests: Add tests for VirtualProtectFromApp.
ntdll: Set old_prot to PAGE_NOACCESS in NtProtectVirtualMemory() if the range is not mapped or committed.
ntdll/tests: Add tests for NtProtectVirtualMemory().
Ken Sharp (3):
configure: Do not hardcode "gcc" in message.
po: Standardise source strings to English (United States).
po: Update English (Default) resource.
Maotong Zhang (2):
comdlg32/tests: Fix file type combo box selection in file dialogs.
comdlg32: Display filter specs in itemdlg File Type combo box.
Marc-Aurel Zent (2):
ntdll: Implement ThreadPriorityBoost class in NtQueryInformationThread.
ntdll: Implement ThreadPriorityBoost class in NtSetInformationThread.
Michael Stefaniuc (8):
dmcompos: Return E_NOTIMPL from the stub SignPost track Clone() method.
dmcompos/tests: Fix the expected value in an ok() message.
dmcompos: Simplify the DMChordMap IPersistStream_Load() method.
include: Tag the DMUS_IO_* structs that changed between DX versions.
dmstyle: Handle DX7 versions of 'note' and 'crve' chunks.
dmusic: Don't open code debugstr_chunk in dmobject.c.
dmusic: Add a helper to deal with different versions / sizes of a chunk.
dmstyle: Support loading the DX7 version of the Style form.
Michael Stopa (2):
kernel32/tests: SetFileInfo should accept FileRenameInfoEx.
kernelbase: Pass FileRenameInfoEx to NtSetInformationFile.
Mike Kozelkov (2):
urlmon: Add PersistentZoneIdentifier semi-stubs.
urlmon/tests: Add PersistentZoneIdentifier test cases.
Mohamad Al-Jaf (5):
include: Add windows.media.core.idl.
include: Add windows.media.mediaproperties.idl.
include: Add windows.media.transcoding.idl.
windows.media: Implement IActivationFactory::ActivateInstance() for IMediaTranscoder.
cryptowinrt: Implement ICryptographicBufferStatics::EncodeToBase64String().
Nikolay Sivov (33):
d3d9/tests: Fix use-after-free (ASan).
kernel32/tests: Fix double free of mutex handle.
d3dx10/tests: Add a test for effect compiler behavior.
windowscodecs/converter: Add 16bppGrayHalf -> 128bppRGBFloat conversion path.
windowscodecs/converter: Add 16bppGrayHalf -> 32bppBGRA conversion path.
windowscodecs/converter: Propagate source failure in 24bppBGR -> 128bppRGBAFloat conversion.
windowscodecs/converter: Propagate source failure in 32bppBGRA -> 128bppRGBAFloat conversion.
windowscodecs/converter: Propagate source failure in 48bppRGB -> 128bppRGBFloat conversion.
windowscodecs/converter: Propagate source failure in 96bppRGBFloat -> 128bppRGBFloat conversion.
windowscodecs/converter: Propagate source failure in 48bppRGBHalf -> 128bppRGBFloat conversion.
d3d11: Make sure that index buffer is set for indexed draws.
d3d11: Make sure that index buffer is set for instanced indexed draws.
wined3d: Fix reference_graphics_pipeline_resources() argument type to match callers.
d3d12/tests: Add a test for creating a device from dxcore adapters.
d2d1: Implement mesh population methods.
d2d1: Add a stub for geometry realization object.
d2d1: Add initial implementation of CopyFromRenderTarget().
d2d1: Improve bitmap methods traces.
d2d1: Implement ComputeArea() for rectangles.
d2d1: Implement ComputeArea() for transformed geometries.
dxcore/tests: Add positive interface checks.
dxcore/tests: Move GetProperty() tests to a separate function.
dxcore/tests: Add some tests for InstanceLuid property.
dxcore: Add support for InstanceLuid property.
dxcore: Fix property size check in GetProperty().
dxcore: Implement GetPropertySize().
dxcore/tests: Add some tests for IsHardware property.
dxcore: Return stub value for IsHardware property.
dxcore/tests: Add some GetAdapterByLuid() tests.
dxcore: Implement GetAdapterByLuid().
d3d12: Support creating devices using dxcore adapters.
dxcore: Add support for DriverDescription property.
dxcore: Add support for DriverVersion property.
Paul Gofman (17):
kernelbase: Duplicate GetOverlappedResult() implementation instead of calling GetOverlappedResultEx().
kernelbase: Always set last error in GetOverlappedResult[Ex]().
kernelbase: Wait in GetOverlappedResultEx() even if IOSB status is not pending.
d2d1: Implement D2D1ComputeMaximumScaleFactor().
opengl32: Map glCompressedTexImage2DARB to glCompressedTexImage2D if ARB_texture_compression is missing.
shell32: Add AccountPictures known folder.
nsiproxy.sys: Implement IP interface table.
iphlpapi: Implement GetIpInterfaceTable().
nsi/tests: Add tests for IP interface table.
iphlpapi: Implement GetIpInterfaceEntry().
bcrypt: Factor out len_from_bitlen() function.
bcrypt: Use bit length instead of key size in key_import_pair().
bcrypt: Handle importing ECDSA_P384 private blob.
bcrypt: Support ECDSA_P521 algorithm.
bcrypt/tests: Test ECDH_384 same way as ECDH_256.
bcrypt: Support ECDH_P521 algorithm.
bcrypt: Check output size early in key_asymmetric_encrypt() for RSA.
Piotr Caban (9):
msado15/tests: Test functions called in ADORecordsetConstruction_put_Rowset.
msado15/tests: Check recordset state in ADORecordsetConstruction tests.
msado15/tests: Don't check count before running ADORecordsetConstruction field tests.
msado15/tests: Add initial _Recordset_MoveNext tests.
msado15/tests: Add _Recordset_get_RecordCount test.
msado15/tests: Test IRowsetExactScroll interface in put_Rowset tests.
vccorlib140: Add stub dll.
vccorlib140: Add Platform::Details::InitializeData semi-stub.
combase: Fix initialization flags in RoInitialize.
Ratchanan Srirattanamet (1):
msi: Fix .NET assembly-related functionalities due to missed string copy.
Roman Pišl (2):
ole32/tests: Test that cursor is preserved in DoDragDrop.
ole32: Preserve cursor in DoDragDrop.
Rémi Bernon (56):
win32u: Only update the window GL drawable when making one current.
win32u: Move window drawable query out of DC drawable helpers.
win32u: Update DC OpenGL drawable when it is acquired.
winebus.sys: Prefer hidraw for all Virpil (VID 3344) devices.
win32u: Also flush the GL drawable if the client surface is offscreen.
win32u: Clear DC opengl drawable when releasing cached dce.
joy.cpl: Initialize size before calling RegGetValueW.
winebus: Use a single global structure for bus options.
winebus: Support per-device/vendor hidraw registry option.
windows.gaming.input: Forward get_NonRoamableId to Wine provider.
windows.gaming.input: Forward get_DisplayName to Wine provider.
joy.cpl: Use XInputGetStateEx to get guide button.
joy.cpl: Add a new windows.gaming.input test tab.
joy.cpl: List windows.gaming.input device interfaces.
joy.cpl: Read windows.gaming.input device interface state.
joy.cpl: Draw windows.gaming.input gamepad device.
joy.cpl: Draw windows.gaming.input raw game controller.
winemac: Create new client views with each VK/GL surface.
winemac: Use the new client surface views for GL rendering.
winemac: Get rid of now unnecessary child cocoa views.
winemac: Sync current context when drawable was updated.
win32u: Call opengl_drawable_flush even if drawables didn't change.
winebus: Better separate hidraw from evdev in udev_add_device.
winebus: Read evdev device info and feature bits on creation.
winebus: Fill device mapping before report descriptor creation.
winebus: Force the ordering of some common evdev gamepad buttons.
winedmo: Avoid seeking past the end of stream.
winedmo: Avoid reading past the end of stream.
winedmo: Use the stream context to cache stream chunks.
winedmo: Return container duration if no stream duration is found.
winedmo: Return an integer from wave_format_tag_from_codec_id.
winedmo: Seek to keyframes, using avformat_seek_file.
widl: Get the version attribute from the typelib.
winebus: Return error status if SDL is disabled.
winebus: Introduce a new set_abs_axis_value helper.
winebus: Emulate some gamepad buttons in the evdev backend.
winebus: Introduce a new hid_device_add_gamepad helper.
winebus: Use hid_device_add_gamepad in the evdev backend.
win32u: Move nulldrv pixel format array inline.
win32u: Allocate a global pixel formats array on the unix side.
win32u: Keep pbuffer internal context on the wgl_context struct.
win32u: Use eglGetConfigs rather than eglChooseConfig.
win32u: Use surfaceless EGL platform for nulldrv.
widl: Fix parsing of contract version.
widl: Fix ATTR_CONTRACTVERSION output in header files.
widl: Fix ATTR_CONTRACTVERSION in metadata files.
widl: Write deprecated version in metadata files.
windows.gaming.input: Only create Gamepad instances for XInput devices.
winebus: Improve gamepad report compatibility with XUSB / GIP.
windows.gaming.input: Use a generic dinput device data format.
winebus: Use a vendor specific usage for gamepad guide buttons.
winebus: Don't try to create rumble effect on device startup.
winebus: Create dedicated threads to write evdev haptics output reports.
win32u: Release the previous context drawables when changing contexts.
win32u: Flush the new drawables after successful make_current.
win32u: Notify the opengl drawables when they are (un)made current.
Shaun Ren (4):
sapi/stream: Remove the FIXME message for unknown ISpStream interfaces.
sapi/tests: Test resampler support in ISpVoice.
sapi/tts: Implement TTS engine audio output resampler.
sapi/tts: Support allow_format_changes in ISpVoice::SetOutput.
Thibault Payet (1):
server: Always use the thread Unix id in ptrace for FreeBSD.
Tim Clem (4):
wow64cpu: In Unix calls, always return the status from the non-Wow dispatcher.
winebus: Quiet a log message about ignored HID devices.
win32u: Fix an uninitialized variable warning.
win32u: Remove a log message in get_shared_window.
Tomasz Pakuła (1):
winebus: Do not touch autocenter on device init and device reset.
Vibhav Pant (55):
bluetoothapis: Fix resource leak in bluetooth_auth_wizard_ask_response.
include/ddk: Use the correct parameter types for ZwCreateEvent.
setupapi/tests: Add tests for built-in device properties.
ntoskrnl.exe/tests: Add tests for built-in properties for PnP device instances.
setupapi: Support built-in properties in SetupDiGetDevicePropertyW and CM_Get_DevNode_Property_ExW.
propsys/tests: Add conformance tests for getting PropertyDescriptions from PropertySystem.
propsys/tests: Add conformance tests for PSGetPropertyKeyFromName.
include: Add declaration for PSGetPropertySystem.
propsys: Add stubs for PropertySystem.
propsys: Add stubs for PSGetNameFromPropertyKey.
propsys/tests: Add conformance tests for PSGetNameFromPropertyKey.
propsys: Add IPropertyDescription stub for system defined properties.
propsys: Implement IPropertyDescription for several known system properties.
propsys/tests: Add some tests for PropVariantChangeType(VT_CLSID).
propsys: Implement PropVariantChangeType(VT_CLSID) for string types.
propsys/tests: Add test for PropVariantToGUID with VT_ARRAY | VT_UI1 values.
winebth.sys: Only set properties for radio devices after they have been started.
include: Add Windows.Foundation.Collections.PropertySet runtime class.
wintypes/tests: Add conformance tests for Windows.Foundation.Collections.PropertySet.
wintypes: Add stubs for Windows.Foundation.Collections.PropertySet.
wintypes: Add stubs for IObservableMap<HSTRING, IInspectable *> to PropertySet.
wintypes: Add stubs for IMap<HSTRING, IInspectable *> to PropertySet.
wintypes: Add stubs for IIterable<IKeyValuePair<HSTRING, IInspectable *>> to PropertySet.
windows.devices.enumeration: Implement DeviceInformationStatics::FindAllAsync using DevGetObjects.
windows.devices.enumeration/tests: Add weak reference tests for DeviceWatcher.
windows.devices.enumeration: Implement IWeakReferenceSource for DeviceWatcher.
windows.devices.enumeration: Implement DeviceInformationStatics::DeviceWatcher using DevCreateObjectQuery.
cfgmgr32: Add stubs for DevGetObjectProperties(Ex).
cfgmgr32: Implement DevFreeObjectProperties.
cfgmgr32: Implement DevGetObjectProperties for device interfaces.
ntoskrnl.exe/tests: Add tests for device updates in DevCreateObjectQuery.
cfgmgr32: Implement device updates for DevCreateObjectQuery.
widl: Fix crash while replacing type parameters for arrays.
cfgmgr32: Fix crash when CM_Register_Notification is called with a NULL filter.
cfgmgr32: Add stub for DevFindProperty.
cfgmgr32: Implement DevFindProperty.
cfgmgr32/tests: Add some tests for calling DevGetObjects with filters.
cfgmgr32: Validate DEVPROP_FILTER_EXPRESSION values passed to Dev{GetObjects, CreateObjectQueryEx}.
cfgmgr32: Implement support for basic filter expressions in DevGetObjects.
vccorlib140: Add stub for GetActivationFactoryByPCWSTR.
vccorlib140: Implement GetActivationFactoryByPCWSTR.
vccorlib140: Add stub for GetIidsFn.
vccorlib140: Implement GetIidsFn.
include: Add windows.devices.bluetooth.advertisement.idl.
windows.devices.bluetooth/tests: Add tests for IBluetoothLEAdvertisementWatcher.
windows.devices.bluetooth: Add stubs for BluetoothLEAdvertisementWatcher.
windows.devices.bluetooth: Implement BluetoothLEAdvertisementWatcher::get_{Min, Max}SamplingInterval.
windows.devices.bluetooth: Implement BluetoothLEAdvertisementWatcher::get_{Min, Max}OutOfRangeTimeout.
winebth.sys: Remove GATT service entries when they are removed from the Unix Bluetooth service.
winebth.sys: Enumerate and store GATT characteristics for each LE device.
winebth.sys: Implement IOCTL_WINEBTH_LE_DEVICE_GET_GATT_CHARACTERISTICS.
winebth.sys: Remove GATT characteristic entries when they are removed from the Unix Bluetooth service.
bluetoothapis: Implement BluetoothGATTGetCharacteristics.
bluetoothapis/tests: Implement tests for BluetoothGATTGetCharacteristics.
winebth.sys: Set additional properties for remote Bluetooth devices.
Yeshun Ye (2):
dsound: Check if 'cbPropData' for DSPROPERTY_Description1 is large enough.
dsound/tests: Add test for DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1.
Yongjie Yao (1):
wbemprox: Add Status property in Win32_DesktopMonitor.
Yuxuan Shui (10):
ntdll/tests: Check the context of a user callback.
ntdll: Also restore rbp before calling user mode callback.
cmd: Fix out-of-bound access when handling tilde modifiers.
d2d1: Fix out-of-bound array access.
cfgmgr32: Fix double-free of property buffers.
server: Fix use-after-free in screen_buffer_destroy.
urlmon/tests: Fix test_PersistentZoneIdentifier freeing the wrong thing.
urlmon/tests: Fix out-of-bound write into tmp_dir.
ntdll: Fix inconsistency in LFH block size calculation during realloc.
rpcrt4: Don't read past the end of params in client_do_args.
Zhao Yi (1):
wined3d: Return error code when Vulkan swapchain creation fails.
Zhiyi Zhang (23):
user32/tests: Test WM_PRINT with an invisible parent.
win32u: Allow PRF_CHILDREN to paint even though child windows have an invisible parent.
include: Add windows.ui.windowmanagement.idl.
include: Add Windows.UI.ViewManagement.ApplicationView runtime class.
twinapi.appcore: Register some Windows.UI.ViewManagement.ApplicationView runtime classes.
twinapi.appcore: Register Windows.UI.ViewManagement.UIViewSettings runtime classes.
twinapi.appcore/tests: Add Windows.UI.ViewManagement.ApplicationView runtime class tests.
twinapi.appcore: Add Windows.UI.ViewManagement.ApplicationView runtime class stub.
include: Add AccessibilitySettings runtime class.
windows.ui/tests: Add IAccessibilitySettings tests.
windows.ui: Add IAccessibilitySettings stub.
windows.ui: Implement accessibilitysettings_get_HighContrast().
dwrite/tests: Add IDWriteFontDownloadQueue tests.
dwrite: Implement dwritefactory3_GetFontDownloadQueue().
d3d11: Return S_OK for d3d11_device_RegisterDeviceRemovedEvent().
light.msstyles: Make toolbar button background transparent at the center.
winemac.drv: Use a window level higher than kCGDockWindowLevel for WS_EX_TOPMOST windows.
windows.globalization/tests: Add IApplicationLanguagesStatics tests.
windows.globalization: Add IApplicationLanguagesStatics stub.
windows.globalization/tests: Add ILanguage2 tests.
windows.globalization: Implement ILanguage2.
windows.applicationmodel/tests: Add Windows.ApplicationModel.DesignMode tests.
windows.applicationmodel: Add Windows.ApplicationModel.DesignMode runtime class stub.
Ziqing Hui (10):
fonts: Make numbers bold for WineTahomaBold.
comctl32/tests: Check RGB value in test_alpha.
comctl32/tests: Test image bitmap bits in test_alpha.
comctl32/tests: Test adding 32bpp images with alpha to 24bpp image list.
comctl32/tests: Use winetest_{push,pop}_context in test_alpha.
comctl32/tests: Test image flags in test_alpha.
comctl32/tests: Also test v5 with test_alpha().
fonts: Make special ASCII characters bold for WineTahomaBold.
fonts: Make uppercase ASCII letters bold for WineTahomaBold.
fonts: Make lowercase ASCII letters bold for WineTahomaBold.
```
The Wine development release 10.12 is now available.
What's new in this release:
- Optional EGL backend in the X11 driver.
- Support for Bluetooth Low Energy services.
- More support for generating Windows Runtime metadata in WIDL.
- ARM64 builds enabled in Gitlab CI.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.12.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.12/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.12 (total 17):
- #19561 Very large memory leak when doing overlapped reads
- #38337 clang compiling warnings
- #42882 HDX server software: rs232 port access not working
- #52720 Speed up cmd.exe:batch in Wine
- #55776 Some game use video as intro will stock after video is finished
- #57204 after enable winedmo, Little Witch Nobeta video wont play anymore
- #57244 Train capacity 300% 2 will crash after enable the winedmo
- #57489 GetPointerPenInfo not located in USER32.dll when attempting to run Clip Studio Paint 3.0
- #57790 FindVUK doesn't show drive details
- #58263 Wine Internet Settings crashes on unimplemented function shdocvw.dll.ParseURLFromOutsideSourceW
- #58422 Soldier of Fortune II crashes on start
- #58423 Flickering in games using dxvk/vkd3d-proton on sway
- #58429 Betfair Poker setup never gets past the splash screen
- #58435 winepath -w conversion outputs wrong filenames
- #58436 x11, kotor keeps minimizing
- #58437 Total Commander 11.55 complains "Access denied" for EVERY file >= 1 MB in "Compare files by content"
- #58475 Wine Mono corlib tests cause wineserver to assert
### Changes since 10.11:
```
Adam Markowski (1):
po: Update Polish translation.
Akihiro Sagawa (1):
po: Update Japanese translation.
Alex Henrie (3):
ntdll: Don't skip synchronous read when serial read timeout is infinite.
inetcpl: Restore parse_url_from_outside implementation.
ntdll: Detect the optical disc type on Linux using a SCSI command.
Alexandre Julliard (16):
server: Always use the thread Unix id in ptrace().
rpcrt4: Silence compiler warnings about pointer wraparound.
gitlab: Build an arm64 image.
ntdll: Remove duplicate backslashes in get_unix_full_path().
winevulkan: Skip a couple of unneeded conversion functions.
gitlab: Add an ARM64 build.
faudio: Import upstream release 25.07.
gitlab: Update sarif-converter URL.
ntdll: Get rid of the wine_unix_to_nt_file_name syscall.
ntdll: Unify the Unix to NT path conversion helpers.
gitlab: Add a daily test run for new wow64 mode.
winetest: Use compiler macros to generate the compiler version info.
winex11: Disable more wintab code when support is missing.
oleaut32: Use DOUBLE type where appropriate to match the PSDK.
include: Use aligned int64 types where possible.
setupapi/tests: Don't test an uninitialized value.
Alexandros Frantzis (2):
winewayland: Use system cursor shapes when possible.
winewayland: Support layered windows with per-pixel alpha.
Alfred Agrell (1):
include: Enable __uuidof(IUnknown).
Alistair Leslie-Hughes (2):
shell32: Avoid closing a handle twice.
msado15: Implement _Connection::get_version.
Anton Baskanov (1):
quartz: Decommit the allocator before entering the streaming CS in AVIDec.
Arkadiusz Hiler (1):
cfgmgr32: Preserve registry casing when getting device interface list.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (1):
dxcore/tests: Skip tests when there is no display available.
Brendan McGrath (3):
winegstreamer: Remove 'au' alignment for h264.
winegstreamer: Signal eos on disconnect.
winegstreamer: Don't hold lock during wg_parser_stream_get_buffer.
Connor McAdams (2):
d3dx9: Replace txc_fetch_dxtn with bcdec.
d3dx9: Replace txc_compress_dxtn with stb_dxt.
Daniel Lehman (3):
ucrtbase/tests: Add tests for expf.
ucrtbase/tests: Move exp tests from msvcr120.
include: Add _wcstod_l declaration.
Dmitry Timoshkov (1):
ntdll: Initialization of XState features should not depend on AVX support.
Elizabeth Figura (5):
kernel32/tests: Test opening a directory with ReOpenFile().
kernelbase: Use FILE_NON_DIRECTORY_FILE in ReOpenFile().
ntdll/tests: Add comprehensive reparse point tests.
kernel32/tests: Test CreateSymbolicLink().
xaudio2: Do not register classes from xapofx or x3daudio dlls.
Eric Pouech (7):
cmd: Introduce struct batch_file to hold information about a .cmd file.
cmd: Add a cache for the labels lookup.
cmd/tests: Add tests about .cmd file alteration while executing it.
widl: Fix segfault when inheriting from an incomplete interface.
widl: Remove unneeded condition.
widl: Ensure inherited interface is declared before using it.
include: Remove duplicated declarations in .idl files.
Esme Povirk (3):
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for status controls.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for toolbars.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for progress bars.
Gabriel Ivăncescu (4):
mshtml: Clear the document before opening it for writing.
mshtml: Implement document.linkColor.
mshtml: Implement document.vLinkColor.
mshtml: Don't add HTMLDOMNode props to the NodeList.
Hans Leidekker (16):
widl: Add rows for the static attribute.
widl: Add TYPE_ATTR_ABSTRACT flag if a runtime class has no member interfaces.
widl: Add rows for the default attribute.
widl: Add rows for the activatable attribute.
widl: Add rows for the threading attribute.
widl: Add rows for the marshalingbehavior attribute.
widl: Relax check on runtimeclass definitions.
widl: Store a variable pointer instead of a declaration in expressions.
widl: Store the runtimeclass for constructor interfaces.
widl: Factor out an add_member_interfaces() helper.
widl: Add rows for static interfaces.
widl: Include version in activatable attribute value.
widl: Add rows for activation interfaces.
widl: Add rows for the composable attribute.
widl: Add rows for composition interfaces.
widl: Skip writing metadata if winrt_mode is not set.
Huw D. M. Davies (1):
kernel32: Use the correct buffer length.
Jacek Caban (8):
webservices: Don't assume that enum is unsigned in WsInitializeMessage.
dmime/tests: Use ceil instead of round.
configure: Build PEs with -ffp-exception-behavior=maytrap.
d3dcompiler: Don't assume that enum is unsigned in d3dcompiler_get_blob_part.
d3dcompiler: Handle all D3D_BLOB_PART values in d3dcompiler_get_blob_part validation.
d3dcompiler: Use __WINE_CRT_PRINTF_ATTR.
wined3d: Use __WINE_CRT_PRINTF_ATTR.
widl: Rename metadata stream type enum values to avoid conflict with Cygwin limits.h.
Joe Souza (3):
cmd: COPY should output file names as they are copied.
cmd/tests: Add tests to verify COPY command output.
cmd: Allow '+' as delimiter for tab-completion, e.g. 'copy file+file2'.
Mike Kozelkov (1):
urlmon: Add PersistentZoneIdentifier COM object stubs.
Nikolay Sivov (2):
kernel32: Add a stub for CreateBoundaryDescriptorA().
include: Remove duplicated CreateBoundaryDescriptorW() definition.
Owen Rudge (1):
mshtml: Implement document.aLinkColor.
Paul Gofman (5):
user32/tests: Add tests for STARTF_USESHOWWINDOW.
win32u: Respect STARTF_USESHOWWINDOW in show_window().
winepulse.drv: Avoid hangs on exit when pulse main loop thread gets killed.
winebus.sys: Check for udev_device_get_subsystem() error in udev_add_device().
winebus.sys: Close fd if device is not handled in udev_add_device().
Ryan Houdek (1):
wineboot: Detect TSC frequency on Arm64.
Rémi Bernon (64):
winex11: Release the GL drawable on creation failure.
win32u: Keep window GL drawables in a global linked list.
win32u: Notify the drivers when GL drawables are detached.
win32u: Update opengl drawables with window state.
win32u: Update the window state in more places.
winewayland: Drop now unnecessary GL drawable tracking.
winex11: Remove now unnecessary drawable tracking.
winewayland: Remove unnecessary context config.
wineandroid: Remove unnecessary context config.
win32u: Move EGL context creation out of the drivers.
winewayland: Only detach/attach client surface if it is different.
opengl32: Do not filter legacy extensions.
opengl32: Add a helper to read OpenGL registry options.
opengl32: Add an EnabledExtensions registry option.
user32: Init class name outside of get_versioned_name.
user32: Move user32_module default out of get_class_info.
user32: Load class module in get_class_version.
user32: Move get_class_version out of get_class_info.
comctl32: Fix class name case in manifest.
user32: Always copy class names to a temporary buffer.
win32u: Add traces to wglGetExtensionsString*.
win32u: Add an EGLSurface pointer to opengl_drawable struct.
win32u: Move EGL make_current context function out of the drivers.
winex11: Remove now unnecessary x11drv_context structure.
winex11: Add an option to use the new EGL OpenGL backend.
winemac: Remove now unnecessary pbuffer tracking.
win32u: Avoid calling detach, flush or swap on pbuffer drawables.
win32u: Avoid releasing opengl drawable within drawables_lock.
win32u: Implement generic EGL driver pbuffer surface.
winewayland: Use a distinct wayland_pbuffer struct for pbuffers.
win32u: Remove now unnecessary opengl_drawable hdc member.
win32u: Remove VkResult from surface_presented functions.
win32u: Introduce a new client_surface struct for vulkan surfaces.
win32u: Keep client surfaces in a global list.
win32u: Update client surfaces when window state changes.
win32u: Present client surfaces through the vtable.
mf/session: Clarify internal states from session states separation.
mf/session: Move internal states to a separate command_state enum.
mf/session: Remove unnecessary SESSION_FLAG_PENDING_COMMAND flag.
mf/session: Replace SESSION_FLAG_FINALIZE_SINKS with dedicated states.
mf/session: Replace SESSION_FLAG_END_OF_PRESENTATION with dedicated states.
mf/session: Introduce a SESSION_FLAG_SOURCE_SHUTDOWN presentation flag.
mf/session: Simplify the media session shutdown event handling.
win32u: Fix incorrect length in font extension check.
winegstreamer: Force h264parse to output 'au' aligned byte-stream.
mp3dmod: Fix some media type leaks.
mp3dmod: Avoid uninitialized variable access.
winegstreamer: Fix some video decoder media type leaks.
mf/tests: Fix some leaks in transform tests.
mf/tests: Avoid leaking D3D resources through IMFTrackedSample.
mf/tests: Skip memory-hungry H264 encoder tests on 32bit.
mfplat/tests: Add more tests for event queue shutdown.
mfsrcsnk: Queue an event before shutting down the event queues.
winegstreamer: Queue an event before shutting down the event queues.
mf/session: Handle an optional MEError event from sources on shutdown.
winegstreamer: Remove now unnecessary IMFMediaShutdownNotify.
mf/session: Remove now unnecessary IMFMediaShutdownNotify.
include: Remove now unnecessary IMFMediaShutdownNotify interface.
winewayland: Clear the current client surface on vulkan detach.
winewayland: Merge the vulkan client surface with wayland_client_surface.
winex11: Move client surface code out of vulkan ifdef.
winex11: Create client surfaces for opengl drawables.
win32u: Replace opengl drawables tracking with client surfaces.
server: Keep owned mutex syncs alive until abandoned.
Shaun Ren (11):
sapi/tests: Copy SPVTEXTFRAG list into a contiguous array.
sapi/tests: Introduce simulate_output option in tts.
sapi/tests: Add some SSML tests in tts.
sapi/tts: Support XML-related flags in ISpVoice::Speak.
sapi/xml: Add a stub SSML parser.
sapi/xml: Parse the <speak> SSML root element.
sapi/xml: Implement add_sapi_text_fragement().
sapi/xml: Parse the <p> and <s> SSML elements.
sapi/xml: Parse the rate attribute in the SSML <prosody> element.
sapi/xml: Parse the volume attribute in the <prosody> SSML element.
sapi/xml: Parse the pitch attribute in the <prosody> SSML element.
Vibhav Pant (17):
include: Add devquerydef.h.
include: Add devfiltertypes.h.
include: Add devquery.h.
cfgmgr32/tests: Add tests for DevGetObjects.
cfgmgr32: Add a basic implementation for DevGetObjects(Ex) for device interface objects.
ntoskrnl.exe/tests: Add tests for Io{Get,Set}DeviceInterfacePropertyData.
ntoskrnl.exe: Implement IoGetDeviceInterfacePropertyData.
ntoskrnl.exe: Implement IoSetDeviceInterfacePropertyData.
cfgmgr32/tests: Add tests for fetching specific properties in DevGetObjects.
cfgmgr32: Stub DevCreateObjectQuery(Ex) functions.
cfgmgr32: Implement initial device enumeration for DevCreateObjectQuery.
cfgmgr32: Support fetching properties for device objects in Dev{GetObjects, CreateObjectQueryEx}.
winebth.sys: Create PDOs for remote Bluetooth devices.
winebth.sys: Store a list of GATT services discovered on LE devices.
winebth.sys: Implement IOCTL_WINEBTH_LE_DEVICE_GET_GATT_SERVICES.
bluetoothapis: Implement BluetoothGATTGetServices.
bluetoothapis/tests: Add tests for BluetoothGATTGetServices.
Yuxuan Shui (11):
mscoree/tests: Fix string lengths passed to RegSetKeyValueA.
msvcp90: Fix vector_base_v4 allocation sizes.
msvcp90: Fix calculation of segment addresses in vector.
msvcrt: Don't release io memory during process shutdown.
wined3d: Fix missing data/resource type bounds check.
dxgi/tests: Fix out-of-bound in test_cursor_clipping.
ddraw/tests: Release device after ddraw.
d3dx9/tests: Fix volume test boxes.
wined3d: Fix double-free when shader_set_function fails.
quartz/tests: Fix out-of-bound use of video_types in test_connect_pin.
dsound: Make sure to null-terminate strings for callbacks.
Zhiyi Zhang (10):
comctl32/listview: Test WM_PAINT with a subclassed header that paints without validating update regions.
comctl32/listview: Validate header region after painting it.
bcp47langs: Add GetFontFallbackLanguageList() stub.
gdiplus/tests: Test drawing indexed bitmaps with a palette that has alpha.
gdiplus: Fix drawing indexed bitmaps with a palette that has alpha.
gdiplus: Don't zero out allocated memory in GdipAlloc().
win32u: Limit the work area to the monitor rect.
user32/tests: Add some tests for DefWindowProc() WM_PRINT message handling.
win32u: Fix the return value for WM_PRINT handling in DefWindowProc().
win32u: Support PRF_CHILDREN when handling WM_PRINT for DefWindowProc().
Ziqing Hui (1):
shell32: Rework FO_MOVE operation for SHFileOperationW.
```
The Wine development release 10.11 is now available.
What's new in this release:
- Preparation work for NTSync support.
- More support for generating Windows Runtime metadata in WIDL.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.11.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.11/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.11 (total 25):
- #31212 Some VST instruments crash when reloaded in Mixcraft
- #37131 Clang Static Analyzer: Division by zero
- #42033 Fallout 3: Radio music not playing
- #50278 Diggles: The Myth of Fenris (GOG version) crashes on launch
- #50577 Saya no Uta: hangs on RtlpWaitForCriticalSection
- #55019 kernel32:process - Accents cause test_Environment() to fail on Windows
- #56086 C&C Generals Zero Hour has graphic errors in menu
- #56128 Genshin Impact: after changing to another window and back, input does not work anymore
- #56517 osu!: Does not launch since 9.3
- #57020 Anritsu Software Toolbox doesn't install properly
- #57656 CryptMsgGetParam() with CMSG_SIGNER_AUTH_ATTR_PARAM/CMSG_SIGNER_UNAUTH_ATTR_PARAM returns success with 0 buffer size
- #57802 WordPro's "view Settings" not saving properly
- #58321 Purple Place exits
- #58343 Multiple games have rendering errors after d0fd9e87c (Kathy Rain 2, Among Us, Green Hell)
- #58344 Magic The Gathering Arena: Black screen in wine-10.9
- #58345 Far File Manager 3 x86-64's product features during installation cannot be configured/are missing
- #58356 Doom I & II Enhanced (2019 re-release based on Unity engine) crashes after the intro videos
- #58363 Thief II crashes
- #58364 Pegasus Email draws incorrectly
- #58372 EZNEC pro2+ 7.0 runs, but calculations have errornous exponential values
- #58373 Bejeweled 3 runs but the screen is black
- #58381 "musl: Use __builtin_rint if available" breaks clang builds (except aarch64)
- #58384 Sid Meier's Civilization III becomes unresponsive
- #58402 Sid Meier's Civilization III: severe discoloration
- #58412 winedbg recursively forks until the memory is exhausted
### Changes since 10.10:
```
Alexandre Julliard (36):
winebuild: Refuse to do non-PE builds on platforms that don't support it.
winegcc: Refuse to do non-PE builds on platforms that don't support it.
ntdll: Use NtOpenFile to open nls files in the system directory.
ntdll: Use UNICODE_STRINGs in the main image loading helpers.
ntdll: Pass the full image NT path through the server startup information.
ntdll: Move resolving the initial image name to the get_full_path() helper.
ntdll: Add a helper to return both NT and Unix names to open a file.
ntdll: Make get_redirect() static.
ntdll: Try to build a proper NT name when opening files with \??\unix.
server: Return the NT file name in ObjectNameInformation for file objects.
winecrt0: Add a default implementation for DllGetVersion().
resources: Generate version strings from the corresponding version number.
mountmgr: Use the \\?\unix prefix to open device files.
appwiz.cpl: Store the registry key name in Unicode.
appwiz.cpl: Use GetFinalPathNameByHandleW to get the DOS path of the package to install.
user32: Add a macro to define the list of user callbacks.
mscoree: Use GetFinalPathNameByHandleW to get the DOS path of the Mono directory.
mshtml: Use GetFinalPathNameByHandleW to get the DOS path of the Gecko directory.
start: Use GetFinalPathNameByHandleW to get the DOS path of a Unix file.
kernelbase: Convert slashes in Unix paths in GetFinalPathNameByHandleW.
wineps.drv: Use \\?\unix paths to load the AFM files.
winemenubuilder: Use \\?\unix paths to load the link files.
kernel32: Reimplement conversion to DOS name using GetFinalPathNameByHandleW.
ntdll: Reimplement the RtlGetFullPathName_U Unix path heuristic using ObjectNameInformation.
ntdll: Restrict some Unixlib helpers to Wine internal usage.
ntdll: Add a private helper to retrieve a DOS file name.
ntdll: Return NT paths in the get build/data dir helpers.
ntdll: Fix get_core_id_regs_arm64() prototype for non-Linux platforms.
ntdll: Pass the Unix prot flags to the map_fixed_area() helper.
ntdll: Don't set VPROT_WRITEWATCH flag on pages when using kernel write watches.
win32u: Add a helper to convert file names to NT format consistently.
ntdll: Only reset the reported write watch range in NtGetWriteWatch.
ntdll: Correctly report execute faults on ARM64.
ntdll: Correctly report execute faults on ARM.
makefiles: Support specifying the PE architecture as "none".
makefiles: Fix program installation for Windows builds.
Bernhard Kölbl (1):
mfmediaengine: Enable XVP for playback topology.
Bernhard Übelacker (10):
msvcrt/tests: Add broken to new j modifier tests.
oleaut32: In VarFormat do not count '#' in exponent into fractional digits.
msi: Use LRESULT to store return value from CallWindowProcW.
winetest: Fail only if output_size exceeds the limit.
gitlab: Derive the windows tests from a common .wine-test-windows.
gitlab: Remove name containing CI environment variables in windows tests.
comctl32: Use LRESULT to store return value from CallWindowProcW.
comdlg32: Use LRESULT/INT_PTR to store return value from CallWindowProcA.
winetest: Use LRESULT to return value from CallWindowProcA.
gitlab: Remove other user controlled CI environment variables.
Bradan Fleming (1):
winemenubuilder: Quote Exec arguments in desktop entries.
Brendan McGrath (3):
mfmediaengine: Only forward the most recent seek time.
mfreadwrite/tests: Check DEFAULT_STRIDE is not always present.
mfreadwrite: Fix media type output when video processor is used.
Charlotte Pabst (9):
mf: Clear pending MFT stream requests when flushing.
Revert "mf: Release pending items when sample grabber is stopped.".
ntdll: Treat Rbp as CONTEXT_INTEGER register.
mf/tests: Rename test_source to test_stub_source.
mf/tests: Rename test_seek_source to test_source.
mf/tests: Move some functions.
mf/tests: Add tests for thinning.
mf: Don't forward thinning to clock.
mf: Handle thinning in media session.
Connor McAdams (4):
comctl32/tests: Add tests for iImage value for listview subitems.
comctl32/listview: Don't touch iImage value for subitems if LVS_EX_SUBITEMIMAGES is not set.
comctl32/tests: Add item state value tests for LVS_OWNERDATA controls.
comctl32/listview: Properly handle item state value for LVS_OWNERDATA controls.
Conor McCarthy (4):
rtworkq/tests: Test closing a timer or event handle after submission.
ntdll/tests: Test early closure of handles used for threadpool waits.
ntdll: Initialise waitable handles with NULL.
ntdll: Duplicate handles for thread pool waits.
Dylan Donnell (1):
kernelbase: Allocate a new buffer for the module name in LoadLibraryExA.
Elizabeth Figura (34):
qasf/tests: Test AllocateStreamingResources()/FreeStreamingResources() calls.
qasf/dmowrapper: Fail Pause() if there is no DMO.
qasf/dmowrapper: Call AllocateStreamingResources() and FreeStreamingResources().
qasf/dmowrapper: Handle a NULL output buffer in GetBufferAndLength().
ir50_32/tests: Add tests.
ir50_32/tests: Move compression and decompression tests from mf:transform.
ir50_32: Use case-insensitive comparison for the compression fourcc.
ir50_32: Do not handle a NULL input pointer in ICM_DECOMPRESS_GET_FORMAT.
ir50_32: Return ICERR_OK from ICM_DECOMPRESS_END.
ir50_32: Suggest 24-bit RGB.
ir50_32: Do not validate biPlanes.
ir50_32: Explicitly fill the whole BITMAPINFOHEADER in ICM_DECOMPRESS_GET_FORMAT.
ir50_32: Fix the return value of ICM_DECOMPRESS_GET_FORMAT.
ir50_32: Fix the error value for mismatching dimensions.
ir50_32: Support decoding to RGB565.
qasf/tests: Test dynamic format change on the DMO wrapper.
qasf/dmowrapper: Delay SetActualDataLength().
qasf/dmowrapper: Handle dynamic format change.
quartz/tests: Port test_source_allocator() to avidec.
quartz/avidec: Don't set the data length to 0.
quartz/tests: Test dynamic format change on the AVI decoder.
quartz: Add a copy_bitmap_header() helper.
quartz/avidec: Correctly calculate the BITMAPINFOHEADER size for BI_BITFIELDS.
quartz/avidec: Handle dynamic format change.
winegstreamer: Support the Indeo 5.0 format in DirectShow.
server: Use an event sync for thread objects.
server: Use an event sync for job objects.
server: Use an event sync for process objects.
server: Use an event sync for debug objects.
server: Use an event sync for device manager objects.
server: Use an event sync for completion port objects.
server: Use an event sync for timer objects.
server: Use an event sync for console objects.
server: Use an event sync for console server objects.
Esme Povirk (10):
gdiplus: Account for gdi32 clipping in GdipFillRegion.
gdiplus: Don't clip the HRGN passed to alpha_blend_pixels_hrgn.
comctl32: Implement MSAA events for updown controls.
gdiplus/tests: Region hit-testing is done in device coordinates.
gdiplus: Use graphics transform in GdipIsVisibleRegionPoint.
gdiplus: Do not create HRGN in GdipIsVisibleRegionPoint.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for list boxes.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for static controls.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for edit controls.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for combo boxes.
Hans Leidekker (19):
widl: Add rows for the delegate type.
widl: Handle NULL type name.
widl: Add rows for propget methods.
widl: Add rows for propput methods.
widl: Add rows for eventadd methods.
widl: Add rows for eventremove methods.
widl: Add rows for regular methods.
widl: Use a define for maximum name length.
widl: Add rows for the overload attribute.
widl: Add rows for the default_overload attribute.
widl: Add rows for the deprecated attribute.
widl: Correct element type for interface signature.
widl: Don't sort the property and event tables.
widl: Add a helper to build the method name.
widl: Add a helper to retrieve method attributes and flags.
widl: Store EventRegistrationToken reference in the real type.
widl: Add separate property rows for interfaces and classes.
widl: Add separate event rows for interfaces and classes.
widl: Add rows for the runtimeclass type.
Ignacy Kuchciński (4):
user32: Add GetPointerPenInfo stub.
user32: Add GetPointerDeviceProperties stub.
user32: Add GetPointerDeviceRects stub.
user32: Add GetRawPointerDeviceData stub.
Julius Bettin (1):
kernelbase: Implement HeapSummary.
Nikolay Sivov (9):
bluetoothapis: Fix typo in a format string (Coverity).
version/tests: Fix a typo (Coverity).
amstream/tests: Add a few return value checks (Coverity).
widl: Always use NdrClientCall2() for interpreted stubs.
widl: Do not write "const" modifiers for _PARAM_STRUCT fields.
mfmediaengine: Simplify state -> event mapping.
kernel32/tests: Use ViewShare value instead of a literal constant.
ntdll/tests: Add a test for automatically resizing a mapped disk file.
ntdll/tests: Tweak mapped file test to better match actual use case.
Paul Gofman (4):
avifil32/tests: Test creating AVI file with OF_CREATE but without access mode.
avifil32: Assume OF_WRITE for OF_CREATE in AVIFileOpenW().
avifil32: Fix dwLength counting for fixed size samples.
user32: Reserve more space in the kernel callback table.
Piotr Caban (10):
musl: Reimplement rint so it doesn't depend on floating point operations precision.
musl: Use __builtin_rint if available.
msvcrt: Use rint() from the bundled musl library.
msvcrt: Fix allocated buffer size in _getcwd.
include: Add errlup.idl.
musl: Don't use __builtin_rint in clang builds.
musl: Optimize rint when floating point operations use 53-bit precision.
msvcrt: Fix allocated buffer size in _getdcwd.
ucrtbase/tests: Cleanup temporary files in _sopen_s tests.
msvcrt: Support _SH_SECURE in _wsopen_dispatch().
Rémi Bernon (80):
winex11: Update GL drawable offscreen status instead of recreating.
winex11: Update every window GL drawable on resize / reparent.
winex11: Update drawable size and offscreen when presenting.
winex11: Drop pixmap-based child window workaround.
winex11: Rename context drawables to draw / read.
winex11: Remove unnecessary glx_pixel_format pointers.
winex11: Remove unnecessary hdc context member.
win32u: Introduce an opengl_drawable base struct.
win32u: Return an opengl_drawable from pbuffer_create.
wineandroid: Add a refcount to struct gl_drawable.
win32u: Add a refcount to struct opengl_drawable.
include: Add APP_LOCAL_DEVICE_ID definition.
opengl32: Hook and flush context on glClear.
winewayland: Update the drawable size on context_flush.
winex11: Use a separate drawable vtable for pbuffers.
win32u: Use the drawable vtable to destroy pbuffers.
win32u: Allocate GL drawables on behalf of the drivers.
winewayland: Switch client surfaces when presenting.
win32u: Keep a reference to the GL drawables in the windows.
win32u: Keep a reference to the pbuffer drawables in the DCs.
win32u: Track and update opengl drawables in the contexts.
wineandroid: Remove now unnecessary context sync.
winemac: Remove now unnecessary context sync.
winewayland: Remove now unnecessary context sync.
win32u: Avoid reading GL data past the end of the memory DC bitmap.
server: Move object grab/release out of (add|remove)_queue.
server: Add an operation to retrieve an object sync.
server: Redirect fd-based objects sync to the fd.
server: Introduce a new event sync object.
server: Use an event sync for fd objects.
user32/tests: Cleanup window class versioning tests.
user32/tests: Test window class versioned name with integer atom.
user32/tests: Test that window class atom cannot be changed.
win32u/tests: Test window class name with integer atom.
win32u: Use the right pointer when destroying window.
user32/tests: Call flush_event after SetForegroundWindow calls.
server: Use an event sync for thread apc objects.
server: Use an event sync for context objects.
server: Use an event sync for startup info objects.
ntdll/tests: Link atom functions directly.
ntdll/tests: Add more integral atom tests.
ntdll: Set returned atom to 0 when we should.
ntdll: Allow deleting integral atoms from tables.
user32: Clamp atom to MAXINTATOM in get_int_atom_value.
win32u: Clamp atom to MAXINTATOM in get_int_atom_value.
winemac: Drop the SkipSingleBufferFlushes option.
win32u: Use the drawable vtable for flush and swap.
win32u: Add a flags parameter to opengl_drawable flush.
win32u: Pass opengl_drawable pointers to make_current.
win32u: Use the DC opengl drawable for the memory DC surface.
win32u: Keep track of the most recent window GL drawable.
opengl32: Ignore RGB565 pixel formats with memory DCs.
server: Use an event sync for file lock objects.
server: Use an event sync for debug event objects.
server: Use a static array for atom table atoms.
server: Use a count instead of last atom index.
server: Forbid using string atom 0xc000.
server: Use a static array for atom table hash.
server: Keep computed atom hash in local variables.
server: Remove unused atom pinned member.
winex11: Avoid requesting CWStackMode alone with managed windows.
server: Use the console sync for screen buffers objects.
server: Use the console sync for console input objects.
server: Use the console sync for console output objects.
server: Get rid of the console signaled flag.
server: Create a global atom table on startup.
server: Remove now unnecessary global table checks.
server: Pass atom table parameter to atom functions.
server: Introduce a new get_user_atom_name request.
server: Introduce a new add_user_atom request.
server: Move some checks inside of mutex do_release.
server: Split mutex to a dedicated sync object.
server: Split semaphore to a dedicated sync object.
server: Use a flag to keep track of message queue waits.
server: Use a signaled flag for message queue sync.
win32u/tests: Test that window properties are global atoms.
user32: Implement GetClipboardFormatNameA with NtUserGetClipboardFormatName.
win32u: Implement NtUserGetClipboardFormatName using NtUserGetAtomName.
server: Create and use a user atom table for class names.
server: Initialize global and user tables with some atoms.
Santino Mazza (1):
winex11.drv: Add programmer dvorak layout.
Vibhav Pant (17):
include: Add definitions for IBluetoothDeviceId, BluetoothError.
include: Add windows.devices.bluetooth.genericattributeprofile.idl.
include: Add definitions for IBluetoothLEDevice.
include: Add definitions for IGattDeviceService2.
windows.devices.bluetooth/tests: Add tests for BluetoothLEDeviceStatics.
windows.devices.bluetooth: Add stubs for BluetoothLEDeviceStatics.
setupapi/tests: Add tests for SetupDi{Set,Get}DeviceInterfacePropertyW.
setupapi: Implement SetupDiSetDeviceInterfacePropertyW.
setupapi: Implement SetupDiGetDeviceInterfacePropertyW.
ntoskrnl.exe/tests: Add tests for SetupDiGetDeviceInterfacePropertyW with enabled interfaces.
setupapi/tests: Add tests for SetupDiGetDeviceInterfacePropertyKeys.
setupapi: Implement SetupDiGetDeviceInterfacePropertyKeys.
setupapi: Implement additional built-in properties in SetupDiGetDeviceInterfacePropertyW.
setupapi/tests: Add additional tests for device instance properties DEVPKEY_{DeviceInterface_ClassGuid, Device_InstanceId}.
cfgmgr32: Implement CM_Get_Device_Interface_PropertyW for all property keys.
cfgmgr32/tests: Add additional tests for CM_Get_Device_Interface_PropertyW.
setupapi: Return built-in property keys for device interfaces even when the Properties subkey for the interface doesn't exist.
William Horvath (1):
wow64win: Fix UNICODE_STRING thunking in wow64_NtUserRegisterWindowMessage.
Yuxuan Shui (23):
msvcirt/tests: Fix use-after-free in test_ifstream.
msvcirt/tests: Avoid out-of-bound access in test_strstreambuf.
mshtml: Fix misuse of IWinInetHttpInfo_QueryInfo.
shell32: Fix use-after-free in ShellView_WndProc.
shell32/tests: Add missing double null termination in shlfileop.
kernelbase: Handle short urls in UrlIsA.
uiautomationcore/tests: Fix missing terminators in some nav_seqs.
wintrust: Fix data length mix-up in asn decoder.
gdi32: Fix missing terminator element in Devanagari_consonants.
xcopy: Fix out-of-bound access when parsing arguments.
usp10/tests: Avoid out-of-bound use of glyphItems when nGlyphs mismatches.
rpcrt4/tests: Fix out-of-bound write in test_pointer_marshal.
wininet: Fix handling of empty strings in urlcache_hash_key.
wininet: Use BYTE instead of char for hash calculation.
crypt32: Fix missing size check in CSignedEncodeMsg_Open.
crypt32: Handle missing attributes in CDecodeSignedMsg_GetParam.
crypt32/tests: Add signed message CryptMsgGetParam tests with > 1 signers.
crypt32: Fix creating signed message with > 1 signers.
gdiplus/tests: Fix out-of-bound use of expected in ok_path_fudge.
hid/tests: Fix out-of-bound use of nodes in test_device_info.
crypt32: Don't release context in CSignedEncodeMsg_Open.
find/tests: Fix out-of-bound access to input in mangle_text.
kernelbase: Fix array underflow when checking for trailing spaces.
Zhiyi Zhang (10):
include: Fix dcomp.idl method name and order.
user32: Add ScheduleDispatchNotification() stub.
ntdll: Use explicit ACTIVATION_CONTEXT type instead of HANDLE.
kernel32/tests: Add tests for normal activation context stack frame flags.
ntdll: Set and check 0x8 flag for activation context stack frames.
ntdll: Implement RtlActivateActivationContextUnsafeFast().
ntdll: Implement RtlDeactivateActivationContextUnsafeFast().
kernel32/tests: Add tests for RtlActivateActivationContextUnsafe() and RtlDeactivateActivationContextUnsafeFast().
comctl32/tests: Test listview background mix mode.
comctl32/listview: Set the initial background mix mode to TRANSPARENT.
```
The Wine development release 10.10 is now available.
What's new in this release:
- Mono engine updated to version 10.1.0.
- OSMesa library no longer needed.
- More support for generating Windows Runtime metadata in WIDL.
- Locale data updated to Unicode CLDR 47.
- P010 format support in Media Foundation.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.10.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.10/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.10 (total 38):
- #17614 Rise of Nations: Both mouse keys required for single left-click
- #19226 Braid: Both Shift keys needed to move puzzle pieces
- #19662 Lotus Freelance Graphics 2.1 hangs at the splash screen
- #21369 HTML-Kit 292's tab bar isn't fully visible without scrolling at 96 DPI
- #24026 Tab completion for cmd
- #24209 Burger Shop is shifted to the top left corner in full screen mode
- #33302 regedit: binary values editor layout is broken
- #35103 Baofeng5-5.31.1128's Welcome window crash on start
- #40144 Installing Canon printer driver does not work
- #44120 Steam Big Picture mode fails to display content, it shows a black screen (d3d10)
- #44453 Noteworthy Composer crashes in winealsa
- #50450 Ricoh Digital Camera Utility 5 crashes when switching from Browser to Laboratory and vise versa
- #51350 Horizon Chase freezes on startup
- #53002 Wondershare Uniconverter 13 not displaying characters
- #53071 AVCLabs Video Enhancer AI crashes on start
- #53401 regedit does not import .reg files
- #55593 F.E.A.R crashes with "Out of memory" error when starting a new game
- #55985 S.T.A.L.K.E.R. Anomaly: Crashes when loading into save file.
- #57230 F.E.A.R Combat black screen at startup due to out of memory error
- #58000 New thread stack uses too much memory
- #58001 "Eador. Masters of the Broken World" bad map textures after starting game
- #58064 Unreal 2 hangs with a black screen when switching to 1440X900 resolution
- #58078 StarCraft Remastered: game is not started with wine-10.5
- #58107 PlayOnline Viewer: Window not activated when restoring from a minimised state.
- #58182 Virtual desktop corked in 10.6
- #58190 secur32:ntlm tests fail on Windows 11 24H2
- #58196 d3d9:device WM_WINDOWPOSCHANGED test fails consistently on Linux since Wine 10.5
- #58233 gitlab-ci shows occasional crashes in tests dmsynth, dmusic, winmm:midi
- #58246 HP Prime Virtual Calculator: crashes on start
- #58253 Multiple games have a beeping noise on exit (The Fidelio Incident, Vampyr)
- #58259 Qt Installer for Windows doesn't work
- #58275 Wrong "range" selection logic using SHIFT
- #58286 Cannot create a 64-bit wineprefix with old wow64
- #58293 Regression caused by switch to realloc which doesn't zero added memory
- #58328 "msvcrt: Use RVAs in rtti and exception data on all platforms except i386" breaks RTTI on arm32
- #58329 Smartsuite 3.1 installer crashes
- #58340 dbghelp: symt_add_func_line, possible use after free.
- #58349 Build failure with clang for x86_64 target due to recent RTTI changes
### Changes since 10.9:
```
Alexandre Julliard (29):
configure: Always check for a valid 64-bit libdir.
configure: Don't use the 64-bit tools if --enable-tools is specified.
configure: Cache the results of the MTLDevice check.
winebuild: Extend the -syscall flag to allow specifying the syscall number.
tools: Support explicit syscall numbers in make_specfiles.
ntdll: Add explicit ids to a number of syscalls.
msvcrt: Add macros to wrap RTTI initialization functions.
msvcrt: Always define full type data for exception types.
msvcrt: Use RVAs for exception data but not RTTI on 32-bit ARM.
msvcrt: Use varargs macros to define C++ exception types.
msvcrt: Always define full RTTI data.
msvcrt: Use varargs macros to define RTTI data.
msvcrt/tests: Simplify the RTTI macros.
kernelbase: Flesh out RaiseFailFastException() implementation.
msvcrt: Define C++ type info as an array to avoid & operator.
msvcrt: Define C++ type info using RVAs for PE builds.
msvcrt: Define RTTI base descriptor as an array to avoid & operator.
msvcrt: Define RTTI data using RVAs for PE builds.
faudio: Import upstream release 25.06.
mpg123: Import upstream release 1.33.0.
png: Import upstream release 1.6.48.
xslt: Import upstream release 1.1.43.
nls: Update locale data to CLDR version 47.
msvcrt: Use old-style gcc varargs macros for RTTI data.
ntdll: Only clear 64K of the initial thread stack.
ntdll: Handle FileNetworkOpenInformation directly in fill_file_info().
ntdll: Use ObjectNameInformation to retrieve file name for FileNameInformation.
msvcrt: Point to the correct type info entry in the PE build macros.
server: Return the correct status depending on object type for ObjectNameInformation.
Alexandros Frantzis (2):
winewayland: Improve cleanup of text-input pending state.
winewayland: Ignore text-input "done" events that don't modify state.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (8):
taskschd/tests: Fix test failure on Windows 7.
shell32/tests: Avoid hang in test_rename.
d3d10: Return S_OK from parse_fx10_annotations instead of variable hr.
mmdevapi: Avoid race between main and notify thread.
d2d1/tests: Skip tests when device creation fails.
dbghelp: Avoid use after free by moving assignment before vector_add (ASan).
kernel32/tests: Don't call pNtCompareObjects in Windows 8.
kernel32/tests: Re-enable console handle test in Windows 8 with broken.
Brendan McGrath (4):
mfplat/tests: Add image size tests for P010.
mfplat: Add support for the P010 format.
winegstreamer: Add support for the P010 format.
winedmo: Add support for the P010 format.
Brendan Shanks (3):
winemac: Remove additional pre-macOS 10.12 workarounds.
configure: Remove unnecessary METAL_LIBS variable.
winemac: Remove #defines for conflicting macOS function names.
Daniel Lehman (2):
msvcr120/tests: Clear math error callback after test.
musl: Set EDOM in exp for NAN.
Dmitry Timoshkov (6):
kerberos: Add support for SECBUFFER_STREAM to SpUnsealMessage().
ldap: Avoid code duplication between sasl_client_start() and sasl_client_step().
Revert "combase: Find correct apartment in ClientRpcChannelBuffer_SendReceive()."
msv1_0: Perform NULL check before looking for a buffer of particular type.
kerberos: EncryptMessage() should fail if context doesn't support confidentiality.
kerberos: When requested confidentiality InitializeSecurityContext() should also add integrity.
Elizabeth Figura (11):
dxgi: Do not print a FIXME for DXGI_PRESENT_ALLOW_TEARING.
amstream/tests: Test reconnection done by CreateSample().
amstream: Don't bother calling SetFormat() if a NULL surface was passed.
amstream: Call SetFormat() before creating the sample.
amstream: Unblock GetBuffer() in Decommit().
amstream: Add more traces.
wined3d/spirv: Limit parameters to the relevant shader versions.
wined3d/vk: Use the XY11 fixup for SNORM formats only for legacy d3d.
amstream/tests: Avoid creating a ddraw RGB24 surface.
amstream/tests: Avoid calling GetAllocatorRequirements() from DecideAllocator().
d3d11: Implement CreateRasterizerState2().
Eric Pouech (5):
dbghelp: Speed up global symbols at startup.
dbghelp: Get fpo stream information directly in new PDB reader.
dbghelp: Simplify signature of PDB unwinders.
dbghelp: Rename declarations for old PBD backend.
dbghelp: Let new PDB reader exist independently of the old one.
Esme Povirk (1):
mscoree: Update Wine Mono to 10.1.0.
Gabriel Ivăncescu (4):
mshtml/tests: Test mixed charset encodings for document and text resources.
mshtml: Try to guess the script encoding when there's no BOM.
mshtml: Remove outdated FIXME comment.
urlmon: Skip fragment part when checking filenames for file protocol.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.318.
Hans Leidekker (21):
widl: Add typeref rows for enums.
widl: Add typedef, field and constant rows for enums.
widl: Add rows for the flags attribute.
widl: Add rows for the contract attribute.
widl: Add rows for the version attribute.
msv1_0: Pass a SecBuffer to create_signature() instead of an index.
msv1_0: Pass a SecBuffer to verify_signature() instead of an index.
msv1_0: Support SECBUFFER_STREAM in ntlm_SpUnsealMessage().
kerberos: Fix the wow64 thunk for unseal_message().
kerberos: Avoid buffer copy in kerberos_SpUnsealMessage().
ldap: Use SECBUFFER_STREAM in sasl_decode().
widl: Add rows for the apicontract type.
widl: Add rows for the contractversion attribute.
widl: Add rows for the apicontract attribute.
widl: Add rows for the struct type.
widl: Add rows for the interface type.
widl: Add rows for the uuid attribute.
widl: Add rows for the exclusiveto attribute.
widl: Add rows for the requires keyword.
find: Support /c switch.
secur32/tests: Fix test failure on Windows 11.
Jacek Caban (3):
winegcc: Allow specifying multiple debug files.
makedep: Introduce output_debug_files helper.
configure: Support generating both DWARF and PDB debug info in a single build.
Jacob Czekalla (8):
taskschd/tests: Adds a test for IRegisteredTaskCollection get_Item and get_Count.
taskschd: Implements IRegisteredTaskCollection get_Item().
taskschd: Implements IRegisteredTaskCollection get_Count().
comdlg32/tests: Add tests for changing devmode properties in the hook procedure for PrintDlgW.
comdlg32: Don't use a shadow devmode structure in PrintDlgW.
comdlg32/tests: Add tests for changing devmode properties in the hook procedure for PrintDlgA.
comdlg32: Don't use a shadow devmode structure in PrintDlgA.
comdlg32/tests: Remove tests in printer_properties_hook_proc for A and W versions.
Joe Souza (2):
include: Fix mistitled field in CONSOLE_READCONSOLE_CONTROL.
cmd: Implement tab completion for command line entry.
Lorenzo Ferrillo (1):
shell32: Create an internal IDropSource in SHDoDragDrop if it wasn't passed by the caller.
Matteo Bruni (1):
d3dcompiler/tests: Avoid precision issues in the trigonometry tests.
Nikolay Sivov (3):
d3d10/tests: Check d3d buffer sizes in effects tests.
include: Add GetCurrentThreadStackLimits() prototype.
d3dx9/tests: Add a few tests for technique/pass access with the effect compiler API.
Paul Gofman (11):
crypt32: Duplicate provided root store in CRYPT_CreateChainEngine().
msvcrt: Print FIXME when WideCharToMultiByte() fails in create_locinfo().
msvcrt: Support j modifier in scanf.
wbemprox: Pass current directory correctly to CreateProcessW() in process_create().
kernel32/tests: Test loading dll as resource or datafile with wow64 FS redirection disabled.
version/tests: Test GetFileVersionInfoW() with wow64 FS redirection.
msi/tests: Test installing 64 bit library loaded into wow64 installer process.
msi: Allocate buffer in msi_get_file_version_info().
msi: Get system directory just once.
msi: Fix getting version info for library loaded into wow64 process.
xaudio2/tests: Add some tests for XAudio2 refcounting.
Piotr Caban (3):
ucrtbase: Fix CP_UTF8 handling in _toupper_l.
ucrtbase: Fix CP_UTF8 handling in _tolower_l.
ucrtbase: Fix case mapping and ctype1 tables for utf8 locale.
Ralf Habacker (1):
ws2_32: Keep parameters in traces for bind() synchronized with connect().
Rémi Bernon (52):
opengl32: Simplify wglMake(Context)Current control flow.
opengl32: Cache context creation attributes.
opengl32: Use cached attributes to detect legacy contexts.
opengl32: Generate args loading / locking for wrapped functions.
opengl32/tests: Test wglShareLists with modified contexts.
opengl32: Track current context attributes changes.
opengl32: Track a subset of the context attributes.
opengl32: Implement wglCopyContext with tracked attributes.
opengl32/tests: Add more tests with wglCopyContext after usage.
win32u: Drop now unused wglCopyContext entry points.
opengl32: Implement wglShareLists by copying after recreation.
win32u: Drop now unused wglShareLists entry points.
win32u: Avoid closing NULL egl_handle on dlopen failure.
win32u: Return hwnd from get_full_window_handle when invalid.
ole32/tests: Add an test with implicit MTA creation.
ole32/tests: Add more tests with RPC from the wrong thread.
ole32/tests: Check calling a proxy after re-creating the STA.
winex11: Flag offscreen formats as bitmap compatible if possible.
winex11: Check XVisualInfo vs GLXFBConfig depth to avoid BadMatch.
opengl32: Expose every pixel format on memory DCs.
opengl32/tests: Relax memory DC pixel format selection.
windows.devices.enumeration: Return S_OK from IDeviceWatcher::Start with unsupported filter.
win32u: Remove unnecessary window_entry member.
winex11: Remove unnecessary gl3_context context member.
winex11: Remove old window drawable lookup and check.
server: Fix shared object offset when additional blocks are allocated.
win32u: Remove unnecessary shared object lock reset.
server: Allocate shared memory objects for windows.
server: Move window dpi_context to the shared memory.
win32u: Pass id and offset separately to find_shared_session_object.
win32u: Read window dpi_context from the shared memory.
opengl32: Move glFlush / glFinish hooking from win32u.
winex11: Use opengl_funcs for glFlush / glFinish.
winemac: Use opengl_funcs for glFlush.
win32u: Pass the window instance to create_window request.
server: Introduce a dedicated init_window_info request.
server: Get rid of set_window_info request flags.
win32u: Use a separate variable for windows free_list iteration.
win32u: Use a dedicated struct for window destroy entries.
win32u: Fix copy of vulkan surfaces list on window destruction.
opengl32: Flush the contexts on gl(Draw|Read)Pixels and glViewport.
win32u: Use a pbuffer to implement GL on memory DCs.
win32u: Drop now unnecessary OSMesa dependency.
win32u: Remove now unnecessary context and pbuffer funcs.
widl: Write apicontracts macros before they are used.
widl: Skip writing type definition if already written.
widl: Always write WinRT enum type definitions.
win32u: Implement NtUserRegisterWindowMessage.
win32u/tests: Test that user atoms are not a global atoms.
win32u/tests: Test some pinned global and user atoms.
user32: Implement RegisterWindowMessage(A|W) using NtUserRegisterWindowMessage.
user32: Implement RegisterClipboardFormat(A|W) using NtUserRegisterWindowMessage.
Stefan Dösinger (2):
d3d9/tests: Relax the focus==device window reactivate WM_WINDOWPOSCHANGED test.
d3d9/tests: Make the reactivate_messages_filtered test more meaningful on Windows.
Tim Clem (3):
gitlab: Switch to a Sequoia-based VM for the macOS CI build.
vcruntime140_1: Add a version resource.
msvcp140_2: Add a version resource.
Topi-Matti Ritala (1):
po: Update Finnish translation.
Vibhav Pant (6):
bluetoothapis: Return the correct error value in BluetoothAuthenticateDeviceEx.
include: Add windows.networking.sockets.idl.
include: Add windows.devices.bluetooth.rfcomm.idl.
include: Add definitions for Windows.Devices.Bluetooth.BluetoothDevice.
windows.devices.bluetooth/tests: Add tests for BluetoothDeviceStatics.
windows.devices.bluetooth: Add stub for IBluetoothDeviceStatics.
Vitaly Lipatov (1):
wine.inf: Add subkey Parameters for Tcpip6 and Dnscache services.
Yuxuan Shui (24):
amstream: Remove sample from update queue when releasing it.
msctf: Fix read of invalid memory in SINK_FOR_EACH.
cmd: Fix out-of-bound access when parsing commands that start with >.
cmd: Don't check for quotes past the start of the command.
hid/tests: Fix stack use-after-return in test_read_device.
gdiplus/tests: Use correctly formatted description.
gdiplus/tests: Make sure stride is correct for GdipCreateBitmapFromScan0.
inetmib1: Fix table emptiness check.
iphlpapi: Fix use-after-free of apc context.
kernel32/tests: Cancel IO before returning from function.
server: Fix leak of object name in device_open_file.
d3dx9_36/tests: Use correct row pitch for D3DXLoadSurfaceFromMemory.
kernel32/tests: Fix the string argument to WritePrivateProfileSectionA.
kernelbase/tests: Make sure buffer is big enough for test paths.
mshtml: Fix buffer underflow in range_to_string.
d3dx9: Set shared parameters pointer to NULL when freeing it.
mfreadwrite/tests: Fix missing terminator in attribute_desc.
nsiproxy.sys: Fix size mismatch writing into ipstatlist.
kernel32/tests: Fix out-of-bound read in test_CreateFileA.
msi/tests: Fix out-of-bound memcmp.
oleaut32: Fix out-of-bound read in OleLoadPicturePath when szURLorPath is empty.
propsys/tests: Use correct length for debugstr_wn in test_PropVariantToBSTR.
setupapi/tests: Fix double close of HSPFILEQ.
shell32/tests: Make sure to use the right type of strings.
Zhiyi Zhang (14):
d3d11/tests: Test d3d11 device context interfaces.
d3d11: Add ID3D11DeviceContext2 stub.
d3d11: Add ID3D11DeviceContext3 stub.
d3d11: Add ID3D11DeviceContext4 stub.
kernelbase: Silence a noisy FIXME in AppPolicyGetWindowingModel().
comctl32/taskdialog: Fix layout when there is no button.
ntdll: Implement RtlQueryInformationActiveActivationContext().
include: Add errhandlingapi.h.
combase: Add RoFailFastWithErrorContextInternal2() stub.
combase: Add RoGetErrorReportingFlags() stub.
combase: Add RoReportUnhandledError() stub.
combase: Add an error message when class is not found.
d3dcompiler_47: Implement D3DCreateLinker().
d3dcompiler_47: Implement D3DCreateFunctionLinkingGraph().
```
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.
```