The Wine development release 7.22 is now available.

What's new in this release:
  - 32-on-64 thunks for both Vulkan and OpenGL.
  - OpenLDAP library bundled and built as PE.
  - Support for the RAW print processor in WinPrint.
  - More progress on the long types printf format conversion.
  - Various bug fixes.

The source is available at:

  https://dl.winehq.org/wine/source/7.x/wine-7.22.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.22 (total 38):

 - #41989  Musette crashes in winex11
 - #45233  TIDAL installer can't launch installed program in 64bit WINEPREFIX
 - #48053  kernel32:change fails randomly (and rarely) in Wine
 - #49091  nProtect Anti-Virus/Spyware 4.0 'TKPcFtCb64.sys' crashes on unimplemented function 'ntoskrnl.exe.KeInitializeGuardedMutex'
 - #49297  Spark AR studio installer fails to start:Spark AR Studio is not supported in this version of Windows. Please upgrade to Windows 10
 - #50097  comctl32:monthcal fails on Wednesdays!!!
 - #52511  Hemekonomi hangs on exit due to deadlock between loader_section and Win16 mutex
 - #52872  vbscript: incorrect codepage handling in Asc/Chr, causing tests failures on Hindi locale
 - #53130  ntdll:threadpool - test_tp_instance() fails (rarely) on Windows 8+
 - #53131  ntdll:threadpool - test_tp_multi_wait() fails (rarely) in Wine
 - #53266  Syberia: game crashes frequently
 - #53268  urlmon:protocol - test_protocol_terminate() fails on Windows and Wine
 - #53288  Application compiled with MSVC 2022 ASan does not start, needs QueryVirtualMemoryInformation
 - #53296  USB Device Remover crashes on unimplemented function mscoree.dll.StrongNameTokenFromAssembly
 - #53387  Vernier USB sensors are not usable in WINE
 - #53402  fake dlls such as OPENGL32.dll won't load when their unix lib is linked by LLVM lld
 - #53429  opengl32:opengl fails on Debian 11 + Intel GPU
 - #53474  Change in memory handling gives crash in Framemaker 8
 - #53529  Use wine with custom ld-linux.so.2 32-bit preloader, without hacks
 - #53670  vbscript can not compile if expressions with reversed gte, lte, (=>, =<)
 - #53677  invalid O_WRONLY read sets errno=EACCES instead of EBADF
 - #53741  Gothic II: Night of the Raven (v2.7) fails to start (failure to load msdbi.dll)
 - #53782  vbscript can not compile ReDim with list of variables
 - #53807  vbscript fails to redim original array in function when passed byref
 - #53867  vbscript fails to retrieve property array by index
 - #53868  vbscript fails to return TypeName for VT_DISPATCH
 - #53870  vkGetPhysicalDeviceSurfaceCapabilities2KHR passes invalid VkSurfaceKHR handle to driver
 - #53873  vbscript fails to compile Else If when If is on same line
 - #53909  opengl32.dll can't be loaded if win32u.so is not initialized first
 - #53915  Pivot animator runs into assert
 - #53919  crypt32:cert - testVerifyRevocation() uses an outdated certificate
 - #53923  tools/makedep during wine-7.21 build segfaults
 - #53930  Build broken with Clang in MSVC mode due to OpenLDAP import using getopt.h
 - #53932  ntlm_auth was not found or is outdated.
 - #53935  __unDName doesn't support 'G' and 'H' modifiers
 - #53940  VARA window is black when launched from RMS Express
 - #53954  Saints Row 2022 fails with Unimplemented function KERNEL32.dll.SetProcessInformation
 - #53967  Running anything hangs on start up

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

Changes since 7.21:

Akihiro Sagawa (1):
      include: Fix typo in IN4ADDR_LOOPBACK_INIT.

Alex Henrie (82):
      include: Add IN4ADDR_*_INIT to mstcpip.h.
      include: Add IN6ADDR_*_INIT to ws2ipdef.h.
      ws2_32: Add in[46]addr_* constants to import library.
      user32: Use standard C functions for memory allocation in combo.c.
      include: Include limits.h in stdlib.h.
      include: Add wspiapi.h.
      comctl32: Fix memory leak on error path in EDIT_MakeUndoFit.
      inetcomm: Use standard C functions for memory allocation in mimeole.c.
      ole32: Correct warning message in composite_get_leftmost.
      sspicli: Use standard C functions for memory allocation.
      comdlg32: Use standard C functions for memory allocation in printdlg.c.
      ole32: Fix memory leak on error path in CompositeMonikerImpl_CommonPrefixWith (Coverity).
      dpnet: Use standard C functions for memory allocation in address.c.
      localspl: Use the wcsdup function instead of reimplementing it.
      d3dx9/tests: Use standard C functions for memory allocation in mesh.c.
      httpapi: Use standard C functions for memory allocation.
      msi/tests: Correct a couple of failure messages in test_msirecord.
      msxml3: Remove unused function heap_strdupW.
      dpnet: Use standard C functions for memory allocation in client.c.
      dpnet: Use standard C functions for memory allocation in peer.c.
      dpnet: Use standard C functions for memory allocation in server.c.
      dpnet: Remove unused function heap_strdupW.
      mstask: Use standard C functions for memory allocation in task.c.
      ole32: Fix memory leak on error path in composite_get_(left|right)most (Coverity).
      msado15: Use standard C functions for memory allocation in command.c.
      msado15: Use standard C functions for memory allocation in connection.c.
      msado15: Use standard C functions for memory allocation in recordset.c.
      msado15: Use standard C functions for memory allocation in stream.c.
      msado15: Remove unused functions heap_realloc_zero and strdupW.
      inetcomm: Use standard C functions for memory allocation in protocol.c.
      dinput/tests: Get rid of pDirectInputCreateEx.
      oleaut32: Use standard C functions for memory allocation in olefont.c.
      oledb32: Use standard C functions for memory allocation in datainit.c.
      sapi: Use standard C functions for memory allocation in token.c.
      schedsvc: Use standard C functions for memory allocation in atsvc.c.
      schedsvc: Use standard C functions for memory allocation in schedsvc.c.
      schedsvc: Remove unused function heap_strdupW.
      spoolss: Use standard C functions for memory allocation in router.c.
      jscript: Use standard C functions for memory allocation in dispex.c.
      jscript: Use standard C functions for memory allocation in jscript.c.
      jscript: Remove unused function heap_strdupW.
      windowscodecs: Use standard C functions for memory allocation in metadataquery.c.
      wldap32: Use the wcsdup function instead of reimplementing it.
      winhttp: Use the wcsdup function instead of reimplementing it.
      secur32: Use the wcsdup function instead of reimplementing it.
      adsldp: Use standard C functions for memory allocation in adsldp.c.
      oledb32: Handle memory allocation failure in rowpos_cp_Advise.
      appwiz: Use standard C functions for memory allocation.
      urlmon: Remove unused function heap_strdupWtoA.
      mshtml: Handle realloc failure in add_func_info.
      msxml3: Use standard C functions for memory allocation in saxreader.c.
      dinput/tests: Avoid using GCC's typeof extension.
      webservices: Remove unused function heap_realloc_zero.
      dinput/tests: Put the calling convention inside the function pointer parentheses.
      kernel32/tests: Avoid using GCC's typeof extension.
      explorer: Put the calling convention inside the function pointer parentheses.
      windows.media.speech: Put the calling convention inside the function pointer parentheses.
      advapi32/tests: Avoid using GCC's typeof extension.
      taskschd: Use standard C functions for memory allocation in folder_collection.c.
      taskschd: Use standard C functions for memory allocation in regtask.c.
      taskschd: Use standard C functions for memory allocation in task.c.
      taskschd: Remove unused function heap_strdupW.
      hhctrl: Handle memory allocation failure in GetChmString.
      oledb32: Use standard C functions for memory allocation in rowpos.c.
      shlwapi/tests: Use standard C functions for memory allocation in path.c.
      oledlg: Use standard C functions for memory allocation in pastespl.c.
      ucrtbase/tests: Put the calling convention inside the function pointer parentheses.
      ieframe: Use standard C functions for memory allocation.
      urlmon: Use standard C functions for memory allocation.
      dnsapi: Use the strdup and wcsdup functions instead of reimplementing them.
      pdh: Use standard C functions for memory allocation.
      mshtml: Use standard C functions for memory allocation.
      dmband: Don't force a calling convention on internal functions.
      dmcompos: Don't force a calling convention on internal functions.
      dmime: Don't force a calling convention on internal functions.
      dmloader: Don't force a calling convention on internal functions.
      dmscript: Don't force a calling convention on internal functions.
      dmstyle: Don't force a calling convention on internal functions.
      dmsynth: Don't force a calling convention on internal functions.
      dmusic: Don't force a calling convention on internal functions.
      wininet: Use standard C functions for memory allocation.
      mshtml: Handle memory allocation failure in ConnectionPoint_Advise.

Alexandre Julliard (68):
      winecrt0: Don't build with WINE_UNIX_LIB.
      opengl32: Fix parsing of the DisabledExtensions option.
      opengl32: Consistently use RtlSetLastWin32Error() everywhere.
      win32u: Use RtlGetLastWin32Error() instead of GetLastError().
      winex11: Use RtlGetLastWin32Error() instead of GetLastError().
      winemac: Use RtlGetLastWin32Error() instead of GetLastError().
      include: Disable some inline kernelbase functions when building Unix libraries.
      configure: Don't use LDFLAGS to initialize PE flags.
      wrc: Add support for named locales.
      wmc: Add support for named locales.
      configure: Skip the rest of the PE checks if the cross-compiler isn't detected.
      ntdll: Use the unique id of the user locale for resource lookup.
      include: Remove custom/undocumented language identifiers.
      winegcc: Default to msvcrt mode for all PE builds.
      winecrt0: Build without -DWINE_NO_LONG_TYPES.
      opengl32: Build without -DWINE_NO_LONG_TYPES.
      wineusb.sys: Build without -DWINE_NO_LONG_TYPES.
      wineandroid: Build without -DWINE_NO_LONG_TYPES.
      winemac: Build without -DWINE_NO_LONG_TYPES.
      winex11: Fix int/long type mismatches.
      winex11: Add a debug helper to print color values.
      winex11: Use int instead of long types in a few places.
      winex11: Build without -DWINE_NO_LONG_TYPES.
      ntdll: Fix int/long type mismatches.
      ntdll: Use UINT instead of ULONG in ioctl helpers.
      ntdll: Use unsigned int instead of NTSTATUS in async callbacks.
      ntdll: Use int instead of long types in a few places.
      ntdll: Use unsigned int for the return value of server calls.
      ntdll: Build the PE side without -DWINE_NO_LONG_TYPES.
      ntdll: Build the Unix side without -DWINE_NO_LONG_TYPES.
      ntdll: Always set WINELOADER variable to the current loader name.
      ntdll: Always use the name of the current loader to exec a new process.
      ntdll: Fall back to the current loader if the corresponding 32/64-bit loader isn't found.
      configure: Don't rename the loader to wine64 for multi-arch builds.
      makedep: Assume that all modules are built with msvcrt.
      kernel32/tests: Don't filter out the WINELOADER variable.
      win32: Fix int/long type mismatches.
      win32u: Add a debug helper to print color values.
      win32u: Use int instead of long types for font sizes and flags.
      win32u: Use int instead of long types for monitor index and flags.
      win32u: Use int instead of long types in a few places.
      win32u: Build without -DWINE_NO_LONG_TYPES.
      makedep: Unify the search for static and import libs.
      makedep: Pass the actual name of the module in the delay load flags.
      winecrt0: Add a helper function and macro to simplify Unix library usage.
      winex11.drv: Use the Unix call helpers.
      winemac.drv: Use the Unix call helpers.
      wineandroid.drv: Use the Unix call helpers.
      winealsa.drv: Use the Unix call helpers.
      winecoreaudio.drv: Use the Unix call helpers.
      wineoss.drv: Use the Unix call helpers.
      winepulse.drv: Use the Unix call helpers.
      mountmgr.sys: Use the Unix call helpers.
      nsiproxy.sys: Use the Unix call helpers.
      winebus.sys: Use the Unix call helpers.
      wineusb.sys: Use the Unix call helpers.
      bcrypt: Use the Unix call helpers.
      crypt32: Use the Unix call helpers.
      dwrite: Use the Unix call helpers.
      kerberos: Use the Unix call helpers.
      odbc32: Use the Unix call helpers.
      opencl: Use the Unix call helpers.
      opengl32: Use the Unix call helpers.
      secur32: Use the Unix call helpers.
      winegstreamer: Use the Unix call helpers.
      winevulkan: Use the Unix call helpers.
      ws2_32: Use the Unix call helpers.
      winecrt0: Call __wine_unix_call through an explicit pointer in the helper macro.

Alexandros Frantzis (1):
      winevulkan: Generate "in_ext" definition on demand.

Anton Baskanov (17):
      wined3d: Introduce a new flag to indicate that indirect draws won't be used.
      wined3d: Use the chunk allocator for GL element array buffers.
      quartz/tests: Add tests for MPEG layer-3 decoder sink allocator.
      quartz/tests: Add tests for MPEG layer-3 decoder output media type enumeration.
      winegstreamer: Implement output media type enumeration in MPEG layer-3 decoder.
      winegstreamer: Check whether transform is supported when creating MPEG layer-3 decoder.
      quartz/tests: Add tests for MPEG layer-3 decoder source allocator.
      winegstreamer: Set allocator properties for MPEG layer-3 decoder source.
      winegstreamer: Hold the streaming lock while destroying wg_transform.
      winegstreamer: Destroy the sample queue when stopping the quartz transform.
      winegstreamer: Allocate at least 3 buffers for MPEG audio in quartz parser.
      include: Add MFSampleExtension_Discontinuity to mfapi.h.
      winegstreamer: Set the discontinuity flag in wg_transform.
      wined3d: Factor out and expose functions to map/unmap wined3d_streaming_buffer.
      ddraw: Use the wined3d_streaming_buffer helpers to manage the streaming vertex buffer.
      ddraw: Use the wined3d_streaming_buffer helpers to manage the streaming index buffer.
      wined3d: Add a lower size bound for the streaming buffer allocation.

Aric Stewart (1):
      server: Take into account extra_size in get_rawinput_buffer.

Bartosz Kosiorek (12):
      msvcrt: Add _scwprintf_l implementation.
      msvcrt: Add _scwprintf_p_l implementation.
      msvcrt: Add _scwprintf_p implementation.
      msvcrt: Add _vcprintf_l implementation.
      msvcrt: Add _vcwprintf_l implementation.
      gdiplus: Add GdipSetCustomLineCapBaseCap implementation.
      gdiplus: Remove not used LineCustomCap parameter.
      gdiplus: Add GdipSetCustomLineCapBaseInset implementation.
      gdiplus: Use GpPointF for drawing in widen_closed_figure.
      gdiplus: Add support for widen path with GpCustomLineCap.
      gdiplus: Fix shape of CustomLineCap created by GdipCreateAdjustableArrowCap.
      gdiplus: Add GdipSetCustomLineCapStrokeCaps implementation and usage.

Bernhard Kölbl (1):
      include: Add GUIDs for video decoder profiles.

Biswapriyo Nath (1):
      include: Add Stg functions declaration in propvarutil.h.

Brendan Shanks (2):
      configure: On macOS, build the loader targeting 10.7 when preloader is used.
      ntdll: Add native thread renaming for macOS.

Connor McAdams (5):
      uiautomationcore: Add UiaFind stub.
      uiautomationcore: Partially implement UiaFind.
      uiautomationcore: Add support for ExcludeRoot parameter in UiaFind.
      uiautomationcore: Store traverse_uia_node_tree() results in a dynamic array.
      uiautomationcore: Add support for returning multiple HUIANODEs from UiaFind.

Eric Pouech (27):
      winedbg: Don't use invalid address mode in exception prolog.
      cmd: Don't write outside of variable array.
      kernel32/tests: Fix sporadic process test failure.
      d3d11/tests: Introduce a clear_uav() helper.
      d3dx9_36/tests: Introduce union to help passing float values in DWORD.
      d3dx9_36/tests: Use correct integral type.
      dbghelp: Fix handling of BA_OP_ChangeCodeLength (PDB).
      dbghelp: Use same compiland's pathname as native (PDB).
      dbghelp: Create a single compiland instance by name in PDB.
      dbghelp: Function static variables should be found by address.
      ntdll/tests: Adapt file tests on delete-on-close / delete disposition to Windows 10.
      ntdll/tests: Fix share mode for some delete-on-close/delete disposition tests.
      ntdll/tests: Extend file tests about delete-on-close and disposition.
      dbghelp: Implement SymAddrIncludeInlineTrace().
      dbghelp: Add partial implementation of SymQueryInlineTrace.
      comctl32/tests: Fix monthcal selection tests.
      ucrtbase: Extend ucrtbase's undname tests.
      msvcrt: Rename modifier into qualifier.
      ucrtbase: Handle undecoration of function's reference qualifiers (C++11).
      dbghelp: Convert of couple more of string literals.
      dbghelp: Search debug info files into local cache of debuginfod.
      dbghelp: Locate alternate debug info files by their build id.
      dbghelp: Fix typos in codeview_is_type_forward().
      wined3d: Use long type for interlock variables/fields.
      wined3d: Use pointer to non long integral type for some helpers.
      wined3d: Change return value for *get_emul_mask() to unsigned int.
      cmd: Use OEM code page when reading a file.

Erich Hoover (1):
      ntdll: Add support for FreeBSD style extended attributes.

Etaash Mathamsetty (2):
      ntoskrnl.exe: Implement KeQueryMaximumProcessorCount/Ex.
      ntoskrnl.exe: Implement KeQueryActiveProcessorCount.

Evan Tang (2):
      mshtml: Add tests for things removed in IE11.
      mshtml: Hide things that were removed in IE11.

Fabian Maurer (1):
      imm32: Prevent deadlock on unload.

Gabriel Ivăncescu (35):
      mshtml/tests: Implement IServiceProvider and few other interfaces needed for navigation.
      mshtml: Expose IEventTarget on HTMLDocumentObj and forward it to the doc node.
      mshtml: Forward toString to the document node.
      mshtml: Forward IDispatchEx to the document node.
      mshtml: Handle cNames > 1 in GetIDsOfNames properly.
      mshtml: Allow EVENT_BIND_TO_TARGET to bind to the window.
      mshtml: Do not register Gecko load event handler twice.
      mshtml: Dispatch Gecko events to the window if there's no node.
      mshtml: Add visibilitychange event stub.
      mshtml: Store the nsevent listener descs in a table.
      mshtml: Implement pageshow event.
      mshtml: Dispatch beforeunload event to the window.
      mshtml: Implement unload event.
      mshtml: Implement pagehide event.
      jscript: Use CRT allocation functions.
      mshtml: Fix performance variant leak.
      mshtml: Link the performance.timing from the window at creation.
      mshtml: Implement performance.timing.navigationStart.
      mshtml: Implement performance.timing.redirectStart.
      mshtml: Implement performance.timing.unloadEventStart & unloadEventEnd.
      mshtml: Implement the remaining pre-response performance.timing props.
      mshtml: Implement performance.timing.responseStart & responseEnd.
      mshtml: Implement performance.timing.domLoading.
      mshtml: Implement performance.timing.domInteractive.
      mshtml: Implement performance.timing.domComplete.
      mshtml: Implement performance.timing.domContentLoadedEventStart & End.
      mshtml: Get rid of useless window check.
      mshtml: Implement performance.timing.loadEventStart & loadEventEnd.
      mshtml: Implement performance.timing.msFirstPaint.
      jscript: Initialize source and lastIndex for RegExp.prototype.
      jscript: Pass a jsval as the 'this' to jsdisp_call_value.
      jscript: Pass a jsval as the 'this' to disp_call_value.
      jscript: Pass correct 'this' to callbacks called by builtins.
      jscript: Throw proper error when calling Map constructor as method.
      jscript: Throw proper error when calling Set constructor as method.

Georg Lehmann (2):
      winevulkan: Convert unions when nessecary.
      winevulkan: Update to VK spec version 1.3.235.

Gerald Pfeifer (2):
      msado15: Avoid uninitialized variable warning in fields_get_Item.
      ntdll: Make init_builtin_dll return a value on FreeBSD.

Hans Leidekker (11):
      crypt32/tests: Remove OCSP revoked cert test.
      libs: Import code from upstream openldap 2.5.13.
      wldap32/tests: Get rid of workarounds for old Windows versions.
      wldap32/tests: Switch to db.debian.org.
      wldap32: Get rid of the function documentation.
      wldap32: Add a prefix to functions that conflict with OpenLDAP exports.
      wldap32: Add a prefix to definitions that conflict with OpenLDAP headers.
      wldap32: Use the bundled liblber and libldap.
      ldap: Don't depend on the getopt.h header.
      ldap: Mark ldap_int_destroy_global_options() as a destructor when building with Clang.
      msv1_0: Drop the ntlm_auth version check.

Ivo Ivanov (8):
      dinput: Prevent a potential array overflow error during the conversion from spherical to Cartesian coordinates.
      dinput: Remove redundant physical range values.
      windows.gaming.input: Add gain of 1.0 to the initialization params of (Constant|Ramp)Effect's SetParameters.
      dinput: Always send both "Type Specific" and "Set Effect" reports on initial Download.
      windows.gaming.input: Implement IForceFeedbackMotor_get_SupportedAxes.
      dinput/tests: Reduce the available FFB axes to X and Y in test_windows_gaming_input.
      windows.gaming.input: Implement the number of FFB axes according to the SupportedAxes property.
      windows.gaming.input: Assume that joysticks with single FFB axis are racing wheels.

Jacek Caban (18):
      winevulkan: Don't try to convert ignored VkWriteDescriptorSet members.
      winevulkan: Move need for output member copy check to needs_conversion.
      winevulkan: Align conversion_context_alloc result.
      winevulkan: Convert all 32-bit structs containing pNext pointer.
      winevulkan: Convert all 32-bit structs containing pointer or pointer-size members.
      winevulkan: Convert dispatchable handle arrays in 32-bit thunks.
      winevulkan: Convert pointers to pointer-sized variables in 32-bit thunks.
      winevulkan: Convert dispatchable handle array struct members.
      winevulkan: Introduce find_next_struct32.
      winevulkan: Use PTR32 for pointer-size variables in 32-bit structs.
      winevulkan: Always convert 32-bit pointer arrays.
      winevulkan: Use separated implementations for all 32-bit Unix calls.
      winevulkan: Add __wine_unix_call_wow64_funcs support.
      winevulkan: Never copy pNext pointer in 32-bit struct conversion functions.
      winevulkan: Return error if vkMapMemory would truncate pointer on wow64.
      win32u: Remove __wine_get_wgl_driver PE entry point.
      win32u: Don't use CDECL for __wine_get_wgl_driver.
      winevulkan: Don't try to convert unions without selectors.

Jason Millard (3):
      vbscript: Add support for VT_DISPATCH in Global_TypeName.
      vbscript: Update parser to allow statements after ELSE without new line.
      vbscript: Add support for redim byref.

Jinoh Kang (1):
      ntdll: Use an acquire/release pair on the IOSB status.

Martin Storsjö (1):
      ntdll: Avoid accidentally picking up ntdll's __wine_unix_call_funcs for other DLLs.

Matthew Tran (7):
      dinput/tests: Add more tests for HidP_SetUsageValue.
      dinput/tests: Fix incorrect HID STRING_INDEX tag value.
      hidparse.sys: Fix incorrect HID STRING_INDEX tag value.
      ntoskrnl.exe/tests: Fix incorrect HID STRING_INDEX tag value.
      winebus.sys: Fix incorrect HID STRING_INDEX tag value.
      winexinput.sys: Fix incorrect HID STRING_INDEX tag value.
      hid: Fix HidP_(Get|Set)(Scaled)UsageValue with usage ranges and arrays.

Mohamad Al-Jaf (15):
      mscoree: Add StrongNameTokenFromAssembly stub.
      dbghelp: Add SymAddrIncludeInlineTrace stub.
      include/windowscontracts: Bump contractversion to 14.
      windows.media: Add stub DLL.
      windows.media: Stub IClosedCaptionPropertiesStatics interface.
      windows.media/tests: Add Closed Caption Properties tests.
      windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontColor.
      windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontOpacity.
      windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontSize.
      windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontStyle.
      windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontEffect.
      windows.media: Partially implement IClosedCaptionPropertiesStatics_get_BackgroundColor.
      windows.media: Partially implement IClosedCaptionPropertiesStatics_get_BackgroundOpacity.
      windows.media: Partially implement IClosedCaptionPropertiesStatics_get_RegionColor.
      windows.media: Partially implement IClosedCaptionPropertiesStatics_get_RegionOpacity.

Nikolay Sivov (36):
      d3drm: Use CRT allocation functions.
      d3drm/tests: Use CRT allocation functions.
      vbscript: Use CRT allocation functions.
      d3dx9: Add missing path conversion call in D3DXLoadVolumeFromFileA().
      d2d1: Silently ignore non-default state block implementations.
      vbscript: Implement FormatCurrency().
      vbscript: Implement FormatPercent().
      vbscript: Implement FormatDateTime().
      vbscript: Implement FormatNumber().
      oleaut32/tests: Add a test for VT_NULL input for VarFormatDateTime().
      d2d1: Derive shared bitmap format from the source bitmap.
      d2d1/tests: Use d2d error code name for unsupported pixel format error code.
      vbscript: Handle index read access to array properties.
      ntdll: Do not set system locales that resolve to custom-unspecified.
      xmllite/writer: Handle surrogate pairs.
      xmllite/reader: Use consistent formatting for traces.
      kernelbase: Add SetProcessInformation().
      comctl32/animate: Use CRT allocation functions.
      comctl32/pager: Use CRT allocation functions.
      comctl32/updown: Use CRT allocation functions.
      comctl32/treeview: Use CRT allocation functions.
      comctl32/progress: Use CRT allocation functions.
      comctl32/ipaddress: Use CRT allocation functions.
      comctl32/hotkey: Use CRT allocation functions.
      vbscript: Handle CP_UTF8 in Chr()/Asc().
      ntdll: Use system language as preferred, if user language is custom-unspecified.
      kernelbase: Forward SetThreadIdealProcessor() to ntdll.
      kernel32/tests: Remove workarounds for SetThreadIdealProcessor().
      kernelbase: Forward thread priority boost functions to ntdll.
      kernelbase: Forward GetThreadIdealProcessorEx() to ntdll.
      vbscript: Fix a typo in variable name in LBound().
      vbscript/tests: Fix redim tests.
      oleaut32/safearray: Fix an error code when trying to redim fixed arrays.
      kernel32/profile: Trim spaces from section names on load.
      vbscript/tests: Add some tests for lte/gte tokens.
      vbscript: Accept "><" as inequality operator.

Paul Gofman (17):
      winhttp: Always send Content-length with PUT.
      ws2_32: Return success for setting SO_ERROR.
      xinputuap.dll: Add new dll.
      wmic: Don't set WBEM_FLAG_FORWARD_ONLY flag on query.
      wmic: Call _BeginEnumeration() before iterating class object.
      wmic: Handle VariantChangeType() failures.
      wmic: Add nicconfig alias.
      wmic: Support array of BSTRs in convert_to_bstr().
      winhttp: Add reference counting for connection.
      winhttp/tests: Avoid race condition on closing connection in server_thread().
      winhttp: Send connection close notifications in finished_reading().
      winhttp: Store connection in websocket.
      winhttp: Move flags to websocket header.
      winhttp: Move read buffer to websocket.
      winhttp: Do not reference request from socket.
      winhttp: Set name resolution timeout in download_script().
      winhttp: Cache script in download_script().

Piotr Caban (16):
      winspool.drv: Use CRT allocation functions.
      localspl: Use wcslen instead of lstrlenW.
      localspl: Use CRT allocation functions.
      winspool: Remove strdupW helper.
      winspool: Allow specifying out buffer in DEVMODEdupWtoA.
      winspool: Use GetJobW in GetJobA implementation.
      winprint: Add stub dll.
      winprint: Implement RAW print processor.
      gdi32: Don't crash in StartDoc on NULL DOCINFO.
      gdi32: Get printer output file name in StartDoc.
      winspool: Correctly free data allocated with GdiConvertToDevmodeW.
      localspl: Run AddPortEx tests when InitializePrintMonitor2 is used.
      localspl: Run EnumPorts tests when InitializePrintMonitor2 is used.
      localspl: Run OpenPort tests when InitializePrintMonitor2 is used.
      localspl: Remove unused OpenPortEx function pointers.
      localspl: Run XcvOpenPort tests when InitializePrintMonitor2 is used.

Robert Wilhelm (1):
      vbscript: Handle another variant of LTE/GTE tokens.

Rémi Bernon (52):
      server: Remove no-op raw_msg.foreground release.
      ntdll: Delay loading unixlibs until the functions are requested.
      user32: Move touch related functions to input.c.
      user32: Add GetPointerTouchInfo(History) stubs.
      kernel32: Validate pointer before calling HeapSize.
      kernel32: Lock heap and validate pointer in LocalHandle.
      kernelbase: Validate pointers before calling heap functions.
      ntdll: Cleanup heap block macro definitions.
      opengl32: Generate wow64 thunks.
      opengl32: Manually write glPathGlyphIndexRangeNV wow64 thunk.
      opengl32: Implement wow64 thunk for wglGetProcAddress.
      opengl32: Implement wow64 thunk for wglMakeCurrent (et al.).
      opengl32: Implement wow64 thunk for wglCreateContextAttribsARB.
      opengl32: Implement wow64 thunk for wglCreatePbufferARB.
      opengl32: Implement wow64 thunk for wglGetPbufferDCARB.
      opengl32: Implement wow64 thunks for input pointer arrays.
      opengl32: Implement wow64 thunks for glFenceSync (et al.).
      dwrite: Avoid memcpy source overflow in GetFontAxisValues.
      opengl32: Implement wow64 thunk for glGetString (et al.).
      opengl32: Use manual win32 thunks for glMapBuffer (et al.).
      opengl32: Implement wow64 thunks for glMapBuffer (et al.).
      opengl32: Cast wow64 pointers in glGet(VertexAttrib)Pointerv.
      opengl32: Use the +opengl debug channel everywhere.
      dinput/tests: Add more HidP_(Set|Get)UsageValue tests with array caps.
      hid: Move (get|set)_usage_value around and use it for scaled values.
      hidclass.sys: Add more trace messages.
      winebus.sys: Add more trace messages.
      server: Set missing error status for get_process_image_name.
      kernel32/tests: Add more (Global|Local)ReAlloc tests.
      comdlg32: Call GlobalReAlloc with GMEM_MOVEABLE flag.
      ole32: Call GlobalReAlloc with GMEM_MOVEABLE flag.
      riched20: Call GlobalReAlloc with GMEM_MOVEABLE flag.
      winemac.drv: Call GlobalReAlloc with GMEM_MOVEABLE flag.
      user32: Call GlobalReAlloc with GMEM_MOVEABLE flag.
      kernelbase: Don't try in-place HeapReAlloc in LocalReAlloc.
      kernelbase: Handle LMEM_MODIFY flag first in LocalReAlloc.
      kernelbase: Handle LMEM_DISCARDABLE flag specifically in LocalReAlloc.
      kernelbase: Avoid moving locked HLOCAL pointer without LMEM_MOVEABLE.
      kernel32: Return success from GlobalReAlloc with locked HGLOBAL pointer.
      kernelbase: Only discard HLOCAL with LMEM_MOVEABLE and if not locked.
      rpcss: Use I_Rpc(Free|Allocate) in MIDL_user_(allocate|free).
      winex11.drv: Reposition windows on desktop resize only when useful.
      ntdll: Rename heap block ALIGNMENT macro to BLOCK_ALIGN.
      ntdll: Use BLOCK_FLAG_LARGE rather than subheap pointer.
      ntdll: Compute effective flags in unsafe_heap_from_handle.
      ntdll: Compute block size before calling heap_(re)allocate.
      ntdll: Pass a heap block pointer to initialize_block.
      dinput/tests: Test zero-ed force feedback effect parameters.
      windows.gaming.input: Set initial effect parameters within the CS.
      appwiz.cpl: Free wine_get_dos_file_name memory with HeapFree.
      mshtml: Free wine_get_dos_file_name memory with HeapFree.
      winepath: Free wine_get_(dos|unix)_file_name memory with HeapFree.

Santino Mazza (5):
      kernel32: Forward CreateFileMappingFromApp kernel32 to kernelbase.
      kernel32: Forward MapViewOfFileFromApp kernel32 to kernelbase.
      kernelbase: Create GetGeoInfoEx stub.
      kernel32/tests: Test for GetGeoInfoEx.
      kernelbase: Implement GetGeoInfoEx.

Sven Baars (7):
      ntdll/tests: Add some Software\Classes subkey tests.
      server: Recursively obtain the Wow6432Node parent.
      ntdll/tests: Test that NtCreateKeyEx() also recursively obtains the Wow6432Node parent.
      ntdll/tests: Add some some Software\Classes query and enumerate tests.
      server: Don't return the actual 32-bit Software\Classes key.
      ntdll/tests: Factor out the NtEnumerateKey() tests.
      ntdll/tests: Refactor the Software\Classes tests.

Tim Clem (1):
      winspool.drv: Ignore input in DocumentPropertiesA unless DM_IN_BUFFER is passed.

Zebediah Figura (16):
      ntdll: Make the "not found" trace in nt_to_unix_file_name_no_root() less misleading.
      setupapi/tests: Add more tests for buffer size handling in SetupDiGetDeviceInterfaceDetail().
      setupapi: Correctly calculate the required size in SetupDiGetDeviceInterfaceDetailA().
      setupapi: Fill the required size in SetupDiGetDeviceInterfaceDetail() also on success.
      ntoskrnl/tests: Test retrieving SPDRP_CONFIGFLAGS.
      setupapi: Set SPDRP_CONFIGFLAGS in SetupDiInstallDevice().
      ntoskrnl: Set SPDRP_CONFIGFLAGS in install_device_driver().
      d3dcompiler: Print message output with ERR() in D3DCompile2().
      d3dcompiler: Print message output with ERR() in D3DPreprocess().
      winex11: Print a winediag err if XComposite is missing.
      configure: Override PKG_CONFIG_LIBDIR instead of PKG_CONFIG_PATH for 32-bit builds on 64-bit hosts.
      quartz: Use a single message thread for all filter graphs.
      ntdll: Add a get_free_list_block_size() helper.
      ntdll: Always trace sizes with %#x.
      ntdll: Avoid casting a struct to its first field.
      ntdll: Remove an unnecessary cast.

Zhiyi Zhang (4):
      dwmapi: Fallback to 60Hz if the display frequency is invalid in get_display_frequency().
      explorer/tests: Add taskbar tests.
      explorer: Use a valid taskbar position when the taskbar is hidden.
      win32u: Fix a memory leak.

Ziqing Hui (6):
      wmvcore/tests: Add tests for IWMProfile_GetStreamByNumber.
      winegstreamer: Implement profile_GetStreamByNumber.
      mf/tests: Test IMediaObject_GetStreamCount for WMV decoder.
      winegstreamer: Implement media_object_GetStreamCount for WMV decoder.
      mf/tests: Test IMediaObject_GetInputType for WMV decoder.
      winegstreamer: Implement media_object_GetInputType for WMV decoder.
