The Wine development release 7.17 is now available.

What's new in this release:
  - High Unicode planes support in DirectWrite.
  - Some work towards Wow64 support in the Vulkan driver.
  - Various bug fixes.

The source is available at:

  https://dl.winehq.org/wine/source/7.x/wine-7.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

You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.

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

----------------------------------------------------------------

Bugs fixed in 7.17 (total 18):

 - #11999  Endless Online game window appears as white texture
 - #27243  Wiggles: All renderers are unsupported
 - #34744  Earth 2150 fails to play .mp2 music (MPEG-1 Audio Decoder Filter needed, CLSID '{4a2286e0-7bef-11ce-9bd9-0000e202599c}')
 - #37019  Multiple games fail to start due to D3D7 devices reporting unsupported HWTRANSFORMANDLIGHT capability (Summoner, Battle Realms: Zen Edition)
 - #48986  Riot Vanguard (Riot Games) 'vgk.sys' crashes on unimplemented function ntoskrnl.exe.KeAreAllApcsDisabled
 - #51939  Riot Vanguard (Riot Games) v1.0.x.x 'vgk.sys' crashes on unimplemented function ntoskrnl.exe.IoCreateFileEx
 - #52449  Liar-soft Visual Novel's not displaying video (audio plays fine)
 - #52457  CNG Encryption Failure (BCryptEncrypt)
 - #52709  Visual Studio Community 2022 installer crashes when trying to open it
 - #53032  winedevice.exe segfaults on exit when built with GCC
 - #53337  Ice Cream Calculator: unusually slow scrolling
 - #53427  BioShock needs D3DX10PreprocessShaderFromMemory implementation
 - #53486  foobar2000.exe with foo_out_upnp breaks sending audio stream to another upnp renderer after a short period of time
 - #53544  msys2 block device fstat function depends on NtQueryVolumeInformationFile FileFsFullSizeInformation
 - #53547  msys2 installer fails to check disk space: "harddisk_query_volume Unsupported volume query 3"
 - #53560  Wizard101 fails to load in 7.15
 - #53581  Construction Set Extender crashes
 - #53601  UI rendering broken for multiple applications (7-Zip, WinRAR, foobar2000, built-in apps) in Wine 7.16 at a non-default DPI

----------------------------------------------------------------

Changes since 7.16:

Alexandre Julliard (32):
      urlmon/tests: Run tests against the gitlab server to avoid redirects.
      kernelbase: Fix error value for PE files without resource.
      include: Simplify handling of va_list in debug printf functions.
      include: Add va_list version of the debug printf functions.
      gitlab: Rename build-all job to build-linux.
      gitlab: Run CI scripts as non-root user.
      include: Add a va_list version of the wine_dbg_log function.
      include: Always use the standard varargs macros.
      kernel32/tests: Don't assume that notifications are instantaneous.
      ntdll/tests: Fix some race conditions.
      shell32: Fix sharing modes when loading/saving link files.
      unicode: Add data for high Unicode planes to the scripts table.
      unicode: Add data for high Unicode planes to the linebreak table.
      unicode: Add data for high Unicode planes to the bidi direction table.
      unicode: Add data for high Unicode planes to the Arabic shaping table.
      kernel32/tests: Don't test console flags that are modified by WINETEST_COLOR=1.
      user32/tests: Remove checks that rely on the absolute position of a top-level window.
      makedep: Make the handling of install rules more generic.
      makefiles: Add install-test target to install winetest.exe.
      winetest: Add helper functions for temp file handling.
      winetest: Add extra quiet mode that only outputs data for failed tests.
      user32/tests: Fix some assumption about absolute window positions.
      version/tests: Mark a test that fails on Wow64 as todo.
      urlmon/tests: Fix race condition in abort test.
      winetest: Report success if the report has been submitted successfully.
      gitlab: Run tests on Debian after the daily commit round.
      gitlab: Always reset the git tree after a build.
      gitlab: Fetch the full git tree with all tags.
      ntdll/tests: Remove workarounds for old Windows versions.
      ntdll: Add a helper function to allocate process parameters.
      ntdll: Use a different alignment for initial process parameters.
      shell32: Don't return an uninitialized pointer on error in enum_trash_items().

Alexandros Frantzis (1):
      msvfw32: Use window name to determine if window is created using MCIWndCreate.

Alistair Leslie-Hughes (1):
      winepulse: Use the predicate to terminate the connect cond_wait loop.

Andrey Gusev (2):
      d3dx10: Implement D3DX10PreprocessShaderFromMemory().
      user32: Implement DefRawInputProc.

Bernhard Kölbl (5):
      windows.media.speech/tests: Remove some flaky refcount checks.
      windows.media.speech: Add missing async_void_Release implementation.
      include/windows.media.speechsynthesis.idl: Add missing interfaces to SpeechSynthesizerOptions runtimeclass.
      windows.media.speech/tests: Add basic query tests for SpeechSynthesizerOptions.
      windows.media.speech/tests: Skip SpeechRecognitionListConstraint tests on Win10 1709 x32 and below.

Brendan Shanks (1):
      wow64: Don't re-enter cpu_simulate() from exception filter.

Chris Denton (1):
      bcrypt: Add basic support for pseudo-handles.

Connor McAdams (7):
      combase: Omit thread ID from the stub manager ipid for MTA objects.
      include: Add more definitions to uiautomationcoreapi.h.
      include: Add IRawElementProviderHwndOverride definition.
      uiautomationcore: Retrieve HWND from HUIANODE provider.
      uiautomationcore: Partially implement UiaGetRuntimeId.
      uiautomationcore: Add support for UIA_RuntimeIdPropertyId.
      uiautomationcore: Implement UiaHUiaNodeFromVariant.

Davide Beatrici (7):
      mmdevapi: Integrate wineoss's additions in unixlib.h.
      wineoss: Drop "oss_" prefix in unixlib enum, apply it to the functions instead.
      wineoss: Adapt "test_connect_params" struct to mmdevapi's.
      wineoss: Adapt "create_stream_params" struct to mmdevapi's.
      wineoss: Adapt "get_frequency_params" struct to mmdevapi's.
      wineoss: Adapt "get_position_params" struct to mmdevapi's.
      wineoss: Switch to mmdevapi's unixlib.h.

Eric Pouech (8):
      msvcrt: Correctly support space generation in pointers.
      msvcrt: Improve support for template in methods.
      msvcrt: Fix white space output for typecast operator.
      msvcrt: Undecorate function signature as template argument.
      msvcrt: Use enum to clarify post-processing actions.
      msvcrt: Fix order of extended qualifiers and qualifiers.
      include: Enable ANSI support in console for WINETEST_COLOR.
      msvfw32: Test window creation with filename.

François Gouget (14):
      mshtml/tests: Fix a spelling error in an ok() message.
      dbghelp: Fix a couple of spelling errors in a comment.
      mscvpdb: Fix a spelling error in a comment.
      winspool.drv/tests: Fix the spelling of a variable name.
      winealsa.drv: Make functions static where possible.
      crypt32: Remove WINAPI on static functions where not needed.
      winex11.drv: Make get_unix_file_name() static.
      dinput: Remove WINAPI on static functions where not needed.
      dinput/tests: Remove WINAPI on static functions where not needed.
      windows.media.speech: Remove WINAPI on static functions where not needed.
      winex11.drv: Use #ifdef to check config.h macros.
      mshtml: Add trailing linefeeds to a couple of FIXME() messages.
      tests: Allow marking unreliable tests as flaky.
      msvcrt: Fix the spelling of a comment.

Gabriel Ivăncescu (5):
      mshtml: Implement props for Storage by forwarding to the underlying storage.
      mshtml: Implement deleting props for Storage.
      mshtml: Do not enumerate hidden builtin props.
      mshtml: Implement GetMemberName for custom props.
      mshtml: Implement props enumeration for Storage.

Georg Lehmann (2):
      winevulkan: Fixup 64bit enum aliases later to avoid using not yet defined values.
      winevulkan: Update to VK spec version 1.3.226.

Gijs Vermeulen (1):
      msvcp140: Add _ExceptionHolder::ReportUnhandledError stub.

Hans Leidekker (1):
      bcrypt: Force symmetric key reset if necessary.

Henri Verbeet (1):
      include: Avoid _t-suffixes.

Jacek Caban (10):
      user32: Call winproc_init before dpiaware_init.
      winevulkan: Use vk_unix_call in loader.c.
      winevulkan: Use __wine_unix_call for checking Vulkan functions availability.
      winevulkan: Get rid of unix_funcs.
      winevulkan: Separate PE and Unix VkDevice structs.
      winevulkan: Separate PE and Unix VkQueue structs.
      winevulkan: Separate PE and Unix VkInstance structs.
      winevulkan: Separate PE and Unix VkPhysicalDevice strucrts.
      winevulkan: Wrap VkCommandPool on PE side.
      winevulkan: Separate PE and Unix VkCommandBuffer structs.

Joel Holdsworth (4):
      kernel32/tests: GetDiskFreeSpaceA/W test targetted at a real drive.
      kernel32/tests: Added tests for GetDiskFreeSpaceA/W with volume GUID paths.
      ntdll: Implemented NtQueryVolumeInformationFile FileFsFullSizeInformation.
      mountmgr.sys: Implemented FileFsSizeInformation and FileFsFullSizeInformation volume queries.

Julian Rüger (1):
      po: Update German translation.

Kevin Puetz (1):
      winecrt0: Remove free_delay_imports.

Lauri Kenttä (2):
      readme: Update Finnish translation.
      po: Update Finnish translation.

Lorenzo Ferrillo (1):
      comctl32: Support passing bitmap and icon resource ID as a string when creating static control.

Matteo Bruni (2):
      d3dx10/tests: Add a test for D3DX10PreprocessShaderFromMemory().
      windowscodecs/tests: Clean up after running test expected to fail.

Nikolay Sivov (29):
      evr/filter: Add IMediaEventSink stub.
      evr/filter: Add IMFTopologyServiceLookup stub.
      evr/filter: Implement media type testing for QueryAccept().
      evr/filter: Implement pin's connect/disconnect.
      bcrypt/tests: Use CRT allocation functions.
      mfsrcsnk/wave: Initialize buffer pointer in ProcessSample() (Coverity).
      evr/filter: Initialize interface pointer in GetService() (Coverity).
      win32u/hook: Fix a leak on earlier return (Coverity).
      mshtml/tests: Fix a typo in test message (Coverity).
      dwrite: Skip variation selectors in MapCharacters().
      dwrite: Add NNBSP (202F) to Mongolian fallback range.
      dwrite: Handle variation selectors 17-256 in MapCharacters().
      wbemdisp: Use wcsdup() instead of internal helper.
      msvcrt: Use size_t for the size in wcsdup().
      msvcrt: Remove mention of obsolete libwine function.
      prntvpt: Use CRT allocation functions.
      wmiutils: Use CRT allocation functions.
      dwrite: Fix spans length reported by AnalyzeScript() for characters above BMP.
      evr/filter: Notify mixer and presenter on state changes.
      dwrite: Handle higher planes when setting DWRITE_SCRIPT_SHAPES_NO_VISUAL.
      dwrite/bidi: Prepare for characters above BMP.
      dwrite: Handle higher planes characters in line breaking logic.
      evr/filter: Initial implementation of sample rendering.
      crypt32/tests: Use CRT allocation functions.
      dssenh: Use CRT allocation functions.
      dwrite/tests: Add some tests for glyph justification values.
      dwrite: Set initial justification value for default shaper.
      msidb: Use CRT allocation functions.
      ping: Use CRT allocation functions.

Piotr Caban (6):
      d3dx10: Factor out image format conversion function.
      d3dx10: Use WIC functions to obtain info about DDS image.
      d3dx10: Add support for texture cubes in D3DX10CreateTexture functions.
      d3dx10: Don't check frame count in load_texture_data.
      d3dx10: Add support for loading MipLevels data in load_texture_data.
      d3dx10/tests: Improve cube textures data testing.

Robert Wilhelm (2):
      scrrun: Test whether IFolder_get_Path() returns an absolute path.
      scrrun: Store full path in folder object.

Rémi Bernon (42):
      winemac.drv: Rename display modes cache variables.
      winemac.drv: Invalidate mode cache when enum flags changes.
      winemac.drv: Remove unnecessary macdrv_EnumDisplaySettingsEx declaration.
      winemac.drv: Check for non-primary adapter earlier in macdrv_ChangeDisplaySettingsEx.
      winemac.drv: Support getting non-primary adapter current display mode.
      winemac.drv: Support enumerating non-primary adapters display modes.
      wmvcore/tests: Use a constant for test.wmv duration.
      wmvcore/tests: Test sync reader output settings read / write.
      wmvcore/tests: Test async reader output settings read / write.
      wmvcore/tests: Test that the callback thread is always the same.
      wmvcore/tests: Test async reader compressed sample monotonic pts.
      wmvcore/tests: Test async reader DedicatedDeliveryThread setting.
      mf: Use a dedicated interface for sample allocator ready callbacks.
      mf: Delay media session command processing when presentation is ending.
      mf: Use the SESSION_FLAG_PENDING_COMMAND to delay further commands.
      mf: Notify quality manager of topology change in session_set_topology.
      win32u: Sort adapter display modes after reading from the registry.
      win32u: Support interlaced and stretched display modes.
      win32u: Move full display mode lookup out of graphics drivers.
      winex11.drv: Remove unnecessary display mode flags checks.
      winemac.drv: Remove unnecessary display mode flags checks.
      win32u: Move display placement logic out of graphics drivers.
      mf/tests: Move and split some helper code around.
      mf/tests: Keep a presentation descriptor in the test source.
      mf/tests: Allocate test callbacks dynamically and check refcounts.
      mf/tests: Add helpers to wait and check media session events.
      mf/tests: Test some IMFMediaSession_SetTopology error cases.
      mf/tests: Test that IMFTopoLoader_Load doesn't set output nodes media types.
      mf/tests: Test that IMFTopoLoader_Load sets transform nodes media types.
      mf/tests: Test that IMFMediaSession_SetTopology sets output nodes media types.
      include: Declare AudioResamplerMediaObject and MP3DecMediaObject class ids in mfidl.idl.
      include: Remove unnecessary semicolons from wmcodecdsp.idl.
      include: Add WMV encoder / decoder DMO class ids to wmcodecdsp.idl.
      include: Add more WMV media subtypes to wmcodecdsp.idl.
      winegstreamer: Rename async reader stream_thread to callback_thread.
      winegstreamer: Avoid leaking async ops on release or multiple close.
      winegstreamer: Leave WM reader CS on invalid output format.
      winegstreamer: Leave async reader callback_cs on calloc error.
      winegstreamer: Move open_stream / close_stream helpers around.
      winegstreamer: Release callback and context in async_reader_close.
      winegstreamer: Avoid waiting for callback thread on allocation failure.
      winegstreamer: Query IWMReaderCallbackAdvanced interface in Open.

Santino Mazza (3):
      advapi32/tests: Add tests for RegLoadAppKey.
      ntdll: Create NtLoadKeyEx syscall stub.
      ntdll: Move NtLoadKey implementation to NtLoadKeyEx.

Stefan Dösinger (5):
      wined3d: Tell vkd3d_shader about dual source blending.
      ddraw/tests: Avoid picking a large mode on Win10 in test_coop_level_mode_set_enum_cb.
      ddraw/tests: Avoid picking a large mode on Win10 in find_different_mode_callback.
      include/test.h: Don't use strcasecmp.
      include/test.h: Don't use \e.

Zebediah Figura (8):
      include: Add list_move_after() and list_move_before().
      msvcrt: Add SEH annotations for sse2_memcpy().
      rpcrt4: Make Ndr64AsyncClientCall() SEH-compatible.
      rpcrt4: Add SEH annotations to Ndr64AsyncClientCall().
      rpcrt4: Make NdrClientCall3() SEH-compatible.
      rpcrt4: Add SEH annotations to NdrClientCall3().
      rpcrt4: Make NdrClientCall2() SEH-compatible.
      rpcrt4: Add SEH annotations to NdrClientCall2().

Zhiyi Zhang (6):
      uxtheme/tests: Add theme tests.
      comctl32/tests: Add themed scrollbar background tests.
      uxtheme: Use the brush from WM_CTLCOLORSCROLLBAR to paint SB_CTL scrollbar tracks if present.
      uxtheme: Do not draw parent background even if scrollbar arrows and thumb are transparent.
      comctl32/datetime: Do not paint parent background when painting arrows.
      win32u: Only cache font glyph metrics from GGO_METRICS.

Ziqing Hui (9):
      d3dx10/tests: Add tests for D3DX10CreateEffectFromMemory.
      d3dx10/tests: Add tests for D3DX10CreateEffectFromFile.
      d3dx10/tests: Add tests for D3DX10CreateEffectFromResource.
      d3dx10: Introduce create_effect().
      d3dx10: Support effect creation for compiled shader.
      d3dx10: Return E_FAIL in D3DX10CreateEffectFromFile for NULL file name.
      d3dx10/tests: Test block compressed texture data which has more than one block line.
      d3d10/tests: Test NULL device for D3D10CreateEffectFromMemory and D3D10CreateEffectPoolFromMemory.
      d3d10: Handle invalid arguments for effect creation.
