WineHQ

Wine Announcement

The Wine development release 8.20 is now available.

What's new in this release:
  - More DirectMusic implementation.
  - Protocol associations exported to the Unix desktop.
  - Code cleanups in preparation for code freeze.
  - Various bug fixes.

The source is available at:

  https://dl.winehq.org/wine/source/8.x/wine-8.20.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 8.20 (total 20):

 - #22904  Register URL protocol handlers under Linux
 - #52716  Sending key stroke (using [System.Windows.Forms.SendKeys]::SendWait) fails (seems to go into a loop?)
 - #53213  d3d10core:d3d10core & d3d11:d3d11 - test_texture() fails in the TestBot VMs
 - #53217  d3d10core:d3d10core & d3d11:d3d11 - test_cube_maps() crashes on gitlab-debian-32
 - #53218  d3d10core:d3d10core & d3d11:d3d11 - test_uint_shader_instructions() fails on llvmpipe
 - #54399  d3d11:d3d11 - test_vertex_formats() fails on Windows 11 + AMD
 - #54519  d3d9:visual - test_mipmap_upload() fails on AMD and Nvidia GPUs
 - #54780  UndertaleModTool display regression since wine-staging 8.4
 - #55316  d3d10core:d3d10core & d3d11:d3d11 fail systematically on w11pro64-amd
 - #55608  NAM won't open on new update
 - #55679  warframe doesn't start in experimental wow64 mode
 - #55715  Folio Views 4 crashes when storing a changed file
 - #55742  wine crashes when launching Captvty V3
 - #55782  System.Windows.Forms expects CreateActCtx() to succeed with truncated ACTCTX structure
 - #55789  Spectralayers 9 Pro crashes on audio playback
 - #55797  Max Payne (2001) has no sound
 - #55838  wget.exe fails to download anything (regression)
 - #55839  NtCreateSymbolicLinkObject fails with STATUS_OBJECT_TYPE_MISMATCH
 - #55842  Neverwinter Nights 2 Complete (GOG.com) crashes while starting a new game from the menu
 - #55856  cygwin hangs during installation at libzstd1-1.5.5-1

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

Changes since 8.19:

Alex Henrie (63):
      find/tests: Use CRT allocation functions.
      msscript: Use CRT allocation functions.
      uninstaller: Use CRT allocation functions.
      uxtheme/tests: Use CRT allocation functions.
      loader: Associate Wine with internet shortcuts.
      winemenubuilder: Disallow desktop integration for internet shortcuts.
      d3d10core/tests: Use CRT allocation functions.
      d3d11/tests: Use CRT allocation functions.
      d3d8: Use CRT allocation functions.
      d3d8/tests: Use CRT allocation functions.
      d3d9: Use CRT allocation functions.
      d3d9/tests: Use CRT allocation functions.
      ddraw: Use CRT allocation functions.
      ddraw/tests: Use CRT allocation functions.
      dxgi: Use CRT allocation functions.
      dxgi/tests: Use CRT allocation functions.
      dplayx: Use CRT allocation functions.
      ninput: Use CRT allocation functions.
      browseui: Use the wcsdup function instead of reimplementing it.
      fsutil/tests: Use CRT allocation functions.
      user32/tests: Use CRT allocation functions.
      sechost: Use CRT allocation functions.
      quartz: Use debugstr_fourcc instead of debugstr_an.
      adsldp: Remove unused heap.h include.
      avrt: Use CRT allocation functions.
      dhcpcsvc: Use CRT allocation functions.
      dhcpcsvc/tests: Use CRT allocation functions.
      diasymreader: Use CRT allocation functions.
      dsuiext: Use CRT allocation functions.
      iccvid: Use CRT allocation functions.
      inseng: Use CRT allocation functions.
      jsproxy: Use CRT allocation functions.
      mp3dmod: Use CRT allocation functions.
      msado15: Remove unused heap.h include.
      msasn1: Use CRT allocation functions.
      msdasql: Use CRT allocation functions.
      msident: Use CRT allocation functions.
      mspatcha: Use CRT allocation functions.
      mstask: Use CRT allocation functions.
      msvfw32/tests: Use CRT allocation functions.
      netio: Use CRT allocation functions.
      wtsapi32: Use CRT allocation functions.
      gdiplus/tests: Use CRT allocation functions.
      include: Annotate MIDL_user_allocate with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
      gdi32/tests: Use CRT allocation functions.
      winmm/tests: Use CRT allocation functions.
      setupapi/tests: Use CRT allocation functions.
      virtdisk/tests: Use CRT allocation functions.
      vulkan-1/tests: Use CRT allocation functions.
      winemenubuilder: Create .desktop files for programs that open URIs.
      winecfg: Mention protocol associations.
      winegstreamer: Remove unused heap.h include.
      msiexec: Use CRT allocation functions.
      windows.media.devices: Use CRT allocation functions.
      winecoreaudio: Remove unused heap.h include.
      shdocvw: Use CRT allocation functions.
      urlmon/tests: Use CRT allocation functions.
      ddrawex: Use CRT allocation functions.
      devenum: Use CRT allocation functions.
      wmvcore: Use CRT allocation functions.
      Revert "dsound: Get rid of the global device GUID arrays.".
      dsound: Dynamically allocate the global device GUID arrays.
      nsi: Use CRT allocation functions.

Alexandre Julliard (58):
      server: Fix returned error when creating an existing symlink.
      user32: Enable a few more hook tests.
      ntdll: Also update code ranges for pure ARM64EC binaries.
      ntdll: Remove an unused global variable.
      ntdll: Only check Wow64 system directories for 32-bit platforms.
      kernelbase: Only support Wow64 system directories for 32-bit platforms.
      wow64: Only support Wow64 system directories for 32-bit platforms.
      server: Only create Wow64 system directories for 32-bit platforms.
      winegcc: Use a temp file for the implicitly created import library.
      makefiles: Always use the global SOURCES variable for .idl files.
      makefiles: Always use the global SOURCES variable for .rc files.
      makefiles: Always use the global SOURCES variable for .c files.
      msvcrt: Use the public definitions for the UNDNAME_ flags.
      winedump: Re-import the demangling code from msvcrt.
      opengl32: Make the GL driver function table const.
      odbc32: Make the Unix function table const.
      include: Make sure that Unix function tables are always const.
      include: Use NTSYSAPI for all ntdll exports.
      include: Use proper dllimports for win32u functions.
      include: Use proper dllimports for dbghelp functions.
      include: Use proper dllimports for iphlpapi functions.
      include: Use proper dllimports for setupapi functions.
      include: Use proper dllimports for uxtheme functions.
      include: Use proper dllimports for cryptdlg functions.
      include: Use proper dllimports for eventlog functions.
      include: Use proper dllimports for httpapi functions.
      include: Use proper dllimports for url functions.
      include: Use proper dllimports for mimeole functions.
      include: Use proper dllimports for winmm functions.
      include: Use proper dllimports for pathcch functions.
      include: Use proper dllimports for propsys functions.
      include: Use proper dllimports for userenv functions.
      include: Use proper dllimports for credui functions.
      include: Use proper dllimports for winscard functions.
      include: Use proper dllimports for slc functions.
      include: Use proper dllimports for wmi functions.
      include: Use proper dllimports for olectl functions.
      include: Use proper dllimports for more wininet functions.
      ddraw: Use SecureZeroMemory to clear the clipper vtbl.
      include: Remove DECLSPEC_HIDDEN from standard Dll* functions.
      include: Remove DECLSPEC_HIDDEN from winecrt0 functions.
      include: Remove DECLSPEC_HIDDEN from RPC functions.
      include: Remove DECLSPEC_HIDDEN from GUID definitions.
      widl: Remove DECLSPEC_HIDDEN from generated files.
      configure: Use hidden visibility also when building Unix libraries.
      wineoss.drv: Allocate the MIDI device array dynamically.
      winealsa.drv: Allocate the MIDI device array dynamically.
      rpcrt4: Generate stubless thunks at compile time.
      rpcrt4: Generate vtbl delegating thunks at compile time.
      win32u: Fix handling of process default DPI awareness.
      winevdm: Don't claim that 16-bit apps are DPI aware.
      makefiles: Support arch-specific IDL flags.
      widl: Make the alignment option generic instead of win32/win64-specific.
      configure: Remove no longer used WINE_TRY_SHLIB_FLAGS macro.
      configure: Assume that pthread.h is present.
      configure: Consistently use HOST_ARCH for platform checks.
      opengl32: Remove DECLSPEC_HIDDEN usage.
      winevulkan: Remove DECLSPEC_HIDDEN usage.

Alfred Agrell (14):
      winegstreamer: Don't read format from unparsed MPEG audio.
      winegstreamer: Clamp QoS events to stay inside the stream's running time.
      winegstreamer: Seek to end of stream instead of to stream duration.
      winegstreamer: Include the framerate when converting video format to GstCaps.
      winegstreamer: Improve and clean up some debug logs.
      winegstreamer: Implement IAMStreamSelect::Count in CLSID_MPEG1Splitter.
      winegstreamer: Implement parts of IAMStreamSelect::Info in CLSID_MPEG1Splitter.
      winegstreamer: Add output_compressed parameter to wg_parser_create().
      winegstreamer: Use the new output_compressed property instead of mpegaudioparse in MPEG splitter.
      winegstreamer: Add WG_MAJOR_TYPE_VIDEO_MPEG1 media type.
      winegstreamer: Add program stream and video output support to CLSID_MPEG1Splitter.
      winegstreamer: Implement CLSID_CMpegVideoCodec.
      quartz/tests: Add tests for new CLSID_MPEG1Splitter functionality.
      quartz/tests: Add tests for CLSID_CMpegVideoCodec.

Alistair Leslie-Hughes (26):
      include: Add some DBCOLUMN defines.
      msdasql: Use DBINITCONSTANTS to get guid values.
      hlink: Remove DECLSPEC_HIDDEN usage.
      msimtf: Remove DECLSPEC_HIDDEN usage.
      sechost: Remove DECLSPEC_HIDDEN usage.
      browseui: Remove DECLSPEC_HIDDEN usage.
      wintrust: Remove DECLSPEC_HIDDEN usage.
      uiautomationcore: Remove DECLSPEC_HIDDEN usage.
      gameux: Remove DECLSPEC_HIDDEN usage.
      propsys: Remove DECLSPEC_HIDDEN usage.
      hnetcfg: Remove DECLSPEC_HIDDEN usage.
      sti: Remove DECLSPEC_HIDDEN usage.
      advpack: Remove DECLSPEC_HIDDEN usage.
      mstask: Remove DECLSPEC_HIDDEN usage.
      uiribbon: Remove DECLSPEC_HIDDEN usage.
      itss: Remove DECLSPEC_HIDDEN usage.
      rsaenh: Remove DECLSPEC_HIDDEN usage.
      ntoskrnl.exe: Remove DECLSPEC_HIDDEN usage.
      mpr: Remove DECLSPEC_HIDDEN usage.
      msdasql: IColumnsRowset::GetAvailableColumns return 3 meta columns to allow updating of a row.
      comdlg32: Remove DECLSPEC_HIDDEN usage.
      msacm32: Remove DECLSPEC_HIDDEN usage.
      uxtheme: Remove DECLSPEC_HIDDEN usage.
      wmiutils: Remove DECLSPEC_HIDDEN usage.
      msi: Remove DECLSPEC_HIDDEN usage.
      winhttp: Remove DECLSPEC_HIDDEN usage.

Anton Baskanov (12):
      dmsynth: Offset the loop points by 8 frames.
      dmsynth: Handle pitch bend events.
      dmsynth: Use correct transform for controls.
      dmsynth: Correctly handle internal connections with controls.
      dmsynth: Activate reverb and chorus according to effect flags.
      dmsynth: Return void from add_mod_from_connection().
      dmsynth: Keep track of voice/wave mapping.
      dmsynth: Use generators to set root key and fine tune.
      dmsynth: Create one FluidSynth sample per wave.
      dmsynth: Remove useless private data checks.
      dmsynth: Free the allocated presets manually.
      dmsynth: Don't leak modulators.

Aurimas Fišeras (1):
      po: Update Lithuanian translation.

Bartosz Kosiorek (35):
      gdiplus/tests: Add default tension tests for GdipAddPath*Curve.
      gdiplus: Fix default tension for GdipAddPathCurve and GdipAddPathClosedCurve.
      gdiplus/tests: Add tests for GdipSetPenTransform.
      gdiplus: Add additional check to GdipSetPenTransform.
      gdiplus/tests: Extend AddPathCurve3 test with offset and nseg.
      gdiplus: Move main Curve implementation from GdipAddPathCurve2 to GdipAddPathCurve3.
      gdiplus: Fix GdipAddPathCurve3 curve calculation with offset and nseg variables.
      msvcrt: Add _mbsdec_l implementation.
      msvcrt: Add _mbslwr_l implementation.
      msvcrt: Add _mbsrchr_l implementation.
      msvcrt: Add _cprintf_l implementation.
      msvcrt: Add _cwprintf_l implementation.
      msvcrt: Add _mbsnbcat_l implementation.
      msvcrt: Add _mbsbtype_l implementation.
      msvcrt: Fix _mbslwr_s_l implementation.
      msvcrt: Add _mbsupr_l implementation.
      msvcrt: Add _mbsnbcmp_l implementation.
      msvcrt: Add _mbsnbcnt_l implementation.
      msvcrt: Add _mbsncpy_l implementation.
      msvcrt: Add _mbsnicmp_l implementation.
      msvcrt: Fix _strnicmp and _strnicmp_l implementation.
      msvcrt: Add _mbsnbcat_s_l implementation.
      msvcrt: Add _mbsnbcpy_l implementation.
      msvcrt: Add _mbsnbicmp_l implementation.
      msvcrt: Add _mbsnbset_l implementation.
      msvcrt: Add _mbsncat_l implementation.
      msvcrt: Add _mbsnccnt_l implementation.
      msvcrt: Add _mbsnset_l implementation.
      msvcrt: Add _mbspbrk_l implementation.
      msvcrt: Add __iswcsym implementation.
      msvcrt: Add __iswcsymf implementation.
      msvcrt: Add _mbsncmp_l implementation.
      msvcrt: Add _mbsrev_l implementation.
      msvcrt: Add _mbsset_l implementation.
      msvcrt: Add _mblen_l implementation.

Brendan Shanks (5):
      localspl: Ensure unixlib function tables and enum stay in sync.
      qcap: Ensure unixlib function tables and enum stay in sync.
      winemac.drv: Fix minimizing windows programmatically from Win32 when Stage Manager is enabled.
      ntdll/unix: Replace some malloc/sprintf calls with asprintf.
      ntdll/unix: Replace sprintf with snprintf to avoid deprecation warnings on macOS.

Christian Costa (1):
      wined3d: Add entry info for NVidia RTX 3070.

Connor McAdams (5):
      uiautomationcore: Implement IRawElementProviderFragment::GetEmbeddedFragmentRoots for MSAA providers.
      uiautomationcore: Don't return failure from ::GetEmbeddedFragmentRoots stub on the default BaseHwnd provider.
      uiautomationcore: Don't set HRESULT when attempting to advise currently focused HUIANODE.
      uiautomationcore: Return TRUE from UiaClientsAreListening().
      oleaut32: Lock ITypeLib2 interface reference count behind the typelib cache critical section on Release.

Daniel Lehman (4):
      msxml4/tests: Use wide string literals.
      msmxl4/tests: Add tests for get_xml.
      msxml6/tests: Use wide string literals.
      msxml6/tests: Add tests for get_xml.

Dmitry Timoshkov (9):
      kernel32/tests: Add some tests for CreateActCtx() with different structure sizes.
      kernel32: Add ACTCTX field limit checks to CreateActCtxA().
      ntdll: Add ACTCTX field limit checks to RtlCreateActivationContext().
      uxtheme/tests: Move the IsThemePartDefined() test before hTheme handle is closed.
      uxtheme/tests: Add a test for OpenThemeData("explorer::treeview").
      uxtheme: Parse app/class name in OpenThemeData().
      uxtheme/tests: Add a test for SetWindowTheme/OpenThemeData sequence.
      uxtheme: Move fall back to default class to MSSTYLES_OpenThemeClass().
      uxtheme: If the application class is already set then OpenThemeData() should fail.

Eric Pouech (22):
      dpnsvr: Move to GUI subsystem (as native).
      spoolsv: Move to GUI subsystem (as native).
      svchost: Move to GUI subsystem (as native).
      services: Move to GUI subsystem (as native).
      pdh: Zero out magic fields with SecureZeroMemory().
      dssenh: Use SecureZeroMemory to clear magic fields.
      secur32: Use SecureZeroMemory to clear magic fields.
      user32: Use SecureZeroMemory to clear magic fields.
      winscard: Use SecureZeroMemory() to clear magic fields.
      wintrust: Use SecureZeroMemory() to clear magic fields.
      wsdapi: Use SecureZeroMemory() to clear magic fields.
      wininet: Use SecureZeroMemory() to clear magic fields.
      msvcrt/tests: Improve environment tests (initial conditions).
      msvcrt/tests: Add tests about allocation of environment entries.
      msvcrt/tests: Add tests about intricating kernel32 and msvcrt env calls.
      msvcrt/tests: Test adding Unicode env variables.
      msvcrt: Use msvcrt heap for allocating envionment data.
      msvcrt: Fix getmainargs() family to return correct environment block.
      taskmgr: No longer use console/file output APIs.
      wordpad: Remove unneeded output messages.
      mshta: No longer use console / crt API.
      winebrowser: Remove misleading comment.

Esme Povirk (1):
      user32/tests: Improve timer measurement method.

Fabian Maurer (2):
      winegstreamer: Implement IWMResamplerProps.
      msvcrt: Fsetpos resets EOF flag.

Floris Renaud (1):
      po: Update Dutch translation.

Gabriel Ivăncescu (24):
      mshtml: Keep ref from the document node to the inner window.
      mshtml: Properly traverse document nodes.
      mshtml/tests: Test parent window links after navigation.
      mshtml: Keep ref from the ImageElementFactory to the inner window.
      mshtml: Keep ref from the OptionElementFactory to the inner window.
      mshtml: Keep ref from the XMLHttpRequestFactory to the inner window.
      mshtml: Keep ref from LocalStorage and SessionStorage to the inner window.
      mshtml: Keep ref from the OmHistory to the inner window.
      mshtml: Keep refs from the Attributes and AttributeCollection to the Element.
      mshtml: Keep ref from the associated Style to the Element.
      mshtml: Traverse and unlink the Element referenced from the CurrentStyle.
      mshtml: Traverse and unlink the style_sheet referenced from the StyleElement.
      mshtml: Release the returned lists from Gecko's QuerySelectorAll even on error.
      mshtml: Fix window leak on error in async_stop_request.
      jscript: Fix EnumVARIANT leak in enumerators.
      jscript: Fix value leak in Array.shift.
      jscript: Fix array leak in Array.filter.
      jscript: Don't addref before calling jsdisp_propput_name.
      jscript: Fix value arg leak in transform_json_object.
      jscript/tests: Fix variant leak after conversion when testing VariantChangeType.
      jscript/tests: Fix Date object leak in test_default_value.
      mshtml/tests: Fix BindInfo leak in htmldoc test.
      mshtml: Return outer window to external callers.
      mshtml: Don't NULL out the doc's window when unlinking the window.

Hans Leidekker (4):
      gdi32/tests: Skip broken Noto Color Emoji font in character width test.
      win32u: Get rid of a special case for non-scalable fonts in NtGdiGetCharABCWidthsW().
      ntdll: Bump current build number to 19043 (Win10 2009).
      advapi32/tests: Get rid of an unreliable eventlog test.

Jacek Caban (14):
      configure: Disable -Wmicrosoft-enum-forward-reference warnings.
      msctf: Avoid implicit enum casts.
      qmgr: Avoid implicit enum casts.
      shcore: Avoid implicit enum casts.
      webservices: Store xmlbuf encoding as unsigned int.
      gdiplus/tests: Avoid implicit casts from MetafileType to EmfType.
      gdiplus: Avoid implicit enum casts.
      d3d11: Explicitly convert enums in d3d_depthstencil_state_create.
      d3d11/tests: Use D3D11_INPUT_CLASSIFICATION variant of D3D10_INPUT_CLASSIFICATION.
      d3d8: Use designated initializers in tss_lookup.
      ddraw: Use designated initializers in tss_lookup.
      kernel32/tests: Remove unused variable.
      msvcrt/tests: Don't define structs types inside other struct declaration.
      msvcp60: Use char type for FROZEN macro.

Louis Lenders (2):
      uxtheme: Add stub for SetPreferredAppMode.
      uxtheme: Add stub for AllowDarkModeForWindow.

Nikolay Sivov (6):
      include: Correct ID3D10EffectPool interface uuid.
      shell32: Fix string size condition check (Coverity).
      mf/samplegrabber: Release current media type on shutdown.
      mf/samplegrabber: Check shutdown state when setting the clock.
      mf/samplegrabber: Reset the clock before OnShutdown().
      mf/samplegrabber: Use OnSetPresentationClock() on shutdown as well.

Owen Rudge (1):
      comdlg32: Perform case-insensitive comparison of extension in file dialog.

Paul Gofman (13):
      mfplat/buffer: Use absolute pitch in memory_1d_2d_buffer_[Un]Lock().
      mfplat/tests: Add more tests for copying 2d buffers.
      mfplat/buffer: Do not flip in memory_2d_buffer_ContiguousCopy{From|To}().
      mfplat/sample: Refactor sample_CopyToBuffer().
      mfplat/sample: Optimize copying to 2d buffer.
      ntdll: Handle LFH blocks allocated in large blocks in heap_validate_ptr().
      ntdll: Fix pending free block validation in heap_validate() for LFH blocks.
      kernelbase: Don't inherit all the handles in conhost.exe.
      user32: Return empty string from LoadStringW() if resource is not found.
      user32: Put 0 to output string even for 1 char buffer in LoadStringW().
      kernelbase: Return empty string from LoadStringW() if resource is not found.
      kernelbase: Put 0 to output string even for 1 char buffer in LoadStringW().
      winmm: Fix pszSound allocation in PlaySound_Alloc().

Rémi Bernon (24):
      dmime: Send notification messages with DMUS_PMSGF_TOOL_IMMEDIATE.
      dmime/tests: Add a track and longer segment to notifications tests.
      dmime: Use the current time if PlaySegmentEx start_time is 0.
      dmime: Send DMUS_NOTIFICATION_SEGALMOSTEND before DMUS_NOTIFICATION_SEGEND.
      dmime/tests: Check more notification / dirty messages fields.
      dmime: Fix performance message requeue-ing from the message thread.
      dmband: Support start_time and end_time Play parameters.
      dmime: Support start_time and end_time Play parameters.
      dmime: Implement segment state chunked playback.
      dmime: Send notification messages from segment_play_chunk.
      dmime/tests: Test IDirectMusicPerformance_GetSegmentState.
      dmime: Implement IDirectMusicPerformance_GetSegmentState semi-stub.
      dmime/tests: Test tempo track Play and DMUS_PMSGT_TEMPO messages.
      dmime/tests: Test tempo track GetParam with GUID_TempoParam.
      dmime: Fix tempo track GetParam with GUID_TempoParam implementation.
      dmime/tests: Add helpers to scale and check music time with tempo.
      dmime/tests: Test playing tempo track effect on performance times.
      dmime: Support playing secondary and control segments.
      dmime: Better implement performance times with tempo track.
      dmime: Rename struct pchannel_block to struct channel_block.
      dmime: Use a dedicated struct channel to hold performance channels.
      dmime: Introduce a new performance_get_channel helper.
      dmime: Simplify and rename channel_block_set to channel_block_init.
      dmime: Avoid leaking performance channel block ports.

Santino Mazza (1):
      mf: Handle errors with source event generator in session.

Shaun Ren (2):
      msttsengine: Add stub dll.
      msttsengine: Add ISpTTSEngine stub.

Sven Baars (1):
      advapi32/tests: Fix a typo (Coverity).

Tim Clem (1):
      msvcrt: Promote the log from _wassert from a trace to an error.

Victor Chiletto (1):
      msvcrt, ucrtbase: Introduce rewind_preserve_stack.

Yuxuan Shui (2):
      include: Add InterlockedExchangeAdd16.
      ntdll: Tweak the binary representation of SRWLOCK.

Zebediah Figura (28):
      ws2_32/tests: Add a regression test for interaction of sock_reselect() with event select.
      server: Only set sock->event when the event is first noticed.
      d3d11/tests: Do not test the w component for DXGI_FORMAT_B8G8R8X8_UNORM in test_vertex_formats().
      d3d9/tests: Do not test sysmem textures in test_mipmap_upload().
      d3d8/tests: Do not test sysmem textures in test_mipmap_upload().
      d3d10core/tests: Do not test GSInvocations in test_pipeline_statistics_query().
      d3d11/tests: Do not test GSInvocations in test_pipeline_statistics_query().
      d3d10core/tests: Use slightly different values in test_sample_c_lz().
      d3d11/tests: Use slightly different values in test_sample_c_lz().
      wined3d: Pass a wined3d_texture to wined3d_sampler_desc_from_sampler_states().
      wined3d: Handle texture LOD in wined3d_sampler_desc_from_sampler_states().
      wined3d: Pass shader type and unmodified index to context_preload_texture().
      d3d8: Store the texture's parent device as a d3d8_device pointer.
      wined3d: Translate sampler states to sampler objects in wined3d_device_apply_stateblock().
      wined3d/glsl: Clamp ftou lower bound to zero.
      wined3d/glsl: Clamp ftou upper bound to UINT_MAX.
      wined3d/glsl: Clamp ftoi lower bound to INT_MIN.
      wined3d/glsl: Clamp ftoi upper bound to INT_MAX.
      wined3d/glsl: Flush NaN to zero in ftoi.
      gitlab: Enable d3d10core:d3d10core and d3d8:visual.
      mfplat/tests: Shut down the media source in test_create_from_file_handler_callback_Invoke().
      d3d9/tests: Test that GetDC() records a dirty rect.
      wined3d: Record a dirty rect in wined3d_texture_create_dc().
      wined3d: Introduce a texture_binding_might_invalidate_ps() helper.
      wined3d: Check the wined3d resource type and usage instead of the GL target in texture_binding_might_invalidate_ps().
      wined3d: Invalidate all sampler slots to which a texture is bound in texture_resource_unload().
      wined3d: Remove the no longer used "sampler" field of struct wined3d_texture.
      wined3d: Do not use atomics to update the resource bind count.

Zhiyi Zhang (6):
      user32/tests: Add more parameter checks for SetWindowsHookExA().
      win32u: Return ERROR_GLOBAL_ONLY_HOOK when a thread ID is specified for global hooks.
      win32u: Return ERROR_ACCESS_DENIED for WH_JOURNALRECORD and WH_JOURNALPLAYBACK.
      ddraw/tests: Test WS_EX_TOPMOST restoration.
      ddraw: Restore WS_EX_TOPMOST in exclusive fullscreen mode if it got removed.
      uxtheme: Fix a test failure.

Ziqing Hui (10):
      winegstreamer: Use NTSTATUS value in wg_muxer_create.
      winegstreamer: Introduce link_src_to_sink.
      winegstreamer: Use gst_element_get_compatible_pad.
      winegstreamer: Introduce find_element_factories.
      winegstreamer: Introduce factory_create_element.
      winegstreamer: Implement wg_muxer_add_stream.
      winegstreamer: Create parser for muxer stream.
      winegstreamer: Implement wg_muxer_start.
      winegstreamer: Implement ProcessSample for media sink.
      winegstreamer: Implement wg_muxer_push_sample.