WineHQ

Wine Announcement

The Wine development release 8.4 is now available.

What's new in this release:
  - Initial step of the Wayland graphics driver.
  - Cleanups in IME support.
  - A number of test fixes.
  - Various bug fixes.

The source is available at:

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

 - #7585   Thief: the dark project hangs on 'esc' keypress in game if X in 24bpp mode
 - #47407  Hard Truck 2: King of The Road (GOG) movies aren't played
 - #49266  Amazon Games installs but won't start (needs WindowsFormsApplicationBase startup code?)
 - #51848  Multiple applications have very poor performance after 4261369e5d8 (Secondhand Lands, SPORE)
 - #52912  t2embed:t2embed fails on Windows with the UTF-8 codepage
 - #52948  gdi32:font - test_EnumFonts() fails on Arial Bold on Windows in Russian
 - #53172  advapi32:registry - test_enum_value() has a pair of rare failures in UTF-8 system locales
 - #53182  shell32:shelllink - A save(NULL, TRUE) fails randomly in test_load_save() on Wine
 - #53236  d3d9:device - test_wndproc() sometimes gets an unexpected WM_DISPLAYCHANGE in Wine
 - #53270  test_WSARecv() fails when using wow64 thunks [Wow64ApcRoutine() overwrites return value set by NtContinue()]
 - #53488  The dxgi:dxgi output is too big on debiant
 - #53526  kernel32:sync - test_timer_queue() occasionally fails to delete the timer on Windows 10
 - #53528  ntdll:info - test_query_kerndebug() fails on Windows 8 to 10 1709
 - #53818  foobar2000 v1.6 crashes shortly after startup on Wine 7.19 or higher
 - #53974  d3drm:d3drm sometimes crashes after failing to create the IDirect3DRMDevice* interface in Wine
 - #53975  d3drm:d3drm sometimes fails to create an immediate mode device in Wine
 - #54003  vbscript:run sometimes fails on Windows UTF-8 locales
 - #54008  d3d9:device sometimes fails to create a D3D object in Wine, crashes
 - #54019  The 64-bit ntdll:wow64 fails on Windows 11
 - #54020  The 32-bit ntdll:wow64 fails on Windows 11
 - #54052  winhttp:notification times out randomly in Wine
 - #54058  user32:input - test_ToAscii() fails in the Hindi UTF-8 locale
 - #54078  ntdll:pipe - test_blocking() sometimes fails in Wine when the pipe is not signaled
 - #54168  kernel32:console - test_wait() sometimes fails on Windows 8+
 - #54298  d3d12:d3d12 - test_desktop_window() fails on Windows 10 1709
 - #54299  d3d12:d3d12 - test_create_device() gets an unexpected 0 refcount on Windows 10 1909+
 - #54313  HS_hevo_gc 8.8.1.1 fails to launch
 - #54379  since wine 8.0 print doesn't work any more
 - #54449  nethack crashes
 - #54491  regedit/regproc.c - export_key() is unable to return TRUE
 - #54495  Motorola Ready For Assistant does not start, needs ext-ms-win-networking-wlanapi-l1-1-0.dll
 - #54504  dbghelp:dbghelp, ntdll:wow64 & psapi:psapi_main fail on Windows 11 due to notepad.exe path remapping
 - #54505  psapi:psapi_main - The 64-bit test_EnumProcessModules() gets unexpected Notepad case on Windows 11
 - #54506  psapi:psapi_main - The 64-bit test_EnumProcessModulesEx() gets pcs-6464 and pcs-6432 failures on Windows 11
 - #54507  psapi:psapi_main - The 32-bit test_EnumProcessModulesEx() gets many pcs-3232 failures due to partial copy errors on Windows 11
 - #54509  psapi:psapi_main - The 64-bit test_EnumProcessModules() gets unexpected third module on Windows 11
 - #54531  jsproxy:jsproxy crashes on Windows 11
 - #54539  Starcraft Remastered Game Initialization Failed
 - #54553  mmdevapi:propstore - The 32-bit test_setvalue_on_wow64() fails on Windows 10 2004+
 - #54563  The gif is displaying wrongly, with weird backgrounds of various colors
 - #54593  gdi32:dc - The SetDeviceGammaRamp() tests fails on Windows 10 1909
 - #54605  The 32-bit dbghelp:dbghelp cannot run on Windows <= 10 1607 due to IsWow64Process2() call
 - #54617  KakaoTalk IM text edit window leaves artifacts when the text overflows and scroll bar appears
 - #54621  Wine 8.3 64-bit is missing in the Debian bookworm repo
 - #54637  riched20:txtsrv - test_TxGetNaturalSize fails if system GUI font's glyph widths are wider than expected by the test
 - #54645  TextPad 9.1 installation fails in Wine 6 from Linux Mint repo
 - #54649  windows.perception.stub:perception - Windows 10 1607 does not have ISpatialSurfaceObserverStatics2
 - #54657  kernel32:loader - test_import_resolution() gets bad tls data on Windows 7
 - #54663  ldp.exe crashes on unimplemented function wldap32.dll.ldap_set_dbg_flags
 - #54669  imm32:imm32 - ime_install() fails in some locales on Windows
 - #54690  ldp.exe crashes when attempting to connect to an invalid host

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

Changes since 8.3:

Alex Henrie (5):
      wldap32: Add ldap_set_dbg_flags stub.
      wldap32: Replace bvfreeU with plain free.
      wldap32: Handle null LDAPMessage in ldap_count_entries.
      wldap32: Handle null LDAPMessage in ldap_parse_result.
      comctl32/treeview: Ignore the lParam to WM_PRINTCLIENT and add tests.

Alexandre Julliard (32):
      ntdll/tests: Check the default stack information against the exe header.
      ntdll/tests: Remove invalid instruction from KiUserExceptionDispatcher test.
      ntdll/tests: Allow zero size return for NtQueryDirectoryObject on Wow64.
      wow64: In system calls always return the status from Wow64SystemServiceEx.
      wow64: Push a valid return address when calling KiRaiseUserExceptionDispatcher.
      wow64: Keep track of APC stack frames, similarly to user callback frames.
      wow64: Declare exported functions in winternl.h.
      maintainers: Assume maintainership of ARM platforms.
      ntdll: Always call Wow64PrepareForException when dispatching an exception.
      server: Determine the native thread context flags on the client side.
      ntdll: Pass the WoW context to the server on ARM64.
      ntdll: Don't touch the top of the 32-bit thread stack.
      wow64: Create the WOW64INFO structure.
      wow64: Fixup Eip for breakpoint exceptions.
      wow64: Don't update the exception address in raise_exception().
      wow64: Implement Wow64RaiseException().
      make_makefiles: Die when the git command fails.
      gitlab: Add workaround for more strict git ownership check.
      lcms2: Import upstream release 2.15.
      faudio: Import upstream release 23.03.
      ldap: Import upstream release 2.5.14.
      tiff: Import upstream release 4.5.0.
      ntdll: Fix some CPU information tests on ARM64.
      ntdll: Implement the SystemProcessorBrandString query.
      ntdll: Implement the SystemProcessorFeaturesInformation query.
      wineboot: Use the SystemProcessorBrandString query instead of cpuid.
      ntdll/tests: Handle another possible status when SystemProcessorFeaturesInformation is not supported.
      ntdll/tests: Fix Wow64 tests failures on Windows 11 ARM64.
      ntdll/tests: Update some todos that succeed with the new wow64 architecture.
      ntdll: Implement NtWow64IsProcessorFeaturePresent().
      wow64: Forward NtWow64IsProcessorFeaturePresent() to the CPU backend.
      wineboot: Add processor features for supported WoW64 architectures on ARM64.

Alexandros Frantzis (6):
      winewayland.drv: Add initial driver stub.
      winewayland.drv: Add initial unixlib stub.
      winewayland.drv: Perform basic per-process Wayland initialization.
      win32u: Allow drivers to set the null user driver.
      winewayland.drv: Report basic monitor information.
      winewayland.drv: Report all advertised monitor modes to Wine.

Anton Baskanov (1):
      ir50_32: Handle 24-bit output media type.

Brendan Shanks (4):
      kernel32: Implement GetFirmwareType().
      loader: In macOS preloader, move the top-down allocations area down.
      loader: In macOS preloader, stop using mincore() to test if a region is empty.
      kernelbase: Implement DiscardVirtualMemory().

Connor McAdams (17):
      uiautomationcore: Implement IUIAutomation::Create{True,False}Condition.
      uiautomationcore: Implement IUIAutomation::CreatePropertyCondition.
      uiautomationcore: Implement IUIAutomation::CreateNotCondition.
      uiautomationcore: Implement IUIAutomation::CreateOrCondition.
      uiautomationcore: Implement IUIAutomation::get_ControlViewCondition.
      uiautomationcore: Implement IUIAutomation::get_RawViewCondition.
      uiautomationcore: Validate input arguments for IUIAutomationElement::GetCurrentPropertyValueEx.
      uiautomationcore: Add support for element array properties in IUIAutomationElement::GetCurrentPropertyValueEx.
      uiautomationcore: Implement IUIAutomation::CreateCacheRequest.
      uiautomationcore/tests: Add tests for IUIAutomationElement caching methods.
      uiautomationcore: Implement IUIAutomationElement::BuildUpdatedCache.
      uiautomationcore: Add support for caching property values in UiaGetUpdatedCache.
      uiautomationcore: Implement IUIAutomationCacheRequest::AddProperty.
      uiautomationcore: Implement IUIAutomationElement::GetCachedPropertyValueEx.
      uiautomationcore/tests: Add tests for IUIAutomationElement find methods.
      uiautomationcore: Implement IUIAutomationElement::FindAll{BuildCache}.
      uiautomationcore: Implement IUIAutomationElement::FindFirst{BuildCache}.

Daniel Tang (3):
      wintypes: Stub RoIsApiContractMajorVersionPresent().
      wofutil: Stub WofIsExternalFile().
      windows.networking: Stub DllGetActivationFactory().

Davide Beatrici (12):
      winealsa: Return STATUS_SUCCESS for unused unixlib functions.
      winecoreaudio: Return STATUS_SUCCESS for unused unixlib functions.
      wineoss: Return STATUS_SUCCESS for unused unixlib functions.
      winepulse: Return STATUS_SUCCESS for unused unixlib functions.
      mmdevapi: Query MemoryWineUnixFuncs virtual memory and store the resulting handle.
      winepulse: Move process_attach and process_detach handling into mmdevapi.
      mmdevapi: Use UTF-16 for client name in "test_connect_params" and "create_stream_params" structs.
      mmdevapi: Move test_connect handling into mmdevapi.
      winealsa: Use GetModuleFileName() instead of hardcoded module filename for registry key.
      winecoreaudio: Use GetModuleFileName() instead of hardcoded module filename for registry key.
      wineoss: Use GetModuleFileName() instead of hardcoded module filename for registry key.
      winepulse: Use GetModuleFileName() instead of hardcoded module filename for registry key.

Derek Lesho (2):
      mfplat/tests: Test bytestream closing behavior in IMFMediaSource::Shutdown.
      winegstreamer/media_source: Close bytestream in ::Shutdown.

Dmitry Timoshkov (2):
      win32u: Give full access rights to the process window station.
      win32u: Give full access rights to the thread desktop.

Eric Pouech (10):
      dbghelp/tests: Better use global variables.
      dbghelp/tests: Preserve last error in process_get_kind().
      dbghelp: Use 'wine' as loader on multi-arch configuration.
      dbghelp/tests: Add tests for SymRefreshModuleList() on non-live target.
      dbghelp: Don't set ELF loader when wine's loader isn't accessible.
      dbghelp: Fix vdso.so lookup.
      ntdll/tests: Use msinfo32.exe instead of notepad.exe.
      ntdll/tests: Use msinfo32.exe instead of notepad.exe.
      psapi/tests: Use msinfo32.exe instead of notepad.exe.
      dbghelp/tests: Use msinfo32.exe instead of notepad.exe.

Evan Tang (4):
      ntdll: Fix inverted TlsIndex check.
      kernel32/tests: Add test verifying that tls init functions are called.
      ntdll/tests: Move TlsIndex test to kernel32:loader.
      kernel32/tests: Fix tls callback tests on Windows 7.

Fan WenJie (3):
      opengl32: Fix missing conversion of glUnmapBuffer_params from 32bit to 64bit.
      opengl32: Fix missing conversion of glUnmapNamedBuffer_params from 32bit to 64bit.
      wow64: Fix missing conversion of ThreadWineNativeThreadName in wow64_NtSetInformationThread.

Florian Will (1):
      comdlg32/tests: Fix itemdlg tests on Windows.

François Gouget (18):
      advapi32/tests: Fix the RegEnumValueA() tests in UTF-8 locales.
      msado15: Fix the spelling of a comment.
      winscard: Fix the spelling of a function parameter.
      riched20/tests: Fix a typo in a comment.
      dbghelp/tests: Let the tests run on Windows 7, 8 and 10 <= 1607.
      t2embed/tests: Fix the TTGetEmbeddingType() test in UTF-8 locales.
      windows.perception.stub/tests: Skip some tests when ISpatialSurfaceObserverStatics2 is not supported.
      vbscript/tests: Fix the testChrError() tests in the mixed locale case.
      d3d8/tests: Remove an unused call to IDirect3D8_GetAdapterDisplayMode().
      wofutil: Add a trailing linefeed to a FIXME().
      dinput/tests: Skip the tests if acquiring the device fails.
      advapi32/tests: Improve the resume handle service tests.
      advapi32/tests: Better account for starting and stopping services.
      advapi32/tests: Separate the EnumServicesStatus() and EnumServicesStatusEx() tests.
      advapi32/tests: Better check the EnumServicesStatusExW() output.
      advapi32/tests: Take into account service start / stop race conditions.
      advapi32/tests: Enumerate the services using the Unicode API.
      advapi32/tests: Skip some tests if the EventLog service crashed.

Gabriel Ivăncescu (10):
      kernel32: Fix GetNumberFormatA when input length is 0.
      kernel32: Fix GetCurrencyFormatA when input length is 0.
      mshtml: Hold ref to HTMLDocumentObj when calling external code.
      mshtml: Hold ref to inner window when calling external code.
      mshtml: Hold ref to outer window when navigating.
      mshtml: Check if browser was detached during notifications while navigating.
      mshtml: Hold ref to the frame element during readyState notifications.
      mshtml: Grab refs to windows upfront before sending pagehide events.
      mshtml: Use already available window local variable in refresh task.
      jscript: Fix jsstr leak after changing variant type to BSTR.

Georg Lehmann (5):
      winevulkan: Deal with per api xml entries.
      winevulkan: Only parse extensions for Vulkan.
      winevulkan: Skip features that are not part of Vulkan.
      winevulkan: Add basic support for extension dependencies.
      winevulkan: Update to VK spec version 1.3.242.

Giovanni Mascellani (5):
      d3d12/tests: Test that D3D12 swapchains can only be created on direct command queues.
      dxgi: Immediately error out when creating a D3D12 swapchain on a non-immediate queue.
      dxgi: Always assume that a D3D12 swapchain always uses user images.
      dxgi/tests: Test that ResizeBuffers() resets the back buffer index to zero.
      dxgi: Reset the back buffer index to zero on ResizeBuffers().

Hans Leidekker (1):
      adsldp/tests: Skip all remaining tests when the server is down.

Henri Verbeet (11):
      wined3d: Don't bother explicitly terminating the GLSL info log in print_glsl_info_log().
      wined3d: Use wined3d_get_line() in shader_glsl_compile().
      wined3d: Use wined3d_get_line() in shader_glsl_dump_program_source().
      wined3d: Use wined3d_get_line() in shader_arb_compile().
      wined3d: Use wined3d_get_line() in shader_spirv_compile_shader().
      wined3d: Use wined3d_get_line() in shader_spirv_scan_shader().
      d3d11: Get rid of the DXBC tag definitions.
      wined3d: Sort the exports.
      d3dcompiler: Handle some newer D3D_BLOB_PART values in debug_d3dcompiler_d3d_blob_part().
      wined3d: Get rid of the wined3d_shader_byte_code_format enum.
      wined3d: Use vkd3d-shader to disassemble shaders.

Hugh McMaster (2):
      regedit: Allow export_key() to return TRUE.
      regedit: Append '.reg' file extension if necessary.

Huw D. M. Davies (1):
      winedump: Fix printf format warning.

Jacek Caban (1):
      winedump: Print static lib EC symbols.

Jinoh Kang (4):
      riched20/tests: Test for ITextDocument::Freeze and ITextDocument::Unfreeze.
      riched20: Don't assume that TxDraw preserves the device context's brush selection.
      riched20: Implement ITextDocument::Freeze and ITextDocument::Unfreeze.
      riched20/tests: Don't specify DT_WORDBREAK in _check_txgetnaturalsize().

Martin Storsjö (1):
      ntdll: Handle aarch64 pointer authentication in unwind info.

Max Figura (20):
      wined3d: Move the WINED3D_RS_WRAP12 stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_WRAP11 stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_WRAP10 stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_WRAP9 stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_WRAP8 stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_WRAP7 stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_WRAP6 stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_WRAP5 stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_WRAP4 stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_WRAP3 stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_WRAP2 stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_WRAP1 stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_WRAP0 stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_EXTENTS stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_COLORKEYBLENDENABLE stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_SOFTWAREVERTEXPROCESSING stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_PATCHEDGESTYLE stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_PATCHSEGMENTS stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_DEBUGMONITORTOKEN stub to wined3d_device_apply_stateblock.
      wined3d: Move the WINED3D_RS_INDEXEDVERTEXBLENDENABLE stub to wined3d_device_apply_stateblock.

Mohamad Al-Jaf (22):
      include: Add windows.perception.spatial.idl file.
      include: Add windows.graphics.directx.idl file.
      include: Add windows.perception.spatial.surfaces.idl file.
      windows.perception.stub: Add stub DLL.
      windows.perception.stub: Add ISpatialSurfaceObserverStatics stub interface.
      windows.perception.stub: Add ISpatialSurfaceObserverStatics2 stub interface.
      windows.perception.stub/tests: Add ISpatialSurfaceObserverStatics2::IsSupported() tests.
      windows.perception.stub: Implement ISpatialSurfaceObserverStatics2::IsSupported().
      pdh: Implement PdhVbGetDoubleCounterValue().
      pdh/tests: Add PdhVbGetDoubleCounterValue() tests.
      include: Add windows.graphics.directx.direct3d11.idl file.
      include: Add Windows.Foundation.Deferral definition.
      include: Add windows.graphics.holographic.idl file.
      include: Add IHolographicSpaceStatics2 interface definition.
      windows.perception.stub: Add IHolographicSpaceStatics2 stub interface.
      windows.perception.stub/tests: Add IHolographicSpaceStatics2 properties tests.
      windows.perception.stub: Implement IHolographicSpaceStatics2::get_IsSupported().
      windows.perception.stub: Implement IHolographicSpaceStatics2::get_IsAvailable().
      include: Add IHolographicSpaceStatics3 interface definition.
      windows.perception.stub: Add IHolographicSpaceStatics3 stub interface.
      windows.perception.stub/tests: Add IHolographicSpaceStatics3::get_IsConfigured() tests.
      windows.perception.stub: Implement IHolographicSpaceStatics3::get_IsConfigured().

Paul Gofman (1):
      winex11.drv: Don't allow changing internal pixel format if conflicts with non-internal.

Piotr Caban (4):
      gdiplus: Use transparency instead of background color if transparent color flag is set in GIF GCE.
      gdi32: Improve EMR_CREATEDIBPATTERNBRUSHPT playback.
      wineps: Fix buffer overflow in PSDRV_WriteDIBPatternDict function.
      wineps: Fix image bits access in PSDRV_WriteDIBPatternDict.

Rémi Bernon (89):
      win32u: Initialize IO_STATUS_BLOCK in load_directory_fonts.
      win32u: Initialize IO_STATUS_BLOCK in rawinput add_device.
      winex11: Initialize IO_STATUS_BLOCK in X11DRV_GetICMProfile.
      maintainers: Assume maintainership of IME support.
      imm32/tests: Add broken test results for w10v22H2.
      makedep: Rename TESTDLL generated .res to avoid conflicts.
      makedep: Support resource files for embedded TESTDLL.
      imm32/tests: Test ImmInstallIMEW with an actual IME.
      imm32/tests: Redirect IME function to the main module.
      imm32/tests: Test ImmGetDescription with the installed IME.
      imm32/tests: Test ImmGetIMEFileName with the installed IME.
      user32/tests: Skip tests if layout failed to activate.
      user32/tests: Add a WM_INPUTLANGCHANGE message test.
      win32u: Move window query functions around.
      win32u: Send WM_INPUTLANGCHANGE when activating new layout.
      imm32: Implement stubs for ImmFreeLayout and ImmLoadIME.
      imm32/tests: Test undocumented ImmLoadIME / ImmFreeLayout.
      imm32: Rename ImmHkl to struct ime.
      imm32: Reorder control flow in ImmConfigureIMEA.
      imm32: Reorder control flow in ImmConfigureIMEW.
      imm32: Reorder control flow in ImmEnumRegisterWordA.
      imm32: Reorder control flow in ImmEnumRegisterWordW.
      imm32: Reorder control flow in ImmEscapeA.
      imm32: Reorder control flow in ImmEscapeW.
      imm32: Reorder control flow in ImmGetConversionListA.
      imm32: Reorder control flow in ImmGetConversionListW.
      imm32: Reorder control flow in ImmGetProperty.
      imm32: Reorder control flow in ImmGetRegisterWordStyleA.
      imm32: Reorder control flow in ImmGetRegisterWordStyleW.
      imm32: Reorder control flow in ImmRegisterWordA.
      imm32: Reorder control flow in ImmRegisterWordW.
      imm32: Reorder control flow in ImmUnregisterWordA.
      imm32: Reorder control flow in ImmUnregisterWordW.
      imm32: Reorder control flow in ImmGetImeMenuItemsA.
      imm32: Reorder control flow in ImmGetImeMenuItemsW.
      imm32: Avoid casts when calling into A/W IME.
      imm32: Fail to load IME on any missing entry.
      imm32: Return early if IMM_GetImmHkl fails.
      imm32: Move IMM_FreeThreadData helper around.
      imm32: Rename input context immKbd to ime.
      imm32: Implement ImmLoadIME and ImmFreeLayout.
      imm32: Rename some struct ime members.
      imm32: Delete unnecessary uSelected struct ime member.
      imm32: Use a single ime_is_unicode helper.
      win32u: Keep the current user locale when enumerating layouts.
      win32u: Keep the current user locale when loading layout.
      win32u: Prevent user locale change in NtUserActivateKeyboardLayout.
      winex11: Remove now unnecessary user locale change checks.
      widl: Use explicit %empty token for empty rules.
      widl: Add missing rule end semicolons.
      widl: Use noyywrap lexer option.
      widl: Use bison-bridge option.
      widl: Remove unused temp_name member.
      imm32: Rename szImeRegFmt to layouts_formatW.
      imm32: Transform "Ime File" value in ImmInstallIMEW.
      imm32: Rewrite ImmGetIMEFileName(A|W).
      imm32: Rewrite ImmGetDescription(A|W).
      imm32: Use CRT allocation functions.
      widl: Use a struct list to keep imported files.
      widl: Simplify handling of already parsed imports.
      widl: Use a struct list for the import stack.
      widl: Handle preprocess-only case separately.
      widl: Introduce new (open|close)_input_file helpers.
      widl: Respect -N flag for imported files preprocessing.
      widl: Use open_input_file to open the main input.
      imm32/tests: Use LANG_INVARIANT for the installed IME.
      imm32/tests: Test ImmIsIME with the installed IME.
      imm32/tests: Test ImmGetProperty with the installed IME.
      imm32/tests: Test ImmEscape with the installed IME.
      imm32/tests: Test ImmEnumRegisterWord with the installed IME.
      imm32/tests: Test ImmRegisterWord with the installed IME.
      imm32/tests: Test ImmGetRegisterWordStyle with the installed IME.
      imm32/tests: Test ImmUnregisterWord with the installed IME.
      imm32/tests: Test basic ImmEnumInputContext usage.
      include: Add some dinput.h action semantics definitions.
      dinput/tests: Test BuildActionMap / SaveActionMap with the HID joystick.
      dinput/tests: Test SaveActionMap effect on DIPROP_USERNAME property.
      dinput/tests: Test SaveActionMap effect on DIPROP_APPDATA property.
      dinput/tests: Test SaveActionMap effect on DIPROP_BUFFERSIZE property.
      dinput/tests: Test SaveActionMap effect on DIPROP_RANGE property.
      dinput/tests: Test SaveActionMap effect on HID joystick input.
      dinput/tests: Remove BuildActionMap / SaveActionMap mouse and keyboard tests.
      dinput/tests: Increase timeouts for waits not supposed to fail.
      widl: Group <INITIAL,ATTR> tokens together.
      widl: Group <INITIAL> tokens together.
      widl: Group <ATTR> tokens together.
      widl: Introduce a new helper to produce num tokens.
      widl: Simplify string literals lexing.
      widl: Avoid freeing input_name in pop_import.

Stefan Dösinger (7):
      dxgi/tests: Fix UnregisterClass call in test_resize_target_wndproc.
      dxgi/tests: Run test_resize_target_wndproc on d3d12 too.
      dxgi/tests: Run test_swapchain_window_messages on d3d12.
      dxgi: Unlock the wined3d mutex after storing the new target.
      dxgi: Catch nested SetFullscreenState invocations.
      dxgi/tests: Test nested fullscreen application from different thread.
      dxgi/tests: Test nested SetFullscreenState from the same thread.

Sven Baars (12):
      kernelbase: Pass the root key to open_key().
      kernelbase: Pass the key name to open_key().
      kernelbase: Pass the root key to create_key().
      kernelbase: Pass the key name to create_key().
      kernelbase: Restructure the open_key() loop.
      kernelbase: Always try to open the Wow6432Node in open_key().
      kernelbase: Factor opening a subkey out of open_key().
      kernelbase: Move create_key() below open_key().
      kernelbase: Add a fast path to create_key().
      kernelbase: Restructure the create_key() loop.
      advapi32/tests: Test deleting 32-bit registry keys.
      kernelbase: Also call NtOpenKeyEx() on empty key names.

Zebediah Figura (24):
      ddraw: Move pitch validation to ddraw_surface_create_wined3d_texture().
      ddraw: Separate a need_draw_texture() helper.
      ddraw: Restructure ddraw_surface_create_wined3d_texture() to avoid gotos.
      ddraw: Move the wined3d_texture_update_desc() call into ddraw_surface_create_wined3d_texture().
      ddraw: Move wined3d_resource_desc translation to ddraw_surface_create_wined3d_texture().
      win32u: Make NtUserSetWindowPixelFormat() into a proper export.
      win32u: Introduce a win32u_get_window_pixel_format() helper.
      winex11: Retrieve the pixel format from win32u for normal windows in wglGetPixelFormat().
      wineandroid: Retrieve the pixel format from win32u for normal windows in wglGetPixelFormat().
      winemac: Retrieve the pixel format from win32u for normal windows in wglGetPixelFormat().
      wined3d: Do not set the pixel format if wglGetPixelFormat() returns zero and we already set the internal pixel format.
      win32u: Allow separately storing the internal pixel format set by WGL_WINE_pixel_format_passthrough.
      winex11: Separately store the internal pixel format set by WGL_WINE_pixel_format_passthrough.
      winemac: Separately store the internal pixel format set by WGL_WINE_pixel_format_passthrough.
      wineandroid: Separately store the internal pixel format set by WGL_WINE_pixel_format_passthrough.
      dxgi: Call wined3d_swapchain_state_set_fullscreen in d3d12_swapchain_init.
      ddraw: Rename "is_complex_root" to "is_root".
      ddraw: Remove some outdated comments from ddraw_surface7_SetSurfaceDesc().
      ddraw: Move sysmem_fallback setting to ddraw_surface_create_wined3d_texture().
      ddraw: Factor out more common initialization into ddraw_surface_create_wined3d_texture().
      ddraw: Move sub-resource surface initialization to ddraw_surface_create_wined3d_texture().
      ddraw: Move the rest of the surface desc population to ddraw_surface_create() from device_parent_texture_sub_resource_created().
      ddraw: Do not return a wined3d_texture from ddraw_surface_create_wined3d_texture().
      ddraw: Rename ddraw_surface_create_wined3d_texture() to ddraw_texture_init().

Zhiyi Zhang (4):
      gitlab: Make FVWM respect position hints.
      user32/tests: Do not modify cursor position when simulating clicks.
      light.msstyles: Add nonclient metrics.
      user32/tests: Test winstation and desktop access rights.