diff --git a/ANNOUNCE b/ANNOUNCE index e7538c24c41..d5dd758e303 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,14 +1,13 @@ -The Wine team is proud to announce that the stable release Wine 8.0 -is now available. +The Wine development release 8.1 is now available. -This release represents a year of development effort and over 8,600 -individual changes. It contains a large number of improvements that -are listed in the release notes below. The main achievement is the -completion of the conversion to PE format. +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.0/wine-8.0.tar.xz + https://dl.winehq.org/wine/source/8.x/wine-8.1.tar.xz Binary packages for various distributions will be available from: @@ -24,336 +23,397 @@ AUTHORS in the distribution for the complete list. ---------------------------------------------------------------- -What's new in Wine 8.0 -====================== - -*** PE modules - -- After 4 years of work, the PE conversion is finally complete: all modules can - be built in PE format. This is an important milestone on the road to supporting - various features such as copy protection, 32-bit applications on 64-bit hosts, - Windows debuggers, x86 applications on ARM, etc. - However, some modules still perform direct calls between the PE and the Unix - part, instead of going through the NT system call interface. The remaining - direct calls will be removed during the Wine 8.x development phase. - -- A special syscall dispatcher is used for PE -> Unix transitions, to avoid the - overhead of a full NT system call. This minimizes the performance impact of the - new architecture, in particular for the OpenGL and Vulkan libraries. - -- Building mixed Windows/Unix libraries in ELF format (.dll.so libraries) is - still supported for use in Winelib applications. However, such applications - won't support features enabled by the NT syscall interface, such as WoW64 - without 32-bit libraries. - - -*** WoW64 - -- WoW64 thunks are implemented for essentially all Unix libraries, enabling a - 32-bit PE module to call a 64-bit Unix library. Once the remaining direct - PE/Unix calls have been removed, this will make it fully possible to run - 32-bit Windows applications without any 32-bit Unix library. - -- When the 32-bit Wine loader isn't found, 32-bit applications are started in - the new experimental "Windows-like" WoW64 mode (where 32-bit code runs inside - a 64-bit host process). This mode can be enabled by building with the - '--enable-archs' configure option. This is still under development and not yet - recommended for general use. Since in case of configuration errors it is - possible for it to be triggered inadvertently, applications started in this - mode print the warning "starting in experimental wow64 mode". - - -*** Graphics - -- The "Light" theme is enabled in the default configuration, for a more modern - look. Other themes can still be configured through WineCfg. - -- The graphics drivers (winex11.drv, winemac.drv, wineandroid.drv) are converted - to run on the Unix side of the syscall boundary, and interface with the Unix - side of the Win32u library. - -- The Print Processor architecture is implemented. This will be used to avoid - direct PE<->Unix calls in the printer driver. - -- Effects are supported in Direct2D, including description parsing and a number - of core objects. - -- Command lists recording and playback are implemented in Direct2D. - -- The Vulkan driver supports up to version 1.3.237 of the Vulkan spec. - - -*** Direct3D - -- Many optimizations related to streaming map acceleration are implemented, in - common code as well as in the GL renderer. Depending on the application, this - may result in major performance improvements. - -- Adapter video memory budget change notifications are implemented. - -- The Vulkan renderer supports setting multiple viewports and scissor rectangles. - -- Several Direct3D 10 and 11 features, which were already implemented, are - accurately reported through capability flags: - - Per-format support for vertex and index buffers. - - Per-format support for all capabilities via D3D11_FEATURE_FORMAT_SUPPORT. - - No-overwrite maps on shader resources and constant buffers. - - Partial range binding of constant buffers. - -- For convenience, a new WINE_D3D_CONFIG environment variable may be used instead - of modifying the HKEY_CURRENT_USER\Software\Wine\Direct3D registry key. The - value is a comma- or semicolon-separated list of key-value pairs, e.g.: - - WINE_D3D_CONFIG="renderer=vulkan;VideoPciVendorID=0xc0de" - - If an individual setting is specified in both the environment variable and the - registry, the former takes precedence. - -- The Direct3D graphics card database recognizes more graphics cards. - -- The Vulkan renderer limits the maximum Direct3D feature level based on - available Vulkan features. - - -*** Direct3D helper libraries - -- A new HLSL compiler is implemented using the vkd3d-shader library. - -- A new HLSL disassembler is implemented using the vkd3d-shader library. - -- The HLSL preprocessor is reimplemented using the vkd3d-shader HLSL - preprocessor. - -- The D3DX 10 Thread Pump is implemented. - -- Many more expressions are supported in Direct3D 10 effects. - -- Cubemap projection is implemented in the D3DX 9 helper library. - - -*** Audio / Video - -- The MPEG-1 audio decoder filter for layers 1 and 2, and the separate filter for - layer 3, are both implemented on top of GStreamer. - -- The ASF reader filter is implemented. - -- The OpenAL32.dll wrapper library is removed, in favor of the native - OpenAL32.dll library shipped by Windows applications. - - -*** Media Foundation - -- Content type resolution is improved in the Media Foundation Player. - -- Rate control is implemented. - -- The Enhanced Video Renderer default mixer and presenter are better supported. - -- The DirectShow filter is implemented in the Enhanced Video Renderer. - -- An initial framework is implemented for the Writer encoding API. - -- The topology loader is better supported. - - -*** Input devices - -- Controller hotplug support is greatly improved, and controller removal and - insertion are correctly dispatched to applications. - -- Driving wheel device detection and reporting is better implemented, using the - SDL library and HID usages as hints for the device types. - -- Force feedback effect support is improved, specifically with driving wheel - controllers. - -- The HID Haptics specification is used for left / right motor rumble and trigger - rumble. It makes it possible for device drivers to expose haptics support over - HidRaw, and overcome EvDev limitations. - -- The Joystick Control Panel is redesigned, with new graphics and a dedicated - view for XInput gamepads. - -- Sony DualShock and DualSense controllers are supported when the hidraw backend - is used, and exposed to applications in the same way as they are on Windows. - -- The Windows.Gaming.Input module is introduced, one of the first WinRT modules - in Wine, implementing a new programming interface to access gamepads, joysticks - and driving wheel devices. For this new input API, hotplug notifications are - also implemented, as well as force feedback effects and haptics. This API is - the first one to support trigger rumble. - - -*** Internationalization - -- A proper locale database, in Windows locale.nls format, is generated from the - Unicode CLDR database. The list of supported locales is essentially identical - to that of the latest Windows version. - -- Unicode string comparison is based on the Windows Sortkey database and - algorithms instead of the Unicode Collation Algorithm, yielding more compatible - results. - -- Characters from high Unicode planes (in UTF-16 encoding) are supported in most - functions, in particular for case mappings, BiDi formatting, and character - shaping. - -- The UTF-8 encoding is supported as Ansi codepage. It is enabled when requested - by the application's manifest. - -- Unicode character tables are based on version 15.0.0 of the Unicode Standard. - -- The timezone data is generated from the IANA timezone database version 2022g. - - -*** Text and fonts - -- Font linking is enabled for most system fonts, which should fix missing glyphs - in CJK locales. - -- Font fallback in DirectWrite is reworked, with additional support for an large - number of scripts. - - -*** Kernel - -- The ApiSetSchema database is implemented, replacing all the api-ms-* forwarding - modules. This reduces both disk space and address space usage. - -- DOS file attributes are persistent, and stored on disk using the filesystem's - extended attributes, in a format compatible with Samba. - - -*** Internet and networking - -- The Online Certificate Status Protocol (OCSP) is implemented. - -- More EcmaScript features are supported in JScript standard-compliant mode. - -- The JScript garbage collector is implemented. - -- Accessibility support is enabled in Wine Gecko package. - -- Web Storage, Performance object and more event objects are implemented in - MSHTML. - - -*** Mono / .NET - -- The Mono engine is updated to version 7.4.0. The list of changes can be viewed - at https://github.com/madewokherd/wine-mono/releases/tag/wine-mono-7.4.0 - - -*** Builtin applications - -- All the builtin applications use Common Controls version 6, which enables - theming and high-DPI rendering by default. - -- The Wine Debugger (winedbg) prints thread names in the 'info thread' listing, - for applications that set the names of their threads. All internal Wine threads - also set their own name. - -- The QWORD type is supported in the REGEDIT and REG registry tools. - -- Notepad has a status bar displaying the current cursor position. The Goto Line - functionality is also implemented. - -- The builtin console programs print data in the OEM codepage, for better - compatibility with applications reading their output. - -- The Service Control tool (sc.exe) supports the 'query' command. - - -*** Development tools - -- The PE conversion has made it necessary to implement a new mechanism to run - static C++ constructors in Winelib ELF applications. Unfortunately, this - requires the corresponding modules to be rebuilt with Wine 8.0. The rebuilt - modules will still run correctly on older Wine versions, but older modules will - no longer execute static constructors when run on Wine 8.0. - -- In regression tests, individual checks can be marked as "flaky". This is useful - for checks that depend on external factors such as network timings. The errors - are still reported but not counted as failures. - -- Test failure messages can be printed in color by setting the WINETEST_COLOR - environment variable, to make them easier to spot in the test log. - -- The Resource Compiler (WRC) and Message Compiler (WMC) use the locale.nls - database to detect languages and codepages, and thus support all the Windows - locales. - -- The WineDump tool supports printing the contents of Enhanced Metafile spool - files, as well as more contents from PDB files. - - -*** Build infrastructure - -- PE binaries can be built for multiple architectures from the same build tree, - using the '--enable-archs' option to configure, for example - '--enable-archs=i386,x86_64'. This can be used to enable the experimental - WoW64 mode, where 32-bit applications can run without any 32-bit host - libraries. Note that this mode is still under development and not yet - recommended for general use. - -- Data types that are defined as 'long' on Windows are defined as 'long' instead - of 'int' on all platforms with a 32-bit long type. This is more compatible, but - it can cause printf format warnings with Unix compilers. In Winelib code, it - can be disabled by defining WINE_NO_LONG_TYPES. - -- Import libraries can be generated without using dlltool, by passing the - '--without-dlltool' option to winebuild. This is used to avoid dlltool bugs - with delay import libraries. - -- Libraries that contain only resources and no code can be built with the - '--data-only' option to winegcc, which makes them smaller and more efficient to - load. - - -*** Bundled libraries - -- Faudio is updated to the upstream release 22.11. - -- LCMS2 is updated to the upstream release 2.14. - -- LibJPEG is updated to the upstream release 9e. - -- LibMPG123 is updated to the upstream release 1.31.1. - -- LibPng is updated to the upstream release 1.6.39. - -- LibTiff is updated to the upstream release 4.4.0. - -- LibXml2 is updated to the upstream release 2.10.3. - -- LibXslt is updated to the upstream release 1.1.37. - -- Zlib is updated to the upstream release 1.2.13. - - -*** Platform-specific features - -- The experimental WoW64 architecture is supported on macOS versions from 10.15. - -- 64-bit time_t is supported on 32-bit Linux with recent Glibc versions. - -- Exception unwinding on ARM platforms is extended with EHABI support on ARM32 - and Dwarf support on ARM64. - - -*** Miscellaneous - -- RSA encryption and the RSA-PSS signing algorithm are implemented. - -- An initial version of the UI Automation API is implemented. - -- Function name demangling supports various C++11 features. - - -*** External dependencies - -- The vkd3d and LDAP libraries are bundled in the source tree and built as - PE. The corresponding Unix libraries are no longer needed. - -- The OpenAL library is no longer used. +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 definition. + include: Add Windows.Foundation.Collections.MapChangedEventHandler definition. + include: Add Windows.Foundation.Collections.IMap definition. + include: Add Windows.Foundation.Collections.IObservableMap definition. + include: Add Windows.Foundation.Collections.IPropertySet definition. + include: Add Windows.Foundation.Collections.IObservableVector definition. + include: Add Windows.Foundation.IAsyncActionWithProgress definition. + include: Add Windows.Foundation.IAsyncOperationWithProgress 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(). diff --git a/AUTHORS b/AUTHORS index e4c7fcb4304..0554b9ef383 100644 --- a/AUTHORS +++ b/AUTHORS @@ -26,6 +26,7 @@ Adrian Harvey Adrian Thiele Adrian Thurston Aidan Thornton +Ake Rehnman Akihiro Sagawa Akira Nakagawa Alam Arias @@ -933,6 +934,7 @@ Justin Bradford Justin Chevrier Justin Martin Justin Santa Barbara +Kacper Michajłow Kai Blaschke Kai Blin Kai Krakow @@ -951,6 +953,7 @@ Karol Herbst Karsten Elfenbein Kasper Sandberg Katarzyna Caban +K.B.Dharun Krishna Kees Cook Kees Schoenmakers Keith Bowes diff --git a/VERSION b/VERSION index 8f34747db5e..eabededffc9 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Wine version 8.0 +Wine version 8.1 diff --git a/configure b/configure index c1c6c4cf93b..b602a61bb50 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for Wine 8.0. +# Generated by GNU Autoconf 2.71 for Wine 8.1. # # Report bugs to . # @@ -611,8 +611,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Wine' PACKAGE_TARNAME='wine' -PACKAGE_VERSION='8.0' -PACKAGE_STRING='Wine 8.0' +PACKAGE_VERSION='8.1' +PACKAGE_STRING='Wine 8.1' PACKAGE_BUGREPORT='wine-devel@winehq.org' PACKAGE_URL='https://www.winehq.org' @@ -2324,7 +2324,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Wine 8.0 to adapt to many kinds of systems. +\`configure' configures Wine 8.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2394,7 +2394,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Wine 8.0:";; + short | recursive ) echo "Configuration of Wine 8.1:";; esac cat <<\_ACEOF @@ -2663,7 +2663,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Wine configure 8.0 +Wine configure 8.1 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -3114,7 +3114,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Wine $as_me 8.0, which was +It was created by Wine $as_me 8.1, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -22689,7 +22689,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Wine $as_me 8.0, which was +This file was extended by Wine $as_me 8.1, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -22753,7 +22753,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -Wine config.status 8.0 +Wine config.status 8.1 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\"