From c963c4141a0d4f6601c37f11d79de186be0da6a9 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Fri, 26 Jan 2024 23:56:23 +0100 Subject: [PATCH] Release 9.1. --- .mailmap | 1 + ANNOUNCE.md | 724 +++++++++++++++++++++++++++++----------------------- AUTHORS | 5 + VERSION | 2 +- configure | 18 +- 5 files changed, 424 insertions(+), 326 deletions(-) diff --git a/.mailmap b/.mailmap index 12d4cf4cc9e..4bd0cee2b2c 100644 --- a/.mailmap +++ b/.mailmap @@ -30,6 +30,7 @@ Erich Hoover Erwin Wolff Esme Povirk Evgeny Putin +Fan WenJie Fatih Aşıcı Fernando Martins François Gouget diff --git a/ANNOUNCE.md b/ANNOUNCE.md index e60a548adb1..dc65b9ffce3 100644 --- a/ANNOUNCE.md +++ b/ANNOUNCE.md @@ -1,12 +1,12 @@ -The Wine team is proud to announce that the stable release Wine 9.0 -is now available. +The Wine development release 9.1 is now available. -This release represents a year of development effort and over 7,000 -individual changes. It contains a large number of improvements that -are listed below. The main highlights are the new WoW64 architecture -and the experimental Wayland driver. +What's new in this release: + - A number of Input Method improvements. + - Improved Diffie-Hellman key support. + - Better Dvorak keyboard detection. + - Various bug fixes. -The source is available at +The source is available at Binary packages for various distributions will be available from @@ -16,312 +16,404 @@ You will find documentation on Wine is available thanks to the work of many people. See the file [AUTHORS][1] for the complete list. -[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.0/AUTHORS - - -## What's new in Wine 9.0 - -### WoW64 - -- All transitions from Windows to Unix code go through the NT syscall - interface. This is a major milestone that marks the completion of the - multi-year re-architecturing work to convert modules to PE format and - introduce a proper boundary between the Windows and Unix worlds. - -- All modules that call a Unix library contain WoW64 thunks to enable calling - the 64-bit Unix library from 32-bit PE code. This means that it is possible to - run 32-bit Windows applications on a purely 64-bit Unix installation. This is - called the _new WoW64 mode_, as opposed to the _old WoW64 mode_ where 32-bit - applications run inside a 32-bit Unix process. - -- The new WoW64 mode is not yet enabled by default. It can be enabled by passing - the `--enable-archs=i386,x86_64` option to configure. This is expected to work - for most applications, but there are still some limitations, in particular: - - Lack of support for 16-bit code. - - Reduced OpenGL performance and lack of `ARB_buffer_storage` extension - support. - -- The new WoW64 mode finally allows 32-bit applications to run on recent macOS - versions that removed support for 32-bit Unix processes. - - -### Wayland driver - -- There is an experimental Wayland graphics driver. It's still a work in - progress, but already implements many features, such as basic window - management, multiple monitors, high-DPI scaling, relative motion events, and - Vulkan support. - -- The Wayland driver is not yet enabled by default. It can be enabled through - the `HKCU\Software\Wine\Drivers` registry key by running: - - wine reg.exe add HKCU\\Software\\Wine\\Drivers /v Graphics /d x11,wayland - - and then making sure that the `DISPLAY` environment variable is unset. - - -### ARM64 - -- The completion of the PE/Unix separation means that it's possible to run - existing Windows binaries on ARM64. - -- The loader supports loading ARM64X and ARM64EC modules. - -- The 32-bit x86 emulation interface is implemented. No emulation library is - provided with Wine at this point, but an external library that exports the - interface can be used, by specifying its name in the - `HKLM\Software\Microsoft\Wow64\x86` registry key. The [FEX emulator][2] - implements this interface when built as PE. - -- There is initial support for building Wine for the ARM64EC architecture, using - an experimental LLVM toolchain. Once the toolchain is ready, this will be used - to do a proper ARM64X build and enable 64-bit x86 emulation. - -[2]: https://fex-emu.com - - -### Graphics - -- The PostScript driver is reimplemented to work from Windows-format spool files - and avoid any direct calls from the Unix side. - -- WinRT theming supports a dark theme option, with a corresponding toggle in - WineCfg. - -- The Vulkan driver supports up to version 1.3.272 of the Vulkan spec. - -- A number of GdiPlus functions are optimized for better graphics performance. - - -### Direct3D - -- The multi-threaded command stream sleeps instead of spinning when not - processing rendering commands. This lowers power consumption in programs which - do not occupy the command stream's entire available bandwidth. Power - consumption should be comparable to when the multi-threaded command stream is - disabled. - -- Direct3D 10 effects support many more instructions. - -- Various optimizations have been made to core WineD3D and the Vulkan backend. - -- The Vulkan renderer properly validates that required features are supported by - the underlying device, and reports the corresponding Direct3D feature level to - the application. - -- `D3DXFillTextureTX` and `D3DXFillCubeTextureTX` are implemented. - -- The legacy OpenGL ARB shader backend supports shadow sampling via - `ARB_fragment_program_shadow`. - -- The HLSL compiler supports matrix majority compilation flags. - -- `D3DXLoadMeshHierarchyFromX` and related functions support user data loading - via `ID3DXLoadUserData`. - - -### Audio / Video - -- The foundation of several of the DirectMusic modules is implemented. Many - tests are added to validate the behavior of the dmime sequencer and the - dmsynth MIDI synthesizer. - -- DLS1 and DLS2 sound font loading is implemented, as well as SF2 format for - compatibility with Linux standard MIDI sound fonts. - -- MIDI playback is implemented in dmsynth, with the integration of the software - synthesizer from the FluidSynth library, and using DirectSound for audio - output. - -- Doppler shift is supported in DirectSound. - -- The Indeo IV50 Video for Windows decoder is implemented. - - -### DirectShow - -- The Windows Media Video (WMV) decoder DirectX Media Object (DMO) is - implemented. - -- The DirectShow Audio Capture filter is implemented. - -- The DirectShow MPEG‑1 Stream Splitter filter supports video and system streams - as well as audio streams. - -- The DirectShow MPEG‑1 Video Decoder filter is implemented. - - -### Input devices - -- DirectInput action maps are implemented, improving compatibility with many old - games that use this to map controller inputs to in-game actions. - - -### Desktop integration - -- URL/URI protocol associations are exported as URL handlers to the Linux - desktop. - -- Monitor information like name and model id are retrieved from the physical - monitor's Extended Display Identification Data (EDID). - -- In full-screen desktop mode, the desktop window can be closed through the - "Exit desktop" entry in the Start menu. - - -### Internationalization - -- IME implementation is improved, with better support for native Windows IME - implementations. Many tests are added to validate the expected behavior of - these custom IMEs. - -- Linux IME integration is improved, using over-the-spot or on-the-spot input - styles whenever possible, and more accurate IME message sequences. - -- Locale data is generated from the Unicode CLDR database version 44. The - following additional locales are supported: `bew-ID`, `blo-BJ`, `csw-CA`, - `ie-EE`, `mic-CA`, `prg-PL`, `skr-PK`, `tyv-RU`, `vmw-MZ`, `xnr-IN`, and - `za-CN`. - -- The user interface is translated to Georgian, bringing the total of full - translations to 16 languages, with partial translations to another 31 - languages. - -- Unicode character tables are based on version 15.1.0 of the Unicode Standard. - -- The timezone data is generated from the IANA timezone database version 2023c. - -- Locales using a script name, like `zh-Hans`, are also supported on macOS. - - -### Kernel - -- The default Windows version for new prefixes is set to Windows 10. - -- Address space layout randomization (ASLR) is supported for modern PE binaries, - to avoid issues with address space conflicts. Note that the selected load - addresses are not yet properly randomized. - -- The Low Fragmentation Heap (LFH) is implemented for better memory allocation - performance. - -- The virtual memory allocator supports memory placeholders, to allow - applications to reserve virtual space. - -- The 64-bit loader and preloader are built as position-independent executables - (PIE), to free up some of the 32-bit address space. - -- Stack unwinding works correctly across NT syscalls and user callbacks. - - -### Internet and networking - -- All builtin MSHTML objects are proper Gecko cycle collector participants. - -- Synchronous XMLHttpRequest mode is supported in MSHTML. - -- WeakMap object is implemented in JScript. - -- The Gecko engine is updated to version 2.47.4. - -- Network interface change notifications are implemented. - - -### Cryptography and security - -- Smart cards are supported in the Winscard dll, using the Unix PCSClite - library. - -- Diffie-Hellman keys are supported in BCrypt. - -- The Negotiate security package is implemented. - - -### Mono / .NET - -- The Mono engine is updated to version [8.1.0][3]. - -[3]: https://github.com/madewokherd/wine-mono/releases/tag/wine-mono-8.1.0 - - -### Builtin applications - -- The Wine Debugger (winedbg) uses the Zydis library for more accurate x86 - disassembly. - -- WineCfg supports selecting old (pre-XP) Windows versions also in 64-bit - prefixes, to enable using ancient applications with the new WoW64 mode. - -- All graphical builtin applications report errors with a message box instead of - printing messages on the console. - -- The `systeminfo` application prints various data from the Windows Management - Instrumentation database. - -- The `klist` application lists Kerberos tickets. - -- The `taskkill` application supports terminating child processes. - -- The `start` application supports a `/machine` option to select the - architecture to use when running hybrid x86/ARM executables. - -- Most of the functionality of the `tasklist` application is implemented. - -- The `findstr` application provides basic functionality. - - -### Development tools - -- The WineDump tool supports printing the contents of Windows registry files - (REGF format), as well as printing data for both architectures in hybrid - x86/ARM64 PE files. - -- The `composable`, `default_overload`, `deprecated`, and `protected` attributes - are supported in the IDL compiler. - -- The `libwine.so` library is removed. It was no longer used, and deprecated - since Wine 6.0. Winelib ELF applications that were built with Wine 5.0 or - older will need a rebuild to run on Wine 9.0. - - -### Bundled libraries - -- The FluidSynth library version 2.3.3 is bundled and used for DirectMusic. - -- The math library of Musl version 1.2.3 is bundled and used for the math - functions of the C runtime. - -- The Zydis library version is 4.0.0 is bundled and used for x86 disassembly - support. - -- Vkd3d is updated to the upstream release 1.10. - -- Faudio is updated to the upstream release 23.12. - -- LDAP is updated to the upstream release 2.5.16. - -- LCMS2 is updated to the upstream release 2.15. - -- LibMPG123 is updated to the upstream release 1.32.2. - -- LibPng is updated to the upstream release 1.6.40. - -- LibTiff is updated to the upstream release 4.6.0. - -- LibXml2 is updated to the upstream release 2.11.5. - -- LibXslt is updated to the upstream release 1.1.38. - -- Zlib is updated to the upstream release 1.3. - - -### External dependencies - -- The Wayland client library, as well as the xkbcommon and xkbregistry - libraries, are used when building the Wayland driver. - -- The PCSClite library is used for smart card support. On macOS, the PCSC - framework can be used as an alternative to PCSClite. - -- For PE builds, a cross-compiler that supports `.seh` directives for exception - handling is required on all platforms except i386. +[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.1/AUTHORS + +---------------------------------------------------------------- + +### Bugs fixed in 9.1 (total 42): + + - #17414 user32/dde test crashes if +heap enabled + - #25759 Polda 1: after intro picture and animation it shows black window + - #35300 Lego Racers crashes when click on configuration commands for Player 1 + - #36007 oleaut32/vartype tests crash with WINEDEBUG=warn+heap + - #42784 Lost Planet dx10 demo black screen after starting new game + - #46074 Visio 2013 crashes with unimplemented function msvcr100.dll.??0_ReaderWriterLock@details@Concurrency@@QAE@XZ + - #46904 SIMATIC WinCC V15.1 Runtime: Automation License Manager 'almapp64x.exe' crashes on unimplemented function msvcp140.dll.?_XGetLastError@std@@YAXXZ + - #50297 Blindwrite 7 crashes with a stack overflow + - #50475 ENM (Externes Notenmodul / external mark module) crashes on opening + - #50893 Wine cannot see home directory (32-bit time_t overflow) + - #51285 The bmpcoreimage test in user32:cursoricon fails on most Windows versions + - #51471 user32:input receives unexpected WM_SYSTIMER messages in test_SendInput() + - #51473 user32:input Some SendInput() set LastError to ERROR_ACCESS_DENIED on cw-rx460 19.11.3 + - #51474 user32:input SendInput() triggers an unexpected message 0x60 on Windows 10 1709 + - #51477 user32:input test_Input_blackbox() gets unexpected 00&41(A) keystate changes + - #51931 Dead Rising encounters infinite loading when starting a new game (needs WMAudio Decoder DMO) + - #52399 SIMATIC WinCC V15.1 Runtime installer: SeCon tool fails with error 5 while trying to create 'C:\\windows\Security\\SecurityController' (needs '%windir%\\security') + - #52595 GUIDE 7.0 shows black screen on start + - #53516 user32:input failed due to unexpected WM_TIMECHANGE message + - #54089 user32:input - test_SendInput() sometimes gets an unexpected 0x738 message on w1064v1709 + - #54223 Unigine Heaven Benchmark 4.0 Severely Low FPS + - #54323 user32:input - test_SendInput() sometimes gets an unexpected 0xc042 message on Windows 7 + - #54362 BurnInTest calls unimplemented function ntoskrnl.exe.ExAllocatePool2 + - #55000 wineserver crashes below save_all_subkeys after RegUnLoadKey + - #55268 user32:cursoricon - LoadImageA() fails in test_monochrome_icon() on Windows 8+ + - #55467 MAME 0.257: mame.exe -listxml crashes + - #55835 putenv clobbers previous getenv + - #55883 SpeedWave can't draw Window, needs oleaut32.OleLoadPictureFile(). + - #55945 KakaoTalk crashes when opening certain profiles after calling GdipDrawImageFX stub + - #56054 Microsoft Safety Scanner crashes on exit on unimplemented function tbs.dll.GetDeviceIDString + - #56055 AVG Antivirus setup crashes on unimplemented function ADVAPI32.dll.TreeSetNamedSecurityInfoW + - #56062 unimplemented function mgmtapi.dll.SnmpMgrOpen + - #56078 LibreOffice 7.6.4 crashes on unimplemented function msvcp140_2.dll.__std_smf_hypot3 + - #56093 msys/pacman: fails with "fixup_mmaps_after_fork: VirtualQueryEx failed" + - #56119 Emperor - Rise of the Middle Kingdom: invisible menu buttons + - #56135 Dictionnaire Hachette Multimédia Encyclopédique 98 crashes on start + - #56168 dbghelp hits assertion in stabs_pts_read_type_def + - #56174 Forza Horizon 4 crashes with concrt140.dll.?_Confirm_cancel@_Cancellation_beacon@details@Concurrency@@QEAA_NXZ + - #56195 Device name inconsistent casing between GetRawInputDeviceInfo and PnP + - #56223 winedbg: crashes after loading gecko debug information + - #56235 Windows Sysinternals Process Explorer 17.05 crashes showing Threads property page. + - #56236 notepad freezes when displaying child dialog + +### Changes since 9.0: +``` +Aida Jonikienė (2): + opengl32: Add a FIXME when doing a mapped buffer copy. + localspl: Fix a maybe-uninitialized warning in fill_builtin_form_info(). + +Alex Henrie (8): + uiautomationcore/tests: Use CRT allocation functions. + tbs: Add GetDeviceIDString stub. + advapi32: Add TreeSetNamedSecurityInfoW stub. + include: Add mgmtapi.h and LPSNMP_MGR_SESSION. + mgmtapi: AddSnmpMgrOpen stub. + msvcp140_2: Implement __std_smf_hypot3. + include: Add POOL_FLAGS and POOL_FLAG_*. + ntoskrnl: Reimplement ExAllocatePool* on top of ExAllocatePool2. + +Alexandre Julliard (33): + ntdll/tests: Add exception test for int 2d on x86-64. + user32: Return result through NtCallbackReturn for the DDE message callback. + user32: Return result through NtCallbackReturn for the thunk lock callback. + user32: Return result through NtCallbackReturn for the copy image callback. + user32: Return result through NtCallbackReturn for the load image callback. + user32: Return result through NtCallbackReturn for the load sys menu callback. + user32: Return result through NtCallbackReturn for the draw text callback. + user32: Return result through NtCallbackReturn for the enum monitors callback. + user32: Return result through NtCallbackReturn for the window hook callback. + winevulkan: Return result through NtCallbackReturn for the debug callbacks. + wineandroid.drv: Return result through NtCallbackReturn for the start device callback. + winex11.drv: Return result through NtCallbackReturn for the drag and drop callbacks. + winemac.drv: Return result through NtCallbackReturn for the drag and drop callbacks. + user32: Return a proper NTSTATUS in the load driver callback. + user32: Return a proper NTSTATUS in the post DDE message callback. + user32: Return a proper NTSTATUS in all user callbacks. + opengl32: Return a proper NTSTATUS in the debug callback. + ntdll: Add NtCompareTokens syscall for ARM64EC. + msvcp: Consistently use __int64 types in number conversion functions. + include: Add a typedef for user callback function pointers. + ntdll: Share KiUserCallbackDispatcher implementation across platforms. + ntdll: Report failure in KiUserCallbackDispatcher when catching an exception. + ntdll: Export KiUserCallbackDispatcherReturn. + ntdll: Use a .seh handler for KiUserCallbackDispatcher exceptions. + ntdll: Move the process breakpoint to the CPU backends. + ntdll: Use a .seh handler for the process breakpoint. + ntdll/tests: Update todos in context tests for new wow64 mode. + configure: Only check for libunwind on x86-64. + ntdll: Share the nested exception handler across platforms. + ntdll: Use a .seh handler for nested exceptions. + ntdll: Clear CONTEXT_UNWOUND_TO_CALL in signal frames. + ntdll/tests: Port the exception unwinding tests to ARM64. + ntdll/tests: Port the exception unwinding tests to ARM. + +Alistair Leslie-Hughes (2): + include: Add more D3D_FEATURE_LEVEL_ defines. + include: Correct KMTQAITYPE values. + +Aurimas Fišeras (1): + po: Update Lithuanian translation. + +Bartosz Kosiorek (2): + gdiplus/tests: Add GdipDrawImageFX tests except effects or attributes. + gdiplus: Partially implement GdipDrawImageFX. + +Bernhard Übelacker (6): + wing32: Add tests. + wing32: Avoid crash in WinGGetDIBPointer when called with NULL bitmap info. + server: Allow VirtualQueryEx on "limited" handle. + dbghelp: Return early if HeapAlloc failed. + ntdll: Fix structure layout in RtlQueryProcessDebugInformation for 64-bit. + server: Avoid unloading of HKU .Default registry branch. + +Biswapriyo Nath (5): + include: Add D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS in d3d12video.idl. + include: Add D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS in d3d12video.idl. + include: Add D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAGS in d3d12video.idl. + include: Add D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT in d3d12video.idl. + include: Add missing macros in devenum.idl. + +Brendan McGrath (3): + gdi32: Ignore Datatype when StartDoc is called. + d2d1: Use 24-bit FP precision for triangulate. + d2d1: Fix double free bug when d2d_geometry_sink_Close fails. + +Brendan Shanks (5): + opengl32: Make wglSwapLayerBuffers hookable. + combase: Make RoGetActivationFactory hookable. + wined3d: Update reported AMD driver version. + ntdll: Remove unnecessary NtQueryVirtualMemory call. + ntdll: Only build the main module and ntdll once on Wow64. + +Daniel Hill (3): + winex11.drv: Dvorak should use QWERTY scancodes. + winex11.drv: Improve DetectLayout heuristics. + winex11.drv: Add Dvorak with phantom keys layout. + +Daniel Lehman (2): + msvcp120/tests: Add some tests for _Mtx_t fields. + msvcp140: Pad _Mtx_t struct to match Windows. + +David Kahurani (1): + gdiplus: Avoid use of temporary variable. + +Dmitry Timoshkov (4): + ntdll: Add NtCompareTokens() stub. + oleaut32: Do not reimplement OleLoadPicture in OleLoadPicturePath. + oleaut32: Factor out stream creation from OleLoadPicturePath. + oleaut32: Implement OleLoadPictureFile. + +Dāvis Mosāns (1): + ntdll/tests: Test NtContinue on x86-64. + +Eric Pouech (7): + dbghelp: Support redefinition of a range statement. + winedbg: Make some internal data 'static const'. + winedbg: Print all pid and tid with 4 hex characters. + appwiz.cpl: Load dynamically wine_get_version(). + user32: Load dynamically wine_get_version(). + include: Avoid defining intrinsic functions as inline. + include: Avoid redefining _InterlockedCompareExchange128 as inline. + +Etaash Mathamsetty (2): + xinput: Implement XInputGetCapabilitiesEx. + xinput: Reimplement XInputGetCapabilities. + +Fabian Maurer (8): + dmsynth: Leave critical section when out of memory (Coverity). + localspl: In fpScheduleJob leave critical section in error case (Coverity). + wmiutils: Always zero path->namespaces in parse_text (Coverity). + winedbg: Add missing break inside fetch_value (Coverity). + wow64win: Add missing break inside packed_result_32to64 (Coverity). + winegstreamer: Don't check event for NULL, gstreamer already does that. + include: Add Windows.UI.ViewManagement.InputPane definitions. + windows.ui: Add stubs for InputPane class. + +Fan WenJie (1): + wined3d: Compile sm1 bytecode to spirv. + +Gabriel Brand (3): + ws2_32/tests: Test binding UDP socket to invalid address. + server: Return failure in bind if the address is not found. + kernel32: Add string for WSAEADDRNOTAVAIL error. + +Gabriel Ivăncescu (6): + msvcirt: Use proper operator_new and operator_delete types. + jscript: Move thread_id from JScript struct to TLS data. + jscript: Don't use atomic compare exchange when setting the script ctx. + jscript: Make the garbage collector thread-wide rather than per-ctx. + jscript: Allow garbage collection between different jscript contexts. + mshtml: Implement document.lastModified. + +Giovanni Mascellani (2): + wined3d: Expose the image view usage for null views. + wined3d: Expose the image view usage for non-default views. + +Haidong Yu (1): + loader: Associate folder with explorer. + +Hans Leidekker (19): + bcrypt: Add support for setting DH parameters. + bcrypt: Add support for retrieving DH parameters. + bcrypt: Allow or disallow some operations based on whether keys are finalized. + bcrypt: Add helpers to create a public/private key pair. + bcrypt: Make DH blob size validation more strict in key_import_pair(). + bcrypt: Reject DH keys smaller than 512 bits. + bcrypt: Add support for generating DH keys from known parameters. + bcrypt: Make sure key_asymmetric_derive_key() returns correct size. + bcrypt: Assume we have a public key in key_export_dh_public(). + bcrypt: Set dh_params in key_import_dh/_public(). + bcrypt/tests: Add DH tests. + crypt32: Pad R/S values with zeroes if smaller than their counterpart. + sxs: Use wide character string literals. + sxs/tests: Use wide character string literals. + sxs/tests: Get rid of workarounds for old Windows versions. + sxs/tests: Update QueryAssemblyInfo() test for Windows 10. + sxs: Skip file copy when assembly is already installed. + bcrypt: Fix private data size in wow64 thunks. + dssenh: Finalize the hash if necessary in CPVerifySignature(). + +Jacek Caban (4): + winevdm: Use char type for max length assignment. + kernelbase: Silence -Wsometimes-uninitialized clang warning. + kernelbase: Silence -Warray-bounds clang warning. + devenum: Use switch statements for moniker type handling. + +Jinoh Kang (2): + ntdll/tests: Avoid misaligned load in exception handler code in run_exception_test_flags(). + ntdll/tests: Restore x86-64 #AC exception test in test_exceptions(). + +Martin Storsjö (6): + ntdll: Fix KiUserCallbackDispatcher on arm. + ntdll: Reduce fixme logging for large numbers of cores. + ntdll: Remove libunwind support for aarch64. + ntdll: Remove libunwind support for ARM. + ntdll: Remove dwarf unwinding support for aarch64. + wineps.drv: Avoid invalid unaligned accesses. + +Nicholas Tay (1): + win32u: Preserve rawinput device instance ID case in add_device(). + +Nikolay Sivov (13): + mf/tests: Skip tests if video renderer can't be created. + ntdll: Update RTL_HEAP_PARAMETERS definition. + ntdll/tests: Add some tests for creating custom heaps. + scrrun/dictionary: Add support for hashing VT_EMPTY keys. + scrrun/dictionary: Add support for hashing VT_NULL keys. + scrrun/dictionary: Handle VT_EMPTY/VT_NULL keys. + evr/dshow: Handle YUY2 sample copy. + mf/tests: Fully cleanup when skipping tests. + d2d1/tests: Add some tests for minimum/maximum input count in effect description. + d2d1/effect: Handle variable input count attributes in the description. + d2d1/effect: Use XML description for builtin effects. + d2d1/effect: Recreate transform graph when input count changes. + d3d10/effect: Use bitfields for numeric type descriptions. + +Paul Gofman (5): + ntdll: Fix exception list offset in call_user_mode_callback / user_mode_callback_return. + ntdll: Return STATUS_DEBUGGER_INACTIVE from NtSystemDebugControl() stub. + winex11.drv: Fix wglSwapBuffers() with NULL current context with child window rendering. + winhttp: Always return result at once if available in WinHttpQueryDataAvailable(). + winhttp: Always return result at once if available in WinHttpReadData(). + +Piotr Caban (8): + msvcp140_2: Fix i386 export names. + msvcp140_2: Implement __std_smf_hypot3f. + msvcp140_t/tests: Add __std_smf_hypot3 tests. + concrt140: Add _Cancellation_beacon::_Confirm_cancel() implementation. + msvcp140: Add _XGetLastError implementation. + msvcp140/tests: Fix _Syserror_map(0) test failure in newest msvcp140. + msvcp140: Recognize no error case in _Syserror_map. + winex11.drv: Fix xim_set_focus no IC condition check. + +Russell Greene (1): + powrprof: Add PowerWriteACValueIndex stub. + +Rémi Bernon (59): + user32/tests: Remove old Windows versions broken cursoricon results. + user32/tests: Fix cursoricon tests on recent Windows versions. + user32/tests: Add flaky_wine to some SetActiveWindow tests. + user32/tests: Run SendInput tests in a separate desktop. + user32/tests: Cleanup SendInput keyboard message sequence tests. + user32/tests: Test SendInput messages with KEYEVENTF_SCANCODE flag. + user32/tests: Test SendInput messages with other keyboard layouts. + imm32/tests: Add todo_himc to some ImmTranslateMessage expected calls. + dinput/tests: Make some failing keyboard test flaky_wine. + vulkan/tests: Add gitlab Win10 VM results. + winex11: Return STATUS_NOT_FOUND when IME update isn't found. + win32u: Move ImeToAsciiEx implementation from winex11. + win32u: Support posting IME updates while processing keys. + winemac: Use the default ImeToAsciiEx implementation. + win32u: Remove now unnecessary ImeToAsciiEx driver entry. + winebus: Append is_gamepad to the device instance id. + winebus: Allow specific devices to prefer hidraw backend. + winebus: Move device identification helpers to unixlib.h. + winebus: Prefer hidraw backends for DS4 and DS5 gamepads. + winexinput: Demote BusContainerId FIXME message to WARN. + winebus: Demote BusContainerId FIXME message to WARN. + dinput: Add a description to the dinput worker thread. + windows.gaming.input: Add a description to the monitor thread. + include: Add HEAACWAVEINFO and HEAACWAVEFORMAT definitions. + mfplat/tests: Test MFInitMediaTypeFromWaveFormatEx wrt MF_MT_FIXED_SIZE_SAMPLES. + mfplat/tests: Add MFInitMediaTypeFromWaveFormatEx tests with HEAACWAVEFORMAT. + mfplat/tests: Test MFWaveFormatExConvertFlag_ForceExtensible with HEAACWAVEFORMAT. + mfplat: Support AAC format attributes in MFInitMediaTypeFromWaveFormatEx. + mfplat: Support compressed WAVEFORMATEX in MFCreateWaveFormatExFromMFMediaType. + win32u: Avoid truncating ToUnicodeEx result if there's room. + user32/tests: Move KEYEVENTF_UNICODE to test_SendInput_keyboard_messages. + user32/tests: Test that WH_KEYBOARD_LL are blocking SendInput. + setupapi: Don't clobber the original filename if .inf is found. + dinput/tests: Introduce a new helper to create a foreground window. + dinput/tests: Enforce ordering of concurrent read IRPs. + dinput/tests: Add a test with a virtual HID mouse. + dinput/tests: Add a test with a virtual HID keyboard. + include: Add more HID digitizer usage definitions. + dinput/tests: Add a test with a virtual HID touch screen. + winex11: Sync with gdi_display before closing the threads display. + dinput/tests: Differentiate missing from broken HID reports. + dinput/tests: Relax the mouse move count test. + dinput/tests: Add some IRawGameController2 interface tests. + windows.gaming.input: Stub IRawGameController2 interface. + imm32/tests: Adjust todo_wine for the new Wine CJK keyboard layouts. + imm32: Mask the scancode before passing it to ImeToAsciiEx. + imm32/tests: Test that WM_KEYUP are passed to ImeProcessKey. + win32u: Also pass WM_KEYUP messages to ImmProcessKey. + imm32/tests: Test the effect of CPS_CANCEL and CPS_COMPLETE. + imm32: Complete the composition string when the IME is closed. + user32/tests: Add an optional hwnd to input messages tests. + user32/tests: Cleanup the mouse input WM_NCHITTEST / SetCapture tests. + user32/tests: Run the mouse hook tests in the separate desktop. + user32/tests: Filter the ll-hook messages with accept_message. + user32/tests: Test clicking through attribute-layered windows. + user32/tests: Tests clicking through window with SetWindowRgn. + winegstreamer: Fix reading MF_MT_USER_DATA into HEAACWAVEFORMAT. + winegstreamer: Use MFCreateAudioMediaType in the AAC decoder. + winegstreamer: Use an array for the audio decoder input types. + +Sven Baars (2): + advapi32/tests: Introduce a new has_wow64 helper. + advapi32/tests: Skip WoW64 tests on 32-bit in test_reg_create_key. + +Tim Clem (1): + winemac.drv: Detect active handwriting and panel IMEs. + +Tyson Whitehead (2): + dinput/tests: Update tests for DIPROP_AUTOCENTER. + dinput: Implement DIPROP_AUTOCENTER. + +Vijay Kiran Kamuju (5): + concrt140: Add stub for _Cancellation_beacon::_Confirm_cancel(). + wine.inf: Create security directory. + msvcp140: Add stub for _XGetLastError. + include: Add Windows.Storage.Streams.InMemoryRandomAccessStream runtimeclass definition. + msvcr100: Add _ReaderWriterLock constructor implementation. + +Yuxuan Shui (4): + dmime: AudioPathConfig is not AudioPath. + dmime: Parse AudioPathConfig. + dmime: IDirectMusicPerformance::CreateAudioPath should fail when config is NULL. + dmime: Semi-support creating an audio path from config. + +Zebediah Figura (14): + ddraw/tests: Add tests for map pointer coherency. + ddraw: Sync to sysmem after performing a color fill. + ddraw: Use the sysmem wined3d texture for sysmem surfaces if possible. + wined3d: Hook up push constants for Vulkan. + wined3d/spirv: Hook up sm1 interface matching. + d3d11: Implement D3D11_FEATURE_D3D11_OPTIONS2. + wined3d: Report VK_EXT_shader_stencil_export availability to vkd3d_shader_compile(). + wined3d: Implement shader stencil export for GL. + d3d11: Report support for shader stencil export if available. + d3d11/tests: Add a test for shader stencil export. + wined3d: Check the wined3d resource type and usage in find_ps_compile_args(). + wined3d: Set the tex_type field of the FFP fragment settings from the resource's GL type. + wined3d: Check for WINED3DUSAGE_LEGACY_CUBEMAP instead of checking the GL texture target. + wined3d: Collapse some trivially nested ifs into a single condition. + +Zhiyi Zhang (16): + wldap32: Fix a possible memory leak (Coverity). + msi: Fix a memory leak (Coverity). + bcrypt: Fix an possible out-of-bounds read (Coverity). + win32u: Fix a possible out-of-bounds write (Coverity). + compstui: Fix a possible out-of-bounds write (Coverity). + user32/tests: Add recursive keyboard and mouse hook tests. + win32u: Avoid calling WH_KEYBOARD and WH_CBT HCBT_KEYSKIPPED hooks recursively. + win32u: Avoid calling WH_CBT HCBT_CLICKSKIPPED hooks recursively. + user32/tests: Add recursive WM_SETCURSOR message tests. + include: Add some ncrypt definitions. + include: Add some bcrypt definitions. + ncrypt/tests: Test default RSA key properties. + ncrypt: Add some missing RSA key properties. + ncrypt/tests: Add NCryptExportKey() tests. + user32/tests: Test keyboard layout in CJK locales. + win32u: Don't set the high word of keyboard layout to 0xe001 in CJK locales. +``` diff --git a/AUTHORS b/AUTHORS index 16748706b33..7e0d62c2011 100644 --- a/AUTHORS +++ b/AUTHORS @@ -360,6 +360,7 @@ Dan Hipschman Daniel Ansorregui Daniel Beitler Daniel Gudbjartsson +Daniel Hill Daniel Jelinski Daniel Lehman Daniel Lund @@ -431,6 +432,7 @@ David Welch David White David Woodhouse Davin McCall +Dāvis Mosāns Dean M Greer Denil Verghese Denis Baranov @@ -573,6 +575,7 @@ Freddie Tilley Frederic Boulanger Frédéric Delanoy Frédéric Fauberteau +Gabriel Brand Gabriel Buades Rubio Gabriele Giorgetti Gabriele Moabiti @@ -1289,6 +1292,7 @@ Nerijus Baliunas Nguyễn Chính Hữu Nicholas Fraser Nicholas Niro +Nicholas Tay Nick Bowler Nick Burns Nick Fox @@ -1560,6 +1564,7 @@ Rudolf Mayerhofer Ruei-Yuan Lu Ruslan Kabatsayev Russ Andersson +Russell Greene Rustam Chernotkach Ryan Cumming Ryan Hendrickson diff --git a/VERSION b/VERSION index dfeeca3a028..7449345a090 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Wine version 9.0 +Wine version 9.1 diff --git a/configure b/configure index e6d9f185a54..ae5def6a6b1 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 9.0. +# Generated by GNU Autoconf 2.71 for Wine 9.1. # # Report bugs to . # @@ -611,8 +611,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Wine' PACKAGE_TARNAME='wine' -PACKAGE_VERSION='9.0' -PACKAGE_STRING='Wine 9.0' +PACKAGE_VERSION='9.1' +PACKAGE_STRING='Wine 9.1' PACKAGE_BUGREPORT='wine-devel@winehq.org' PACKAGE_URL='https://www.winehq.org' @@ -2388,7 +2388,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 9.0 to adapt to many kinds of systems. +\`configure' configures Wine 9.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2458,7 +2458,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Wine 9.0:";; + short | recursive ) echo "Configuration of Wine 9.1:";; esac cat <<\_ACEOF @@ -2756,7 +2756,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Wine configure 9.0 +Wine configure 9.1 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -3207,7 +3207,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 9.0, which was +It was created by Wine $as_me 9.1, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -23362,7 +23362,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 9.0, which was +This file was extended by Wine $as_me 9.1, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -23426,7 +23426,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 9.0 +Wine config.status 9.1 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\"