WineHQ

Wine Announcement

The Wine development release 8.3 is now available.

What's new in this release:
  - Support for the Low Fragmentation Heap.
  - Smard card support using PCSC-Lite.
  - Bundled Zydis library for more correct disassembly.
  - Various bug fixes.

The source is available at:

  https://dl.winehq.org/wine/source/8.x/wine-8.3.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 8.3 (total 29):

 - #24256  3D Sexvilla 2: extremely long loading times
 - #34011  Path of Exile stutters constantly
 - #37146  Untis 2015 (.NET 4.0 app) crashes on startup with Wine-Mono
 - #37495  Multiple PC/SC applications need winscard.SCardEstablishContext implementation (AusweisApp2 1.x german identity card app, SmartCard test apps, Seneka EBDYS client, Aruba Key)
 - #39113  Multiple PC/SC applications need winscard.SCardListReaders implementation (Aruba key, SmartCard test apps)
 - #43224  Freelist scan can result in O(n) time when allocating
 - #45756  Button not clickable when dpi setting changed in Office 2007 Installer
 - #49113  Wine heap performs badly when multiple threads are concurrently allocating or freeing memory
 - #51259  6.0.1 Introduces error causing Wavelab to close when loading presets
 - #52506  Setup of game "What's the Secret?" fails to create icon
 - #53094  ntdll:rtlstr test crashes on win32 arch with hi-IN locale
 - #53176  KeePassXC needs Windows.Security.Credentials.KeyCredentialManager (UWP)
 - #53504  Sacred:unhandled exception in Wine 7.14
 - #53728  Escape from Tarkov needs DisplayConfigGetDeviceInfo(DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME) implementation
 - #54112  rouvy : fails to update with server, unimplemented function bthprops.cpl.BluetoothRegisterForAuthenticationEx
 - #54149  shlwapi:ordinal - test_SHFormatDateTimeA() fails on the mixed locales configuration
 - #54338  Swift crashes due to unimplemented api-ms-win-core-realtime-l1-1-1.dll.QueryUnbiasedInterruptTimePrecise function
 - #54432  Missing ntdll.RtlAddressInSectionTable() implementation causes all GraalVM Native Image exes to crash on load
 - #54475  Hardwar UIM6.0 crashes in 8.0, doesn't in 6.0.3
 - #54534  dbghelp:dbghelp - The test_loaded_modules() enumeration fails on Windows 10 1607
 - #54559  riched20:editor - test_EM_GETSELTEXT() fails in the Hindi locale on Windows
 - #54562  The 64-bit oleaut32:usrmarshal crashes in Wine
 - #54564  Rich Edit crashes when Ctrl+Right is pressed at past the final paragraph
 - #54565  riched20:richole - subtest_InsertObject() fails in the Hindi locale on Windows
 - #54570  Saints Row: The Third heavy rain causes heavy fps reductions
 - #54581  SpeedCommander 20 installer crashes on unimplemented function SHELL32.dll.Shell_GetCachedImageIndexW
 - #54582  kernel32:locale - test_NLSVersion() fails on Windows 10 22H2
 - #54583  kernel32:locale - The non-breaking space GetNumberFormatEx() test fails on Windows 11
 - #54584  kernel32:locale - The NtGetNlsSectionPtr() test fails on Windows 11

----------------------------------------------------------------

Changes since 8.2:

Adrian Thiele (2):
      mfreadwrite/tests: Check refcount of device manager after release.
      mfreadwrite/reader: Release device manager in source_reader_release.

Akihiro Sagawa (1):
      msado15: Free recordset filter on close.

Alex Henrie (7):
      include: Annotate CommandLineToArgvW with __WINE_DEALLOC.
      shell32: Add support for Program Manager icons with arguments.
      dsound: Use CRT functions for memory allocation.
      winex11: Use RTL_CONSTANT_STRING instead of reimplementing it.
      winex11: Avoid calling RtlInitUnicodeString on a static constant.
      server: Annotate allocation functions with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
      ntoskrnl: Add ExGetPreviousMode and test.

Alexandre Julliard (33):
      conhost: Use standard va_list instead of __ms_va_list.
      notepad: Use standard va_list instead of __ms_va_list.
      oleview: Use standard va_list instead of __ms_va_list.
      start: Use standard va_list instead of __ms_va_list.
      taskmgr: Use standard va_list instead of __ms_va_list.
      winefile: Use standard va_list instead of __ms_va_list.
      include: Move __builtin_ms_va_list definitions to vadefs.h.
      ntdll: Pass the NtCreateNamedPipeFile disposition to the server.
      ntdll: Return the correct IOSB information when creating a named pipe.
      kernelbase: Set ERROR_ALREADY_EXISTS for existing pipe in CreateNamedPipeW().
      makedep: Don't add dependencies for tests of disabled dlls.
      kernel32/tests: Add a missing dependency comment.
      ntdll: Stop loading libwine.so.
      libwine: Remove obsolete library.
      ntdll: Build an initial WoW context on ARM64.
      ntdll: Implement getting/setting the WoW context on ARM64.
      ntdll: Mark the Wow64 TLS slots as reserved.
      makedep: Remove support for building shared libraries.
      winegcc: Stop using the deprecated prelink tool.
      winebuild: Only allow the stdcall calling convention for system calls.
      libs: Import the Zydis library version 4.0.0.
      winedbg: Use the Zydis library for disassembly.
      ntdll: Update the IOSB status in NtCreateNamedPipeFile().
      ntdll: Skip dependency only for the actually loaded ntdll and kernel32, instead of matching by name.
      ntdll: Also check for data execution on x86-64.
      wow64: Call the 32-bit KiRaiseUserExceptionDispatcher for invalid handle exceptions.
      makedep: Store the list of .ok files per-architecture.
      ntdll: Implement RtlAddProcessTrustLabelAce().
      server: Fix another buffer overflow compiler warning.
      wine.inf: Remove redundant platform-specific sections.
      wine.inf: Set Program Files variables separately for all WoW platforms.
      wine.inf: Add keys for the platform-specific Wow64 backend.
      wow64: Get the backend dll name from the registry.

Alexandros Frantzis (2):
      gdi32: Track ticks since draw start per window_surface.
      win32u: Reset draw_start_ticks for new window_surface.

Alistair Leslie-Hughes (4):
      msado15: Semi-stub _Recordset get/put Filter.
      msado15: Field ActualSize return a default size.
      msado15: Support "Optimize" in Properties get_Item.
      include: Add DBCOLUMNFLAGS_ enums values.

Connor McAdams (14):
      uiautomationcore: Register all UI Automation typelibs.
      uiautomationcore: Add stub IUIAutomation implementation.
      uiautomationcore: Implement IUIAutomation::ElementFromHandle.
      uiautomationcore: Implement IUIAutomationElement::GetCurrentPropertyValueEx.
      uiautomationcore: Implement UiaLookupId for AutomationIdentifierType_ControlType GUIDs.
      uiautomationcore: Implement IUIAutomationElement::get_CurrentControlType.
      uiautomationcore: Implement IUIAutomationElement::get_CurrentName.
      uiautomationcore: Implement IUIAutomationElement::get_CurrentBoundingRectangle.
      uiautomationcore/tests: Fix UiaHUiaNodeFromVariant tests on Windows 11.
      uiautomationcore/tests: Fix UiaNodeFromHandle tests on Windows 11.
      uiautomationcore: Implement IUIAutomation::IntSafeArrayToNativeArray.
      uiautomationcore: Implement IUIAutomation::IntNativeArrayToSafeArray.
      uiautomationcore: Implement IUIAutomation reserved value retrieval methods.
      uiautomationcore: Implement IUIAutomation::CheckNotSupported.

David Gow (1):
      dxgi: Don't warn on DXGI_ALPHA_MODE_UNSPECIFIED with wined3d.

Eric Pouech (11):
      dbghelp/tests: Test that overlapped module is really unloaded.
      include: Ensure that SymRefreshModuleList() is properly defined.
      kernel32/tests: Don't let debugger tests fail on a 64bit only config.
      dbghelp/tests: Fix failure on Win10 1607.
      kernel32/tests: Fix debugger.c:test_kill_on_exit().
      dbghelp/tests: Add wrapper for EnumerateLoadedModulesW64().
      dbghelp/tests: Adapt test_modules_overlap() for Windows 11.
      dbghelp/tests: Introduce ends_withW helper.
      dbghelp/tests: Only retrieve the system directories once.
      dbghelp/tests: Introduce get_machine_bitness() helper.
      dbghelp/tests: Fix tests for process count in wow64.

Etaash Mathamsetty (1):
      ntoskrnl.exe/tests: Add Driver Object Extension Tests.

Florian Will (2):
      gdiplus/tests: Test for GdipPrivateAddFontFile() sharing violation.
      gdiplus: Use FILE_SHARE_READ in GdipPrivateAddFontFile().

François Gouget (20):
      jsproxy/tests: InternetInitializeAutoProxyDll() is no longer supported on Windows 11.
      jsproxy/tests: Add more tests for InternetGetProxyInfo()'s length parameter.
      gdi32/tests: Mark a couple other D3DKMTCheckOcclusion() tests as flaky.
      vbscript/tests: Fix the testChrError() tests.
      winmm/tests: Ignore spurious WM_DWMCOLORIZATIONCOLORCHANGED messages.
      mscoree/tests: Trace the error when a Windows API fails.
      kernel32/tests: Fix the NLSVersion test on Windows 10 22H2.
      kernel32/tests: Fix the NtGetNlsSectionPtr() test on Windows 11.
      kernel32/tests: Fix the French GetNumberFormatEx() test on Windows 11.
      gdi32/tests: Simplify setting up the non uniform gamma ramps.
      gdi32/tests: Make the gamma ramp failures more unique.
      gdi32/tests: Fix the SetDeviceGammaRamp() tests on Windows 10 1909.
      mscoree/tests: Trace the GetExitCodeProcess() error before it gets lost.
      ntdll/tests: Minimize the stack size for test_tp_multi_wait().
      riched32/tests: EM_GETSELTEXT's wparam is not used and should be 0.
      riched20/tests: EM_GETSELTEXT's wparam is not used and should be 0.
      riched20/tests: Fix the EM_GETSELTEXT tests in Hindi on Windows.
      mmdevapi/tests: WoW64 processes can read the properties from the registry.
      shlwapi/tests: Fix the date formatting tests when the locale does not match the code page.
      shlwapi/tests: Make sure to test the formatting of troublesome dates.

Gabriel Ivăncescu (8):
      mshtml: Use proper types for readystate_locked and readystate_pending.
      mshtml: Free the task after the destructor.
      mshtml: Pass optional args to XMLHttpRequest.open() correctly.
      mshtml: Register all event handlers when creating the XMLHttpRequest.
      mshtml: Track readyState in XHRs and report it manually.
      mshtml: Add separate task list for tasks dispatching events.
      mshtml: Implement synchronous XMLHttpRequest.
      mshtml: Send all readystatechange events for synchronous XHRs in IE9 and below.

Gijs Vermeulen (1):
      shell32: Add Shell_GetCachedImageIndexA/W exports.

Hans Leidekker (19):
      include: Add missing smart card defines.
      winscard: Implement SCardEstablish/ReleaseContext() on top of libpcsclite.
      winscard: Implement SCardIsValidContext().
      winscard: Implement SCardGetStatusChangeA/W().
      winscard: Implement SCardCancel().
      winscard: Implement SCardListReadersA/W().
      winscard: Implement SCardListReaderGroupsA/W().
      winscard: Implement SCardConnectA/W().
      winscard: Implement SCardStatusA/W().
      winscard: Implement SCardRe/Disconnect().
      winscard: Implement SCardBegin/EndTransaction().
      winscard: Implement SCardTransmit().
      winscard: Implement SCardControl().
      winscard: Implement SCardGet/SetAttrib().
      winscard: Implement SCardFreeMemory().
      winscard: Use string conversion helpers in SCardAddReaderToGroupA().
      winscard: Improve traces.
      winscard: Add wow64 thunks.
      winscard/tests: Initial tests.

Henry Goffin (1):
      win32u: Invalidate all cached keys after input.

Huw D. M. Davies (2):
      winemac: Fix return type of ProcessEvents().
      maintainers: Add myself to the Audio I/O section.

Illia Polishchuk (2):
      d3d9/tests: Add test for non-indexed instancing drawing.
      d3d9: Always draw only a single instance for non-indexed draws.

Ivan Chikish (1):
      gdi32/tests: Check last error on ' '.

Jinoh Kang (2):
      riched20/tests: Test for word movement across paragraph boundary.
      riched20: Don't set para unless committing cursor move in ME_MoveCursorWords.

Marcus Meissner (1):
      user32/tests: Fix size passed to ToUnicode.

Max Figura (15):
      wined3d: Move the WINED3D_RS_ROP2 stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_PLANEMASK stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_LASTPIXEL stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_ZVISIBLE stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_SUBPIXEL stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_SUBPIXELX stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_STIPPLEDALPHA stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_STIPPLEENABLE stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_MIPMAPLODBIAS stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_ANISOTROPY stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_FLUSHBATCH stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_TRANSLUCENTSORTINDEPENDENT stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_WRAP15 stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_WRAP14 stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_WRAP13 stub to wined3d_device_apply_stateblock.

Mohamad Al-Jaf (15):
      bthprops.cpl: Move implementations to bluetoothapis and import them.
      include: Add BluetoothRegisterForAuthenticationEx prototype.
      bluetoothapis: Add BluetoothRegisterForAuthenticationEx stub.
      bluetoothapis: Add BluetoothUnregisterAuthentication stub.
      include: Fix BluetoothRegisterForAuthentication prototype.
      include: Add windows.security.credentials.idl file.
      cryptowinrt/tests: Add ICryptographicBufferStatics interface test.
      cryptowinrt: Add private.h file.
      cryptowinrt: Stub IKeyCredentialManagerStatics interface.
      cryptowinrt: Import IAsyncOperation from windows.gaming.input.
      cryptowinrt: Implement IKeyCredentialManagerStatics::IsSupportedAsync().
      cryptowinrt/tests: Add IKeyCredentialManagerStatics::IsSupportedAsync() tests.
      widl: Use "i4" / "u4" for LONG parameterized type signature.
      widl: Use "i2" / "u2" for INT16 parameterized type signature.
      include: Add more Windows.Foundation.Numerics structs.

Paul Gofman (3):
      server: Retry socket connection on ECONNABORTED error.
      server: Set TCP SYN count on sockets.
      win32u: Expose and use ProcessEvents from drivers instead of MsgWaitForMultipleObjectsEx.

Philip Gruebele (1):
      dwrite: Pass correct font key when adding glyph to cache.

Piotr Caban (4):
      winspool: Fix FILE: output handling in StartDocDlgW.
      wineps: Remove no longer used output parameter handling from PSDRV_CreateDC.
      localspl: Ignore an empty output string.
      windowscodecs: Don't reorder gif extension blocks in GetReaderByIndex.

Rémi Bernon (23):
      ntdll: Fix HeapWalk with empty uncommitted consecutive subheaps.
      ntdll: Implement HeapCompatibilityInformation.
      ntdll: Increase heap block tail_size capacity to 16 bits.
      ntdll: Count allocations and automatically enable LFH.
      ntdll: Split heap_resize_block into heap_resize_(block|large) helpers.
      ntdll: Implement Low Fragmentation Heap frontend.
      ntdll: Use atomics and lock-free list for bin groups.
      ntdll: Add a heap thread affinity and per-affinity bin group cache.
      ntdll: Avoid shrinking large heap block to small block.
      msvcr80/tests: Test _dupenv_s outcome with missing env var.
      msvcr80/tests: Test _wdupenv_s outcome with missing env var.
      msvcrt: Fix _dupenv_s behavior with missing env var.
      msvcrt: Fix _wdupenv_s behavior with missing env var.
      include: Allow overriding LANGID in module VERSIONINFO.
      oleaut32/tests: Test VARIANT_UserUnmarshal allocation sizes.
      oleaut32: Allocate a full pointer when unmarshalling byref arrays.
      winex11: Assume that Xkb extension is available.
      widl: Use "g16" for GUID parameterized type signature.
      user32/tests: Test VK_MENU effect on ToUnicode.
      win32u: Map VK_MENU / KBDALT in kbdus_tables pCharModifiers.
      win32u: Return the current display mode depth with nulldrv.
      explorer: Use GUID_NULL display device GUID for nulldrv.
      win32u: Check GUID_NULL display device if desktop atom is missing.

Serkan Önder (1):
      po: Update Turkish translation.

Sven Baars (3):
      bcrypt: Factor out wow64 padding conversion.
      bcrypt: Add wow64 support for PSS padding.
      bcrypt: Remove unused fields from struct key_asymmetric32.

Tingzhong Luo (2):
      evr: Fix crash when clearing input type for the mixer.
      winspool: Check dmSize in IsValidDevmodeW().

Torge Matthies (4):
      kernelbase: Break out of inner for-loop early in find_substring.
      kernelbase: Reuse the previous iteration's pos and sortkey state if possible in find_substring.
      kernelbase: Fix WaitForThreadpoolIoCallbacks spec entry.
      kernel32: Fix WaitForThreadpoolIoCallbacks spec entry.

Zebediah Figura (16):
      user32: Map DEV_BROADCAST_DEVICEINTERFACE to ANSI for registered device notifications.
      ntoskrnl/tests: Expand tests for device and interface naming.
      ntoskrnl: Preserve the device instance ID case in IoRegisterDeviceInterface().
      Revert "ntoskrnl.exe: Enforce path case in WM_DEVICECHANGE notifications.".
      wined3d: Require fragment shader image stores and atomics to create a feature level 11.0 device.
      wined3d: Require gather offset support to create a feature level 11.0 device.
      wined3d: Require shader clip distance support to create a feature level 10.0 device.
      wined3d: Require shader cull distance support to create a feature level 10.0 device.
      wined3d: Disable 64-bit integer support.
      ddraw/tests: Test that surface properties are retained across SetSurfaceDesc() calls.
      ddraw/tests: Add more tests for mipmap surface creation flags.
      ddraw: Forbid DDSCAPS_COMPLEX without any caps that merit a complex surface.
      ddraw: Forbid DDSD_MIPMAPCOUNT without DDSCAPS_COMPLEX.
      ddraw: Remove the redundant "desc" parameter to ddraw_surface_create_wined3d_texture().
      d3d8/tests: Do not check for WM_MOVE in sc_maximize_messages.
      d3d9/tests: Restore the focus window before sending SC_MAXIMIZE to it.

Zhiyi Zhang (4):
      include: Add DirectComposition error codes.
      include: Add dcomptypes.idl.
      include: Add dcompanimation.idl.
      include: Add dcomp.idl.

Ziqing Hui (4):
      mf/tests: Add missing \n.
      mf/tests: Correctly initialize DMO media type.
      mf/tests: Test ProcessInput and ProcessOutput for WMV decoder DMO.
      mf/tests: Test output data for WMV decoder DMO.