WineHQ

Wine Announcement

The Wine development release 6.22 is now available.

What's new in this release (see below for details):
  - Mono engine updated to version 7.0.0.
  - Exception unwinding on ARM.
  - More improvements to HID joystick support.
  - WoW64 thunks in a number of Unix libraries.
  - Beginnings of moving USER32 to Win32u.
  - Various bug fixes.

The source is available from the following locations:

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

  21572  KFSensor 4.x/5.x: 'kfsnserv.exe' service fails to reliably stop/start/restart
  22260  Total Commander 7.x/8.x: editable dropdown is gray when opened and empty
  30498  Shadows broken on many games because of wrong depth formats
  38278  Multiple apps and games need wmvcore.dll.WMReader_Open implementation (Nail'd demo)
  42030  winedbg: Internal crash at 0x9f58fd40
  45130  Builtin xaudio2_7.dll break audio and slow down performance for some games since wine 3.5
  45443  Diablo 3: Starting the game causes a black screen softlock on the X-environment
  46512  Window text has last letter cut off
  47119  winedbg truncates 64-bit address when compiled with mingw
  49409  Monkey Island 2 Special Edition crash / freeze with built-in xactengine3_6
  49803  WIDL cannot import TLBs stored as resources in PE, such as stdole32.tlb and stdole2.tlb (even though both have tlb extension, they are essentially PE)
  50292  Process-local synchronization objects use private interfaces into the Unix library
  50757  (Regression) Hyperdimension Neptunia Re;Birth1 Crashes/freezes frequently with FAudio
  51027  Fonts blurred for some words in Logos Bible Software
  51587  Force feedback strength is really low in multiple games
  51864  VeraCrypt Installer for 1.24-Update7 (Win8+) fails with HRESULT 0x800288BD
  51916  Empire Earth 2 UP 1.5: ImageButtons don't render right with custom themes
  51938  Safe Exam Browser needs "DNSDomain" from Win32_NetworkAdapterConfiguration
  51944  Resident Evil 6 stops to a black screen instead of playing videos
  51953  Joystick not detected for some older games with wine 6.20
  51956  Morrowind: freezes when control keys are changing
  51968  Winaero WEI Tool: Crash due to C:\windows\performance\winsat\datastore missing
  51970  Memento Mori needs output_props_GetType
  51978  Autodesk Fusion 360 crashes on unimplemented function msvcp140.dll.?table@?$ctype@D@std@@QEBAPEBFXZ
  51983  foobar2000 v1.5.1+ crashes on startup with Wine v6.6+ with Windows version set to "Windows 10"
  52022  Multiple games have unresponsive mouse/keyboard (Borderlands GOTY Enhanced, Tom Clancy's Rainbow Six Siege, Resident Evil Revelations)
  52044  Safe exambrowser needs msctfmonitor.dll
  52051  Oceanhorn: Monster of Uncharted Seas fails to start (uses WINED3DFMT_R8G8_UINT in vertex declaration)
  52052  Wine doesn't show any window while creating/updating 64-bit prefix

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

Changes since 6.21:

Akihiro Sagawa (2):
      gdi32/tests: Test substituted face family name.
      win32u: Use a real family name as otmpFamilyName for substituted face.

Alexandre Julliard (52):
      avicap32: Implement Wow64 entry points in the Unix library.
      ctapi32: Implement Wow64 entry points in the Unix library.
      dnsapi: Implement Wow64 entry points in the Unix library.
      gphoto2.ds: Implement Wow64 entry points in the Unix library.
      netapi32: Implement Wow64 entry points in the Unix library.
      sane.ds: Implement Wow64 entry points in the Unix library.
      bcrypt: Implement Wow64 entry points in the Unix library.
      msv1_0: Define the communication structure only on the Unix side.
      msv1_0: Implement Wow64 entry points in the Unix library.
      qcap: Implement Wow64 entry points in the Unix library.
      winspool.drv: Implement Wow64 entry points in the Unix library.
      ntdll: Create a remote thread in DbgUiIssueRemoteBreakin().
      makefiles: Substitute all defined variables in the main makefile.
      makefiles: Generate the top makefile entirely from configure.
      makefiles: Explicitly import all the needed libraries.
      wrc: Ignore the target option.
      wrc: Windows file formats are always little-endian.
      wmc: Windows file formats are always little-endian.
      widl: Windows file formats are always little-endian.
      wrc: Support only single directories with the -I option.
      widl: Support loading typelibs stored inside PE files.
      widl: Search for imported typelibs in the library search path.
      makefiles: Make importlib dependencies point to their respective dll.
      include: Stop building tlb files in the include directory.
      configure: Regenerate with autoconf 2.71.
      tools: Upgrade the config.guess/config.sub scripts.
      gdi32/tests: Use the OS/2 last char for the Ansi charset limit.
      makefiles: Don't copy the source makefile into the sub-directory stub makefiles.
      makefiles: Always use winebuild to build static libraries.
      makefiles: Do not install external libraries.
      Revert "oleaut32: Implement TLB dependencies lookup in resources."
      oleaut32/tests: Use TYPELIB resource type for all typelibs.
      makefiles: Directly generate resources also for non-registered typelibs.
      winebuild: Escape invalid characters in the dll name for static import libraries.
      makefiles: Use static importlibs on all platforms.
      winegcc: Don't link directly to ntdll or ntoskrnl import libraries.
      winebuild: Avoid resolving standard C functions with static importlibs.
      makefiles: Don't add msvcrt import in dlls built as part of the tests.
      capi2032: Build as a pure Unix library.
      ctapi32: Build as a pure Unix library.
      msvcrt: Don't forward string functions to ntdll.
      msvcrt: Don't forward itoa() functions to ntdll.
      wow64win: Add missing thunk for NtUserGetKeyboardLayout().
      winegcc: Get rid of PowerPC support.
      winebuild: Get rid of PowerPC support.
      widl: Get rid of PowerPC support.
      tools: Move target CPU and platform handling to the common tools.h header.
      winegcc: Support an explicit --fake-module option.
      makefiles: Split the module generation into several helper functions.
      ntdll: Fix handling of zero size with MEM_DECOMMIT.
      ntdll: Fix a compiler warning on macOS.
      makedep: Use a separate variable for cross-compiled importlib objects.

Alistair Leslie-Hughes (18):
      msdasql: Implement IDBProperties SetProperties.
      include: Add transact.idl to oledb.idl.
      include: Add trnjoi.idl.
      msdasql: Trace session interfaces.
      msdasql: Correct default dialect logic.
      msdasql: Fix use after free (Coverity).
      include: Add define SQL_OV_ODBC3_80.
      msdasql: Fixup GetCommandText wrt dialect.
      msdasql: Fix initial query value.
      include: Add SQLGetDiagFieldW prototype.
      msdasql: IDBProperties doesn't support DBPROPSET_DATASOURCEINFO property set.
      msdasql: Implement IRowsetInfo GetSpecification.
      include: Add more DBPROPVAL_ defines.
      msdasql: Add ICommandWithParameters to command interface.
      msdasql: Support NULL dialect in GetCommandText.
      msdasql: Return S_OK in ICommandPrepare Un/Prepare.
      msdasql: Move ICommandWithParameters to the correct interface.
      msdasql: Implement IGetDataSource GetDataSource.

Andrew Eikum (1):
      msvcrt: Better handle multiple width specifiers.

Andrey Gusev (1):
      wined3d: Add WINED3DFMT_R16_FLOAT vertex format.

André Zwing (1):
      avicap32: Fix typo in comment.

Arkadiusz Hiler (2):
      msvcrt: Increase module's reference count before returning from _beginthread[ex]().
      ucrtbase/tests: Test for FreeLibrary() vs _beginthread[ex]() race condition.

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

Aurélien Inacio (1):
      win32u: Use 7-bit ascii for unhandled encodings.

Bernhard Kölbl (2):
      xml2: Use MSVC constants for NaN and infinity.
      gdiplus: Add pixel conversions to 4bpp indexed.

Brendan Shanks (2):
      sechost: Fix hang when a device notification callback tries to register/unregister a notify.
      winemac.drv: Remove workarounds for Mac OS X 10.6 and earlier.

Chilung Chan (1):
      po: Update Traditional Chinese translation.

Connor McAdams (6):
      include: Update existing provider definitions in uiautomationcore.idl.
      include: Define more provider interfaces in uiautomationcore.idl.
      include: Update existing PROPERTYIDs in uiautomationclient.idl.
      include: Add UI Automation Pattern ID definitions.
      uiautomationcore: Implement UiaHostProviderFromHwnd.
      uiautomationcore/tests: Expand UiaHostProviderFromHwnd tests.

Damjan Jovanovic (1):
      server: Implement vm counters on FreeBSD.

Dmitry Timoshkov (5):
      kernel32/tests: Add a test for loading manifest from resources.
      ntdll: Return correct status when manifest could not be loaded from file.
      crypt32: Avoid truncating unicode chars.
      ntoskrnl: Add IoCreateDeviceSecure semi-stub.
      comctl32: Add semi-stub for ImageList_WriteEx.

Doug Lyons (1):
      msvcrt: Do not acquire fd lock in msvcrt_create_io_inherit_block.

Eduard Permyakov (1):
      dsound: Correctly report hardware audio buffers as unsupported.

Eric Pouech (39):
      winedump: Fix computation of signed integers in codeview symbol's annotations.
      dbghelp: Check that we don't add same line number twice.
      dbghelp: Attach a struct cpu* to every module.
      dbghelp: Use module's cpu word size instead of sizeof(void*) or sizeof(DWORD_PTR).
      dbghelp: Use cpu from debuggee's modules rather than debugger's.
      dbghelp/pdb: Add new basic type to represent char8_t introduced in C++20.
      dbghelp/pdb: Handle S_LOCAL codeview entries.
      dbghelp/pdb: Implement loc_compute for pdb backend.
      dbghelp/pdb: Introduce codeview_init_type_parse() to handle init of type streams.
      dbghelp/pdb: Let codeview_snarf() handle all module debug information.
      dbghelp/pdb: Added support for S_INLINESITE and S_INLINESITE_END.
      dbghelp/pdb: Handle a block in DEBUG_S_LINES subsection spreading across several symbols.
      dbghelp/pdb: Add line number to inline sites.
      dbghelp/pdb: Fix start adress of block.
      dbghelp/msc: Better detect whether IPI stream is present.
      winedump: Better detect whether IPI stream is present.
      mscvpdb.h: Fix string types.
      winedump: Add some more codeview entries.
      winedump: Pass start offset when dumping symbols.
      winedump: No longer print current function.
      winedump: Properly indent multi lines symbol records.
      winedump: Better handle display of nested symbol entries.
      dbghelp/dwarf: Introduce a helper to read properly multiple range of addresses.
      dbghelp/dwarf: Workaround functions with multiple range of addresses.
      winedbg: Fix command line arguments parsing.
      winedump: Setup a context in symbol_dumper for S_SEPCODE.
      winedump: Define and dump POGO codeview record.
      dbghelp: Relax some failure conditions in SymSetContext and SymSetScopeFromAddr.
      dbghelp/dwarf: Make use of AT_type if present when parsing an enumeration type.
      dbghelp/dwarf: Don't register labels without address.
      dbghelp/dwarf: Fix computation of some location attributes.
      dbghelp/msc: Silence a couple of unneeded codeview entries while parsing PDB.
      dbghelp/msc: Support S_SEPCODE codeview record.
      dbghelp: Fix module name construction.
      dbghelp: Always search current directory when loading PE modules.
      dbghelp: Allow 32bit dbghelp to handle 64 addresses.
      dbghelp: Move debug info loading out of image backends into SymLoadModuleEx().
      dbghelp: Detect collision by looking at module's base address in SymLoadModuleEx().
      dbghelp: Improve collision handling in SymLoadModuleEx().

Esme Povirk (2):
      mscoree: Update Wine Mono to 7.0.0.
      mfplat: Allow deleting open files.

Floris Renaud (2):
      po: Update Dutch translation.
      winecfg: Add the command line options to the man page.

Gabriel Ivăncescu (5):
      mshtml: Implement inline attributes parsing for createElement.
      comctl32: Redraw children when the combo box is dropped down.
      user32: Redraw children when the combo box is dropped down.
      mshtml: Clear the string dprop associated with the builtin attribute when removing it.
      mshtml: Actually set the return value when removing an attribute.

Georg Lehmann (1):
      winevulkan: Update to VK spec version 1.2.199.

Hans Leidekker (1):
      ipconfig: Print primary DNS suffix.

Henri Verbeet (6):
      ddraw: Use wined3d_bit_scan() in compute_sphere_visibility().
      ntdll: Only add a module dependency if import_dll() returned a modref.
      wined3d: Allow OpenGL vertex buffer objects to be suballocated from a larger BO.
      wined3d: Allow OpenGL index buffer objects to be suballocated from a larger BO.
      wined3d: Allow OpenGL uniform buffer objects to be suballocated from a larger buffer.
      wined3d: Allow OpenGL atomic counter buffer objects to be suballocated from a larger buffer.

Hugh McMaster (2):
      kernel32/tests: Add tests for the current console font size.
      kernel32: Return font size, not screen buffer size, from GetCurrentConsoleFontEx.

Huw D. M. Davies (6):
      winecoreaudio: Move DriverProc to midi.c.
      winecoreaudio: Move get_endpoint_ids to a unixlib.
      winecoreaudio: Introduce a stream structure.
      winecoreaudio: Use the global lock to lock the session.
      winecoreaudio: Use the global lock to protect the audio client.
      winecoreaudio: Store the channel count and period_ms directly in the audio client.

Ismael Luceno (1):
      server: Fix missing include for uid_t.

Ivo Ivanov (21):
      dinput: Stop calling SendForceFeedbackCommand on device destroy.
      dinput: Unacquire device when last public reference is released.
      dinput: Remove some extremely verbose traces, and fix typos.
      dinput: Always return a valid string from effect_guid_to_string.
      dinput: Fix HID joystick set_ramp_force end_caps lookup.
      dinput: Remove redundant check for DIEP_DIRECTION.
      dinput: Set effect block index in the second type specific report.
      dinput: Pass buffer byte length to HidD_GetProductString.
      winebus.sys: Accept whitespaces in strings parsed from uevent.
      dinput: Return DI_DOWNLOADSKIPPED from SetParameters.
      dinput: Return DI_OK when HID joystick CreateEffect succeeds.
      dinput: Move set_parameter_value helper around.
      include: Declare DIPROP_(PHYSICAL|LOGICAL)RANGE properties.
      dinput: Add support for DIPROP_(PHYSICAL|LOGICAL)RANGE properties.
      winebus.sys: Add PID_USAGE_PARAMETER_BLOCK_OFFSET in the set condition report.
      dinput: Introduce a new set_parameter_value_angle helper.
      dinput: Fix single-axis effects direction values.
      joy.cpl: Allow devices as steering wheels, that only support single-axis effects.
      dinput: Look for the device managed effect creation reports.
      dinput: Write PID_USAGE_PARAMETER_BLOCK_OFFSET in the set condition report.
      dinput: Support creating effects using device managed reports.

Jacek Caban (37):
      win32u: Move NtUserGetLayeredWindowAttributes implementation from user32.
      win32u: Move NtUserSetProp implementation from user32.
      win32u: Move NtUserGetProp implementation from user32.
      win32u: Move NtUserRemoveProp implementation from user32.
      win32u: Don't use free_region in alloc_region.
      explorer: Set lib name for null driver.
      winebuild: Use find_clang_tool for ld and nm tools.
      user32: Introduce user_driver_funcs struct.
      user32: Use user_driver_funcs to expose user driver function from drivers.
      win32u: Use user_driver_funcs to pass driver to __wine_set_display_driver.
      win32u: Move null user driver implementation from user32.
      win32u: Move NtUserCountClipboardFormats implementation from user32.
      win32u: Move NtUserGetClipboardFormatName implementation from user32.
      win32u: Move NtUserIsClipboardFormatAvailable implementation from user32.
      win32u: Move NtUserGetClipboardOwner implementation from user32.
      win32u: Move NtUserGetClipboardViewer implementation from user32.
      win32u: Move NtUserGetUpdatedClipboardFormats implementation from user32.
      win32u: Move NtUserGetClipboardSequenceNumber implementation from user32.
      win32u: Move NtUserAddClipboardFormatListener and NtUserRemoveClipboardFormatListener implementations from user32.
      win32u: Move NtUserGetPriorityClipboardFormat implementation from user32.
      win32u: Move NtUserAttachThreadInput implementation from user32.
      win32u: Move NtUserGetKeyState implementation from user32.
      win32u: Move NtUserGetKeyboardState implementation from user32.
      win32u: Move NtUserSetKeyboardState implementation from user32.
      win32u: Move NtUserVkKeyScanEx implementation from user32.
      win32u: Move NtUserMapVirtualKeyEx implementation from user32.
      win32u: Move NtUserGetKeyboardLayout implementation from user32.
      win32u: Move NtUserGetKeyNameText implementation from user32.
      win32u: Move NtUserGetOpenClipboardWindow implementation from user32.
      win32u: Move NtUserToUnicodeEx implementation from user32.
      win32u: Move NtUserActivateKeyboardLayout implementation from user32.
      win32u: Move NtUserGetKeyboardLayoutList implementation from user32.
      win32u: Move NtUserUnregisterHotKey implementation from user32.
      win32u: Move NtUserGetMouseMovePointsEx implementation from user32.
      win32u: Move NtUserScrollDC implementation from user32.
      user32: Don't load cursor inside user lock in register_builtin.
      user32: Move register_builtin_classes call to GetDesktopWindow.

Jan Sikorski (5):
      wined3d: Acquire references to blend states in deferred contexts.
      wined3d: Acquire references to rasterizer states in deferred contexts.
      wined3d: Acquire references to depth stencil states in deferred contexts.
      wined3d: Acquire references to shaders in deferred contexts.
      wined3d: Acquire references to samplers in deferred contexts.

Jinoh Kang (11):
      win32u: Remove EMFDRV_StretchDIBits and EMFDRV_SetDIBitsToDevice.
      gdi32/tests: Add tests for recording StretchDIBits in EMFs.
      gdi32/tests: Add tests for recording SetDIBitsToDevice in EMFs.
      gdi32: Fix bounding box calculation for EMR_STRETCHDIBITS.
      gdi32: Allow passing BITMAPINFO with bmiHeader.biSizeImage == 0 for EMF DC.
      gdi32: Calculate effective number of scan lines and truncate bitmap bits for EMR_SETDIBITSTODEVICE.
      winedbg: Report current thread ID to GDB for all stop replies.
      winedbg: Set reuseaddr flag for gdb remote socket.
      winedbg: Replace packet_realloc() with realloc().
      winedbg: Use unsigned int for offset/length in GDB qXfer handler.
      winedbg: Escape special characters in GDB packet reply.

Louis Lenders (4):
      wbemprox: Add empty DNSDomain to Win32_NetworkAdapterConfiguration.
      combase: Add stub for RoOriginateError.
      msctfmonitor: Add stub dll.
      msctfmonitor: Add stub for InitLocalMsCtfMonitor.

Mark Jansen (1):
      comctl32: Safely handle large wParam in SB_GETPARTS.

Martin Storsjö (20):
      ntdll/tests: Remove an accidental, unused macro in arm64 exception tests.
      ntdll: Print an error if unable to unwind due to missing libunwind on arm64.
      ntdll: Don't blindly increment Sp by 8 in leaf functions on arm64.
      kernel32: Update arch availability for Rtl* forwards to ntdll.
      ntdll: Implement RtlVirtualUnwind for arm.
      ntdll/tests: Add tests for RtlVirtualUnwind for arm.
      winedump: Print the whole multibyte unwind opcode for arm.
      winedump: Distinguish between 16 and 32 bit nop opcodes in ARM unwind data.
      winedump: Fix printing of the prologue version of the "ldr lr, [sp], #offset" opcode.
      winedump: Rewrite dumping of packed ARM unwind info.
      ntdll: Fix arm call_user_exception_dispatcher with kernel stack for syscalls.
      ntdll: Save context->Lr in the arm version of RtlRaiseException.
      ntdll: Include d0-d15 in RtlCaptureContext.
      ntdll: Remove stack gap in syscalls on arm.
      ntdll: Implement stack unwinding on arm.
      ntdll: Implement __C_specific_handler and __jump_unwind for arm.
      ucrtbase: Hook up __intrinsic_setjmpex for arm.
      msvcrt: Don't set frame to 0 in arm and arm64 setjmp.
      ntdll: Error out if unwinding isn't progressing on arm.
      ntdll: Subtract an offset from pc if dispatch->ControlPcIsUnwound on arm.

Mohamad Al-Jaf (2):
      kernelbase: Implement AppPolicyGetMediaFoundationCodecLoading.
      kernel32: Forward AppPolicyGetMediaFoundationCodecLoading to kernelbase.

Nikolay Sivov (17):
      mf/session: Implement IsRateSupported().
      mf/session: Get rid of some interface pointers casts.
      mfplay: Fix leaks on error paths (Coverity).
      evr/mixer: Fix rectangle scaling helper argument check (Coverity).
      evr/mixer: Preserve frame aspect ratio when rendering.
      evr/presenter: Remove logic related to picture aspect ratio adjustment.
      evr/presenter: Add missing break in get_FramesDrawn() (Coverity).
      mf/tests: Add some more tests for session rate control.
      mf/session: Expose rate control interfaces.
      propsys/tests: Add a VT_UI4 test for PropVariantCompareEx().
      evr/mixer: Implement repainting requests.
      evr/mixer: Flush on MFT_MESSAGE_NOTIFY_END_STREAMING.
      d3d10/effect: Add initial support for indexing expressions.
      d3d10core/tests: Add a test for DXGI_FORMAT_R8G8_UINT support in vertex buffers.
      d3d11/tests: Add a test for DXGI_FORMAT_R8G8_UINT support in vertex buffers.
      wined3d: Add R8G8_UINT to vertex formats list.
      d3d10/effect: Fix a trace message.

Paul Gofman (3):
      msiexec: Append .msi extension to file name if file is not found.
      winex11.drv: Check if the surface is in list in wine_vk_surface_release().
      bcrypt: Validate secret size in BCryptGenerateSymmetricKey().

Piotr Caban (6):
      msvcp140: Fix _Winerror_message test failures.
      msvcp140: Fix _Winerror_map test failures.
      msvcrt: Skip small-block heap tests if _set_sbh_threshold is not available.
      ucrtbase: Fix fma test failures.
      msvcp_win: Add stub dll.
      msvcp_win: Forward to msvcp140.

Rémi Bernon (60):
      dinput: Always call the device internal poll callback.
      dinput: Enumerate HID joystick with dinput <= 7 and device type 0.
      dinput8/tests: Check setting DIPROP_AUTOCENTER on force-feedback joystick.
      dinput: Pretend that DIPROP_AUTOCENTER is supported.
      dinput: Check for DIEFFECT_DX6 size when DIEP_STARTDELAY is set.
      dinput: Support both DIEFFECT_DX5 and DIEFFECT_DX6 parameters.
      propsys: Fix VT_UI4 comparison, use ulVal instead of uiVal.
      include: Add some MPEG4 container attributes to mfidl.idl.
      winebus.sys: Use +hid debug channel.
      hidparse.sys: Use +hid debug channel.
      hid: Use +hid debug channel instead of +hidp.
      winexinput.sys: Use +xinput channel.
      dinput: Fix HID joystick GetEffectInfo / GetCapabilities flags.
      dinput: Improve object dwOfs values for dinput version <= 0x700.
      dinput8/tests: Make test_device_input tests more predictable.
      dinput8/tests: Add older dinput HID force-feedback tests.
      dinput8/tests: Add more force-feedback effect direction tests.
      dinput: Allow DIEFF_CARTESIAN directions when cAxes matches.
      dinput: Check for DIEFF_POLAR axes count before capacity.
      dinput: Only convert DIEFFECT directions to spherical when needed.
      dinput: Fix DIEFF_CARTESIAN to DIEFF_SPHERICAL conversion.
      dinput: Only call internal poll callback when device is acquired.
      dinput: Support up to 6 effect conditions.
      dinput: Use a specific buffer for set envelope output report.
      server: Wait for process exit more often and using increasing delay.
      services: Terminate all service processes on shutdown.
      winspool.drv: Fix incorrect read of enumerated printer count.
      dinput8/tests: Improve HID joystick tests output.
      dinput8/tests: Test effect creation with unacquired device.
      dinput8/tests: Introduce new create_dinput_device helper.
      dinput8/tests: Test device types with older dinput versions.
      dinput8/tests: Make sure SetCooperativeLevel window is foreground.
      dinput: Implement HID joystick object names from their usages.
      dinput: Stub support for DIPROP_AUTOCENTER property.
      dinput8/tests: Add some IDirectInput(8)_EnumDevices tests.
      dinput: Implement IDirectInput_EnumDevices with IDirectInput8_EnumDevices.
      dinput: Implement IDirectInputJoyConfig8_GetConfig with EnumDevices.
      dinput: Implement EnumDevicesBySemantics with EnumDevices.
      dinput: Handle device types and flags directly in EnumDevices.
      dinput8/tests: Add some HID device gain report tests.
      dinput: Stub support for the DIPROP_FFGAIN property.
      winebus.sys: Add a PID device gain output report.
      dinput: Look for the PID device gain output report.
      dinput: Write PID device gain reports when necessary.
      winebus.sys: Implement PID device gain for SDL devices.
      winebus.sys: Implement PID device gain for UDEV lnxev devices.
      dinput8/tests: Add some more (Get|Set)Property tests.
      dinput: Move HID joystick extra caps to struct dinput_device.
      dinput: Reset axis and pov values on object property change.
      dinput: Guard (Get|Set)Property logic within the device CS.
      dinput: Factor (Get|Set)Property checks together.
      dinput: Move SetProperty implementation to the generic device.
      dinput: Move GetProperty implementation for objects to generic device.
      dinput: Stub support for the DIPROP_CALIBRATIONMODE property.
      winebus.sys: Use last report length in IOCTL_HID_GET_INPUT_REPORT.
      winebus.sys: Remove effect gain from the crafted PID reports.
      dinput: Only scale parameter value if its physical range is defined.
      winebus.sys: Avoid unnecessary scaling of effect parameter values.
      win32u: Guard font unused_entry against race condition.
      dinput8/tests: Add tests for device managed effect creation.

Serge Gautherie (1):
      riched20: Check font_cache in select_style() too.

Stefan Dösinger (5):
      include: Add more dummy msvc SAL macros.
      include: _InterlockedExchangePointer is an intrinsic on x86 in newer MSVC versions.
      d3d8/tests: Port the filling convention test to d3d8.
      d3drm/tests: Do not depend on a todo_wine result more than necessary.
      ddraw/tests: Port test_filling_convention to ddraw.

Thomas Faber (6):
      comctl32/tests: Test SB_GETPARTS with large wParam.
      msvcrt/tests: Show that spawn does not require locking of fds.
      dbghelp: Accept NULL search path in SymSetSearchPath.
      dbghelp/tests: Add tests for SymSetSearchPath.
      dbghelp: Use . instead of concrete path for search path.
      dbghelp: Use _NT_ALT_SYMBOL_PATH.

Torge Matthies (1):
      shell32: Fix getting file attributes from the file system in SHELL32_GetItemAttributes.

Zebediah Figura (40):
      winegstreamer: Implement INSSBuffer::GetBuffer().
      winegstreamer: Implement INSSBuffer::GetMaxLength().
      winegstreamer: Implement INSSBuffer::SetLength().
      winegstreamer: Implement IWMReader::Open().
      winegstreamer: Implement IWMOutputMediaProps::GetType().
      wined3d: Reference vertex buffer objects only after calling context_update_stream_info().
      wined3d: Make the "buffer_object" field of struct wined3d_buffer a wined3d_bo pointer.
      wined3d: Introduce a wined3d_buffer_update_sub_resource() helper.
      wined3d: Parse ISG1, PSG1 and OSG1 signatures.
      wined3d: Introduce wined3d_context_gl_reference_buffer().
      wined3d: Avoid accessing the "bo" member of struct wined3d_buffer_gl.
      wined3d: Allocate all OpenGL buffer BOs from heap.
      wined3d: Try to allocate new Vulkan BOs from the client thread for DISCARD maps.
      winegstreamer: Implement IWMSyncReader::SetStreamsSelected().
      winegstreamer: Implement IWMReaderAdvanced::SetStreamsSelected().
      winegstreamer: Implement IWMSyncReader::GetStreamSelected().
      winegstreamer: Implement IWMReaderAdvanced::GetStreamSelected().
      wmvcore/tests: Add tests for stream selection.
      winegstreamer: Implement IWMReaderAdvanced::SetAllocateForOutput().
      wmvcore/tests: Add tests for user-allocated samples.
      winegstreamer: Implement IWMReaderAdvanced::SetReceiveStreamSamples().
      winegstreamer: Implement IWMReaderAdvanced::SetAllocateForStream().
      winegstreamer: Implement IWMSyncReader::SetReadStreamSamples().
      winegstreamer: Implement IWMReaderAdvanced::GetMaxStreamSampleSize().
      winegstreamer: Add IWMMediaProps to the stream config object.
      winegstreamer: Implement IWMMediaProps::GetMediaType() for the stream config object.
      winegstreamer: Call IWMReaderCallbackAdvanced::OnTime() when using a user clock.
      wined3d: Make the "buffer_object" field of struct wined3d_bo_address a wined3d_bo pointer.
      wined3d: Make the "buffer_object" field of struct wined3d_const_bo_addr a wined3d_bo pointer.
      wined3d: Make the "counter_bo" field of struct wined3d_unordered_access_view a wined3d_bo pointer.
      ntdll: Implement NtAlertThreadByThreadId and NtWaitForAlertByThreadId.
      ntdll/tests: Add basic tests for thread-id alert functions.
      ntdll: Implement thread-ID alerts using futexes if possible.
      ntdll: Implement thread-ID alerts using Mach semaphores on Mac.
      ntdll: Reimplement Win32 futexes on top of thread-ID alerts.
      ntdll: Reimplement the critical section fast path on top of Win32 futexes.
      ntdll: Get rid of the direct futex path for condition variables.
      ntdll: Reimplement SRW locks on top of Win32 futexes.
      wined3d: Add a helper to calculate the vertex attribute address for a stream element.
      wined3d: Allow OpenGL transform feedback buffer objects to be suballocated from a larger buffer.

Zhiyi Zhang (12):
      comctl32/button: Use correct state for BS_3STATE and BS_AUTO3STATE buttons.
      comctl32/button: Use correct state for default buttons.
      comctl32/button: Support BS_PUSHLIKE for themed check boxes and radio buttons.
      comctl32/button: Correctly align parts in group boxes with BS_PUSHLIKE when theming is off.
      comctl32/button: Support BS_PUSHLIKE for themed group boxes.
      comctl32/button: Support BS_PUSHLIKE for themed command links.
      shell32: Check This->sPathTarget before calling get_display_name().
      uxtheme: Support more progress bar parts.
      light.msstyles: Fix incorrect progress bar chunk color.
      light.msstyles: Add more progress bar parts.
      uxtheme: Do not overwrite system metrics when loading the same theme.
      comctl32/button: Use client rectangle as content rectangle for themed group boxes.

Ziqing Hui (2):
      d3dx10: Implement D3DX10CreateTextureFromFile{A,W}.
      d3dx10: Implement D3DX10CreateTextureFromResource{A,W}.

Łukasz Wojniłowicz (1):
      po: Update Polish translation.

--
Alexandre Julliard
julliard@winehq.org