WineHQ

Wine Announcement

The Wine development release 7.8 is now available.

What's new in this release:
  - X11 and OSS drivers converted to PE.
  - WoW64 support in the sound drivers.
  - Number formatting using the new locale database.
  - Various bug fixes.

The source is available from the following locations:

  https://dl.winehq.org/wine/source/7.x/wine-7.8.tar.xz
  http://mirrors.ibiblio.org/wine/source/7.x/wine-7.8.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.8 (total 37):

  18635  Adobe Lightroom 2.3: Menu bar is hidden
  43208  Assassin's Creed IV - Black Flag Hangs tightly
  43995  Uplay - Assassin's Creed 4 Black Flag won't start
  45388  user32:edit fails on Traditional Chinese and Korean locales
  48045  comdlg32:filedlg crashes or times out randomly
  48048  urlmon:protocol - The ftp test fails on Vista to Windows 8
  51181  d3d10core:d3d10core fails systematically on AMD GPUs
  51407  kernel32:time, msvcrt:time and shlwapi:ordinal fail in Wine because Hindi is Unicode-only
  51460  oleaut32:vartest has a todo because Wine uses an outdated currency symbol for Swiss Francs
  51619  advapi32:registry fails in Wine because French & German timezone name translations are too long
  52079  oleacc:main crashes randomly on Windows 10 1709+
  52149  user32:dialog fails in test_DialogBoxParam() on current Windows 10 21H1
  52362  Powershell Core 7 installer hangs forever on Chinese locale (LC_ALL=zh_CN.UTF-8)
  52554  Serbian locale mapping cause crash on multiple installshield wizards
  52559  kernel32:resource times out since 2021-12-29 at two win10 testbot systems.
  52684  Command and Conquer Generals (and C&C Zero Hour) have no ground textures
  52704  FreeHand 9 demo: invalid handle exception (0xc0000008) when attaching uxtheme.dll
  52743  cannot write to _fdopen'ed stdout when running in docker
  52771  Wine console creation breaks comctl32:button, dinput:keyboard, user32:dialog, user32:input, user32:monitor and user32:win
  52828  Incorrect instruments in MIDI playback over ALSA
  52845  Recent versions of chromium have broken sandbox again
  52847  GetACP() returns CP_UTF8 on some debian VM
  52856  kernel32:process fails when Wine has no Unix terminal
  52857  msvcp140:msvcp140 fails in Windows 8.1 on the cw-rx460 machine
  52858  kernel32:file fails in Windows 8.1 on the cw-rx460 machine
  52861  kernel32:locale fails on Windows 10 1709
  52864  windows.media.speech:speech has a refcount failure on all Windows 10 versions
  52865  windows.media.speech:speech has a Windows 10 1507-specific failure
  52866  vbscript:run fails in Wine in Arabic and Hebrew
  52867  Multiple applications crash because of ResolveLocaleName stub (dnSpy, dotnet-sdk-5.0.100-win-x64, Metatogger 7.2)
  52869  kernel32:locale - test_CompareStringA() fails on Windows with a UTF-8 code page
  52871  oleaut32:vartest has failures in Wine in the Arabic and Hebrew locales
  52887  Get-Computerinfo from NoPowershell crashes
  52904  kernel32:locale breaks oleaut32:varformat on Wine in the French locale
  52922  The Evil Within crashes before entering the main menu using Vulkan renderer
  52924  Guilty Gear XX #Reload: black screen since wine 5.0
  52953  GuiPy crashes on unimplemented function xmllite.dll.CreateXmlReaderInputWithEncodingCodePage

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

Changes since 7.7:

Alexandre Julliard (23):
      make_unicode: Generate the character mapping tables in locale.nls.
      kernelbase: Use the mapping tables from locale.nls in LCMapStringEx().
      kernelbase: Use the digit table from locale.nls in FoldStringW().
      server: Store the full group attributes.
      server: Return the full token group for TokenLogonSid.
      kernelbase: Really skip alternate sorts in EnumUILanguagesW().
      kernelbase: Add support for storing LOCALE_SINTLSYMBOL in the registry.
      kernel32/tests: Mark a failing test as broken.
      winecrt0: Avoid A->W conversion in initialization code.
      user32/tests: Use the standard INPUT type definition.
      kernelbase: Implement ResolveLocaleName().
      sfc_os: Stub SfpVerifyFile().
      oleaut32: Use the locale leading zero flag instead of hardcoding it.
      shlwapi: Fix copy/paste typo in number format initialization.
      kernel32: Reimplement GetNumberFormatA().
      kernel32: Reimplement GetCurrencyFormatA().
      kernelbase: Reimplement GetNumberFormatW/Ex() using get_locale_info().
      kernelbase: Reimplement GetCurrencyFormatW/Ex() using get_locale_info().
      kernelbase: Reimplement GetDateFormatW/Ex() using get_locale_info().
      kernelbase: Reimplement GetTimeFormatW/Ex() using get_locale_info().
      kernelbase: Reimplement GetDateFormatA().
      kernelbase: Reimplement GetTimeFormatA().
      nls: Update sort keys to NLS version 6.3.5.

Alistair Leslie-Hughes (1):
      msado15: Implement _Recordset get_EditMode.

Angelo Haller (3):
      comctl32/tests: Add hold_key and release_key functions.
      comctl32/tests: Add multi select tests for ownerdata listviews.
      comctl32/tests: Add change sequence for ownerdata listviews.

Anton Baskanov (26):
      quartz/tests: Add tests for MPEG audio decoder interfaces.
      quartz/tests: Add tests for MPEG audio decoder aggregation.
      quartz/tests: Add tests for MPEG audio decoder unconnected filter state change.
      quartz/tests: Add tests for IBaseFilter_EnumPins() on MPEG audio decoder.
      quartz/tests: Add tests for IBaseFilter_FindPin() on MPEG audio decoder.
      quartz/tests: Add tests for querying MPEG audio decoder pin info.
      winegstreamer: Add a skeleton MPEG audio decoder filter.
      quartz/tests: Add tests for MPEG audio decoder IEnumMediaTypes.
      quartz/tests: Add tests for MPEG audio decoder accepted media types.
      winegstreamer: Reject incompatible input media types in MPEG audio decoder.
      quartz/tests: Add tests for MPEG audio decoder sink connection.
      winegstreamer: Reject incompatible output types in MPEG audio decoder.
      quartz/tests: Add tests for MPEG audio decoder sink allocator.
      quartz/tests: Add tests for MPEG audio decoder output media type enumeration.
      winegstreamer: Implement output media type enumeration in MPEG audio decoder.
      winegstreamer: Set allocator properties for MPEG audio decoder sink.
      quartz/tests: Add tests for MPEG audio decoder source allocator.
      quartz/tests: Add tests for MPEG audio decoder source connection.
      winegstreamer: Commit allocator on pause in MPEG audio decoder.
      winegstreamer: Convert MPEG-1 audio to a major type.
      winegstreamer: Support MPEG-1 audio in wg_transform.
      quartz/tests: Don't fail tests when MPEG audio decoder creation fails.
      winegstreamer: Check whether transform is supported when creating MPEG audio decoder.
      winegstreamer: Create wg_transform in MPEG audio decoder.
      quartz/tests: Add tests for MPEG audio decoder sample processing.
      winegstreamer: Implement Receive() for MPEG audio decoder sink.

Biswapriyo Nath (3):
      include: Use nested namespace declaration in windows.foundation.idl.
      include: Add Windows.Foundation.MemoryBuffer runtimeclass declaration.
      include: Add Windows.Storage.Streams.Buffer runtimeclass declaration.

Brendan Shanks (2):
      wrc: Support function macros where varargs are the only argument.
      include: Add WINE_ALLOC_SIZE attribute to heap_calloc().

Connor McAdams (5):
      oleacc/tests: Add tests for IIS_IsOleaccProxy service on default accessible objects.
      oleacc: Add IServiceProvider interface to default accessible objects.
      uiautomationcore: Implement UiaProviderFromIAccessible.
      uiautomationcore/tests: Add tests for UiaProviderFromIAccessible.
      uiautomationcore: Make hwnd_host_provider_vtbl static const.

Dmitry Timoshkov (1):
      ieframe: Initialize new history log entry.

Drew Ronneberg (13):
      shell32: Remove obsolete -D_SHELL32_ from Makefile.in.
      crypt32: Remove obsolete -D_CRYPT32_ from Makefile.in.
      comctl32: Remove obsolete -D_COMCTL32_ from Makefile.in.
      shdocvw: Remove obsolete -D_SHDOCVW_ from Makefile.in.
      winspool.drv: Remove obsolete -D_SPOOL32_ from Makefile.in.
      netapi32: Remove obsolete -D_SVRAPI_ from Makefile.in.
      rpcrt4: Remove obsolete -D_RPCRT4_ from Makefile.in.
      user32: Remove obsolete -D_WINABLE_ from Makefile.in.
      oleaut32: Remove obsolete -D_OLEAUT32_ from Makefile.in.
      urlmon: Remove obsolete -D_URLMON_ from Makefile.in.
      winmm: Remove obsolete -D_WINMM_ from Makefile.in.
      shlwapi: Remove obsolete -D_SHLWAPI_ from Makefile.in.
      setupapi: Remove obsolete -D_SETUPAPI_ from Makefile.in.

Eric Pouech (36):
      include: Don't use long types in nsi.h.
      nsi/tests: Enable compilation with long types.
      nsiproxy: Don't use long types in internal structure / helpers.
      nsiproxy: Don't use long types for local types.
      nsiproxy: Add intermediate variables for sscanf on ULONG.
      nsiproxy: Enable compilation with long types.
      d3d11/tests: Build without -DWINE_NO_LONG_TYPES.
      d3d11: Build without -DWINE_NO_LONG_TYPES.
      d3dx9/effect: Return the read value from read_dword().
      d3dx9: Use correct integral type.
      winedbg: Correctly read register values through dbg_lvalue structure.
      attrib: Use OEM code page for output.
      chcp: Use OEM code page for output.
      fsutil: Use OEM code page for output.
      hostname: Use OEM code page for output.
      icinfo: Use OEM code page for output.
      ipconfig: Use OEM code page for output.
      net: Use OEM code page for output.
      netstat: Use OEM code page for output.
      regedit: Use OEM code page for output.
      regsvr32: Use OEM code page for output.
      start: Use OEM code page for output.
      taskkill: Use OEM code page for output.
      uninstaller: Use OEM code page for output.
      whoami: Use OEM code page for output.
      wscript: Use OEM code page for output.
      xcopy: Use OEM code page for output.
      include/msvcrt: Redefine towlower* & towupper* with wint_t types.
      dbghelp: Properly fail on PDB files generated by MSVC compiler version 14.31.
      dbghelp: Introduce symt_find_symbol_at().
      cmd: Test that read is successful before using its result.
      cmd: Skip too long paths.
      wineoss.drv: Use correct integral type.
      wineoss.drv: Enable compilation with long types.
      winealsa.drv: Use correct integral types.
      winealsa.drv: Enable compilation with long types.

Fabian Maurer (6):
      mscoree: Use LocalFree for memory allocated by LocalAlloc.
      printui: Use LocalFree for memory allocated by LocalAlloc (Coverity).
      mfplay: Prevent usage of uninitialized pointer in error case (Coverity).
      mfplat: Prevent use after free (Coverity).
      shell32: Prevent user after free in error case (Coverity).
      shell32: Refactor to keep style consistent.

Floris Renaud (1):
      po: Add missing examples in Dutch translation.

François Gouget (17):
      gdi32/tests: Trace the invalid height in test_max_height().
      kernel32/tests: Remove a couple of unnecessary NULL casts.
      comctl32/tests: Use winetest_push_context() in test_combo_dropdown_size().
      oleau32/tests: Show that spaces are not allowed before exponents.
      oleaut32/tests: The EUR abbreviation is not recognized as a currency.
      kernel32/tests: Fix the spelling of a comment.
      user32/tests: Trace monitor information with 'monitor info'.
      po: Fix a typo in the Asturian translation.
      po: Fix the indentation of a usage message in the Brazilian translation.
      po: Fix a trailing full stop inconsistency in the Asturian translation.
      po: Fix trailing full stop inconsistencies in the Czech translation.
      po: Fix trailing full stop inconsistencies in the Turkish translation.
      kernel32/tests: Fix a copy/paste error in an ok() message.
      winebus.sys: Fix the HAVE_SYS_INOTIFY_H checks.
      kernel32/tests: Fix a typo in a comment.
      user32/tests: Make the test_char_from_pos() failures more informative.
      kernelbase/tests: Loosen up the Sleep() test lower bound.

Gabriel Ivăncescu (7):
      jscript: Implement Number.prototype.toLocaleString.
      jscript: Return proper error in Number.toLocaleString with invalid 'this' in ES5 mode.
      jscript: Implement Array.prototype.toLocaleString.
      jscript: Implement Array.prototype.filter.
      jscript: Implement Array.prototype.every.
      jscript: Implement Array.prototype.some.
      jscript: Implement Array.prototype.lastIndexOf.

Giovanni Mascellani (2):
      loader/wine.inf: Update time zone data.
      mfplat: Avoid a race condition when releasing a tracked sample.

Hans Leidekker (1):
      mshtml: Added IHTMLCSSStyleDeclaration::backgroundSize property implementation.

Henri Verbeet (2):
      d3d11/tests: Declare "data_size" as UINT in test_device_context_state().
      wined3d: Pass "quality_levels" as an unsigned int pointer to wined3d_check_device_multisample_type().

Huw D. M. Davies (47):
      winedbg: Accept "continue".
      winecoreaudio: Pass a ptr to receive the stream in create_stream.
      winecoreaudio: Use UINT64 handles to represent the stream.
      winecoreaudio: Return offsets rather than ptrs to the strings.
      winecoreaudio: Limit Wow64 buffer allocations to 32-bit addresses.
      winecoreaudio: Implement Wow64 mmdevapi entry points in the Unix libraray.
      winecoreaudio: Implement Wow64 midi entry points in the Unix libraray.
      winemac: Use ULongToPtr() to cast format ids to void ptrs.
      wineoss: Move MODM_GETDEVCAPS to the unixlib.
      wineoss: Move MODM_GETNUMDEVS to the unixlib.
      wineoss: Move MODM_GETVOLUME and MODM_SETVOLUME to the unixlib.
      wineoss: Move MODM_RESET to the unixlib.
      wineoss: Move MIDM_PREPARE and MIDM_UNPREPARE to the unixlib.
      wineoss: Move MIDM_GETDEVCAPS to the unixlib.
      wineoss: Move MIDM_GETNUMDEVS to the unixlib.
      wineoss: Move the midi in buffer lock to the unixlib.
      wineoss: Move MIDM_ADDBUFFER to the unixlib.
      winex11: Free "path" and "uri" with the correct functions.
      wineoss: Pass the time relative to the start time to the callback.
      wineoss: Move MIDM_RESET to the unixlib.
      wineoss: Move MIDM_START to the unixlib.
      wineoss: Move MIDM_STOP to the unixlib.
      wineoss: Simplify the midi in dispatcher.
      wineoss: Add the leading 0xf0 to the sysex data.
      wineoss: Move the sysex handling to a separate helper.
      wineoss: Move the regular data handling to a separate helper.
      wineoss: Make the MIM_LONGDATA time relative to the start time.
      wineoss: Combine midReceiveChar() into handle_midi_data().
      wineoss: Introduce a notification thread.
      wineoss: Move the midi in data handlers to the unixlib.
      wineoss: Introduce a helper to retrieve the time.
      wineoss: Use a pipe to signal the end of the record thread.
      wineoss: Move MIDM_OPEN and MIDM_CLOSE to the unixlib.
      wineoss: Move DRVM_INIT and DRVM_EXIT to the unixlib.
      wineoss: Use AUXDM_GETNUMDEVS to retrieve the number of devices.
      wineoss: Move AUXDM_GETNUMDEVS to the unixlib.
      wineoss: Move AUXDM_GETDEVCAPS to the unixlib.
      wineoss: Move AUXDM_GETVOLUME and AUXDM_SETVOLUME to the unixlib.
      wineoss: Build with msvcrt.
      wineoss: Pass a client ptr to the callback instead of a stream.
      wineoss: Use UINT64 handles to represent the stream.
      wineoss: Return offsets rather than ptrs to the strings.
      wineoss: Limit Wow64 buffer allocations to 32-bit addresses.
      wineoss: Implement Wow64 mmdevapi entry points in the Unix library.
      wineoss: Implement Wow64 midi entry points in the Unix library.
      wineoss: Implement Wow64 aux entry point in the Unix library.
      dllhost: Try to load the dll server's factory at the start.

Jacek Caban (77):
      win32u: Add more clipboard stubs.
      win32u: Move clipboard data management from user32.
      winex11: Remove unused cf_xdnd from XDNDDATA.
      winex11: Use libc for driver memory allocation.
      win32u: Use public declaration for GetStockObject.
      win32u: Introduce data-only mode in NtUserGetClipboardData.
      winex11: Don't use DragQueryFileW in export_hdrop.
      winex11: Use data-only NtUserGetClipboardData to export clipboard data.
      winex11: Directly use ntdll in uri_to_dos.
      winex11: Directly use win32u and ntdll in a few more places.
      win32u: Use user mode callback for registering builtin classes.
      winex11: Use NtUserSetClipboardData to import clipboard data.
      winex11: Directly use win32u in import_image_bmp.
      winex11: Directly use ntdll in clipboard.c.
      winex11: Return selection data as a single buffer from import_xdnd_selection.
      winex11: Move CF_HDROP filtering to import_xdnd_selection.
      winex11: Use format_entry to store cached XDND formats data.
      winex11: Move XdndEnter event handler to event.c.
      winex11: Move XdndPosition event handler to event.c.
      winex11: Move XdndDrop event handler to event.c.
      winex11: Move XdndLeave event handler to event.c.
      winex11: Use inline intersect_rect helper instead of IntersectRect.
      winex11: Move Unicode conversion out of unicode_text_from_string.
      winex11: Move Unicode conversion out of string_from_unicode_text.
      winex11: Directly use ntdll for utf8 conversion.
      user32: Use GetMenuInfo for IsMenu implementation.
      user32: Use MIIM_CHECKMARKS flag in InsertMenuW.
      user32: Perform Unicode conversion in SetMenuItemInfoA.
      user32: Perform Unicode conversion in InsertMenuItemA.
      win32u: Move menu item info management from user32.
      win32u/tests: Add NtUserThunkedMenuItemInfo tests.
      win32u: Move GetMenuState implementation from user32.
      win32u: Move GetMenuItemCount implementation from user32.
      win32u: Move NtUserTranslateAccelerator from user32.
      win32u: Move NtUserDeleteMenu implementation from user32.
      win32u: Move NtUserGetSystemMenu implementation from user32.
      win32u: Move NtUserSetSystemMenu implementation from user32.
      win32u: Copy implementation of AdjustWindowRectEx from user32.
      win32u: Move normalize_std_handle call to NtUserMsgWaitForMultipleObjectsEx.
      win32u: Use NT interface for MsgWaitForMultipleObjectsEx user driver entry point.
      winex11: Use passed point in handle_position_event.
      winex11: Use ntdll_umbstowcs and ntdll_wcstoumbs for Unicode conversion.
      winex11: Directly use wine_nt_to_unix_file_name to get Unix path name.
      winex11: Use ntdll for Unicode conversion.
      winex11: Use import_text_uri_list code in EVENT_DropURLs.
      winex11: Reimplement EVENT_DropFromOffiX using get_dos_file_name.
      win32u: Allow NULL client_menu_name in NtUserRegisterClassExWOW.
      winex11: Directly use ntdll in more places.
      winex11: Move DllMain to separated file.
      winex11: Move X11DRV_InitClipboard to dllmain.c.
      winex11: Move x11drv_post_drop to xdnd.c.
      winex11: Move create_desktop implementation to dllmain.c.
      winex11: Move wintab entry points to dllmain.c.
      winex11: Introduce X11DRV_CALL macro.
      winex11: Use X11DRV_CALL for XIM calls.
      winex11: Call create_tooltip from WM_CREATE handler.
      winex11: Avoid using sprintfW.
      winex11: Avoid using kernel32 functions in get_config_key.
      winex11: Avoid using kernel32 functions in user driver.
      winex11: Introduce x11drv_client_call.
      winex11: Use unixlib interface for IME calls.
      winex11: Use unixlib interface for X11 calls from systray.c.
      winex11: Use unixlib interface for systray docking.
      winex11: Move foreign_window_proc to systray.c.
      win32u: Move NtUserCallMsgFilter implementation from user32.
      winex11: Directly use NtUserGetIconInfo.
      winex11: Directly use win32u in more places.
      win32u: Use KeUserModeCallback interface for CopyImage.
      win32u: Allow NULL cbtc in NtUserCreateWindowEx.
      winex11: Directly use NtUserCreateWindowEx.
      winex11: Use unixlib interface for x11drv_is_system_module.
      winex11: Move LoadIcon call to dllmain.
      include: Don't use DECLSPEC_HIDDEN for WINGDIAPI and WINUSERAPI in unuxlibs.
      winex11: Use wcsicmp for string comparison.
      winex11: Move user driver to unixlib.
      winex11: Build with msvcrt.
      winex11: Don't use unicode.h.

Jan Sikorski (1):
      msvcrt: Faster memcmp().

Jinoh Kang (4):
      include: Add definition for IShellItemImageFactory.
      wineboot: Don't use ai_canonname for ComputerName if it is "localhost".
      shell32/tests: Add tests for IShellItemImageFactory.
      shell32: Add stub for IShellItemImageFactory.

Joachim Priesner (1):
      windowscodecs: BitmapScaler_CopyPixels: Do not demand a larger buffer than necessary.

Louis Lenders (8):
      wbemprox: Add Win32_PageFileUsage class.
      wbemprox: Add BuildType property to Win32_OperatingSystem.
      wbemprox: Add RegisterdUser property to Win32_Operatingsystem.
      wbemprox: Add Organization property to Win32_Operatingsystem.
      wbemprox: Add BootDevice property to Win32_Operatingsystem.
      wbemprox: Add WindowsDirectory property to Win32_Operatingsystem.
      wbemprox: Add SystemType property to Win32_Computersystem.
      wbemprox: Add FreeVirtualMemory property to Win32_Operatingsystem.

Martin Storsjö (2):
      include: Add a declaration of _InterlockedExchangeAdd64 for MSVC mode for aarch64.
      include: Add declarations of _alloca and alloca for MSVC mode.

Matteo Bruni (6):
      d3dx9/effect: Return a uint32_t from the bytecode read helper.
      wined3d: Raise MAX_ATTRIBS to 32.
      wined3d: Don't submit fences when the GL context doesn't support them.
      wined3d: Don't use fences on GL context cleanup when they are not supported.
      wined3d: Disable CSMT when fences are not supported.
      wined3d: Check BO existence before trying to update its fence counter.

Mohamad Al-Jaf (2):
      include: Add windows.ui.idl file.
      include: Add windows.media.closedcaptioning.idl file.

Nikolay Sivov (27):
      uxtheme: Fix double free on registry key handle.
      dwrite/tests: Add a test for unset axis for references created with IDWriteFactory3.
      dwrite/tests: Use table access helpers for CBLC tests.
      dwrite: Remove already defined macros.
      dwrite: Simplify collection object initialization.
      dwrite: Implement GetFontFamilyModel().
      dwrite: Use separate structure for set entry description.
      dwrite: Prefer different family names for typographical collections.
      dwrite: Initial implementation of CreateFontCollectionFromFontSet().
      dwrite: Implement newer GetSystemFontCollection() variants.
      dwrite: Implement CreateTextFormat() for IDWriteFactory6.
      include: Fix IDWriteFontResource definition.
      dwrite: Implement variation axis value methods for the resource object.
      dwrite/opentype: Use stdint types for layout table structures.
      nls: Hardcode minus sign for all locales.
      dwrite/opentype: Use stdint type for color font structures.
      dwrite/opentype: Use stdint types for font file structures.
      include: Add IParentAndItem definition.
      dwrite/opentype: Correct flags field size for layout lookup structure.
      dwrite/opentype: Fix incorrect MarkGlyphSets table handling.
      dwrite/opentype: Do not include base advance to the mark advance offset.
      xmllite/reader: Implement CreateXmlReaderInputWithEncodingCodePage().
      ntdll: Add a partial implementation of NtMapViewOfSectionEx().
      kernelbase: Implement MapViewOfFile3().
      ntdll: Partially implement NtUnmapViewOfSectionEx().
      kernelbase: Implement UnmapViewOfFile2().
      kernel32: Implement UnmapViewOfFileEx().

Paul Gofman (12):
      winex11.drv: Treat invalid icon as no icon in fetch_icon_data().
      msvcp140/tests: Add a broken last error result in test_Copy_file().
      kernel32/tests: Add a broken last error result in test_CopyFileW().
      crypt32/tests: Add tests for short return string buffer.
      crypt32: Fix filling short output in cert_name_to_str_with_indent().
      crypt32: Fix filling short output in CertRDNValueToStrW().
      crypt32: Fix filling short output in CertGetNameStringW().
      crypt32: Fix filling short output in CertGetNameStringA().
      crypt32: Reimplement CertRDNValueToStrA() on top of CertRDNValueToStrW().
      crypt32: Reimplement CertNameToStrA() on top of CertNameToStrW().
      crypt32: Support up to date subject and issuer alt names OIDs.
      crypt32: Support CERT_NAME_SEARCH_ALL_NAMES_FLAG in CertGetNameStringW().

Piotr Caban (5):
      msvcrt: Use TICKSPERMSEC define in concurrency functions.
      ntdll: Use 32-bit time_t when calling __NR_futex syscall.
      msvcp140_atomic_wait: Add __std_atomic_notify_one_direct implementation.
      msvcp140_atomic_wait: Add __std_atomic_notify_all_direct implementation.
      msvcp140_atomic_wait: Add __std_atomic_wait_direct implementation.

Rémi Bernon (70):
      kernel32/tests: Add some heap block layout tests.
      ntdll: Stub RtlGetUserInfoHeap and RtlSetUser(Value|Flags)Heap.
      kernel32/tests: Add some RtlGetUserInfoHeap tests.
      dinput/tests: Remove unreliable IAsyncOperation_boolean checks.
      windows.gaming.input: Return an empty vector from RawGameController_get_ForceFeedbackMotors.
      windows.gaming.input: Implement ForceFeedbackMotor stub runtimeclass.
      windows.gaming.input: Acquire the device exclusively when creating ForceFeedbackMotor.
      windows.gaming.input: Implement IForceFeedbackMotor_(get|put)_MasterGain.
      windows.gaming.input: Implement IForceFeedbackMotor_(Pause|Resume|StopAll)Effects.
      server: Create message queue and thread input in set_key_state.
      server: Lock thread input keystate whenever it is modified.
      server: Create message queue and thread input in get_key_state.
      hidclass.sys: Move HID_GET_COLLECTION_* handling inline.
      hidclass.sys: Move handle_minidriver_string inline.
      hidclass.sys: Use a local NTSTATUS variable to keep IRP status.
      hidclass.sys: Call internal minidriver report ioctls asynchronously.
      windows.gaming.input: Import IAsyncOperation from windows.media.speech.
      windows.media.speech: Return operation error from IAsyncOperation_GetResults.
      windows.media.speech: Return E_ILLEGAL_METHOD_CALL from get_ErrorCode.
      windows.media.speech: Initialize HRESULT variables consistently.
      windows.media.speech: Simplify error handling in async_operation_create.
      windows.media.speech: Assume that async_run_work cannot be NULL in IAsyncInfo_Close.
      mf/tests: Simplify handling of broken Win7 results.
      mf/tests: Add some H264 decoder GetOutputCurrentType tests.
      winegstreamer: Implement H264 decoder GetOutputCurrentType.
      mf/tests: Add more tests for the H264 decoder output media type.
      mf/tests: Only check sample data when length matches.
      include: Add Windows.Foundation.Numerics.Vector3 struct declaration.
      include: Add Windows.Gaming.Input.ForceFeedback.PeriodicForceEffect runtimeclass declaration.
      include: Add Windows.Gaming.Input.ForceFeedback.ConditionForceEffect runtimeclass declaration.
      include: Add Windows.Gaming.Input.ForceFeedback.ConstantForce runtimeclass declaration.
      include: Add Windows.Gaming.Input.ForceFeedback.RampForce runtimeclass declaration.
      include: Use nested namespaces in windows.storage.streams.idl.
      winegstreamer: Ignore unset H264 format profile and level.
      winegstreamer: Check caps pointer in wg_format_to_caps_h264.
      winegstreamer: Check whether transforms are supported at creation time.
      mf/tests: Skip todo_wine tests with a goto statement.
      mf/tests: Use real audio data for WMA encoder / decoder tests.
      mf/tests: Add some IMFTransform output sample attribute tests.
      mf/tests: Add tests changing the H264 decoder output video format.
      mf/tests: Expect identical major types for transform info.
      dinput/tests: Remove racy controller removed handler check.
      dinput/tests: Increase delayed TryResetAsync test wait timeout.
      dinput/tests: Enforce HID report descriptor buffer size.
      dinput/tests: Move Windows.Gaming.Input.RacingWheel tests to joystick8.c.
      dinput/tests: Remove output and feature report buffers length checks.
      dinput/tests: Add some Windows.Gaming.Input.ForceFeedback.ConstantForceEffect tests.
      mf/tests: Check expected class GUID in create_transform.
      mf/tests: Add more DMO class name, media type and interface checks.
      mf/tests: Add tests for the ResamplerMediaObject audio transform.
      mf/tests: Check VideoProcessorMFT transform media types.
      mf/tests: Add tests for the ColorConvertDMO video transform.
      kernel32/tests: Reduce layout tests verbosity by skipping some sizes.
      kernel32/tests: Add some HEAP_NO_SERIALIZE flag / LFH locking tests.
      ntdll: Factor out heap serialization to heap_(lock|unlock) helpers.
      ntdll: Respect HEAP_NO_SERIALIZE flag in HeapLock / HeapUnlock.
      kernel32/tests: Check that HeapCreate should ignore checking flags.
      ntdll: Ignore HEAP_(TAIL|FREE)_CHECKING_ENABLED flags in RtlCreateHeap.
      kernel32/tests: Add more block layout tests with alloc flags.
      kernel32/tests: Add some RtlWalkHeap and more HeapWalk tests.
      mountmgr.sys: Avoid passing a stack pointer to the run_loop thread.
      windows.gaming.input: Set get_AreEffectsPaused value to FALSE when dinput fails.
      windows.gaming.input: Introduce a new type-pruning WineAsyncOperationCompletedHandler.
      windows.gaming.input: Use a PROPVARIANT as async operation result.
      windows.gaming.input: Split IAsyncInfo interface to a separate struct.
      windows.gaming.input: Use IUnknown invoker instead of IInspectable and add a parameter.
      winegstreamer: Add timestamp and duration to struct wg_sample.
      winegstreamer: Support the MFSampleExtension_CleanPoint sample attribute.
      winegstreamer: Only resize buffer when read is incomplete.
      dinput: Do not delete static critical section.

Stefan Dösinger (4):
      wined3d: Invalidate framebuffer locations after setting up the renderpass.
      wined3d: Tell Vulkan about discarded and cleared framebuffer attachments.
      wined3d: Don't explicitly clear the draw location before starting a renderpass.
      wined3d: Set WINED3D_LOCATION_CLEARED for full-subresource clears to black.

Torge Matthies (3):
      msvcr110: Add _StructuredTaskCollection::_StructuredTaskCollection_ctor stub.
      sc/tests: Add tests.
      sc: Allow using separate arguments for parameter name and value.

Zebediah Figura (38):
      wined3d: Clear the texture BO when loading textures into WINED3D_LOCATION_BUFFER.
      wined3d: Move loading from CLEARED into the texture_load_location op.
      wined3d: Clear Vulkan textures on the GPU in wined3d_texture_vk_load_texture().
      wined3d: Clear GL texture using glClear() if possible in wined3d_texture_gl_load_location().
      win32u: Move NtUserTrackMouseEvent() implementation from user32.
      user32: Query CursorBlinkRate from the registry.
      win32u: Move caret APIs from user32.
      user32: Merge caret.c into input.c.
      d3d8/tests: Add more tests for D3DLOCK_NO_DIRTY_UPDATE.
      d3d9/tests: Add more tests for D3DLOCK_NO_DIRTY_UPDATE.
      wined3d: Consider WINED3D_LOCATION_CLEARED to be a GPU location for GPU-accessible textures.
      wined3d: Trace the SRGB flag in wined3d_texture_gl_prepare_texture().
      server: Return void from sock_reselect().
      wined3d: Refuse blits between height-scaled formats in the CPU blitter.
      wined3d: Refuse blits between height-scaled formats in the FBO blitter.
      wined3d: Refuse blits between height-scaled formats in the raw blitter.
      wined3d: Do not use vkCmdClearColorImage() to clear compressed images.
      dinput/tests: Do not test that reports are identical when polling.
      dinput/tests: Set the callback event after setting "impl->invoked".
      ws2_32/tests: Test polling for AFD_POLL_READ while there is a pending WSARecv() call.
      ws2_32/tests: Test polling for AFD_POLL_ACCEPT while there is a pending AcceptEx() call.
      ws2_32/tests: Test selecting for FD_READ while there is a pending WSARecv() call.
      ws2_32/tests: Test selecting for FD_ACCEPT while there is a pending AcceptEx() call.
      ws2_32/tests: Verify that AFD_POLL_CONNECT and AFD_POLL_WRITE are signaled simultaneously.
      winegstreamer: Print messages relating to missing decoders in the winediag channel.
      winegstreamer: Make some wg_format variables static const.
      ws2_32/tests: Test that sockets returned from accept() don't return FD_CONNECT from WSAEnumNetworkEvents().
      ws2_32/tests: Add more tests for selecting for events after they are signaled.
      server: Send AFD_POLL_READ messages before AFD_POLL_WRITE.
      server: Clear only returned events in IOCTL_AFD_GET_EVENTS.
      ws2_32/tests: Add some more tests for reset TCP connections.
      server: Do not signal read/write bits if there are read/write asyncs waiting.
      server: Don't poll for POLLIN or POLLPRI if there are alerted read asyncs.
      server: Do not signal read bits if there are read asyncs alerted.
      server: Don't poll for POLLOUT if there are alerted write asyncs.
      server: Do not signal write bits if there are write asyncs alerted.
      server: Do not signal accept bits if there are accept asyncs queued.
      server: Remove a redundant call to set_fd_events().

Zhiyi Zhang (3):
      apisetschema: Add api-ms-win-core-winrt-robuffer-l1-1-0.
      windows.networking: Add stub dll.
      wintypes: Implement IApiInformationStatics stubs.

Ziqing Hui (11):
      include: Add defines for ID2D1VertexBuffer.
      include: Add defines for ID2D1ResourceTexture.
      include: Add defines for ID2D1RenderInfo.
      include: Add defines for ID2D1DrawInfo.
      include: Add defines for ID2D1ComputeInfo.
      include: Add defines for ID2D1TransformGraph.
      include: Remove useless semi-colon in d2d1_3.idl.
      include: Add defines for ID2D1Transform.
      include: Add defines for ID2D1EffectContext.
      include: Add defines for ID2D1EffectImpl.
      wininet/tests: Test adding empty HTTP header.

--
Alexandre Julliard
julliard@winehq.org