The Wine development release 6.11 is now available. What's new in this release (see below for details): - Theming support in all builtin programs. - All remaining CRT math functions imported from Musl. - MP3 support requires libmpg123 also on macOS. - Support for codepage 720 (Arabic). - Various bug fixes. The source is available from the following locations: https://dl.winehq.org/wine/source/6.x/wine-6.11.tar.xz http://mirrors.ibiblio.org/wine/source/6.x/wine-6.11.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 6.11 (total 33): 24172 Microsoft SyncToy 2.1 doesn't start with Wine-Mono 29184 Hogs of War: ground is missing somewhere 30244 Might & Magic Clash of Heroes: fails to start 36165 msvcrt/string tests fail under valgrind 37149 python 3.1.1: test_cmath failed 37858 WHO Anthro (.NET app) installer fails, reporting 'FATAL UNHANDLED EXCEPTION: The specified table does not exist.' 39142 Roblox Client/Server connection is dropped with error "This server has shut down." 40505 PDF Eraser Shows False File Names in File Open dialog with wine-mono 41048 Roller Coaster Rampage fails to start: 'Failed to init XACT' - {0aa000aa-f404-11d9-bd7a-0010dc4f8f81} xactengine2_0.dll 41292 Nexton LC-ScriptEngine freezes, possibly bad dsound notifications 41403 Ri-li 2.0.1 shows black screen instead of actual game content 42215 Pendulumania: Black screen (needs to emulate 8bpp mode in winex11) 42928 EmuMovies Sync 2.x fails login with Wine-Mono 44511 Winecfg - Only partially shows new theme after clicking apply 45202 Stories: The Path of Destinies - multicolored textures 45940 Missing CLSID e018945b-aa86-4008-9bd4-6777a1e40c11 (CLSID_WICPngDecoder2 ?) 46043 Notepad++ v7.5.9 x86 'MarkdownViewer++' v0.8.2 plugin (.NET 4.0 based) causes abnormal program termination with Wine-Mono 4.7.3 47812 Cygwin's strace.exe crashes due to custom TLS corruption 48891 Bash from Cygwin/msys2 terminates after first command 49459 Memu installer fails: wine: Call from 0x7b00f0b7 to unimplemented function wuaueng.dll.DllRegisterServer, aborting 49668 Two Worlds Epic Edition needs {cd0d66ec-8057-43f5-acbd-66dfb36fd78c}, xactengine2_7 to play audio 50041 Amnesia: Rebirth crashes with builtin vcomp140 50520 Multiple applications need WSAIoctl(SIO_BASE_HANDLE) (Rust applications using the Mio or Smol libraries, Starcraft Remastered) 50592 ZynAddSubFX 3.0.3 Demo can't load/open/save presets 50595 Foxit Reader 5.1 crashes on unimplemented function 'msdrm.dll.DRMRegisterContent' when exiting 50615 Excel 2007 needs ICreateTypeInfo2::DeleteFuncDesc() 51184 test_font_metrics() fails in gdi32:font for bitmap fonts on Windows 10 >= 1709 51192 GnuTLS error: Error in the pull function/ Login to Teamspeak, Blizzard... not possible. 51222 Multiple games have rendering issues caused by import of logf from musl (Kingdom Come: Deliverance, Just Cause 4, Wizard101) 51224 Otvdm can't start any Win16 application 51231 WeChat can't display QR code in login dialog. 51262 Since 308a5e7 no 32bit program starts 51273 Starcraft 2 64 bit .exe not starting since 25b093f384 ---------------------------------------------------------------- Changes since 6.10: Akihiro Sagawa (4): quartz/tests: Introduce commit_allocator helper in vmr7.c. quartz/tests: Test the close button of the video window. quartz: Hide video window on WM_CLOSE. quartz: Notify EC_USERABORT event when closing video window. Alexandre Julliard (28): ntdll: Validate the extended context before modifying the other registers. ntdll: Only restore the modified parts of the syscall frame on x86-64. ntdll: Only restore the modified parts of the syscall frame on i386. ntdll: Create a thread to run the ctrl-C routine instead of raising an exception. ntdll: Fix some exception test failures on ARM. ntdll: Fix some exception test failures on ARM64. kernel32: Don't export __chkstk() on ARM64. ntdll: Allow the dispatcher functions to return to the caller. ntdll: Always allocate extra stack space for the kernel stack. ntdll: Switch to the kernel stack for syscalls on i386. ntdll: Switch to the kernel stack for syscalls on x86-64. ntdll: Switch to the kernel stack for syscalls on ARM64. ntdll: Switch to the kernel stack for syscalls on ARM. ntdll: Simplify the platform-specific dispatcher interface. ntdll: Don't update cached registers if NtGetContextThread() fails. ntdll: Move the XSTATE definitions to the platform-specific files. ntdll: Also pass the TEB to signal_exit_thread(). ntdll: Always use the TEB that was passed to signal_start_thread(). ntdll: Store the current PEB in a global variable. ntdll: Store the debug info in the TEB block after the 32-bit TEB. ntdll: Copy the implementation of __wine_dbg_strdup and __wine_dbg_header to the PE side. ntdll: Don't allow single-stepping through syscalls. ntdll: Copy the implementation of __wine_dbg_output to the PE side. ntdll: Add a helper to get the Wow64 TEB. ntdll: Remove special case for setting permissions on stack pages. ntdll: Support growing both 32- and 64-bit stacks. ntdll: Ignore faults caused by alignment check on x86-64. ntdll/tests: Adapt some of the i386 tests to run on x86-64 as well. Alistair Leslie-Hughes (6): msado15/test: Remove Reference count tests. msado15/tests: Add Field tests. msado15: Correct field reference value. msado15: Support VT_I4/I2 for Fields Item property. msado15: Convert to Integer for field index. dpnhupnp: Stub DirectPlayNATHelpCreate and DllGetClassObject. Andrew Eikum (3): advapi32/tests: Avoid gcc 11 misleading-indentation warning. comctl32: Avoid gcc 11 maybe-uninitialized warning. shell32: Always create default known folder directories. Austin English (1): dpnhupnp: Add stub dll. Brendan Shanks (2): configure: Work around Xcode 12's ld assuming 16KB page sizes. winecoreaudio: Remove workarounds for Mac OS X 10.4 and 10.5. Connor McAdams (1): d3dx9: Remove unnecessary call to D3DXMatrixTranspose. Damjan Jovanovic (1): server: The owner of a securable object should have all the standard access rights. Derek Lesho (2): mfplat: Fix max buffer length for IMC2/IMC4 formats. mfplat: Copy all image planes in buffer copies. Dmitry Timoshkov (3): gdi32/tests: Test otmEMSquare only for Truetype fonts. mshtml: Fix typos in traces. include: Add IAuthenticateEx interface definition. Esme Povirk (5): sppc: Stub SLPersistApplicationPolicies. advapi32: Fix typo. sechost: Reject string SIDs with too many characters. sechost: SID strings are case-insensitive. sechost: Implement hexadecimal SID parsing. Florian Eder (1): cmd: Do not change errorlevel when setting environment variables. François Gouget (9): urlmon/tests: Fix a typo in a comment. wininet/tests: Fix an InternetQueryOptionA/W mixup in test_secure_connection(). user32/tests: Use winetest contexts to simplify set_clipboard_data_process(). make_unicode: Add support for the 720 codepage (Arabic, Farsi and Urdu). wined3d: Avoid an unneeded NULL cast. gdi32/tests: Add a context to the testJustification() failure message. gdi32/tests: Use a winetest context for test_font_metrics(). user32/tests: Preserve the initial GetLastError() value for test_ClipboardOwner(). user32/tests: Use the caller line number for open_clipboard() & co. Gijs Vermeulen (3): vcomp: Implement omp_get_num_procs(). ntdll: Avoid declaration-after-statement warning. secur32: Default to building with GnuTLS support on macOS, if present. Giovanni Mascellani (5): mf/session: Fix computing fastest and slowest presentation rates. winex11.drv: Allow keyboard layout score to be negative. winex11.drv: Do not pollute logs with misencoded bytes. mf/session: Reset END_OF_PRESENTATION flags when stopped. winegstreamer: Expose the MF_MT_VIDEO_ROTATION attribute. Haidong Yu (2): shell32: Fix a memory leak. shell32: Fix a memory leak. Hans Leidekker (4): winhttp: Fix a buffer size check. winhttp: Remove redundant parentheses. winhttp: Use CRT memory allocators. secur32: Translate errors from push/pull callbacks. Henri Verbeet (6): d3d11/tests: Add a test for image UAV clears. wined3d: Introduce wined3d_mask_from_size(). wined3d: Implement OpenGL image UAV clears using ARB_clear_texture. d3d11: Implement d3d11_device_context_ClearUnorderedAccessViewFloat(). wined3d: Use the texture level count to calculate sub-resource indices for OpenGL mip-map generation. wined3d: Use the texture level count to calculate sub-resource indices for Vulkan mip-map generation. Hiroki Awata (1): dsound: Notify DSBPN_OFFSETSTOP earlier. Hugh McMaster (11): regedit: Allow deletion of selected values without focus. reg/tests: Test how values are overwritten when copying. reg/tests: Modify delete_key() to support use of RegDeleteKeyEx(). reg/tests: Update reg_open() and reg_open_() definitions. reg/tests: Modify verify_key() to support opening of registry views. reg/tests: Modify verify_key_nonexist() to support registry views. reg/tests: Update delete_value() declaration to deconstify 'const HKEY'. reg/tests: Modify add_key() to support key creation in registry views. reg/tests: Test key and value creation in 32-bit and 64-bit registry views. reg: Support the use of registry views during the 'add' operation. reg/tests: Move 'delete' syntax tests into a separate function. Jacek Caban (2): gdi32: Fix SetPixel error return value. win32u: Add stub DLL. Jactry Zeng (3): riched20/tests: Lock hGlobal before use. riched20: Allow to insert OLE object at specified offset. riched20/tests: Add more tests for testing EM_GETTEXTEX with OLE objects. Jan Sikorski (2): wined3d: Fix typo in wined3d_texture_vk_prepare_texture(). wined3d: Don't pass a 3D texture view's depth range as layer range to Vulkan. Kalen Alwardt (1): ntdll: Export ZwFilterToken(). Nguyễn Chính Hữu (1): wined3d: Add GPU information for NVIDIA GT 1030. Nikolay Sivov (17): dxva2: Accept AYUV as input format. dxva2: Check input stream format in GetVideoProcessorDeviceGuids(). mfplat/buffer: Fix maximum length for YV12 format. dxva2/tests: Remove a test failing on system with hw dxva devices support. d2d1: Cache sampler state objects at device context. d2d1: Remove unused argument from constant buffer initialization helper. d2d1: Reuse PS constant buffer object. d3d11: Fix freed memory access when releasing device context (Coverity). d2d1: Reuse VS constant buffer object. winegstreamer: Let async command handle request token. mf: Move presentation clock implementation to a separate file. mf/session: Reset per-node end of stream flags when stopped. mf/session: Reset topology status back to READY when stopped. mf: Use CRT allocation functions. include: Add IMFWorkQueueServicesEx definition. mfplay: Create media item on player creation, when url is specified. mfplay: Start playback on player creation automatically, when enabled. Paul Gofman (8): jscript: Parse 'let' and 'const' variable declarations. shell32: Don't specify the startup directory for CreateProcessW() in SHELL_ExecuteW(). jscript: Factor local_ref_scopes_t structure out of function_code_t. jscript: Enumerate with and block scopes. jscript: Support block scope variables. jscript: Support nested scopes for functions defined inside. mshtml/tests: Add test for multiple JS scope instances. mshtml/tests: Add a test for JS functions scope. Piotr Caban (11): msvcrt: Fix logf implementation. msvcrt: Import tgamma implementation from musl. msvcrt: Import tgammaf implementation from musl. msvcrt: Import fmaf implementation from musl. msvcrt: Import exp2f implementation from musl. msvcrt: Import expf implementation from musl. msvcrt: Import powf implementation from musl. msvcrt: Import exp2 implementation from musl. msvcrt: Import exp implementation from musl. msvcrt: Fix math error arguments in powf. msvcrt: Import pow implementation from musl. Roberto Pungartnik (1): po: Update Brazilian Portuguese translation. Roman Pišl (1): ntdll: Allow loading of native libraries for Win16. Rémi Bernon (41): hid/tests: Don't print buttons after HidP_GetUsages failed. hidclass.sys: Handle failures when parsing descriptor. hidclass.sys: Remove Delim member from struct caps. hidclass.sys: Use HIDP_VALUE_CAPS instead of struct caps. hidclass.sys: Factor all HIDP_VALUE_CAPS debug helpers. hid: Use caps.BitSize to differenciate buttons from values. include: Add HID haptics usage page. hidclass.sys: Don't crash when no buffer was provided. xinput1_3: Use msvcrt allocation functions. xinput1_3: Check for HID failures and print warnings. xinput1_3: Store HIDP_CAPS in hid_platform_private struct. xinput1_3: Use input report length from HIDP_CAPS. xinput1_3: Allocate output report buffer on the heap. hidclass.sys: Fix incorrect feature report debug print. hidclass.sys: Dump HID descriptor with 16 byte columns. hidclass.sys: Use realloc instead of HeapReAlloc. ntoskrnl.exe/tests: Silent a todo_wine failing test after a while. ntoskrnl.exe/tests: Use HID helper macros to write report descriptors. ntoskrnl.exe/tests: Add some buttons and hatswitch controls. hid: Check preparsed data magic in HidP_GetLinkCollectionNodes. ntoskrnl.exe/tests: Add some HidP_Get(Specific)ButtonCaps tests. ntoskrnl.exe/tests: Add some HidP_Get(Specific)ValueCaps tests. ntoskrnl.exe/tests: Add some HidP_GetLinkCollectionNodes tests. ntoskrnl.exe/tests: Add some HidP_InitializeReportForID tests. ntoskrnl.exe/tests: Don't call CertFreeCertificateContext on cleanup. hid: Implement HidP_SetUsageValueArray stub. ntoskrnl.exe/tests: Add tests with and without report IDs. ntoskrnl.exe/tests: Add more reports with complex HID syntax. ntoskrnl.exe/tests: Add some HidP get/set values tests. ntoskrnl.exe/tests: Add some HidP get/set usages tests. ntoskrnl.exe/tests: Add some HidP_GetData tests. hidclass.sys: Simplify signed / unsigned item value parsing. hidclass.sys: Use a single switch to parse all item types. hidclass.sys: Introduce new hid_parser_state struct. hidclass.sys: Add a stack to parser_state to store global items. hidclass.sys: Use the stack to store collection items. hidclass.sys: Set BitField item to current value. hidclass.sys: Create link collection caps during parsing. hidclass.sys: Remove unused struct feature members. hidclass.sys: Remove unused struct collection members. hidclass.sys: Split feature parsing to separate helper. Stefan Dösinger (2): user32: Release the icon frame in CopyImage. user32: Delete info.hbmColor and hbmMask after copying. Torge Matthies (1): winex11.drv: Avoid race condition in X11 error handling. Vijay Kiran Kamuju (2): msdrm: Add stub DRMRegisterContent function. windowscodecs: Add initial support for WICPngDecoder2. Yeshun Ye (1): iphlpapi: Fix the field 'AdapterName' of IP_ADAPTER_INFO returned by GetAdaptersInfo. Zebediah Figura (67): configure: Always warn on missing GStreamer if --with-gstreamer was specified. configure: Also warn on missing GStreamer if --without-quicktime was specified. ws2_32: Use getifaddrs() and if_nametoindex() directly in interface_bind(). ws2_32: Use IOCTL_WINE_AFD_COMPLETE_ASYNC in SIO_ADDRESS_LIST_QUERY. server: Don't rely on async_is_blocking() to determine whether IOCTL_AFD_WINE_ADDRESS_LIST_CHANGE should block. ws2_32: Wait for synchronous ioctl completion in server_ioctl_sock(). ws2_32/tests: Test passing an output buffer to FIONBIO. ws2_32: Explicitly ignore the output buffer in FIONBIO. ntdll: Introduce IOCTL_AFD_WINE_GET_INTERFACE_LIST. ws2_32: Use IOCTL_AFD_WINE_GET_INTERFACE_LIST. ntdll: Introduce IOCTL_WINE_AFD_KEEPALIVE_VALS. ws2_32: Use IOCTL_WINE_AFD_KEEPALIVE_VALS. ws2_32: Fix the indentation of SIO_ROUTING_INTERFACE_QUERY. ws2_32: Use IOCTL_WINE_AFD_COMPLETE_ASYNC in SIO_ROUTING_INTERFACE_QUERY. ws2_32: Use IOCTL_AFD_WINE_COMPLETE_ASYNC for unimplemented ioctls. ws2_32: Return WSAEOPNOTSUPP in SIO_FLUSH. ws2_32: Return WSAEOPNOTSUPP in FIOASYNC. l3codeca.acm: Remove the Mac OS AudioToolbox backend. l3codeca.acm: Call mp3_horse() directly. l3codeca.acm: Simplify error handling in MPEG3_StreamOpen(). l3codeca.acm: Store the mpg123 handle directly as the ACM driver data. ws2_32/tests: Add more tests for calling functions on a connecting socket. server: Return STATUS_INVALID_PARAMETER when trying to call connect() on a socket with an active ConnectEx() async. server: Fail with WSAEINVAL or WSAEALREADY when trying to connect a socket that is already connecting via nonblocking connect(). ws2_32: Use IOCTL_AFD_WINE_COMPLETE_ASYNC in SIO_UDP_CONNRESET. ws2_32: Implement SIO_BASE_HANDLE. server: Do not return the socket state from get_socket_event. server: Make FD_WINE_NONBLOCKING into a separate field. server: Use separate fields to track socket shutdown state. server: Use an enum to store socket connection state. server: Do not bother clearing events in IOCTL_AFD_WINE_CONNECT. server: Do not bother clearing events in IOCTL_AFD_LISTEN. server: Free the old process image name if a second process image is mapped (Valgrind). server: Use AFD_POLL_* flags internally. server: Store the socket errors as an array of Unix errno values. server: Implement IOCTL_AFD_EVENT_SELECT. ws2_32: Use IOCTL_AFD_EVENT_SELECT. ws2_32/tests: Add some tests for IOCTL_AFD_EVENT_SELECT. ntdll: Reserve space for the whole 64-bit YMM context in struct x86_thread_data. qcap/tests: Add some tests for filter state on the video capture filter. qcap/tests: Add tests for allocator management by the video capture filter. qcap/vfwcapture: Do not fail vfw_capture_init_stream() if IMemAllocator::SetProperties() fails. server: Implement IOCTL_AFD_GET_EVENTS. server: Do not poll sockets for POLLPRI unless we are selecting for AFD_POLL_OOB. ws2_32: Use IOCTL_AFD_GET_EVENTS in WSAEnumNetworkEvents(). ws2_32/tests: Add some tests for IOCTL_AFD_GET_EVENTS. server: Introduce IOCTL_AFD_WINE_MESSAGE_SELECT. ws2_32: Use IOCTL_AFD_WINE_MESSAGE_SELECT. server: Remove the no longer used set_socket_event request. ws2_32/tests: Add a couple more tests for getsockname(). server: Partially implement IOCTL_AFD_BIND. server: Implement IOCTL_AFD_GETSOCKNAME. server: Return the socket address from IOCTL_AFD_BIND. ws2_32/tests: Add some tests for IOCTL_AFD_BIND and IOCTL_AFD_GETSOCKNAME. server: Return STATUS_ADDRESS_ALREADY_ASSOCIATED from IOCTL_AFD_BIND if the socket is already bound. ws2_32: Reimplement bind() and getsockname() on top of IOCTL_AFD_BIND and IOCTL_AFD_GETSOCKNAME respectively. server: Correctly access the sir_lsap_sel field. ws2_32: Check if the socket is bound in listen() in the server. ws2_32: Pass a Win32 socket address to IOCTL_AFD_WINE_CONNECT. ws2_32: Check if the socket is bound in ConnectEx() in the server. ws2_32: Move the getpeername() implementation to ntdll. ntdll/tests: Relax tests for RtlWaitOnAddress() timeout. ws2_32: Remove some unused declarations. ws2_32: Make the indentation in WSAAccept() consistent with the rest of the file. server: Introduce IOCTL_AFD_WINE_DEFER. ws2_32: Use IOCTL_AFD_WINE_DEFER. server: Remove the no longer used set_socket_deferred request. Zhiyi Zhang (27): gdi32: Return correct color depth for display DCs in GetDeviceCaps(). gdi32: Implement MFDRV_SetLayout(). gdi32: Use a common helper for emf StretchBlt and AlphaBlend. gdi32: Add more emf StretchBlt tests. write: Use correct wordpad.exe path. control: Enable visual styles. dxdiag: Enable visual styles. explorer: Enable visual styles. extrac32: Enable visual styles. msiexec: Enable visual styles. msinfo32: Enable visual styles. notepad: Enable visual styles. oleview: Enable visual styles. regedit: Enable visual styles. taskmgr: Enable visual styles. view: Enable visual styles. wineboot: Enable visual styles. winefile: Enable visual styles. winemine: Enable visual styles. winevdm: Enable visual styles. winver: Enable visual styles. wordpad: Enable visual styles. gdi32: Partially implement HALFTONE stretch mode. clock: Enable visual styles. uninstaller: Enable visual styles. winedbg: Enable visual styles. winetest: Enable visual styles. Ziqing Hui (4): d3dx10/tests: Check more members of texture descriptor. d3dx10/tests: Use winetest_push_context. d3dx10/tests: Test subresource data for created texture. windowscodecs/tests: Use winetest_push_context for DDS tests. -- Alexandre Julliard julliard@winehq.org