The Wine development release 7.19 is now available. What's new in this release: - Support for storing DOS attributes on disk. - Bundled vkd3d upgraded to version 1.5. - Support for MPEG-4 audio format. - Various bug fixes. The source is available at: https://dl.winehq.org/wine/source/7.x/wine-7.19.tar.xz Binary packages for various distributions will be available from: https://www.winehq.org/download You will find documentation on https://www.winehq.org/documentation You can also get the current source directly from the git repository. Check https://www.winehq.org/git for details. Wine is available thanks to the work of many people. See the file AUTHORS in the distribution for the complete list. ---------------------------------------------------------------- Bugs fixed in 7.19 (total 17): - #9158 Multiple Microsoft development tools online/web installers fail to skip "$shtdwn$.req" with FILE_ATTRIBUTE_HIDDEN (Visual Studio Express Editions, .NET Framework 3.0) - #48414 OpenMPT UI does not render all textboxes correctly - #50269 Multiple applications need IWMSyncReader::GetOutputCount() implementation (Resident Evil Revelations 2; Ultimate Marvel vs Capcom 3) - #51884 HP Prime Virtual Calculator Emulator crashes when license agreement screen opens - #52655 Cubase 12 crashes on unimplemented function advapi32.dll.OpenThreadWaitChainSession - #52659 No sound for games that utilize windows media player functionality - #52931 vulkan-1:vulkan fails in Wine on cw-rx460 and Intel cards - #52954 Kheops Studio adventure games: Graphic bug that prevents any progress in the game - #53234 nsi:nsi - test_ndis_ifinfo() fails randomly on Windows 10 1507 - #53575 Subtitle Workshop Classic 6.1.4 disabled menu items are not viewable at all with Light theme - #53615 Sonic Adventure DX (2004) deadlocks on the title screen - #53645 AIMP 3 causes memory leaks - #53672 x64dbg crashes when opening executable - #53673 "AE VN Tools" fails to launch in staging v7.17 (previously "just worked" on staging v7.13) - #53700 DbgChild crashes on unimplemented function ntdll.dll.RtlDosPathNameToRelativeNtPathName_U - #53714 SQLGetInfo(W) doesn't fill StringLength when InfoValue is NULL - #53773 winetricks dotnet35 fails to install ---------------------------------------------------------------- Changes since 7.18: Akihiro Sagawa (1): imm32/tests: Don't expect IME window if the parent is message-only window descendant. Alex Henrie (4): winegstreamer: Fix memory leak in get_available_media_type (Coverity). include: Fix typo in LR_VGACOLOR. include: Fix typos in NIN_BALLOON*. include: Add LV_COLUMN[AW]. Alexandre Julliard (19): tests: Do not report flaky tests as failures by default. user32/tests: Flush window events to fix some race conditions. user32/tests: Mark some input tests as flaky. mmdevapi/tests: Mark some capture tests as flaky. dinput/tests: Mark a mouse input test as flaky. quartz/tests: Mark some tests as flaky. vkd3d: Import upstream release 1.5. Revert "oleaut32: Dereference VT_RECORD|VT_BYREF in place.". Revert "oleaut32/tests: Get_test_recordinfo shouldn't point into a specific VARIANT.". vkd3d: Update version number. gitlab: Run the full test suite on merge requests. wmvcore/tests: Reduce the number of printed todos. gdiplus: Get the compositing mode directly from the graphics object. windowscodecs: Redirect TIFF debug output to the Wine debug functions. winegstreamer: Respect debug channels configuration for error output. mmdevapi/tests: Mark some failing tests as flaky. ngen: Add version resource. wined3d: Use a Wine debug channel for vkd3d debug output. d2d1: Use a gcc pragma instead of a compiler flag for -fexcess-precision. Alistair Leslie-Hughes (9): odbc: SQLGetInfoW allow NULL parameter InfoValue. msdasql: Implement IColumnsInfo GetColumnInfo. msdasql: Select statements return -1 for affected rows in ICommandText Execute. msdasql: Implement IRowsetInfo GetProperties. sapi: Store the token id in ISpObjectToken SetId. sapi: Implement ISpObjectToken GetId. include: Add missing SP defines. sapi: Implement ISpRegDataKey CreateKey. sapi: Implement ISpRegDataKey GetStringValue. Aurimas Fišeras (1): po: Update Lithuanian translation. Brendan Shanks (6): ntdll: Set the name of internal thread pool threads. rpcrt4: Set the name of internal threads. wininet: Set thread name for collect_connections_proc. wined3d: Set name of internal threads. ntdll: Remove shared heap functionality. kernel32: Remove shared heap functionality. Connor McAdams (6): uiautomationcore: Use a separate vtbl for nested node IWineUiaProviders. uiautomationcore: Don't use nested node providers for same-thread HWNDs. uiautomationcore: Track all HUIANODEs returned from the provider thread. uiautomationcore: Implement UiaDisconnectProvider. uiautomationcore: Store provider thread nodes that have a runtime ID in an rbtree. uiautomationcore: Add UIAutomationType_Element property support for nested node providers. David Kahurani (1): xmllite/writer: Properly validate DocType name. Eric Pouech (21): dbghelp: Fix local scope reset upon module unloading. krnl386.exe16: Don't pass NULL to printf/%s). winedump: Dump global hash table out of PDB symbols' stream. winedump: Dump PDB public symbols' stream. dbghelp: Add support for static variables at function scope (PDB). dbghelp: Fix container for global variables (Dwarf). dbghelp: Fix variable storage information (Dwarf). dbghelp: Don't load invalid records for global symbol stream. dbghelp: Improve de-duping global symbols information (PDB). dbghelp: SymFromName* should first look in local context. dbghelp: Remove address field from symt_compiland. dbghelp: Expose local static variables' address. winedbg: Enhance printing of variables or fields. dbghelp: No longer use wine_dbgstr_longlong. dbghelp: Silence some FIXME for SymGetTypeInfo/TI_GET_OFFSET. dbghelp: Keep compiland's address for Dwarf debug format. dbghelp: Remove symt_close_func_block() stabs's only parameter. wined3d: Ensure function declaration matches implementation. wined3d: Ensure method declaration matches implementations. wined3d: Use I width modifier for debug traces on DWORD_PTR. conhost: Fix tests on ReadConsole with CONSOLE_READCONSOLE_CONTROL. Erich Hoover (3): ntdll: Implement retrieving DOS attributes in [fd_]get_file_info(). ntdll: Implement storing DOS attributes in NtSetInformationFile. ntdll: Implement storing DOS attributes in NtCreateFile. Esme Povirk (1): windowscodecs/tests: Accept new error code from win11. Etaash Mathamsetty (1): ntoskrnl.exe: KeInsertQueueDpc stub. Floris Renaud (1): po: Update Dutch translation. François Gouget (10): tests: Make sure only one thread prints traces at a time. tests: Print unhandled exception messages in colour. dpnet/tests: Mark the test_enum_hosts*() tests failing randomly on Windows as flaky. d3d9/tests: Mark the test_cursor_pos() tests failing randomly on Windows as flaky. d3d9/tests: Mark the test_wndproc_windowed() tests failing randomly on Windows as flaky. d3d9/tests: Mark the test_wndproc() tests failing randomly on Windows as flaky. dxgi/tests: Mark the test_swapchain_window_styles() tests failing randomly on Windows as flaky. dxgi/tests: Mark the test_swapchain_window_messages() tests failing randomly on Windows as flaky. gdi32/tests: Mark tests failing randomly on Windows as flaky. imm32/tests: Mark tests failing randomly on Windows as flaky. Gabriel Ivăncescu (18): mshtml: Override document.URL's name when adding it from the mshtml typelib. include/mshtml: Move some forward interface declarations to match Windows SDK. mshtml: Implement url prop for StorageEvent. mshtml: Use actual Gecko event type for MessageEvent and StorageEvent. mshtml: Expand event_info to include a special entry for EVENTID_LAST. mshtml: Allocate events via event type. mshtml: Silence a FIXME when parameter is missing. jscript: Fill the builtin props for enumeration on prototypes as well. jscript: Refill the props at end of enumeration in html mode and retry. mshtml: Fix enumerating first custom prop after builtins. mshtml: Do not enumerate internal dynamic props. mshtml: Split the lookup for an element with name into a separate helper. mshtml: Enumerate document elements with name. shell32/tests: Test drive letters parsing for My Computer. shell32: Handle drive letters properly when parsing MyComputer. mshtml: Expose props via element name only for specific element types. mshtml: Allow accessing some document elements as props via id. mshtml: Don't create dynamic prop before checking if elem prop even exists. Georg Lehmann (1): winevulkan: Update to VK spec version 1.3.230. Hans Leidekker (2): schannel/tests: Fix test failure on Windows 11. schannel/tests: Get rid of workarounds for old Windows versions. Henri Verbeet (2): wined3d: Handle VKD3D_SHADER_RESOURCE_DATA_MIXED in wined3d_data_type_from_vkd3d(). wined3d: Use the supplied context in wined3d_device_context_blt(). Hugh McMaster (2): kernel32/tests: Add tests for GetConsoleTitle(). kernelbase: Return full title length from GetConsoleTitle(). Huw D. M. Davies (2): nsi: Use the correct members for the error and discard counts. nsi: Update struct nsi_tcp_conn_dynamic for Windows 11. Jacek Caban (10): vbscript: Fix handling missing description in EXCEPINFO. winevulkan: Separate 32-bit and 64-bit thunks implementation. winevulkan: Merge body and body_conversion. winevulkan: Don't pass params struct to private thunks. winevulkan: Use generated thunks for basic debug traces. winevulkan: Always use params to return Unix thunks result. winevulkan: Pass VkVariable to ConversionFunction constructor. winevulkan: Separate 32-bit and 64-bit conversion functions. winevulkan: Introduce conversion_context and use it for conversion memory allocation. winevulkan: Use host Vulkan structures for private thunks arguments. Joel Holdsworth (1): ntdll: Implement retrieving DOS attributes in NtQueryInformationFile. John Chadwick (1): wintab32: Fix match_token to match XWayland devices. Kevin Puetz (10): vbscript: Only set EXCEPINFO strings for cases that map_hres translated. vbscript/tests: Test throwException with Description but *not* Source. vbscript: Do HRESULT->VBSERROR mapping for the whole EXCEPINFO at once. scrrun/tests: Introduce a test_file_contents helper. scrrun: Fix FileSystemObject.OpenTextFile when writing to existing files. oleaut32/tests: Get_test_recordinfo shouldn't point into a specific VARIANT. oleaut32: Dereference VT_RECORD|VT_BYREF in place. vbscript: Don't abort when trying to TRACE() functions with many arguments. rpcrt4/tests: Add tests for lifetime of IRpcChannelBuffer. rpcrt4: Add a refcount owned by MIDL_STUB_MESSAGE. Lauri Kenttä (1): po: Update Finnish translation. Louis Lenders (1): wbemprox: Add HypervisorPresent property to win32_ComputerSystem. Marcus Meissner (1): ntdll: Fix GetTempPathW() call passing wrong unit for the buffer size. Mark Jansen (1): gdi32: Fix possible overflow. Martin Storsjö (1): wow64: Use the right SEH opcode in raise_exception on arm64. Nikolay Sivov (4): include: Change include guard for wininet.h. include: Add IActiveDesktop definition. shell32: Add Active Desktop stub. dxva2/tests: Add another render target format to fix a test failure. Paul Gofman (26): ntdll: Fix processor package mask in SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX structure. winex11.drv: Do not skip taskbar and pager for app window. msi: Disable FS redirection for temporary file in cabinet_copy_file(). crypt32: Set correct exponent length in decoded BCRYPT_RSAKEY_BLOB. wintrust/tests: Add tests for multiple PE signatures. wintrust: Initialize CRYPT_PROVIDER_SIGSTATE structure in Softpub provider. wintrust: Load secondary signatures in SoftpubLoadSignature(). wintrust: Support WSS_GET_SECONDARY_SIG_COUNT in Softpub provider. d3d8/tests: Add test for NULL hDeviceWindow in presentation parameters. d3d9/tests: Add test for NULL hDeviceWindow in presentation parameters. wined3d: Replace NULL device_window with focus window in swapchain desc. msvcp140: Import __ExceptionPtrCopy implementation. msvcp140: Import __ExceptionPtrAssign implementation. msvcp140: Import __ExceptionPtrRethrow implementation. msvcp140: Import __ExceptionPtrCurrentException implementation. msvcp140: Import __ExceptionPtrToBool implementation. msvcp140: Import __ExceptionPtrCopyException implementation. msvcp140: Import __ExceptionPtrCompare implementation. include/windows.devices.enumeration: Define DeviceAccessInformation class. windows.devices.enumeration: Create stub DeviceAccessInformation class. windows.devices.enumeration: Add stub IDeviceAccessInformation interface. winhttp: Support WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL. winhttp: Stub WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE. winhttp: Support WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE. vcruntime140_1: Link to vcruntime140. msvcp140: Link to vcruntime140. Piotr Caban (10): comctl32/tests: Test PROPERTYSHEETPAGE passed in WM_INITDIALOG. comctl32/tests: Test passing extra data in PROPSHEETPAGE structure. comctl32/tests: Add more PROPSHEETPAGE tests inside callback. comctl32/tests: Test passing PropertySheetPage as HPROPSHEETPAGE. comctl32: Don't pass PROPSHEETPAGE to SetWindowSubclass in PROPSHEET_CreatePage. comctl32: Introduce _PSP structure to store HPROPSHEETPAGE data. comctl32: Use HPROPSHEETPAGE directly in PROPSHEET_CollectPageInfo. comctl32: Use HPROPSHEETPAGE directly in PROPSHEET_CreatePage. comctl32: Use HPROPSHEETPAGE directly in PROPSHEET_GetPageRect. comctl32: Don't cast HPROPSHEETPAGE to PROPSHEETPAGEW*. Rémi Bernon (75): winegstreamer: Use IWMSyncReader2_GetMaxStreamSampleSize in the async reader. winegstreamer: Use IWMSyncReader2_GetOutputProps in the async reader. winegstreamer: Use IWMSyncReader2_SetOutputProps in the async reader. winegstreamer: Use IWMSyncReader2_GetOutputFormat in the async reader. winegstreamer: Use IWMSyncReader2_GetOutputFormatCount in the async reader. winegstreamer: Use IWMSyncReader2_GetStreamSelected in the async reader. winegstreamer: Use IWMSyncReader2_SetStreamsSelected in the async reader. winegstreamer: Use IWMSyncReader2_GetOutputCount in the async reader. wmvcore/tests: Test IWMSyncReader2_(Get|Set)AllocateFor(Output|Stream). wmvcore/tests: Test IWMReaderAllocatorEx usage and parameters. winegstreamer: Factor wm reader sample allocator error checks. winegstreamer: Implement IWMSyncReader2_SetAllocateForOutput. winegstreamer: Implement IWMSyncReader2_GetAllocateForOutput. winegstreamer: Implement IWMSyncReader2_SetAllocateForStream. winegstreamer: Implement IWMSyncReader2_GetAllocateForStream. winegstreamer: Implement H264 decoder GetStreamLimits / GetStreamCount. winegstreamer: Implement WMA decoder GetStreamLimits / GetStreamCount. winegstreamer: Check Video Processor Get(OutputStream)Attributes pointers. winegstreamer: Return E_NOTIMPL from color_convert GetInputStreamAttributes. mf/tests: Test miscellaneous and optional IMFTransform methods. winegstreamer: Remove FIXME / stub! from optional transform methods. winegstreamer: Keep input / output stream info in struct color_convert. winegstreamer: Keep input / output stream info in struct resampler. winegstreamer: Keep input / output stream info in struct video_processor. winegstreamer: Keep input / output stream info in struct wma_decoder. winegstreamer: Keep input / output stream info in struct h264_decoder. winegstreamer: Stop requiring input type in H264 decoder GetInputStreamInfo. mf/tests: Factor IMFTransform_Get(Input|Output)StreamInfo checks together. mf/tests: Factor transform (Get|Set)(Input|Output)CurrentType tests together. mf/tests: Add some AAC encoder MFT encoding tests. mf/tests: Add some AAC decoder MFT decoding tests. mf/tests: Avoid setting transform types while enumerating. mf/tests: Test WMV decoder MFT / DMO presence and media types. mf/tests: Test WMV encoder MFT / DMO presence and media types. mf/tests: Add some WMV encoder MFT / DMO encoding tests. mf/tests: Add some WMV decoder MFT / DMO decoding tests. makedep: Add an import type parameter to add_import_libs. makedep: Link default imports separately from direct imports. makedep: Link with imported libs before delay imported libs. shcore: Use delay import for user32 and ole32. regedit: Call InitCommonControls after command-line has been processed. regedit: Add a direct import for shcore. mf: Avoid clearing media session command list while it is running. winegstreamer: Move CINEPAK encoded format to a separate major type. winegstreamer: Rename WG_MAJOR_TYPE_MPEG1_AUDIO to WG_MAJOR_TYPE_AUDIO_MPEG1. winegstreamer: Rename WG_MAJOR_TYPE_WMA to WG_MAJOR_TYPE_AUDIO_WMA. winegstreamer: Rename WG_MAJOR_TYPE_H264 to WG_MAJOR_TYPE_VIDEO_H264. winegstreamer: Reorder video format struct in wg_format. winegstreamer: Wrap callback in a IWMReaderAllocatorEx in the async reader. winegstreamer: Use IWMSyncReader2_SetAllocateForOutput in the async reader. winegstreamer: Use IWMSyncReader2_GetAllocateForOutput in the async reader. winegstreamer: Use IWMSyncReader2_SetAllocateForStream in the async reader. winegstreamer: Use IWMSyncReader2_GetAllocateForStream in the async reader. winegstreamer: Use IWMSyncReader2_GetNextSample in the async reader. winex11.drv: Sync window positions in a WM_X11DRV_DESKTOP_RESIZED message. winex11.drv: Send WM_X11DRV_CLIP_CURSOR_REQUEST message from the deskop. win32u: Send WM_DISPLAYCHANGE message to the desktop window. winex11.drv: Resize desktop window on WM_DISPLAYCHANGE message. winemac.drv: Resize desktop window on WM_DISPLAYCHANGE message. winegstreamer: Make IMFTransform_ProcessOutput checks more consistent. winegstreamer: Create wg_sample from IMFSample within of wg_transform_read_mf. winegstreamer: Register AAC decoder MFT stub. winegstreamer: Register WMV decoder MFT / DMO stub. win32u: Asynchronously send the WM_DISPLAYCHANGE to the desktop window. mf/tests: Factor test grabber callback implementations. mf/tests: Check sample grabber RGB / NV12 orientation. mfmediaengine/tests: Pass a device manager and output format to create_media_engine. mfmediaengine/tests: Check IMFMediaEngine_TransferVideoFrames output orientation. mfmediaengine: Remove vertical flipping of video frames. opengl32: Split trace generation to separate functions. opengl32: Consistently use $func instead of $func_ref. opengl32: Replace get_function_proto helper with get_func_(args|ret). opengl32: List the manually written functions instead of the excluded. winegstreamer: Support MPEG4 (AAC) compressed audio format. winegstreamer: Implement AAC decoder MFT. Sebastian Lackner (1): ntdll: Improve stub of NtQueryEaFile. Zebediah Figura (13): d3d9: Factor out d3d9_texture_init(). d3d9: Introduce a d3d9_texture_preload() helper. d3d9: Add reference counting helpers for textures. d3d9: Use a separate draw texture for managed resources. ddraw: Add FPS tracing in ddraw_surface_update_frontbuffer(). widl: Generate "static inline" instead of "static FORCEINLINE" for COM inline wrappers. d3d8: Factor out d3d8_texture_init(). d3d8: Introduce a d3d8_texture_preload() helper. d3d8: Add reference counting helpers for textures. d3d8: Use a separate draw texture for managed resources. qcap: Fix frame interval calculation. qcap: Fix reversed max_fps and min_fps. qcap/tests: Test that the video capture filter sets timestamps. Zhiyi Zhang (2): light.msstyles: Use a darker color for inactive captions. vulkan-1/tests: Fix test failures on llvmpipe.