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.