The Wine development release 7.4 is now available.
What's new in this release: - 'Light' theme enabled by default. - Bundled vkd3d library. - WineD3D, D3D12 and DXGI modules converted to PE. - More large scale cleanups to support 'long' type. - Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/7.x/wine-7.4.tar.xz http://mirrors.ibiblio.org/wine/source/7.x/wine-7.4.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.4 (total 14):
20296 Multiple apps crash due missing support for COM dll surrogate, dllhost.exe (League of Legends 08_18_2009_04, 3Dmark03, 3Dmark05, 3Dmark06) 41053 RawInput (RegisterRawInputDevices) does not work for gamepads 48508 Psi-Ops: The Mindgate Conspiracy freezing in stable Wine 5.0 50887 cannot read/run/open some files 52204 Vibration on DualSense controller works incorrectly in all Games 52476 QuickLOAD: wine 7 causes VB5 application to change input value by factor 10 52562 advapi32:registry fails in Wine because some French timezone name translations are too long 52581 Internet MIDI crashes with Light Blue theme enabled 52596 The Godfather main menu cursor and text not rendered correctly 52614 API set DLLs fail to load on Arch Linux with "failed to load apiset: c0000482" 52618 32-bit EXEs do not launch from build dir on macOS 10.14 in WOW64 52626 MahjongSoul needs unimplemented function combase.dll.RoSetErrorReportingFlags 52637 comctl32:listbox test_LBS_NODATA() fails in the Japanese and Chinese locales 52639 comctl32:toolbar test_visual() fails in Wine with the Light theme
----------------------------------------------------------------
Changes since 7.3:
Alex Henrie (1): tzres: Inform translators of 31-character limit.
Alexandre Julliard (18): ntdll/tests: Avoid referencing a global variable from inline asm. configure: Check for working -mabi=ms support on x86_64. winebuild: Align raw data size instead of virtual size in PE sections. configure: Require PE cross-compilation for building on ARM64. include: Add more d3d12 logic ops. include: Change to void the return type for ID3D12GraphicsCommandList::ClearState(). libs: Import upstream code from vkd3d release 1.3. wined3d: Use the bundled vkd3d and build with msvcrt. wined3d: Export all the vkd3d functions. d3d12: Build with msvcrt. dxgi: Build with msvcrt. configure: Remove some no longer needed checks. faudio: Revert some calling convention changes. lcms2: Revert some calling convention changes. tiff: Revert some calling convention changes. xml2: Revert some calling convention changes. xslt: Revert some calling convention changes. include: Use the standard va_list in tests.
Alexandros Frantzis (1): win32u: Fix NtUserCallHooks return value.
Alistair Leslie-Hughes (4): windowscodecs: Correctly handle 8bpp custom conversions. include: Correct BYTE typedef. widl: Support basic BYTE type. include: Add IReference<T> interface.
Aurimas Fišeras (1): po: Update Lithuanian translation.
Bernhard Kölbl (22): include/windows.media.speechrecognition.idl: Add SpeechRecognitionResult. include/windows.media.speechrecognition.idl: Add SpeechContinuousRecognitionSession. include/windows.media.speechrecognition.idl: Add SpeechRecognitionHypothesis. include/windows.media.speechrecognition.idl: Add SpeechRecognitionHypothesisGeneratedEventArgs. include/windows.media.speechrecognition.idl: Add SpeechRecognizerTimeouts. include/windows.media.speechrecognition.idl: Add SpeechRecognizerUIOptions. include/windows.media.speechrecognition.idl: Add SpeechRecognitionCompilationResult. include/windows.media.speechrecognition.idl: Add SpeechRecognitionQualityDegradingEventArgs. include/windows.media.speechrecognition.idl: Add SpeechRecognizerStateChangedEventArgs. widl: Allow multiple uses of the activatable attribute. include/windows.media.speechrecognition.idl: Add SpeechRecognizer. windows.media.speech: Create private header. windows.media.speech: Explicitly check for available activation factory. windows.media.speech: Move SpeechSynthesizer into separate file. windows.media.speech: Use C object macros to call iface methods. windows.media.speech: Rename activation factory for SpeechSynthesizer. windows.media.speech/tests: Add basic tests for activation factory ifaces. windows.media.speech/tests: Compile with long types. windows.media.speech: Import DEFINE_INSPECTABLE macros. windows.media.speech: Add SpeechRecognizer statics stubs. windows.media.speech: Add SpeechRecognizer stub. windows.media.speech/tests: Add basic tests for the SpeechRecognizer class.
Brendan Shanks (8): winedbg: Sanity check the dwType field of MSVC thread naming exceptions. winedbg: Ensure thread->name is null-terminated. winedbg: Don't set initial thread->name to the tid. winedbg: Print thread names in 'info thread' listing. kernel32/tests: Add additional Get/SetThreadDescription() tests. ntdll: Don't require equal Length and MaximumLength when setting ThreadNameInformation. ntdll: Ensure CONTEXT_EX on exception stack is initialized. makefiles: On macOS, use @rpath instead of @loader_path when building Unix libs.
Christopher Egert (1): gsm: Enable WAV49 support.
David Kahurani (1): oleaut32: Do not skip the first decimal digit in VarParseNumFromStr().
Dmitry Timoshkov (7): dllhost: Add stub implementation. dllhost: Add ISurrogate stub implementation. dllhost: Implement ISurrogate::LoadDllServer(). dllhost: Implement ISurrogate::FreeSurrogate(). dllhost: Implement IMarshal::MarshalInterface(). dllhost: Periodically call CoFreeUnusedLibraries(). combase: Start surrogate local server when required.
Eric Pouech (182): gdi32/tests: Enable compilation with long types. hlink/tests: Enable compilation with long types. hnetcfg/tests: Enable compilation with long types. hid/tests: Enable compilation with long types. imagehlp/tests: Enable compilation with long types. imm32/tests: Enable compilation with long types. inetcomm/tests: Enable compilation with long types. inetmib1/tests: Enable compilation with long types. infosoft/tests: Enable compilation with long types. iphlpapi/tests: Enable compilation with long types. itss/tests: Enable compilation with long types. jsproxy/tests: Enable compilation with long types. kernelbase/tests: Enable compilation with long types. localspl/tests: Enable compilation with long types. localui/tests: Enable compilation with long types. lz32/tests: Enable compilation with long types. mapi32/tests: Enable compilation with long types. gameux/tests: Use correct integral type. gameux/tests: Enable compilation with long types. comctl32/tests: Enable compilation with long types. gdiplus/tests: Introduce helper functions (expect*) to handle integral conversions. gdiplus/tests: Enable compilation with long types. conhost: Handle csi escape sequence for shift tab. conhost/tests: Add tests for shift-tab processing. msftedit/tests: Enable compilation with long types. mlang/tests: Enable compilation with long types. mmcndmgr/tests: Enable compilation with long types. mp3dmod/tests: Enable compilation with long types. mpr/tests: Enable compilation with long types. msado15/tests: Use correct integral type. msado15/tests: Enable compilation with long types. msasn1/tests: Enable compilation with long types. msctf/tests: Enable compilation with long types. msdmo/tests: Enable compilation with long types. mspatcha/tests: Enable compilation with long types. msrle32/tests: Enable compilation with long types. msscript.ocx/tests: Enable compilation with long types. mstask/tests: Enable compilation with long types. msvfw32/tests: Enable compilation with long types. ndis.sys/tests: Enable compilation with long types. netapi32/tests: Enable compilation with long types. netcfgx/tests: Enable compilation with long types. netprofm/tests: Enable compilation with long types. ieframe/tests: Enable compilation with long types. jscript/tests: Enable compilation with long types. dsound/tests: Enable compilation with long types. kernelbase: Support CONSOLE_READCONSOLE_CONTROL in ReadConsoleW. kernelbase: Return key state in ReadConsoleW with control. conhost/tests: Add tests for ReadConsoleW with control. kernel32/tests/actctx: Enable compilation with long types. kernel32/tests/codepage: Enable compilation with long types. kernel32/tests/comm: Enable compilation with long types. kernel32/tests/console: Enable compilation with long types. ninput/tests: Enable compilation with long types. ntdsapi/tests: Enable compilation with long types. ntoskrnl.exe/tests: Use correct integral type. ntoskrnl.exe/tests: Enable compilation with long types. ntprint/tests: Use correct integral type. ntprint/tests: Enable compilation with long types. odbccp32/tests: Enable compilation with long types. ole32/tests: Use correct integral type. ole32/tests: Enable compilation with long types. oleacc/tests: Use correct integral type. oleacc/tests: Enable compilation with long types. oledb32/tests: Enable compilation with long types. oledlg/tests: Enable compilation with long types. opengl32/tests: Enable compilation with long types. mscoree/tests: Enable compilation with long types. mshtml/tests: Enable compilation with long types. ntdll/tests: Fix erroneous ok parameters. kernel32/tests/debugger: Enable compilation with long types. kernel32/tests/environ: Enable compilation with long types. kernel32/tests/file: Enable compilation with long types. kernel32/tests/format_msg: Enable compilation with long types. packager/tests: Enable compilation with long types. pdh/tests: Enable compilation with long types. prntvpt/tests: Enable compilation with long types. propsys/tests: Enable compilation with long types. psapi/tests: Enable compilation with long types. pstorec/tests: Enable compilation with long types. qmgr/tests: Enable compilation with long types. qwave/tests: Enable compilation with long types. qasf/tests: Enable compilation with long types. qdvd/tests: Enable compilation with long types. devenum/tests: Build without -DWINE_NO_LONG_TYPES. qcap/tests: Use int instead of LONG for the arguments to IAMStreamConfig::GetNumberOfCapabilities(). qedit/tests: Build without -DWINE_NO_LONG_TYPES. qcap/tests: Build without -DWINE_NO_LONG_TYPES. mmdevapi/tests: Enable compilation with long types. msacm32/tests: Enable compilation with long types. mfplat/tests: Use correct integral type. mfplat/tests: Enable compilation with long types. kernel32/tests/heap: Enable compilation with long types. kernel32/tests/loader: Enable compilation with long types. kernel32/tests/locale: Enable compilation with long types. kernel32/tests/module: Enable compilation with long types. rasapi32/tests: Enable compilation with long types. riched32/tests: Enable compilation with long types. rpcrt4/tests: Enable compilation with long types. rsaenh/tests: Enable compilation with long types. sapi/tests: Enable compilation with long types. schannel/tests: Enable compilation with long types. schedsvc/tests: Enable compilation with long types. scrobj/tests: Enable compilation with long types. secur32/tests: Enable compilation with long types. serialui/tests: Enable compilation with long types. setupapi/tests: Use correct integral type. setupapi/tests: Enable compilation with long types. mf/tests: Use correct integral type. mf/tests: Enable compilation with long types. riched20/tests: Use correct integral type. riched20/tests: Enable compilation with long types. kernel32/tests/path: Enable compilation with long types. kernel32/tests/pipe: Enable compilation with long types. kernel32/tests/process: Enable compilation with long types. kernel32/tests/profile: Enable compilation with long types. shell32/tests: Use correct integral type. shell32/tests: Enable compilation with long types. shlwapi/tests: Enable compilation with long types. slc/tests: Enable compilation with long types. sti/tests: Enable compilation with long types. sxs/tests: Enable compilation with long types. tapi32/tests: Enable compilation with long types. taskschd/tests: Enable compilation with long types. twain_32/tests: Enable compilation with long types. uianimation/tests: Enable compilation with long types. uiautomationcore/tests: Enable compilation with long types. quartz/tests: Use the correct integer types. quartz/tests: Build without -DWINE_NO_LONG_TYPES. kernel32/tests/sync: Enable compilation with long types. kernel32/tests/thread: Enable compilation with long types. kernel32/tests/virtual: Enable compilation with long types. kernel32/tests/volume: Enable compilation with long types. userenv/tests: Enable compilation with long types. uxtheme/tests: Enable compilation with long types. user32/tests: Use correct integral type. vcomp110/tests: Enable compilation with long types. vcomp/tests: Enable compilation with long types. version/tests: Enable compilation with long types. virtdisk/tests: Enable compilation with long types. vulkan-1/tests: Enable compilation with long types. wer/tests: Enable compilation with long types. wevtapi/tests: Enable compilation with long types. spoolss/tests: Enable compilation with long types. wiaservc/tests: Enable compilation with long types. windows.globalization/tests: Enable compilation with long types. windows.media.devices/tests: Enable compilation with long types. wininet/tests: Use correct integral type. wininet/tests: Enable compilation with long types. wintab32/tests: Enable compilation with long types. wintrust/tests: Enable compilation with long types. winspool.drv/tests: Enable compilation with long types. kernel32/tests/change: Enable compilation with long types. kernel32/tests/time: Enable compilation with long types. kernel32/tests: Use correct integral type. kernel32/tests: Enable compilation with long types. kernel32/tests: Enable compilation with long types. shdocvw/tests: Enable compilation with long types. urlmon/tests: Enable compilation with long types. vbscript/tests: Enable compilation with long types. windowscodecsext/tests: Enable compilation with long types. windowscodecs/tests: Use correct integral type. windowscodecs/tests: Enable compilation with long types. wlanapi/tests: Enable compilation with long types. wmp/tests: Enable compilation with long types. wmvcore/tests: Enable compilation with long types. wpc/tests: Enable compilation with long types. ws2_32/tests: Use correct integral type. ws2_32/tests: Enable compilation with long types. wsdapi/tests: Enable compilation with long types. wtsapi32/tests: Enable compilation with long types. include: Fix prototype of NtQueryInformationFile. user32/tests: Wrap helper macro inside function. user32/tests: Enable compilation with long types. kernel32/tests: Remove temporary defines for long types migration. nsiproxy.sys: Explicitly check for recvmsg() failure. oleaut32/tests: Get rid of EXPECTI864 macro. oleaut32/tests: Convert I8 to current integer test scheme. oleau32/tests: Convert I8Copy to existing integer test scheme. winmm/tests: Enable compilation with long types. user32/tests: Enable compilation with long types in listbox.c. user32/tests: Enable compilation with long types in resource.c.
Esme Povirk (1): mscoree: Add an override option for skipping the AppDomain search path.
Floris Renaud (1): po: Update Dutch Translation.
François Gouget (1): windows.gaming.input: Add a linefeed to a TRACE() message.
Georg Lehmann (4): winevulkan: Avoid zero-sized allocations. winevulkan: Manually fixup struct alignment for VkPipelineCreationFeedback. winevulkan: Enable VK_EXT_pipeline_creation_feedback. winevulkan: Update to VK spec version 1.3.207.
Giovanni Mascellani (1): mfplat: Properly align system memory buffers.
Hans Leidekker (8): wusa: Use CRT allocation functions. include: Add OCSP definitions. crypt32: Add support for encoding OCSP requests. bcrypt: Return an error when BCryptFinalizeKeyPair() is called twice. ncrypt: Always map bcrypt return values. crypt32: Requestor name is optional in OCSP request. crypt32: Add partial support for encoding signed OCSP requests. crypt32: Add support for decoding OCSP responses.
Hugh McMaster (2): conhost: Don't compare the console config if the user cancels the dialog. conhost: Reimplement font dialog handling.
Huw D. M. Davies (19): crypt32: Use an unsigned int to avoid a compiler warning on macOS. win32u: Remove no longer used macro. winealsa: Add a temporary write_best_effort syscall. winealsa: Move timer_loop to the unixlib. winealsa: Move start to the unixlib. winealsa: Move stop to the unixlib. winealsa: Move reset to the unixlib. winealsa: Move set_event_handle to the unixlib. winepulse: Move "last_time" to a local variable. maintainers: Add dllhost. winealsa: Move get_render_buffer to the unixlib. winealsa: Move release_render_buffer to the unixlib. winealsa: Move get_capture_buffer to the unixlib. winealsa: Move release_capture_buffer to the unixlib. winealsa: Move get_next_packet_size to the unixlib. winealsa: Move get_frequency to the unixlib. winealsa: Move get_position to the unixlib. winealsa: Move is_started to the unixlib. winealsa: Move set_volumes to the unixlib.
Jacek Caban (55): mshtml: Add IDOMMessageEvent stub implementation. mshtml: Implement IDOMMessageEvent::data property. mshtml: Post messages asynchronously in IE9+ modes. user32: Use ACCEL struct in accelerator object. user32: Use CreateAcceleratorTableW in LoadAcceleratorsW. user32: Use CreateAcceleratorTableW in CreateAcceleratorTableA. win32u: Move accelerators object implementation from user32. win32u: Move winproc array from user32. win32u: Implement NtUserGetAtomName. win32u: Move NtUserGetClassName implementation from user32. user32: Factor out find_class. user32: Store class instance as UINT_PTR. user32: Ignore low instance word in find_class. user32: Introduce get_class_info. user32: Use get_class_info for GetClasInfoEx implementation. user32: Move module class registration to get_class_info. user32: Use UNICODE_STRING for passing window classes internally. user32: Store menu name as a struct. win32u: Move class management implementation from user32. win32u: Move NtUserSetClassLong from user32. win32u: Move GetClassLong implementation from user32. win32u: Move NtUserInternalGetWindowText implementation from user32. user32: Use NtUserInternalGetWindowText in GetWindowText. win32u: Move GetWindowTextLength implementation from user32. win32u: Move GetWindowLong implementation from user32. win32u: Move GetWindow implementation from user32. win32u: Move GetParent implementation from user32. win32u: Move NtUserGetAncestor implementation from user32. win32u: Move GWLP_HWNDPARENT implementation from user32. win32u: Move IsChild implementation from user32. win32u: Move IsWindowVisible implementation from user32. win32u: Move is_window_drawable implementation from user32. win32u: Move NtUserFlashWindowEx implementation from user32. win32u: Introduce get_desktop_window. win32u: Move load_driver implementation from user32. win32u: Move GetDesktopWindow implementation from user32. win32u: Move IsWindowUnicode implementation from user32. win32u: Move GetWindowDpiAwarenessContext from user32. win32u: Move GetDpiForWindow from user32. win32u: Move GetWindowRect implementation from user32. win32u: Move GetWindowInfo implementation from user32. win32u: Move GetClientRect implementation from user32. win32u: Move NtUserGetWindowRgnEx implementation from user32. win32u: Move NtUserSetWindowRgn implementation from user32. win32u: Move NtUserMoveWindow implementation from user32. win32u: Move NtUserWindowFromPoint implementation from user32. win32u: Move GetWindowPlacement and MonitorFromWindow implementation from user32. win32u: Move WM_WINE_UPDATEWINDOWSTATE implementation from user32. win32u: Move NtUserSetLayeredWindowAttributes implementation from user32. win32u: Move NtUserUpdateLayeredWindow implementation from user32. win32u: Move NtUserSetActiveWindow implementation from user32. win32u: Move NtUserSetFocus implementation from user32. win32u: Move set_foreground_window implementation from user32. user32: Use NtUserGetGUIThreadInfo for GetCapture implementation. win32u: Move NtUserSetCapture implementation from user32.
Jactry Zeng (1): d2d1: Add D2D1Shadow effect.
Jan Sikorski (4): wined3d: Add poll_in_cs field to wined3d_query(). wined3d: Track pending Vulkan queries separately for each query. wined3d: Poll Vulkan queries directly on the application thread. wined3d: Implement event queries using Vulkan events.
Kevin Puetz (1): oleaut32: Fix QueryPathOfRegTypeLib minor version comparison.
Martin Storsjö (2): ntdll: Zero-initialize the syscall_frame used for starting threads on ARM/ARM64. configure: Tweak PE tools suggestion for ARM64.
Matteo Bruni (7): combase: Add RoSetErrorReportingFlags() stub. d3dx11/tests: Use CRT allocation functions. win32u: Use GDI_ROUND() in a few more places. d3dcompiler/tests: Use hexadecimal constants in a few ok() checks. wined3d: Fix typo in WARN() message. d3d11: Report support for MapNoOverwriteOnDynamicBufferSRV. wined3d: Use list_empty() in shader_glsl_destroy().
Mohamad Al-Jaf (1): wusa: Support additional expressions.
Pat Leamon (1): mshtml: Implement nsIHttpChannel::IsNoCacheReponse.
Paul Gofman (41): winhttp: Don't allow websocket send if another non-control send is pending. winhttp: Support sending web socket buffer fragments. winhttp: Support receiving web socket buffer fragments. winhttp: Return default value for WINHTTP_OPTION_WORKER_THREAD_COUNT. win32u: Set BAD_EDID registry value for empty EDID. win32u: Move wine_get_wgl_driver() from DC driver. ws2_32: Base inet_addr() implementation on musl. ws2_32: Pre-validate optlen in getsockopt(). ws2_32: Treat optlen as unsigned in setsockopt() for SO_RCVTIMEO. ws2_32: Treat optlen as unsigned in setsockopt() for SO_SNDTIMEO. ws2_32: Return WSAENOBUFS from setsockopt() for IPPROTO_IP with negative optlen. ws2_32/tests: Add tests for setting and getting socket options with shorter length. ws2_32: Validate IP_TOS value. ws2_32/tests: Add tests for bigger option value in test_set_getsockopt(). ws2_32: Return WSAEFAULT from setsockopt() for IP_MULTICAST_LOOP with zero optlen. ws2_32: Return WSAEFAULT from setsockopt() for IP_MULTICAST_TTL with zero optlen. ws2_32: Return WSAEFAULT from setsockopt() for IP_TTL with zero optlen. ws2_32/tests: Add tests for zero option length in test_set_getsockopt(). ws2_32: Manage shorter length for SO_BROADCAST. ws2_32: Manage shorter length for SO_DONTLINGER. ws2_32: Manage shorter length for SO_DONTROUTE. ws2_32: Manage shorter length for SO_KEEPALIVE. ws2_32: Manage shorter length for SO_LINGER. ws2_32: Manage shorter length for SO_OOBINLINE. ws2_32: Set last error on success for SO_OPENTYPE. ws2_32: Manage shorter length for SO_RCVBUF. ws2_32: Manage shorter length for SO_REUSEADDR. ws2_32: Manage shorter length for SO_SNDBUF. ws2_32: Manage shorter length for TCP_NODELAY. ws2_32: Manage shorter length for IP_PKTINFO. ws2_32: Manage shorter length for IP_RECVTOS. ws2_32: Manage shorter length for IP_RECVTTL. ws2_32: Return WSAENOBUFS from setsockopt() for IPPROTO_IPV6 with negative optlen. ws2_32: Manage shorter length for IPV6_DONTFRAG. ws2_32: Manage shorter length for IPV6_HOPLIMIT. ws2_32: Manage shorter length for IPV6_MULTICAST_HOPS. ws2_32: Manage shorter length for IPV6_MULTICAST_LOOP. ws2_32: Manage shorter length for IPV6_PKTINFO. ws2_32: Manage shorter length for IPV6_RECVTCLASS. ws2_32: Manage shorter length for IPV6_UNICAST_HOPS. ws2_32: Manage shorter length for IPV6_V6ONLY.
Piotr Caban (2): oleacc/tests: Fix test windows cleanup. oleacc/tests: Check if test window has focus in test_default_client_accessible_object tests.
Rémi Bernon (58): windows.gaming.input: Split RawGameController runtimeclass to separate source. windows.gaming.input: Split Gamepad runtimeclass to a separate source. windows.gaming.input: Introduce a generic IVector<IInspectable *> implementation. dinput/tests: Make combase.dll dependency optional. dinput/tests: Simplify windows.gaming.input tests with events. include: Add Windows.Gaming.Input.Custom.IGameControllerProvider declaration. include: Add Windows.Gaming.Input.Custom.ICustomGameControllerFactory declaration. include: Add Windows.Gaming.Input.Custom.GameControllerFactoryManager runtimeclass definition. include: Add Windows.Gaming.Input.IGameControllerInputSink interface definition. include: Add Windows.Gaming.Input.IHidGameControllerInputSink interface definition. include: Add Windows.Gaming.Input.HidGameControllerProvider runtimeclass definition. include: Add Windows.Gaming.Input.IXusbGameControllerInputSink interface definition. include: Add Windows.Gaming.Input.XusbGameControllerProvider runtimeclass definition. windows.gaming.input: Introduce helpers to define IInspectable interface boilerplate. windows.gaming.input: Stub GameControllerFactoryManager runtimeclass. windows.gaming.input: Register Windows.Gaming.Input.Custom classes. dinput/tests: Add tests for IGameControllerFactoryManagerStatics_RegisterCustomFactoryForHardwareId. include: Add Windows.Gaming.Input.IGameControllerBatteryInfo interface definition. include: Add IWeakReference(Source) declaration. dinput/tests: Add tests for ICustomGameControllerFactory_CreateGameController. dinput: Add object names for simulation HID usages. dinput: Refactor HID joystick device type detection logic. winebus.sys: Pass USAGE_AND_PAGE to hid_device_begin_report_descriptor. winebus.sys: Use a physical collection for the HID input report. include: Define some HID simulation device usages. winebus.sys: Use SDL_JoystickGetType to set physical HID usage. dinput: Check collection nodes to find HID simulation device usages. windows.gaming.input: Add an internal WineGameControllerProvider runtimeclass. windows.gaming.input: Start a thread to monitor HID device addition and removal. dinput: Use a custom GUID to open a device from a device path. windows.gaming.input: Instantiate the WineGameControllerProvider runtimeclass. windows.gaming.input: Make QueryInterface implementations consistent. windows.gaming.input: Stub ICustomGameControllerFactory for RawGameController. windows.gaming.input: Stub ICustomGameControllerFactory for Gamepad. windows.gaming.input: Add IGameControllerImpl undocumented interface declaration. include: Add Windows.Devices.Power.IBatteryReport interface definition. winebus.sys: Don't reset report descriptor when starting a collection. windows.gaming.input: Instantiate IGameController(BatteryInfo) stub from providers. windows.gaming.input: Implement IRawGameControllerStatics_FromGameController. windows.gaming.input: Check the controller type and create Gamepad instances. include: Add Windows.Gaming.Input.IGamepadStatics2 interface declaration. windows.gaming.input: Implement IGamepadStatics2_FromGameController. windows.gaming.input: Implement CreateGameController for RawGameController runtimeclass. windows.gaming.input: Implement CreateGameController for Gamepad runtimeclass. include: Fix IIterator<T> declaration and missing IVector(View)<T> requires. windows.gaming.input: Implement IIterable<T> and IIterator<T> interfaces. windows.gaming.input: Implement IRawGameControllerStatics_get_RawGameControllers. windows.gaming.input: Implement IGamepadStatics_get_Gamepads. windows.gaming.input: Implement Controller(Added|Removed) event support. windows.gaming.input: Return object counts and VID/PID for RawGameController. windows.gaming.input: Implement GetCurrentReading for the RawGameController runtimeclass. windows.gaming.input: Implement GetCurrentReading for the Gamepad runtimeclass. mf/tests: Check the number of input samples to get a H264 stream change. mf/tests: Check H264 decoder first NV12 decoded frame. mf/tests: Check H264 decoder stream count and IDs. winegstreamer: Introduce new H264 decoder transform stub. windows.gaming.input: Return correct error from DllGetActivationFactory. windows.gaming.input: Always return S_OK from TryGetFactoryControllerFromGameController.
Santino Mazza (8): bcrypt/tests: Test for invalid RSA keyblob. bcrypt: Add support for PUBLICKEY blob types. bcrypt: Validate key size when importing RSA public key. bcrypt: Implement KeyLength property. ncrypt: Make use of bcrypt for low level cryptography. ncrypt/tests: Test for symmetric keys support. ncrypt: Implement NCryptCreatePersistedKey. ncrypt: Implement NCryptFinalizeKey.
Saulius Krasuckas (1): ntdll: Check __WINE_PE_BUILD instead of compiler macros.
Stefan Dösinger (6): wined3d: Use extra bits in the queue head and tail counters. wined3d: Use the default queue index for resource fencing. wined3d: Remove the no-op wined3d_resource_release. wined3d: Rename resource_acquire to resource_reference. wined3d: Replace the GE_WRAP macro with a function. wined3d: Replace while (1) with for (;;).
Torge Matthies (3): powrprof: Add PowerUnregisterSuspendResumeNotification stub. powrprof: Add PowerSettingRegisterNotification stub. powrprof: Add PowerSettingUnregisterNotification stub.
Zebediah Figura (20): httpapi/tests: Build without -DWINE_NO_LONG_TYPES. d3d10/tests: Add tests for Direct3D 10 shader reflection interfaces. d3d10_1/tests: Add shader reflection tests. d3dcompiler: Use a single definition for both d3d10 and d3d11 reflection interfaces. d3d10: Do not define D3DReflect(). devenum/tests: Remove workarounds from test_moniker_isequal(). makedep: Do not forbid importing system headers in msvcrt modules. d3d12: Explicitly use Wine d3d12 and Vulkan headers. dxgi: Explicitly use Wine d3d12 and Vulkan headers. configure: Try to detect MinGW libvkd3d using pkg-config if --with-system-dllpath is specified. configure: Fix the check for CAPI support. wined3d: Allow changing settings using a new WINE_D3D_CONFIG environment variable. winegstreamer: Deliver samples in PTS order instead of alternating. wined3d: Do not print a d3d_perf warning in adapter_vk_alloc_bo() for unmapped BOs. d3d11: Do not print a FIXME for dynamic linking in shader retrieval functions. d3d11: Do not print a FIXME for dynamic linking when zero class instances are passed. wined3d: Trace GL buffer object creation more accurately. wined3d: Prevent buildup of retired OpenGL buffer objects' memory. d3d11: Report support for MapNoOverwriteOnDynamicConstantBuffer. d3d11: Report support for ConstantBufferPartialUpdate.
Zhiyi Zhang (11): comctl32/tests: Fix a test failure when theming is active. light.msstyles: Remove Classic Blue variant. uxtheme/tests: Add IsThemePartDefined() tests. uxtheme: Search parts of any state in IsThemePartDefined(). wine.inf: Enable Light theme by default. comctl32/tests: Fix a possible test failure. d2d1: Release bitmap on d2d_device_context_SetTarget() error path. d2d1/tests: Test d2d_device_context_SetTarget() with bitmaps of D2D1_ALPHA_MODE_IGNORE. d2d1: Use newer blend options in d2d_device_context_SetTarget() for bitmaps of D2D1_ALPHA_MODE_IGNORE. d2d1/tests: Add d2d_transformed_geometry_StrokeContainsPoint() tests. d2d1: Shrink stroke width for d2d_transformed_geometry_StrokeContainsPoint().
-- Alexandre Julliard julliard@winehq.org