diff --git a/ANNOUNCE b/ANNOUNCE index d0669419c9a..14b5439cc30 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,19 +1,17 @@ -The Wine team is proud to announce that the stable release Wine 7.0 -is now available. +The Wine development release 7.1 is now available. -This release represents a year of development effort and over 9,100 -individual changes. It contains a large number of improvements that -are listed in the release notes below. The areas of major changes are: - - - Most modules converted to PE format. - - Better theming support, with a bundled theme for a more modern look. - - Vastly improved HID stack and joystick support. - - New WoW64 architecture. +What's new in this release (see below for details): + - Vulkan 1.3 support. + - A number of theming fixes. + - WebSocket improvements. + - Improved cursor clipping on macOS. + - IDL compiler fixes for C++. + - Various bug fixes. The source is available from the following locations: - https://dl.winehq.org/wine/source/7.0/wine-7.0.tar.xz - http://mirrors.ibiblio.org/wine/source/7.0/wine-7.0.tar.xz + https://dl.winehq.org/wine/source/7.x/wine-7.1.tar.xz + http://mirrors.ibiblio.org/wine/source/7.x/wine-7.1.tar.xz Binary packages for various distributions will be available from: @@ -29,413 +27,544 @@ AUTHORS in the distribution for the complete list. ---------------------------------------------------------------- -What's new in Wine 7.0 -====================== - -*** PE modules - -- With a few exceptions, all modules can be built in PE format. The goal is to - convert the remaining modules after 7.0. - -- For PE modules with an associated Unix library, the interface between the PE - part and the Unix part goes through a standard NT system call. This enables - hiding the Unix code from Windows debuggers, and switching the thread - register on platforms that require it. - -- Builtin dlls are only loaded if there is a corresponding PE file on disk, - either a real binary or a fake PE module. This ensures that the application - always sees a valid PE file mapping. It can be disabled through the - WINEBOOTSTRAPMODE environment variable, used at prefix creation time. - - -*** WoW64 - -- The 64-bit Windows-on-Windows (WoW64) architecture is implemented, and - supports running a 32-bit Windows application inside a 64-bit Unix host - process, using thunks to map 32-bit NT system calls to the 64-bit NTDLL. - -- WoW64 thunks are implemented for most Unix libraries, enabling a 32-bit PE - module to call a 64-bit Unix library. Once the remaining modules are - converted to PE, this will make it possible to run 32-bit applications - without installing 32-bit Unix libraries. - - -*** Theming - -- A "Light" theme is included in Wine, with the color variants "Blue" and - "Classic Blue". It can be enabled through WineCfg. - -- All the Common Controls support theming, and automatically refresh on theme - changes. - -- All the builtin applications support theming, as well as High DPI rendering. - - -*** Graphics - -- There's a new Win32u library implementing the kernel side of graphics and - window management support. Large portions of the GDI32 and USER32 libraries - are converted to use this new library. This work will continue after 7.0, and - the graphics drivers (winex11.drv, winemac.drv, etc.) will be migrated to - Win32u as well. - -- The Vulkan driver supports up to version 1.2.201 of the Vulkan spec. - -- Hit-testing stroked geometries using the Direct2D API is implemented. - -- Some initial support for Direct2D effects (using the ID2D1Effect interface) - is implemented. - -- The Direct2D API supports the ID2D1MultiThread interface. - -- WindowsCodecs supports decoding images in WMP (Windows Media Photo) format, - as well as encoding images to the DDS (DirectDraw Surface) format. - -- WindowsCodecs no longer supports encoding images to macOS ICNS format. This - is not supported on Windows, and was no longer used by Wine either. - - -*** Direct3D - -- Various improvements have been made to the Vulkan renderer for the Wine - Direct3D implementation. In most cases, for Direct3D 10 and 11 applications - the Vulkan renderer should be about on-par with the older OpenGL renderer in - Wine 7.0. Like in Wine 6.0, the Vulkan renderer can be enabled by setting the - Direct3D "renderer" registry setting to "vulkan". - -- The following Direct3D 10 and 11 features are implemented: - - Deferred device contexts. - - Device context state objects, and switching between them. - - Constant buffer offsetting. - - Resolving typeless multi-sample resources. - - Clearing unordered-access views of texture resources. When using the OpenGL - renderer, this requires the GL_ARB_clear_texture OpenGL extension. - - Resource copies between resources with "block-compatible" formats, like for - example DXGI_FORMAT_BC3_TYPELESS and DXGI_FORMAT_R32G32B32A32_TYPELESS. - - Clearing layered render-target views. - -- Support for multiple displays ("multi-head") is implemented. In practice, - this tends to mean the ability to choose which monitor a Direct3D application - will use for full-screen mode. Note that this depends on the underlying - display drivers to accurately report the attached displays. For Wine's X11 - driver, that requires proper support for version 1.4 or later of the X RandR - extension. - -- Display gamma adjustment using the DXGI API is implemented. This is sometimes - used by Direct3D 10 and 11 applications to adjust screen "brightness". - -- Direct3D 12 supports version 1.1 root signatures. - -- When the VK_EXT_host_query_reset Vulkan extension is available, query - handling in the Vulkan renderer is slightly more efficient. - -- Retrieving swapchain present counts using the DXGI API is implemented. - -- A fallback path using GDI is added for swapchain presentation. This is used - in cases where OpenGL or Vulkan can't be used to present the swapchain, for - example when presenting to a window of a different process. This path is much - slower, but is often sufficient for some common use cases, like for example - applications using the Chromium Embedded Framework ("CEF") with cross-process - rendering. - -- The "precise" shader instruction modifier is respected when using the GLSL - shader backend. - -- The DirectDraw API supports 3D rendering to system memory surfaces when using - software device types like the "RGB", "MMX", and "Ramp" devices. - -- The following additional graphics cards are recognized by the Direct3D - graphics card database: - - AMD Radeon RX 5500M - - AMD Radeon RX 6800/6800 XT/6900 XT - - AMD Van Gogh - - Intel UHD Graphics 630 - - NVIDIA GT 1030 - -- The following HKEY_CURRENT_USER\Software\Wine\Direct3D key is removed: - - "UseGLSL" - This setting was deprecated in favor of the "shader_backend" setting in - Wine 5.0, and has been removed in this release. - - -*** D3DX - -- The support for version 10 of the D3DX effects framework is much improved. - -- D3DX 10 supports the Windows Media Photo (JPEG XR) image file format. - -- Various D3DX10 texture creation functions (D3DX10CreateTextureFromMemory() - and variants) are implemented. - -- A partial implementation of the ID3DX10Sprite interface is added. - -- A partial implementation of the ID3DX10Font interface is added. - - -*** Audio / video - -- The DirectShow and Media Foundation GStreamer glue is unified into a single - backend, making it easier to implement new media decoding APIs. - -- The Windows Media asynchronous and synchronous reader objects are implemented - based on the WineGStreamer backend. Like other multimedia decoding libraries, - they require a functioning GStreamer installation. - -- The Media Foundation support is more complete, with notably: - - Basic functionality of IMFPMediaPlayer, media item properties, support for - audio and video tracks. - - Support for sample allocator in the Source Reader. - - Improved EVR sink integration with presenter and mixer. - - Improved SAR rendering buffer behavior. - - Video sample allocator, with support for d3d9, d3d11, and system memory - buffers. - - Further improvements to EVR's presenter and mixer implementation. - - D3D11 frame output for IMFMediaEngine. - - Improvements to generic media source implementation in WineGStreamer to - support stopped and paused states, refined output type configuration. - -- The QuickTime decoder library (wineqtdecoder) is removed. GStreamer is - required for all built-in multimedia codecs also on macOS. - - -*** Input devices - -- The HID (Human Interface Device) stack implementation is more complete. This - includes HID descriptor and report parsers, report processing, as well as HID - mini-driver support. - -- The winebus.sys driver backends are improved, to better describe the devices - into HID reports when pass-through is not possible, and to add standard - Physical Interface Device reports to expose force-feedback capabilities over - HID. - -- There's a new DirectInput joystick backend using the improved HID stack to - communicate with winebus.sys and host devices. This backend supports - force-feedback effects using the standard HID Physical Interface Device - reports, and is also compatible with pass-through HID device which implement - it. The SDL and evdev winebus.sys Linux backends are also supported as they - implement it too. This replaces and deprecates the legacy Linux js and evdev, - and macOS IOHID backends. - -- The joystick control panel is improved, as well as the interaction with - XInput-compatible devices. For such devices the joystick control panel can be - used to force DInput as the primary interface instead of XInput. This - translates to the ""="override" (REG_SZ) registry value in - HKCU\Software\Wine\AppDefaults\\DirectInput (or - HKCU\Software\Wine\DirectInput for prefix-wide setting). - -- The WinMM joystick support is implemented using DInput instead of Linux evdev - or macOS IOHID, and the old joystick driver (winejoystick.drv) is removed. - -- Many tests are added to the DInput module, using a virtual HID device to not - require a physical device anymore. The code is extensively and automatically - tested, including force-feedback effects with HID input / output report - validation. - - -*** Text and fonts - -- Arabic shaping is implemented in DirectWrite, currently enabled for Arabic - and Syriac. - -- The Font Set object is implemented in DirectWrite. - -- The TextHost interface is properly implemented in RichEdit. - - -*** Mono / .NET - -- The Mono engine is updated to version 7.0.0, with the following changes: - - IDispatch interface supported on COM Callable Wrappers. - - Improved support for SafeArray marshaling. - - Many other marshaling and COM interop improvements. - - Code imports from .NET Core: System.Drawing.Printing, - System.Security.Principal, WindowsFormsApplicationBase, parts of - Microsoft.VisualBasic.Interaction - - WMA and WMV support in FNA using mfplat. - - Debug symbols available separately in PDB form. - - Old VBNC compiler for Visual Basic .NET replaced with the VBC compiler from - .NET Core. - - Mono's JIT compiler generates code compatible with 64-bit macOS. - - WPF built with support for media controls. - - A replacement for the Managed DirectX API is included. - - Fixes for various bugs that prevented most WPF applications from working. - - -*** Internationalization - -- Unicode character tables are based on version 14.0.0 of the Unicode Standard. - -- The timezone data is updated, based on the information from the Olson and - Unicode CLDR databases. - -- Codepages 720 (Arabic, Farsi and Urdu) and 20949 (Korean Wansung) are - supported. - -- The sr-Latn-RS locale is supported. - - -*** Kernel - -- Launching applications with the 'wine' executable invokes start.exe for any - unrecognized binary. This means that file associations work also from the - Unix command line, e.g. 'wine foo.msi'. - -- The low-level NtAlertThreadByThreadId / NtWaitForAlertByThreadId - synchronization mechanism (roughly equivalent to Linux futexes) is supported, - and used to implement the higher-level synchronization primitives. - -- NT debug objects are implemented and used by the kernel debugger functions. - -- The dynamic registry keys for performance data are implemented. - - -*** C runtime - -- There's a full math library implementation in the C runtime, mostly imported - from the Musl C library. The Unix math library is no longer used. - -- The floating point environment functions are supported properly on all CPU - platforms. - - -*** Internet and networking - -- IE11 compatibility mode is improved and used by default for - standard-compliant HTML documents. - -- JScript EcmaScript compliant mode supports 'let' statements, Map object, - object freezing, object sealing and mutable prototype chains. - -- Gecko add-on MSI packages are installed into the prefix on demand, instead of - during prefix update, to make updates faster and reduce disk space usage. - -- The DTLS communication protocol is supported. - -- The NSI device (Network Store Interface) is implemented, and used to provide - higher-level network services in IpHlpAPI. - -- The Windows Sockets support is reimplemented to go through NTDLL and the Afd - device, following the Windows architecture. - -- The various network database files (/etc/protocols, /etc/networks, etc.) are - provided and installed in the prefix. The equivalent Unix databases are no - longer used for network queries. - - -*** Alternative platforms - -- The new Apple Silicon Macs are supported, including running x86-64 binaries - under Rosetta 2. - -- GnuTLS is required on macOS for BCrypt and Secur32 support; the - macOS-specific backend implementations have been removed. - -- 32-bit ARM binaries are built in Thumb-2 mode, like on Windows. - -- The preloader is also used on 32-bit ARM, for a more compatible address space - layout. - -- Stack unwinding is implemented on 32-bit ARM. - -- More low-level system information queries like memory and battery status are - supported on FreeBSD. - - -*** Builtin applications - -- The REG registry tool supports operating on either the 32- or 64-bit view of - the registry. - -- The REG registry tool supports copying registry keys. - -- The WineDump tool supports dumping Windows Metafiles, and shows more detailed - information for CodeView records. - -- The Wine Debugger (winedbg) supports debugging a 32-bit target process from - the 64-bit debugger. - - -*** Development tools - -- The IDL compiler (widl) supports loading type libraries embedded inside PE - files. - -- The IDL compiler searches for type libraries in the per-platform library - search path instead of the include search path. - -- The IDL compiler supports many more WinRT-specific constructs and attributes. - - -*** Build infrastructure - -- All libraries are installed in architecture-specific directories, using names - like 'i386-windows' for PE binaries, and 'x86_64-unix' for the Unix - libraries. This enables supporting multiple architectures with a single Wine - installation, as well as Winelib cross-compilation. - -- Static (.a) import libraries are used on all platforms. Wine no longer - generates the old-style .def libraries, though they are still supported for - backwards compatibility. - -- The option to prefer a native DLL by default is specified through a flag in - the PE header, which can be set by passing the '--prefer-native option' to - winebuild. The previous method, handling DLL_WINE_PREATTACH in DllMain, is no - longer supported. - -- The Dwarf debugging format is supported up to version 4. The Wine libraries - are built with version 4 by default. - -- Unique build identifiers can be stored in the binaries by passing the - '--enable-build-id' option to configure. - -- The Clang compiler in MSVC mode is supported. - - -*** Miscellaneous - -- The Shell Folder naming is converted to use the Windows Vista+ scheme; for - instance 'My Documents' becomes 'Documents', and most things are saved under - the 'AppData' directory. - -- The OpenCL library wrapper supports versions up to OpenCL 1.2. - -- Paper forms are supported in various sizes in the WinSpool printer driver. - -- There is initial support for MSDASQL, a Microsoft OLE DB provider for ODBC - drivers. - - -*** External dependencies - -- The following libraries are bundled in the source tree and built as PE - libraries, so they are no longer required at the Unix level: - - Faudio - - GSM - - LCMS2 - - LibJPEG - - LibJXR - - LibMPG123 - - LibPng - - LibTiff - - LibXml2 - - LibXslt - - Zlib - -- The libraries above can still be imported as external libraries instead of - using the bundled copy, provided that they are available in PE format. This - behavior is requested with the '--with-system-dllpath' configure option, - which specifies the Unix search path for such dependencies. - -- Direct3D 12 support now requires version 1.2 or later of the vkd3d library. - Version 1.2 or later of the related vkd3d-shader library was already required - by Wine 6.0 for translation of Direct3D shader to SPIR-V in the Vulkan - renderer for the Direct3D implementation. - -- The deprecated HAL library is no longer supported or needed. - -- The macOS QuickTime library is no longer used. - +Bugs fixed in 7.1 (total 42): + + 10924 Netbeans 6.x installer hangs or exits silently + 15635 Siemens SIMATIC STEP 7: can't use Next or Cancel when installing + 20415 eRightSoft SUPER v2009-b35 window unviewable and non-responsive + 21935 AceMegaCodecsPack gives error message on install + 25053 Final fantasy 7 videos do not play, though supported by gst-ffmpeg + 27679 Arx Fatalis does not play intro movie (video: indeo 5.0) + 33756 Word 2003: Formula symbols get outside formula frame + 34753 Rising Kingdoms Demo intro videos are not played + 35063 Multiple InstallShield technology based installers report "unable to create InstallDriver instance" (Peachtree Pro Accounting 2007, Age of Empires 3) + 39795 when working jriver mediacenter suddenly crash. + 42660 QTranslate crashes inside jscript.dll + 43899 x360ce closes after launch + 45016 Far Cry 5 crashes at startup + 45597 Flicker in GTAIV + 47975 X3 Albion Prelude - Unhandled page fault on read access + 48523 dlls/toolhelp16.dll16 LocalFirst and LocalNext only return LMEM_FIXED handles + 48606 HexChat: Check for update fails + 49213 TeamViewer 15.x crashes on startup + 50370 Gothic 1 doesn't start correctly when screen resolution of the game matches display resolution + 50433 'MsiBreak' custom action debugging aid should use custom action's name from 'CustomAction' table (currently uses 'Target' field) + 50539 SetWindowRgn doesn't work correctly + 50544 Application crashes when external database called + 50849 Multiple .NET 4.x app installers using WiX v3 'InvokeOutOfProcManagedCustomAction, CAInvokeMethod->Invoke_3 return incorrect result with Wine-Mono (Elgato Stream Deck 4.9.3, Garmin Express 6.13) + 50901 Google Chrome 89.0.4389.114 exits at startup + 51163 WinOffice Pro 5.3 stops after splashscreen, needs WMI class SoftwareLicensingProduct + 51354 WRC 7 needs ID3DUserDefinedAnnotation interface + 51491 Project CARS 2 periodically crashes during a race + 51706 Msi HANDLE_CustomType1 fails to load dll [patch] + 51758 Wine's time zone information has gaps in "Dynamic DST" causing InvalidTimeZoneException + 51860 Missing include for uid_t on musl-based systems + 51868 Pokémon Banished Platinum - Fails To Load Script(s) in Wine + 51900 regression: REAPER scrollbars flash between themed and non-themed + 52062 dinput HID joystick doesn't implement effect state reports. + 52158 Age of Empires 3 Definitive Edition multiplayer fails to start AES problem + 52163 postgresql-9.3 installer expects scrrun:filesys_GetTempName to return filename with TMP suffix + 52261 Sekiro: Shadows Die Twice GOTY crashes right before gameplay starts + 52285 7-zip: column titles are not rendered initially when using a theme + 52298 Opening PPT with Freeoffice Presentations crashes on unimplemented function ole32.dll.OleConvertIStorageToOLESTREAMEx + 52339 EzViz: Program does not respond after clicking once + 52383 WXWork has high CPU usage on login screen + 52426 BCryptSignHash mishandles empty arguments + 52446 Normal dlls with native subsystem id are no longer processed when importing system dlls with uppercase names + +---------------------------------------------------------------- + +Changes since 7.0: + +Alex Henrie (1): + user32: Send EVENT_OBJECT_FOCUS when the focus changes. + +Alexandre Julliard (47): + configure: No longer disable mountmgr.sys in a Windows build. + tools: Use flush_output_buffer() in a few more places. + tools: Add a helper function to read the contents of a file. + makefiles: Get rid of the documentation rules. + user.exe: Make sure that the thunk selector doesn't get freed. + faudio: Import upstream release 22.01. + mpg123: Import upstream release 1.29.3. + jpeg: Import upstream release 9e. + makefiles: Add helper functions to open generated include files. + makefiles: Also look for generated includes in the source file directory. + makefiles: Compare the full path when looking for generated include files. + makefiles: Add dependencies for files generated in maintainer mode. + makefiles: Add a maintainer-clean target. + makefiles: Specify the bison prefix directly in the source files. + wrc: Add a workaround for older bison versions. + wrc: Avoid using Windows types where possible. + widl: Avoid using Windows types where possible. + include: Define a few more intrinsic functions. + include: Fix prototype mismatch for server functions. + server: Define a server-side structure for LUID_AND_ATTRIBUTES. + server: Define a server-side structure for SID_AND_ATTRIBUTES. + server: Define a server-side structure for ACL. + server: Define a server-side structure for ACE. + server: Define a server-side structure for SID. + server: Don't depend on the TOKEN_GROUPS structure on the server side. + include: Remove the wine_ prefix on rbtree functions. + include: Add casts for types that may be defined as long. + d3drm: Fix a prototype mismatch. + d3dx10: Fix a prototype mismatch. + mmsystem: Fix some prototype mismatches. + win32u: Fix some prototype mismatches. + windows.globalization: Fix some prototype mismatches. + winevulkan: Fix some prototype mismatches. + wow64win: Fix some prototype mismatches. + mfmediaengine: Remove unnecessary import library. + include: Use long type by default in GUID definition. + include: Add casts to avoid printf format warnings with 'long' types. + winecrt0: Use the correct integral type. + compstui: Fix printf format warnings on 64-bit. + d3dx11: Fix printf format warnings on 64-bit. + gamingtcui: Fix printf format warnings on 64-bit. + loadperf: Fix printf format warnings on 64-bit. + msvcp60/tests: Fix printf format warnings on 64-bit. + opencl: Fix printf format warnings on 64-bit. + include: Add support for defining Win32 types as 'long' where possible. + makefiles: Force -Wformat for PE modules when using 'long' types. + makefiles: Disable printf format warnings for non-PE msvcrt modules. + +Alistair Leslie-Hughes (8): + msado15: Return early if Execute doesn't return a rowset. + msdasql: Connect to DSN in IDBInitialize Initialize. + include: Add trnlcl.idl. + include: Add trnobj.idl. + msdasql/tests: Test for ITransaction* interfaces on a session. + msdasql: Fix logic when dumping diagnostics records. + msdasql: Implement ICommandPrepare Prepare. + msdasql: Add ITransactionJoin to session interface. + +Andrew Eikum (1): + winmm: Don't process audio data during waveOutWrite while playing. + +Andrey Gusev (1): + d3d11: Implement the ID3DUserDefinedAnnotation interface. + +Arkadiusz Hiler (8): + dinput/tests: Don't consider extra IOCTL_HID_GET_STRING an error. + dinput/tests: Add static asserts for arrays that have to match in size. + include: Add HID_USAGE_SIMULATION_CLUTCH. + dinput/tests: Test HID device with steering wheel and various pedal combinations. + dinput: Implement HID wheel type detection. + winebus.sys: Enable extended BT reports for DualShock 4 controllers when requested. + winebus.sys: Process quirky DualSense bluetooth reports. + hidclass.sys: Add input.inf that matches all HID devices. + +Ben Shefte (1): + ntdll: Use case insensitive comparison in is_import_dll_system(). + +Bernhard Kölbl (7): + widl: Allow optional interface parameter on the [activatable] attribute. + widl: Add support for the [overload] attribute. + combase/tests: Add tests for the hstring_private struct. + combase: Introduce a hstring_header struct to hstring_private. + combase: Move length from hstring_private to hstring_header. + combase: Add padding and string reference pointer to hstring_header. + combase: Reorder hstring_private elements. + +Connor McAdams (9): + secur32/tests: Add more DTLS tests. + secur32: Set phNewContext to phContext in schan_InitializeSecurityContextW(). + secur32: Validate output buffer size in schan_InitializeSecurityContextW(). + secur32: Add support for setting DTLS timeouts. + secur32: Clear SECBUFFER_ALERT output buffer count in schan_InitializeSecurityContextW. + secur32: Properly handle NULL pInput argument for DTLS contexts in schan_InitializeSecurityContextW. + secur32: Switch back to non-blocking mode for DTLS sessions. + secur32/tests: Add tests for DTLS handshake retransmission. + secur32: Fix trace in schannel pull_adapter function. + +Conor McCarthy (1): + dxgi: Allow sampling of Vulkan swapchain images for D3D12. + +Damjan Jovanovic (1): + ntdll: Use the correct amd64 trap codes on *BSD. + +Daniel Lehman (9): + msvcp140: Add importlib. + msvcp140_atomic_wait: Add stub dll. + msvcp140_atomic_wait: Implement __std_parallel_algorithms_hw_threads. + msvcp140_atomic_wait/tests: Add test for threadpool_work functions. + msvcp140_atomic_wait: Implement __std_create_threadpool_work. + msvcp140_atomic_wait: Implement __std_submit_threadpool_work. + msvcp140_atomic_wait: Implement __std_wait_for_threadpool_work_callbacks. + msvcp140_atomic_wait: Implement __std_close_threadpool_work. + msvcp140_atomic_wait: Implement __std_bulk_submit_threadpool_work. + +Dean M Greer (1): + winemac.drv: Fix compile with pre macOS 10.12 SDKs. + +Dmitry Timoshkov (1): + ieframe: Clear a being invalidated history entry. + +Eric Pouech (18): + msi: Don't call RegCloseKey with uninitialized value. + dwrite: Adjust implementation to match prototype. + include/winternl.h: Fix prototype definition. + rpcss: Fix implementation declaration to match prototype. + wscript: Use correct integral type. + start: Wrap child inside a job so it gets killed when start.exe terminates. + cmd: Bail out when full path name exceeds MAX_PATH. + cmd/tests: Test paths that exceed MAX_PATH. + find: Use correct integral type. + progman: Use correct integral type. + rpcss: Use correct integral type. + include: Fix signedness in wine_dbgstr_variant(). + winedbg: Use correct integral type. + winetest: Use correct integral type. + adsldp: Use correct integral type. + comctl32: Use correct integral type. + comdlg32: Use correct integral type. + crypt32: Use correct integral type. + +Fabian Maurer (33): + adsldp/tests: Fix misleading indentation warnings. + advapi32/tests: Avoid "misleading indentation" warnings. + comctl32/tests: Avoid "misleading indentation" warnings. + comdlg32/tests: Avoid "misleading indentation" warnings. + comsvcs/tests: Avoid "misleading indentation" warnings. + crypt32/tests: Avoid "misleading indentation" warnings. + dbgeng/tests: Avoid "misleading indentation" warnings. + d2d1/tests: Avoid "misleading indentation" warnings. + d3d10/tests: Avoid "misleading indentation" warnings. + d3dcompiler/tests: Avoid "misleading indentation" warnings. + d3dx10_43/tests: Avoid "misleading indentation" warnings. + d3dx9_36/tests: Avoid "misleading indentation" warnings. + dwrite/tests: Avoid "misleading indentation" warnings. + dxva2/tests: Avoid "misleading indentation" warnings. + evr/tests: Avoid "misleading indentation" warnings. + hlink/tests: Avoid "misleading indentation" warnings. + kernel32/tests: Avoid "misleading indentation" warnings. + msscript/tests: Avoid "misleading indentation" warnings. + msvfw32/tests: Avoid "misleading indentation" warnings. + ntdll/tests: Avoid "misleading indentation" warnings. + ntoskrnl/tests: Avoid "misleading indentation" warnings. + ole32/tests: Avoid "misleading indentation" warnings. + oleaut32/tests: Avoid "misleading indentation" warnings. + oledb32/tests: Avoid "misleading indentation" warnings. + opcservices/tests: Avoid "misleading indentation" warnings. + gdi32/tests: Avoid "misleading indentation" warnings. + gdiplus/tests: Avoid "misleading indentation" warnings. + mf/tests: Avoid "misleading indentation" warnings. + mfplay/tests: Avoid "misleading indentation" warnings. + nsi/tests: Avoid "misleading indentation" warnings. + mlang/tests: Avoid "misleading indentation" warnings. + msi/tests: Avoid "misleading indentation" warnings. + msvcirt/tests: Avoid "misleading indentation" warnings. + +Florian Will (1): + gdiplus: Disable PNG encoding filters. + +Gabriel Ivăncescu (4): + ddraw: Use WINED3D_SWAPCHAIN_NO_WINDOW_CHANGES only if window is not in foreground. + ddraw: Use WINED3D_SWAPCHAIN_NO_WINDOW_CHANGES also if DDSCL_NOWINDOWCHANGES is set. + ddraw: Remove topmost style when going from exclusive mode to normal. + mshtml: Fix leak on failure in return_nsstr. + +Georg Lehmann (3): + winevulkan: Update to VK spec version 1.2.203. + winevulkan: Update to VK spec version 1.3.204. + winevulkan: Support Vulkan 1.3. + +Gerald Pfeifer (1): + iphlpapi: Zero-init prefix_len to avoid a compiler warning. + +Giovanni Mascellani (2): + mfmediaengine: Fix a memory leak. + mfmediaengine: Add a IMFMediaEngineEx stub. + +Hans Leidekker (1): + msi: Use custom action name for MsiBreak handling. + +Henri Verbeet (30): + wined3d: Discard texture resources before unloading them in wined3d_texture_destroy_object(). + wined3d: Use wined3d_mask_from_size() in wined3d_ffp_get_vs_settings(). + wined3d: Use wined3d_mask_from_size() in wined3d_ffp_get_fs_settings(). + wined3d: Properly compare integers in wined3d_pipeline_layout_vk_compare(). + wined3d: Properly compare integers in wined3d_so_desc_compare(). + wined3d: Properly compare integers in wined3d_bo_slab_vk_compare(). + wined3d: Properly compare integers in wined3d_graphics_pipeline_vk_compare(). + wined3d: Use wined3d_mask_from_size() in geometry_shader_init_stream_output(). + wined3d: Use wined3d_mask_from_size() in find_ps_compile_args(). + wined3d: Use wined3d_mask_from_size() in stateblock_savedstates_set_all(). + d3d11/tests: Add some tests for ID3DUserDefinedAnnotation. + wined3d: Use wined3d_mask_from_size() in shader_glsl_store_uav(). + wined3d: Use wined3d_mask_from_size() in shader_glsl_gather4(). + wined3d: Use wined3d_mask_from_size() in shader_glsl_generate_stream_output_setup(). + wined3d: Use wined3d_mask_from_size() in set_glsl_shader_program(). + wined3d: Use wined3d_uint32_compare() in compare_sig(). + wined3d: Use wined3d_uint32_compare() in glsl_program_key_compare(). + wined3d: Use wined3d_bit_scan() in vshader_get_input(). + wined3d: Use wined3d_bit_scan() in wined3d_device_process_vertices(). + wined3d: Use wined3d_bit_scan() in context_update_stream_info(). + wined3d: Get rid of a superfluous cast. + wined3d: Use wined3d_bit_scan() in context_preload_textures(). + wined3d: Use wined3d_bit_scan() in draw_primitive_immediate_mode(). + wined3d: Use wined3d_bit_scan() in wined3d_context_gl_map_fixed_function_samplers(). + wined3d: Use wined3d_bit_scan() in set_glsl_shader_program(). + wined3d: Use wined3d_bit_scan() in shader_glsl_load_constants_i(). + wined3d: Use wined3d_bit_scan() in shader_glsl_load_constantsB(). + wined3d: Use wined3d_bit_scan() in shader_generate_glsl_declarations(). + wined3d: Use wined3d_bit_scan() in shader_glsl_generate_fragment_shader(). + wined3d: Use wined3d_bit_scan() in shader_arb_load_np2fixup_constants(). + +Huw D. M. Davies (4): + winepulse: Remove unused member "mute". + widl: Remove the uuid_t typedef which causes conflicts on macOS. + winepulse: Remove unnecessary alloc_size. + winecoreaudio: Remove unnecessary buffer sizes. + +Jacek Caban (2): + server: Use console_add_queue for console output. + user32: Remove _wassert workaround. + +Jan Sikorski (19): + wined3d: Acquire depth/stencil state references for command lists by inspecting CS packets. + wined3d: Acquire rasterizer state references for command lists by inspecting CS packets. + wined3d: Acquire blend state references for command lists by inspecting CS packets. + wined3d: Acquire references to render-target views for command lists by inspecting CS packets. + wined3d: Acquire references to shader resource views for command lists by inspecting CS packets. + wined3d: Acquire references to unordered-access views for command lists by inspecting CS packets. + wined3d: Acquire references to depth/stencil views for command lists by inspecting CS packets. + wined3d: Acquire references to constant buffers for command lists by inspecting CS packets. + wined3d: Acquire references to cleared unordered-access views for command lists by inspecting CS packets. + wined3d: Acquire references to cleared render-target views for command lists by inspecting CS packets. + wined3d: Acquire references to indirect dispatch buffers for command lists by inspecting CS packets. + wined3d: Acquire references to indirect draw buffers for command lists by inspecting CS packets. + wined3d: Acquire references to index buffers for command lists by inspecting CS packets. + wined3d: Acquire references to stream output buffers for command lists by inspecting CS packets. + wined3d: Acquire references to vertex buffers for command lists by inspecting CS packets. + wined3d: Acquire references to updated resources for command lists by inspecting CS packets. + wined3d: Acquire references to blitted resources for command lists by inspecting CS packets. + wined3d: Acquire references to unordered-access view counter buffers for command lists by inspecting CS packets. + wined3d: Acquire references to mip-map generation shader resource views for command lists by inspecting CS packets. + +Jinoh Kang (1): + ntdll/unix: Zero-extend IP_TOS byte to INT. + +Liam Murphy (1): + winmm/tests: Demonstrate that WOM_DONE is not invoked reentrantly. + +Louis Lenders (2): + wbemprox: Add some properties of SoftwareLicensingProduct class. + ole32: Add stub for OleConvertIStorageToOLESTREAMEx. + +Matteo Bruni (1): + d3dcompiler/tests: Use the relevant d3dcompiler version in blob tests. + +Michael Stefaniuc (17): + dmsynth: Drop "synth" from the synth_sink field. + dmsynth: Activate the sink from the synth Activate() method. + dmsynth: Avoid hungarian notation in the synth object. + dmsynth: Disconnect old sink, addref and init new sink. + dmusic: Call SetSynkSink() first to initialize the Synth. + dmsynth: Pass the master clock on to the sink. + dmusic: Get rid of the SynthPortImpl typedef. + dmusic: Remove SynthPortImpl from the method and vtbl names. + dmusic/tests: Fix an object leak. + dmusic: Send the master clock to the synth and not a latency clock. + dmusic: The synth port needs to get the latency clock from the synth. + dmsynth: Implement SetMasterClock() for the sink. + dmsynth: Implement the sink Init method. + dmusic: Implement the E_NOTIMPL methods of the synth port. + dmsynth: Add error handling to the synth GetPortCaps method. + dmusic: Forward the synth port GetCaps to the synth method. + dmusic/tests: Add some initial synth port tests. + +Nikolay Sivov (44): + dwrite/tests: Use CRT memory allocation functions. + mfplat: Implement MFTGetInfo(). + mfreadwrite/tests: Use CRT allocation functions. + dwrite: Implement GetMatchingFontsByLOGFONT(). + dwrite: Move text format object implementation to a separate file. + mf/samplegrabber: Cancel pending sample timer. + mfmediaengine: Add IMFGetService stub. + mfmediaengine/tests: Do not use stack variables for async notification callbacks. + d3d10/effect: Add a structure to keep shader variables references. + d3d10/effect: Add arrays for all state variables. + d3d10/effect: Store state variables references in their own arrays. + d3d10/effect: Fix iteration in GetBackingStore() for sampler states. + d3d10/effect: Fix iteration in GetBackingStore() for blend states. + include: Fixup DWRITE_COLOR_GLYPH_RUN1 definition. + dwrite: Partially implement newer TranslateColorGlyphRun() variant. + dwrite/tests: Use a better invalid value to make a test pass reliably. + comctl32/listview: Add partial implementation of LVM_GETNEXTITEMINDEX. + wshom: Use CRT allocation functions. + d3d10/effect: Fix iteration in GetBackingStore() for depth stencil states. + d3d10/effect: Fix iteration in GetBackingStore() for rasterizer states. + d3d10/effect: Fix index access in GetSampler(). + d3d10/effect: Fix index access in GetRasterizerState(). + d3d10/effect: Fix index access in GetDepthStencilState(). + d3d10/effect: Fix index access in GetBlendState(). + version: Use same Windows 10 build number for version information. + scrrun: Use CRT allocation functions. + scrrun/dictionary: Remove typedef from object data type. + mf: Move standard quality manager stub to a separate file. + mf/tests: Add another format to Video Processor supported formats list. + mfreadwrite/reader: Add m4v format magic. + shell32: Ignore KF_FLAG_NOT_PARENT_RELATIVE in SHGetKnownFolderPath(). + d3dcompiler: Implement D3DWriteBlobToFile(). + d3d10/tests: Add a test with fx_4_1 binary. + mfmediaengine: Implement SetSourceFromByteStream(). + mfmediaengine: Implement audio renderer configuration methods. + comctl32/tests: Add some tests for TBBUTTON.iBitmap for separators. + include: Add some ListView flags. + mfmediaengine: Handle shutdown state in GetCurrentSource(). + mfmediaengine: Handle shutdown state in Play(). + mfmediaengine: Handle shutdown state in Pause(). + mfmediaengine: Handle shutdown state in GetBuffered(). + mfmediaengine: Handle shutdown state in a few stubs. + mfmediaengine: Improve AddRange() behavior for intersecting ranges. + dwrite/tests: Remove remaining kernel32 heap calls. + +Paul Gofman (39): + concrt140: Add ?_Byte_reverse_table@details@Concurrency@@3QBEB data export. + msvcp110: Add ?_Byte_reverse_table@details@Concurrency@@3QBEB data export. + msvcp120: Add ?_Byte_reverse_table@details@Concurrency@@3QBEB data export. + winhttp/tests: Also test async websockets with secure connection. + winhttp: Use separate SSL read and write buffers. + winhttp: Use a buffer for sending frame in send_frame(). + winhttp: Allow receive on shutdown web socket. + winhttp: Consider short read from netconn_recv() in receive_bytes(). + winhttp: Drain frames until close frame in socket_close(). + winhttp: Factor out socket_send_complete() function. + winhttp: Count queued websocket send operations. + winhttp: Allow synchronous nonblocking send in WinHttpWebSocketSend() when possible. + server: Release correct sockets in poll_socket(). + winhttp: Return ERROR_INVALID_OPERATION when websocket is in the wrong state. + winhttp: Set socket state to shutdown right away in WinHttpWebSocketShutdown(). + winhttp: Factor out send_socket_shutdown() function. + winhttp: Use send_socket_shutdown() in WinHttpWebSocketClose(). + winhttp: Move close callback call to task_socket_close(). + winhttp: Factor out receive_close_status() function. + winhttp: Process server close frame in handle_control_frame(). + winhttp/tests: Test closing websocket when receive is pending. + winhttp: Set socket close state in WinHttpWebSocketClose(). + winhttp: Move receive callback call to task_socket_receive(). + winhttp: Count queued websocket receive operations. + winhttp: Send callback for pending receives right away when closing websocket. + winhttp: Return error from WinHttpWebSocketQueryCloseStatus() if close frame was not received. + winhttp: Remove an extra pending_sends increment in WinHttpWebSocketSend(). + winhttp: Append mask to output frame even if buffer length is zero. + winhttp: Attemp sync websocket send even if data doesn't fit SSL buffer. + winhttp: Attemp sync websocket send even if data doesn't fit frame buffer. + winhttp: Allow synchronous nonblocking send in send_socket_shutdown(). + winhttp: Allow synchronous nonblocking send in socket_send_pong(). + winhttp: Pass server initiated websocket close request to application. + winhttp/tests: Test shutting down websocket when receive is pending. + winhttp: Don't mind socket state in WinHttpWebSocketQueryCloseStatus(). + winhttp: Factor out socket_close_complete() function. + winhttp: Don't queue socket_close() in WinHttpWebSocketClose() if close frame is already received. + winhttp: Don't allow socket transfers after receiving close frame. + winhttp: Don't allow queueing websocket receive if another is pending. + +Piotr Caban (2): + msvcrt: Add support for demangling char{8,16,32}_t types. + msvcrt: Fix Pi constants while computing acosf. + +Piotr Kleski (1): + bcrypt: Return BCryptSignHash len when only output is NULL. + +Robert Wilhelm (2): + scrrun: Add test for GetTempName. + scrrun: Generate temp name with tmp suffix. + +Rémi Bernon (36): + dinput/tests: Load the test driver in the WinePlugPlay group. + include: Define MEDIASUBTYPE_MSAUDIO1 in wmcodecdsp.idl. + mf/tests: Simplify static media type definition. + mf/tests: Add some WMA decoder creation tests. + dinput/tests: Add some tests for DIERR_INPUTLOST conditions. + dinput: Introduce new is_exclusively_acquired helper. + dinput: Use an enumeration instead of BOOL for acquired status. + dinput: Return DIERR_INPUTLOST when device is removed. + mf/tests: Add some WMA encoder creation tests. + mf/tests: Add some WMA encoder ProcessInput tests. + mf/tests: Add some WMA decoder SetInputType tests. + mf/tests: Add some WMA decoder SetOutputType tests. + mf/tests: Add some WMA decoder GetInputAvailableType tests. + mf/tests: Add some WMA decoder GetOutputAvailableType tests. + widl: Do not generate C++ enum typedefs in WinRT mode. + widl: Clarify declaration type names vs (reference) type names. + widl: Fix nested parameterized types C / short name output. + widl: Use "string" for HSTRING in signatures for generated UUID. + widl: Fix sign handling in parameterized types signatures. + mf/tests: Add some WMA decoder GetInputStreamInfo tests. + mf/tests: Add some WMA decoder GetOutputStreamInfo tests. + setupapi/tests: Add possible test_need_media results for Win10. + setupapi/tests: Add some service installation flags tests. + wine.inf: Start PlugPlay service on prefix initialization. + dinput/tests: Add some RegisterDeviceNotificationA and hotplug tests. + wine.inf: Start EventLogService on prefix initialization. + plugplay: Use ncacn_np instead of ncalrpc transport. + include: Add more WMA GUIDs to wmcodecdsp.idl. + wmadmod: Introduce new DLL and tests. + user32: Add a filter member to device_notification_details. + user32: Remove FIXME from RegisterDeviceNotificationA. + sechost: Support device interface notifications filtering. + ntoskrnl.exe: Enforce path case in WM_DEVICECHANGE notifications. + xinput1_3: Fix printf format warnings with long types. + windows.gaming.input: Fix printf format warnings with long types. + winexinput.sys: Fix warnings from long integer types. + +Stefan Dösinger (9): + d3d11/tests: Disable cross-device ContextState tests. + d3d11/tests: Ignore random WARP failures in test_pipeline_statistics_query. + d3d9/tests: Accept Nvidia results in test_sample_mask as broken. + d3d8/tests: Accept Nvidia results in test_sample_mask as broken. + d3d8/tests: Accept a broken Windows 10 20H? result. + d3d8/tests: Accept new WARP test failure in test_updatetexture(). + ddraw/tests: Accept broken depth readback of new-ish AMD GPUs. + ddraw/tests: Treat refresh rates with 1 hz difference as equal. + ddraw/tests: Don't insist on a different refresh rate if no refresh rate was requested. + +Tim Clem (8): + winemac.drv: Allow foregrounding WS_EX_NOACTIVATE windows. + winemac.drv: Use Cocoa nonactivating panels for WS_EX_NOACTIVATE windows. + winemac.drv: Don't activate the app if its first window is WS_EX_NOACTIVATE. + winemac.drv: Factor out cursor clipping code to its own class. + winemac.drv: Create a protocol to represent a cursor clipping handler. + winemac.drv: Factor common cursor clipping methods into functions. + winemac.drv: Add a cursor clipping implementation using -setMouseConfinementRect:. + winemac.drv: Use -setMouseConfinementRect: for cursor clipping by default. + +Zebediah Figura (11): + winhttp: Remove unused ole32 import. + d3d11: Implement ID3D11RasterizerState1. + d3d11: Implement ID3D11Device1::CreateRasterizerState1(). + server: Allocate enough space for the backslash in dup_nt_name() (Valgrind). + d3d11: Report D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER. + d3d11: Report D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER. + wined3d: Handle structured buffers in wined3d_unordered_access_view_vk_clear(). + include: Define InterlockedExchangeAdd64() and InterlockedExchangeAddSizeT(). + wined3d: Use wined3d_buffer_load_location() in wined3d_buffer_get_memory(). + wined3d: Prefer mapping a BO if the buffer has WINED3D_BUFFER_USE_BO set. + wined3d: Introduce WINED3D_LOCATION_CLEARED and use it for the initial state of buffers. + +Zhiyi Zhang (20): + comctl32/listview: Support themed check boxes for LVS_EX_CHECKBOXES style. + comctl32/treeview: Support themed check boxes for TVS_CHECKBOXES style. + comctl32/status: Remove redundant background drawing code. + comctl32/status: Calculate border for part background only when theming is off. + comctl32/status: Do not draw background for status text. + uxtheme/tests: Add EnableThemeDialogTexture() tests. + comctl32/tests: Remove WM_CTLCOLORSTATIC tests for static controls. + comctl32/tests: Remove WM_CTLCOLORSTATIC tests for property sheets. + uxtheme: Do not call SetWindowTheme() in EnableThemeDialogTexture(). + uxtheme: Make IsThemeDialogTextureEnabled() return TRUE for all valid flags without ETDT_DISABLE. + uxtheme: Allow EnableThemeDialogTexture() to set flags in multiple steps. + uxtheme: Hook DefDlgProc() for dialog theming. + comctl32/button: Enable parent dialog tab texture. + comctl32/static: Enable parent dialog tab texture. + comctl32/propsheet: Handle page dialog tab texture in DefDlgProc(). + user32: Avoid recalculating the non-client hit-test value for NC_HandleNCMouseMove(). + user32/tests: Test painting standard scroll bars in hovered state. + user32: Draw standard scroll bars in hovered state only when they were previously painted by DefWinProc(). + uxtheme: Search TMT_IMAGEFILE1~7 first when drawing background for parts without glyph images. + uxtheme: Do not resize source image even if destination is smaller than sizing margins. -- Alexandre Julliard diff --git a/AUTHORS b/AUTHORS index 5c1443c7fc8..9e6202a3f5c 100644 --- a/AUTHORS +++ b/AUTHORS @@ -190,6 +190,7 @@ Benjamin Kramer Ben Klein Ben Mayhew Ben Peddell +Ben Shefte Ben Taylor Beren Minor Bernard Ladenthin @@ -1014,6 +1015,7 @@ Leonid Lobachev Leo van den Berg Leslie Choong Liam Middlebrook +Liam Murphy Li Keqing Lilia Roumiantseva Linus Torvalds @@ -1390,6 +1392,7 @@ Pierre Schweitzer Pim Bollen Piotr Caban Piotr Chruściel +Piotr Kleski Piotr Pawłow Porot Mo Przemysław Białek diff --git a/VERSION b/VERSION index 52a9857d2cb..04be7bec08b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Wine version 7.0 +Wine version 7.1 diff --git a/configure b/configure index 6d69d6b8a1c..425d267ec50 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 7.0. +# Generated by GNU Autoconf 2.71 for Wine 7.1. # # Report bugs to . # @@ -611,8 +611,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Wine' PACKAGE_TARNAME='wine' -PACKAGE_VERSION='7.0' -PACKAGE_STRING='Wine 7.0' +PACKAGE_VERSION='7.1' +PACKAGE_STRING='Wine 7.1' PACKAGE_BUGREPORT='wine-devel@winehq.org' PACKAGE_URL='https://www.winehq.org' @@ -2575,7 +2575,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 7.0 to adapt to many kinds of systems. +\`configure' configures Wine 7.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2645,7 +2645,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Wine 7.0:";; + short | recursive ) echo "Configuration of Wine 7.1:";; esac cat <<\_ACEOF @@ -2915,7 +2915,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Wine configure 7.0 +Wine configure 7.1 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -3399,7 +3399,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 7.0, which was +It was created by Wine $as_me 7.1, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -23393,7 +23393,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 7.0, which was +This file was extended by Wine $as_me 7.1, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -23457,7 +23457,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 7.0 +Wine config.status 7.1 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\"