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.