The Wine development release 7.15 is now available.
What's new in this release: - Command lists in Direct2D. - RSA encryption. - Initial Wow64 thunking in WIN32U. - Optional support for colors in test output. - Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.15.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.15 (total 22):
- #40444 Find doesn't jump to a found item in WinSCP when editing a file - #47057 Call of Cthulhu fails to completely load levels and trigger cutscenes - #49461 Gridrunner Revolution: sound effects stop working after a while - #49678 Lost Chronicles of Zerzura hangs on startup - #49692 Multiple applications need a Media Foundation media source implementation - #50131 Remothered: Tormented Fathers crashes on video loading - #50546 Persona 4 Golden requires notification message XACTNOTIFICATIONTYPE_WAVEBANKPREPARED to play sounds. - #50593 Sforzando Sample Player don't draw text, needs font fallback support - #52448 Multiple visual novels display videos inside separate ActiveMovie window (Hoshi Ori Yume Mirai) - #52534 ListView: multi select never sends LVN_ODSTATECHANGED - #52601 The Settlers V: crashes when starting - #52610 Memory corruption in PE build, when using FIXME in krnl386.exe __wine_vxd_open() function - #52933 windows.media.speech:speech: The IAsyncInfo_Close() tests fail on Windows - #52957 Invisible pop-ups text in SeaMonkey 2.53.12 - #53123 ListView: Ctrl+Shift+LMouse multiselect on LVS_OWNERDATA listviews erroneously sends LVN_ODSTATECHANGED - #53196 foobar2000: Crashes randomly when opening items in menu bar while playing audio - #53275 emule crashes with ntdll_set_exception_jmp_buf error - #53364 Mouse does not move scroll bar in multiple applications (Framemaker 8, Audacity, Visio 2003) - #53366 Can't compile AES-CCM support prior to GNUTLS version 3.4.0 - #53483 CFB implementation partially missing - #53487 Keyboard input doesn't work for a multiple games (Witcher 3, Just Cause 4, Unravel Two) - #53495 "HP" text does not render in Vestaria Saga Non-Visual Battles
----------------------------------------------------------------
Changes since 7.14:
Akihiro Sagawa (13): winmm/tests: Add tests for visibility of video window. mciqtz32: Don't hide video window when stopping. winmm/tests: Add tests for window style of video window. winmm/tests: Add tests for dimensions of video window. winmm/tests: Add tests for destination of video window. mciqtz32: Correct video window behavior by creating default window. mciqtz32: Fix MCI_DGV_WHERE_WINDOW behavior. mciqtz32: Reset the video size when changing video destination. mciqtz32: Hide the default video window when switching to another one. mciqtz32: Show the default video window when switching from another one. ieframe/tests: Add more IPropertyStorage read/write tests. ieframe/tests: Add a test for IPropertySetStorage::Open with STGM_WRITE. ieframe: Allow STGM_WRITE in IPropertyStorage::Open.
Alexandre Julliard (4): faudio: Import upstream release 22.08. mpg123: Import upstream release 1.30.2. tiff: Import upstream release 4.4.0. gitlab: Disable building image in forks.
Alistair Leslie-Hughes (9): xactengine3_7: Add helper function to add entries. xactengine3_7: Map SoundBank interfaces. xactengine3_7: Map IXACT3Cue interfaces. xactengine3_7: Map IXACT3Wave interfaces. xactengine3_7: Record context for each notications. xactengine3_7: Implement callback for supported messages. xactengine3_7: Return error on invalid notification value. sapi: Add AudioInput registry key. include: Add coclass SpMMAudioEnum.
Angelo Haller (6): comctl32/listview: Send one deselect all items notification for LVS_OWNERDATA listviews. comctl32/listview: Move sending LVN_ODSTATECHANGED notifications to a function. comctl32/listview: Send LVN_ODSTATECHANGED only for LVS_OWNERDATA listviews. comctl32/listview: Send LVN_ODSTATECHANGED notification for LVS_OWNERDATA listview on selection changes. comctl32/listview: Don't send LVN_ODSTATECHANGED for empty ranges. comctl32/tests: Add more ownerdata listview tests.
Arkadiusz Hiler (1): winebus.sys/sdl: Use the 8 absolute axes supported by DIJOYSTATE2.
Brendan Shanks (4): ntdll: Use correct mcontext struct on macOS under Wow64. wow64: Copy floating point and extended registers in copy_context_64to32. ntdll: Fix floating point and extended registers not being restored under Wow64. wow64cpu: Use -norelay for BTCpuSimulate.
Connor McAdams (2): include: Add UI Automation Event ID definitions. include: Add UI Automation COM client interface definitions.
David Gow (2): quartz: Open files with FILE_SHARE_DELETE in FileSource. quartz: Test: Files opened with FileSource can be deleted.
Dmitry Timoshkov (2): ntdll/tests: Fix compilation with PSDK. ntdll/tests: Add a bunch of tests for creating kernel objects with the names containing '\0'.
Eric Pouech (3): shlwapi/tests: Use wide strings literals. urlmon/tests: Don't use read as a global variable. test.h: WINETEST_COLOR=auto only outputs colors to a TTY.
Gabriel Ivăncescu (10): mshtml: Implement window.matchMedia() with MediaQueryList stub. mshtml: Implement MediaQueryList's media prop. mshtml: Implement MediaQueryList's matches prop. mshtml: Semi-implement non-string primitive data for postMessage. mshtml: Implement targetOrigin for postMessage. mshtml: Forward Document's Invoke to InvokeEx. mshtml: Implement window.location setter with a hook. mshtml: Implement window.setTimeout with a hook. mshtml: Implement document.location with a hook. mshtml: Return DISP_E_MEMBERNOTFOUND when not finding member by DISPID.
Georg Lehmann (1): winevulkan: Update to VK spec version 1.3.224.
Hans Leidekker (3): bcrypt: Add AES CFB chaining mode support. bcrypt: Add compatibility defines for AES CFB8. nsiproxy.sys: Support media connect state on Linux.
Jacek Caban (37): user32: Forward more scroll bar messages to win32u. win32u: Introduce NtUserGetWindowSysSubMenu. user32: Store MDI client info on client heap. user32: Use win32u to get and set MDI client info. user32: Use GetClientRect in EDIT_WM_ContextMenu. win32u: Introduce NtUserGetChildRect. user32: Remove USER_CheckNotLock. win32u: Move register_desktop_class implementation from user32. user32: Always use 64-bit cbWndExtra for edit control. win32u: Move builtin classes registration from user32. win32u: Store DPI awareness in ntuser_thread_info. win32u: Store wmchar_data in ntuser_thread_info. win32u: Move msg_source and recursion_count to ntuser_thread_info. win32u: Store receive_flags in ntuser_thread_info. user32: Don't include ntuser_private.h. win32u: Use platform-independent layout for DC_ATTR. win32u: Support wow64 in NtAllocateVirtualMemory calls. win32u: Use platform-independent layout for ntuser_thread_info. win32u: Store thread info in 64-bit TEB on wow64. win32u: Use NtUserMessageCall for NtUserSpyGetMsgName. ntdll: Introduce RtlSetLastWin32Error for unixlibs that additionally sets 32-bit error on wow64. include: Use RtlSetLastWin32Error in server.h. win32u: Use RtlSetLastWin32Error. winex11: Use RtlSetLastWin32Error. wineandroid: Use RtlSetLastWin32Error. winemac: Use RtlSetLastWin32Error. wow64win: Set last error in 32-bit TEB in wow64 thunks. wow64: Directly use CPU area in Wow64KiUserCallbackDispatcher for I386_CONTEXT. wow64: Preserve TEB exception frame in Wow64KiUserCallbackDispatcher. wow64win: Add initial user callbacks support. win32u: Use NtUserCallMessage for passing packed winproc result. wow64win: Implement more user thunks. wow64win: Implement more user callbacks. wow64win: Handle bitmaps and pens in wow64_NtGdiExtGetObjectW. wow64win: Always set output bits pointer in wow64_NtGdiCreateDIBSection. wow64win: Fix error handling in wow64_NtUserGetMessage. wow64win: Fix NULL msg handling in wow64_NtUserPeekMessage.
Nikolay Sivov (40): d2d1/tests: Use test context for command list test. d2d1: Add a command list object stub. d2d1: Allow setting command list as a target. include: Fix ID2D1CommandSink definition. d2d1/commandlist: Implement basic state recording commands. d2d1/commandlist: Implement clipping commands recording. d2d1/commandlist: Implement Clear() command. d2d1/commandlist: Implement DrawLine() command. d2d1/commandlist: Implement DrawGeometry() command. d2d1/commandlist: Implement DrawRectangle() command. d2d1/commandlist: Implement FillGeometry() command. d2d1/commandlist: Implement FillRectangle() command. d2d1/commandlist: Implement SetTextRenderingParams() command. d2d1/commandlist: Handle recording in RestoreDrawingState(). d2d1/commandlist: Implement DrawGlyphRun() command. d2d1/commandlist: Implement DrawBitmap() command. d2d1/commandlist: Implement FillMesh() command. d2d1: Add a helper for DrawGlyphRun(). d2d1/commandlist: Update text rendering params on DrawGlyphRun(). dwrite: Fix stretch value validation in CreateTextFormat(). include: Add newer D2D command sink interface definitions. d2d1: Implement setting primitive blend mode. d2d1/commandlist: Fix primitive blend playback. d2d1: Remove warning message for glyph run description. dwrite: Add ff00-ffef range to the fallback configuration. d2d1: Add parameter validation to FillOpacityMask(). d2d1/commandlist: Implement FillOpacityMask() command. dwrite/fallback: Consider character size for returned mapped length. dwrite/fallback: Make sure all consecutively mapped characters belong to the same mapping. include: Fix ID2D1CommandSink::DrawImage() prototype. d2d1/commandlist: Implement DrawImage() command. d2d1/commandlist: Implement layer commands. dwrite/tests: Add a helper to create analyzer instance. dwrite/fallback: Add mappings for some CJK ranges. mfplat: Add some attributes related to transcoding. dwrite/fallback: Fill in some more fallback ranges for various scripts. dwrite/fallback: Add Georgian and Armenian ranges. mf: Add archive sink creation exported functions. mfreadwrite/writer: Create archive sink automatically when writer is created from url/bytestream. mfreadwrite/writer: Create output stream if it wasn't provided.
Olivier F. R. Dierick (1): secur32: Define AES-CCM ciphers missing from GNUTLS before 3.4.0.
Paul Gofman (4): winhttp: Avoid invalid memory access in netconn_resolve(). ntdll: Also initialize icmp_over_dgram in sock_read(). ntdll: Remove redundant assignment in fixup_icmp_over_dgram(). d3d11: Validate layout description in d3d_input_layout_create().
Rafał Harabień (1): include: Allow printing test failure messages in bright red.
Robert Wilhelm (1): wshom: Use signed type for ExitCode in IWshShell3::Run().
Rémi Bernon (46): mf/tests: Add required SAR media type attributes tests. mf: Return MF_E_NO_MORE_TYPE from AudioRenderer GetMediaTypeByIndex. winegstreamer: Set the MF_MT_AUDIO_AVG_BYTES_PER_SECOND attribute. mf: Implement SAR media type required attributes checks. mf: Increase min_buffer_size to MF_MT_AUDIO_AVG_BYTES_PER_SECOND. winegstreamer: Use the correct name for WMADecMediaObject DMO. winex11.drv: Use a local desired_rect variable when placing displays. winex11.drv: Use DM_POSITION field bit to mark placed displays. winex11.drv: Update devmode dmPosition instead of new_rect. winex11.drv: Use DEVMODEW instead of x11drv_display_setting. winex11.drv: Iterate display settings using dmDriverExtra. winex11.drv: Constify set_current_mode DEVMODEW parameter. wmvcore/tests: Add more IWMReader_(Open|Start|Stop|Close) async checks. winegstreamer: Move IWMReaderCallbackAdvanced *callback_advanced to a local variable. winegstreamer: Leave the stream CS while waiting for a sample. winegstreamer: Make IWMReader state transitions asynchronous. gitlab: Move build steps to the build-all script. gitlab: Build every commit in a merge request. mf/tests: Rotate test videos 90° to better show vertical flips. mf/tests: Add video processor conversion tests. mf/tests: Add topology loader tests with video formats. winegstreamer: Better implement Video Processor MFT. mf: Use the MFT_CATEGORY_VIDEO_PROCESSOR category for converters. mf: Propagate missing attributes to downstream media types. win32u: Ignore DM_POSITION mode fields for available modes. winemac.drv: Split best display mode lookup to a separate helper. wineandroid.drv: Return early on EnumDisplaySettingsEx error. win32u: Split EnumDisplaySettingsEx into CurrentDisplaySettings entry. wineandroid.drv: Add missing DM_DISPLAYORIENTATION | DM_POSITION flags. winemac.drv: Avoid setting DM_POSITION on enumerated modes. server: Avoid reallocating rawinput device array with zero size. win32u: Avoid reallocating rawinput device array with zero size. win32u: Send the total number of registered devices to the server. win32u: Avoid invalid access when registered device alloc failed. (Coverity). wmvcore/tests: Add some IWMOutputMediaProps_SetMediaType tests. winegstreamer: Implement IWMOutputMediaProps_SetMediaType. qasf: Implement ASF Reader filter pin_query_accept. qasf: Implement ASF Reader filter pin_get_media_type. qasf: Implement ASF Reader filter pin DecideBufferSize. winegstreamer: Use a wg_audio_format switch rather than array indexes. winegstreamer: Use a wg_video_format switch rather than array indexes. qasf: Wait for IWMReader_Open to complete in ASF Reader Load. qasf: Implement ASF Reader filter init_stream and cleanup_stream. qasf: Start/stop the WM reader in asf_reader_init/cleanup_stream. qasf: Configure WMReader stream format in asf_reader_init_stream. qasf: Configure WMReader stream selection in asf_reader_init_stream.
Santino Mazza (4): ncrypt/tests: Test for NCryptEncrypt with RSA and PKCS1 padding. bcrypt/tests: Test for BCryptEncrypt with RSA keys. bcrypt: Initial RSA encryption implementation. ncrypt: Initial implementation for NCryptEncrypt.
Shaun Ren (10): webservices: Handle in/out parameters properly in WsCall. webservices: Write the correct headers when a request message is addressed. webservices: Implement error strings. webservices: Support faults in error. webservices: Add support for reading WS_FAULT values. webservices: Detect when a message contains a fault in read_envelope_start. webservices: Fill in type description for WS_FAULT_TYPE if necessary in WsReadBody. webservices/tests: Add a fault reading test for WsReadBody. webservices: Address the request message in WsCall. webservices: Add support for receiving fault messages.
Stefan Dösinger (2): ddraw: Don't account video memory for sysmem surfaces' draw textures. ddraw/tests: Add some video memory accounting tests.
Tim Clem (3): ntdll: Fix leak of mach_thread_self port. ntdll: Fix leak of mach_host_self port. kernelbase: Don't assume the length of the process image name.
Zebediah Figura (14): wined3d: Factor out mode_matches_filter(). wined3d: Build a list of wined3d_display_mode structures in wined3d_output_get_mode[_count](). d3d9: Cache the output mode list. d3d8: Cache the output mode list. dxgi: Build the device list only once in dxgi_output_get_display_mode_list(). wined3d: Build the device list only once in wined3d_output_find_closest_matching_mode(). include: Print "succeeded inside todo block" messages in colour. include: Print "test marked todo" messages in colour. include: Print "test skipped" messages in colour. include: Print "test succeeded" messages in colour. winhttp/tests: Add some more tests for newline handling in custom header parsing. winhttp: Allow custom headers to be separated by any sequence of \r and \n. winhttp: Pass a length to parse_header(). winhttp: Don't make a copy of the string in add_request_headers().
Zhiyi Zhang (4): include: Add IMediaParams definitions. dsdmo: Add IMediaParams stub interface. winegstreamer: Always check the return value from mf_media_type_from_wg_format(). winegstreamer: Trace mf_media_type_from_wg_format_{audio|video}().