The Wine development release 9.2 is now available.
What's new in this release:
- Mono engine updated to version 9.0.0.
- A number of system tray fixes.
- Exception handling improvements on ARM platforms.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.2.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>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.2/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.2 (total 15):
- #43993 Quick3270 5.21: crashes when using the Connect function
- #47521 digikam 6.10 crashes on start
- #51360 vkGetDeviceProcAddr invalid behavior for functions from extensions unsupported by host Vulkan instance
- #51770 digikam-7.1.0 freezes on start
- #51843 dlls/ws2_32/socket.c:839:17: error: ‘IP_ADD_SOURCE_MEMBERSHIP’ undeclared here
- #53934 __unDName fails to demangle a name
- #55997 Dolphin Emulator crashes from 5.0-17264
- #56122 LANCommander won't start, prints "error code 0x8007046C" (ERROR_MAPPED_ALIGNMENT)
- #56243 ShowSystray registry key was removed without alternative
- #56250 Elite Dangerous client gets stuck on black screen after launch
- #56256 Windows Sysinternals Process Explorer 17.05 shows incomplete user interface (32-bit).
- #56259 Microsoft Webview 2 installer hangs forever
- #56265 Epic Games Launcher 15.21.0 calls unimplemented function cfgmgr32.dll.CM_Get_Device_Interface_PropertyW
- #56291 Kodu game lab crashes (with xnafx40_redist+dotnet48 preinstalled): Object reference not set to an instance of an object.
- #56293 user32:msg test_recursive_hook fails on Windows 7
### Changes since 9.1:
```
Aida Jonikienė (1):
configure: Use YEAR2038 macro when it's available.
Alex Henrie (2):
krnl386: Emulate the VGA status register.
explorer: Handle the back and forward buttons of a 5-button mouse.
Alexandre Julliard (37):
configure: Reset host flags in all cross-compiler error paths.
winsta: Start time is an input parameter in WinStationGetProcessSid.
ntdll: Use the system setjmp/longjmp for exceptions in Unix libs.
ntdll: Use a .seh handler for the unwind exception handler.
ntdll: Avoid calling DbgBreakPoint() in process_breakpoint().
ntdll: Move DbgUiRemoteBreakin() to the CPU backends.
include: Include cfg.h from cfgmgr32.h.
ntdll: Report the correct address for breakpoint exception on ARM platforms.
kernel32/tests: Fix some test failures on ARM platforms.
ntdll: Use a .seh handler for DbgUiRemoteBreakin().
dbghelp/tests: Mark failing tests as todo.
Revert "loader: Associate folder with explorer".
configure: Require a PE compiler for 32-bit ARM.
ntdll: Share the is_valid_frame() helper function.
ntdll: Only call TEB handlers for frames inside the current stack.
winedump: Make the ARM exception information more compact.
winedump: Handle ARM64 exception unwind info with flag==3.
winebuild: Default to plain "clang" in find_clang_tool().
winebuild: Remove some no longer used code for ARM platforms.
winebuild: Add .seh annotations on ARM.
kernel32: Move Wow64Get/SetThreadContext implementation to kernelbase.
kernel32: Don't export RtlRaiseException on ARM64.
ntdll: Fix stack layout for ARM syscalls.
ntdll/tests: Add some process machine tests for ARM64X.
server: Don't report alternate 64-bit machines as supported.
ntdll: Update the image information when loading a builtin dll.
ntdll: Use the correct machine when loading ntdll on ARM64EC.
server: Don't update the machine in the image information for ARM64EC modules.
server: Don't update the entry point in the image information for ARM64EC modules.
ntdll: Redirect the module entry point for ARM64EC modules.
server: Add hybrid flag in image mapping information.
ntdll: Use the current machine by default to create an ARM64X process.
ntdll: Fix RtlWow64GetCurrentMachine() result on ARM64EC.
uxtheme: Use BOOLEAN instead of BOOL in ordinal functions.
gdi32/tests: Fix the expected GetTextMetrics() results on recent Windows.
user32/tests: Fix some sysparams results on recent Windows.
ntdll/tests: Mark a failing test as todo.
Alexandros Frantzis (2):
winewayland.drv: Track and apply latest window cursor on pointer enter.
win32u: Use consistent locking order for display related mutexes.
Arkadiusz Hiler (4):
winebus.sys: Fix units used for hat switches.
winebus.sys: Use 4 bits for hat switches.
wbemprox/tests: Test LIKE queries.
wbemprox: Reimplement LIKE.
Brendan Shanks (2):
winebuild: Refactor find_tool().
winebuild: As a last resort, search for tools un-prefixed using clang.
Daniel Lehman (9):
glu32/tests: Add a few tests for gluScaleImage.
glu32: Return GL_OUT_OF_MEMORY from gluScaleImage if no context.
glu32: Return GLU_INVALID_ENUM for illegal pixel types.
advapi32/tests: Reduce reallocations.
advapi32/tests: Add some more EventLog tests.
oleaut32/tests: Add tests for VarBstrFromR8.
oleaut32/tests: Add tests for VarBstrFromR4.
ucrtbase/tests: Add sprintf tests.
msvcrt/tests: Add sprintf tests.
David Kahurani (5):
gdiplus: Use GdipCreatePath2 in GdipClonePath.
gdiplus: Use GdipCreatePath2 when serializing paths.
gdiplus: Use path_list to path helper in GdipFlattenPath.
gdiplus: Use path_list to path helper in GdipWidenPath.
msvcrt: Free previous environment variable when clearing.
Eric Pouech (18):
dmime/tests: Fix copy & paste errors.
dmime/tests: Add some tests for loops on wave tracks.
dmime: Fix IDirectMusicAudioPath::GetObjectInPath() prototype.
dmime: Remove unused fields in segment.
dmime/tests: Add some tests about end-points.
dbghelp/tests: Use Unicode encoding for generated PDB filenames.
dbghelp/tests: Test SymSrvGetFileIndexInfo() on .dbg files.
dbghelp: Implement SymSrvGetFileIndexInfo() for .dbg files.
dbghelp: Implement SymSrvGetFileIndexInfo() for PDB/JG files.
kernel32/tests: Added tests about std handle flags inheritance.
kernel32/tests: Test DUPLICATE_SAME_ATTRIBUTES flag in DuplicateHandle().
server: Implement support for DUPLICATE_SAME_ATTRIBUTES in DuplicateHandle().
server: Preserve handle flags when inheriting a std handle.
dmime: Fully implement IDirectMusicSegmentState::GetRepeats().
dmime: Add tests about segment state's graph interface.
dmime: Add IDirectMusicGraph interface to segment state.
dmime: Generate track flags while in loop.
dmime: Use sent duration in loop's playback.
Esme Povirk (6):
gdiplus: Prefer Tahoma for generic sans serif font.
mscoree: Update Wine Mono to 9.0.0.
user32/tests: Accept EM_GETPASSWORDCHAR when edit is focused.
gdiplus: Fix some degenerate cases combining infinite regions.
gdiplus/tests: Thoroughly test region combines.
user32/tests: Fix flags on expected EM_GETPASSWORDCHAR message.
Fabian Maurer (1):
msi: Don't write past end of string when selecting parent directory.
Felix Münchhalfen (2):
ntdll: Use pagesize alignment if MEM_REPLACE_PLACEHOLDER is set in flags of NtMapViewOfSection(Ex).
kernelbase/tests: Add a test for MapViewOfFile3 with MEM_REPLACE_PLACEHOLDER.
Gabriel Ivăncescu (16):
mshtml: Forward the script site's QueryService to the document's.
mshtml: Forward SID_SInternetHostSecurityManager of the document obj to the doc node.
mshtml: Implement IActiveScriptSite service.
mshtml: Implement Exec for CGID_ScriptSite's CMDID_SCRIPTSITE_SECURITY_WINDOW.
vbscript: Implement IActiveScriptSite service.
jscript: Implement IActiveScriptSite service.
mshtml: Use a hook to implement postMessage.
mshtml: Implement `source` prop for MessageEvents.
mshtml: Return E_ABORT from postMessage called without a caller ServiceProvider.
mshtml: Implement `data` getter for MessageEvent objs.
mshtml: Implement `origin` prop for MessageEvents.
mshtml: Implement `initMessageEvent` for MessageEvents.
mshtml: Expose the IHTMLEventObj5 props to scripts.
mshtml/tests: Test builtin function default value getter with custom IOleCommandTarget.
explorer: Don't activate the systray icon when showing it.
explorer: Set layered style on systray icons only when it's actually layered.
Georg Lehmann (3):
winevulkan: Prepare for VK_KHR_calibrated_timestamps.
winevulkan: Update to VK spec version 1.3.277.
winevulkan: Enable VK_ARM_render_pass_striped.
Giovanni Mascellani (1):
d2d1: Compile vertex shaders with D3DCompile().
Hans Leidekker (1):
msxml3: Enable XPath object cache.
Helix Graziani (2):
cfgmgr32: Add CM_Get_Device_Interface_PropertyW stub.
windows.globalization: Add IIterable_HSTRING impl to IVectorView_HSTRING.
Ivo Ivanov (1):
winebus.sys: Prefer hidraw if it is the only backend enabled.
Jacek Caban (11):
ncrypt/tests: Don't use uninitialized variable in test_get_property.
windowscodecs: Pass result as void pointer to ComponentInfo_GetUINTValue.
mf: Avoid implicit enum to int pointer casts.
mfplat: Avoid implicit cast in IMFAttributes_GetUINT32 call.
mfplat/tests: Use MF_ATTRIBUTE_TYPE type in IMFMediaType_GetItemType call.
mfplat: Introduce media_type_get_uint32 helper.
mfmediaengine/tests: Use MF_MEDIA_ENGINE_CANPLAY type in IMFMediaEngine_CanPlayType call.
mfmediaengine: Avoid implicit casts in IMFAttributes_GetUINT32 calls.
include: Add RtlRestoreContext declaration.
d3d10/tests: Avoid implicit cast changing value.
dsound: Simplify f_to_32.
Louis Lenders (5):
ntdll: Add stub for RtlGetDeviceFamilyInfoEnum.
shcore: Add stub for RegisterScaleChangeNotifications.
wbemprox: Add property 'Caption' to Win32_PnPEntity.
wbemprox: Add property 'ClassGuid' to Win32_PnPEntity.
wbemprox: Add property 'Caption' to Win32_DiskDrive.
Marc-Aurel Zent (2):
ntdll: Reimplement set_native_thread_name() for macOS.
ntdll: Fix DW_OP_abs absolute value warning on labs() for clang.
Nikolay Sivov (3):
mfplat/tests: Skip device manager test if d3d11 device can't be created.
mfplat/tests: Skip tests that require d3d9 support.
d3d10/effect: Clarify constant buffer flags field meaning.
Paul Gofman (6):
ntdll/tests: Fix test_user_shared_data() for a more generic set of present features.
server: Check if we have waiting asyncs in (send_socket) before enforcing blocking send.
server: Check if we have waiting asyncs in sock_dispatch_asyncs() before clearing POLLOUT.
explorer: Don't pop start menu on "minimize all windows" systray command.
explorer: Don't pop start menu on "undo minimize all windows" systray command.
msvcrt: Adjust _gmtime64_s() accepted time limits.
Piotr Caban (6):
msvcrt: Store _unDName function parameter backreferences in parsed_symbol structure.
msvcrt: Remove no longer used parameters reference arguments from _unDname helpers.
winedump: Sync demangling code with msvcrt.
jsproxy: Don't ignore hostname and url length in InternetGetProxyInfo.
winhttp/tests: Add more WinHttpGetProxyForUrl tests.
winhttp: Add support for WINHTTP_AUTOPROXY_HOST_LOWERCASE flag in WinHttpGetProxyForUrl.
Rémi Bernon (48):
explorer: Restore a per-desktop ShowSystray registry setting.
mf/tests: Check inserted topology loader transforms explicitly.
mf/topology_loader: Use a local variable for the indirect connection method.
mf/topology_loader: Ignore SetOutputType errors when doing indirect connect.
mf/topology_loader: Initialize transform output type before adding converter.
mf/topology_loader: Try to connect transform nodes with their current types first.
winegstreamer: Implement H264 decoder GetInputCurrentType.
winegstreamer: Ask GStreamer to stop messing with signal handlers.
vulkan-1/tests: Enable VK_VERSION_1_1 as requested by validation layers.
vulkan-1/tests: Create surface and device before calling test_null_hwnd.
vulkan-1/tests: Test VK_KHR_win32_surface with windows in various states.
vulkan-1/tests: Add more VK_KHR_win32_surface surface formats tests.
vulkan-1/tests: Test VK_KHR_win32_surface WSI with swapchain functions.
imm32/tests: Also ignore NotifyIME calls when ignoring WM_IME_NOTIFY.
imm32/tests: Fix some spurious failures with Windows ko_KR IME.
win32u: Only queue a single IME update during ImeProcessKey.
winevulkan: Keep the create_info HWND on the surface wrappers.
winevulkan: Return VK_ERROR_SURFACE_LOST_KHR from surface functions.
winewayland: Remove now unnecessary VK_ERROR_SURFACE_LOST_KHR checks.
winevulkan: Remove now unnecessary vkGetPhysicalDeviceSurfaceSupportKHR driver entry.
winevulkan: Remove now unnecessary vkGetPhysicalDeviceSurfacePresentModesKHR driver entry.
winevulkan: Remove now unnecessary vkGetDeviceGroupSurfacePresentModesKHR driver entry.
user32/tests: Run rawinput device tests in the separate desktop.
user32/tests: Rewrite the rawinput buffer test with keyboard input.
dinput/tests: Add a helper to wait on HID input reads.
dinput/tests: Add more tests for HID rawinput buffer.
dinput/tests: Test rawinput messages with non-input desktop.
dinput/tests: Use a polled HID touchscreen device.
dinput/tests: Test rawinput with the virtual HID touchscreen.
winegstreamer: Trace wg_transform input and output caps.
winegstreamer: Handle allocation query in a separate helper.
winegstreamer: Handle sink caps query in a separate helper.
winegstreamer: Handle sink event caps in a separate helper.
winegstreamer: Use GST_PTR_FORMAT to trace GStreamer objects.
winegstreamer: Ignore wg_transform input / output video format fps.
winegstreamer: Allow wg_transform size changes with an explicit attribute.
mf/tests: Report more transform current type mismatches.
mf/tests: Add some tests with video processor aperture handling.
mfreadwrite/tests: Initialize test source stream types from descriptors.
mfreadwrite/tests: Test source reader exposed transforms and types.
mfreadwrite/tests: Test source reader transforms with MF_SOURCE_READER_ENABLE_VIDEO_PROCESSING.
mfreadwrite/tests: Test source reader transforms with MF_SOURCE_READER_ENABLE_ADVANCED_VIDEO_PROCESSING.
server: Combine HID usage page and usage together.
server: Stop using union rawinput in hw_input_t.
server: Stop using hardware_msg_data in rawinput_message.
server: Move rawinput message conversion from win32u.
server: Fix rawinput buffer sizes and alignment on WoW64.
win32u: Get rid of the rawinput thread data and buffer.
Shaun Ren (4):
sapi: Create a new engine only when needed in ISpVoice.
sapi: Add ISpeechObjectToken stub.
sapi: Add ISpeechObjectTokens stub.
sapi: Add stub implementation for ISpeechObjectTokens::get__NewEnum.
Tim Clem (1):
winebus.sys: Do not attempt to open keyboard and mouse HID devices on macOS.
Vibhav Pant (1):
configure: Correctly derive the target from CC if it's set to an absolute path.
Yuxuan Shui (2):
dmusic: Fix loading wave data from soundfont.
mf: Only preroll when starting from stopped state.
Zebediah Figura (8):
wined3d: Move state objects from state.c to device.c.
wined3d: Rename state.c to ffp_gl.c.
wined3d: Move sampler_texdim() and texture_activate_dimensions() to ffp_gl.c.
d3d8/tests: Add more tests for SPECULARENABLE.
wined3d/glsl: Always set WINED3D_SHADER_CONST_FFP_LIGHTS in FFP constant update masks.
wined3d/glsl: Pass through the specular varying when SPECULARENABLE is FALSE.
wined3d/arb: Always disable the fragment pipeline in shader_arb_select().
wined3d/arb: Compare the fragment pipe ops in shader_arb_select() instead of using an extra field.
Zhiyi Zhang (7):
winex11.drv: Translate whole_rect to x11 root coordinates in set_size_hints().
user32/tests: Fix test_recursive_messages() test failures on win7.
mf: Make session_get_node_object() more robust.
mf: Add a session_flush_nodes() helper.
mf/tests: Add a create_test_topology() helper.
mf: Support seeking while a session is started.
mf/tests: Test IMFMediaSession::Start().
```
The Wine development release 9.1 is now available.
What's new in this release:
- A number of Input Method improvements.
- Improved Diffie-Hellman key support.
- Better Dvorak keyboard detection.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.1.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>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.1/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.1 (total 42):
- #17414 user32/dde test crashes if +heap enabled
- #25759 Polda 1: after intro picture and animation it shows black window
- #35300 Lego Racers crashes when click on configuration commands for Player 1
- #36007 oleaut32/vartype tests crash with WINEDEBUG=warn+heap
- #42784 Lost Planet dx10 demo black screen after starting new game
- #46074 Visio 2013 crashes with unimplemented function msvcr100.dll.??0_ReaderWriterLock@details@Concurrency@@QAE@XZ
- #46904 SIMATIC WinCC V15.1 Runtime: Automation License Manager 'almapp64x.exe' crashes on unimplemented function msvcp140.dll.?_XGetLastError@std@@YAXXZ
- #50297 Blindwrite 7 crashes with a stack overflow
- #50475 ENM (Externes Notenmodul / external mark module) crashes on opening
- #50893 Wine cannot see home directory (32-bit time_t overflow)
- #51285 The bmpcoreimage test in user32:cursoricon fails on most Windows versions
- #51471 user32:input receives unexpected WM_SYSTIMER messages in test_SendInput()
- #51473 user32:input Some SendInput() set LastError to ERROR_ACCESS_DENIED on cw-rx460 19.11.3
- #51474 user32:input SendInput() triggers an unexpected message 0x60 on Windows 10 1709
- #51477 user32:input test_Input_blackbox() gets unexpected 00&41(A) keystate changes
- #51931 Dead Rising encounters infinite loading when starting a new game (needs WMAudio Decoder DMO)
- #52399 SIMATIC WinCC V15.1 Runtime installer: SeCon tool fails with error 5 while trying to create 'C:\\windows\Security\\SecurityController' (needs '%windir%\\security')
- #52595 GUIDE 7.0 shows black screen on start
- #53516 user32:input failed due to unexpected WM_TIMECHANGE message
- #54089 user32:input - test_SendInput() sometimes gets an unexpected 0x738 message on w1064v1709
- #54223 Unigine Heaven Benchmark 4.0 Severely Low FPS
- #54323 user32:input - test_SendInput() sometimes gets an unexpected 0xc042 message on Windows 7
- #54362 BurnInTest calls unimplemented function ntoskrnl.exe.ExAllocatePool2
- #55000 wineserver crashes below save_all_subkeys after RegUnLoadKey
- #55268 user32:cursoricon - LoadImageA() fails in test_monochrome_icon() on Windows 8+
- #55467 MAME 0.257: mame.exe -listxml crashes
- #55835 putenv clobbers previous getenv
- #55883 SpeedWave can't draw Window, needs oleaut32.OleLoadPictureFile().
- #55945 KakaoTalk crashes when opening certain profiles after calling GdipDrawImageFX stub
- #56054 Microsoft Safety Scanner crashes on exit on unimplemented function tbs.dll.GetDeviceIDString
- #56055 AVG Antivirus setup crashes on unimplemented function ADVAPI32.dll.TreeSetNamedSecurityInfoW
- #56062 unimplemented function mgmtapi.dll.SnmpMgrOpen
- #56078 LibreOffice 7.6.4 crashes on unimplemented function msvcp140_2.dll.__std_smf_hypot3
- #56093 msys/pacman: fails with "fixup_mmaps_after_fork: VirtualQueryEx failed"
- #56119 Emperor - Rise of the Middle Kingdom: invisible menu buttons
- #56135 Dictionnaire Hachette Multimédia Encyclopédique 98 crashes on start
- #56168 dbghelp hits assertion in stabs_pts_read_type_def
- #56174 Forza Horizon 4 crashes with concrt140.dll.?_Confirm_cancel@_Cancellation_beacon@details@Concurrency@@QEAA_NXZ
- #56195 Device name inconsistent casing between GetRawInputDeviceInfo and PnP
- #56223 winedbg: crashes after loading gecko debug information
- #56235 Windows Sysinternals Process Explorer 17.05 crashes showing Threads property page.
- #56236 notepad freezes when displaying child dialog
### Changes since 9.0:
```
Aida Jonikienė (2):
opengl32: Add a FIXME when doing a mapped buffer copy.
localspl: Fix a maybe-uninitialized warning in fill_builtin_form_info().
Alex Henrie (8):
uiautomationcore/tests: Use CRT allocation functions.
tbs: Add GetDeviceIDString stub.
advapi32: Add TreeSetNamedSecurityInfoW stub.
include: Add mgmtapi.h and LPSNMP_MGR_SESSION.
mgmtapi: AddSnmpMgrOpen stub.
msvcp140_2: Implement __std_smf_hypot3.
include: Add POOL_FLAGS and POOL_FLAG_*.
ntoskrnl: Reimplement ExAllocatePool* on top of ExAllocatePool2.
Alexandre Julliard (33):
ntdll/tests: Add exception test for int 2d on x86-64.
user32: Return result through NtCallbackReturn for the DDE message callback.
user32: Return result through NtCallbackReturn for the thunk lock callback.
user32: Return result through NtCallbackReturn for the copy image callback.
user32: Return result through NtCallbackReturn for the load image callback.
user32: Return result through NtCallbackReturn for the load sys menu callback.
user32: Return result through NtCallbackReturn for the draw text callback.
user32: Return result through NtCallbackReturn for the enum monitors callback.
user32: Return result through NtCallbackReturn for the window hook callback.
winevulkan: Return result through NtCallbackReturn for the debug callbacks.
wineandroid.drv: Return result through NtCallbackReturn for the start device callback.
winex11.drv: Return result through NtCallbackReturn for the drag and drop callbacks.
winemac.drv: Return result through NtCallbackReturn for the drag and drop callbacks.
user32: Return a proper NTSTATUS in the load driver callback.
user32: Return a proper NTSTATUS in the post DDE message callback.
user32: Return a proper NTSTATUS in all user callbacks.
opengl32: Return a proper NTSTATUS in the debug callback.
ntdll: Add NtCompareTokens syscall for ARM64EC.
msvcp: Consistently use __int64 types in number conversion functions.
include: Add a typedef for user callback function pointers.
ntdll: Share KiUserCallbackDispatcher implementation across platforms.
ntdll: Report failure in KiUserCallbackDispatcher when catching an exception.
ntdll: Export KiUserCallbackDispatcherReturn.
ntdll: Use a .seh handler for KiUserCallbackDispatcher exceptions.
ntdll: Move the process breakpoint to the CPU backends.
ntdll: Use a .seh handler for the process breakpoint.
ntdll/tests: Update todos in context tests for new wow64 mode.
configure: Only check for libunwind on x86-64.
ntdll: Share the nested exception handler across platforms.
ntdll: Use a .seh handler for nested exceptions.
ntdll: Clear CONTEXT_UNWOUND_TO_CALL in signal frames.
ntdll/tests: Port the exception unwinding tests to ARM64.
ntdll/tests: Port the exception unwinding tests to ARM.
Alistair Leslie-Hughes (2):
include: Add more D3D_FEATURE_LEVEL_ defines.
include: Correct KMTQAITYPE values.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (2):
gdiplus/tests: Add GdipDrawImageFX tests except effects or attributes.
gdiplus: Partially implement GdipDrawImageFX.
Bernhard Übelacker (6):
wing32: Add tests.
wing32: Avoid crash in WinGGetDIBPointer when called with NULL bitmap info.
server: Allow VirtualQueryEx on "limited" handle.
dbghelp: Return early if HeapAlloc failed.
ntdll: Fix structure layout in RtlQueryProcessDebugInformation for 64-bit.
server: Avoid unloading of HKU .Default registry branch.
Biswapriyo Nath (5):
include: Add D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS in d3d12video.idl.
include: Add D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS in d3d12video.idl.
include: Add D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAGS in d3d12video.idl.
include: Add D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT in d3d12video.idl.
include: Add missing macros in devenum.idl.
Brendan McGrath (3):
gdi32: Ignore Datatype when StartDoc is called.
d2d1: Use 24-bit FP precision for triangulate.
d2d1: Fix double free bug when d2d_geometry_sink_Close fails.
Brendan Shanks (5):
opengl32: Make wglSwapLayerBuffers hookable.
combase: Make RoGetActivationFactory hookable.
wined3d: Update reported AMD driver version.
ntdll: Remove unnecessary NtQueryVirtualMemory call.
ntdll: Only build the main module and ntdll once on Wow64.
Daniel Hill (3):
winex11.drv: Dvorak should use QWERTY scancodes.
winex11.drv: Improve DetectLayout heuristics.
winex11.drv: Add Dvorak with phantom keys layout.
Daniel Lehman (2):
msvcp120/tests: Add some tests for _Mtx_t fields.
msvcp140: Pad _Mtx_t struct to match Windows.
David Kahurani (1):
gdiplus: Avoid use of temporary variable.
Dmitry Timoshkov (4):
ntdll: Add NtCompareTokens() stub.
oleaut32: Do not reimplement OleLoadPicture in OleLoadPicturePath.
oleaut32: Factor out stream creation from OleLoadPicturePath.
oleaut32: Implement OleLoadPictureFile.
Dāvis Mosāns (1):
ntdll/tests: Test NtContinue on x86-64.
Eric Pouech (7):
dbghelp: Support redefinition of a range statement.
winedbg: Make some internal data 'static const'.
winedbg: Print all pid and tid with 4 hex characters.
appwiz.cpl: Load dynamically wine_get_version().
user32: Load dynamically wine_get_version().
include: Avoid defining intrinsic functions as inline.
include: Avoid redefining _InterlockedCompareExchange128 as inline.
Etaash Mathamsetty (2):
xinput: Implement XInputGetCapabilitiesEx.
xinput: Reimplement XInputGetCapabilities.
Fabian Maurer (8):
dmsynth: Leave critical section when out of memory (Coverity).
localspl: In fpScheduleJob leave critical section in error case (Coverity).
wmiutils: Always zero path->namespaces in parse_text (Coverity).
winedbg: Add missing break inside fetch_value (Coverity).
wow64win: Add missing break inside packed_result_32to64 (Coverity).
winegstreamer: Don't check event for NULL, gstreamer already does that.
include: Add Windows.UI.ViewManagement.InputPane definitions.
windows.ui: Add stubs for InputPane class.
Fan WenJie (1):
wined3d: Compile sm1 bytecode to spirv.
Gabriel Brand (3):
ws2_32/tests: Test binding UDP socket to invalid address.
server: Return failure in bind if the address is not found.
kernel32: Add string for WSAEADDRNOTAVAIL error.
Gabriel Ivăncescu (6):
msvcirt: Use proper operator_new and operator_delete types.
jscript: Move thread_id from JScript struct to TLS data.
jscript: Don't use atomic compare exchange when setting the script ctx.
jscript: Make the garbage collector thread-wide rather than per-ctx.
jscript: Allow garbage collection between different jscript contexts.
mshtml: Implement document.lastModified.
Giovanni Mascellani (2):
wined3d: Expose the image view usage for null views.
wined3d: Expose the image view usage for non-default views.
Haidong Yu (1):
loader: Associate folder with explorer.
Hans Leidekker (19):
bcrypt: Add support for setting DH parameters.
bcrypt: Add support for retrieving DH parameters.
bcrypt: Allow or disallow some operations based on whether keys are finalized.
bcrypt: Add helpers to create a public/private key pair.
bcrypt: Make DH blob size validation more strict in key_import_pair().
bcrypt: Reject DH keys smaller than 512 bits.
bcrypt: Add support for generating DH keys from known parameters.
bcrypt: Make sure key_asymmetric_derive_key() returns correct size.
bcrypt: Assume we have a public key in key_export_dh_public().
bcrypt: Set dh_params in key_import_dh/_public().
bcrypt/tests: Add DH tests.
crypt32: Pad R/S values with zeroes if smaller than their counterpart.
sxs: Use wide character string literals.
sxs/tests: Use wide character string literals.
sxs/tests: Get rid of workarounds for old Windows versions.
sxs/tests: Update QueryAssemblyInfo() test for Windows 10.
sxs: Skip file copy when assembly is already installed.
bcrypt: Fix private data size in wow64 thunks.
dssenh: Finalize the hash if necessary in CPVerifySignature().
Jacek Caban (4):
winevdm: Use char type for max length assignment.
kernelbase: Silence -Wsometimes-uninitialized clang warning.
kernelbase: Silence -Warray-bounds clang warning.
devenum: Use switch statements for moniker type handling.
Jinoh Kang (2):
ntdll/tests: Avoid misaligned load in exception handler code in run_exception_test_flags().
ntdll/tests: Restore x86-64 #AC exception test in test_exceptions().
Martin Storsjö (6):
ntdll: Fix KiUserCallbackDispatcher on arm.
ntdll: Reduce fixme logging for large numbers of cores.
ntdll: Remove libunwind support for aarch64.
ntdll: Remove libunwind support for ARM.
ntdll: Remove dwarf unwinding support for aarch64.
wineps.drv: Avoid invalid unaligned accesses.
Nicholas Tay (1):
win32u: Preserve rawinput device instance ID case in add_device().
Nikolay Sivov (13):
mf/tests: Skip tests if video renderer can't be created.
ntdll: Update RTL_HEAP_PARAMETERS definition.
ntdll/tests: Add some tests for creating custom heaps.
scrrun/dictionary: Add support for hashing VT_EMPTY keys.
scrrun/dictionary: Add support for hashing VT_NULL keys.
scrrun/dictionary: Handle VT_EMPTY/VT_NULL keys.
evr/dshow: Handle YUY2 sample copy.
mf/tests: Fully cleanup when skipping tests.
d2d1/tests: Add some tests for minimum/maximum input count in effect description.
d2d1/effect: Handle variable input count attributes in the description.
d2d1/effect: Use XML description for builtin effects.
d2d1/effect: Recreate transform graph when input count changes.
d3d10/effect: Use bitfields for numeric type descriptions.
Paul Gofman (5):
ntdll: Fix exception list offset in call_user_mode_callback / user_mode_callback_return.
ntdll: Return STATUS_DEBUGGER_INACTIVE from NtSystemDebugControl() stub.
winex11.drv: Fix wglSwapBuffers() with NULL current context with child window rendering.
winhttp: Always return result at once if available in WinHttpQueryDataAvailable().
winhttp: Always return result at once if available in WinHttpReadData().
Piotr Caban (8):
msvcp140_2: Fix i386 export names.
msvcp140_2: Implement __std_smf_hypot3f.
msvcp140_t/tests: Add __std_smf_hypot3 tests.
concrt140: Add _Cancellation_beacon::_Confirm_cancel() implementation.
msvcp140: Add _XGetLastError implementation.
msvcp140/tests: Fix _Syserror_map(0) test failure in newest msvcp140.
msvcp140: Recognize no error case in _Syserror_map.
winex11.drv: Fix xim_set_focus no IC condition check.
Russell Greene (1):
powrprof: Add PowerWriteACValueIndex stub.
Rémi Bernon (59):
user32/tests: Remove old Windows versions broken cursoricon results.
user32/tests: Fix cursoricon tests on recent Windows versions.
user32/tests: Add flaky_wine to some SetActiveWindow tests.
user32/tests: Run SendInput tests in a separate desktop.
user32/tests: Cleanup SendInput keyboard message sequence tests.
user32/tests: Test SendInput messages with KEYEVENTF_SCANCODE flag.
user32/tests: Test SendInput messages with other keyboard layouts.
imm32/tests: Add todo_himc to some ImmTranslateMessage expected calls.
dinput/tests: Make some failing keyboard test flaky_wine.
vulkan/tests: Add gitlab Win10 VM results.
winex11: Return STATUS_NOT_FOUND when IME update isn't found.
win32u: Move ImeToAsciiEx implementation from winex11.
win32u: Support posting IME updates while processing keys.
winemac: Use the default ImeToAsciiEx implementation.
win32u: Remove now unnecessary ImeToAsciiEx driver entry.
winebus: Append is_gamepad to the device instance id.
winebus: Allow specific devices to prefer hidraw backend.
winebus: Move device identification helpers to unixlib.h.
winebus: Prefer hidraw backends for DS4 and DS5 gamepads.
winexinput: Demote BusContainerId FIXME message to WARN.
winebus: Demote BusContainerId FIXME message to WARN.
dinput: Add a description to the dinput worker thread.
windows.gaming.input: Add a description to the monitor thread.
include: Add HEAACWAVEINFO and HEAACWAVEFORMAT definitions.
mfplat/tests: Test MFInitMediaTypeFromWaveFormatEx wrt MF_MT_FIXED_SIZE_SAMPLES.
mfplat/tests: Add MFInitMediaTypeFromWaveFormatEx tests with HEAACWAVEFORMAT.
mfplat/tests: Test MFWaveFormatExConvertFlag_ForceExtensible with HEAACWAVEFORMAT.
mfplat: Support AAC format attributes in MFInitMediaTypeFromWaveFormatEx.
mfplat: Support compressed WAVEFORMATEX in MFCreateWaveFormatExFromMFMediaType.
win32u: Avoid truncating ToUnicodeEx result if there's room.
user32/tests: Move KEYEVENTF_UNICODE to test_SendInput_keyboard_messages.
user32/tests: Test that WH_KEYBOARD_LL are blocking SendInput.
setupapi: Don't clobber the original filename if .inf is found.
dinput/tests: Introduce a new helper to create a foreground window.
dinput/tests: Enforce ordering of concurrent read IRPs.
dinput/tests: Add a test with a virtual HID mouse.
dinput/tests: Add a test with a virtual HID keyboard.
include: Add more HID digitizer usage definitions.
dinput/tests: Add a test with a virtual HID touch screen.
winex11: Sync with gdi_display before closing the threads display.
dinput/tests: Differentiate missing from broken HID reports.
dinput/tests: Relax the mouse move count test.
dinput/tests: Add some IRawGameController2 interface tests.
windows.gaming.input: Stub IRawGameController2 interface.
imm32/tests: Adjust todo_wine for the new Wine CJK keyboard layouts.
imm32: Mask the scancode before passing it to ImeToAsciiEx.
imm32/tests: Test that WM_KEYUP are passed to ImeProcessKey.
win32u: Also pass WM_KEYUP messages to ImmProcessKey.
imm32/tests: Test the effect of CPS_CANCEL and CPS_COMPLETE.
imm32: Complete the composition string when the IME is closed.
user32/tests: Add an optional hwnd to input messages tests.
user32/tests: Cleanup the mouse input WM_NCHITTEST / SetCapture tests.
user32/tests: Run the mouse hook tests in the separate desktop.
user32/tests: Filter the ll-hook messages with accept_message.
user32/tests: Test clicking through attribute-layered windows.
user32/tests: Tests clicking through window with SetWindowRgn.
winegstreamer: Fix reading MF_MT_USER_DATA into HEAACWAVEFORMAT.
winegstreamer: Use MFCreateAudioMediaType in the AAC decoder.
winegstreamer: Use an array for the audio decoder input types.
Sven Baars (2):
advapi32/tests: Introduce a new has_wow64 helper.
advapi32/tests: Skip WoW64 tests on 32-bit in test_reg_create_key.
Tim Clem (1):
winemac.drv: Detect active handwriting and panel IMEs.
Tyson Whitehead (2):
dinput/tests: Update tests for DIPROP_AUTOCENTER.
dinput: Implement DIPROP_AUTOCENTER.
Vijay Kiran Kamuju (5):
concrt140: Add stub for _Cancellation_beacon::_Confirm_cancel().
wine.inf: Create security directory.
msvcp140: Add stub for _XGetLastError.
include: Add Windows.Storage.Streams.InMemoryRandomAccessStream runtimeclass definition.
msvcr100: Add _ReaderWriterLock constructor implementation.
Yuxuan Shui (4):
dmime: AudioPathConfig is not AudioPath.
dmime: Parse AudioPathConfig.
dmime: IDirectMusicPerformance::CreateAudioPath should fail when config is NULL.
dmime: Semi-support creating an audio path from config.
Zebediah Figura (14):
ddraw/tests: Add tests for map pointer coherency.
ddraw: Sync to sysmem after performing a color fill.
ddraw: Use the sysmem wined3d texture for sysmem surfaces if possible.
wined3d: Hook up push constants for Vulkan.
wined3d/spirv: Hook up sm1 interface matching.
d3d11: Implement D3D11_FEATURE_D3D11_OPTIONS2.
wined3d: Report VK_EXT_shader_stencil_export availability to vkd3d_shader_compile().
wined3d: Implement shader stencil export for GL.
d3d11: Report support for shader stencil export if available.
d3d11/tests: Add a test for shader stencil export.
wined3d: Check the wined3d resource type and usage in find_ps_compile_args().
wined3d: Set the tex_type field of the FFP fragment settings from the resource's GL type.
wined3d: Check for WINED3DUSAGE_LEGACY_CUBEMAP instead of checking the GL texture target.
wined3d: Collapse some trivially nested ifs into a single condition.
Zhiyi Zhang (16):
wldap32: Fix a possible memory leak (Coverity).
msi: Fix a memory leak (Coverity).
bcrypt: Fix an possible out-of-bounds read (Coverity).
win32u: Fix a possible out-of-bounds write (Coverity).
compstui: Fix a possible out-of-bounds write (Coverity).
user32/tests: Add recursive keyboard and mouse hook tests.
win32u: Avoid calling WH_KEYBOARD and WH_CBT HCBT_KEYSKIPPED hooks recursively.
win32u: Avoid calling WH_CBT HCBT_CLICKSKIPPED hooks recursively.
user32/tests: Add recursive WM_SETCURSOR message tests.
include: Add some ncrypt definitions.
include: Add some bcrypt definitions.
ncrypt/tests: Test default RSA key properties.
ncrypt: Add some missing RSA key properties.
ncrypt/tests: Add NCryptExportKey() tests.
user32/tests: Test keyboard layout in CJK locales.
win32u: Don't set the high word of keyboard layout to 0xe001 in CJK locales.
```
The Wine team is proud to announce that the stable release Wine 9.0
is now available.
This release represents a year of development effort and over 7,000
individual changes. It contains a large number of improvements that
are listed below. The main highlights are the new WoW64 architecture
and the experimental Wayland driver.
The source is available at <https://dl.winehq.org/wine/source/9.0/wine-9.0.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>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.0/AUTHORS
## What's new in Wine 9.0
### WoW64
- All transitions from Windows to Unix code go through the NT syscall
interface. This is a major milestone that marks the completion of the
multi-year re-architecturing work to convert modules to PE format and
introduce a proper boundary between the Windows and Unix worlds.
- All modules that call a Unix library contain WoW64 thunks to enable calling
the 64-bit Unix library from 32-bit PE code. This means that it is possible to
run 32-bit Windows applications on a purely 64-bit Unix installation. This is
called the _new WoW64 mode_, as opposed to the _old WoW64 mode_ where 32-bit
applications run inside a 32-bit Unix process.
- The new WoW64 mode is not yet enabled by default. It can be enabled by passing
the `--enable-archs=i386,x86_64` option to configure. This is expected to work
for most applications, but there are still some limitations, in particular:
- Lack of support for 16-bit code.
- Reduced OpenGL performance and lack of `ARB_buffer_storage` extension
support.
- The new WoW64 mode finally allows 32-bit applications to run on recent macOS
versions that removed support for 32-bit Unix processes.
### Wayland driver
- There is an experimental Wayland graphics driver. It's still a work in
progress, but already implements many features, such as basic window
management, multiple monitors, high-DPI scaling, relative motion events, and
Vulkan support.
- The Wayland driver is not yet enabled by default. It can be enabled through
the `HKCU\Software\Wine\Drivers` registry key by running:
wine reg.exe add HKCU\\Software\\Wine\\Drivers /v Graphics /d x11,wayland
and then making sure that the `DISPLAY` environment variable is unset.
### ARM64
- The completion of the PE/Unix separation means that it's possible to run
existing Windows binaries on ARM64.
- The loader supports loading ARM64X and ARM64EC modules.
- The 32-bit x86 emulation interface is implemented. No emulation library is
provided with Wine at this point, but an external library that exports the
interface can be used, by specifying its name in the
`HKLM\Software\Microsoft\Wow64\x86` registry key. The [FEX emulator][2]
implements this interface when built as PE.
- There is initial support for building Wine for the ARM64EC architecture, using
an experimental LLVM toolchain. Once the toolchain is ready, this will be used
to do a proper ARM64X build and enable 64-bit x86 emulation.
[2]: https://fex-emu.com
### Graphics
- The PostScript driver is reimplemented to work from Windows-format spool files
and avoid any direct calls from the Unix side.
- WinRT theming supports a dark theme option, with a corresponding toggle in
WineCfg.
- The Vulkan driver supports up to version 1.3.272 of the Vulkan spec.
- A number of GdiPlus functions are optimized for better graphics performance.
### Direct3D
- The multi-threaded command stream sleeps instead of spinning when not
processing rendering commands. This lowers power consumption in programs which
do not occupy the command stream's entire available bandwidth. Power
consumption should be comparable to when the multi-threaded command stream is
disabled.
- Direct3D 10 effects support many more instructions.
- Various optimizations have been made to core WineD3D and the Vulkan backend.
- The Vulkan renderer properly validates that required features are supported by
the underlying device, and reports the corresponding Direct3D feature level to
the application.
- `D3DXFillTextureTX` and `D3DXFillCubeTextureTX` are implemented.
- The legacy OpenGL ARB shader backend supports shadow sampling via
`ARB_fragment_program_shadow`.
- The HLSL compiler supports matrix majority compilation flags.
- `D3DXLoadMeshHierarchyFromX` and related functions support user data loading
via `ID3DXLoadUserData`.
### Audio / Video
- The foundation of several of the DirectMusic modules is implemented. Many
tests are added to validate the behavior of the dmime sequencer and the
dmsynth MIDI synthesizer.
- DLS1 and DLS2 sound font loading is implemented, as well as SF2 format for
compatibility with Linux standard MIDI sound fonts.
- MIDI playback is implemented in dmsynth, with the integration of the software
synthesizer from the FluidSynth library, and using DirectSound for audio
output.
- Doppler shift is supported in DirectSound.
- The Indeo IV50 Video for Windows decoder is implemented.
### DirectShow
- The Windows Media Video (WMV) decoder DirectX Media Object (DMO) is
implemented.
- The DirectShow Audio Capture filter is implemented.
- The DirectShow MPEG‑1 Stream Splitter filter supports video and system streams
as well as audio streams.
- The DirectShow MPEG‑1 Video Decoder filter is implemented.
### Input devices
- DirectInput action maps are implemented, improving compatibility with many old
games that use this to map controller inputs to in-game actions.
### Desktop integration
- URL/URI protocol associations are exported as URL handlers to the Linux
desktop.
- Monitor information like name and model id are retrieved from the physical
monitor's Extended Display Identification Data (EDID).
- In full-screen desktop mode, the desktop window can be closed through the
"Exit desktop" entry in the Start menu.
### Internationalization
- IME implementation is improved, with better support for native Windows IME
implementations. Many tests are added to validate the expected behavior of
these custom IMEs.
- Linux IME integration is improved, using over-the-spot or on-the-spot input
styles whenever possible, and more accurate IME message sequences.
- Locale data is generated from the Unicode CLDR database version 44. The
following additional locales are supported: `bew-ID`, `blo-BJ`, `csw-CA`,
`ie-EE`, `mic-CA`, `prg-PL`, `skr-PK`, `tyv-RU`, `vmw-MZ`, `xnr-IN`, and
`za-CN`.
- The user interface is translated to Georgian, bringing the total of full
translations to 16 languages, with partial translations to another 31
languages.
- Unicode character tables are based on version 15.1.0 of the Unicode Standard.
- The timezone data is generated from the IANA timezone database version 2023c.
- Locales using a script name, like `zh-Hans`, are also supported on macOS.
### Kernel
- The default Windows version for new prefixes is set to Windows 10.
- Address space layout randomization (ASLR) is supported for modern PE binaries,
to avoid issues with address space conflicts. Note that the selected load
addresses are not yet properly randomized.
- The Low Fragmentation Heap (LFH) is implemented for better memory allocation
performance.
- The virtual memory allocator supports memory placeholders, to allow
applications to reserve virtual space.
- The 64-bit loader and preloader are built as position-independent executables
(PIE), to free up some of the 32-bit address space.
- Stack unwinding works correctly across NT syscalls and user callbacks.
### Internet and networking
- All builtin MSHTML objects are proper Gecko cycle collector participants.
- Synchronous XMLHttpRequest mode is supported in MSHTML.
- WeakMap object is implemented in JScript.
- The Gecko engine is updated to version 2.47.4.
- Network interface change notifications are implemented.
### Cryptography and security
- Smart cards are supported in the Winscard dll, using the Unix PCSClite
library.
- Diffie-Hellman keys are supported in BCrypt.
- The Negotiate security package is implemented.
### Mono / .NET
- The Mono engine is updated to version [8.1.0][3].
[3]: https://github.com/madewokherd/wine-mono/releases/tag/wine-mono-8.1.0
### Builtin applications
- The Wine Debugger (winedbg) uses the Zydis library for more accurate x86
disassembly.
- WineCfg supports selecting old (pre-XP) Windows versions also in 64-bit
prefixes, to enable using ancient applications with the new WoW64 mode.
- All graphical builtin applications report errors with a message box instead of
printing messages on the console.
- The `systeminfo` application prints various data from the Windows Management
Instrumentation database.
- The `klist` application lists Kerberos tickets.
- The `taskkill` application supports terminating child processes.
- The `start` application supports a `/machine` option to select the
architecture to use when running hybrid x86/ARM executables.
- Most of the functionality of the `tasklist` application is implemented.
- The `findstr` application provides basic functionality.
### Development tools
- The WineDump tool supports printing the contents of Windows registry files
(REGF format), as well as printing data for both architectures in hybrid
x86/ARM64 PE files.
- The `composable`, `default_overload`, `deprecated`, and `protected` attributes
are supported in the IDL compiler.
- The `libwine.so` library is removed. It was no longer used, and deprecated
since Wine 6.0. Winelib ELF applications that were built with Wine 5.0 or
older will need a rebuild to run on Wine 9.0.
### Bundled libraries
- The FluidSynth library version 2.3.3 is bundled and used for DirectMusic.
- The math library of Musl version 1.2.3 is bundled and used for the math
functions of the C runtime.
- The Zydis library version is 4.0.0 is bundled and used for x86 disassembly
support.
- Vkd3d is updated to the upstream release 1.10.
- Faudio is updated to the upstream release 23.12.
- LDAP is updated to the upstream release 2.5.16.
- LCMS2 is updated to the upstream release 2.15.
- LibMPG123 is updated to the upstream release 1.32.2.
- LibPng is updated to the upstream release 1.6.40.
- LibTiff is updated to the upstream release 4.6.0.
- LibXml2 is updated to the upstream release 2.11.5.
- LibXslt is updated to the upstream release 1.1.38.
- Zlib is updated to the upstream release 1.3.
### External dependencies
- The Wayland client library, as well as the xkbcommon and xkbregistry
libraries, are used when building the Wayland driver.
- The PCSClite library is used for smart card support. On macOS, the PCSC
framework can be used as an alternative to PCSClite.
- For PE builds, a cross-compiler that supports `.seh` directives for exception
handling is required on all platforms except i386.
The Wine development release 9.0-rc5 is now available. This is
expected to be the last release candidate before the final 9.0.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at <https://dl.winehq.org/wine/source/9.0/wine-9.0-rc5.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>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.0-rc5/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.0-rc5 (total 22):
- #38780 AArch64 platforms: register X18 (TEB) must remain reserved for Wine to run 64-bit ARM Windows applications (Distro aarch64 toolchains need '-ffixed-x18' default, loader/libc/userland)
- #46777 Two Worlds 2 crashes on start
- #47406 Add support for debug symbols in separate files
- #49852 Performance regression in "msvcrt: Use correct code page in _write when outputing to console."
- #50998 Failed to open error Word 2007 (c0000135)
- #52491 SpaceDesk fails to connect to server
- #52962 dinput:force_feedback breaks ntoskrnl.exe:ntoskrnl on Windows 7/8
- #53319 robot battle game extremely slow after wine version 7.11 and above
- #54387 Pantsylvania crashes if Windows version is set to 3.1
- #54401 PhotoFiltre not printing
- #55010 psapi:psapi_main - test_EnumProcessModulesEx() sometimes gets a 0 image size on Windows 8
- #55497 Jennifer is Missing (Katjas Geheimnis) by Tivoli crashes on start
- #55731 advapi32:eventlog - test_eventlog_start() fails on Windows 7 & 10 2004 & 2009
- #55784 wldap32:parse - test_ldap_bind_sA() claims the server is down on w1064v2009
- #56070 BVE trainsim doesn't show its logo in the main window.
- #56113 Unfortunate Spacemen crashes on start
- #56117 Celtic Kings runs out of memory in mere seconds when music is enabled
- #56130 Wine is broken on Termux since 8.17-39-g25db1c5d49d
- #56134 VA-11 HALL-A crashes on startup
- #56149 Celtic Kings demo: window decorations missing in virtual desktop (VD size = desktop size)
- #56150 Wine 8.18 - Fedora 37 - Winwing F16EX joystick - dinput only reports 10 buttons
- #56152 "Script error: Handler not defined #FileIO" in "TKKG 1" (EN: Jennifer is Missing, DE: Katjas Geheimnis - Tivoli)
### Changes since 9.0-rc4:
```
Akihiro Sagawa (5):
d3d8/tests: Test the presentation parameters after creating a device.
d3d9/tests: Test the presentation parameters after creating a device.
d3d8/tests: Test the presentation parameters after creating an additional swap chain.
d3d9/tests: Test the presentation parameters after creating an additional swap chain.
d3d9: Update presentation parameters when creating a swap chain.
Alex Henrie (1):
winspool: Keep driver_9x in scope while it is in use.
Alexandre Julliard (2):
krnl386: Use NtContinue to restore the full context.
krnl386: Align the stack before calling the entry point.
Bernhard Übelacker (1):
msvcrt: Protect setlocale against concurrent accesses.
Enol Puente (1):
po: Update Asturian translation.
Gabriel Ivăncescu (4):
Revert "winex11: Use the correct root window for virtual desktops.".
winex11: Set MWM_FUNC_RESIZE for fullscreen desktop windows.
winex11: Update Virtual Desktop fullscreen WM state after setting window pos.
winex11: Move the update_desktop_fullscreen callsite to update_net_wm_states.
Hans Leidekker (2):
wldap32/tests: Skip tests when the server can't be reached.
wininet/tests: Update expected winehq.org certificate.
Jacek Caban (1):
gitlab: Cache config.cache in Clang builds.
Jinoh Kang (4):
ntdll/tests: Fix x86-32 extended context end offset in test_copy_context().
ntdll/tests: Fix incorrect calculation of context length in test_copy_context().
ntdll/tests: Don't hard code the maximum XState length in test_extended_context().
ntdll/tests: Fix xstate tests failing on Windows 11 and CPU with more XSAVE features.
Nikolay Sivov (2):
mfreadwrite/tests: Skip tests if D3D9 is unusable.
mf/tests: Skip tests if D3D9 is unusable.
Rémi Bernon (3):
dmusic: Clone streams instead of allocating wave data.
ntoskrnl.exe/tests: Use SUOI_FORCEDELETE when uninstalling the driver.
winewayland: Add missing breaks in keyboard layout switch.
Zebediah Figura (2):
wined3d: Avoid WARN() when failing to allocate a GL BO without a context.
wined3d: Only suballocate dynamic buffers.
```
The Wine development release 9.0-rc4 is now available.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at <https://dl.winehq.org/wine/source/9.0/wine-9.0-rc4.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>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.0-rc4/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.0-rc4 (total 17):
- #4291 The menubar & toolbar of TresED are not displayed correctly.
- #7106 Need for Speed 3 autorun crashes when starting setup
- #26142 Civilization 4: Screen turns black on turn end with built-in msxml
- #38039 linux console leaves in stty echo off mode after executing bash.exe from Wine
- #40011 git-gui crashes on start
- #45242 winedbg Internal crash when debugging win32
- #51738 Bioshock Infinite crashes after intro with "mmap() failed: Cannot allocate memory"
- #52159 cygwin/msys2: Unhandled page fault in 64-bit gdb.exe and python3.8.exe
- #54256 Compile for wine under arm macOS (for running aarch64 windows apps) fails
- #55540 IS Defense hangs after gameplay begins or has rendering glitches
- #55637 dmime:dmime - test_performance_pmsg() sometimes fails due to bad timing on Windows and Wine
- #55961 Multiple VST plugins have an invisible cursor
- #56021 Wine 9.0-rc1 Wayland: In Sway full screen games don't run on full screen
- #56023 Wine 9.0-rc1 Wayland: DPI problems
- #56032 winedbg --gdb: gets terminated when target process exits
- #56047 Won't build on FreeBSD, error: 'F_GETPATH' undeclared
- #56110 Bejeweled 3: can't enable 3D acceleration
### Changes since 9.0-rc3:
```
Alexandre Julliard (6):
Update copyright info for 2024.
server: Remove WINESERVER documentation from the man page.
loader: Remove absolute paths references from the man page.
readme: Convert to Markdown.
announce: Convert to Markdown.
ntdll: Determine the available address space dynamically on ARM64.
André Zwing (2):
mscoree/tests: Don't test function directly when reporting GetLastError().
ntoskrnl/tests: Use RtlNtStatusToDosErrorNoTeb() for stateless conversion.
Bernhard Kölbl (1):
windows.media.speech/tests: Remove obsolete workarounds.
Brendan Shanks (2):
include: Assert that the debug channel name will be null-terminated and is not too long.
server: Fix compile error on FreeBSD/NetBSD.
Byeong-Sik Jeon (1):
po: Update Korean translation.
Eric Pouech (3):
winedump: Better align fields in EXPORT table.
quartz: Delay import ddraw.
winedbg: Wait for gdb to terminate before exiting (proxy mode).
Esme Povirk (1):
mscoree/tests: Add debug code for RemoveDirectory failure.
Fan WenJie (1):
wineandroid: Fix incorrect checking reason.
Gabriel Ivăncescu (1):
winex11: Use the correct root window for virtual desktops.
Lauri Kenttä (2):
po: Update Finnish translation.
readme: Update Finnish translation.
Rémi Bernon (2):
dmime: Avoid leaking track references in segment Clone and Load.
dmloader: Avoid caching DMUS_OBJ_STREAM objects we can't load from cache.
Yuxuan Shui (1):
dmime: Fix handling of curve PMSG.
Zebediah Figura (3):
wined3d: Reference FFP resources in reference_shader_resources().
wined3d: Do not remove invalid BO users from the list when destroying views.
wined3d: Set fixed_function_usage_map to 0 for an sm4 draw without a PS.
Zsolt Vadasz (2):
msvcrt: Compare environment variable names case insensitively.
msvcrt/tests: Test case insensitivity of getenv() and _wgetenv().
```
The Wine development release 9.0-rc3 is now available.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at:
https://dl.winehq.org/wine/source/9.0/wine-9.0-rc3.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 9.0-rc3 (total 35):
- #51314 vulkan-1:vulkan crashes on Windows with recent Radeon drivers
- #51478 dinput:device8 breaks user32:input's test_keyboard_layout_name() in some locales ()
- #52971 HardWest 2 (playtest) is broken with OpenGL/Vulkan backend
- #53166 Star Wars : Fallen Order crashes at launch
- #53726 Silent Hill 4: The Room low res videos are not played (needs CLSID_CMpegVideoCodec)
- #54381 tightvnc viewer crashes on connection
- #54878 WinSCP 5.21.1.12643 doesn't list files when Windows version is set to 10
- #55005 Program Treecomp - some widgets are not drawn
- #55061 Starcraft Remastered: blurry graphics / low resolution
- #55161 IrfanView full screen mode creates an unneeded and uncalled for permanent overlaying panel
- #55288 advapi32:registry & ntdll:reg - The 32-bit test_redirection() fails if run after the 64 WineTest
- #55306 Cannot double click in the server browser in Worms Armageddon
- #55327 user32:input - test_ActivateKeyboardLayout() fails on Windows 7 for the Spanish locale
- #55328 user32:input - test_keyboard_layout_name() fails on Windows 7 for the Spanish locale
- #55394 comctl32:listbox - test_LBS_NODATA() fails in Wine for the Hindi locale
- #55439 RPG Maker game crashes
- #55446 Using C run-time for unicode strings comparison breaks case insensitive LB_FINDSTRING
- #55578 kernel32:loader - test_section_access() sometimes fails on Windows 8
- #55582 Civilization 2 crashes when setting up new game
- #55655 user32:dialog - test_IsDialogMessageA_proc() fails in the Hindi locale on Wine
- #55667 kernel32:file - test_MapFile() fails on macOS
- #55773 Railroad Tycoon 2 Platinum (Steam, GOG) crashes when changing to 800X600 resolution
- #55903 Falcon BMS 4.37u3: game randomly fails to load 3D models
- #55942 Crazy Chicken Approaching - Nebula Assertion and Visual C++ Runtime Library Errors
- #55962 Program that mixes 32-bit and 64-bit typelibs fails to find a referenced typelib
- #55967 app regression; SWATH stops working at all as of 8.18
- #56001 Some shortcut keys don't work with winewayland when focus is lost and restored
- #56015 SysTray doesn't work for (and crashes) WiseReminder
- #56022 Wine 9.0-rc1 wayland: Cursor does not move on some surfaces
- #56026 Wine 9.0-rc1 Wayland: Mouse buttons 3-6 do not work
- #56033 winewayland.drv: Alt-shift to change the input language appears like Shift is pressed all the time
- #56039 winecfg does no longer run after export WINEARCH=win32
- #56046 Pegasus Mail 4.80 regression: Pointer does not change
- #56048 winedbg --auto: shows incomplete modules list
- #56053 Regression on fallout 3 in the new wow64 mode
----------------------------------------------------------------
Changes since 9.0-rc2:
Akihiro Sagawa (1):
po: Update Japanese translation.
Alex Henrie (2):
po: Update Catalan translation.
comctl32/listview: Ignore the lParam to WM_PRINTCLIENT and add tests.
Alexandre Julliard (5):
wow64: Initialize the syscall dispatcher in the 32-bit TEB.
user32: Fix string comparison for listbox inexact matches.
ntdll: Add a more explicit failure for 32-bit prefix in wow64 mode.
winecfg: Support all Windows versions also in 64-bit mode.
comctl32: Fix string comparison for listbox inexact matches.
Alistair Leslie-Hughes (1):
msdasql/tests: Add missing carriage returns.
Bernhard Übelacker (1):
winedbg: Retrieve module architecture before sorting.
Brendan McGrath (1):
server: Always release internal hardware messages.
Eric Pouech (7):
riched20: Don't crash when no OLE obj is present.
riched20: Don't write past end of buffer.
dbghelp/tests: Extend tests for module loading.
dbghelp: Fix some tests for SymLoadModule*().
winmm: Fill in pIOProc field in MMIOINFO.
dbghelp/tests: Wait for child window to be up before testing.
winedbg: Fix main module detection in 'info share' command.
Fabian Maurer (1):
wineps: Don't leak memory in error case (Coverity).
Georg Lehmann (1):
vulkan-1/tests: Enable feature in private data test.
Huw D. M. Davies (2):
dnsapi: Update the array ptr in the insufficient buffer case.
dnsapi: Free the buffer in the early return paths.
Jacek Caban (1):
win32u: Use 32-bit window extra size on wow64.
Nikolay Sivov (1):
oleaut32/typelib: Add a missing break (Coverity).
Paul Gofman (3):
ntdll: Use position independent syscall thunk for NtQueryInformationProcess on i386.
include: Fix boolean return value definition in IIterator<T> methods.
dxdiagn: Check ICreateDevEnum_CreateClassEnumerator result for S_OK.
Rémi Bernon (16):
user32/tests: Dynamically resize the keyboard layout preload list.
user32/tests: Skip some keyboard layout tests on broken VMs.
dinput/tests: Avoid calling UnloadKeyboardLayout.
user32/tests: Avoid calling UnloadKeyboardLayout.
server: Always queue mouse messages delivered to another window.
server: Ignore the capture window wrt desktop cursor changes.
imm32/tests: Fix HKL comparison when cleaning up preload list.
wined3d: Add more padding to resource memory allocations.
wined3d: Store the resource heap memory pointer separately.
server: Introduce a new get_desktop_cursor_thread_input helper.
server: Change desktop cursor only when inside the thread's windows.
dmime/tests: Check reference time and allow 0.5 tick difference.
dmime/tests: Allow small time variation in test_performance_time.
dmime/tests: Allow small time variation in test_segment_state.
dmime/tests: Add optional notification sequence on segment stop.
dmime/tests: Remove some unnecessary and spuriously failing waits.
Zebediah Figura (1):
qcap/audiorecord: Do not leak the sample when pausing or stopping.
Zhiyi Zhang (2):
user32/tests: Add more display DC tests.
win32u: Create a real bitmap object for display DCs.
The Wine development release 9.0-rc2 is now available.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at:
https://dl.winehq.org/wine/source/9.0/wine-9.0-rc2.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 9.0-rc2 (total 33):
- #21550 Winedbg's disassembler doesn't support SSE2 instructions
- #27916 Ferro CCTV: Fails to start
- #45122 gdiplus/font test crashes under clang-5.0.1 but not gcc-7.3.0
- #45123 gdiplus/graphicspath test crashes under clang-5.0.1 but not gcc-7.3.0
- #52000 EA Desktop fails to install using French locale
- #52883 Improve support for high-level graphic settings in The Settlers: Heritage of Kings
- #53845 Regression in GetCalendarInfoEx et al
- #54115 wine client error:68: write: Bad file descriptor
- #54361 Winebus doesn't enumerate hid devices (in a --without-sdl build) unless SDL also disabled by winebus registry key
- #54402 Borland Turbo CPP 4.5 installer deadlocks on start
- #54616 Memory Access Violation in Libaes.dll, Texecom Wintex
- #54769 major regression in dnSpy startup time
- #54847 dnsapi:query - test_DnsQuery() fails on the TestBot VMs in Windows and Wine
- #54987 Waves Central does not launch
- #55179 Garmin MapSource drag & drop doesn't work in center of window
- #55561 kernel32:virtual - The 32-bit test_write_watch() fails in the new WoW mode
- #55569 mshtml:dom - The 32-bit test_attr_collection_attr() crashes on Windows 10 2004+
- #55588 mf:mf - test_scheme_resolvers() crashes on Windows 7
- #55638 mf:transform - test_h264_decoder_concat_streams() sometimes fails on Windows 7
- #55649 quartz:vmr9 - test_changed3ddevice() fails on the TestBot's w11pro64-amd & -nv VMs
- #55703 AstroArt crashes when trying to drag and drop files from one pane to another
- #55761 PLSQL Developer: Access Violation when trying to log in
- #55774 Sid Meier's Alpha Centauri: invisible mouse pointer
- #55783 Pronote 2023 can't load native msxml6
- #55809 FEMM 4.2 mesh creation won't run, running an analysis is impossible, works on wine-stable
- #55813 Hitomi Downloader fails with "[Errno 9] Bad file descriptor"
- #55833 Multiple 64bit programs crash due to pointer truncation (HeidiSQL 12.5.0.6677, Falcon BMS 4.37u3, PNGGauntlet, PLSQL Developer, ...)
- #55863 Wine fails to build on macOS with LLVM 17
- #55908 PNGGauntlet expects LocalAlloc addresses to fit into 32bit int, breaks on 64bit due to recent memory changes
- #55972 Dolphin Emulator requires GetProcessInformation (since 5.0-16711)
- #55993 PLSQL Developer: Hangs when trying to connect a database.
- #55995 Wine 9.0-rc1 Wayland cursor does not move on some surfaces
- #56006 CrystalDiskInfo: Unhandled exception crashes DiskInfo64.exe
----------------------------------------------------------------
Changes since 9.0-rc1:
Akihiro Sagawa (2):
winex11: Do window search if IDropTarget::DragOver() returns DROPEFFECT_NONE.
comctl32/tests: Store old DPI awareness context.
Alexandre Julliard (13):
server: Leave some free space between modules in ASLR mode.
kernelbase: Don't validate calendar id for GetCalendarInfo(CAL_ITWODIGITYEARMAX).
ntdll: Switch to the kernel stack before restoring the pthread TEB.
ntdll: Switch to the user stack before restoring the %fs register.
ntdll: Only free reserved memory for DYNAMIC_BASE binaries.
krnl386: Don't release the Win16 lock when exiting a task.
server: Enforce a mapping size limit instead of relying on the Unix file system.
kernel32/tests: Don't bother checking for errors in cleanup path.
user32: Support utf-8 in WM_CHAR W->A conversion.
oleaut32/tests: Use winetest contexts instead of traces in the typelib test.
Revert "oleaut32: Check that the 32/64 syskind matches when getting a typelib from the cache.".
oleaut32: Fix loading a 64-bit typelib in 32-bit mode.
oleaut32/tests: Run the 64-bit typelib tests also on 32-bit platforms.
Alexandros Frantzis (5):
winewayland.drv: Avoid deadlock when determining whether a window is managed.
winewayland.drv: Avoid transient deactivation of foreground thread.
winewayland.drv: Consider implicit fullscreen clip for pointer locking.
winewayland.drv: Release all keys on keyboard focus loss.
winewayland.drv: Support mouse buttons 4 and 5.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (1):
po: Update Polish translation.
Bernhard Übelacker (1):
uxtheme: Add stub for IsDarkModeAllowedForWindow.
Biswapriyo Nath (1):
include: Add SampleGrabber coclass definition in qedit.idl.
Eric Pouech (4):
winedump: Don't fail on extra stream entry in PDB.
dbghelp: Allow an extra stream index entry in PDB files.
winedump: Skip deleted vector in hash inside PDB header.
dbghelp: Skip deleted vector in hash inside PDB header.
Fabian Maurer (1):
gdiplus: Prevent uninitializd memory access (Coverity).
Floris Renaud (1):
po: Update Dutch translation.
Hans Lehnert (1):
gdiplus: Fix invalid pointer returned when failing to create font.
Hans Leidekker (2):
dnsapi/tests: Don't test extra records returned for CNAME query.
kernel32/tests: Fix ProcessMachineTypeInfo tests.
Jacek Caban (3):
dwrite: Explicitly cast DWRITE_FONT_STRETCH to float in init_font_prop_vec.
configure: Enable -Wenum-conversion warnings.
ntdll: Declare seh debug channel in signal_arm64ec.c.
Jactry Zeng (1):
po: Update Simplified Chinese translation.
Rémi Bernon (6):
winebus: Return backend init status from bus_main_thread_start.
mf/tests: Workaround broken Win7 test_h264_decoder_concat_streams result.
explorer: Handle WM_CLOSE for docked icons for when they lose embedding.
server: Peek wine internal driver messages regardless of filter.
server: Update the desktop cursor position / window on click.
server: Use the capture window as cursor window if it is set.
Sven Baars (2):
sapi/tests: Remove registry keys created by SetId().
sapi/tests: Remove registry keys created by SetId() in the SpVoice tests.
The Wine development release 9.0-rc1 is now available.
This is the first release candidate for the upcoming Wine 9.0. It
marks the beginning of the yearly code freeze period. Please give this
release a good testing and report any issue that you find, to help us
make the final 9.0 as good as possible.
What's new in this release:
- Bundled vkd3d upgraded to version 1.10.
- Support for DH encryption keys with a recent GnuTLS.
- Keyboard layouts support in the Wayland driver.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/9.0/wine-9.0-rc1.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 9.0-rc1 (total 42):
- #13340 DICOM Viewer (eFilm Workstation 2.x/3.x) aborts because IMultiLanguage2_GetCharsetInfo doesn't like "ISO8859-1"
- #34537 Athena's Charm Table search 0.35b wants msvcm90.dll.?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVString@System@@P$AAVException@3@@Z
- #47699 Multiple applications need support for ECDH key generation via bcrypt (For Honor, STEEP, Far Cry 5)
- #48972 Bugs found by static analyzers
- #49527 Printing with font Chilanka crashes Notepad and Word
- #49543 Several games require bcrypt DH support
- #53175 Roon fails to start
- #54037 user32:msg - test_SendMessage_other_thread() sometimes gets a todo success (GitLab CI)
- #54731 vbscript: stack_pop_bool doesn't support floats or ole color
- #54999 Process Explorer from Sysinternals shows a blank window
- #55045 NFS Most Wanted has missing graphics with WineD3D in WoW64 mode
- #55052 vbscript: For loop where right bound is string coercion issue
- #55054 WineServer crash. (complete_async_poll: Assertion `output->count == signaled_count' failed)
- #55065 user32:monitor - check_preferred_mode() fails on the TestBot's debiant VM
- #55075 Araxis Merge 2023.5877 needs api-ms-win-core-com-l2-1-1.dll
- #55115 widl crashes with dlls/sti after adding wia_lh.idl
- #55185 vbscript round does not handle numdecimalplaces argument
- #55210 Hatching printed with wrong stripes direction in Framemaker 8
- #55502 vbscript: Sub argument name clash with global const
- #55536 Aldec Active-HDL student edition: crashes when trying to open a file on unimplemented function SHELL32.dll.SHSetTemporaryPropertyForItem
- #55591 Castlevania: Lords of Shadow 2 has rendering glitches
- #55671 Internet Download Manager needs unimplemented function shcore.dll.RegisterScaleChangeEvent
- #55807 uiautomationcore:uiautomation - test_uia_com_event_handler_event_advisement() fails on Windows 10 1709
- #55812 Air Jura crashes
- #55843 Virtual Desktop spams "Failed to read display config."
- #55851 SpeedCommander needs shell32.SHCreateItemWithParent()
- #55852 can't print, even from notepad to pdf
- #55867 Roon 2.0.23 crashes due to unimplemented function shcore.dll.CreateRandomAccessStreamOverStream
- #55890 Eurobattle installer fails to run
- #55892 .NET 8 Windows Forms crashes due to missing DPI functions in user32
- #55899 Daily Chthonicle - performance regression
- #55920 ModOrganizer crashes: Call to unimplemented function USER32.dll.SetDisplayAutoRotationPreferences
- #55927 RestoreDC appears to fail with printers
- #55931 VarMod(Empty, N) returns uninitialized result
- #55935 wine-8.21 build fails in Ubuntu x86_64
- #55950 An attempt to print from 'wine iexplore' leads to a crash
- #55959 _mbsicoll generates exceptions, in Simplified Chinese language linux systems
- #55963 Acid-V VST plugin crashes when removed from a track
- #55966 Crimson Skies freeze in menu
- #55968 MIDITrail 1.4.0 shows an error on start (DWMWA_EXTENDED_FRAME_BOUNDS isn't implemented)
- #55969 vbscript fails to return TypeName for Nothing
- #55973 Printing from iexplore results the images being printed as black rectangles
----------------------------------------------------------------
Changes since 8.21:
Aida Jonikienė (3):
wined3d: Add extra debug info to shader_set_limits().
comctl32: Only print TREEVIEW_HandleTimer() ERR once.
dsdmo: Only print effect_inplace_Process() FIXME once.
Akihiro Sagawa (1):
dwmapi: Implement DwmGetWindowAttribute(DWMWA_EXTENDED_FRAME_BOUNDS).
Alex Henrie (16):
comdlg32/tests: Use CRT allocation functions.
d3dx9_36/tests: Use CRT allocation functions.
cabarc: Use CRT allocation functions.
uxtheme: Annotate UXINI_LoadINI with __WINE_DEALLOC.
uxtheme: Use CRT allocation functions.
d3drm: Suppress a use-after-free warning in d3drm_image_palettise (GCC).
uxtheme/tests: Add some tests for OpenThemeFile.
gdiplus: Use CRT allocation functions.
d3dx9: Use CRT allocation functions.
ole32/tests: Free what get_stgdef returns in test_OleCreateStaticFromData.
ole32/tests: Use CRT allocation functions.
mscoree: Use CRT allocation functions.
mscoree: Annotate WtoA with __WINE_(DEALLOC|MALLOC).
user32: Correct capitalization of SetDeskWallpaper.
user.exe: Rename SetDeskWallPaper to SetDeskWallpaper.
explorer: Add an "Exit desktop" button to the Start menu.
Alexandre Julliard (61):
ntdll: Store the syscall table in the TEB on x86-64.
ntdll: Store the syscall table in the TEB on ARM64.
ntdll: Still use LdrGetProcedureAddress for CtrlRoutine.
winealsa.drv: Remove DECLSPEC_HIDDEN usage.
winecoreaudio.drv: Remove DECLSPEC_HIDDEN usage.
wineoss.drv: Remove DECLSPEC_HIDDEN usage.
gphoto2.ds: Remove DECLSPEC_HIDDEN usage.
sane.ds: Remove DECLSPEC_HIDDEN usage.
dwrite: Remove DECLSPEC_HIDDEN usage.
mscoree: Remove DECLSPEC_HIDDEN usage.
opencl: Remove DECLSPEC_HIDDEN usage.
wined3d: Remove DECLSPEC_HIDDEN usage.
winegstreamer: Remove DECLSPEC_HIDDEN usage.
wineboot: Remove a noisy FIXME.
wineandroid.drv: Remove DECLSPEC_HIDDEN usage.
winemac.drv: Remove DECLSPEC_HIDDEN usage.
winewayland.drv: Remove DECLSPEC_HIDDEN usage.
winex11.drv: Remove DECLSPEC_HIDDEN usage.
include: Remove DECLSPEC_HIDDEN definition.
include: Make strict prototypes the default.
ntdll: Call Wow64PrepareForException directly from KiUserExceptionDispatcher.
ntdll: Allow unwind rules to override the default stack pointer assignment.
ntdll/tests: Simplify the KiUserExceptionDispatcher tests a little.
ntdll: Add a machine frame to the KiUserExceptionDispatcher stack on x86-64.
ntdll: Add a machine frame to the KiUserApcDispatcher stack on x86-64.
ntdll: Add a machine frame to the KiUserCallbackDispatcher stack on x86-64.
ntdll: Fix stack layout and unwind information for KiUserExceptionDispatcher on ARM64.
ntdll: Fix stack layout and unwind information for KiUserApcDispatcher on ARM64.
ntdll: Fix stack layout and unwind information for KiUserCallbackDispatcher on ARM64.
ntdll: Skip NtRaiseException() call on ARM64 when debugger is not present.
ntdll: Fix stack layout for KiUserExceptionDispatcher on i386.
ntdll: Fix stack layout for KiUserApcDispatcher on i386.
ntdll: Fix stack layout for KiUserCallbackDispatcher on i386.
ntdll/tests: Remove some noisy traces.
ntdll/tests: Fix some compiler warnings on ARM.
ntdll: Implement context and machine frame unwind operations on ARM.
ntdll: Fix stack layout for KiUserExceptionDispatcher on ARM.
ntdll: Fix stack layout for KiUserApcDispatcher on ARM.
ntdll: Fix stack layout for KiUserCallbackDispatcher on ARM.
ntdll: Skip NtRaiseException() call on ARM when debugger is not present.
winedump: Add dumping of UWOP_EPILOG entries.
winedump: Add a couple of ARM unwind codes.
faudio: Import upstream release 23.12.
configure: Require SEH support for PE builds.
ntdll: Fix breakpoint exceptions on ARM.
ntdll: Use .seh handler in RtlUserThreadStart on ARM.
winedump: Also dump ARM64 exception information for ARM64EC binaries.
ntdll: Add a helper to build a path and exec it.
ntdll: Use posix_spawn() to start the server.
ntdll: Export KeAddSystemServiceTable() instead of the KeServiceDescriptorTable variable.
vkd3d: Import upstream release 1.10.
winex11: Use UINT instead of BOOL to avoid warnings for one-bit variables.
ntdll: Implement KiUserCallbackDispatcher for ARM64EC.
ntdll: Implement KiUserApcDispatcher for ARM64EC.
kernelbase: Implement DebugBreak() for ARM64EC.
kernelbase: Implement SwitchToFiber on ARM64EC.
msvcrt: Add a stub ARM64EC CPU backend.
configure: Disable building programs for ARM64EC.
windowscodecs: Don't free memory at process exit.
winepulse.drv: Don't free memory at process exit.
ntdll: Only free reserved memory for HIGH_ENTROPY_VA binaries.
Alexandros Frantzis (12):
winewayland.drv: Implement vkQueuePresentKHR.
winewayland.drv: Detect and report vkQueuePresentKHR errors.
winewayland.drv: Ensure Vulkan parent surface is mapped with proper size.
winewayland.drv: Apply client subsurface position on creation.
winewayland.drv: Implement vkGetDeviceGroupSurfacePresentModesKHR.
winewayland.drv: Implement vkGetPhysicalDevicePresentRectanglesKHR.
winewayland.drv: Handle window foreground state on keyboard focus.
winewayland.drv: Remove duplicate handling of wp_viewporter global.
winewayland.drv: Implement ClipCursor.
winewayland.drv: Implement relative mouse motion.
winewayland.drv: Lock the pointer if confined without cursor.
winewayland.drv: Apply surface configuration during Vulkan presentation.
Alfred Agrell (11):
quartz/tests: Improve VMR9 ChangeD3DDevice test.
winegstreamer: Add codec_data to WMVs.
winegstreamer: Fill in a few more pieces of WMV format handling.
winegstreamer: Move file size to struct wm_reader.
winegstreamer: Introduce mutex for wm_reader read_thread_shutdown.
winegstreamer: Leave pts/duration unchanged if they're not set.
winegstreamer: Implement compressed output support in WMSyncReader.
wmvcore/tests: Add tests for compressed output.
winegstreamer: Don't use VIDEOINFO for non-RGB data.
winegstreamer: Fix a memory leak in stream_props_GetMediaType.
winegstreamer: Delete duplicate WMT_ON check.
Anton Baskanov (7):
winegstreamer: Wake all streaming threads after seeking.
amstream/tests: Test IEnumPins with two streams.
amstream: Use correct index in MediaStreamFilter's IEnumPins::Next().
amstream/tests: Add quality control tests.
amstream: Send quality control messages from AMDirectDrawStream::Receive.
quartz/tests: Add quality control tests for CMpegVideoCodec.
winegstreamer: Handle quality control messages in CMpegVideoCodec.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Bartosz Kosiorek (2):
gdiplus/graphicspath: Avoid computation overflow and underflow by using hypotf.
gdiplus/font: Avoid computation overflow and underflow by using hypotf.
Bernhard Übelacker (1):
mlang: Allow encoding name "ISO8859-1".
Billy Laws (1):
kernel32: Export RtlIsEcCode().
Biswapriyo Nath (1):
include: Update d3d12sdklayers.idl from vkd3d.
Brendan McGrath (11):
d2d1: Add test for multithreaded draw.
d2d1: Add test for singlethreaded draw.
d2d1: Acquire lock before attempt to draw to device context.
user32/tests: Add tests for word breaks before punctuation.
user32: Wrap at whitespace rather than soft break.
comctl32/tests: Add test for setitemsize return value.
comctl32: Fix TAB_SetItemSize.
comctl32: Use selected font to determine default min tab width.
comctl32/tests: Fix tabcontrol tests to work with different fonts.
comctl32/tests: Check size initially and after changing padding only.
comctl32/tests: Modify test_width to try different fonts.
Brendan Shanks (3):
ntdll: Fix macOS build error with LLVM 17.
winemac: Use RTL_CONSTANT_STRING.
winecoreaudio: Use UID as device string.
Daniel Lehman (5):
msxml3: Handle null prefix in get_item.
msxml3: Handle default namespace in get_baseName.
msxml3: Handle default namespace in get_nodeName.
msxml3: Handle default namespace in get_prefix.
msxml3: Handle default namespace in get_namespaceURI.
Eric Pouech (16):
dmime: Add Release() on some codepaths.
msiexec: No longer use console/file output APIs.
winecfg: Output with MESSAGE.
uninstall: No longer use console/file output APIs.
ntdll: Return NULL in RtlFindExportedRoutine for forwarded entries.
kernel32/tests: Introduce a new infrastructure for testing CreateProcess().
kernel32/tests: Enable CreateProcess() tests on 64bit compilation.
kernel32/tests: Add more tests about CreateProcess.
ntdll: Restrict cases for std handle inheritance in CreateProcess().
kernelbase: Reset std handles gotten from GetStartupInfo().
kernel32/tests: Identify untouched fields returned from GetStartupInfo.
kernel32/tests: Add tests for GetStartupInfo(A|W).
kernelbase: No longer cache GetStartupInfoW() results.
kernelbase: GetStartupInfoW: set std handle only when USESTDHANDLES is set.
ntdll: Don't inherit std console handles for non CUI child process.
ntdll: Don't create Unix console for GUI apps.
Esme Povirk (2):
user32/tests: Add a simpler test for SetParent's internal message.
user32/tests: Remove test_SendMessage_other_thread(2).
Etaash Mathamsetty (1):
cfgmgr32: Add CM_Register_Notification stub.
Fabian Maurer (19):
user32: Add stub for GetThreadDpiHostingBehavior.
user32: Fix spec entry for SetThreadDpiHostingBehavior.
widl: Prevent infinite loop when structure contains array of itself.
widl: In type_has_full_pointer recurse for pointer types as well.
server: Initialize pe image struct padding to avoid Valgrind warning.
coml2: Add dll and move code from ole32/memlockbytes.c.
coml2: Move GetConvertStg from ole32.
coml2: Move ReadClassStm from ole32.
coml2: Move ReadClassStg from ole32.
coml2: Move WriteClassStm from ole32.
coml2: Move WriteClassStg from ole32.
server: Check socket flags after all sockets got processed.
apisetschema: Add api-ms-win-core-com-l2-1-1.
coml2: Move StgIsStorageILockBytes from ole32.
coml2: Move StgIsStorageFile from ole32.
coml2: Move FmtIdToPropStgName from ole32.
coml2: Move PropStgNameToFmtId from ole32.
coml2: Move StgCreatePropSetStg from ole32.
net: Accept yes/no switches.
Gabriel Ivăncescu (21):
mshtml/tests: Improve the iframe navigation test.
mshtml: Remove the inner window ref from the doc only when it is actually unlinked.
mshtml: Don't rely on the outer_window in document.mimeType.
mshtml: Don't attempt to send storage events after outer window is detached.
mshtml: Don't check for NULL outer_window from within HTMLWindow* methods.
mshtml/tests: Fix XHR leak in test_window_refs.
mshtml: Use inner window's outer_window in IHTMLDocument2::readyState.
mshtml: Return failure in IHTMLDocument2::frames for detached documents.
mshtml: Return failure in IHTMLDocument2::domain for detached documents.
mshtml: Return failure in IHTMLDocument2::cookie for detached documents.
mshtml: Return failure in IHTMLDocument2::open() for detached documents.
mshtml: Return failure in IHTMLDocument2::documentElement for detached documents.
mshtml: Return failure when setting IHTMLDocument2::location for detached documents.
mshtml: Skip navigation handling on anchor/area elements for detached documents.
mshtml: Use inner window's outer_window when checking if it's interactive for edit mode.
mshtml: Get rid of outer_window member in HTMLDocumentNode.
mshtml: Expose the other IHTMLEventObj* interfaces.
mshtml: Don't expose "restricted" members.
mshtml: Send proper legacy storage event with actual url.
mshtml: Implement `url` prop for StorageEvent objs.
mshtml/tests: Fix VariantClear on uninitialized variable.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.272.
Hans Leidekker (7):
bcrypt: Implement BCryptSecretAgreement() and BCryptDestroySecret().
bcrypt: Implement BCryptDeriveKey().
bcrypt: Add support for generating DH keys.
bcrypt: Add support for exporting DH keys.
bcrypt: Add support for importing DH keys.
bcrypt: Add support for duplicating DH keys.
bcrypt/tests: Add DH tests.
Haoyang Chen (2):
rpcrt4: Support for explicit handle passing.
rpcrt4/tests: Test explicit_handle.
Henri Verbeet (2):
dxgi/tests: Release the swapchain after waiting for the window thread to finish in test_resize_target_wndproc().
dxgi: Avoid redundantly setting the present info wait semaphore fields in d3d12_swapchain_queue_present().
Jacek Caban (11):
configure: Fix action-if-no handling in WINE_TRY_PE_CFLAGS macro.
configure: Use --no-default-config option on clang when available.
winegcc: Support --no-default-config argument.
configure: Don't use empty expression in clang check.
gitlab: Add clang build.
mshtml/tests: Add detached documents handling tests.
mshtml: Return failure in IHTMLDocument2::get_URL for detached documents.
mshtml: Return failure in IHTMLDocument2::put_URL for detached documents.
win32u: Provide extra space in buffers used to dispatch string getter messages.
user32: Remove unused argument for unpack_message.
ntdll: Remove unused valgrind_make_readable function.
Jactry Zeng (3):
ntdll: Use different variable names for Mac locales.
ntdll: Initialize locale from Mac language identifiers with script name.
ntdll: Try harder to fallback to neutral locales.
Jon Doron (1):
win32u: Add registry data for GPU memory size.
Louis Lenders (3):
shell32: Add stub for SHCreateItemWithParent.
shell32: Add stub for SHSetTemporaryPropertyForItem.
shcore: Add stub for CreateRandomAccessStreamOverStream.
Marc-Aurel Zent (1):
server: Add cross-platform get_path_from_fd function.
Matteo Bruni (6):
tools: Print the correct option in error messages.
d3dx9: Check for successful sprite draw in DrawTextW().
wined3d: Do a blocking wait for CS commands even when there are active queries.
wined3d: Increase WINED3D_CS_QUERY_POLL_INTERVAL to 100.
wined3d: Add a frametime debug channel.
wined3d: Add a bunch of d3d_perf traces.
Myah Caron (1):
user32: Add SetDisplayAutoRotationPreferences stub.
Nikolay Sivov (21):
oleaut32: Fully initialize VarMod() return value for Empty % x case.
oleaut32: Always reset return type for VarMod().
d3dx9/tests: Fix a crash when d3d9 object can't be created.
gdi32/emf: Add a helper to pad variable length record data.
gdi32/emf: Use padding helper in GdiComment().
gdi32/emf: Check for allocation failure in GdiComment().
gdi32/emf: Add description field padding.
gdi32/emf: Align and pad bitmap data in EMRSTRETCHDIBITS records.
gdi32/emf: Align and pad bitmap data in EMRSETDIBITSTODEVICE records.
gdi32/emf: Use public definition for EMREXTESCAPE record.
wineps: Use public definition for EMREXTESCAPE record.
gdi32/emf: Pad EMREXTESCAPE record data.
vbscript: Implement TypeName(Nothing).
vbscript: Coerce to VT_BOOL when evaluating jump conditions.
oleaut32/tests: Remove some of the function availability checks.
oleaut32/tests: Use wide string literals in some tests.
oleaut32/tests: Use existing helpers to trace variant values.
oleaut32/tests: Do not use VarCmp() to check results of other functions.
include: Add missing enum to wdm.h.
ntdll: Use public type for SystemSupportedProcessorArchitectures returned data.
kernel32: Implement GetProcessInformation(ProcessMachineTypeInfo).
Paul Gofman (3):
ntdll: Implement NtQueryInformationThread(ThreadIsTerminated).
setupapi: Add stubs for SetupDiGetCustomDeviceProperty{A|W}().
winhttp: Handle chunked requests.
Piotr Caban (14):
winedump: Fix EMR_EXTTEXTOUTW record dumping when ETO_PDY flag is specified.
msvcrt: Fix string size passed to CompareString in _mbsnbcoll_l.
wineps.drv: Return error when visible rectangle is empty in get_vis_rectangles.
wineps.drv: Fix EMR_SAVEDC record playback.
msvcrt: Initialize writable environment block in env_set.
gdi32: Add ETO_PDY flag support in EMFDC_ExtTextOut.
wineps.drv: Fix printing images from iexplore.
wineps.drv: Add paper source selection support in printer properties.
msvcrt: Accept <> characters in string literals in demangler.
msvcrt: Add partial support for managed handle demangling.
wineps: Don't write image content upside-down in PSDRV_WriteDIBPatternDict.
wineps: Fix handling of patterns that are not 8x8 in PSDRV_WriteDIBPatternDict.
wineps: Fix color handling in PSDRV_WriteDIBPatternDict.
winedump: Sync demangling code with msvcrt.
Robert Wilhelm (4):
oleaut32: Fix VarR8Round for negative numbers.
vbscript: Sub argument has precedence over global const and local dim.
vbscript: Handle numdecimalplaces argument in Round().
vbscript: For for loop bounds coerce string to real.
Rémi Bernon (52):
gitlab: Add windows tests to MR pipeline.
gitlab: Only run the modifieds tests on Windows for an MR.
win32u: Initialize sysparams before winstation.
win32u: Remove unnecessary config_key lazy initializations.
explorer: Remove unnecessary displayed icon array.
explorer: Split systray add/remove from show/hide_icon.
explorer: Create individual windows for the systray icons.
explorer: Display the individual systray icon windows.
explorer: Use the icon windows for their tooltips.
explorer: Position the balloons relative to the icon windows.
explorer: Handle balloon timer in the icons window proc.
explorer: Use an explicit display constant for hidden icons.
explorer: Support standalone systray window mode.
explorer: Cache the balloon window position.
wineboot: Compute and write the TSC frequency to registry ~Mhz.
dinput/tests: Use exotic axes ordering for winmm tests.
winevulkan: Use a local instance variable instead of phys_dev->instance.
winevulkan: Search for debug report callback from the start of the chain.
winevulkan: Drop the WINEVULKAN_QUIRK_IGNORE_EXPLICIT_LAYERS quirk.
winevulkan: Fix python linter warnings.
winewayland.drv: Handle and parse Xkb keymap events.
winewayland.drv: Enumerate Xkb layouts and create matching HKL.
win32u: Introduce KbdLayerDescriptor user driver entry.
win32u: Avoid accessing NULL key name string pointer.
win32u: Force US layout in ToUnicode when CTRL is pressed.
win32u: Allow KBDTABLES conversion from CTRL + ALT to WCHAR.
winewayland.drv: Translate Xkb keyboard layouts to KBDTABLES.
winewayland.drv: Add scan2vk tables for azerty, qwertz and dvorak.
win32u: Support SGCAPS attributes in KBDTABLES.
winewayland.drv: Implement CAPLOK and SGCAPS in KBDTABLES.
explorer: Always set the systray icon tooltip text.
explorer: Hide the standalone systray window on close.
win32u: Introduce a new NtUserSystemTrayCall message call.
winemac: Use the new NotifyIcon user driver interface.
win32u: Introduce new SystrayDock driver entry points.
explorer: Use layered windows for the docked systray icons.
winex11: Use the new SystrayDock driver interface.
explorer: Remove now unnecessary wine_notify_icon support.
winevulkan: Use "host" more consistently instead of "native".
winex11: Use "host" instead of "native" in vulkan wrappers.
winemac: Use "host" instead of "native" in vulkan wrappers.
winewayland: Use "host" intead of "native" in vulkan wrappers.
winevulkan: Omit defaults in make_vulkan FUNCTION_OVERRIDES.
winevulkan: Remove unnecessary dispatch from make_vulkan.
ntdll: Set main_(argc|argv|envp) as early as possible.
winevulkan: Replace "loader_thunk" with dedicated dictionaries.
winevulkan: Use a dictionary in make_vulkan for manual unix thunks.
winevulkan: Use a dictionary for user driver entry points.
winevulkan: Remove redundant make_vulkan needs_unwrapping method.
winevulkan: Introduce a new convert_suffix make_vulkan helper.
winevulkan: Use an enumeration for make_vulkan unwrapping kinds.
winevulkan: Unwrap to driver or host depending on the function.
Torge Matthies (3):
winex11.drv: Set PFD_SUPPORT_COMPOSITION for hardware-accelerated pixel formats.
winemac.drv: Set PFD_SUPPORT_COMPOSITION for hardware-accelerated pixel formats.
wineandroid.drv: Set PFD_SUPPORT_COMPOSITION for hardware-accelerated pixel formats.
Vijay Kiran Kamuju (6):
gdiplus: Add GdipDrawImageFX stub.
dsdmo: Add Distortion effect stub.
dsdmo: Add Gargle effect stub.
msvcm80: Add stub for ThrowModuleLoadException(String) function.
msvcm80: Add stub for ThrowModuleLoadException(String, Exception) function.
msvcm80: Add stub for ThrowNestedLoadModuleException function.
Yuxuan Shui (1):
dsound: Set position past the end of the buffer is invalid.
Zebediah Figura (33):
ntdll: Check for some more IP socket options at compile time.
ws2_32: Check for AI_ALL at compile time.
ntdll: Print a warning when LdrGetProcedureAddress() fails.
winmm: Reimplement joystick axis mapping.
ntdll: Allow specifying per-process channels.
winegstreamer: Allow videoconvert to parallelize in the parser.
wined3d: Explicitly bind 0 for a NULL SRV.
wined3d: Release the view's resource after destroying the view.
wined3d: Introduce an API for creating an identity SRV on a texture.
d3d9: Use wined3d_texture_acquire_identity_srv().
wined3d: Set d3d 1-9 textures in the state as SRVs.
wined3d: Remove an outdated comment.
wined3d: Use context->stream_info.position_transformed instead of context->last_was_rhw in state handlers.
wined3d: Check WINED3D_TEXTURE_POW2_MAT_IDENT instead of context->lastWasPow2Texture.
wined3d: Retrieve the FFP projection control flag from the d3d info in get_texture_matrix().
wined3d: Fix masking out the texcoord index in get_texture_matrix().
d3d9/tests: Add another test for drawing from a mapped buffer.
d3d9: Upload mapped dynamic vertex and index buffers before every draw.
d3d10core/tests: Mark a test as no longer todo.
d3d11core/tests: Mark a test as no longer todo.
quartz: Return the rect from get_default_rect() through a pointer.
quartz: Do not forward IVMRFilterConfig::SetRenderingMode() to IVMRFilterConfig9.
quartz: Improve the IVMRFilterConfig::SetNumberOfStreams() stub.
quartz: Do not forward IVMRWindowlessControl::SetVideoClippingWindow() to IVMRWindowlessControl9.
quartz: Split the VMR into two separate filters.
quartz: Specify the mode as a VMRMode.
configure: Use -mpreferred-stack-boundary=2 on i386.
quartz: Stub CLSID_AllocPresenter.
quartz: Stub IVMRSurfaceAllocator on the VMR7 presenter.
quartz: Stub IVMRWindowlessControl on the VMR7 presenter.
quartz: Implement sample allocation in the VMR7 presenter.
wined3d: Use thread-ID alerts instead of events, if available, to wait for CS packets.
wined3d: Sleep when waiting for the CS thread.
Zhiyi Zhang (16):
dplayx: Fix a memory leak (Coverity).
oledb32: Fix a memory leak (Coverity).
ntdll: Fix an out-of-bounds write (Coverity).
ntdll: Fix a memory leak (Coverity).
wined3d: Fix a use after free (Coverity).
ntdll: Fix an out-of-bounds read (Coverity).
wbemprox: Fix a memory leak (Coverity).
win32u: Find the correct DIB driver in windrv_CreateDC().
mciwave: Use matching memory allocator (Coverity).
tasklist: Fix a possible buffer overrun (Coverity).
wininet: Fix a use-after-free (Coverity).
shell32: Fix a memory leak (Coverity).
ntdll: Fix a memory leak (Coverity).
gdiplus: Fix a memory leak (Coverity).
winegstreamer: Fix a memory leak (Coverity).
winegstreamer: Fix wg_transform_get_status() result check (Coverity).
Ziqing Hui (4):
winegstreamer: Avoid media sink command leaking.
winestreamer: Implement {Begin,End}Finalize for media sink.
winegstreamer: Implement wg_muxer_finalize.
winegstreamer: Set streamheader field for h264 caps.
The Wine team is proud to announce that release 1.10 of vkd3d, the Direct3D to
Vulkan translation library, is now available.
This release contains improvements that are listed in the release notes below.
The main highlights are:
- libvkd3d exposes various newer Direct3D 12 interfaces.
- The HLSL compiler supports dynamic indexing of arrays.
- libvkd3d-utils implements various helper functions for manipulating DXBC
blobs.
- Miscellaneous bug fixes.
The source is available from the following location:
<https://dl.winehq.org/vkd3d/source/vkd3d-1.10.tar.xz>
The current source can also be pulled directly from the git repository:
<https://gitlab.winehq.org/wine/vkd3d.git>
Vkd3d is available thanks to the work of multiple people. See the file AUTHORS
for the complete list.
# What's new in vkd3d 1.10
### libvkd3d
- Creating pipeline state objects from pipeline state stream descriptions is
implemented.
- Depth-bounds testing is implemented.
- When the VK\_KHR\_maintenance2 extension is available, libvkd3d will
explicitly specify the usage flags of Vulkan image views. This is
particularly useful on MoltenVK, where 2D-array views of 3D textures are
subject to usage restrictions.
- The D3D12\_FORMAT\_SUPPORT2\_UAV\_TYPED\_LOAD and/or
D3D12\_FORMAT\_SUPPORT2\_UAV\_TYPED\_STORE feature flags are reported for
UAV formats when the ‘shaderStorageImageReadWithoutFormat’ and/or
‘shaderStorageImageWriteWithoutFormat’ Vulkan device features are
supported.
- The ID3D12Device5 interface is supported.
- The ID3D12GraphicsCommandList5 interface is supported.
- The ID3D12Resource1 interface is supported.
### libvkd3d-shader
- New features for the HLSL source type:
- Support for the following intrinsic functions:
- ceil()
- degrees() and radians()
- fwidth()
- tan()
- tex2Dlod(), tex2Dproj(), texCUBEproj(), and tex3Dproj()
- Constant folding support for more expression types. In particular:
- ternary operators and branches
- reciprocal square roots
- exponentials
- logical ‘not’ on booleans
- bitwise complements
- left/right shifts
- ceil(), floor(), frac(), and saturate()
- Support for dynamic indexing of arrays.
- Support for ‘break’ and ‘continue’ statements.
- Support for ‘switch’ statements.
- The ‘linear’, ‘centroid’, and ‘noperspective’ interpolation modifiers
are supported.
- The ‘RWTexture1DArray’ and ‘RWTexture2DArray’ unordered access view
types are supported.
- ‘\[loop\]’ attributes are accepted on loops.
- u/U and l/L suffixes on integer constants.
- Floating-point values are explicitly clamped to the upper and lower bounds
of the target type by ‘ftoi’ and ‘ftou’ instructions when targeting
SPIR-V. Similarly, NaNs are flushed to zero. Some hardware/drivers would
already do this implicitly, but behaviour for such inputs is undefined as
far as SPIR-V is concerned.
- The VKD3D\_SHADER\_CONFIG environment variable can be used to modify the
behaviour of libvkd3d-shader at run-time, analogous to the existing
VKD3D\_CONFIG environment variable for libvkd3d. See the README for a list
of supported options.
- When scanning legacy Direct3D bytecode using vkd3d\_shader\_scan(),
descriptor information for shader model 2 and 3 combined resource-sampler
pairs is returned in the vkd3d\_shader\_scan\_descriptor\_info structure.
Note that this information is not yet available for shader model 1
sources, although this will likely be added in a future release.
- The Direct3D shader assembly target supports the ‘rasteriser ordered view’
flag (‘\_rov’) on unordered access view declarations.
- New interfaces:
- The VKD3D\_SHADER\_COMPILE\_OPTION\_BACKWARD\_COMPATIBILITY compile
option can be used to specify backward compatibility options. The
VKD3D\_SHADER\_COMPILE\_OPTION\_BACKCOMPAT\_MAP\_SEMANTIC\_NAMES flag is
the only currently supported flag, and can be used to specify that
shader model 1-3 semantic names should be mapped to their shader model
4+ system value equivalents when compiling HLSL sources.
- The VKD3D\_SHADER\_COMPILE\_OPTION\_FRAGMENT\_COORDINATE\_ORIGIN compile
option can be used to specify the origin of fragment coordinates for
SPIR-V targets. This is especially useful in OpenGL environments, where
the origin may be different than in Direct3D or Vulkan environments.
- The vkd3d\_shader\_scan\_combined\_resource\_sampler\_info structure
extends the vkd3d\_shader\_compile\_info structure, and can be used to
retrieve information about the combined resource-sampler pairs used by a
shader. This is especially useful when compiling shaders for usage in
environments without separate binding points for samplers and resources,
like OpenGL.
- vkd3d\_shader\_free\_scan\_combined\_resource\_sampler\_info() is used
to free vkd3d\_shader\_scan\_combined\_resource\_sampler\_info
structures.
### libvkd3d-utils
- Passing the D3DCOMPILE\_ENABLE\_BACKWARDS\_COMPATIBILITY flag to
D3DCompile() and D3DCompile2() will enable mapping shader model 1-3
semantic names to their shader model 4+ system value equivalents.
- New interfaces:
- D3DGetBlobPart() is used to retrieve specific parts of DXBC blobs.
- D3DGetDebugInfo() is used to retrieve debug information from DXBC blobs.
- D3DGetInputAndOutputSignatureBlob() is used to retrieve input and output
signatures from DXBC blobs.
- D3DGetInputSignatureBlob() is used to retrieve input signatures from
DXBC blobs.
- D3DGetOutputSignatureBlob() is used to retrieve output signatures from
DXBC blobs.
- D3DStripShader() is used to remove specific parts from DXBC blobs.
### vkd3d-compiler
- The ‘--fragment-coordinate-origin’ option can be used to specify the
origin of fragment coordinates for SPIR-V targets.
- The ‘--semantic-compat-map’ option can be used to specify that shader
model 1-3 semantic names should be mapped to their shader model 4+ system
value equivalents when compiling HLSL sources.
### vkd3d-dxbc
- The ‘--list’ and ‘--list-data’ options now also output the offsets of
sections inside the input data.
### build
- The minimum required version of Vulkan-Headers for this release is version
1.2.148.
- When available, the libEGL and libOpenGL libraries are used to run the
vkd3d tests in additional configurations. These libraries are not used by
vkd3d itself.
- The SONAME\_LIBDXCOMPILER configure variable can be used specify the
shared object name of the dxcompiler library. When available, it's used to
run the vkd3d tests in additional configurations. The dxcompiler library
is not used by vkd3d itself.
The Wine development release 8.21 is now available.
What's new in this release:
- High-DPI scaling and initial Vulkan support in the Wayland driver.
- Beginnings of support for ARM64EC target.
- Updates to the locale database.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.21.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.21 (total 29):
- #9127 Multiple applications require system stream support in the MPEG-I splitter (Drome Racers, Ninki Seiyuu no Tsukukurikata)
- #22596 PhotoScape unable to change/save files
- #34197 RootMagic 6 error on launch (Invalid operation GDI+ (Code 1))
- #36739 PreSonus Studio One 2.6 user interface/controls text is invisible
- #47609 Multiple apps crash on unimplemented function msvcp140.dll.??0?$codecvt@_UDU_Mbstatet@@@std@@QEAA@_K@Z (Godhood, WechatOCR)
- #52963 d3d10core:d3d10core & d3d11:d3d11 - test_resinfo_instruction() fails on Debian 11 + Intel GPU
- #53287 MxManagementCenter crashes on unimplemented function msvcp140.dll.??0?$codecvt@_SDU_Mbstatet@@@std@@QEAA@_K@Z when adding a camera
- #54554 kernel32:file & ntdll:file get unexpected count values on Windows 11
- #54839 3DMark 2000: missing benchmark information
- #54962 GDI+ text rendering does not handle carriage returns
- #55058 dbghelp:dbghelp - SymRefreshModuleList() sometimes returns 0 in 64-bit Wine
- #55165 Age of Empires II Definitive Edition quits on startup, due to WinVerifyTrust() failing on game binaries.
- #55215 user32:text - test_DrawTextCalcRect() crashes on Windows
- #55403 Office 2021 needs Windows.Management.Deployment.PackageManager
- #55437 Death Stranding: "Start" and "Back" buttons are reversed
- #55504 .NET 7 not working
- #55640 ModOrganizer 2.5.0 beta 5+ (Qt 6.5) requires a better uisettings3::GetColorValue implementation
- #55660 HID with more than 8 axis overwrites inputs after it
- #55709 Flutter apps that use the local_auth package need Windows.Security.Credentials.UI.UserConsentVerifier
- #55770 Port Royale 2: flickering in the menus and during gameplay
- #55788 Wayland driver: GNOME: no cursor over Wine windows when 2 monitors connected
- #55795 .NET 8 SDK Installer does not finish setup
- #55847 SetThreadDpiHostingBehavior not implemented
- #55886 No more audio (FreeBSD and OSS) since Wine 8.15
- #55888 Quicken stopped working after upgrading to wine 8.20
- #55898 WinSCP crashes with wine-8.20
- #55909 wine does not start with free(): invalid pointer when compiling without xrandr
- #55918 printf() can overrun the "p10s" buffer with certain values when using 24-bit precision
- #55929 wined3d: wined3d_state_get_ffp_texture() breaks DragonAge Origins
----------------------------------------------------------------
Changes since 8.20:
Alex Henrie (9):
user32/tests: Allocate clipboard data with HeapAlloc.
gdi32/tests: Free what GdiConvertToDevmodeW returns with HeapFree.
winmm/tests: Use calloc instead of HeapAlloc.
sapi: Use CRT allocation functions.
ntoskrnl/tests: Put test_input on the stack in the main_test function.
d3dcompiler_43/tests: Use CRT allocation functions.
d3dcompiler_43: Use CRT allocation functions.
comctl32/tests: Use CRT allocation functions.
d3d8: Allocate what Validate(Vertex|Pixel)Shader return with HeapAlloc.
Alexandre Julliard (72):
winebuild: Add a helper to build an ARM64EC function name.
winebuild: Include x86-64 entry points in ARM64EC builds.
makefiles: Avoid generating the .tab.c file twice with bison.
makefiles: Remove support for obsolete source variables.
winecrt0: Implement setjmp/longjmp for ARM64EC.
ntdll: Add a stub ARM64EC CPU backend.
ntdll: Don't use x86-64 assembly on ARM64EC.
ntdll: Export __chkstk_arm64ec().
makefiles: Use --defines instead of --header for compatibility with older bison.
ntdll: Set function pointers in the ARM64EC metadata on dll load.
ntdll: Implement __os_arm64x_check_call().
ntdll: Implement __os_arm64x_get/set_x64_information().
ntdll: Redirect PE function pointers through the ARM64EC redirection map.
ntdll: Remove DECLSPEC_HIDDEN usage.
make_specfiles: Generate a list of syscalls from the corresponding spec files.
ntdll: Use the generated syscall list.
win32u: Use the generated syscall list.
wow64: Use the generated syscall list.
wow64win: Use the generated syscall list.
wow64: Remove DECLSPEC_HIDDEN usage.
wow64cpu: Remove DECLSPEC_HIDDEN usage.
ntdll: Build the syscall argument array from the generated syscall list.
win32u: Set the syscall dispatcher on the PE side.
win32u: Build the syscall argument array from the generated syscall list.
win32u: Store the service table entry directly into the ntdll variable.
wow64: Build the syscall argument array from the generated list.
winebuild: Stop generating the syscall argument array and related data.
win32u: Remove DECLSPEC_HIDDEN usage.
tools: Upgrade the config.guess/config.sub scripts.
explorer: Remove DECLSPEC_HIDDEN usage.
wusa: Remove DECLSPEC_HIDDEN usage.
ntdll: Generate syscall entry points from the C code with asm macros.
win32u: Generate syscall entry points from the C code with asm macros.
winebuild: Stop generating syscall entry points.
ntdll: Add syscall entries for ARM64EC.
win32u: Add syscall entries for ARM64EC.
tiff: Fix size_t type size detection on 64-bit.
fluidsynth: Use a signed atomic type to avoid warnings.
faudio: Fix a few printf formats.
ntdll: Store the syscall table in the TEB on i386.
ntdll: Store the syscall table in the TEB on ARM.
ntdll: Directly access the syscall table variable on x86-64.
ntdll: Directly access the syscall table variable on ARM64.
ntdll: Add a syscall_cfa member to the ARM64 syscall frame.
ntdll: Add a syscall_cfa member to the ARM syscall frame.
ntdll: Connect syscall frames across user callbacks on ARM64.
ntdll: Connect syscall frames across user callbacks on ARM.
ntdll: Switch to the kernel stack to abort a thread on i386.
ntdll: Switch to the kernel stack to abort a thread on x86-64.
ntdll: Switch to the kernel stack to abort a thread on ARM64.
ntdll: Switch to the kernel stack to abort a thread on ARM.
ntdll: Get rid of the thread exit frame on i386.
ntdll: Get rid of the thread exit frame on x86-64.
ntdll: Get rid of the thread exit frame on ARM64.
ntdll: Get rid of the thread exit frame on ARM.
ntdll: Remove the signal_exit_thread wrapper.
nls: Update locale data to CLDR version 44.
fluidsynth: Make glib replacement functions inline to avoid unused function warnings.
jxr: Fix some clang compiler warnings.
vkd3d: Disable printf format checks.
bcrypt: Remove DECLSPEC_HIDDEN usage.
crypt32: Remove DECLSPEC_HIDDEN usage.
mmdevapi: Remove DECLSPEC_HIDDEN usage.
netapi32: Remove DECLSPEC_HIDDEN usage.
secur32: Remove DECLSPEC_HIDDEN usage.
mountmgr: Remove DECLSPEC_HIDDEN usage.
nsiproxy.sys: Remove DECLSPEC_HIDDEN usage.
winebus.sys: Remove DECLSPEC_HIDDEN usage.
ws2_32: Remove DECLSPEC_HIDDEN usage.
ntdll: Use RtlFindExportedRoutineByName to simplify loader initialization.
ntdll: Convert the ARM64EC context to ARM64 for syscalls.
winedump: Display PE section offsets using their virtual address.
Alexandros Frantzis (26):
win32u: Assume thread dpi for rect in NtUserIsWindowRectFullScreen.
win32u: Respect per-monitor thread dpi awareness when getting window from point.
winewayland.drv: Prepare to handle different coordinate spaces.
winewayland.drv: Present surfaces with the correct scale.
winewayland.drv: Refactor cursor code to prepare for scaling support.
winewayland.drv: Present cursors with the correct scale.
winewayland.drv: Ignore spurious size hints.
winewayland.drv: Add skeleton Vulkan driver.
winewayland.drv: Implement vkEnumerateInstanceExtensionProperties.
winewayland.drv: Implement vkCreateInstance.
winewayland.drv: Implement vkDestroyInstance.
winewayland.drv: Implement vkGetDeviceProcAddr and vkGetInstanceProcAddr.
winewayland.drv: Implement vkCreateWin32SurfaceKHR.
winewayland.drv: Implement vkDestroySurfaceKHR.
winewayland.drv: Use a client area subsurface as the Vulkan target.
winewayland.drv: Set client area subsurface position.
winewayland.drv: Set client area subsurface size.
winewayland.drv: Forward all client surface pointer events to parent.
winewayland.drv: Implement vkGetPhysicalDeviceSurfaceSupportKHR.
winewayland.drv: Implement vkGetPhysicalDeviceSurfaceFormats(2)KHR.
winewayland.drv: Implement vkGetPhysicalDeviceSurfaceCapabilities(2)KHR.
winewayland.drv: Implement vkCreateSwapchainKHR.
winewayland.drv: Implement vkDestroySwapchainKHR.
winewayland.drv: Implement vkGetPhysicalDeviceSurfacePresentModesKHR.
winewayland.drv: Implement vkGetPhysicalDeviceWin32PresentationSupportKHR.
winewayland.drv: Implement vkGetSwapchainImagesKHR.
Alfred Agrell (6):
winegstreamer: Store duration in the duration field.
winegstreamer: Add wg_format_from_caps_audio_wma function.
winegstreamer: Implement WMA <-> AMT conversion.
winegstreamer: Switch WMA decoder to use wg_format internally.
winegstreamer: Implement DMO interface for WMA decoder.
mf/tests: Test IMediaObject_GetOutputSizeInfo.
Alistair Leslie-Hughes (7):
dbghelp: Remove DECLSPEC_HIDDEN usage.
include: Add DBPROPVAL_MR_* defines.
msdasql: GetAvailableColumns correct assignment of DBCOLUMN data.
rpcrt4: Remove DECLSPEC_HIDDEN usage.
msado15: Updating recordset EditMode when field value changes.
msado15: Correct logic when setting field value.
msdasql: Check rowset pointer before assignment in ICommandText::Execute.
Anton Baskanov (14):
dmsynth: Move instrument search to synth_preset_noteon().
dmsynth: Get rid of instrument reference counting.
dmsynth: Factor out instrument and region search.
dmsynth: Fall back to the Standard drum set when there is no matching instrument or region.
dmsynth: Use FLUID_MOD_KEY for CONN_SRC_KEYNUMBER.
dmime: Factor out timeout computation.
dmime: Don't queue messages with immediate delivery type.
dmime: Always queue messages with non-immediate delivery type.
dmime: Correctly requeue messages with changed time.
dmime/tests: Move scale_music_time() and check_dmus_note_pmsg() up.
dmime/tests: Test output tool note requeueing.
dmime: Requeue the note message instead of directly queueing MIDI note-off.
dmsynth: Preserve event order when positions are equal.
dmsynth: Use time instead of position to order events.
Bartosz Kosiorek (2):
msvcrt: Fix _mbsspn_l implementation.
msvcrt: Add _mbsspnp_l implementation.
Bernhard Übelacker (2):
uxtheme: Add stub for RefreshImmersiveColorPolicyState.
notepad: Use GetDesktopWindow() when main window is not yet created.
Brendan Shanks (1):
ntdll: Don't use sysconf(_SC_PHYS_PAGES) on macOS.
Daniel Lehman (8):
msxml3/tests: Remove unused test field.
msxml3/tests: Add tests for get_xml.
msxml3/tests: Test for specific HRESULT in some tests.
msxml6/tests: Add tests for default namespace.
msxml4/tests: Add tests for default namespace.
msxml3/tests: Add tests for default namespace.
msxml4/tests: Copy create namespace tests.
msxml6/tests: Copy create namespace tests.
Davide Beatrici (1):
wineoss: Fix sound not working.
Dmitry Timoshkov (5):
user32/tests: Add some tests for font charset returned by SPI_GETICONTITLELOGFONT and SPI_GETNONCLIENTMETRICS.
user32: Return DEFAULT_CHARSET from SPI_GETICONTITLELOGFONT and SPI_GETNONCLIENTMETRICS.
shell32: Improve FolderView2::GetViewModeAndIconSize() stub.
shell32: Return S_OK from IFolderView2::SetViewModeAndIconSize() stub.
shell32: Implement IFolderView2::Items(&IID_IShellItemArray).
Eric Pouech (13):
dbghelp: Remove DMT_ entries for .DBG and .PDB files.
dbghelp: Expose some internal information about modules to winedbg.
dbghelp: No longer decorate ELF/Mach-O module names.
dbghelp: Expose PE native vs builtin information to winedbg.
dbghelp: Pretend mach-o is present in case of failure.
msvcrt/tests: Test passing environment in child process.
ucrtbase/tests: Introduce environment tests.
msvcrt: Lazily initialize ___winitenv.
msvcrt: Allocate environment variables in separate allocation chunks.
msvcrt: Fix ucrtbase environment initialization.
regsvr32: Use message boxes by default for output.
regedit: Use message boxes by default for output.
winedbg: Use dbghelp extended module info.
Esme Povirk (1):
user32/tests: Accept another variation in send_message_5.
Fabian Maurer (1):
winex11: Free correct pointer when using xf86vm.
François Gouget (2):
advapi32/tests: Fix a service stop race condition.
user32/tests: Add a trailing linefeed to ok() and skip() calls.
Hans Leidekker (5):
wldp: Improve the WldpGetLockdownPolicy() stub.
fusion: Bump version to 4.6.1590.0.
wineusb.sys: Add support for URB_FUNCTION_VENDOR_DEVICE.
ntoskrnl: Stub EtwRegisterClassicProvider() and EtwUnregister().
winhttp: Use an unsigned integer for number values in query_headers().
Jacek Caban (13):
configure: Add arm64ec PE target support.
tools: Initial ARM64EC target support.
winebuild: Use COMDAT sections for ARM64EC functions.
winecrt0: Initial ARM64EC support.
include: Don't use dllexport attribute for Wine PE modules.
msi: Store Context as MSIINSTALLCONTEXT in MSIPACKAGE.
msi/tests: Initialize pathkey in test_installprops.
gdiplus: Remove unused variable.
ole32/tests: Remove unused variable.
mshtml: Store Gecko inner window in HTMLInnerWindow and use it in HTMLTxtRange_select.
mshtml: Use Gecko inner window in HTMLXMLHttpRequestFactory_create.
mshtml: Use Gecko inner window in get_ns_selection.
mshtml: Use Gecko inner window in get_clipboard_commands.
Jactry Zeng (1):
msvcp140: Add codecvt<char32> class stub.
Louis Lenders (2):
wbemprox: Add StandardCimv2 namespace.
shcore: Add stub for RegisterScaleChangeEvent.
Marc-Aurel Zent (2):
ntdll: Implement thread-ID alerts using kqueue/kevent.
ntdll: Use IOPowerSources API to fill battery info on macOS.
Matteo Bruni (1):
opengl32: Skip filter_extensions_index() on GL contexts < 3.0.
Michael Stefaniuc (9):
dmime: Remove redundant NULL check before free().
dmime/tests: Remove superfluous casts to self.
dmime: Remove superfluous casts to self.
dmsynth: Remove superfluous casts to self.
dmusic: Remove superfluous casts to self.
gdiplus: Remove redundant NULL check before free().
sane.ds: Use ARRAY_SIZE instead of open coding it.
winegstreamer: Remove redundant NULL check before free().
quartz: Remove redudant NULL checks before CoTaskMemFree().
Myah Caron (1):
windows.ui: Support accent colors in uisettings3_GetColorValue.
Nell Hardcastle (3):
winebus.sys: Identify DualSense Edge as a DualSense controller.
mmdevapi: Override product strings for DualSense Edge.
hidclass.sys: Add DualSense Edge to device_strings.
Nikolay Sivov (6):
d3dx9/effect: Rename effect initialization helper.
evr/presenter: Handle failure to initialize D3D9.
evr/tests: Skip tests if D3D9 is unusable.
dxva2/tests: Skip tests if D3D9 is unusable.
d3dcompiler/tests: Do not crash on device creation.
oleaut32: Remove some deadcode from VarMod().
Paul Gofman (14):
combase/tests: Add tests for implicit MTA with RoGetActivationFactory().
combase: Ensure MTA existence in RoGetActivationFactory().
winepulse.drv: Change device description.
dnsapi: Handle IP address as DNS name in DnsQuery_UTF8().
gdiplus: Round width and height in gdip_format_string().
windowscodecs: Enable WICPixelFormat32bppBGRA in BMP encoder.
msvcp110: Implement std::_Xbad_function_call().
include: Add Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation runtimeclass.
include: Fix ID3DXLoadUserData definition.
d3dx9/tests: Add test for user data in D3DXLoadMeshHierarchyFromXInMemory().
d3dx9: Implement loading top and frame user data in D3DXLoadMeshHierarchyFromXInMemory().
d3dx9: Unify calling parse_mesh helper functions.
d3dx9: Factor out mesh_get_parse_func().
d3dx9: Support loading mesh user data in D3DXLoadMeshHierarchyFromXInMemory().
Paweł Ulita (1):
user32: Add stubs for GetWindowDpiHostingBehavior and SetThreadDpiHostingBehavior.
Piotr Caban (6):
msvcrt: Avoid temporary buffer allocation in _mbsrev_l.
msvcrt: Add _mbsrev tests.
msvcrt: Factor out env_get_index helper.
msvcrt: Factor out wenv_get_index helper.
msvcrt: Hold _ENV_LOCK when accessing environment variables.
msvcp140: Add codecvt<char16> class stub.
Rémi Bernon (47):
dmime/tests: Avoid discarding old notifications in test.
dmime/tests: Test that IDirectMusicPerformance_Stop clears messages.
dmime: Clear all pending messages in IDirectMusicPerformance_Stop.
dmime: Send MIDI_SYSTEM_RESET message on performance reset.
dmsynth: Reset synthesizer defaults on MIDI_SYSTEM_RESET.
dmime: Split segment_state_play_chunk helper.
dmime: Implement segment state repeat and looping.
gitlab: Install libxkbcommon and libxkbregistry dependencies.
winewayland.drv: Basic handling of Wayland keyboard events.
winebus.sys: Ignore events on unsupported axes.
windows.gaming.input: Fix inverted start / select gamepad buttons.
winebus.sys: Fix incorrect hid_device_set index check.
evr: Set last presented sample atomically.
ntdll: Add comments to stack switches in dispatchers.
ntdll: Remove unnecessary stack pointer CFI rules.
ntdll: Add a syscall_cfa member to the i386 syscall frame.
ntdll: Add a syscall_cfa member to the x86_64 syscall frame.
ntdll: Connect syscall frames across user callbacks on i386.
ntdll: Connect syscall frames across user callbacks on x86-64.
winewayland.drv: Configure win32u keyboard repeat delay and speed.
win32u: Implement opt-in auto-repeat for WM_(SYS)KEYDOWN messages.
mfplat: Add support for internal MFVideoFormat_A2B10G10R10.
mfplat: Add MFCreateAMMediaTypeFromMFMediaType stub.
mfplat: Add MFInitAMMediaTypeFromMFMediaType stub.
mfplat/tests: Add tests for MFInitAMMediaTypeFromMFMediaType.
mfplat/tests: Add tests for MFCreateAMMediaTypeFromMFMediaType.
mfplat/tests: Add IMFMediaType_GetRepresentation tests.
mfplat: Only convert MEDIASUBTYPE for the formats which need it.
mfplat: Use bits per pixel in uncompressed formats metadata.
mfplat: Implement MFInitAMMediaTypeFromMFMediaType.
mfplat: Implement MFCreateAMMediaTypeFromMFMediaType.
mfplat: Implement IMFMediaType_(Get|Free)Representation.
twinapi.appcore: Stub implement EasClientDeviceInformation runtimeclass.
twinapi.appcore: Succeed some EasClientDeviceInformation stub calls.
include: Use nested namespaces in windows.system.userprofile.idl.
include: Add Windows.Globalization.GeographicRegion runtimeclass.
windows.globalization: Stub Windows.Globalization.GeographicRegion factory.
windows.globalization: Stub Windows.Globalization.GeographicRegion runtimeclass.
windows.globalization: Implement GeographicRegion_get_CodeTwoLetter.
include: Add Windows.System.Profile.AnalyticsInfo runtimeclass.
twinapi.appcore: Stub Windows.System.Profile.AnalyticsInfo factory.
twinapi.appcore: Stub Windows.System.Profile.AnalyticsInfo runtimeclass.
twinapi.appcore: Implement Windows.System.Profile.AnalyticsInfo_get_DeviceFamily.
twinapi.appcore: Implement Windows.System.Profile.AnalyticsInfo_get_DeviceFamilyVersion.
include: Add Windows.System.UserProfile.AdvertisingManager runtimeclass.
twinapi.appcore: Stub Windows.System.UserProfile.AdvertisingManager factory.
twinapi.appcore: Return success from AdvertisingManager_get_AdvertisingId stub.
Santino Mazza (4):
mlang/tests: Test GetStrCodePages with different codepages character.
mlang: Fix GetStrCodePages for characters with different codepages.
mlang/tests: Test for codepages priority.
mlang: Implement codepages priority.
Tim Clem (3):
msvcrt: Pass INT_MAX as the length in implementations of the _mbscoll family.
winemac.drv: Move surface-related logs to the bitblt channel.
winemac.drv: Return success from query_ime_char_rect.
Zebediah Figura (18):
d3d8: Pass NOOVERWRITE to redundantly discarded maps.
wined3d: Create the XFB counter BO in wined3d_context_vk_bind_stream_output_buffers().
wined3d: Provide a null counter BO for slots with no corresponding XFB buffer bound.
wined3d: Introduce a wined3d_state_get_ffp_texture() helper.
wined3d: Trigger constant update when an SRV requiring NPOT fixup is bound.
wined3d: Set the active texture in sampler_texdim().
wined3d: Set the active texture in nvts_texdim().
ws2_32/tests: Test sending data to a peer which is closed.
http.sys: Keep connection sockets open after sending a 400 response.
ws2_32/tests: Test send() after TCP reset.
ws2_32/tests: Work around a Linux bug.
server: Return ERROR_CONNECTION_RESET when trying to recv() on a reset socket.
server: Translate AFD_POLL_RESET to FD_CLOSE plus WSAECONNABORTED in window messages.
ws2_32: Translate AFD_POLL_RESET to FD_CLOSE plus WSAECONNABORTED in WSAEnumNetworkEvents().
msvcrt: Perform a base-10 logarithm using integer math.
wined3d: Revert uses of wined3d_state_get_ffp_texture() for non-FFP textures.
ddraw/tests: Add a test for drawing to a flippable surface.
ddraw: Read the current RTV before flipping any surfaces.
Zhiyi Zhang (13):
uiribbon: Fix IUIFramework::SetUICommandProperty() prototype.
msdasql/tests: Fix memory leaks.
msdasql/tests: Add more IDBProperties::GetProperties() tests.
msdasql: Return all initialization properties if no property ID is specified in dbprops_GetProperties().
oledb32: Add missing const modifiers.
oledb32/tests: Use wide-char string literals.
oledb32/tests: Remove test_odbc_provider().
oledb32/tests: Fix memory leaks.
oledb32/tests: Add more IDataInitialize::GetInitializationString() tests.
oledb32: Remove the trailing semicolon.
oledb32: Fix property count in datainit_GetInitializationString().
oledb32: Quote values containing semicolons.
oledb32: Remove unnecessary properties in datainit_GetInitializationString().
Ziqing Hui (2):
winestreamer: Introduce media_sink_write_stream.
winegstreamer: Implement wg_muxer_read_data.