wine/ANNOUNCE.md
Alexandre Julliard 30c135fe86 Release 9.17.
2024-09-06 22:33:45 +02:00

16 KiB

The Wine development release 9.17 is now available.

What's new in this release:

  • Window surface scaling on High DPI displays.
  • Bundled vkd3d upgraded to version 1.13.
  • Mono engine updated to version 9.3.0
  • Improved CPU detection on ARM64.
  • Various bug fixes.

The source is available at https://dl.winehq.org/wine/source/9.x/wine-9.17.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.17 (total 29):

  • #11770 mapi32.dll.so does not support attachments for sending mail
  • #18154 cmd.exe: failure to handle file extension association
  • #18846 Anti-Grain Geometry gdiplus Demo does not render correctly
  • #26813 Multiple programs ( python-3.1.3.amd64.msi, scoop) need support for administrative install (msiexec.exe /a )
  • #42601 Foxit Reader 8.2 crashes after running for an extended period of time (>30 minutes)
  • #43472 Several apps (R-Link 2 Toolbox, Mavimplant 1.0, Kundenkartei 5) crash on startup (Wine's 'packager.dll' is preferred over native, causing failure to load app provided library with same name)
  • #48404 Can't close free game notifications from Epic Games Store
  • #49244 GdipDeleteFontFamily is declared, but does nothing
  • #50365 Starcraft Remastered black screen on launch or window only mode
  • #52687 OpenKiosk installer not working
  • #53154 Crash of EpicOnlineServicesUserHelper.exe" --setup
  • #54212 Nexus ECU Tuning Software for HALTECH ECU
  • #55322 SBCL 2.3.4: unattended msiexec in administrator mode fails
  • #55343 Game Constantine doesn't respond to key inputs.
  • #55410 msi:package fails on w8adm
  • #55804 DICOM Viewer (eFilm Workstation 2.x/3.x) aborts because libxml2 doesn't like "ISO8859-1" (builtin msxml6).
  • #55936 Sven Bømwøllen series: Several games crash after loading screen
  • #55964 wine-mono: Dlls include reference to filenames different to the files in wine-mono-8.1.0-dbgsym.tar.xz
  • #56102 Comdlg32/Color - Out of bound value is used
  • #56103 PropertySheet - CTRL+TAB and CTRL+SHIFT+TAB not processed
  • #56352 comctl32: Handle progress bar state messages
  • #57096 Hogia Hemekonomi does not start
  • #57102 Textbox-border is missing if textbox is on topmost layer of e. g. a TabControl.
  • #57103 "opengl32.dll" failed to initialize with WOW64 on Wayland
  • #57117 BsgLauncher cannot launch due to unhandled exception in System.Security.Cryptography (.NET48)
  • #57119 WPF app (VOCALOID) fails to initialize Markup
  • #57127 Dutch button labels are cut off in Wine Internet Explorer
  • #57140 ADOM fails to launch
  • #57145 Quicktime 3.02 (16-bit) setup hangs

Changes since 9.16:

Aida Jonikienė (4):
      explorer: Make the driver error message more neutral.
      msvcrt: Print less FIXMEs for ThreadScheduler_ScheduleTask*().
      msvcrt: Remove FIXME for _StructuredTaskCollection_dtor().
      msvcrt: Only print FIXME once for Context_Yield().

Alex Henrie (5):
      explorer: Make the "Wine Desktop" window title translatable.
      explorer: Don't display "Default" in the virtual desktop window title.
      ieframe: Widen toolbar buttons to accommodate Dutch translation.
      explorer: Return void from show_icon and hide_icon.
      explorer: Support the NoTrayItemsDisplay registry setting.

Alexandre Julliard (3):
      vkd3d: Import upstream release 1.13.
      ntdll: Use custom x64 thunks for syscall exports.
      ntdll: Add custom x64 thunk for KiUserExceptionDispatcher.

Alexandros Frantzis (1):
      winewayland: Rename surface buffer size to content size.

Alistair Leslie-Hughes (9):
      odbccp32: Return false on empty string in SQLValidDSNW.
      odbccp32: Check for valid DSN before delete in SQLRemoveDSNFromIniW.
      odbccp32: Correctly handle config_mode in SQLWrite/RemoveDSNFromIniW.
      odbc32: Pass through field id SQL_MAX_COLUMNS_IN_TABLE in SQLColAttribute/W.
      odbc32: Correcly convert columns ID in SQLColAttribute/W for ODBC v2.0.
      odbccp32: Only append slash if required in write_registry_values.
      include: Move ColorChannelLUT outside of if __cplusplus.
      include: Add basic constructors for Rect/RectF.
      include: Add class SizeF.

Andrew Eikum (1):
      mmdevapi: Add stub IAudioClockAdjustment implementation.

Andrew Nguyen (2):
      msi/tests: Add additional test cases for validating package template summary info strings.
      msi: Allow package template summary info strings without semicolon separator.

Arkadiusz Hiler (2):
      mmdevapi/tests: Add more IAudioClock tests.
      winepulse.drv: Implement set_sample_rate.

Aurimas Fišeras (1):
      po: Update Lithuanian translation.

Bernhard Übelacker (1):
      msxml3: Allow encoding name "ISO8859-1".

Billy Laws (2):
      ntdll: Populate the SMBIOS with ARM64 ID register values.
      wineboot: Populate ARM64 ID register registry keys using SMBIOS info.

Biswapriyo Nath (3):
      include: Add http3 flag in winhttp.h.
      include: Add input assembler related constants in d3d11.idl.
      include: Add ISelectionProvider2 definition in uiautomationcore.idl.

Brendan McGrath (2):
      windows.gaming.input: Zero 'value' in GetCurrentReading until first state change.
      winegstreamer: Allow application to drain queue.

Brendan Shanks (2):
      winemac.drv: Call CGWindowListCreateImageFromArray through a dlsym-obtained pointer.
      secur32: Ensure unixlib function tables and enum stay in sync.

Dmitry Timoshkov (2):
      dssenh: Add support for enumerating algorithms.
      dssenh: Add support for CPGetProvParam(PP_NAME).

Dylan Donnell (1):
      winegstreamer: Support IYUV alias for I420.

Elizabeth Figura (12):
      cmd/tests: Save and restore the drive when performing drive change tests.
      cmd: Do not try to handle ERROR_FILE_NOT_FOUND from CreateProcessW().
      cmd: Separate a run_full_path() helper.
      cmd: Run files with ShellExecute() if CreateProcess() fails.
      wined3d: Invalidate STATE_SHADER instead of STATE_POINT_ENABLE.
      wined3d: Invalidate the PS from wined3d_device_apply_stateblock() when texture states change.
      wined3d: Invalidate the PS from wined3d_device_apply_stateblock() when WINED3D_RS_COLORKEYENABLE changes.
      wined3d: Invalidate the PS from wined3d_device_apply_stateblock() when the texture changes.
      wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when WINED3D_RS_NORMALIZENORMALS changes.
      cmd: Allow deleting associations via ftype.
      cmd: Report an error from ftype or assoc if the value is empty.
      winegstreamer: Append HEAACWAVEINFO extra bytes to AAC user data.

Eric Pouech (5):
      cmd: Don't display dialog boxes.
      cmd/tests: Add some more tests.
      cmd: Minor fix to the lexer.
      cmd: Fix reading some input in CHOICE command.
      cmd: Strip leading white spaces and at-sign from command nodes.

Esme Povirk (2):
      mscoree: Update Wine Mono to 9.3.0.
      user32: Implement EVENT_OBJECT_FOCUS for listbox items.

Etaash Mathamsetty (1):
      win32u: Implement NtGdiDdDDIEnumAdapters.

Fabian Maurer (5):
      comctl32/tests: Add test for propsheet hotkey navigation.
      comclt32: Allow hotkeys for propsheet navigation.
      comdlg32: Update luminosity bar when changing hue/sat/lum manually.
      comdlg32: Prevent recursion inside CC_CheckDigitsInEdit.
      comdlg32: Properly handle out of bounds values.

Garrett Mesmer (1):
      ntdll: Determine the available address space dynamically for 64bit architectures.

Georg Lehmann (1):
      winevulkan: Update to VK spec version 1.3.295.

Hans Leidekker (14):
      rsaenh: Return an error on zero length only when decrypting the final block.
      wmiutils: Handle paths with implied key.
      msi: Remove traces from a couple of helpers.
      msi: Add support for the ADMIN top level action.
      msi: Implement the InstallAdminImage action.
      msiexec: Remove an obsolete fixme.
      msiexec: Don't remove quotes from properties passed on the command line.
      msi/tests: Test escaped double quote on the command line.
      msi: Bump version to 5.0.
      wpcap/tests: Skip tests when pcap_can_set_rfmon() returns PCAP_ERROR_PERM_DENIED.
      msiexec: Don't quote property values if already quoted.
      odbc32: Fix a memory leak.
      odbc32: Fix driver name query.
      odbc32: Load libodbc dynamically.

Haoyang Chen (1):
      gdiplus: Check if graphics is occupied in GdipDrawString.

Huw D. M. Davies (11):
      nsiproxy: Add linux guards for the IPv6 forward info.
      win32u: Use unsigned bitfields.
      widl: Remove unused variable.
      winedump: Remove unused variable.
      opengl32: Test the unix call function table sizes.
      combase: Group the post quit info in a structure.
      include: Always declare the imagelist read and write functions.
      winemapi: Don't write past the end of the argv array.
      secur32: Simplify the cred_enabled_protocols logic slightly.
      winecoreaudio: Set the synth volume to the greater of the left and right channels.
      widl: Avoid using sprintf() to add a single character.

Jacob Czekalla (4):
      user32/tests: Add test for edit control format rect size.
      user32/edit: Fix incorrect size for format rect when it is smaller than text.
      comctl32/tests: Add test for edit control format rect size.
      comctl32/edit: Fix incorrect size for format rect when it is smaller than text.

Jason Edmeades (2):
      cmd: Skip directories when looking for an openable file.
      cmd/tests: Test running a file with an association.

Jeremy White (1):
      winemapi: Directly use xdg-email if available.

Martin Storsjö (3):
      ntdll: Improve ARM feature checking from /proc/cpuinfo.
      include: Add new PF_* constants.
      arm64: Detect new processor features.

Nikolay Sivov (8):
      d3dx9/tests: Use explicit numeric values as expected test results.
      d3dx9/tests: Remove unused fields from effect values test data.
      d3dx9/tests: Add a test for matrix majority class.
      d3d10/effect: Rename some variable array fields to better reflect their meaning.
      d3d10/effect: Simplify setting GlobalVariables value.
      d3d10/tests: Compile some of test effects.
      d3d10/tests: Fully check matrix types.
      d3d10/tests: Fully check scalar and vector types.

Paul Gofman (10):
      concrt140: Don't forward _IsSynchronouslyBlocked functions.
      dxcore: Prefer native.
      kernel32/tests: Add a test for TLS links.
      ntdll: Reserve space for some TLS directories at once.
      ntdll: Iterate TEBs only once in alloc_tls_slot().
      ntdll: Do not use TlsLinks for enumerating TEBs.
      ntdll: Ignore HW breakpoints on the Unix side.
      uxtheme: Define a constant for default transparent colour.
      uxtheme: Try to avoid TransparentBlt() when possible.
      ntdll: Allow sending to port 0 on UDP socket to succeed.

Rémi Bernon (69):
      win32u: Only allow a custom visible rect for toplevel windows.
      win32u: Add missing thunk lock parameters callback.
      opengl32: Add missing WOW64 process_attach unixlib entry.
      opengl32: Remove unnecessary function addresses.
      winex11: Wrap x11drv_dnd_drop_event params in a struct.
      winex11: Wrap x11drv_dnd_enter_event params in a struct.
      winex11: Wrap x11drv_dnd_post_drop params in a struct.
      winex11: Use a UINT64 for the foreign_window_proc parameter.
      winex11: Route kernel callbacks through user32.
      mfmediaengine: Remove duplicate classes IDL.
      mfplat: Fix pointer dereference when caching buffer data.
      win32u: Map window region DPI before calling into the drivers.
      win32u: Map window rects DPI before calling into the drivers.
      win32u: Move window_surface creation helper to dce.c.
      win32u: Implement DPI scaled window surface.
      explorer: Use the EnableShell option to show or hide the taskbar.
      mfreadwrite: Always try inserting a converter for non-video streams.
      winewayland: Require the wp_viewporter protocol.
      winewayland: Set the window viewport source rectangle.
      winewayland: Create the window surface buffer queue unconditionally.
      winewayland: Avoid recreating window surface buffer queues.
      mfsrcsnk: Refactor sink class factory helpers.
      mfsrcsnk: Register the AVI Byte Stream Handler class.
      mfsrcsnk: Register the WAV Byte Stream Handler class.
      mfmp4srcsnk: Register the MPEG4 Byte Stream Handler class.
      mfasfsrcsnk: Register the Asf Byte Stream Handler class.
      mfmp4srcsnk: Register the MP3 and MPEG4 sink factory classes.
      winewayland: Remove unnecessary logical to physical DPI mapping.
      winex11: Map message pos to physical DPI in move_resize_window.
      win32u: Map rect to window DPI in expose_window_surface.
      win32u: Pass window_from_point dpi to list_children_from_point.
      server: Pass window's per-monitor DPI in set_window_pos.
      user32: Move dpiaware_init to SYSPARAMS_Init.
      explorer: Make the desktop thread per-monitor DPI aware.
      win32u: Stop setting DPI_PER_MONITOR_AWARE by default.
      colorcnv: Register the Color Converter DMO class.
      msvproc: Register the Video Processor MFT class.
      resampledmo: Register the Resampler DMO class.
      wmadmod: Register the WMA Decoder DMO class.
      msauddecmft: Register the AAC Decoder MFT class.
      wmvdecod: Register the WMV Decoder DMO class.
      msmpeg2vdec: Register the H264 Decoder MFT class.
      mfh264enc: Register the H264 Encoder MFT class.
      gitlab: Install FFmpeg development libraries.
      winewayland: Post WM_WAYLAND_CONFIGURE outside of the surface lock.
      winewayland: Introduce a new ensure_window_surface_contents helper.
      winewayland: Introduce a new set_window_surface_contents helper.
      winewayland: Introduce a new get_window_surface_contents helper.
      winewayland: Reset the buffer damage region immediately after copy.
      winewayland: Move window contents buffer to wayland_win_data struct.
      winewayland: Get rid of wayland_surface reference from window_surface.
      winewayland: Get rid of window_surface reference from wayland_win_data.
      winewayland: Introduce a new wayland_client_surface_create helper.
      winewayland: Get rid of the window surface individual locks.
      include: Declare D3DKMT resource creation functions.
      include: Declare D3DKMT keyed mutex creation functions.
      include: Declare D3DKMT sync object creation functions.
      win32u: Stub D3DKMTShareObjects.
      win32u: Stub D3DKMT resource creation functions.
      win32u: Stub D3DKMT keyed mutex creation functions.
      win32u: Stub D3DKMT sync object creation functions.
      quartz: Simplify the filter registration code.
      quartz: Move registration code to main.c.
      quartz: Register the MPEG1 Splitter class.
      quartz: Register the AVI Splitter class.
      quartz: Register the WAVE Parser class.
      quartz: Register the MPEG Audio Decoder class.
      quartz: Register the MPEG Video Decoder class.
      l3codecx.ax: Register the MP3 Decoder class.

Sebastian Lackner (1):
      packager: Prefer native version.

Sergei Chernyadyev (2):
      comctl32/tooltip: Support large standard title icons.
      explorer: Support large tooltip icons.

Tim Clem (5):
      nsiproxy: Implement TCP table on top of a server call.
      nsiproxy: Implement UDP table on top of a server call.
      nsiproxy: Remove now unused git_pid_map and find_owning_pid.
      iphlpapi/tests: Confirm that GetExtendedTcpTable associates a socket with the correct PID.
      iphlpapi/tests: Confirm that GetExtendedUdpTable associates a socket with the correct PID.

Topi-Matti Ritala (1):
      po: Update Finnish translation.

Torge Matthies (2):
      winemac: Route kernel callbacks through user32.
      user32: Remove NtUserDriverCallback* kernel callbacks.

Vibhav Pant (2):
      ntoskrnl: Implement IoGetDevicePropertyData().
      ntoskrnl/tests: Add test for getting and setting device properties.

Ziqing Hui (4):
      mf/tests: Test h264 encoder sample processing.
      mf/tests: Test codecapi for h264 encoder.
      winegstreamer/video_encoder: Add ICodecAPI stubs.
      winegstreamer/video_encoder: Initially implement ProcessOutput.