1 The Wine development release 7.15 is now available.
3 What's new in this release:
4 - Command lists in Direct2D.
6 - Initial Wow64 thunking in WIN32U.
7 - Optional support for colors in test output.
10 The source is available at:
12 https://dl.winehq.org/wine/source/7.x/wine-7.15.tar.xz
14 Binary packages for various distributions will be available from:
16 https://www.winehq.org/download
18 You will find documentation on https://www.winehq.org/documentation
20 You can also get the current source directly from the git
21 repository. Check https://www.winehq.org/git for details.
23 Wine is available thanks to the work of many people. See the file
24 AUTHORS in the distribution for the complete list.
26 ----------------------------------------------------------------
28 Bugs fixed in 7.15 (total 22):
30 - #40444 Find doesn't jump to a found item in WinSCP when editing a file
31 - #47057 Call of Cthulhu fails to completely load levels and trigger cutscenes
32 - #49461 Gridrunner Revolution: sound effects stop working after a while
33 - #49678 Lost Chronicles of Zerzura hangs on startup
34 - #49692 Multiple applications need a Media Foundation media source implementation
35 - #50131 Remothered: Tormented Fathers crashes on video loading
36 - #50546 Persona 4 Golden requires notification message XACTNOTIFICATIONTYPE_WAVEBANKPREPARED to play sounds.
37 - #50593 Sforzando Sample Player don't draw text, needs font fallback support
38 - #52448 Multiple visual novels display videos inside separate ActiveMovie window (Hoshi Ori Yume Mirai)
39 - #52534 ListView: multi select never sends LVN_ODSTATECHANGED
40 - #52601 The Settlers V: crashes when starting
41 - #52610 Memory corruption in PE build, when using FIXME in krnl386.exe __wine_vxd_open() function
42 - #52933 windows.media.speech:speech: The IAsyncInfo_Close() tests fail on Windows
43 - #52957 Invisible pop-ups text in SeaMonkey 2.53.12
44 - #53123 ListView: Ctrl+Shift+LMouse multiselect on LVS_OWNERDATA listviews erroneously sends LVN_ODSTATECHANGED
45 - #53196 foobar2000: Crashes randomly when opening items in menu bar while playing audio
46 - #53275 emule crashes with ntdll_set_exception_jmp_buf error
47 - #53364 Mouse does not move scroll bar in multiple applications (Framemaker 8, Audacity, Visio 2003)
48 - #53366 Can't compile AES-CCM support prior to GNUTLS version 3.4.0
49 - #53483 CFB implementation partially missing
50 - #53487 Keyboard input doesn't work for a multiple games (Witcher 3, Just Cause 4, Unravel Two)
51 - #53495 "HP" text does not render in Vestaria Saga Non-Visual Battles
53 ----------------------------------------------------------------
58 winmm/tests: Add tests for visibility of video window.
59 mciqtz32: Don't hide video window when stopping.
60 winmm/tests: Add tests for window style of video window.
61 winmm/tests: Add tests for dimensions of video window.
62 winmm/tests: Add tests for destination of video window.
63 mciqtz32: Correct video window behavior by creating default window.
64 mciqtz32: Fix MCI_DGV_WHERE_WINDOW behavior.
65 mciqtz32: Reset the video size when changing video destination.
66 mciqtz32: Hide the default video window when switching to another one.
67 mciqtz32: Show the default video window when switching from another one.
68 ieframe/tests: Add more IPropertyStorage read/write tests.
69 ieframe/tests: Add a test for IPropertySetStorage::Open with STGM_WRITE.
70 ieframe: Allow STGM_WRITE in IPropertyStorage::Open.
72 Alexandre Julliard (4):
73 faudio: Import upstream release 22.08.
74 mpg123: Import upstream release 1.30.2.
75 tiff: Import upstream release 4.4.0.
76 gitlab: Disable building image in forks.
78 Alistair Leslie-Hughes (9):
79 xactengine3_7: Add helper function to add entries.
80 xactengine3_7: Map SoundBank interfaces.
81 xactengine3_7: Map IXACT3Cue interfaces.
82 xactengine3_7: Map IXACT3Wave interfaces.
83 xactengine3_7: Record context for each notications.
84 xactengine3_7: Implement callback for supported messages.
85 xactengine3_7: Return error on invalid notification value.
86 sapi: Add AudioInput registry key.
87 include: Add coclass SpMMAudioEnum.
90 comctl32/listview: Send one deselect all items notification for LVS_OWNERDATA listviews.
91 comctl32/listview: Move sending LVN_ODSTATECHANGED notifications to a function.
92 comctl32/listview: Send LVN_ODSTATECHANGED only for LVS_OWNERDATA listviews.
93 comctl32/listview: Send LVN_ODSTATECHANGED notification for LVS_OWNERDATA listview on selection changes.
94 comctl32/listview: Don't send LVN_ODSTATECHANGED for empty ranges.
95 comctl32/tests: Add more ownerdata listview tests.
98 winebus.sys/sdl: Use the 8 absolute axes supported by DIJOYSTATE2.
101 ntdll: Use correct mcontext struct on macOS under Wow64.
102 wow64: Copy floating point and extended registers in copy_context_64to32.
103 ntdll: Fix floating point and extended registers not being restored under Wow64.
104 wow64cpu: Use -norelay for BTCpuSimulate.
107 include: Add UI Automation Event ID definitions.
108 include: Add UI Automation COM client interface definitions.
111 quartz: Open files with FILE_SHARE_DELETE in FileSource.
112 quartz: Test: Files opened with FileSource can be deleted.
114 Dmitry Timoshkov (2):
115 ntdll/tests: Fix compilation with PSDK.
116 ntdll/tests: Add a bunch of tests for creating kernel objects with the names containing '\0'.
119 shlwapi/tests: Use wide strings literals.
120 urlmon/tests: Don't use read as a global variable.
121 test.h: WINETEST_COLOR=auto only outputs colors to a TTY.
123 Gabriel Ivăncescu (10):
124 mshtml: Implement window.matchMedia() with MediaQueryList stub.
125 mshtml: Implement MediaQueryList's media prop.
126 mshtml: Implement MediaQueryList's matches prop.
127 mshtml: Semi-implement non-string primitive data for postMessage.
128 mshtml: Implement targetOrigin for postMessage.
129 mshtml: Forward Document's Invoke to InvokeEx.
130 mshtml: Implement window.location setter with a hook.
131 mshtml: Implement window.setTimeout with a hook.
132 mshtml: Implement document.location with a hook.
133 mshtml: Return DISP_E_MEMBERNOTFOUND when not finding member by DISPID.
136 winevulkan: Update to VK spec version 1.3.224.
139 bcrypt: Add AES CFB chaining mode support.
140 bcrypt: Add compatibility defines for AES CFB8.
141 nsiproxy.sys: Support media connect state on Linux.
144 user32: Forward more scroll bar messages to win32u.
145 win32u: Introduce NtUserGetWindowSysSubMenu.
146 user32: Store MDI client info on client heap.
147 user32: Use win32u to get and set MDI client info.
148 user32: Use GetClientRect in EDIT_WM_ContextMenu.
149 win32u: Introduce NtUserGetChildRect.
150 user32: Remove USER_CheckNotLock.
151 win32u: Move register_desktop_class implementation from user32.
152 user32: Always use 64-bit cbWndExtra for edit control.
153 win32u: Move builtin classes registration from user32.
154 win32u: Store DPI awareness in ntuser_thread_info.
155 win32u: Store wmchar_data in ntuser_thread_info.
156 win32u: Move msg_source and recursion_count to ntuser_thread_info.
157 win32u: Store receive_flags in ntuser_thread_info.
158 user32: Don't include ntuser_private.h.
159 win32u: Use platform-independent layout for DC_ATTR.
160 win32u: Support wow64 in NtAllocateVirtualMemory calls.
161 win32u: Use platform-independent layout for ntuser_thread_info.
162 win32u: Store thread info in 64-bit TEB on wow64.
163 win32u: Use NtUserMessageCall for NtUserSpyGetMsgName.
164 ntdll: Introduce RtlSetLastWin32Error for unixlibs that additionally sets 32-bit error on wow64.
165 include: Use RtlSetLastWin32Error in server.h.
166 win32u: Use RtlSetLastWin32Error.
167 winex11: Use RtlSetLastWin32Error.
168 wineandroid: Use RtlSetLastWin32Error.
169 winemac: Use RtlSetLastWin32Error.
170 wow64win: Set last error in 32-bit TEB in wow64 thunks.
171 wow64: Directly use CPU area in Wow64KiUserCallbackDispatcher for I386_CONTEXT.
172 wow64: Preserve TEB exception frame in Wow64KiUserCallbackDispatcher.
173 wow64win: Add initial user callbacks support.
174 win32u: Use NtUserCallMessage for passing packed winproc result.
175 wow64win: Implement more user thunks.
176 wow64win: Implement more user callbacks.
177 wow64win: Handle bitmaps and pens in wow64_NtGdiExtGetObjectW.
178 wow64win: Always set output bits pointer in wow64_NtGdiCreateDIBSection.
179 wow64win: Fix error handling in wow64_NtUserGetMessage.
180 wow64win: Fix NULL msg handling in wow64_NtUserPeekMessage.
183 d2d1/tests: Use test context for command list test.
184 d2d1: Add a command list object stub.
185 d2d1: Allow setting command list as a target.
186 include: Fix ID2D1CommandSink definition.
187 d2d1/commandlist: Implement basic state recording commands.
188 d2d1/commandlist: Implement clipping commands recording.
189 d2d1/commandlist: Implement Clear() command.
190 d2d1/commandlist: Implement DrawLine() command.
191 d2d1/commandlist: Implement DrawGeometry() command.
192 d2d1/commandlist: Implement DrawRectangle() command.
193 d2d1/commandlist: Implement FillGeometry() command.
194 d2d1/commandlist: Implement FillRectangle() command.
195 d2d1/commandlist: Implement SetTextRenderingParams() command.
196 d2d1/commandlist: Handle recording in RestoreDrawingState().
197 d2d1/commandlist: Implement DrawGlyphRun() command.
198 d2d1/commandlist: Implement DrawBitmap() command.
199 d2d1/commandlist: Implement FillMesh() command.
200 d2d1: Add a helper for DrawGlyphRun().
201 d2d1/commandlist: Update text rendering params on DrawGlyphRun().
202 dwrite: Fix stretch value validation in CreateTextFormat().
203 include: Add newer D2D command sink interface definitions.
204 d2d1: Implement setting primitive blend mode.
205 d2d1/commandlist: Fix primitive blend playback.
206 d2d1: Remove warning message for glyph run description.
207 dwrite: Add ff00-ffef range to the fallback configuration.
208 d2d1: Add parameter validation to FillOpacityMask().
209 d2d1/commandlist: Implement FillOpacityMask() command.
210 dwrite/fallback: Consider character size for returned mapped length.
211 dwrite/fallback: Make sure all consecutively mapped characters belong to the same mapping.
212 include: Fix ID2D1CommandSink::DrawImage() prototype.
213 d2d1/commandlist: Implement DrawImage() command.
214 d2d1/commandlist: Implement layer commands.
215 dwrite/tests: Add a helper to create analyzer instance.
216 dwrite/fallback: Add mappings for some CJK ranges.
217 mfplat: Add some attributes related to transcoding.
218 dwrite/fallback: Fill in some more fallback ranges for various scripts.
219 dwrite/fallback: Add Georgian and Armenian ranges.
220 mf: Add archive sink creation exported functions.
221 mfreadwrite/writer: Create archive sink automatically when writer is created from url/bytestream.
222 mfreadwrite/writer: Create output stream if it wasn't provided.
224 Olivier F. R. Dierick (1):
225 secur32: Define AES-CCM ciphers missing from GNUTLS before 3.4.0.
228 winhttp: Avoid invalid memory access in netconn_resolve().
229 ntdll: Also initialize icmp_over_dgram in sock_read().
230 ntdll: Remove redundant assignment in fixup_icmp_over_dgram().
231 d3d11: Validate layout description in d3d_input_layout_create().
234 include: Allow printing test failure messages in bright red.
237 wshom: Use signed type for ExitCode in IWshShell3::Run().
240 mf/tests: Add required SAR media type attributes tests.
241 mf: Return MF_E_NO_MORE_TYPE from AudioRenderer GetMediaTypeByIndex.
242 winegstreamer: Set the MF_MT_AUDIO_AVG_BYTES_PER_SECOND attribute.
243 mf: Implement SAR media type required attributes checks.
244 mf: Increase min_buffer_size to MF_MT_AUDIO_AVG_BYTES_PER_SECOND.
245 winegstreamer: Use the correct name for WMADecMediaObject DMO.
246 winex11.drv: Use a local desired_rect variable when placing displays.
247 winex11.drv: Use DM_POSITION field bit to mark placed displays.
248 winex11.drv: Update devmode dmPosition instead of new_rect.
249 winex11.drv: Use DEVMODEW instead of x11drv_display_setting.
250 winex11.drv: Iterate display settings using dmDriverExtra.
251 winex11.drv: Constify set_current_mode DEVMODEW parameter.
252 wmvcore/tests: Add more IWMReader_(Open|Start|Stop|Close) async checks.
253 winegstreamer: Move IWMReaderCallbackAdvanced *callback_advanced to a local variable.
254 winegstreamer: Leave the stream CS while waiting for a sample.
255 winegstreamer: Make IWMReader state transitions asynchronous.
256 gitlab: Move build steps to the build-all script.
257 gitlab: Build every commit in a merge request.
258 mf/tests: Rotate test videos 90° to better show vertical flips.
259 mf/tests: Add video processor conversion tests.
260 mf/tests: Add topology loader tests with video formats.
261 winegstreamer: Better implement Video Processor MFT.
262 mf: Use the MFT_CATEGORY_VIDEO_PROCESSOR category for converters.
263 mf: Propagate missing attributes to downstream media types.
264 win32u: Ignore DM_POSITION mode fields for available modes.
265 winemac.drv: Split best display mode lookup to a separate helper.
266 wineandroid.drv: Return early on EnumDisplaySettingsEx error.
267 win32u: Split EnumDisplaySettingsEx into CurrentDisplaySettings entry.
268 wineandroid.drv: Add missing DM_DISPLAYORIENTATION | DM_POSITION flags.
269 winemac.drv: Avoid setting DM_POSITION on enumerated modes.
270 server: Avoid reallocating rawinput device array with zero size.
271 win32u: Avoid reallocating rawinput device array with zero size.
272 win32u: Send the total number of registered devices to the server.
273 win32u: Avoid invalid access when registered device alloc failed. (Coverity).
274 wmvcore/tests: Add some IWMOutputMediaProps_SetMediaType tests.
275 winegstreamer: Implement IWMOutputMediaProps_SetMediaType.
276 qasf: Implement ASF Reader filter pin_query_accept.
277 qasf: Implement ASF Reader filter pin_get_media_type.
278 qasf: Implement ASF Reader filter pin DecideBufferSize.
279 winegstreamer: Use a wg_audio_format switch rather than array indexes.
280 winegstreamer: Use a wg_video_format switch rather than array indexes.
281 qasf: Wait for IWMReader_Open to complete in ASF Reader Load.
282 qasf: Implement ASF Reader filter init_stream and cleanup_stream.
283 qasf: Start/stop the WM reader in asf_reader_init/cleanup_stream.
284 qasf: Configure WMReader stream format in asf_reader_init_stream.
285 qasf: Configure WMReader stream selection in asf_reader_init_stream.
288 ncrypt/tests: Test for NCryptEncrypt with RSA and PKCS1 padding.
289 bcrypt/tests: Test for BCryptEncrypt with RSA keys.
290 bcrypt: Initial RSA encryption implementation.
291 ncrypt: Initial implementation for NCryptEncrypt.
294 webservices: Handle in/out parameters properly in WsCall.
295 webservices: Write the correct headers when a request message is addressed.
296 webservices: Implement error strings.
297 webservices: Support faults in error.
298 webservices: Add support for reading WS_FAULT values.
299 webservices: Detect when a message contains a fault in read_envelope_start.
300 webservices: Fill in type description for WS_FAULT_TYPE if necessary in WsReadBody.
301 webservices/tests: Add a fault reading test for WsReadBody.
302 webservices: Address the request message in WsCall.
303 webservices: Add support for receiving fault messages.
306 ddraw: Don't account video memory for sysmem surfaces' draw textures.
307 ddraw/tests: Add some video memory accounting tests.
310 ntdll: Fix leak of mach_thread_self port.
311 ntdll: Fix leak of mach_host_self port.
312 kernelbase: Don't assume the length of the process image name.
314 Zebediah Figura (14):
315 wined3d: Factor out mode_matches_filter().
316 wined3d: Build a list of wined3d_display_mode structures in wined3d_output_get_mode[_count]().
317 d3d9: Cache the output mode list.
318 d3d8: Cache the output mode list.
319 dxgi: Build the device list only once in dxgi_output_get_display_mode_list().
320 wined3d: Build the device list only once in wined3d_output_find_closest_matching_mode().
321 include: Print "succeeded inside todo block" messages in colour.
322 include: Print "test marked todo" messages in colour.
323 include: Print "test skipped" messages in colour.
324 include: Print "test succeeded" messages in colour.
325 winhttp/tests: Add some more tests for newline handling in custom header parsing.
326 winhttp: Allow custom headers to be separated by any sequence of \r and \n.
327 winhttp: Pass a length to parse_header().
328 winhttp: Don't make a copy of the string in add_request_headers().
331 include: Add IMediaParams definitions.
332 dsdmo: Add IMediaParams stub interface.
333 winegstreamer: Always check the return value from mf_media_type_from_wg_format().
334 winegstreamer: Trace mf_media_type_from_wg_format_{audio|video}().