1
0
mirror of https://github.com/wine-mirror/wine synced 2024-06-26 13:02:25 +00:00
wine/ANNOUNCE.md
Alexandre Julliard 63e25f9eda Release 9.11.
2024-06-14 23:30:18 +02:00

20 KiB
Raw Permalink Blame History

The Wine development release 9.11 is now available.

What's new in this release:

  • C++ exception handling on ARM platforms.
  • More DPI Awareness support improvements.
  • Various bug fixes.

The source is available at https://dl.winehq.org/wine/source/9.x/wine-9.11.tar.xz

Binary packages for various distributions will be available from https://www.winehq.org/download

You will find documentation on https://www.winehq.org/documentation

Wine is available thanks to the work of many people. See the file AUTHORS for the complete list.


Bugs fixed in 9.11 (total 27):

  • #42270 Settlers 4 Gold - Hardware Rendering mode not working
  • #49703 Ghost Recon fails to start
  • #50983 Multiple games stuck playing cutscenes (The Long Dark, The Room 4: Old Sins, Saint Kotar)
  • #51174 api-ms-win-core-version-l1-1-0: Missing GetFileVersionInfoW and GetFileVersionInfoSizeW
  • #52585 Multiple applications need NtQueryDirectoryObject to return multiple entries (Cygwin shells, WinObj 3.01)
  • #53960 ucrt has different struct layout than msvcrt
  • #54615 dwrite:layout - test_system_fallback() gets unexpected "Meiryo UI" font name in Japanese and Chinese on Windows
  • #55362 NeuralNote: Crashes and Rendering issues (alson in VST3 form)
  • #55472 DTS Encoder Suite gets stuck with encode pending from Wine 8.14
  • #56095 Clanbomber 1.05 starts after a long (30 seconds) delay
  • #56397 Numlock status not recognized when using winewayland.drv
  • #56451 catch block fetches bogus frame when using alignas with 32 or higher
  • #56460 Multiple games have stutter issues (Overwatch 2, Aimbeast)
  • #56591 Steam doesn't render individual game pages correctly
  • #56606 PhysX installer fails to start
  • #56640 Genshin Impact: The game-launcher cannot be started anymore
  • #56744 Serial number in smbios system table is not filled on Linux in practice
  • #56747 Steam wont load in the new wow64 mode when using DXVK
  • #56755 White textures in EverQuest (Unsupported Conversion in windowscodec/convert.c)
  • #56764 Empire Earth Gold doesn't start in virtual desktop mode
  • #56766 CDmage 1.01.5 does not redraw window contents fully
  • #56781 srcrrun: Dictionary setting item to object fails
  • #56788 ComicRackCE crashes when viewing "info" for a comic file
  • #56800 Nomad Factory plugins GUI is broken
  • #56813 Hard West 2 crashes before entering the main menu (OpenGL renderer)
  • #56824 Postal 2 (20th Anniversary update) crashes when loading the map
  • #56828 Moku.exe crashes on startup

Changes since 9.10:

Adam Rehn (1):
      wineserver: Report non-zero exit code for abnormal process termination.

Alex Henrie (12):
      ntdll/tests: Delete the WineTest registry key when the tests finish.
      ntdll/tests: Rewrite the RtlQueryRegistryValues tests and add more of them.
      ntdll: Succeed in RtlQueryRegistryValues on direct query of nonexistent value.
      ntdll: Don't call QueryRoutine if RTL_QUERY_REGISTRY_DIRECT is set.
      ntdll: Don't call a null QueryRoutine in RtlQueryRegistryValues.
      ntdll/tests: Remove unused WINE_CRASH flag.
      ntdll: Copy the correct number of bytes with RTL_QUERY_REGISTRY_DIRECT.
      ntdll: Calculate the default size even without RTL_QUERY_REGISTRY_DIRECT.
      ntdll: Don't accept a query routine when using RTL_QUERY_REGISTRY_DIRECT.
      ntdll: Set the string size when using RTL_QUERY_REGISTRY_DIRECT.
      ntdll: Only allow string default values with RTL_QUERY_REGISTRY_DIRECT.
      ntdll: Replace the whole string when using RTL_QUERY_REGISTRY_DIRECT.

Alexandre Julliard (40):
      faudio: Import upstream release 24.06.
      msvcrt: Share a helper macro to print an exception type.
      msvcrt: Share the dump_function_descr() helper between platforms.
      msvcrt: Fix the ip_to_state() helper for out of bounds values.
      msvcrt: Don't use rva_to_ptr() for non-RVA values.
      msvcrt: Use the copy_exception() helper in __CxxExceptionFilter.
      msvcrt: Share the __CxxExceptionFilter implementation between platforms.
      msvcrt: Share the common part of _fpieee_flt between platforms.
      msvcrt: Consistently use the rtti_rva() helper.
      winedump: Fix dumping of catchblocks for 32-bit modules.
      msvcrt: The catchblock frame member isn't present on 32-bit.
      msvcrt: Use pointer-sized types instead of hardcoding 64-bit in __CxxFrameHandler.
      msvcrt: Share __CxxFrameHandler implementation with ARM platforms.
      msvcrt: Add platform-specific helpers to call C++ exception handlers.
      msvcrt: Add platform-specific helpers to retrieve the exception PC.
      msvcrt: Use platform-specific handlers also for __CxxFrameHandler4.
      ntdll: Fix stack alignment in __C_ExecuteExceptionFilter on ARM.
      ntdll: Fix a couple of compiler warnings on ARM64EC.
      ntdll: Fix inverted floating point masks on ARM64EC.
      ntdll: Support x87 control word in __os_arm64x_get_x64_information().
      kernel32/tests: Add test for FPU control words on ARM64EC.
      msvcrt: Reimplement __crtCapturePreviousContext() based on RtlWalkFrameChain().
      msvcrt: Use the __os_arm64x functions to get/set mxcsr on ARM64EC.
      msvcrt: Implement asm sqrt functions on ARM platforms.
      msvcrt: Disable SSE2 memmove implementation on ARM64EC.
      kernelbase: Implement the GetProcAddress wrapper on ARM64EC.
      kernel32: Implement the GetProcAddress wrapper on ARM64EC.
      winex11: Fix build error when XShm is missing.
      ntdll: Look for hybrid builtins in the PE directory for the host architecture.
      ntdll: Remove some unnecessary asm macros on ARM plaforms.
      winecrt0: Remove some unnecessary asm macros on ARM plaforms.
      makedep: Build and install ARM64EC-only modules.
      tests: Use ARM64 as architecture in manifests on ARM64EC.
      ntdll: Also load arm64 manifests for amd64 architecture on ARM64EC.
      ntdll: Reimplement __os_arm64x_check_call in assembly.
      ntdll: Move some security Rtl functions to sec.c.
      ntdll: Move some synchronization Rtl functions to sync.c.
      ntdll: Move the error mode Rtl functions to thread.c.
      ntdll: Move the PEB lock Rtl functions to env.c.
      ntdll: Move the memory copy Rtl functions to string.c.

Alexandros Frantzis (4):
      server: Pass desktop to get_first_global_hook.
      server: Check message target process for raw input device flags.
      server: Implement key auto-repeat request.
      win32u: Implement keyboard auto-repeat using new server request.

Alistair Leslie-Hughes (2):
      odbccp32: Check if a full path was supplied for Driver/Setup/Translator entries.
      odbccp32: Stop handle leak on error paths.

Benjamin Mayes (1):
      windowscodecs: Add conversions from PixelFormat32bppBGRA->PixelFormat16bppBGRA5551.

Brendan McGrath (4):
      kernel32/tests: Test error code when FindFirstFileA uses file as directory.
      ntdll/tests: Test error code when NtOpenFile uses file as directory.
      server: Don't always return STATUS_OBJECT_NAME_INVALID on ENOTDIR.
      ntdll: Treat XDG_SESSION_TYPE as special env variable.

Brendan Shanks (1):
      ntdll: On macOS, check for xattr existence before calling getxattr.

Connor McAdams (7):
      d3dx9: Refactor WIC GUID to D3DXIMAGE_FILEFORMAT conversion code.
      d3dx9: Refactor WIC image info retrieval code in D3DXGetImageInfoFromFileInMemory().
      d3dx9: Introduce d3dx_image structure for use in D3DXGetImageInfoFromFileInMemory().
      d3dx9: Use d3dx_image structure in D3DXLoadSurfaceFromFileInMemory().
      d3dx9: Introduce d3dx_load_pixels_from_pixels() helper function.
      d3dx9: Use d3dx_pixels structure in decompression helper function.
      d3dx9: Use d3dx_load_pixels_from_pixels() in D3DXLoadVolumeFromMemory().

Daniel Lehman (3):
      secur32: Allow overriding GnuTLS debug level.
      bcrypt: Allow overriding GnuTLS debug level.
      crypt32: Allow overriding GnuTLS debug level.

Danyil Blyschak (4):
      wineps.drv: Call ResetDCW() to update Devmode in the Unix interface.
      opcservices: Provide memory allocator functions to zlib.
      opcservices: Suppress unnecessary zlib deflate warnings.
      opcservices: Check for memory allocation failure before deflating.

Dmitry Timoshkov (2):
      server: Remove limitation for waiting on idle_event of the current process.
      win32u: Limit GDI object generation to 128.

Elizabeth Figura (25):
      widl: Assign to the right location variable.
      widl: Allow using UDTs with the keyword even when the identifier is also a typedef.
      widl: Invert "declonly".
      widl: Factor out a define_type() helper.
      widl: Update the type location in define_type().
      widl: Do not write type definitions for types defined in an imported header.
      include: Add more types to windows.networking.connectivity.idl.
      wined3d: Update multisample state when the sample count changes.
      wined3d: Invalidate the vertex shader when WINED3D_FFP_PSIZE is toggled.
      wined3d: Just check the vertex declaration for point size usage.
      wined3d: Just check the vertex declaration for colour usage.
      wined3d: Just check the vertex declaration for normal usage.
      wined3d: Just check the vertex declaration for texcoord usage.
      wined3d: Default diffuse to 1.0 in the vertex shader.
      server: Ignore attempts to set a mandatory label on a token.
      server: Inherit the source token's label in token_duplicate().
      advapi32/tests: Test token label inheritance.
      wined3d: Handle a null vertex declaration in glsl_vertex_pipe_vdecl().
      wined3d: Always output normalized fog coordinates from the vertex shader.
      wined3d: Do not create a framebuffer with attachments whose clear is delayed.
      wined3d: Use separate signature elements for oFog and oPts.
      server: Don't set error in find_object_index if the object is not found.
      ntdll: Implement reading multiple entries in NtQueryDirectoryObject.
      server: Generalize get_directory_entries to single_entry case.
      ntdll: Move IOCTL_SERIAL_WAIT_ON_MASK to the server.

Eric Pouech (13):
      cmd: Introduce a helper to set std handles.
      cmd: Introduce structure CMD_REDIRECTION.
      cmd: Create helper to execute a command.
      cmd: Let errorlevel be a signed integer.
      cmd: Separate IF command parsing from execution.
      kernelbase/tests: Fix typo in tests.
      msvcrt/tests: Don't print a NULL string.
      quartz/tests: Fix typo in tests.
      quartz/tests: Add new tests about fullscreen handling.
      quartz: Always expose that non fullscreen mode is supported and active.
      quartz: Fix result in put_FullScreenMode().
      conhost: Handle WM_CHAR for window console.
      conhost: Support IME input in window mode.

Esme Povirk (4):
      win32u: Send EVENT_OBJECT_FOCUS in more cases.
      win32u: Implement EVENT_OBJECT_LOCATIONCHANGE.
      gdiplus: Fix DIB stride calculation in GdipDrawImagePointsRect.
      win32u: Implement EVENT_SYSTEM_MINIMIZESTART/END.

Fabian Maurer (7):
      msvcrt: Fix _libm_sse2_sqrt_precise not using SSE2 sqrt.
      mmdevapi/tests: Add tests for IAudioSessionControl2 GetDisplayName / SetDisplayName.
      mmdevapi/tests: Add tests for IAudioSessionControl2 GetIconPath / SetIconPath.
      mmdevapi/tests: Add tests for IAudioSessionControl2 GetGroupingParam / SetGroupingParam.
      mmdevapi: Implement IAudioSessionControl2 GetDisplayName / SetDisplayName.
      mmdevapi: Implement IAudioSessionControl2 GetIconPath / SetIconPath.
      mmdevapi: Implement IAudioSessionControl2 GetGroupingParam SetGroupingParam.

Giovanni Mascellani (1):
      d3d11/tests: Add a test for NV12 textures.

Hans Leidekker (8):
      wmic: Sort the alias list.
      wmic: Add csproduct and systemenclosure aliases.
      ntdll: Provide fallback values for DMI fields only readable by root.
      odbc32: Use a fixed size buffer for parameter bindings.
      odbc32: Support SQLSetStmtAttr(SQL_ATTR_ROW_ARRAY_SIZE).
      odbc32: Turn SUCCESS() into a static inline function.
      odbc32/tests: Add tests for fetching multiple rows at once and parameter binding.
      winscard: Pass ATR buffer to unixlib in SCardStatusA().

Jacek Caban (4):
      mshtml: Use DispatchEx vtbl for document node GetDispID implementation.
      mshtml: Use DispatchEx for document node InvokeEx implementation.
      mshtml: Use DISPEX_IDISPATCH_IMPL macro for document object implementation.
      mshtml: Use DispatchEx for exposing document node IDispatchEx interface.

Jacob Pfeiffer (1):
      wininet: Unify timeout values closer to hInternet.

Jinoh Kang (2):
      user32/tests: Print regions in test_swp_paint_regions failure cases.
      wow64: Implement reading multiple entries in wow64_NtQueryDirectoryObject.

Lucas Chollet (1):
      dnsapi: Add a stub for DnsServiceBrowse.

Mohamad Al-Jaf (3):
      coremessaging: Add stub DLL.
      include: Add dispatcherqueue.idl file.
      coremessaging: Add CreateDispatcherQueueController() stub.

Nikolay Sivov (3):
      scrrun/dictionary: Implement putref_Item() method.
      dwrite/tests: Fix a test failure on some Win10 machines with CJK locales.
      gdi32/text: Handle null partial extents pointer in GetTextExtentExPointW().

Paul Gofman (12):
      ntdll: Fix test_NtQueryDirectoryFile() on Win11.
      ntdll: Do not ignore trailing dots in match_filename().
      ntdll/tests: Test NtQueryDirectoryFile() masks with more files.
      ntdll: Ignore leading dots in hash_short_file_name().
      ntdll: Mind all the wildcards in has_wildcard().
      ntdll: Match wildcard recursively in match_filename().
      ntdll: Add a special handling for .. in match_filename().
      ntdll: Implement matching DOS_STAR in NtQueryDirectoryFile().
      ntdll: Implement matching DOS_DOT in NtQueryDirectoryFile().
      ntdll: Properly match DOS_QM in match_filename().
      ntdll: Skip name search for wildcards in asterisk handling in match_filename().
      kernelbase: Preprocess wildcarded mask and pass it with NtQueryDirectoryFile().

Piotr Caban (8):
      wineps.drv: Don't use dynamic buffer when writing new page info.
      wineps.drv: Write page orientation hint for every page.
      wineps.drv: Take all pages into account when computing bounding box.
      wineps.drv: Write PageBoundingBox for every page.
      wineps.drv: Add partial support for changing page size.
      msvcp140: Use _get_stream_buffer_pointers() to access FILE internal buffers.
      ucrtbase: Fix _iobuf struct layout.
      msvcrt: Don't use custom standard streams definition.

Rémi Bernon (65):
      widl: Use mangled namespace names in typedef pointer types.
      win32u: Move the window surface color bits to the common struct.
      win32u: Pass BITMAPINFO and a HBITMAP to window_surface_init.
      winex11: Simplify the XSHM extension function calls.
      winex11: Create XImage before initializing the window surface.
      winex11: Create a HBITMAP for the allocated surface pixels.
      win32u: Create a HBITMAP backing the window surface pixels.
      win32u: Restore surface rect, which may offsetted from the window rect.
      win32u: Use a dedicated helper to move bits from a previous surface.
      win32u: Don't map points to the parent window in move_window_bits_parent.
      win32u: Get rid of move_window_bits_parent, using move_window_bits.
      winemac: Merge RESET_DEVICE_METRICS and DISPLAYCHANGE internal messages.
      win32u: Fix a restorer_str typo.
      win32u: Send display change messages when host display mode changes.
      win32u: Move desktop resize on WM_DISPLAYCHANGE out of the drivers.
      gdi32: Use an internal NtUser call for D3DKMTOpenAdapterFromGdiDisplayName.
      wineandroid: Always clear UpdateLayeredWindow target rectangle.
      wineandroid: Use the surface bitmap directly in UpdateLayeredWindow.
      winemac: Always clear UpdateLayeredWindow target rectangle.
      winemac: Use the surface bitmap directly in UpdateLayeredWindow.
      winemac: Blend alpha with NtGdiAlphaBlend instead of window opacity.
      winex11: Always clear UpdateLayeredWindow target rectangle.
      winex11: Use the surface bitmap directly in UpdateLayeredWindow.
      win32u: Introduce a new CreateLayeredWindow driver entry.
      win32u: Move UpdateLayeredWindow implementation out of the drivers.
      server: Avoid calling set_event from within msg_queue_add_queue.
      win32u: Introduce new helpers to convert server rectangle_t.
      win32u: Introduce NtUserAdjustWindowRect call for AdjustWindowRect*.
      win32u: Pass desired DPI to NtUserGet(Client|Window)Rect.
      win32u: Introduce a new get_monitor_rect helper.
      win32u: Pass the rect DPI to NtUserIsWindowRectFullScreen.
      winex11: Wrap more window surface formats with NtGdiDdDDICreateDCFromMemory.
      winex11: Fix some incorrect usage of NtGdiDdDDICreateDCFromMemory.
      gdi.exe16: Fix some incorrect usage of NtGdiDdDDICreateDCFromMemory.
      winegstreamer: Allow to clear video decoder input/output types.
      winegstreamer: Enforce default stride value in the video decoder.
      winegstreamer: Enforce default stride presence in the video processor.
      winegstreamer: Rename allow_size_change to allow_format_change.
      winegstreamer: Only report format changes when frontend supports it.
      winegstreamer: Use a caps to store the desired output format.
      winegstreamer: Request the new transform output format explicitly.
      winevulkan: Remove some unnecessary casts.
      winevulkan: Fix size mismatch when writing to return pointer.
      include: Add and fix some WGL prototypes.
      winewayland: Force the DPI context when restoring cursor clipping.
      winex11: Force the DPI context when restoring cursor clipping.
      win32u: Use get_monitor_rect in more places.
      win32u: Parameterize get_clip_cursor dpi.
      win32u: Parameterize get_monitor_info dpi.
      win32u: Use window monitor DPI in get_windows_offset when dpi is 0.
      winex11: Use NtUserMapWindowPoints instead of NtUserScreenToClient.
      win32u: Call NtUserMapWindowPoints with per-monitor DPI from the drivers.
      winemac: Force thread DPI awareness when calling NtUserSetWindowPos.
      winewayland: Force thread DPI awareness when calling NtUserSetWindowPos.
      winex11: Force thread DPI awareness when calling NtUserSetWindowPos.
      winex11: Force thread DPI awareness when calling NtUserRedrawWindow.
      winex11: Force thread DPI awareness when calling NtUserChildWindowFromPointEx.
      win32u: Remove unused insert_after WindowPosChanging parameter.
      wineandroid: Remove unnecessary visible_rect initialization.
      winemac: Remove unnecessary visible_rect initialization.
      winex11: Remove unnecessary visible_rect initialization.
      win32u: Split WindowPosChanging driver call to a separate CreateWindowSurface.
      winex11: Move layered window mapping to X11DRV_UpdateLayeredWindow.
      winemac: Move layered window mapping to macdrv_UpdateLayeredWindow.
      win32u: Move WM_WINE_DESKTOP_RESIZED into driver internal messages range.

Shengdun Wang (3):
      ucrtbase/tests: Add FILE structure tests.
      ucrtbase: Always use CRITICAL_SECTION for FILE locking.
      ucrtbase: Fix FILE _flag values.

Tim Clem (1):
      gitlab: Update configuration for the new Mac runner.

Zhiyi Zhang (2):
      ws2_32/tests: Test fromlen for recvfrom().
      ntdll: Don't zero out socket address in sockaddr_from_unix().

Ziqing Hui (7):
      qasf/tests: Add more tests for dmo_wrapper_sink_Receive.
      qasf/dmowrapper: Introduce get_output_samples.
      qasf/dmowrapper: Introduce release_output_samples.
      qasf/dmowrapper: Return failure in dmo_wrapper_sink_Receive if samples allocating fails.
      qasf/dmowrapper: Allocate output samples before calling ProcessInput().
      qasf/dmowrapper: Return VFW_E_WRONG_STATE in dmo_wrapper_sink_Receive.
      qasf/dmowrapper: Sync Stop() and Receive() for dmo wrapper filter.