The Wine development release 8.1 is now available.
What's new in this release: - Windows version set to Windows 10 for new prefixes. - Many code cleanups that were deferred during code freeze. - Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.1.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.1 (total 27):
- #43235 Dungeons & Dragons Online crashes on FreeBSD - #44650 Multiple Blizzard games need dxgi and d3d11 dlls mapped without hole between two LOAD segments (Diablo III v2. 6. 1. 49286+, World of Warcraft, Overwatch) - #47508 FL Studio: Pressing backspace while editing the name of something closes edit name window prematurely - #49202 Never exited critical section in freetype.c - #49443 Anno 1800: Super slow & bad performance - #49615 Device read errors logged in dmesg when running wine commands with empty CD/DVD drive, since 5.5 - #51040 msi:package fails on Windows 10 if privileges not high enough - #51313 gdi32:driver sometimes fails with a STATUS_GRAPHICS_PRESENT_OCCLUDED error - #51784 The dinput8:hid output is too big in Wine - #52354 winemac.drv not functional on non metal GPUs - #52462 Wine don't recognize Ipega PG-9025 LT, RT and right analog stick is miss-mapped to RT and LT - #52878 Free PC Audit 5.1.211.96 fails to show info in 'Brief' tab (needs GetBinaryValue method of the StdRegProv class) - #52936 winhttp:url assumes 0xfb00 cannot be converted to the ANSI codepage, fails with UTF-8 codepage - #53142 ieframe:webbrowser - test_ClientSite() has a rare failure on Windows 10 1809+ - #53274 adsldp:ldap - test_ParseDisplayName() sometimes fails to connect to the server - #53386 cmd.exe: FOR /F USEBACKQ doesn't handle UTF-16 output of commands. - #53594 GOG Galaxy crashes in GetExtendedTcpTable() - #53666 Logitech X-56 Stick crashes the joystick subsystem if connected - #54030 Snagit needs Win32_Volume class ( 'select deviceid from win32_volume where driveletter =C:') - #54215 ListView doesn't refresh when changing between List and Details styles. - #54289 RtlCopyContext buffer overflow - #54328 nsi:nsi - test_tcp_tables() sometimes crashes in Wine - #54337 AviUtl shows Japanese text as garbage after conversion in ExEdit edit box - #54353 crypt32:cert - testVerifyRevocation() gets unexpected success in Wine on second run - #54357 Spurious fixme message when calling ScrollWindow() - #54364 RtlGenRandom fails on systems with more than 128 cores - #54376 ws2_32:sock - test_reuseaddr() overflows a sockaddr variable by reading an AF_INET6 peer name into it
----------------------------------------------------------------
Changes since 8.0:
Ake Rehnman (1): dbghelp: Store path to module image when passed through file handle.
Akihiro Sagawa (2): user32/tests: Add DBCS WM_CHAR tests for edit control. user32/edit: Fix WM_CHAR handler for double-byte characters.
Alex Henrie (23): include: Add RTL_CONSTANT_STRING. dwrite: Handle memory allocation failure in bidi_compute_bracket_pairs (cppcheck). winex11: Simplify confusing condition and error messages in wglShareLists. winspool: Improve the grammar of a comment in get_servername_from_name. msi: Fix memory leak on realloc failure in create_diff_row_query (cppcheck). msi: Fix memory leak on realloc failure in msi_get_window_text (cppcheck). msi: Fix memory leak on realloc failure in search_directory (cppcheck). mshtml: Handle memory allocation failure in set_statustext. twain_32: Handle realloc failure in twain_add_onedriver (cppcheck). dbghelp: Handle memory allocation failure in image_locate_build_id_target (cppcheck). hhctrl: Handle memory allocation failure in ReadChmSystem (cppcheck). hhctrl: Handle memory allocation failure in SearchCHM_File (cppcheck). inetcomm: Fix memory leak on realloc failure in copy_headers_to_buf (cppcheck). msvcrt: Change return type of _ctime32_s and _ctime64_s to errno_t. include: Add ctime_s. include: Add localtime_s. shell32: Handle memory allocation failure in Dde_OnRequest (cppcheck). shell32: Handle memory allocation failure in parse_dde_command (cppcheck). include: Remove __WINE_MALLOC from functions that shouldn't have it. appwiz: Fix memory leak on realloc failure in install_from_registered_dir (cppcheck). winex11: Fix memory leak on realloc failure in import_xdnd_selection (cppcheck). server: Fix buffer overrun in map_view handler. urlmon: Use the _recalloc function instead of reimplementing it.
Alexandre Julliard (20): krnl386: Make MapLS argument non-const to avoid some compiler warnings. krnl386: Remove a trace that causes compiler warnings. shell32: Allocate a full SHITEMID to avoid a compiler warning. tools: Add a common helper to get the argv0 directory. tools: Add a common helper to cleanup temp files. tools: Move signal masking to the common make_temp_file() helper. tools: Add a common helper to setup signal handlers. shell32: Allocate the right size for an ITEMIDLIST. scrobj: Initialize a variable to silence a compiler warning. ntdll: Initialize a variable to silence a compiler warning. ntdll: Prefer the ntdll path over argv[0] on platforms without reliable exe information. user32: Copy directly to the buffer in unpack_message(). shlwapi/tests: Don't write uninitialized data. gdiplus: Initialize a variable to avoid a spurious compiler warning. ole32/tests: Raise an exception instead of accessing a bad pointer directly. makedep: Don't output rules for disabled modules. tools: Make sure that config.h is included. include: Add some C99 floating point comparison macros. wow64cpu: Move base address to leave more room for wow64.dll. kernelbase: Report correct errors in GetModuleHandleExA().
Alistair Leslie-Hughes (5): mountmgr.sys: Don't attempt to read from invalid media. include: Add _XHR enum values. include: Add D3DKMT_ENUMADAPTERS2 structure. secur32: QueryContextAttributesW check for valid object before use. secur32: Trace fContextReq consistently.
Bernhard Kölbl (12): windows.media.speech: Move constraints vector to the recognition session. windows.media.speech: Do not force calling convention on internal callbacks. windows.media.speech: Return IAsyncAction from session_StopAsync. windows.media.speech: Return IAsyncAction from session_PauseAsync. windows.media.speech/tests: Test the recognizer state. windows.media.speech/tests: Test starting, stopping, pausing and resuming the recognition session. windows.media.speech: Add a worker thread to the recognition session. windows.media.speech/tests: Check if stopping the session resets the paused state. windows.media.speech: Allow the recognition session worker to be paused. windows.media.speech: Add an audio capturing system. windows.media.speech: Partially implement the speech recognizer state. windows.media.speech: Store recorded audio in a temporary ringbuffer.
Brendan Shanks (7): include/msvcrt: Add __WINE_(DEALLOC|MALLOC) attributes to _strdup and _wcsdup. include/msvcrt: Add __WINE_(ALLOC_SIZE|DEALLOC|MALLOC) attributes to _aligned_malloc functions. include/msvcrt: Add __WINE_(ALLOC_SIZE|DEALLOC) attributes to _recalloc. taskmgr: Use exit code 1 when terminating processes. taskkill: Use exit code 1 when terminating processes. ntdll: Add stub for NtQueryInformationProcess(ProcessCycleTime). kernelbase: Implement and add tests for QueryProcessCycleTime.
Eric Pouech (20): dbghelp: Don't search path when we have a file handle to loaded image. winedbg: Pass loaded image's file handle to dbghelp. dbghelp: Expose the real path to the module in SymGetModuleInfo*(). dbghelp: In dwarf debug info, use the same name of anonymous UDT as pdb. dbghelp: Don't use dbghelp_current_cpu. winedbg: Use debuggee's bitness for 'examine /a' command. conhost.exe: Handle ctrl-pause/break key strokes. conhost.exe: Handle ctrl-\ in Wine. winedbg: Track loaded modules. winedbg: Fix read access to variables with thread local storage. include: Be consistent in naming regarding MSF's block. include: Update some fields in PDB headers. include: Consistenly use _size to name the size of a sub-block. include: Use stream to denote MSF stream/file. winedump: Introduce a helper to print PE section's characteristics. winedump: Correctly dump PDB_STREAM_INDEX.segment. winedump: Explain a bit more errors on hash header. winedump: Dump correctly ranges part of DBI stream. winedump: Properly dump segment map information from PDB/DBI stream. winedump: Be stricter about sizes while walking module's list.
Evan Tang (6): mshtml: Implement IHTMLRect2 for HTMLRect. ntdll: TlsIndex should not actually contain tls indices. secur32: Schannel AcceptSecurityContext support. secur32: Share code for schannel Acquire and AcceptCredentialsHandle. secur32: Fix schannel AcquireCredentialsHandle algorithm mismatch error return. secur32: Add test for schannel AcceptSecurityContext.
Fabian Maurer (7): user32/tests: Don't assign const variable to other const (gcc 4.7). wldap32: Free resource in error case and return error code (Coverity). wldap32: Set error code in error cases (Coverity). d2d1_1: Don't redefine D2D1_PROPERTY_BINDING (gcc 4.3). d3dx10core: Don't redefine ID3D10Device1 (gcc 4.3). winedump: Prevent "format overflow" warning. dwrite/tests: Prevent "misleading indentation" warnings.
François Gouget (5): user32: GetClipboardData() should set last error when the format is not found. user32/tests: Use wine_dbgstr_an() to trace malformed Unicode strings. user32: Fix a SetClipboardData() underflow and improve the tests. user32: Fix a SetClipboardData() buffer overflow. d3d12/tests: Don't check the refcount after releasing the dxgi adapter.
Gabriel Ivăncescu (20): mshtml: Don't release the frame returned by get_frame_by_name. mshtml: Don't hold ref to the created window in the FrameBase. mshtml: Release the image factory's dispex. mshtml: Don't initialize HTMLElement dispex for Option constructor. mshtml/tests: Fix EventObj leak in onclick test. mshtml/tests: Fix window leaks in dom tests. mshtml: Implement location props when there's no URI. mshtml: Defer populating the IActiveScript field until it's fully initialized. mshtml: Set SCRIPTPROP_ABBREVIATE_GLOBALNAME_RESOLUTION properly. jscript: Implement SID_GetCaller for QueryService. vbscript: Add a ServiceProvider stub. vbscript: Implement SID_GetCaller for QueryService. include/mshtml: Add the other IHTMLEventObj* interfaces. mshtml: Use Scrollbar_Auto as default for vertical scrollbars. jscript: Pass the correct ServiceProvider when invoking external prop. mshtml: Return undefined from window.XMLHttpRequest for uninitialized documents. mshtml: Traverse and unlink builtin func disps. mshtml: Simplify dynamic props unlinking. mshtml: Tie window.location to the outer window. mshtml: Embed the HTMLLocation into the outer window.
Georg Lehmann (1): winevulkan: Update to VK spec version 1.3.240.
Gerald Pfeifer (2): localspl: Avoid uninitialized variable in fill_builtin_form_info. tools: Include limits.h for PATH_MAX.
Hans Leidekker (22): advapi32: Bump random buffer size. dplayx/tests: Skip tests when the dll is missing. wbemprox: Implement Win32_Volume. wbemprox: Implement GetBinaryValue() method. wbemprox: Remove reg_ prefix from static functions. winhttp/tests: Fix test failures with the UTF-8 code page. adsldp/tests: Avoid test failures when the server is down. ntdll/tests: Mark more Windows 11 test failures as broken. ntdll/tests: Fix path test failures on Windows 11. ntdll/tests: Fix some Wow64 test failures on Windows 11. gdi32/tests: Mark another D3DKMTCheckOcclusion() test as flaky. ws2_32/tests: Fix some test failures on Windows 11. ws2_32/tests: Skip adapters that aren't up and running in test_bind(). ntdll: Add Windows 11 version. ntdll: Default to Windows 10. winecfg: Fix CurrentVersion registry string for Windows 10 and up. msi/tests: Avoid test failures when running with insufficient rights. msi: Install and patch global assemblies in InstallFinalize. msi: Perform late initialization of the assembly caches. msi: Remove msi_ prefix from static functions. msi: Get rid of unnecessary typedefs. wbemprox: Recognize Windows 11.
Huw D. M. Davies (1): winebuild: Reorder the includes to avoid a build error on macOS.
Jacek Caban (2): win32u: Silence spurious FIXME in NtUserScrollWindowEx. ieframe/tests: Relax session count test.
James McDonnell (1): kernel32: Use MoveFileWithProgress() to partially implement MoveFileTransacted(),
Jinoh Kang (9): ntoskrnl.exe/tests: Use loopback address in test_wsk_listen_socket. riched20: Obtain the composition start index after deleting selection. ntdll: Check for delayed free block in heap_validate_ptr. ntdll: Validate subheap's owner heap when validating heap. ntdll: Validate blocks in the heap pending free request list. ntdll: Remove redundant WARN_ON(heap) check. ws2_32/test: Fix sockaddr buffer overflow in test_reuseaddr. include: Add noreturn attribute to RtlRaiseStatus. include/msvcrt: Add noreturn attribute to _assert.
Joshua Ashton (1): winevulkan: Enable VK_EXT_hdr_metadata.
K.B.Dharun Krishna (1): po: Update Tamil translation.
Kacper Michajłow (1): include: Add some DXGI_COLOR_SPACE_TYPE enumeration values.
Mohamad Al-Jaf (5): include: Add windows.system.profile.systemmanufacturers.idl file. windows.system.profile.systemmanufacturers: Add stub DLL. windows.system.profile.systemmanufacturers: Stub ISmbiosInformationStatics interface. windows.system.profile.systemmanufacturers/tests: Add ISmbiosInformationStatics_get_SerialNumber tests. windows.system.profile.systemmanufacturers: Implement ISmbiosInformationStatics_get_SerialNumber.
Nikolay Sivov (11): include: Add recent DirectWrite API changes. windows.globalization: Implement ILanguage::get_LanguageTag(). comctl32/header: Do not touch 'hwnd' field in HDM_LAYOUT. ktmw32: Use syscall interface for transaction objects stubs. propsys: Add InitPropVariantFromStringVector(). d3dx9/preshader: Set input table size for texture shaders. d3dx9: Create parameter evaluator for texture shaders. d3dx9: Partially implement D3DXFillTextureTX(). d3dx9/tests: Add a helper to compare filled cube textures. d3dx9: Fix ARGB texture fills with negative component values. d3dx9: Partially implement D3DXFillCubeTextureTX().
Paul Gofman (14): ntdll/tests: Fix the case of absent XSTATE context in test_copy_context(). ntdll/tests: Fix xstate tests failing on modern Windows and CPUs with more xstate features. ntdll/tests: Fix random test failure in test_restore_context(). ntdll: Factor out context_copy_ranges() function. ntdll: Do not use extended context in RtlCopyContext() if extended state is not copied. ddraw: Do not report D3DDEVCAPS_HWRASTERIZATION for RGB emulation device. ntdll: Use MemAvailable field for free RAM estimation if available. cryptnet: Cache revocation status in verify_cert_revocation(). cryptnet: Use cert data hash as cache id instead of serial number. cryptnet: Also hash issuer cert for cache id. msmpeg2vdec: Add stub dll. msauddecmft: Add stub dll. ntdll: Add stub for NtQueryInformationProcess( ProcessHandleTable ). ws2_32: Provide same address order from gethostbyname() on consequent calls.
Robert Wilhelm (2): vbscript: Return type mismatch for UBound(Empty) and UBound(NULL). vbscript: Return type mismatch for LBound(Empty) and LBound(NULL).
Rémi Bernon (57): sechost: Use heap_strdup_multi_AtoW for dependencies in CreateServiceA. services: Use a separate allocation for NotifyParamsArray[0].params. dwrite: Statically init the system_fallback locale list. schedsvc: Avoid mismatching heap in SchRpcEnumFolders. schedsvc: Avoid mismatching heap in SchRpcEnumTasks. schedsvc: Avoid mismatching heap in RPC allocations. schedsvc: Use CRT allocation functions in remaining calls. dinput: Avoid sending envelope report if it has been removed. windows.gaming.input: Fix infinite effect duration scaling. windows.gaming.input: Introduce new effect_reorient_direction helper. windows.gaming.input: Fix magnitude sign for constant and ramp effects. hidp: Allow match all usages on specific functions only. oledb32: Fix error info cleanup dispparams rgvarg index. oledb32/tests: Avoid use-after-free and unused assignment. dinput: Remove outdated and superfluous comments. dinput: Add traces to the ANSI wrappers. dinput: Remove unnecessary initialization helpers. dinput: Move dinput class implementation to dinput.c. dinput: Rename lpdid local variable to device. include: Add Windows.Foundation.Collections.IVectorChangedEventArgs definition. include: Add Windows.Foundation.Collections.IMapChangedEventArgs<T> definition. include: Add Windows.Foundation.Collections.MapChangedEventHandler<K, V> definition. include: Add Windows.Foundation.Collections.IMap<K, V> definition. include: Add Windows.Foundation.Collections.IObservableMap<K, V> definition. include: Add Windows.Foundation.Collections.IPropertySet definition. include: Add Windows.Foundation.Collections.IObservableVector<T> definition. include: Add Windows.Foundation.IAsyncActionWithProgress<TProgress> definition. include: Add Windows.Foundation.IAsyncOperationWithProgress<TResult, TProgress> definition. dinput: Use an internal refcount on all dinput devices. dinput: Introduce a new struct to keep input thread state. dinput: Introduce new input_thread_update_device_list helper. dinput: Keep an internal refcount for dinput devices references. dinput: Keep a reference on acquired devices while waiting. dinput: Update the input thread device list when notified only. dinput: Update the device status while holding its CS. dinput: Cleanup low-level hooks on input thread exit. dinput: Introduce new dinput_unacquire_window_devices helper. dinput: Unacquire all devices on internal thread error. dinput: Keep track of input thread users using public refcounts. gitlab: Run dinput 64-bit tests in a dedicated job. dinput/tests: Dynamically allocate async operation handlers. dinput: Move window hook checks to input_thread_update_device_list. dinput: Move rawinput registration to input_thread_update_device_list. dinput: Move di_em_win_wndproc function around. dinput: Use SendMessageW to notify and stop input thread. dinput: Avoid entering hook CS for rawinput messages. include: Declare some NtUser pointer related syscalls. win32u: Move NtUserEnableMouseInPointer from user32. win32u: Stub NtUserIsMouseInPointerEnabled syscall. win32u: Stub NtUserGetPointerInfoList syscall. win32u/tests: Test NtUserEnableMouseInPointer syscall. win32u/tests: Test NtUserIsMouseInPointerEnabled syscall. win32u/tests: Test NtUserGetPointerInfoList syscall signature. comctl32/tests: Test unicode nature of window subclasses. comctl32: Save unicode window nature on SetWindowSubclass call. comctl32: Always use unicode messages for subclass procedures. comctl32: Skip restoring window proc if it has been modified.
Santino Mazza (3): mshtml/tests: Test for get_all and get_body in document fragments. mshtml: Use This->node for HTMLDocument_get_all. mshtml: Implement HTMLDocument_get_body for document fragments.
Shaun Ren (3): winegstreamer: Parse all tag events in query_tags. winegstreamer: Map MF_SD_LANGUAGE to ISO 639-1 for QuickTime media. mfplay/tests: Add tests for MF_SD_LANGUAGE.
Zebediah Figura (31): d3d11/tests: Add a basic test for vertex formats. d3d10core/tests: Add a basic test for vertex formats. wined3d: Separate a parse_channel_desc() helper. wined3d: Use a string channel desc to initialize typed formats. rpcrt4: Use a CONTAINING_RECORD helper to retrieve CStdStubBuffer from IRpcStubBuffer. rpcrt4: Use a CONTAINING_RECORD helper to retrieve CInterfaceStubHeader from CStdStubBuffer. rpcrt4: Rename "ref_counted_vtbl" to "struct delegating_vtbl". rpcrt4: Use a flexible array member in struct delegating_vtbl. rpcrt4: Use CONTAINING_RECORD in release_delegating_vtbl(). win32u: Make call_messageAtoW() static. win32u: Make the global "caret" structure static. win32u: Make create_brush() hidden. win32u: Make draw_frame_caption() static. win32u: Make draw_scroll_bar() static. win32u: Make DrawTextW() hidden. win32u: Make get_winproc_ptr() static. win32u: Make ImmProcessKey() hidden. win32u: Make ImmTranslateMessage() hidden. win32u: Make is_child() hidden. ntdll: Make fd_set_file_info() static. ntdll: Make call_user_mode_callback() hidden. ntdll: Make user_mode_callback_return() hidden. ntdll: Make __wine_syscall_dispatcher_prolog_end() hidden on x86_64. ntdll: Make __wine_unix_call_dispatcher_prolog_end() hidden on x86_64. win32u: Make send_message_timeout() hidden. win32u: Make set_visible_region() hidden. winex11: Make client_foreign_window_proc hidden. winex11: Include x11drv.h in xrandr.c even if compiling without xrandr. winepulse: Include mult.c in pulse.c. include: Fix the definition of DIFXAPILOGCALLBACK_* functions. include: Add more definitions to difxapi.h.
Zhiyi Zhang (4): comctl32/tests: Add WM_STYLECHANGED tests for changing listview view styles. comctl32/listview: Repaint when changing view styles. include: Add uiviewsettingsinterop.idl. opengl32/tests: Make context current before calling wglCopyContext().