Wine Announcement

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:

Binary packages for various distributions will be available from:

You will find documentation on

You can also get the current source directly from the git
repository. Check 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().
      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_WINE_AFD_KEEPALIVE_VALS.
      ws2_32: Fix the indentation of 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: 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.
      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
[email protected]