WineHQ

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:

  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