winewayland.drv: Implement vkGetPhysicalDeviceSurfaceSupportKHR.
[wine.git] / ANNOUNCE
blob92196672ebd776127d94a3ddc7683f2966bb7a7d
1 The Wine development release 8.20 is now available.
3 What's new in this release:
4   - More DirectMusic implementation.
5   - Protocol associations exported to the Unix desktop.
6   - Code cleanups in preparation for code freeze.
7   - Various bug fixes.
9 The source is available at:
11   https://dl.winehq.org/wine/source/8.x/wine-8.20.tar.xz
13 Binary packages for various distributions will be available from:
15   https://www.winehq.org/download
17 You will find documentation on https://www.winehq.org/documentation
19 You can also get the current source directly from the git
20 repository. Check https://www.winehq.org/git for details.
22 Wine is available thanks to the work of many people. See the file
23 AUTHORS in the distribution for the complete list.
25 ----------------------------------------------------------------
27 Bugs fixed in 8.20 (total 20):
29  - #22904  Register URL protocol handlers under Linux
30  - #52716  Sending key stroke (using [System.Windows.Forms.SendKeys]::SendWait) fails (seems to go into a loop?)
31  - #53213  d3d10core:d3d10core & d3d11:d3d11 - test_texture() fails in the TestBot VMs
32  - #53217  d3d10core:d3d10core & d3d11:d3d11 - test_cube_maps() crashes on gitlab-debian-32
33  - #53218  d3d10core:d3d10core & d3d11:d3d11 - test_uint_shader_instructions() fails on llvmpipe
34  - #54399  d3d11:d3d11 - test_vertex_formats() fails on Windows 11 + AMD
35  - #54519  d3d9:visual - test_mipmap_upload() fails on AMD and Nvidia GPUs
36  - #54780  UndertaleModTool display regression since wine-staging 8.4
37  - #55316  d3d10core:d3d10core & d3d11:d3d11 fail systematically on w11pro64-amd
38  - #55608  NAM won't open on new update
39  - #55679  warframe doesn't start in experimental wow64 mode
40  - #55715  Folio Views 4 crashes when storing a changed file
41  - #55742  wine crashes when launching Captvty V3
42  - #55782  System.Windows.Forms expects CreateActCtx() to succeed with truncated ACTCTX structure
43  - #55789  Spectralayers 9 Pro crashes on audio playback
44  - #55797  Max Payne (2001) has no sound
45  - #55838  wget.exe fails to download anything (regression)
46  - #55839  NtCreateSymbolicLinkObject fails with STATUS_OBJECT_TYPE_MISMATCH
47  - #55842  Neverwinter Nights 2 Complete (GOG.com) crashes while starting a new game from the menu
48  - #55856  cygwin hangs during installation at libzstd1-1.5.5-1
50 ----------------------------------------------------------------
52 Changes since 8.19:
54 Alex Henrie (63):
55       find/tests: Use CRT allocation functions.
56       msscript: Use CRT allocation functions.
57       uninstaller: Use CRT allocation functions.
58       uxtheme/tests: Use CRT allocation functions.
59       loader: Associate Wine with internet shortcuts.
60       winemenubuilder: Disallow desktop integration for internet shortcuts.
61       d3d10core/tests: Use CRT allocation functions.
62       d3d11/tests: Use CRT allocation functions.
63       d3d8: Use CRT allocation functions.
64       d3d8/tests: Use CRT allocation functions.
65       d3d9: Use CRT allocation functions.
66       d3d9/tests: Use CRT allocation functions.
67       ddraw: Use CRT allocation functions.
68       ddraw/tests: Use CRT allocation functions.
69       dxgi: Use CRT allocation functions.
70       dxgi/tests: Use CRT allocation functions.
71       dplayx: Use CRT allocation functions.
72       ninput: Use CRT allocation functions.
73       browseui: Use the wcsdup function instead of reimplementing it.
74       fsutil/tests: Use CRT allocation functions.
75       user32/tests: Use CRT allocation functions.
76       sechost: Use CRT allocation functions.
77       quartz: Use debugstr_fourcc instead of debugstr_an.
78       adsldp: Remove unused heap.h include.
79       avrt: Use CRT allocation functions.
80       dhcpcsvc: Use CRT allocation functions.
81       dhcpcsvc/tests: Use CRT allocation functions.
82       diasymreader: Use CRT allocation functions.
83       dsuiext: Use CRT allocation functions.
84       iccvid: Use CRT allocation functions.
85       inseng: Use CRT allocation functions.
86       jsproxy: Use CRT allocation functions.
87       mp3dmod: Use CRT allocation functions.
88       msado15: Remove unused heap.h include.
89       msasn1: Use CRT allocation functions.
90       msdasql: Use CRT allocation functions.
91       msident: Use CRT allocation functions.
92       mspatcha: Use CRT allocation functions.
93       mstask: Use CRT allocation functions.
94       msvfw32/tests: Use CRT allocation functions.
95       netio: Use CRT allocation functions.
96       wtsapi32: Use CRT allocation functions.
97       gdiplus/tests: Use CRT allocation functions.
98       include: Annotate MIDL_user_allocate with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
99       gdi32/tests: Use CRT allocation functions.
100       winmm/tests: Use CRT allocation functions.
101       setupapi/tests: Use CRT allocation functions.
102       virtdisk/tests: Use CRT allocation functions.
103       vulkan-1/tests: Use CRT allocation functions.
104       winemenubuilder: Create .desktop files for programs that open URIs.
105       winecfg: Mention protocol associations.
106       winegstreamer: Remove unused heap.h include.
107       msiexec: Use CRT allocation functions.
108       windows.media.devices: Use CRT allocation functions.
109       winecoreaudio: Remove unused heap.h include.
110       shdocvw: Use CRT allocation functions.
111       urlmon/tests: Use CRT allocation functions.
112       ddrawex: Use CRT allocation functions.
113       devenum: Use CRT allocation functions.
114       wmvcore: Use CRT allocation functions.
115       Revert "dsound: Get rid of the global device GUID arrays.".
116       dsound: Dynamically allocate the global device GUID arrays.
117       nsi: Use CRT allocation functions.
119 Alexandre Julliard (58):
120       server: Fix returned error when creating an existing symlink.
121       user32: Enable a few more hook tests.
122       ntdll: Also update code ranges for pure ARM64EC binaries.
123       ntdll: Remove an unused global variable.
124       ntdll: Only check Wow64 system directories for 32-bit platforms.
125       kernelbase: Only support Wow64 system directories for 32-bit platforms.
126       wow64: Only support Wow64 system directories for 32-bit platforms.
127       server: Only create Wow64 system directories for 32-bit platforms.
128       winegcc: Use a temp file for the implicitly created import library.
129       makefiles: Always use the global SOURCES variable for .idl files.
130       makefiles: Always use the global SOURCES variable for .rc files.
131       makefiles: Always use the global SOURCES variable for .c files.
132       msvcrt: Use the public definitions for the UNDNAME_ flags.
133       winedump: Re-import the demangling code from msvcrt.
134       opengl32: Make the GL driver function table const.
135       odbc32: Make the Unix function table const.
136       include: Make sure that Unix function tables are always const.
137       include: Use NTSYSAPI for all ntdll exports.
138       include: Use proper dllimports for win32u functions.
139       include: Use proper dllimports for dbghelp functions.
140       include: Use proper dllimports for iphlpapi functions.
141       include: Use proper dllimports for setupapi functions.
142       include: Use proper dllimports for uxtheme functions.
143       include: Use proper dllimports for cryptdlg functions.
144       include: Use proper dllimports for eventlog functions.
145       include: Use proper dllimports for httpapi functions.
146       include: Use proper dllimports for url functions.
147       include: Use proper dllimports for mimeole functions.
148       include: Use proper dllimports for winmm functions.
149       include: Use proper dllimports for pathcch functions.
150       include: Use proper dllimports for propsys functions.
151       include: Use proper dllimports for userenv functions.
152       include: Use proper dllimports for credui functions.
153       include: Use proper dllimports for winscard functions.
154       include: Use proper dllimports for slc functions.
155       include: Use proper dllimports for wmi functions.
156       include: Use proper dllimports for olectl functions.
157       include: Use proper dllimports for more wininet functions.
158       ddraw: Use SecureZeroMemory to clear the clipper vtbl.
159       include: Remove DECLSPEC_HIDDEN from standard Dll* functions.
160       include: Remove DECLSPEC_HIDDEN from winecrt0 functions.
161       include: Remove DECLSPEC_HIDDEN from RPC functions.
162       include: Remove DECLSPEC_HIDDEN from GUID definitions.
163       widl: Remove DECLSPEC_HIDDEN from generated files.
164       configure: Use hidden visibility also when building Unix libraries.
165       wineoss.drv: Allocate the MIDI device array dynamically.
166       winealsa.drv: Allocate the MIDI device array dynamically.
167       rpcrt4: Generate stubless thunks at compile time.
168       rpcrt4: Generate vtbl delegating thunks at compile time.
169       win32u: Fix handling of process default DPI awareness.
170       winevdm: Don't claim that 16-bit apps are DPI aware.
171       makefiles: Support arch-specific IDL flags.
172       widl: Make the alignment option generic instead of win32/win64-specific.
173       configure: Remove no longer used WINE_TRY_SHLIB_FLAGS macro.
174       configure: Assume that pthread.h is present.
175       configure: Consistently use HOST_ARCH for platform checks.
176       opengl32: Remove DECLSPEC_HIDDEN usage.
177       winevulkan: Remove DECLSPEC_HIDDEN usage.
179 Alfred Agrell (14):
180       winegstreamer: Don't read format from unparsed MPEG audio.
181       winegstreamer: Clamp QoS events to stay inside the stream's running time.
182       winegstreamer: Seek to end of stream instead of to stream duration.
183       winegstreamer: Include the framerate when converting video format to GstCaps.
184       winegstreamer: Improve and clean up some debug logs.
185       winegstreamer: Implement IAMStreamSelect::Count in CLSID_MPEG1Splitter.
186       winegstreamer: Implement parts of IAMStreamSelect::Info in CLSID_MPEG1Splitter.
187       winegstreamer: Add output_compressed parameter to wg_parser_create().
188       winegstreamer: Use the new output_compressed property instead of mpegaudioparse in MPEG splitter.
189       winegstreamer: Add WG_MAJOR_TYPE_VIDEO_MPEG1 media type.
190       winegstreamer: Add program stream and video output support to CLSID_MPEG1Splitter.
191       winegstreamer: Implement CLSID_CMpegVideoCodec.
192       quartz/tests: Add tests for new CLSID_MPEG1Splitter functionality.
193       quartz/tests: Add tests for CLSID_CMpegVideoCodec.
195 Alistair Leslie-Hughes (26):
196       include: Add some DBCOLUMN defines.
197       msdasql: Use DBINITCONSTANTS to get guid values.
198       hlink: Remove DECLSPEC_HIDDEN usage.
199       msimtf: Remove DECLSPEC_HIDDEN usage.
200       sechost: Remove DECLSPEC_HIDDEN usage.
201       browseui: Remove DECLSPEC_HIDDEN usage.
202       wintrust: Remove DECLSPEC_HIDDEN usage.
203       uiautomationcore: Remove DECLSPEC_HIDDEN usage.
204       gameux: Remove DECLSPEC_HIDDEN usage.
205       propsys: Remove DECLSPEC_HIDDEN usage.
206       hnetcfg: Remove DECLSPEC_HIDDEN usage.
207       sti: Remove DECLSPEC_HIDDEN usage.
208       advpack: Remove DECLSPEC_HIDDEN usage.
209       mstask: Remove DECLSPEC_HIDDEN usage.
210       uiribbon: Remove DECLSPEC_HIDDEN usage.
211       itss: Remove DECLSPEC_HIDDEN usage.
212       rsaenh: Remove DECLSPEC_HIDDEN usage.
213       ntoskrnl.exe: Remove DECLSPEC_HIDDEN usage.
214       mpr: Remove DECLSPEC_HIDDEN usage.
215       msdasql: IColumnsRowset::GetAvailableColumns return 3 meta columns to allow updating of a row.
216       comdlg32: Remove DECLSPEC_HIDDEN usage.
217       msacm32: Remove DECLSPEC_HIDDEN usage.
218       uxtheme: Remove DECLSPEC_HIDDEN usage.
219       wmiutils: Remove DECLSPEC_HIDDEN usage.
220       msi: Remove DECLSPEC_HIDDEN usage.
221       winhttp: Remove DECLSPEC_HIDDEN usage.
223 Anton Baskanov (12):
224       dmsynth: Offset the loop points by 8 frames.
225       dmsynth: Handle pitch bend events.
226       dmsynth: Use correct transform for controls.
227       dmsynth: Correctly handle internal connections with controls.
228       dmsynth: Activate reverb and chorus according to effect flags.
229       dmsynth: Return void from add_mod_from_connection().
230       dmsynth: Keep track of voice/wave mapping.
231       dmsynth: Use generators to set root key and fine tune.
232       dmsynth: Create one FluidSynth sample per wave.
233       dmsynth: Remove useless private data checks.
234       dmsynth: Free the allocated presets manually.
235       dmsynth: Don't leak modulators.
237 Aurimas Fišeras (1):
238       po: Update Lithuanian translation.
240 Bartosz Kosiorek (35):
241       gdiplus/tests: Add default tension tests for GdipAddPath*Curve.
242       gdiplus: Fix default tension for GdipAddPathCurve and GdipAddPathClosedCurve.
243       gdiplus/tests: Add tests for GdipSetPenTransform.
244       gdiplus: Add additional check to GdipSetPenTransform.
245       gdiplus/tests: Extend AddPathCurve3 test with offset and nseg.
246       gdiplus: Move main Curve implementation from GdipAddPathCurve2 to GdipAddPathCurve3.
247       gdiplus: Fix GdipAddPathCurve3 curve calculation with offset and nseg variables.
248       msvcrt: Add _mbsdec_l implementation.
249       msvcrt: Add _mbslwr_l implementation.
250       msvcrt: Add _mbsrchr_l implementation.
251       msvcrt: Add _cprintf_l implementation.
252       msvcrt: Add _cwprintf_l implementation.
253       msvcrt: Add _mbsnbcat_l implementation.
254       msvcrt: Add _mbsbtype_l implementation.
255       msvcrt: Fix _mbslwr_s_l implementation.
256       msvcrt: Add _mbsupr_l implementation.
257       msvcrt: Add _mbsnbcmp_l implementation.
258       msvcrt: Add _mbsnbcnt_l implementation.
259       msvcrt: Add _mbsncpy_l implementation.
260       msvcrt: Add _mbsnicmp_l implementation.
261       msvcrt: Fix _strnicmp and _strnicmp_l implementation.
262       msvcrt: Add _mbsnbcat_s_l implementation.
263       msvcrt: Add _mbsnbcpy_l implementation.
264       msvcrt: Add _mbsnbicmp_l implementation.
265       msvcrt: Add _mbsnbset_l implementation.
266       msvcrt: Add _mbsncat_l implementation.
267       msvcrt: Add _mbsnccnt_l implementation.
268       msvcrt: Add _mbsnset_l implementation.
269       msvcrt: Add _mbspbrk_l implementation.
270       msvcrt: Add __iswcsym implementation.
271       msvcrt: Add __iswcsymf implementation.
272       msvcrt: Add _mbsncmp_l implementation.
273       msvcrt: Add _mbsrev_l implementation.
274       msvcrt: Add _mbsset_l implementation.
275       msvcrt: Add _mblen_l implementation.
277 Brendan Shanks (5):
278       localspl: Ensure unixlib function tables and enum stay in sync.
279       qcap: Ensure unixlib function tables and enum stay in sync.
280       winemac.drv: Fix minimizing windows programmatically from Win32 when Stage Manager is enabled.
281       ntdll/unix: Replace some malloc/sprintf calls with asprintf.
282       ntdll/unix: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
284 Christian Costa (1):
285       wined3d: Add entry info for NVidia RTX 3070.
287 Connor McAdams (5):
288       uiautomationcore: Implement IRawElementProviderFragment::GetEmbeddedFragmentRoots for MSAA providers.
289       uiautomationcore: Don't return failure from ::GetEmbeddedFragmentRoots stub on the default BaseHwnd provider.
290       uiautomationcore: Don't set HRESULT when attempting to advise currently focused HUIANODE.
291       uiautomationcore: Return TRUE from UiaClientsAreListening().
292       oleaut32: Lock ITypeLib2 interface reference count behind the typelib cache critical section on Release.
294 Daniel Lehman (4):
295       msxml4/tests: Use wide string literals.
296       msmxl4/tests: Add tests for get_xml.
297       msxml6/tests: Use wide string literals.
298       msxml6/tests: Add tests for get_xml.
300 Dmitry Timoshkov (9):
301       kernel32/tests: Add some tests for CreateActCtx() with different structure sizes.
302       kernel32: Add ACTCTX field limit checks to CreateActCtxA().
303       ntdll: Add ACTCTX field limit checks to RtlCreateActivationContext().
304       uxtheme/tests: Move the IsThemePartDefined() test before hTheme handle is closed.
305       uxtheme/tests: Add a test for OpenThemeData("explorer::treeview").
306       uxtheme: Parse app/class name in OpenThemeData().
307       uxtheme/tests: Add a test for SetWindowTheme/OpenThemeData sequence.
308       uxtheme: Move fall back to default class to MSSTYLES_OpenThemeClass().
309       uxtheme: If the application class is already set then OpenThemeData() should fail.
311 Eric Pouech (22):
312       dpnsvr: Move to GUI subsystem (as native).
313       spoolsv: Move to GUI subsystem (as native).
314       svchost: Move to GUI subsystem (as native).
315       services: Move to GUI subsystem (as native).
316       pdh: Zero out magic fields with SecureZeroMemory().
317       dssenh: Use SecureZeroMemory to clear magic fields.
318       secur32: Use SecureZeroMemory to clear magic fields.
319       user32: Use SecureZeroMemory to clear magic fields.
320       winscard: Use SecureZeroMemory() to clear magic fields.
321       wintrust: Use SecureZeroMemory() to clear magic fields.
322       wsdapi: Use SecureZeroMemory() to clear magic fields.
323       wininet: Use SecureZeroMemory() to clear magic fields.
324       msvcrt/tests: Improve environment tests (initial conditions).
325       msvcrt/tests: Add tests about allocation of environment entries.
326       msvcrt/tests: Add tests about intricating kernel32 and msvcrt env calls.
327       msvcrt/tests: Test adding Unicode env variables.
328       msvcrt: Use msvcrt heap for allocating envionment data.
329       msvcrt: Fix getmainargs() family to return correct environment block.
330       taskmgr: No longer use console/file output APIs.
331       wordpad: Remove unneeded output messages.
332       mshta: No longer use console / crt API.
333       winebrowser: Remove misleading comment.
335 Esme Povirk (1):
336       user32/tests: Improve timer measurement method.
338 Fabian Maurer (2):
339       winegstreamer: Implement IWMResamplerProps.
340       msvcrt: Fsetpos resets EOF flag.
342 Floris Renaud (1):
343       po: Update Dutch translation.
345 Gabriel Ivăncescu (24):
346       mshtml: Keep ref from the document node to the inner window.
347       mshtml: Properly traverse document nodes.
348       mshtml/tests: Test parent window links after navigation.
349       mshtml: Keep ref from the ImageElementFactory to the inner window.
350       mshtml: Keep ref from the OptionElementFactory to the inner window.
351       mshtml: Keep ref from the XMLHttpRequestFactory to the inner window.
352       mshtml: Keep ref from LocalStorage and SessionStorage to the inner window.
353       mshtml: Keep ref from the OmHistory to the inner window.
354       mshtml: Keep refs from the Attributes and AttributeCollection to the Element.
355       mshtml: Keep ref from the associated Style to the Element.
356       mshtml: Traverse and unlink the Element referenced from the CurrentStyle.
357       mshtml: Traverse and unlink the style_sheet referenced from the StyleElement.
358       mshtml: Release the returned lists from Gecko's QuerySelectorAll even on error.
359       mshtml: Fix window leak on error in async_stop_request.
360       jscript: Fix EnumVARIANT leak in enumerators.
361       jscript: Fix value leak in Array.shift.
362       jscript: Fix array leak in Array.filter.
363       jscript: Don't addref before calling jsdisp_propput_name.
364       jscript: Fix value arg leak in transform_json_object.
365       jscript/tests: Fix variant leak after conversion when testing VariantChangeType.
366       jscript/tests: Fix Date object leak in test_default_value.
367       mshtml/tests: Fix BindInfo leak in htmldoc test.
368       mshtml: Return outer window to external callers.
369       mshtml: Don't NULL out the doc's window when unlinking the window.
371 Hans Leidekker (4):
372       gdi32/tests: Skip broken Noto Color Emoji font in character width test.
373       win32u: Get rid of a special case for non-scalable fonts in NtGdiGetCharABCWidthsW().
374       ntdll: Bump current build number to 19043 (Win10 2009).
375       advapi32/tests: Get rid of an unreliable eventlog test.
377 Jacek Caban (14):
378       configure: Disable -Wmicrosoft-enum-forward-reference warnings.
379       msctf: Avoid implicit enum casts.
380       qmgr: Avoid implicit enum casts.
381       shcore: Avoid implicit enum casts.
382       webservices: Store xmlbuf encoding as unsigned int.
383       gdiplus/tests: Avoid implicit casts from MetafileType to EmfType.
384       gdiplus: Avoid implicit enum casts.
385       d3d11: Explicitly convert enums in d3d_depthstencil_state_create.
386       d3d11/tests: Use D3D11_INPUT_CLASSIFICATION variant of D3D10_INPUT_CLASSIFICATION.
387       d3d8: Use designated initializers in tss_lookup.
388       ddraw: Use designated initializers in tss_lookup.
389       kernel32/tests: Remove unused variable.
390       msvcrt/tests: Don't define structs types inside other struct declaration.
391       msvcp60: Use char type for FROZEN macro.
393 Louis Lenders (2):
394       uxtheme: Add stub for SetPreferredAppMode.
395       uxtheme: Add stub for AllowDarkModeForWindow.
397 Nikolay Sivov (6):
398       include: Correct ID3D10EffectPool interface uuid.
399       shell32: Fix string size condition check (Coverity).
400       mf/samplegrabber: Release current media type on shutdown.
401       mf/samplegrabber: Check shutdown state when setting the clock.
402       mf/samplegrabber: Reset the clock before OnShutdown().
403       mf/samplegrabber: Use OnSetPresentationClock() on shutdown as well.
405 Owen Rudge (1):
406       comdlg32: Perform case-insensitive comparison of extension in file dialog.
408 Paul Gofman (13):
409       mfplat/buffer: Use absolute pitch in memory_1d_2d_buffer_[Un]Lock().
410       mfplat/tests: Add more tests for copying 2d buffers.
411       mfplat/buffer: Do not flip in memory_2d_buffer_ContiguousCopy{From|To}().
412       mfplat/sample: Refactor sample_CopyToBuffer().
413       mfplat/sample: Optimize copying to 2d buffer.
414       ntdll: Handle LFH blocks allocated in large blocks in heap_validate_ptr().
415       ntdll: Fix pending free block validation in heap_validate() for LFH blocks.
416       kernelbase: Don't inherit all the handles in conhost.exe.
417       user32: Return empty string from LoadStringW() if resource is not found.
418       user32: Put 0 to output string even for 1 char buffer in LoadStringW().
419       kernelbase: Return empty string from LoadStringW() if resource is not found.
420       kernelbase: Put 0 to output string even for 1 char buffer in LoadStringW().
421       winmm: Fix pszSound allocation in PlaySound_Alloc().
423 Rémi Bernon (24):
424       dmime: Send notification messages with DMUS_PMSGF_TOOL_IMMEDIATE.
425       dmime/tests: Add a track and longer segment to notifications tests.
426       dmime: Use the current time if PlaySegmentEx start_time is 0.
427       dmime: Send DMUS_NOTIFICATION_SEGALMOSTEND before DMUS_NOTIFICATION_SEGEND.
428       dmime/tests: Check more notification / dirty messages fields.
429       dmime: Fix performance message requeue-ing from the message thread.
430       dmband: Support start_time and end_time Play parameters.
431       dmime: Support start_time and end_time Play parameters.
432       dmime: Implement segment state chunked playback.
433       dmime: Send notification messages from segment_play_chunk.
434       dmime/tests: Test IDirectMusicPerformance_GetSegmentState.
435       dmime: Implement IDirectMusicPerformance_GetSegmentState semi-stub.
436       dmime/tests: Test tempo track Play and DMUS_PMSGT_TEMPO messages.
437       dmime/tests: Test tempo track GetParam with GUID_TempoParam.
438       dmime: Fix tempo track GetParam with GUID_TempoParam implementation.
439       dmime/tests: Add helpers to scale and check music time with tempo.
440       dmime/tests: Test playing tempo track effect on performance times.
441       dmime: Support playing secondary and control segments.
442       dmime: Better implement performance times with tempo track.
443       dmime: Rename struct pchannel_block to struct channel_block.
444       dmime: Use a dedicated struct channel to hold performance channels.
445       dmime: Introduce a new performance_get_channel helper.
446       dmime: Simplify and rename channel_block_set to channel_block_init.
447       dmime: Avoid leaking performance channel block ports.
449 Santino Mazza (1):
450       mf: Handle errors with source event generator in session.
452 Shaun Ren (2):
453       msttsengine: Add stub dll.
454       msttsengine: Add ISpTTSEngine stub.
456 Sven Baars (1):
457       advapi32/tests: Fix a typo (Coverity).
459 Tim Clem (1):
460       msvcrt: Promote the log from _wassert from a trace to an error.
462 Victor Chiletto (1):
463       msvcrt, ucrtbase: Introduce rewind_preserve_stack.
465 Yuxuan Shui (2):
466       include: Add InterlockedExchangeAdd16.
467       ntdll: Tweak the binary representation of SRWLOCK.
469 Zebediah Figura (28):
470       ws2_32/tests: Add a regression test for interaction of sock_reselect() with event select.
471       server: Only set sock->event when the event is first noticed.
472       d3d11/tests: Do not test the w component for DXGI_FORMAT_B8G8R8X8_UNORM in test_vertex_formats().
473       d3d9/tests: Do not test sysmem textures in test_mipmap_upload().
474       d3d8/tests: Do not test sysmem textures in test_mipmap_upload().
475       d3d10core/tests: Do not test GSInvocations in test_pipeline_statistics_query().
476       d3d11/tests: Do not test GSInvocations in test_pipeline_statistics_query().
477       d3d10core/tests: Use slightly different values in test_sample_c_lz().
478       d3d11/tests: Use slightly different values in test_sample_c_lz().
479       wined3d: Pass a wined3d_texture to wined3d_sampler_desc_from_sampler_states().
480       wined3d: Handle texture LOD in wined3d_sampler_desc_from_sampler_states().
481       wined3d: Pass shader type and unmodified index to context_preload_texture().
482       d3d8: Store the texture's parent device as a d3d8_device pointer.
483       wined3d: Translate sampler states to sampler objects in wined3d_device_apply_stateblock().
484       wined3d/glsl: Clamp ftou lower bound to zero.
485       wined3d/glsl: Clamp ftou upper bound to UINT_MAX.
486       wined3d/glsl: Clamp ftoi lower bound to INT_MIN.
487       wined3d/glsl: Clamp ftoi upper bound to INT_MAX.
488       wined3d/glsl: Flush NaN to zero in ftoi.
489       gitlab: Enable d3d10core:d3d10core and d3d8:visual.
490       mfplat/tests: Shut down the media source in test_create_from_file_handler_callback_Invoke().
491       d3d9/tests: Test that GetDC() records a dirty rect.
492       wined3d: Record a dirty rect in wined3d_texture_create_dc().
493       wined3d: Introduce a texture_binding_might_invalidate_ps() helper.
494       wined3d: Check the wined3d resource type and usage instead of the GL target in texture_binding_might_invalidate_ps().
495       wined3d: Invalidate all sampler slots to which a texture is bound in texture_resource_unload().
496       wined3d: Remove the no longer used "sampler" field of struct wined3d_texture.
497       wined3d: Do not use atomics to update the resource bind count.
499 Zhiyi Zhang (6):
500       user32/tests: Add more parameter checks for SetWindowsHookExA().
501       win32u: Return ERROR_GLOBAL_ONLY_HOOK when a thread ID is specified for global hooks.
502       win32u: Return ERROR_ACCESS_DENIED for WH_JOURNALRECORD and WH_JOURNALPLAYBACK.
503       ddraw/tests: Test WS_EX_TOPMOST restoration.
504       ddraw: Restore WS_EX_TOPMOST in exclusive fullscreen mode if it got removed.
505       uxtheme: Fix a test failure.
507 Ziqing Hui (10):
508       winegstreamer: Use NTSTATUS value in wg_muxer_create.
509       winegstreamer: Introduce link_src_to_sink.
510       winegstreamer: Use gst_element_get_compatible_pad.
511       winegstreamer: Introduce find_element_factories.
512       winegstreamer: Introduce factory_create_element.
513       winegstreamer: Implement wg_muxer_add_stream.
514       winegstreamer: Create parser for muxer stream.
515       winegstreamer: Implement wg_muxer_start.
516       winegstreamer: Implement ProcessSample for media sink.
517       winegstreamer: Implement wg_muxer_push_sample.