The Wine development release 8.3 is now available.
What's new in this release:
- Support for the Low Fragmentation Heap.
- Smard card support using PCSC-Lite.
- Bundled Zydis library for more correct disassembly.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.3.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.3 (total 29):
- #24256 3D Sexvilla 2: extremely long loading times
- #34011 Path of Exile stutters constantly
- #37146 Untis 2015 (.NET 4.0 app) crashes on startup with Wine-Mono
- #37495 Multiple PC/SC applications need winscard.SCardEstablishContext implementation (AusweisApp2 1.x german identity card app, SmartCard test apps, Seneka EBDYS client, Aruba Key)
- #39113 Multiple PC/SC applications need winscard.SCardListReaders implementation (Aruba key, SmartCard test apps)
- #43224 Freelist scan can result in O(n) time when allocating
- #45756 Button not clickable when dpi setting changed in Office 2007 Installer
- #49113 Wine heap performs badly when multiple threads are concurrently allocating or freeing memory
- #51259 6.0.1 Introduces error causing Wavelab to close when loading presets
- #52506 Setup of game "What's the Secret?" fails to create icon
- #53094 ntdll:rtlstr test crashes on win32 arch with hi-IN locale
- #53176 KeePassXC needs Windows.Security.Credentials.KeyCredentialManager (UWP)
- #53504 Sacred:unhandled exception in Wine 7.14
- #53728 Escape from Tarkov needs DisplayConfigGetDeviceInfo(DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME) implementation
- #54112 rouvy : fails to update with server, unimplemented function bthprops.cpl.BluetoothRegisterForAuthenticationEx
- #54149 shlwapi:ordinal - test_SHFormatDateTimeA() fails on the mixed locales configuration
- #54338 Swift crashes due to unimplemented api-ms-win-core-realtime-l1-1-1.dll.QueryUnbiasedInterruptTimePrecise function
- #54432 Missing ntdll.RtlAddressInSectionTable() implementation causes all GraalVM Native Image exes to crash on load
- #54475 Hardwar UIM6.0 crashes in 8.0, doesn't in 6.0.3
- #54534 dbghelp:dbghelp - The test_loaded_modules() enumeration fails on Windows 10 1607
- #54559 riched20:editor - test_EM_GETSELTEXT() fails in the Hindi locale on Windows
- #54562 The 64-bit oleaut32:usrmarshal crashes in Wine
- #54564 Rich Edit crashes when Ctrl+Right is pressed at past the final paragraph
- #54565 riched20:richole - subtest_InsertObject() fails in the Hindi locale on Windows
- #54570 Saints Row: The Third heavy rain causes heavy fps reductions
- #54581 SpeedCommander 20 installer crashes on unimplemented function SHELL32.dll.Shell_GetCachedImageIndexW
- #54582 kernel32:locale - test_NLSVersion() fails on Windows 10 22H2
- #54583 kernel32:locale - The non-breaking space GetNumberFormatEx() test fails on Windows 11
- #54584 kernel32:locale - The NtGetNlsSectionPtr() test fails on Windows 11
----------------------------------------------------------------
Changes since 8.2:
Adrian Thiele (2):
mfreadwrite/tests: Check refcount of device manager after release.
mfreadwrite/reader: Release device manager in source_reader_release.
Akihiro Sagawa (1):
msado15: Free recordset filter on close.
Alex Henrie (7):
include: Annotate CommandLineToArgvW with __WINE_DEALLOC.
shell32: Add support for Program Manager icons with arguments.
dsound: Use CRT functions for memory allocation.
winex11: Use RTL_CONSTANT_STRING instead of reimplementing it.
winex11: Avoid calling RtlInitUnicodeString on a static constant.
server: Annotate allocation functions with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
ntoskrnl: Add ExGetPreviousMode and test.
Alexandre Julliard (33):
conhost: Use standard va_list instead of __ms_va_list.
notepad: Use standard va_list instead of __ms_va_list.
oleview: Use standard va_list instead of __ms_va_list.
start: Use standard va_list instead of __ms_va_list.
taskmgr: Use standard va_list instead of __ms_va_list.
winefile: Use standard va_list instead of __ms_va_list.
include: Move __builtin_ms_va_list definitions to vadefs.h.
ntdll: Pass the NtCreateNamedPipeFile disposition to the server.
ntdll: Return the correct IOSB information when creating a named pipe.
kernelbase: Set ERROR_ALREADY_EXISTS for existing pipe in CreateNamedPipeW().
makedep: Don't add dependencies for tests of disabled dlls.
kernel32/tests: Add a missing dependency comment.
ntdll: Stop loading libwine.so.
libwine: Remove obsolete library.
ntdll: Build an initial WoW context on ARM64.
ntdll: Implement getting/setting the WoW context on ARM64.
ntdll: Mark the Wow64 TLS slots as reserved.
makedep: Remove support for building shared libraries.
winegcc: Stop using the deprecated prelink tool.
winebuild: Only allow the stdcall calling convention for system calls.
libs: Import the Zydis library version 4.0.0.
winedbg: Use the Zydis library for disassembly.
ntdll: Update the IOSB status in NtCreateNamedPipeFile().
ntdll: Skip dependency only for the actually loaded ntdll and kernel32, instead of matching by name.
ntdll: Also check for data execution on x86-64.
wow64: Call the 32-bit KiRaiseUserExceptionDispatcher for invalid handle exceptions.
makedep: Store the list of .ok files per-architecture.
ntdll: Implement RtlAddProcessTrustLabelAce().
server: Fix another buffer overflow compiler warning.
wine.inf: Remove redundant platform-specific sections.
wine.inf: Set Program Files variables separately for all WoW platforms.
wine.inf: Add keys for the platform-specific Wow64 backend.
wow64: Get the backend dll name from the registry.
Alexandros Frantzis (2):
gdi32: Track ticks since draw start per window_surface.
win32u: Reset draw_start_ticks for new window_surface.
Alistair Leslie-Hughes (4):
msado15: Semi-stub _Recordset get/put Filter.
msado15: Field ActualSize return a default size.
msado15: Support "Optimize" in Properties get_Item.
include: Add DBCOLUMNFLAGS_ enums values.
Connor McAdams (14):
uiautomationcore: Register all UI Automation typelibs.
uiautomationcore: Add stub IUIAutomation implementation.
uiautomationcore: Implement IUIAutomation::ElementFromHandle.
uiautomationcore: Implement IUIAutomationElement::GetCurrentPropertyValueEx.
uiautomationcore: Implement UiaLookupId for AutomationIdentifierType_ControlType GUIDs.
uiautomationcore: Implement IUIAutomationElement::get_CurrentControlType.
uiautomationcore: Implement IUIAutomationElement::get_CurrentName.
uiautomationcore: Implement IUIAutomationElement::get_CurrentBoundingRectangle.
uiautomationcore/tests: Fix UiaHUiaNodeFromVariant tests on Windows 11.
uiautomationcore/tests: Fix UiaNodeFromHandle tests on Windows 11.
uiautomationcore: Implement IUIAutomation::IntSafeArrayToNativeArray.
uiautomationcore: Implement IUIAutomation::IntNativeArrayToSafeArray.
uiautomationcore: Implement IUIAutomation reserved value retrieval methods.
uiautomationcore: Implement IUIAutomation::CheckNotSupported.
David Gow (1):
dxgi: Don't warn on DXGI_ALPHA_MODE_UNSPECIFIED with wined3d.
Eric Pouech (11):
dbghelp/tests: Test that overlapped module is really unloaded.
include: Ensure that SymRefreshModuleList() is properly defined.
kernel32/tests: Don't let debugger tests fail on a 64bit only config.
dbghelp/tests: Fix failure on Win10 1607.
kernel32/tests: Fix debugger.c:test_kill_on_exit().
dbghelp/tests: Add wrapper for EnumerateLoadedModulesW64().
dbghelp/tests: Adapt test_modules_overlap() for Windows 11.
dbghelp/tests: Introduce ends_withW helper.
dbghelp/tests: Only retrieve the system directories once.
dbghelp/tests: Introduce get_machine_bitness() helper.
dbghelp/tests: Fix tests for process count in wow64.
Etaash Mathamsetty (1):
ntoskrnl.exe/tests: Add Driver Object Extension Tests.
Florian Will (2):
gdiplus/tests: Test for GdipPrivateAddFontFile() sharing violation.
gdiplus: Use FILE_SHARE_READ in GdipPrivateAddFontFile().
François Gouget (20):
jsproxy/tests: InternetInitializeAutoProxyDll() is no longer supported on Windows 11.
jsproxy/tests: Add more tests for InternetGetProxyInfo()'s length parameter.
gdi32/tests: Mark a couple other D3DKMTCheckOcclusion() tests as flaky.
vbscript/tests: Fix the testChrError() tests.
winmm/tests: Ignore spurious WM_DWMCOLORIZATIONCOLORCHANGED messages.
mscoree/tests: Trace the error when a Windows API fails.
kernel32/tests: Fix the NLSVersion test on Windows 10 22H2.
kernel32/tests: Fix the NtGetNlsSectionPtr() test on Windows 11.
kernel32/tests: Fix the French GetNumberFormatEx() test on Windows 11.
gdi32/tests: Simplify setting up the non uniform gamma ramps.
gdi32/tests: Make the gamma ramp failures more unique.
gdi32/tests: Fix the SetDeviceGammaRamp() tests on Windows 10 1909.
mscoree/tests: Trace the GetExitCodeProcess() error before it gets lost.
ntdll/tests: Minimize the stack size for test_tp_multi_wait().
riched32/tests: EM_GETSELTEXT's wparam is not used and should be 0.
riched20/tests: EM_GETSELTEXT's wparam is not used and should be 0.
riched20/tests: Fix the EM_GETSELTEXT tests in Hindi on Windows.
mmdevapi/tests: WoW64 processes can read the properties from the registry.
shlwapi/tests: Fix the date formatting tests when the locale does not match the code page.
shlwapi/tests: Make sure to test the formatting of troublesome dates.
Gabriel Ivăncescu (8):
mshtml: Use proper types for readystate_locked and readystate_pending.
mshtml: Free the task after the destructor.
mshtml: Pass optional args to XMLHttpRequest.open() correctly.
mshtml: Register all event handlers when creating the XMLHttpRequest.
mshtml: Track readyState in XHRs and report it manually.
mshtml: Add separate task list for tasks dispatching events.
mshtml: Implement synchronous XMLHttpRequest.
mshtml: Send all readystatechange events for synchronous XHRs in IE9 and below.
Gijs Vermeulen (1):
shell32: Add Shell_GetCachedImageIndexA/W exports.
Hans Leidekker (19):
include: Add missing smart card defines.
winscard: Implement SCardEstablish/ReleaseContext() on top of libpcsclite.
winscard: Implement SCardIsValidContext().
winscard: Implement SCardGetStatusChangeA/W().
winscard: Implement SCardCancel().
winscard: Implement SCardListReadersA/W().
winscard: Implement SCardListReaderGroupsA/W().
winscard: Implement SCardConnectA/W().
winscard: Implement SCardStatusA/W().
winscard: Implement SCardRe/Disconnect().
winscard: Implement SCardBegin/EndTransaction().
winscard: Implement SCardTransmit().
winscard: Implement SCardControl().
winscard: Implement SCardGet/SetAttrib().
winscard: Implement SCardFreeMemory().
winscard: Use string conversion helpers in SCardAddReaderToGroupA().
winscard: Improve traces.
winscard: Add wow64 thunks.
winscard/tests: Initial tests.
Henry Goffin (1):
win32u: Invalidate all cached keys after input.
Huw D. M. Davies (2):
winemac: Fix return type of ProcessEvents().
maintainers: Add myself to the Audio I/O section.
Illia Polishchuk (2):
d3d9/tests: Add test for non-indexed instancing drawing.
d3d9: Always draw only a single instance for non-indexed draws.
Ivan Chikish (1):
gdi32/tests: Check last error on ' '.
Jinoh Kang (2):
riched20/tests: Test for word movement across paragraph boundary.
riched20: Don't set para unless committing cursor move in ME_MoveCursorWords.
Marcus Meissner (1):
user32/tests: Fix size passed to ToUnicode.
Max Figura (15):
wined3d: Move the WINED3D_RS_ROP2 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_PLANEMASK stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_LASTPIXEL stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ZVISIBLE stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_SUBPIXEL stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_SUBPIXELX stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_STIPPLEDALPHA stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_STIPPLEENABLE stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_MIPMAPLODBIAS stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ANISOTROPY stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_FLUSHBATCH stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_TRANSLUCENTSORTINDEPENDENT stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP15 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP14 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP13 stub to wined3d_device_apply_stateblock.
Mohamad Al-Jaf (15):
bthprops.cpl: Move implementations to bluetoothapis and import them.
include: Add BluetoothRegisterForAuthenticationEx prototype.
bluetoothapis: Add BluetoothRegisterForAuthenticationEx stub.
bluetoothapis: Add BluetoothUnregisterAuthentication stub.
include: Fix BluetoothRegisterForAuthentication prototype.
include: Add windows.security.credentials.idl file.
cryptowinrt/tests: Add ICryptographicBufferStatics interface test.
cryptowinrt: Add private.h file.
cryptowinrt: Stub IKeyCredentialManagerStatics interface.
cryptowinrt: Import IAsyncOperation from windows.gaming.input.
cryptowinrt: Implement IKeyCredentialManagerStatics::IsSupportedAsync().
cryptowinrt/tests: Add IKeyCredentialManagerStatics::IsSupportedAsync() tests.
widl: Use "i4" / "u4" for LONG parameterized type signature.
widl: Use "i2" / "u2" for INT16 parameterized type signature.
include: Add more Windows.Foundation.Numerics structs.
Paul Gofman (3):
server: Retry socket connection on ECONNABORTED error.
server: Set TCP SYN count on sockets.
win32u: Expose and use ProcessEvents from drivers instead of MsgWaitForMultipleObjectsEx.
Philip Gruebele (1):
dwrite: Pass correct font key when adding glyph to cache.
Piotr Caban (4):
winspool: Fix FILE: output handling in StartDocDlgW.
wineps: Remove no longer used output parameter handling from PSDRV_CreateDC.
localspl: Ignore an empty output string.
windowscodecs: Don't reorder gif extension blocks in GetReaderByIndex.
Rémi Bernon (23):
ntdll: Fix HeapWalk with empty uncommitted consecutive subheaps.
ntdll: Implement HeapCompatibilityInformation.
ntdll: Increase heap block tail_size capacity to 16 bits.
ntdll: Count allocations and automatically enable LFH.
ntdll: Split heap_resize_block into heap_resize_(block|large) helpers.
ntdll: Implement Low Fragmentation Heap frontend.
ntdll: Use atomics and lock-free list for bin groups.
ntdll: Add a heap thread affinity and per-affinity bin group cache.
ntdll: Avoid shrinking large heap block to small block.
msvcr80/tests: Test _dupenv_s outcome with missing env var.
msvcr80/tests: Test _wdupenv_s outcome with missing env var.
msvcrt: Fix _dupenv_s behavior with missing env var.
msvcrt: Fix _wdupenv_s behavior with missing env var.
include: Allow overriding LANGID in module VERSIONINFO.
oleaut32/tests: Test VARIANT_UserUnmarshal allocation sizes.
oleaut32: Allocate a full pointer when unmarshalling byref arrays.
winex11: Assume that Xkb extension is available.
widl: Use "g16" for GUID parameterized type signature.
user32/tests: Test VK_MENU effect on ToUnicode.
win32u: Map VK_MENU / KBDALT in kbdus_tables pCharModifiers.
win32u: Return the current display mode depth with nulldrv.
explorer: Use GUID_NULL display device GUID for nulldrv.
win32u: Check GUID_NULL display device if desktop atom is missing.
Serkan Önder (1):
po: Update Turkish translation.
Sven Baars (3):
bcrypt: Factor out wow64 padding conversion.
bcrypt: Add wow64 support for PSS padding.
bcrypt: Remove unused fields from struct key_asymmetric32.
Tingzhong Luo (2):
evr: Fix crash when clearing input type for the mixer.
winspool: Check dmSize in IsValidDevmodeW().
Torge Matthies (4):
kernelbase: Break out of inner for-loop early in find_substring.
kernelbase: Reuse the previous iteration's pos and sortkey state if possible in find_substring.
kernelbase: Fix WaitForThreadpoolIoCallbacks spec entry.
kernel32: Fix WaitForThreadpoolIoCallbacks spec entry.
Zebediah Figura (16):
user32: Map DEV_BROADCAST_DEVICEINTERFACE to ANSI for registered device notifications.
ntoskrnl/tests: Expand tests for device and interface naming.
ntoskrnl: Preserve the device instance ID case in IoRegisterDeviceInterface().
Revert "ntoskrnl.exe: Enforce path case in WM_DEVICECHANGE notifications.".
wined3d: Require fragment shader image stores and atomics to create a feature level 11.0 device.
wined3d: Require gather offset support to create a feature level 11.0 device.
wined3d: Require shader clip distance support to create a feature level 10.0 device.
wined3d: Require shader cull distance support to create a feature level 10.0 device.
wined3d: Disable 64-bit integer support.
ddraw/tests: Test that surface properties are retained across SetSurfaceDesc() calls.
ddraw/tests: Add more tests for mipmap surface creation flags.
ddraw: Forbid DDSCAPS_COMPLEX without any caps that merit a complex surface.
ddraw: Forbid DDSD_MIPMAPCOUNT without DDSCAPS_COMPLEX.
ddraw: Remove the redundant "desc" parameter to ddraw_surface_create_wined3d_texture().
d3d8/tests: Do not check for WM_MOVE in sc_maximize_messages.
d3d9/tests: Restore the focus window before sending SC_MAXIMIZE to it.
Zhiyi Zhang (4):
include: Add DirectComposition error codes.
include: Add dcomptypes.idl.
include: Add dcompanimation.idl.
include: Add dcomp.idl.
Ziqing Hui (4):
mf/tests: Add missing \n.
mf/tests: Correctly initialize DMO media type.
mf/tests: Test ProcessInput and ProcessOutput for WMV decoder DMO.
mf/tests: Test output data for WMV decoder DMO.
The Wine development release 8.2 is now available.
What's new in this release:
- Better debug information in Wow64 mode.
- Wow64 thunks in the WPCAP library.
- Indeo IV50 codec support.
- Monitor names set from EDID data.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.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
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.2 (total 22):
- #48528 The Void crashes with builtin d3dx9_36 (needs D3DXFillCubeTextureTX() to return S_OK)
- #51345 Regression: Visual Studio 2005 "package load failure"
- #51545 STDOUT lost from a forked program on Cygwin/MSYS2
- #53747 SubLab VST3 plugin fails to register (needs Windows.System.Profile.SystemManufacturers.SmbiosInformation)
- #53926 New typelib marshaller depends on IID_IDispatch support from target interface
- #54103 opengl32:opengl - test_copy_context() crashes on w11pro64_nv
- #54150 d3dcompiler_43:hlsl_d3d11 & d3dcompiler_47:hlsl_d3d11 - test_trig() fails on w11pro64_nv
- #54234 vbscript fails to compile when colon follows Else in If...Else
- #54318 Rich Edit inserts newly composed text at wrong position when system IME composition ends while a selection is active
- #54371 loader won't launch from PATH unless named "wine"
- #54384 GOG Heroes of Might and Magic IV crashes on launch
- #54431 Switching active window (alt+tab or otherwise) away from Final Fantasy XI causes keyboard keys to remain pressed
- #54456 vbscript memory leak in For Each with SafeArray as group
- #54457 vbscript memory leaks in interp_redim_preserve
- #54458 vbscript memory leaks in Global_Split
- #54463 Wrong version value is returned from win32_operatingsystem on win10 (regression)
- #54465 dbghelp:dbghelp - The 64-bit test_modules() fails on Windows 7
- #54477 user32:msg - test_message_conversion()'s broadcast test fails on Windows 7 and 10
- #54486 getenv_s returns the wrong value
- #54489 VarAbs() does not handle BSTR arguments correctly
- #54490 vbscript fails to compile when statement follows ElseIf
- #54493 vbscript fails to compile concat when used without space and expression begins with H
----------------------------------------------------------------
Changes since 8.1:
Alex Henrie (23):
msi: Handle memory allocation failure in get_link_file (cppcheck).
setupapi: Fix memory leak on realloc failure in RetreiveFileSecurity.
combase: Avoid calling RtlInitUnicodeString on a static constant.
nsiproxy: Avoid calling RtlInitUnicodeString on a static constant.
winhlp32: Fix memory leak on realloc failure in HLPFILE_RtfAddBitmap (cppcheck).
ole32: Avoid calling RtlInitUnicodeString on a static constant.
httpapi: Avoid calling RtlInitUnicodeString on a static constant.
msi: Annotate memory allocation functions with __WINE_(DEALLOC|MALLOC).
http: Avoid calling RtlInitUnicodeString on a constant.
services: Avoid calling RtlInitUnicodeString on a static constant.
winebus: Avoid calling RtlInitUnicodeString on a static constant.
mountmgr: Avoid calling RtlInitUnicodeString on a static constant.
win32u: Avoid calling RtlInitUnicodeString on a static constant.
wineboot: Avoid calling RtlInitUnicodeString on a static constant.
ws2_32: Avoid calling RtlInitUnicodeString on a static constant.
ntdll: Use RTL_CONSTANT_STRING instead of reimplementing it.
ntdll: Avoid calling RtlInit(Ansi|Unicode)String on a static constant.
winspool: Remove unnecessary call to RtlInitUnicodeString from add_printer_driver.
krnl386: Avoid calling RtlInitUnicodeString on a static constant.
wow64: Avoid calling RtlInitUnicodeString on a static constant.
kernelbase: Avoid calling RtlInitUnicodeString on a static constant.
ntoskrnl: Avoid calling RtlInitUnicodeString on a static constant.
winspool: Initialize nt_ppd in add_printer_driver.
Alexandre Julliard (25):
winedump: Print more information from the PE Load Config directory.
winedump: Initial support for dumping PE dynamic relocations.
gitlab: Force updating configure.
wow64: Move some exception and context functions to syscall.c.
wow64: Preserve the CPURESERVED flags across user callbacks.
wow64: Call the CPU backend to get/set the current thread context.
wow64: Call the thread init entry point in the CPU backend.
ntdll: Use the standard unixlib macro for Unix calls.
ntdll: Store the unixlib handle at ntdll load time.
ntdll: Replace the __wine_dbg_write() syscall by a Unix call.
ntdll: Replace the __wine_unix_spawnvp() syscall by a Unix call.
ntdll: Replace the wine_server_call() syscall by a Unix call.
ntdll: Replace the wine_server_fd_to_handle() syscall by a Unix call.
ntdll: Replace the wine_server_handle_to_fd() syscall by a Unix call.
winedump: Dump the alternate version of some data directories for hybrid PE dlls.
winedump: Dump the metadata of hybrid PE dlls.
browseui: Use standard va_list instead of __ms_va_list.
comdlg32: Use standard va_list instead of __ms_va_list.
cryptui: Use standard va_list instead of __ms_va_list.
dxdiagn: Use standard va_list instead of __ms_va_list.
oledlg: Use standard va_list instead of __ms_va_list.
setupapi: Use standard va_list instead of __ms_va_list.
wineusb.sys: Use standard va_list instead of __ms_va_list.
ntdll: Consistently initialize x86-64 signal handlers.
ntdll: Avoid a misleading indentation warning.
Alistair Leslie-Hughes (5):
odbccp32: Append DLL path when loading driver.
include: Add missing SQL prototype.
msdasql: Use SQLDriverConnectW to connect to the ODBC driver.
msdasql: Always return affected rows if required.
msdasql: Use SQLColAttributesW to fetch statement attributes.
André Zwing (1):
maintainers: Remove myself as maintainer of wpcap.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (9):
kernelbase: Implement QueryInterruptTime.
kernelbase: Partially implement QueryInterruptTimePrecise.
loader: In macOS preloader, fix an environment variable sometimes being lost.
ntdll/tests: Test NtMapViewOfSection with a 64-bit DLL and zero_bits > 31.
ntdll: Respect zero_bits/limit when mapping a PE file.
include: Add __ASM_LOCAL_LABEL macro.
ntdll: Use __ASM_LOCAL_LABEL in syscall dispatchers.
server: On macOS, fake debug registers when running under Rosetta.
ntdll: Add a WARN when setting debug registers fails under Rosetta.
Connor McAdams (13):
include: Fully define uiautomationclient interfaces.
uiautomationcore: Implement UiaLookupId for AutomationIdentifierType_Event GUIDs.
include: Define UI Automation pattern provider interfaces.
uiautomationcore: Implement UiaLookupId for AutomationIdentifierType_Pattern GUIDs.
uiautomationcore: Add UiaRaiseStructureChangedEvent stub.
uiautomationcore: Add UiaRaiseAsyncContentLoadedEvent stub.
uiautomationcore: Add UiaRaiseTextEditTextChangedEvent stub.
uiautomationcore: Add UiaRaiseNotificationEvent stub.
uiautomationcore: Add UiaRaiseChangesEvent stub.
uiautomationcore: Add support for UIA_BoundingRectanglePropertyId.
uiautomationcore: Add support for UIA_ValueIsReadOnlyPropertyId.
uiautomationcore: Implement get_BoundingRectangle for MSAA providers.
uiautomationcore: Add support for UIA_NamePropertyId to MSAA providers.
Dmitry Timoshkov (2):
rpcrt4: Mark the buffer as invalid in NdrProxyFreeBuffer().
rpcrt4: Avoid casting an object to IUnknown.
Eric Pouech (40):
conhost: Only update font when running with a window.
dbghelp: Stop unwinding on potential 64bit frame for i386 cpu.
dbghelp: Add tests about modules loading.
dbghelp: Allow loading modules for different machines.
dbghelp: Filter on machine when searching for Wine system PE modules.
winedbg: Handle multi-machine process in command 'info share'.
winedbg: Don't expose module whose machine isn't the process' one to gdb.
dbghelp: Identify a 32bit multi-arch wow64 debuggee as a live target.
winedump: Introduce ability to pass several section names to -j option.
winedump: Refactor PDB DBI per-module dump in a dedicated function.
winedump: Make use of -j option in PDB dumping.
winedump: Dump some more MSF related information.
winedump: Load once and store global PDB string table.
winedump: Enhance dumping of string tables.
winedump: Dump some more bits out of public stream.
dbghelp: Fix failing test on Windows 7.
include: Add manifest constants for EnumProcessModulesEx.
psapi: Let modules test pass on non wow64 compatible platforms.
psapi: Add tests for EnumProcessModulesEx().
kernelbase: Implement EnumProcessModulesEx.
kernelbase: Let GetModuleBaseName succeed on 64bit modules in wow64.
kernelbase: Let GetModuleFileNameEx succeed on 64bit modules in wow64.
kernelbase: Let GetModuleInformation succeed on 64bit modules in wow64.
riched20/tests: Add tests when pasting in plain text mode.
riched20: Support SFF_SELECTION when streaming in plain text.
riched20/tests: Ensure clipboard has been pasted before testing the result.
riched20/tests: Add retry loop around OpenClipboard() to avoid access denial.
psapi/tests: Test directory of enumerated loaded modules.
dbgeng: Use EnumProcessModulesEx().
dbghelp: Use EnumProcessModulesEx().
psapi: Add more tests for EnumProcessModules().
kernelbase: Re-implement EnumProcessModules on top of EnumProcessModulesEx.
dbghelp/tests: Test return value of SymLoadModule.
dbghelp/tests: Add tests for 'module' name in EnumLoadedModules() callback.
dbghelp: Let EnumerateLoadedModules() expose image names.
dbghelp/tests: Add test for loaded modules enumeration.
dbghelp/tests: Add some more tests about module handling.
dbghelp: Add new module at end of the process' modules list.
dbghelp: Unload overlapping modules in SymLoadModule*().
ntdll: Implement RtlAddressInSectionTable.
François Gouget (22):
winetest: Don't use plain strings as format specifiers.
winetest: Avoid an infinite loop in vstrfmtmake() when the format is NULL.
d3dcompiler/tests: Allow more imprecision in test_trig() for NVIDIA.
crypt32/tests: Fix a typo in a comment.
dbghelp: Fix a typo in a comment.
kernel32/tests: Fix a typo in a comment.
spoolss/tests: Fix a typo in a comment.
uiautomationcore: Fix a typo in a FIXME() message.
winegstreamer: Fix a typo in a comment.
winevulkan: Fix a typo in a comment.
winex11.drv: Fix a typo in a comment.
winevulkan: Add a trailing linefeed to some FIXME() thunk messages.
dpnet/tests: Fix the unexpected async handle traces.
atl100/tests: Trace GetLastError() when DeleteFile() fails.
riched20/tests: Check clipboard content after destroying the editor window.
riched20/tests: Add context to the EM_FORMATRANGE tests.
winetest: Trace the keyboard layout.
user32/tests: Fix the ToAscii(A) test on Hindi + UTF-8.
user32/tests: Show ToAscii(A) returns 'a' for multiple keyboard layouts.
ntdll/tests: Test the thread pool stack APIs.
ntdll: Use the thread pool stack information.
ws2_32: Warn that a libnss plugin may be missing if getaddrinfo() returns EBUSY.
Gabriel Ivăncescu (1):
kernelbase: Fix grouping repeat for number formatting.
Giovanni Mascellani (1):
wbemprox: Do not call Release() inside wbemprox_cf_CreateInstance().
Hans Leidekker (14):
ntdll: Initialize PEB version numbers with Windows 10 values.
ntdll: Look at CurrentMajor/MinorVersionNumber registry values before CurrentVersion.
configure: Check for pcap_init() instead of pcap_create().
wpcap: Sync spec file with latest version of libpcap.
wpcap: Make Unix call parameters wow64 compatible.
wpcap: Fix an off-by-one error in convert_length_to_ipv6_mask().
wpcap: Implement pcap_bufsize().
wpcap: Implement pcap_dump_close().
wpcap: Implement pcap_init().
wpcap: Reimplement pcap_loop() on top of pcap_next_ex().
wpcap: Enable UTF-8 encoding in libpcap.
wpcap: Add wow64 thunks.
wpcap: Try to enable 32-bit mmap() support in libpcap.
wpcap/tests: Initial tests.
Huw D. M. Davies (1):
rpcrt4/tests: Remove a failing test.
Ivan Chikish (3):
winegstreamer: Add missing *out=NULL in unknown_inner_QueryInterface.
wmvcore: Add missing *out=NULL in WMReader_QueryInterface.
wmvcore/tests: Check out value for NULL in check_interface.
Jacek Caban (2):
wininet/tests: Add more InternetSetFilePointer tests.
oleaut32: Remove overflow check for VT_R4 and VT_R8 in VarAbs.
Jason Kuo (2):
wininet: Partially implement InternetSetFilePointer.
wininet/tests: Add InternetSetFilePointer tests.
Jason Millard (8):
vbscript: Fix memory leak in Split().
vbscript: Fix memory leak in Split().
vbscript: Add missing stubs for GetLocale and SetLocale builtins.
vbscript: Fix compile when colon follows Else on new line.
vbscript: Fix memory leak in owned safearray iterator.
oleaut32: Fix VarAbs function for BSTR with positive values.
vbscript: Fix compile when statement after ElseIf or after separator.
vbscript: Fix compile issue with non hex after concat without space.
Jinoh Kang (2):
ntdll/tests: Update test_RtlUniform to match Windows Vista or later.
ntdll: Fix integer overflow in RtlUniform.
Max Figura (5):
wined3d: Move the WINED3D_RS_ANTIALIAS stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_TEXTUREPERSPECTIVE stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAPU stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAPV stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_MONOENABLE stub to wined3d_device_apply_stateblock.
Michael Stefaniuc (3):
mshtml/tests: Actually test a return value.
d3d11/tests: Actually test the return of CreateRasterizerState().
ntdll/tests: Remove some Vista broken broken(<constant>) calls.
Mohamad Al-Jaf (9):
include: Add realtimeapiset.h file.
kernelbase: Partially implement QueryUnbiasedInterruptTimePrecise.
include: Add DirectX 12 Agility SDK definitions.
d3d12core: Add stub DLL.
include: Add windows.ui.viewmanagement.idl file.
windows.ui: Add stub DLL.
windows.ui: Add IUISettings3 stub interface.
windows.ui/tests: Add IUISettings3::GetColorValue() tests.
windows.ui: Implement IUISettings3::GetColorValue().
Nikolay Sivov (1):
apisetschema: Add ext-ms-win-networking-wlanapi-l1-1-0.
Paul Gofman (17):
winegstreamer: Implement _GetInputStatus() for h264 decoder transform.
winegstreamer: Implement _GetInputStatus() for aac decoder transform.
winegstreamer: Set MF_SA_D3D11_AWARE attribute for h264 transform.
mf/session: Avoid dropping samples delivered from transform in session_request_sample_from_node().
bcrypt/tests: Add more tests for AES initialization vectors.
bcrypt: Update init vector after encrypt or decrypt.
bcrypt: Only reset init vector if the new vector is non-NULL.
imm32: Disable cross thread access for ImmSetCompositionString().
win32u: Remove monitor name from gdi driver monitor info.
win32u: Use monitor ID from EDID when available.
win32u: Store EDID info in monitors cache.
win32u: Return edidManufactureId and edidProductCodeId from NtUserDisplayConfigGetDeviceInfo().
win32u: Get friendly monitor name from EDID in NtUserDisplayConfigGetDeviceInfo().
winegstreamer: Route MFAudioFormat_RAW_AAC to mf_media_type_to_wg_format_audio_mpeg4().
winegstreamer: Fix getting codec data for raw aac.
winegstreamer: Use default 0 for _AAC_PAYLOAD_TYPE if not set.
mf/tests: Add basic tests for raw aac decode.
Piotr Caban (4):
msvcrt: Don't crash on NULL argument in getenv.
msvcrt: Don't crash on NULL argument in _wgetenv.
msvcrt: Improve error handling in getenv_s.
msvcrt: Improve error handling in _wgetenv_s.
Rémi Bernon (27):
include: Add new kbd.h header with KBDTABLES definition.
win32u: Use KBDTABLES for default NtUserGetKeyNameText.
include: Add VSC_VK constants definitions to kbd.h.
win32u: Use KBDTABLES for NtUserMapVirtualKeyEx VSC / VK mapping.
include: Add VK_TO_WCHARS constants definitions to kbd.h.
win32u: Use KBDTABLES for NtUserMapVirtualKeyEx MAP_VK_TO_CHAR.
win32u: Use KBDTABLES for NtUserVkKeyScanEx.
win32u: Use KBDTABLES for NtUserToUnicodeEx.
joy.cpl: Process messages while waiting for the input threads.
joy.cpl: Refresh the DInput button display on device change.
joy.cpl: Improve the DInput button display with many buttons.
joy.cpl: Use the DIJOYSTATE2 user data format to support more buttons.
winebuild: Use .incbin instead of printf for resource data.
dinput: Split dinput_unacquire_window_devices helper.
dinput: Name input thread message and wparam values.
dinput: Use a WH_CBT hook instead of WH_CALLWNDPROC.
dinput: Introduce keyboard_handle_key_event helper.
dinput: Avoid entering the hook CS in input_thread_ll_hook_proc.
dinput: Merge mouse and rawmouse acquired lists.
dinput: Merge all acquired device lists together.
dinput: Use rawinput interface for keyboard device.
include: Move ddk/imm.h to immdev.h.
include: Fix ImeInquire declaration.
include: Fix ImeToAsciiEx declaration.
include: Add Imm(Get|Set)HotKey declarations.
dinput: Forbid acquiring for other process windows.
dinput: Hook window threads instead of the entire prefix.
Shaun Ren (10):
ir50_32: Add stub dll.
ir50_32: Implement IV50_GetInfo.
ir50_32: Implement IV50_DecompressQuery.
ir50_32: Implement IV50_DecompressGetFormat.
winegstreamer: Add video_decoder stub.
ir50_32: Implement open and close.
winegstreamer: Add WG_MAJOR_TYPE_VIDEO_INDEO video type.
winegstreamer: Implement basic functionality for video_decoder.
ir50_32: Implement decompression.
wine.inf: Enable ir50_32 video codec.
Zebediah Figura (28):
wined3d: Make depth bounds test a proper state and handle it in wined3d_device_apply_stateblock().
setupapi/tests: Add tests for FLG_ADDREG_APPEND.
setupapi: Fail installation when trying to append to a registry value of the wrong type.
setupapi: Create the registry value if it doesn't exist in append_multi_sz_value().
wine.inf: Always use FLG_ADDREG_APPEND for SvcHost entries.
scardsvr: Add stub service.
oleaut32: Manually construct a stub buffer for dispinterfaces.
ws2_32: Forbid passing zero buffers to WSARecv().
mfreadwrite/tests: Avoid depending on sample size in test_source_reader().
mfreadwrite/tests: Test an audio/video file.
winegstreamer: Check the absolute value of the height in mf_media_type_from_wg_format_video().
winegstreamer: Separate a mf_video_format_to_wg() helper.
user32/tests: Add a register_class() helper.
user32/tests: Use ok() instead of assert().
user32/tests: Avoid leaking a window in test_message_conversion().
user32/tests: Test WM_DEVICECHANGE Unicode conversion.
user32/tests: Remove BroadcastSystemMessage() test for WM_DEVICECHANGE.
user32: Pass BSMINFO in BroadcastSystemMessageExA().
ddraw/tests: Remove unnecessary skips and conditionals from test_pixel_format().
d3d9/tests: Test that presenting does not set the pixel format on a window without one.
d3d8/tests: Test that presenting does not set the pixel format on a window without one.
ddraw/tests: Test that presenting does not set the pixel format on a window without one.
wined3d: Introduce wined3d_texture_get_swapchain().
dxgi: Implement IDXGIResource::GetUsage().
d3d11: Expand tests for IDXGIResource.
wined3d: Destroy objects belonging to wined3d_context_vk.completed_command_buffer_id.
wined3d: Destroy objects belonging to wined3d_device_gl.completed_fence_id.
mfsrcsnk: Add missing DllGetClassObject() export.
Ziqing Hui (6):
mfplat: Fix stride calculation for RGB24.
mfplat: Support YVYU, NV11, MEDIASUBTYPE_RGB* media types.
winegstreamer: Implement GetOutputType for WMV decoder.
winegstreamer: Implement SetOutputType for WMV decoder.
mf/tests: Test GetOutputSizeInfo for WMV decoder.
winegstreamer: Implement GetOutputSizeInfo for WMV decoder.
The Wine development release 8.1 is now available.
What's new in this release:
- Windows version set to Windows 10 for new prefixes.
- Many code cleanups that were deferred during code freeze.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.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
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.1 (total 27):
- #43235 Dungeons & Dragons Online crashes on FreeBSD
- #44650 Multiple Blizzard games need dxgi and d3d11 dlls mapped without hole between two LOAD segments (Diablo III v2. 6. 1. 49286+, World of Warcraft, Overwatch)
- #47508 FL Studio: Pressing backspace while editing the name of something closes edit name window prematurely
- #49202 Never exited critical section in freetype.c
- #49443 Anno 1800: Super slow & bad performance
- #49615 Device read errors logged in dmesg when running wine commands with empty CD/DVD drive, since 5.5
- #51040 msi:package fails on Windows 10 if privileges not high enough
- #51313 gdi32:driver sometimes fails with a STATUS_GRAPHICS_PRESENT_OCCLUDED error
- #51784 The dinput8:hid output is too big in Wine
- #52354 winemac.drv not functional on non metal GPUs
- #52462 Wine don't recognize Ipega PG-9025 LT, RT and right analog stick is miss-mapped to RT and LT
- #52878 Free PC Audit 5.1.211.96 fails to show info in 'Brief' tab (needs GetBinaryValue method of the StdRegProv class)
- #52936 winhttp:url assumes 0xfb00 cannot be converted to the ANSI codepage, fails with UTF-8 codepage
- #53142 ieframe:webbrowser - test_ClientSite() has a rare failure on Windows 10 1809+
- #53274 adsldp:ldap - test_ParseDisplayName() sometimes fails to connect to the server
- #53386 cmd.exe: FOR /F USEBACKQ doesn't handle UTF-16 output of commands.
- #53594 GOG Galaxy crashes in GetExtendedTcpTable()
- #53666 Logitech X-56 Stick crashes the joystick subsystem if connected
- #54030 Snagit needs Win32_Volume class ( 'select deviceid from win32_volume where driveletter =C:')
- #54215 ListView doesn't refresh when changing between List and Details styles.
- #54289 RtlCopyContext buffer overflow
- #54328 nsi:nsi - test_tcp_tables() sometimes crashes in Wine
- #54337 AviUtl shows Japanese text as garbage after conversion in ExEdit edit box
- #54353 crypt32:cert - testVerifyRevocation() gets unexpected success in Wine on second run
- #54357 Spurious fixme message when calling ScrollWindow()
- #54364 RtlGenRandom fails on systems with more than 128 cores
- #54376 ws2_32:sock - test_reuseaddr() overflows a sockaddr variable by reading an AF_INET6 peer name into it
----------------------------------------------------------------
Changes since 8.0:
Ake Rehnman (1):
dbghelp: Store path to module image when passed through file handle.
Akihiro Sagawa (2):
user32/tests: Add DBCS WM_CHAR tests for edit control.
user32/edit: Fix WM_CHAR handler for double-byte characters.
Alex Henrie (23):
include: Add RTL_CONSTANT_STRING.
dwrite: Handle memory allocation failure in bidi_compute_bracket_pairs (cppcheck).
winex11: Simplify confusing condition and error messages in wglShareLists.
winspool: Improve the grammar of a comment in get_servername_from_name.
msi: Fix memory leak on realloc failure in create_diff_row_query (cppcheck).
msi: Fix memory leak on realloc failure in msi_get_window_text (cppcheck).
msi: Fix memory leak on realloc failure in search_directory (cppcheck).
mshtml: Handle memory allocation failure in set_statustext.
twain_32: Handle realloc failure in twain_add_onedriver (cppcheck).
dbghelp: Handle memory allocation failure in image_locate_build_id_target (cppcheck).
hhctrl: Handle memory allocation failure in ReadChmSystem (cppcheck).
hhctrl: Handle memory allocation failure in SearchCHM_File (cppcheck).
inetcomm: Fix memory leak on realloc failure in copy_headers_to_buf (cppcheck).
msvcrt: Change return type of _ctime32_s and _ctime64_s to errno_t.
include: Add ctime_s.
include: Add localtime_s.
shell32: Handle memory allocation failure in Dde_OnRequest (cppcheck).
shell32: Handle memory allocation failure in parse_dde_command (cppcheck).
include: Remove __WINE_MALLOC from functions that shouldn't have it.
appwiz: Fix memory leak on realloc failure in install_from_registered_dir (cppcheck).
winex11: Fix memory leak on realloc failure in import_xdnd_selection (cppcheck).
server: Fix buffer overrun in map_view handler.
urlmon: Use the _recalloc function instead of reimplementing it.
Alexandre Julliard (20):
krnl386: Make MapLS argument non-const to avoid some compiler warnings.
krnl386: Remove a trace that causes compiler warnings.
shell32: Allocate a full SHITEMID to avoid a compiler warning.
tools: Add a common helper to get the argv0 directory.
tools: Add a common helper to cleanup temp files.
tools: Move signal masking to the common make_temp_file() helper.
tools: Add a common helper to setup signal handlers.
shell32: Allocate the right size for an ITEMIDLIST.
scrobj: Initialize a variable to silence a compiler warning.
ntdll: Initialize a variable to silence a compiler warning.
ntdll: Prefer the ntdll path over argv[0] on platforms without reliable exe information.
user32: Copy directly to the buffer in unpack_message().
shlwapi/tests: Don't write uninitialized data.
gdiplus: Initialize a variable to avoid a spurious compiler warning.
ole32/tests: Raise an exception instead of accessing a bad pointer directly.
makedep: Don't output rules for disabled modules.
tools: Make sure that config.h is included.
include: Add some C99 floating point comparison macros.
wow64cpu: Move base address to leave more room for wow64.dll.
kernelbase: Report correct errors in GetModuleHandleExA().
Alistair Leslie-Hughes (5):
mountmgr.sys: Don't attempt to read from invalid media.
include: Add _XHR enum values.
include: Add D3DKMT_ENUMADAPTERS2 structure.
secur32: QueryContextAttributesW check for valid object before use.
secur32: Trace fContextReq consistently.
Bernhard Kölbl (12):
windows.media.speech: Move constraints vector to the recognition session.
windows.media.speech: Do not force calling convention on internal callbacks.
windows.media.speech: Return IAsyncAction from session_StopAsync.
windows.media.speech: Return IAsyncAction from session_PauseAsync.
windows.media.speech/tests: Test the recognizer state.
windows.media.speech/tests: Test starting, stopping, pausing and resuming the recognition session.
windows.media.speech: Add a worker thread to the recognition session.
windows.media.speech/tests: Check if stopping the session resets the paused state.
windows.media.speech: Allow the recognition session worker to be paused.
windows.media.speech: Add an audio capturing system.
windows.media.speech: Partially implement the speech recognizer state.
windows.media.speech: Store recorded audio in a temporary ringbuffer.
Brendan Shanks (7):
include/msvcrt: Add __WINE_(DEALLOC|MALLOC) attributes to _strdup and _wcsdup.
include/msvcrt: Add __WINE_(ALLOC_SIZE|DEALLOC|MALLOC) attributes to _aligned_malloc functions.
include/msvcrt: Add __WINE_(ALLOC_SIZE|DEALLOC) attributes to _recalloc.
taskmgr: Use exit code 1 when terminating processes.
taskkill: Use exit code 1 when terminating processes.
ntdll: Add stub for NtQueryInformationProcess(ProcessCycleTime).
kernelbase: Implement and add tests for QueryProcessCycleTime.
Eric Pouech (20):
dbghelp: Don't search path when we have a file handle to loaded image.
winedbg: Pass loaded image's file handle to dbghelp.
dbghelp: Expose the real path to the module in SymGetModuleInfo*().
dbghelp: In dwarf debug info, use the same name of anonymous UDT as pdb.
dbghelp: Don't use dbghelp_current_cpu.
winedbg: Use debuggee's bitness for 'examine /a' command.
conhost.exe: Handle ctrl-pause/break key strokes.
conhost.exe: Handle ctrl-\ in Wine.
winedbg: Track loaded modules.
winedbg: Fix read access to variables with thread local storage.
include: Be consistent in naming regarding MSF's block.
include: Update some fields in PDB headers.
include: Consistenly use _size to name the size of a sub-block.
include: Use stream to denote MSF stream/file.
winedump: Introduce a helper to print PE section's characteristics.
winedump: Correctly dump PDB_STREAM_INDEX.segment.
winedump: Explain a bit more errors on hash header.
winedump: Dump correctly ranges part of DBI stream.
winedump: Properly dump segment map information from PDB/DBI stream.
winedump: Be stricter about sizes while walking module's list.
Evan Tang (6):
mshtml: Implement IHTMLRect2 for HTMLRect.
ntdll: TlsIndex should not actually contain tls indices.
secur32: Schannel AcceptSecurityContext support.
secur32: Share code for schannel Acquire and AcceptCredentialsHandle.
secur32: Fix schannel AcquireCredentialsHandle algorithm mismatch error return.
secur32: Add test for schannel AcceptSecurityContext.
Fabian Maurer (7):
user32/tests: Don't assign const variable to other const (gcc 4.7).
wldap32: Free resource in error case and return error code (Coverity).
wldap32: Set error code in error cases (Coverity).
d2d1_1: Don't redefine D2D1_PROPERTY_BINDING (gcc 4.3).
d3dx10core: Don't redefine ID3D10Device1 (gcc 4.3).
winedump: Prevent "format overflow" warning.
dwrite/tests: Prevent "misleading indentation" warnings.
François Gouget (5):
user32: GetClipboardData() should set last error when the format is not found.
user32/tests: Use wine_dbgstr_an() to trace malformed Unicode strings.
user32: Fix a SetClipboardData() underflow and improve the tests.
user32: Fix a SetClipboardData() buffer overflow.
d3d12/tests: Don't check the refcount after releasing the dxgi adapter.
Gabriel Ivăncescu (20):
mshtml: Don't release the frame returned by get_frame_by_name.
mshtml: Don't hold ref to the created window in the FrameBase.
mshtml: Release the image factory's dispex.
mshtml: Don't initialize HTMLElement dispex for Option constructor.
mshtml/tests: Fix EventObj leak in onclick test.
mshtml/tests: Fix window leaks in dom tests.
mshtml: Implement location props when there's no URI.
mshtml: Defer populating the IActiveScript field until it's fully initialized.
mshtml: Set SCRIPTPROP_ABBREVIATE_GLOBALNAME_RESOLUTION properly.
jscript: Implement SID_GetCaller for QueryService.
vbscript: Add a ServiceProvider stub.
vbscript: Implement SID_GetCaller for QueryService.
include/mshtml: Add the other IHTMLEventObj* interfaces.
mshtml: Use Scrollbar_Auto as default for vertical scrollbars.
jscript: Pass the correct ServiceProvider when invoking external prop.
mshtml: Return undefined from window.XMLHttpRequest for uninitialized documents.
mshtml: Traverse and unlink builtin func disps.
mshtml: Simplify dynamic props unlinking.
mshtml: Tie window.location to the outer window.
mshtml: Embed the HTMLLocation into the outer window.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.240.
Gerald Pfeifer (2):
localspl: Avoid uninitialized variable in fill_builtin_form_info.
tools: Include limits.h for PATH_MAX.
Hans Leidekker (22):
advapi32: Bump random buffer size.
dplayx/tests: Skip tests when the dll is missing.
wbemprox: Implement Win32_Volume.
wbemprox: Implement GetBinaryValue() method.
wbemprox: Remove reg_ prefix from static functions.
winhttp/tests: Fix test failures with the UTF-8 code page.
adsldp/tests: Avoid test failures when the server is down.
ntdll/tests: Mark more Windows 11 test failures as broken.
ntdll/tests: Fix path test failures on Windows 11.
ntdll/tests: Fix some Wow64 test failures on Windows 11.
gdi32/tests: Mark another D3DKMTCheckOcclusion() test as flaky.
ws2_32/tests: Fix some test failures on Windows 11.
ws2_32/tests: Skip adapters that aren't up and running in test_bind().
ntdll: Add Windows 11 version.
ntdll: Default to Windows 10.
winecfg: Fix CurrentVersion registry string for Windows 10 and up.
msi/tests: Avoid test failures when running with insufficient rights.
msi: Install and patch global assemblies in InstallFinalize.
msi: Perform late initialization of the assembly caches.
msi: Remove msi_ prefix from static functions.
msi: Get rid of unnecessary typedefs.
wbemprox: Recognize Windows 11.
Huw D. M. Davies (1):
winebuild: Reorder the includes to avoid a build error on macOS.
Jacek Caban (2):
win32u: Silence spurious FIXME in NtUserScrollWindowEx.
ieframe/tests: Relax session count test.
James McDonnell (1):
kernel32: Use MoveFileWithProgress() to partially implement MoveFileTransacted(),
Jinoh Kang (9):
ntoskrnl.exe/tests: Use loopback address in test_wsk_listen_socket.
riched20: Obtain the composition start index after deleting selection.
ntdll: Check for delayed free block in heap_validate_ptr.
ntdll: Validate subheap's owner heap when validating heap.
ntdll: Validate blocks in the heap pending free request list.
ntdll: Remove redundant WARN_ON(heap) check.
ws2_32/test: Fix sockaddr buffer overflow in test_reuseaddr.
include: Add noreturn attribute to RtlRaiseStatus.
include/msvcrt: Add noreturn attribute to _assert.
Joshua Ashton (1):
winevulkan: Enable VK_EXT_hdr_metadata.
K.B.Dharun Krishna (1):
po: Update Tamil translation.
Kacper Michajłow (1):
include: Add some DXGI_COLOR_SPACE_TYPE enumeration values.
Mohamad Al-Jaf (5):
include: Add windows.system.profile.systemmanufacturers.idl file.
windows.system.profile.systemmanufacturers: Add stub DLL.
windows.system.profile.systemmanufacturers: Stub ISmbiosInformationStatics interface.
windows.system.profile.systemmanufacturers/tests: Add ISmbiosInformationStatics_get_SerialNumber tests.
windows.system.profile.systemmanufacturers: Implement ISmbiosInformationStatics_get_SerialNumber.
Nikolay Sivov (11):
include: Add recent DirectWrite API changes.
windows.globalization: Implement ILanguage::get_LanguageTag().
comctl32/header: Do not touch 'hwnd' field in HDM_LAYOUT.
ktmw32: Use syscall interface for transaction objects stubs.
propsys: Add InitPropVariantFromStringVector().
d3dx9/preshader: Set input table size for texture shaders.
d3dx9: Create parameter evaluator for texture shaders.
d3dx9: Partially implement D3DXFillTextureTX().
d3dx9/tests: Add a helper to compare filled cube textures.
d3dx9: Fix ARGB texture fills with negative component values.
d3dx9: Partially implement D3DXFillCubeTextureTX().
Paul Gofman (14):
ntdll/tests: Fix the case of absent XSTATE context in test_copy_context().
ntdll/tests: Fix xstate tests failing on modern Windows and CPUs with more xstate features.
ntdll/tests: Fix random test failure in test_restore_context().
ntdll: Factor out context_copy_ranges() function.
ntdll: Do not use extended context in RtlCopyContext() if extended state is not copied.
ddraw: Do not report D3DDEVCAPS_HWRASTERIZATION for RGB emulation device.
ntdll: Use MemAvailable field for free RAM estimation if available.
cryptnet: Cache revocation status in verify_cert_revocation().
cryptnet: Use cert data hash as cache id instead of serial number.
cryptnet: Also hash issuer cert for cache id.
msmpeg2vdec: Add stub dll.
msauddecmft: Add stub dll.
ntdll: Add stub for NtQueryInformationProcess( ProcessHandleTable ).
ws2_32: Provide same address order from gethostbyname() on consequent calls.
Robert Wilhelm (2):
vbscript: Return type mismatch for UBound(Empty) and UBound(NULL).
vbscript: Return type mismatch for LBound(Empty) and LBound(NULL).
Rémi Bernon (57):
sechost: Use heap_strdup_multi_AtoW for dependencies in CreateServiceA.
services: Use a separate allocation for NotifyParamsArray[0].params.
dwrite: Statically init the system_fallback locale list.
schedsvc: Avoid mismatching heap in SchRpcEnumFolders.
schedsvc: Avoid mismatching heap in SchRpcEnumTasks.
schedsvc: Avoid mismatching heap in RPC allocations.
schedsvc: Use CRT allocation functions in remaining calls.
dinput: Avoid sending envelope report if it has been removed.
windows.gaming.input: Fix infinite effect duration scaling.
windows.gaming.input: Introduce new effect_reorient_direction helper.
windows.gaming.input: Fix magnitude sign for constant and ramp effects.
hidp: Allow match all usages on specific functions only.
oledb32: Fix error info cleanup dispparams rgvarg index.
oledb32/tests: Avoid use-after-free and unused assignment.
dinput: Remove outdated and superfluous comments.
dinput: Add traces to the ANSI wrappers.
dinput: Remove unnecessary initialization helpers.
dinput: Move dinput class implementation to dinput.c.
dinput: Rename lpdid local variable to device.
include: Add Windows.Foundation.Collections.IVectorChangedEventArgs definition.
include: Add Windows.Foundation.Collections.IMapChangedEventArgs<T> definition.
include: Add Windows.Foundation.Collections.MapChangedEventHandler<K, V> definition.
include: Add Windows.Foundation.Collections.IMap<K, V> definition.
include: Add Windows.Foundation.Collections.IObservableMap<K, V> definition.
include: Add Windows.Foundation.Collections.IPropertySet definition.
include: Add Windows.Foundation.Collections.IObservableVector<T> definition.
include: Add Windows.Foundation.IAsyncActionWithProgress<TProgress> definition.
include: Add Windows.Foundation.IAsyncOperationWithProgress<TResult, TProgress> definition.
dinput: Use an internal refcount on all dinput devices.
dinput: Introduce a new struct to keep input thread state.
dinput: Introduce new input_thread_update_device_list helper.
dinput: Keep an internal refcount for dinput devices references.
dinput: Keep a reference on acquired devices while waiting.
dinput: Update the input thread device list when notified only.
dinput: Update the device status while holding its CS.
dinput: Cleanup low-level hooks on input thread exit.
dinput: Introduce new dinput_unacquire_window_devices helper.
dinput: Unacquire all devices on internal thread error.
dinput: Keep track of input thread users using public refcounts.
gitlab: Run dinput 64-bit tests in a dedicated job.
dinput/tests: Dynamically allocate async operation handlers.
dinput: Move window hook checks to input_thread_update_device_list.
dinput: Move rawinput registration to input_thread_update_device_list.
dinput: Move di_em_win_wndproc function around.
dinput: Use SendMessageW to notify and stop input thread.
dinput: Avoid entering hook CS for rawinput messages.
include: Declare some NtUser pointer related syscalls.
win32u: Move NtUserEnableMouseInPointer from user32.
win32u: Stub NtUserIsMouseInPointerEnabled syscall.
win32u: Stub NtUserGetPointerInfoList syscall.
win32u/tests: Test NtUserEnableMouseInPointer syscall.
win32u/tests: Test NtUserIsMouseInPointerEnabled syscall.
win32u/tests: Test NtUserGetPointerInfoList syscall signature.
comctl32/tests: Test unicode nature of window subclasses.
comctl32: Save unicode window nature on SetWindowSubclass call.
comctl32: Always use unicode messages for subclass procedures.
comctl32: Skip restoring window proc if it has been modified.
Santino Mazza (3):
mshtml/tests: Test for get_all and get_body in document fragments.
mshtml: Use This->node for HTMLDocument_get_all.
mshtml: Implement HTMLDocument_get_body for document fragments.
Shaun Ren (3):
winegstreamer: Parse all tag events in query_tags.
winegstreamer: Map MF_SD_LANGUAGE to ISO 639-1 for QuickTime media.
mfplay/tests: Add tests for MF_SD_LANGUAGE.
Zebediah Figura (31):
d3d11/tests: Add a basic test for vertex formats.
d3d10core/tests: Add a basic test for vertex formats.
wined3d: Separate a parse_channel_desc() helper.
wined3d: Use a string channel desc to initialize typed formats.
rpcrt4: Use a CONTAINING_RECORD helper to retrieve CStdStubBuffer from IRpcStubBuffer.
rpcrt4: Use a CONTAINING_RECORD helper to retrieve CInterfaceStubHeader from CStdStubBuffer.
rpcrt4: Rename "ref_counted_vtbl" to "struct delegating_vtbl".
rpcrt4: Use a flexible array member in struct delegating_vtbl.
rpcrt4: Use CONTAINING_RECORD in release_delegating_vtbl().
win32u: Make call_messageAtoW() static.
win32u: Make the global "caret" structure static.
win32u: Make create_brush() hidden.
win32u: Make draw_frame_caption() static.
win32u: Make draw_scroll_bar() static.
win32u: Make DrawTextW() hidden.
win32u: Make get_winproc_ptr() static.
win32u: Make ImmProcessKey() hidden.
win32u: Make ImmTranslateMessage() hidden.
win32u: Make is_child() hidden.
ntdll: Make fd_set_file_info() static.
ntdll: Make call_user_mode_callback() hidden.
ntdll: Make user_mode_callback_return() hidden.
ntdll: Make __wine_syscall_dispatcher_prolog_end() hidden on x86_64.
ntdll: Make __wine_unix_call_dispatcher_prolog_end() hidden on x86_64.
win32u: Make send_message_timeout() hidden.
win32u: Make set_visible_region() hidden.
winex11: Make client_foreign_window_proc hidden.
winex11: Include x11drv.h in xrandr.c even if compiling without xrandr.
winepulse: Include mult.c in pulse.c.
include: Fix the definition of DIFXAPILOGCALLBACK_* functions.
include: Add more definitions to difxapi.h.
Zhiyi Zhang (4):
comctl32/tests: Add WM_STYLECHANGED tests for changing listview view styles.
comctl32/listview: Repaint when changing view styles.
include: Add uiviewsettingsinterop.idl.
opengl32/tests: Make context current before calling wglCopyContext().
The Wine team is proud to announce that the stable release Wine 8.0
is now available.
This release represents a year of development effort and over 8,600
individual changes. It contains a large number of improvements that
are listed in the release notes below. The main achievement is the
completion of the conversion to PE format.
The source is available at:
https://dl.winehq.org/wine/source/8.0/wine-8.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
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.
----------------------------------------------------------------
What's new in Wine 8.0
======================
*** PE modules
- After 4 years of work, the PE conversion is finally complete: all modules can
be built in PE format. This is an important milestone on the road to supporting
various features such as copy protection, 32-bit applications on 64-bit hosts,
Windows debuggers, x86 applications on ARM, etc.
However, some modules still perform direct calls between the PE and the Unix
part, instead of going through the NT system call interface. The remaining
direct calls will be removed during the Wine 8.x development phase.
- A special syscall dispatcher is used for PE -> Unix transitions, to avoid the
overhead of a full NT system call. This minimizes the performance impact of the
new architecture, in particular for the OpenGL and Vulkan libraries.
- Building mixed Windows/Unix libraries in ELF format (.dll.so libraries) is
still supported for use in Winelib applications. However, such applications
won't support features enabled by the NT syscall interface, such as WoW64
without 32-bit libraries.
*** WoW64
- WoW64 thunks are implemented for essentially all Unix libraries, enabling a
32-bit PE module to call a 64-bit Unix library. Once the remaining direct
PE/Unix calls have been removed, this will make it fully possible to run
32-bit Windows applications without any 32-bit Unix library.
- When the 32-bit Wine loader isn't found, 32-bit applications are started in
the new experimental "Windows-like" WoW64 mode (where 32-bit code runs inside
a 64-bit host process). This mode can be enabled by building with the
'--enable-archs' configure option. This is still under development and not yet
recommended for general use. Since in case of configuration errors it is
possible for it to be triggered inadvertently, applications started in this
mode print the warning "starting in experimental wow64 mode".
*** Graphics
- The "Light" theme is enabled in the default configuration, for a more modern
look. Other themes can still be configured through WineCfg.
- The graphics drivers (winex11.drv, winemac.drv, wineandroid.drv) are converted
to run on the Unix side of the syscall boundary, and interface with the Unix
side of the Win32u library.
- The Print Processor architecture is implemented. This will be used to avoid
direct PE<->Unix calls in the printer driver.
- Effects are supported in Direct2D, including description parsing and a number
of core objects.
- Command lists recording and playback are implemented in Direct2D.
- The Vulkan driver supports up to version 1.3.237 of the Vulkan spec.
*** Direct3D
- Many optimizations related to streaming map acceleration are implemented, in
common code as well as in the GL renderer. Depending on the application, this
may result in major performance improvements.
- Adapter video memory budget change notifications are implemented.
- The Vulkan renderer supports setting multiple viewports and scissor rectangles.
- Several Direct3D 10 and 11 features, which were already implemented, are
accurately reported through capability flags:
- Per-format support for vertex and index buffers.
- Per-format support for all capabilities via D3D11_FEATURE_FORMAT_SUPPORT.
- No-overwrite maps on shader resources and constant buffers.
- Partial range binding of constant buffers.
- For convenience, a new WINE_D3D_CONFIG environment variable may be used instead
of modifying the HKEY_CURRENT_USER\Software\Wine\Direct3D registry key. The
value is a comma- or semicolon-separated list of key-value pairs, e.g.:
WINE_D3D_CONFIG="renderer=vulkan;VideoPciVendorID=0xc0de"
If an individual setting is specified in both the environment variable and the
registry, the former takes precedence.
- The Direct3D graphics card database recognizes more graphics cards.
- The Vulkan renderer limits the maximum Direct3D feature level based on
available Vulkan features.
*** Direct3D helper libraries
- A new HLSL compiler is implemented using the vkd3d-shader library.
- A new HLSL disassembler is implemented using the vkd3d-shader library.
- The HLSL preprocessor is reimplemented using the vkd3d-shader HLSL
preprocessor.
- The D3DX 10 Thread Pump is implemented.
- Many more expressions are supported in Direct3D 10 effects.
- Cubemap projection is implemented in the D3DX 9 helper library.
*** Audio / Video
- The MPEG-1 audio decoder filter for layers 1 and 2, and the separate filter for
layer 3, are both implemented on top of GStreamer.
- The ASF reader filter is implemented.
- The OpenAL32.dll wrapper library is removed, in favor of the native
OpenAL32.dll library shipped by Windows applications.
*** Media Foundation
- Content type resolution is improved in the Media Foundation Player.
- Rate control is implemented.
- The Enhanced Video Renderer default mixer and presenter are better supported.
- The DirectShow filter is implemented in the Enhanced Video Renderer.
- An initial framework is implemented for the Writer encoding API.
- The topology loader is better supported.
*** Input devices
- Controller hotplug support is greatly improved, and controller removal and
insertion are correctly dispatched to applications.
- Driving wheel device detection and reporting is better implemented, using the
SDL library and HID usages as hints for the device types.
- Force feedback effect support is improved, specifically with driving wheel
controllers.
- The HID Haptics specification is used for left / right motor rumble and trigger
rumble. It makes it possible for device drivers to expose haptics support over
HidRaw, and overcome EvDev limitations.
- The Joystick Control Panel is redesigned, with new graphics and a dedicated
view for XInput gamepads.
- Sony DualShock and DualSense controllers are supported when the hidraw backend
is used, and exposed to applications in the same way as they are on Windows.
- The Windows.Gaming.Input module is introduced, one of the first WinRT modules
in Wine, implementing a new programming interface to access gamepads, joysticks
and driving wheel devices. For this new input API, hotplug notifications are
also implemented, as well as force feedback effects and haptics. This API is
the first one to support trigger rumble.
*** Internationalization
- A proper locale database, in Windows locale.nls format, is generated from the
Unicode CLDR database. The list of supported locales is essentially identical
to that of the latest Windows version.
- Unicode string comparison is based on the Windows Sortkey database and
algorithms instead of the Unicode Collation Algorithm, yielding more compatible
results.
- Characters from high Unicode planes (in UTF-16 encoding) are supported in most
functions, in particular for case mappings, BiDi formatting, and character
shaping.
- The UTF-8 encoding is supported as Ansi codepage. It is enabled when requested
by the application's manifest.
- Unicode character tables are based on version 15.0.0 of the Unicode Standard.
- The timezone data is generated from the IANA timezone database version 2022g.
*** Text and fonts
- Font linking is enabled for most system fonts, which should fix missing glyphs
in CJK locales.
- Font fallback in DirectWrite is reworked, with additional support for an large
number of scripts.
*** Kernel
- The ApiSetSchema database is implemented, replacing all the api-ms-* forwarding
modules. This reduces both disk space and address space usage.
- DOS file attributes are persistent, and stored on disk using the filesystem's
extended attributes, in a format compatible with Samba.
*** Internet and networking
- The Online Certificate Status Protocol (OCSP) is implemented.
- More EcmaScript features are supported in JScript standard-compliant mode.
- The JScript garbage collector is implemented.
- Accessibility support is enabled in Wine Gecko package.
- Web Storage, Performance object and more event objects are implemented in
MSHTML.
*** Mono / .NET
- The Mono engine is updated to version 7.4.0. The list of changes can be viewed
at https://github.com/madewokherd/wine-mono/releases/tag/wine-mono-7.4.0
*** Builtin applications
- All the builtin applications use Common Controls version 6, which enables
theming and high-DPI rendering by default.
- The Wine Debugger (winedbg) prints thread names in the 'info thread' listing,
for applications that set the names of their threads. All internal Wine threads
also set their own name.
- The QWORD type is supported in the REGEDIT and REG registry tools.
- Notepad has a status bar displaying the current cursor position. The Goto Line
functionality is also implemented.
- The builtin console programs print data in the OEM codepage, for better
compatibility with applications reading their output.
- The Service Control tool (sc.exe) supports the 'query' command.
*** Development tools
- The PE conversion has made it necessary to implement a new mechanism to run
static C++ constructors in Winelib ELF applications. Unfortunately, this
requires the corresponding modules to be rebuilt with Wine 8.0. The rebuilt
modules will still run correctly on older Wine versions, but older modules will
no longer execute static constructors when run on Wine 8.0.
- In regression tests, individual checks can be marked as "flaky". This is useful
for checks that depend on external factors such as network timings. The errors
are still reported but not counted as failures.
- Test failure messages can be printed in color by setting the WINETEST_COLOR
environment variable, to make them easier to spot in the test log.
- The Resource Compiler (WRC) and Message Compiler (WMC) use the locale.nls
database to detect languages and codepages, and thus support all the Windows
locales.
- The WineDump tool supports printing the contents of Enhanced Metafile spool
files, as well as more contents from PDB files.
*** Build infrastructure
- PE binaries can be built for multiple architectures from the same build tree,
using the '--enable-archs' option to configure, for example
'--enable-archs=i386,x86_64'. This can be used to enable the experimental
WoW64 mode, where 32-bit applications can run without any 32-bit host
libraries. Note that this mode is still under development and not yet
recommended for general use.
- Data types that are defined as 'long' on Windows are defined as 'long' instead
of 'int' on all platforms with a 32-bit long type. This is more compatible, but
it can cause printf format warnings with Unix compilers. In Winelib code, it
can be disabled by defining WINE_NO_LONG_TYPES.
- Import libraries can be generated without using dlltool, by passing the
'--without-dlltool' option to winebuild. This is used to avoid dlltool bugs
with delay import libraries.
- Libraries that contain only resources and no code can be built with the
'--data-only' option to winegcc, which makes them smaller and more efficient to
load.
*** Bundled libraries
- Faudio is updated to the upstream release 22.11.
- LCMS2 is updated to the upstream release 2.14.
- LibJPEG is updated to the upstream release 9e.
- LibMPG123 is updated to the upstream release 1.31.1.
- LibPng is updated to the upstream release 1.6.39.
- LibTiff is updated to the upstream release 4.4.0.
- LibXml2 is updated to the upstream release 2.10.3.
- LibXslt is updated to the upstream release 1.1.37.
- Zlib is updated to the upstream release 1.2.13.
*** Platform-specific features
- The experimental WoW64 architecture is supported on macOS versions from 10.15.
- 64-bit time_t is supported on 32-bit Linux with recent Glibc versions.
- Exception unwinding on ARM platforms is extended with EHABI support on ARM32
and Dwarf support on ARM64.
*** Miscellaneous
- RSA encryption and the RSA-PSS signing algorithm are implemented.
- An initial version of the UI Automation API is implemented.
- Function name demangling supports various C++11 features.
*** External dependencies
- The vkd3d and LDAP libraries are bundled in the source tree and built as
PE. The corresponding Unix libraries are no longer needed.
- The OpenAL library is no longer used.
The Wine development release 8.0-rc5 is now available. This is
expected to be the last release candidate before the final 8.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/8.0/wine-8.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
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.0-rc5 (total 9):
- #26822 Double click the icon in the title bar should close the window
- #32643 getsockopt() does not indicate WSAEFAULT when setting optlen too small
- #45542 WeGame hangs after login.
- #50351 Slow text rendering in dofus linked to fnIMLangFontLink2_GetCharCodePages calling WideCharToMultiByte with CP_UNICODE
- #51227 urlmon:url breaks the wininet:http test on Windows 10 1709+ (7 failures)
- #51906 Multiple games fail to play videos (War Mongrels, The Medium, Sherlock Holmes Chapter One)
- #53408 Dark Souls: Remastered has slow performance with OpenGL renderer
- #53761 Broken rendering in Mafia III: Definitive Edition
- #54283 dinput:force_feedback - test_windows_gaming_input() sometimes crashes on Windows
----------------------------------------------------------------
Changes since 8.0-rc4:
Alexandre Julliard (1):
tools: Always fall back to argv[0] to find the tools directory.
Brendan Shanks (1):
kernel32/tests: Test GetFileType() with additional types of handles.
Byeong-Sik Jeon (1):
po: Update Korean translation.
Eric Pouech (3):
kernel32/tests: Extend share right for debugger's black box tests.
kernel32/tests: Merge two debug event loops in test_debugger().
kernel32/tests: Filter spurious thread creation debug events.
Fan WenJie (1):
winebuild: Only set thumb_mode on ARM targets.
François Gouget (4):
d3d12/tests: Allow a broken Windows 10 1709 hresult.
nsi: Return an error if NsiAllocateAndGetTable() fails to allocate the tables.
nsi: Add some margin to the tables size in NsiAllocateAndGetTable().
win32u: Document the font_lock handling in font_EnumFonts().
Gabriel Ivăncescu (1):
notepad: Fix uninitialized upper 64-bits of `pos` in DoFind.
Jactry Zeng (1):
po: Update Simplified Chinese translation.
Lauri Kenttä (1):
po: Update Finnish translation.
Robert Wilhelm (1):
vbscript/tests: Fix chr() tests with double-byte character sets.
Santino Mazza (2):
iphlpapi/tests: Test for Ipv4Enabled and Ipv6Enabled flags.
iphlpapi: Set Ipv4Enabled and Ipv6Enabled flags accordingly.
Tim Clem (2):
user32/tests: Test GetRawInputBuffer header fields more thoroughly.
win32u: Correct GetRawInputBuffer alignment under WoW64.
The Wine development release 8.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/8.0/wine-8.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
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.0-rc4 (total 25):
- #48553 Catia (CAD software) refuse to run installation on newest wine (<=4.18)
- #51268 Assembler messages: Error: no such instruction: `xsavec (%esp)'
- #51301 Any action that locks the cursor into place inside the Roblox Client window causes the cursor to freeze
- #51420 Running any program in Wine causes 100% cpu usage in Xorg
- #52089 d2d1:d2d1 fails in test_draw_geometry() on Wine
- #52152 comctl32:edit gets unexpected heights in test_text_position_style() on Windows 10 1809+
- #52429 Guild Wars: login not possible
- #52557 GetNetworkParams loops forever on musl
- #52749 winetricks dotnet35sp1: printfilterpipelinesvc.exe crashes in background
- #52932 comctl32:edit & user32:edit have test_char_from_pos() failures on Windows with the UTF-8 codepage
- #52994 mstask:task_trigger - test_GetNextRunTime() fails in Wine on date change
- #53382 Slow rendering when connected to external monitor
- #53536 ntdll:rtl - The 32-bit RtlUlonglongByteSwap() breaks test_RtlDecompressBuffer() on Windows
- #53583 FindNLSStringEx reimplementation doesn't match native
- #53671 No objects are being rendered in any DX10/11 apps with older GPU drivers
- #53837 HS_hevo_gc 8.6.1.2 fails to install
- #54045 ntdll:rtl - test_RtlIpv6StringToAddress() fails on Windows 11
- #54151 xactengine3_7:xact3 crashes when no speaker is connected
- #54172 ddraw:ddraw1, ddraw:ddraw2, ddraw:ddraw4, ddraw:ddraw7 - test_window_position() gets the size of the wrong screen in Wine
- #54180 Petz 4 has corrupt .pet files at startup
- #54210 Wine fails to compile with Linux 4.11 headers (use of undefined AT_HWCAP2)
- #54218 RTLD_SELF use breaks musl build since 8.0-rc1
- #54263 Build of 7.22 fails with mingw-w64 10.0
- #54264 Hyperdimension Neptunia Re;Birth1 crashes on exit in xactengine notification callback
- #54287 wineconsole: alternate screen buffer does not work
----------------------------------------------------------------
Changes since 8.0-rc3:
Alexandre Julliard (6):
Update copyright info for 2023.
gitlab: Add a daily win10 test run.
kernelbase: Fix FindNLSStringEx for strings with no primary weights.
wow64: Initialize win32u syscall table when it is mapped.
winecrt0: Check for RTLD_SELF support to enable ELF constructors.
tools: Create a temporary directory to store temp files.
Alistair Leslie-Hughes (1):
faudio: Purge and clear notifications on ShutDown.
Conor McCarthy (1):
d3d11: Apply the 'KEEP' options when sending RTVs and UAVs to wined3d.
Eric Pouech (7):
user32/tests: Retry when opening the clipboard.
user32/tests: Fix failing WM_PASTE tests for edit control on Win10+.
comctl32/tests: Retry when opening the clipboard.
comctl32/tests: Fix failing WM_PASTE tests for edit control on Win10+.
conhost: Reset console attribute upon exit in unix mode.
conhost: Initialize color_map when creating an alternate screen buffer.
po: Update French translations.
Gabriel Ivăncescu (2):
win32u: Initialize the tracking_info for NtUserDrawScrollBar params.
winex11.drv: Obtain icon info for icons passed to fetch_icon_data().
Gerald Pfeifer (1):
wrc: Avoid undefined behavior in the FreeBSD case.
Hans Leidekker (7):
iphlpapi: Handle errors from DnsQueryConfig(DnsConfigDnsServerList).
wininet/tests: Pass INTERNET_FLAG_RELOAD in secure connection tests.
shell32/tests: Fix a test failure on Windows 11.
ws2_32/tests: Fix test failures on Windows 11.
ntdll: Conform to Windows 11 behavior in RtlIpv6StringToAddress().
ntdll: Fix a test failure on Windows 11.
ntdll/tests: Mark some test results on Windows 11 as broken.
Hugh McMaster (1):
conhost: Migrate from FontPitchFamily to FontFamily.
Jacek Caban (2):
include: Add vadefs.h header.
include: Add stdarg.h header.
Julian Rüger (1):
po: Update German translation.
Paul Gofman (3):
dwmapi: Fill qpcVBlank in DwmGetCompositionTimingInfo().
cryptnet: Check cached revocation status in verify_cert_revocation().
cryptnet: Also cache revocation status when using OCSP.
Rémi Bernon (10):
ole32: Use CRT allocation for MIDL_user_(allocate/free).
ole32: Allocate IEnumSTATDATA data with the process heap.
ole32: Reset IMoniker data pointer to NULL on failure.
ole32: Allocate and free moniker lists with CRT allocations.
dinput/tests: Remove the async cancel tests.
rpcrt4/tests: Avoid invalid free of static string.
msv1_0: Avoid double free when SpAcceptLsaModeContext fails.
msv1_0: Avoid double free when SpInitLsaModeContext fails.
wininet: Allocate returned options strings with the process heap.
comctl32: Avoid mismatching heap in ProgressWindowProc.
Stefan Dösinger (1):
wined3d: Clamp the bound buffer range to the buffer size.
Zebediah Figura (4):
ntdll: Check for AT_HWCAP2 definition before using it.
ntdll: Manually write byte code for the xsavec instruction.
wined3d: Map the destination BO with WINED3D_MAP_DISCARD when replacing the entire destination in wined3d_context_gl_copy_bo_address().
wined3d: Write into a mapped BO when replacing the entire destination in wined3d_context_gl_copy_bo_address().
Zhiyi Zhang (2):
win32u: Introduce a get_display_depth() helper to retrieve emulated display depth.
ddraw/tests: Do not create a fullscreen test window in test_window_position_cb().
The Wine development release 8.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/8.0/wine-8.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 8.0-rc3 (total 28):
- #35126 AirBuccaneers hangs on exit
- #41339 Minor regression: Wine loads with "/wine/dlls/ntdll/loader.c: loader_section" errors when creating a new prefix or running an application
- #47438 Bloodstained: Ritual of the Night freeze at whitescreen
- #47536 Can't aim in Overwatch after alt-tabbing
- #47828 regedit: Random crashes on selecting an entry (thread-related?)
- #48322 World of Warcraft Classic: Mouse movement can block keydown events from registering
- #49164 Call of Cthulhu: Dark Corners of the Earth crashes after start
- #50519 Adobe Digital Editions 4.5 crash on Wine 6.0
- #52563 d3d11:d3d11 fails in test_dynamic_map_synchronization() on cw-rx460 in Wine
- #52903 Resizing Dn-FamiTracker fails to redraw pattern editor and status bar
- #53101 Public Peer silently exits
- #53403 winegstreamer "flush" removal breaks radio in fallout 3
- #53627 Max Payne: mouse scroll behaves erratically
- #53640 Bully: Scholarship Edition hangs on loading screen and doesn't play intros
- #53680 urlmon:url - test_BindToStorage() fails on Windows <= 8.1
- #53743 Vivisector has graphical glitches
- #53748 Sacred Gold (GOG): missing audio in .wmv videos
- #53752 Rayman 3: glitched graphics (black textures)
- #53785 Need for Speed: Payback crashes on launch with OpenGL renderer
- #53863 Tsui no Stella = Stella of the End: doesn't launch anymore (GL_INVALID_OPERATION)
- #53908 Comptes.exe errors with "dxLockMessage fails"
- #53995 d2d1:d2d1 runs out of GL memory and crashes on the debian 11 VM
- #54023 d3d11:d3d11 - test_dynamic_map_synchronization() fails on w11pro64_nv
- #54049 ddraw:ddraw2 test_texture_wrong_caps test triggers use after free bug
- #54170 20XX: invisible character
- #54184 Multiple applications fail http requests when WinHttpSendRequest() doesn't contain full request data
- #54191 Agarest 1 stopped showing Videos after implementing ASF Reader filter
- #54268 Moving the separator in regedit don't repaint listview
----------------------------------------------------------------
Changes since 8.0-rc2:
Alexandre Julliard (3):
d3d9/tests: Mark a texture sampling test as todo.
d3d9/tests: Mark a render target color test as todo.
d3d9/tests: Fix some activation/focus test failures.
Alistair Leslie-Hughes (2):
xactengine3_7/tests: Skip tests when XACTEngine Initialization fails.
include: Add missing enum XHR_PROP_ values.
André Zwing (3):
advapi32/tests: Don't test function directly when reporting GetLastError().
kernel32/tests: Don't test function directly when reporting GetLastError().
setupapi/tests: Don't test function directly when reporting GetLastError().
Biswapriyo Nath (1):
include: Add missing constants in d3d11.idl.
Eric Pouech (2):
comctl32/tests: Fix failing test on Windows in Arabic UTF-8.
comctl32/test: Adapt the edit tests for height to Win10+.
Floris Renaud (1):
po: Update Dutch translation.
Jinoh Kang (4):
user32/tests: Add tests for CS_HREDRAW and CS_VREDRAW.
win32u: Honor CS_HREDRAW and CS_VREDRAW when resizing window.
regedit: Use the default WM_PAINT implementation for REGEDIT window.
regedit: Clip siblings when drawing list and tree views.
Nikolay Sivov (1):
comctl32/tests: Ignore some IME messages in monthcal tests.
Philip K. Gisslow (1):
msi: Initialize all members of WINTRUST_DATA.
Piotr Caban (2):
msvcirt: Don't fail in streambuf_xsputn on 0xff character.
msvcirt: Fix ostream_print_char on 0 character.
Rémi Bernon (5):
dinput/tests: Reduce tests verbosity.
dinput/tests: Test W.G.I ramp effect with negative directions.
dinput/tests: Test W.G.I constant effect with negative direction.
dinput/tests: Test W.G.I periodic effect with negative direction.
dinput/tests: Test W.G.I condition effect with negative direction.
Tim Clem (3):
dinput/tests: Test granularity of the mouse z-axis.
dinput: Create object_properties for each mouse axis.
dinput: Add granularity to object_properties.
Vladislav Timonin (1):
comctl32/listview: Exclude header area in WM_NCPAINT.
Zebediah Figura (10):
ntdll/tests: Avoid testing the server pipe signaled state from the main thread.
d3d11/tests: Do not test deferred contexts in test_dynamic_map_synchronization().
d3d9/tests: Test uploading the whole mipmap chain in one map.
d3d8/tests: Test uploading the whole mipmap chain in one map.
wined3d: Load and invalidate every mipmap level when mapping the top mipmap level.
wined3d: Ignore DISCARD and NOOVERWRITE on buffers which are not GPU-accessible.
winegstreamer: Factor out a parser_create() helper.
winegstreamer: Protect the "streaming" member of struct parser with a separate lock.
winegstreamer: Explicitly sleep in the streaming thread when flushing.
d3d8: Filter out redundant buffer discards.
Zhiyi Zhang (1):
d2d1/tests: Fix memory leaks.
Ziqing Hui (2):
mfplat/tests: Test MFGetStrideForBitmapInfoHeader for NV11.
mfplat/tests: Add more RGB24 image size tests.
The Wine development release 8.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/8.0/wine-8.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 8.0-rc2 (total 50):
- #31927 ws2_32:sock fails intermittently - 'Test succeeded inside todo block: GetQueuedCompletionStatus returned 0'
- #42797 ICU64 for VICE: No highlighted read/write-colors in Memory-window.
- #46500 Cogpack - Exercises can't be run - Error 380 - Invalid property value
- #46538 Unreal Tournament (UT99): mouse clicks in main menu work only once
- #49394 CED1401 USB function driver needs ntoskrnl.exe.KeInsertQueueDpc()
- #49517 Warframe crashes during loading before menu with wined3d, gives popup
- #50013 MyPhoneExplorer 1.8.15 crashes
- #50043 Kholat from GOG does not launch anymore
- #50315 Silent Hill 2 failed to install -installshield extraction error
- #50468 winedbg fails to load symbols for non PE builtin dlls
- #52334 Performance has degraded in multiple games (WoW 1.12.1, Kane & Lynch: Dead Men Demo)
- #52394 "Control panel" -> "Add/Remove Programs" in builtin wine explorer is not working
- #52564 dxgi:dxgi times out in test_find_closest_matching_mode() on cw-gtx560
- #52708 libs/xslt/libxslt/attributes.c:136:9: error: variadic functions must use the base AAPCS variant
- #52779 Construction Set Extender crash with an Assertion Error in wine 7.5
- #52873 oleaut32:typelib fails in Wine in Hindi
- #52964 kernel32:locale - test_CompareStringA() fails on Wine in Hindi
- #52997 Integration of D3D12 support with a PE build of vkd3d causes a crash in Steam Overlay.
- #53028 gamepad buttons stopped working correctly
- #53099 wineserver (gcc -O0) crash when exiting LiLi USB Creator
- #53300 Controller response delayed
- #53384 Hogia Hemekonomi Unexpected error on first start
- #53406 Had been running 7.10 Fedora version no problem, but today updated to 7.12 broke??
- #53485 Cursor is missing in Visio 2003 when editing text
- #53503 QuickBooks Pro 99 page faults with print preview or attempting to print
- #53525 dinput:hid - test_hid_multiple_tlc() sometimes fails with testsigning turned on
- #53550 Some Catalan locales not properly handled
- #53595 Iran Timezone is not detected correctly
- #53623 Resident Evil 7 has broken rendering in DX11 mode
- #53625 In function ‘get_gnutls_cipher’ ... error: ‘GNUTLS_CIPHER_AES_128_CFB8’ undeclared
- #53744 WM_SETTEXT between ANSI programs treating LPARAM as Unicode causing name corruption
- #53756 configure fails in 32-bit gcc checking pthread_create using -Wl,--disable-stdcall-fixup
- #53884 Project Ignis: EDOPro corrupted textures on resizing
- #53894 user32:sysparams - test_WM_DISPLAYCHANGE() times out on Windows 7+
- #53911 DC++ can't retrieve file list from another user
- #53912 Static initialization in Winelibs may hang the loader as of Wine 7.21
- #53918 Building with external PE libraries fails when static libraries are also installed
- #53941 Chicken Tournament crashes on start
- #53976 ntoskrnl.exe:ntoskrnl - test_pnp_devices() fails on Windows 7
- #53977 amstream:amstream qedit:mediadet mf:transform mfmediaengine:mfmediaengine quartz:filtergraph winmm:mci wmp:media wmvcore:wmvcore mf:mf mfplay:mfplay qasf:asfreader broken on Debian Testing
- #53980 httpapi:httpapi sometimes crashes testing overlapped I/O with the v2 server in Wine
- #53990 Serious Sam 2 crashes with OpenGL renderer
- #54000 user32:win - test_mouse_input() gets an unexpected 0x60 message on Windows 11
- #54060 Compilation fails with gcc 4.8.4 (Error: junk at end of line, first unrecognized character is `"')
- #54085 windows.devices.enumeration:devices - test_DeviceAccessInformation() sometimes crashes on Windows 10
- #54094 kernel32:process - test_services_exe() sometimes fails due to an invalid buffer size in Windows
- #54096 Non-PE builds broken since "ntdll: Move the .so module initialization to winecrt0."
- #54101 unimplemented function MSVCP70.dll.?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ
- #54105 taskschd:scheduler fails on Windows 10 1607+
- #54121 8.0-rc1 build fails with errors in bcrypt in Ubuntu 18.04
----------------------------------------------------------------
Changes since 8.0-rc1:
Akihiro Sagawa (1):
po: Update Japanese translation.
Alex Henrie (4):
include: Add _recalloc.
joy: Correct spelling of "overridden".
dswave: Don't force a calling convention on internal functions.
po: Update Catalan translation.
Alexandre Julliard (14):
winecrt0: Include windef.h to get definitions needed on FreeBSD.
winegcc: Add -ldl when linking .so files.
oleaut32: Fix A<->W conversion when storing names in typelibs.
kernel32/tests: Fix a string comparison test in utf-8 locales.
d3d9/tests: Mark a few more message tests as flaky.
winebuild: Use new ELF tag ids also on 64-bit.
winebuild: Disable relay for non-standard fastcall parameters.
winegcc: Check for Mingw-style .dll.a import libraries.
ntdll: Match a timezone change happening at 23:59:59 with the following day.
d3d8/tests: Mark a zero-size pixel test as todo.
d3d9/tests: Mark a zero-size pixel test as todo.
d3d9/tests: Mark some of the depth bias tests as todo.
d3d8/tests: Don't require WM_MOVE on window reactivation.
d3d8/tests: Make sure that the window has focus before testing loss of focus.
Eric Pouech (14):
d3dx9/tests: Avoid a GCC warning (-Wsizeof-array-div).
rpcrt4: Pass a common header to RPCRT4_BuildCommonHeader.
rpcrt4: Fix GCC12.2 warnings.
kernel32/tests: Fix a debugger test failing on Windows.
ntdll: Fix export and calling convention of RtlUlonglongByteSwap().
ntdll/tests: Add tests for RtlU(long|short)ByteSwap().
ntdll: Implement RtlU(short|long)ByteSwap() using fastcall bits.
kernel32/tests: Fix failing debugger test on Win7.
kernel32/tests: Improve loading of debugger's test children results.
kernel32/tests: Handle some variations in process start debug events.
kernel32/tests: Test that control characters can be read & stored.
conhost: Don't print control characters for Unix tty.
kernel32/tests: Silence a failing test on Win10+.
kernel32/tests: Skip some console tests on w1064v1909.
Fabian Maurer (2):
user32/tests: Ignore undocumented Win11 message.
urlmon: Pass correct parameter to realloc and simplify code (Coverity).
Gabriel Ivăncescu (6):
mshtml: Fix document fragment's inner window leak.
mshtml: Fix previous EventObj leak.
jscript: Release converted args after invoking.
jscript: Fix array ref leak when setting element.
jscript: Fix refcount trace's long type format specifier.
jscript: Fix JSCaller Release refcount.
Gerald Pfeifer (4):
winebus.sys: Fix the build without HAVE_SYS_INOTIFY_H.
libwine: Only define exe_link when needed.
wmc: Avoid uninitialized variable in init_argv0_dir.
winebus.sys: Declare a variable only when used.
Hans Leidekker (1):
bcrypt: Add PSS compatibility defines.
Huw D. M. Davies (10):
winemac: Fix printf format warnings in clipboard.c.
winemac: Fix printf format warnings in display.c.
winemac: Use a designated initializer to silence a compiler warning.
winemac: Fix printf format warnings in event.c.
winemac: Fix LONG vs int mismatch.
winemac: Fix printf format warnings in keyboard.c.
winemac: Fix printf format warnings in mouse.c.
winemac: Fix printf format warnings in window.c.
winemac: Fix remaining printf format warnings.
ntdll: Only compile get_current_teb() on linux.
Jacek Caban (5):
win32u: Call init_window_call_params after WH_CALLWNDPROC hook in call_window_proc.
win32u: Convert inter-process messages to Unicode.
win32u/tests: Add inter-process message tests.
urlmon/tests: Use gitlab.winehq.org host in can_do_https.
shell32: Always set last error in Shell_NotifyIconW.
Michael Stefaniuc (3):
dmime: Split the segment object creation into a separate helper.
dmime: Implement the IDirectMusicSegment8_Clone() method.
dmcompos: Return a valid pointer from ComposeSegmentFromTemplate().
Paul Gofman (9):
bcrypt: Do not error out for GNUTLS_ECC_CURVE_SECP384R1 in key_export_ecc().
bcrypt: Use SecureZeroMemory() to zero magic values before free.
bcrypt: Return correct error from key_asymmetric_encrypt() if key is missing.
bcrypt: Set pubkey from privkey in key_asymmetric_import().
bcrypt/tests: Test BCRYPT_PAD_NONE encryption result in test_rsa_encrypt().
winhttp: Check for NULL lpszAutoConfigUrl in WinHttpGetProxyForUrl().
winhttp: Handle state in a single switch in receive_response().
winhttp: Only read server reply in send_request() if the whole request is sent.
ddraw/tests: Release ddraw after device in test_texture_wrong_caps().
Piotr Caban (4):
winspool/tests: Fix test failures on Windows 11.
shell32: Store NameSpace registry path in global variable.
shell32: Add partial ControlPanel GetAttributesOf implementation.
shell32: Fix SHChangeNotify test failures.
Robert Wilhelm (1):
vbscript: Fix spelling in a FIXME message.
Ryan Hendrickson (1):
wined3d: Recognize AMD as a vendor string.
Rémi Bernon (23):
winevulkan: Skip asserts for some critical functions.
winevulkan: Skip traces for some critical functions.
winevulkan: Return void for some critical functions.
user32/tests: Don't expect WM_DISPLAYCHANGE with the default display mode.
user32/tests: Use %d to print last_bpp instead of %u.
hidclass.sys: Make sure a desktop is created for the driver process.
dinput/tests: Unregister rawinput devices after tests.
dinput/tests: Remove old physical joystick tests.
dinput/tests: Avoid using INFINITE timeouts.
dinput/tests: Use semaphores to count and notify rawinput messages.
dinput/tests: Add a device count parameter to hid_device_(start|stop).
dinput/tests: Wait for each device interface to start / stop.
user32/tests: Test EnableMouseInPointer behavior.
user32/tests: Test IsMouseInPointerEnabled behavior.
user32/tests: Test GetPointerInfo behavior with EnableMouseInPointer.
user32/tests: Move old GetPointerType tests into test_GetPointerInfo.
user32/tests: Test GetPointer(Frame)Info(History) behavior.
dinput/tests: Factor async await together with some new helpers.
dinput/tests: Test windows.gaming.input infinite effect duration.
dinput/tests: Test dinput force feedback effect envelope removal.
Revert "qasf: Register ASF Reader filter media type."
opengl32/tests: Test wglChoosePixelFormatARB flags filters.
winex11: Check pixel format flags in X11DRV_wglChoosePixelFormatARB.
Shaun Ren (2):
mfmediaengine: Change media_engine_Shutdown FIXME to TRACE.
mfmediaengine: Pause the session in media_engine_Pause.
Sven Baars (2):
win32u: Account for 16-bit instances in find_class().
wined3d: Do not explicitly check 3D depth/stencil capabilities in wined3d_check_device_format().
Torge Matthies (1):
ntdll: Make sure xmm6-xmm15 are always restored in unix call dispatcher.
Zebediah Figura (21):
win32u: Downgrade the NtOpenFile ERR to a WARN in add_device().
include: Add CONFIGFLAG_* definitions.
ntoskrnl/tests: Ignore CONFIGFLAG_FINISH_INSTALL on the child device.
ws2_32/tests: Add tests for state inherited by accept().
server: Inherit address reuse flags in accept_socket().
server: Inherit the SO_SNDBUF value in accept_socket().
server: Inherit the SO_RCVBUF value in accept_socket().
server: Inherit the SO_SNDTIMEO value in accept_socket().
server: Inherit the SO_RCVTIMEO value in accept_socket().
wined3d: Require depth bias clamp to create a feature level 10.0 device.
wined3d: Disable wide line support.
wined3d: Require precise occlusion queries to create a feature level 9.2 device.
wined3d: Require pipeline statistics queries to create a feature level 10.0 device.
wined3d: Require vertex pipeline image stores and atomics to create a feature level 11.1 device.
wined3d: Always bind to GL_ELEMENT_ARRAY_BUFFER if the bind flags include WINED3D_BIND_INDEX_BUFFER.
win32u: Set the width and height when creating a caret from an existing bitmap.
httpapi: Allow passing NULL size to HttpReceiveHttpRequest().
httpapi: Allow passing NULL size to HttpReceiveRequestEntityBody().
httpapi/tests: Test passing NULL size to request reading functions.
d3d9/tests: Test GenerateMipSubLevels() on a managed texture.
d3d9: Upload the relevant texture in d3d9_texture_gen_auto_mipmap().
Ziqing Hui (7):
mf/tests: Test GetOutputType for WMV decoder.
mf/tests: Test info headers returned by GetOutputType for WMV decoder.
mf/tests: Shorten test messages.
mf/tests: Introduce check_dmo_set_input_type.
mf/tests: Use one input type for GetOutputType tests.
mf/tests: Test SetOutputType for WMV decoder.
mfplat/tests: Add MEDIASUBTYPE_RGB* and NV11 image size tests.
The Wine development release 8.0-rc1 is now available.
This is the first release candidate for the upcoming Wine 8.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 8.0 as good as possible.
What's new in this release:
- Bundled vkd3d upgraded to version 1.6.
- Vulkan and OpenGL thunking optimizations.
- More support for print processors.
- Improved joystick control panel.
- Long types printf format conversion finished.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.0/wine-8.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 8.0-rc1 (total 52):
- #28290 shell32:shelllink - test_load_save() crashes randomly in Wine
- #36681 ws2_32/tests/sock.c fails on gentoo without IPX support
- #46649 Multiple applications need D3DXDisassembleShader() implementation (Tom Clancy's Rainbow Six: Vegas 2, The Void)
- #48105 kernel32:console fails on Japanese and Chinese Windows
- #51234 user32:clipboard test_ClipboardOwner() has a race condition with clipboard managers
- #51456 oleaut32:typelib: test_CreateTypeLib(SYS_WIN32) fails in 64-bit Wine
- #51457 The 32-bit version:install fails in 64-bit wineprefixes (now todo)
- #51780 The user32:msg output is too big in Wine
- #52507 user32:win has some spurious GetScrollInfo failures
- #52875 riched20:editor fails with the UTF-8 code page
- #52877 user32:msg - test_dbcs_wm_char() fails in Wine in the Japanese and Chinese locales
- #52909 rpcrt4:ndr_marshall crashes on the latest Windows 8.1, 21H1 and 21H2
- #52910 mshtml:htmldoc fails on Windows with the UTF-8 codepage
- #52965 kernel32:locale - test_GetLocaleInfoW() and test_invariant() fail on Windows in Hindi
- #52980 conhost.exe:tty - test_tty_input() fails in most locales on Windows
- #53183 shell32:shelllink - test_load_save() randomly fails to delete test.lnk in Wine
- #53199 dinput:force_feedback - test_windows_gaming_input() sometimes has unexpected reference counts in Wine
- #53207 user32:msg - test_button_messages() fails randomly in Windows and Wine
- #53208 user32:msg - The SW_SHOWMINIMIZED test in test_messages() succeeds in Wine with fvwm
- #53211 ddraw:ddraw1 has over 255 failures on the debian11 TestBot VMs
- #53233 ddraw:ddraw1 - test_clear() has rare failures in Wine on the debian11 VM
- #53240 dinput:device8 - test_sys_mouse() has some rare failures on the TestBot VMs
- #53254 urlmon:url - test_URLDownloadToFile_abort() sometimes fails on Windows 7+
- #53327 Ragnarok Online bad performance
- #53342 quartz:mpegaudio - The 64-bit test_streaming_events() times out on fg-deb64
- #53530 mshtml:htmldoc - test_editing_mode(TRUE, TRUE) sometimes fails
- #53568 16bit applications refuse to start wine 7.15+
- #53646 Multiple installers crash in user32 (Drakan, Star Wars, Colin McRae, X-COM, etc.)
- #53678 vbscript can not compile CaseClausules that do not use a colon
- #53684 ntdll:info is broken on Windows 8 to 10 1709 in the GitLab WineTest builds
- #53686 The 64-bit kernel32:console is broken on Windows in the GitLab WineTest builds
- #53783 vbscript can not compile private const expressions
- #53814 TMUnlimiter 1.2.0.0 requires ini files with whitespace in the section to be parsed properly
- #53895 ddraw:ddraw1, ddraw:ddraw2, ddraw:ddraw4, ddraw:ddraw7 - test_cursor_clipping() fails on dual screen setups in Wine
- #53927 script56.chm help file pages not functioning properly due to wine missing beforeprint and afterprint html events
- #53950 dup2 error returns ENFILE instead of EBADF
- #53964 Redim should fail on fixed arrays
- #53966 NCryptExportKey is not implemented
- #53968 NCryptSignHash is not implemented
- #53971 postgresql installer 9.3 needs support for Username in WScript.Network
- #53972 BCryptSignHash does not support BCRYPT_PAD_PSS
- #53987 Regression in print handling in Framemaker 8
- #53996 MDB Viewer Plus: can not open database
- #53999 JGlossator crashes
- #54009 Wine segfaults on startup on macOS 12 and 13
- #54012 kernel32:heap - The 64-bit test_GlobalAlloc() fails on Windows 7
- #54043 Studio One Professional 5 crash on launch with an unimplemented function USER32.dll.RegisterSuspendResumeNotification
- #54057 prints do not work in any application
- #54075 wldap32:parse - test_ldap_paged_search() sometimes gets LDAP_SERVER_DOWN in Wine, crashes
- #54087 mshtml:events sometimes gets a failure in Protocol_Continue() on Windows
- #54098 winhttp:notification fails and times out systematically in Wine
- #54111 Unable to run "make install" after "makedep: Add a helper function to skip spaces in strings."
----------------------------------------------------------------
Changes since 7.22:
Alex Henrie (44):
wldap32: Use the strdup function instead of reimplementing it.
mshtml: Remove string constant macros from navigate.c.
wininet: Simplify memory allocation in HTTP_InsertCustomHeader.
comctl32: Use standard C functions for memory allocation in edit.c.
atl: Fix memory leak on error path in do_process_root_key (scan-build).
vbscript: Fix memory leak on realloc failure in Global_Split (cppcheck).
shell32: Rename ShellItem to struct shell_item.
include: Add shobjidl_core.idl.
include: Annotate StrDup[AW] with __WINE_MALLOC and __WINE_DEALLOC.
hhctrl: Use standard C functions for memory allocation.
mountmgr: Use standard C functions for memory allocation.
include: Annotate I_RpcAllocate with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
services: Use standard C functions for memory allocation.
include: Annotate WlanAllocateMemory with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
include: Define __stat64.
msi: Use the wcsdup function instead of reimplementing it.
include: Annotate ber_(alloc_t|bvdup|init) with __WINE_(DEALLOC|MALLOC).
include: Annotate SnmpUtilMem(Re)Alloc with __WINE_(DEALLOC|MALLOC).
mshtml: Annotate nsalloc with __WINE_(DEALLOC|MALLOC).
rpcrt4/tests: Don't use an array of pointers in test_conf_complex_struct.
comctl32: Annotate (Re)Alloc with __WINE_(DEALLOC|MALLOC).
wiaservc: Remove unused function wiaservc_strdup.
include: Move wdbgexts.h from dbghelp to include.
shell32: Don't use GetProcAddress for GetOpenFileName[AW].
winecfg: Use standard C functions for memory allocation.
winecfg: Annotate allocation functions with __WINE_(DEALLOC|MALLOC).
quartz/tests: Remove redundant null check from testfilter_JoinFilterGraph.
rpcrt4: Use standard C functions for memory allocation.
dbghelp: Annotate allocation functions with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
include: Annotate CreateThreadpool* with __WINE_(DEALLOC|MALLOC).
kernel32/tests: Use the strcasecmp function instead of reimplementing it.
setupapi: Use _S_I(READ|WRITE) from sys/stat.h instead of redefining them.
setupapi: Move prototypes not in Windows's setupapi.h to setupapi_private.h.
msi: Use _O_* constants from fcntl.h instead of redefining them.
msi: Remove wrappers around CRT memory allocation functions.
include: Annotate WSDAllocateLinkedMemory with __WINE_(ALLOC_SIZE|MALLOC).
winhlp32: Use standard C functions for memory allocation.
include: Annotate MFHeapAlloc with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
include: Annotate (Alloc|Realloc)ADs* with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
include: Annotate GdipAlloc with __WINE_(DEALLOC|MALLOC).
include: Annotate ILC* functions with __WINE_(DEALLOC|MALLOC).
include: Add corecrt_malloc.h.
wsdapi: Annotate duplicate_(string|name) with __WINE_MALLOC.
cmd: Use standard C functions for memory allocation.
Alexandre Julliard (84):
avicap32: Use the Unix call helpers.
capi2032: Use the Unix call helpers.
ctapi32: Use the Unix call helpers.
dnsapi: Use the Unix call helpers.
gphoto2.ds: Use the Unix call helpers.
msv1_0: Use the Unix call helpers.
netapi32: Use the Unix call helpers.
qcap: Use the Unix call helpers.
sane.ds: Use the Unix call helpers.
winspool.drv: Use the Unix call helpers.
wpcap: Use the Unix call helpers.
ntdll: Also fixup the delay import directory when mapping a .so dll.
winebuild: Add a helper function to output a thunk data pointer.
winebuild: Use RVAs instead of absolute addresses in the delay import descriptors.
winebuild: Generate a separate helper for each delay-imported module.
winebuild: Pass the delay import descriptor to the __wine_spec_delay_load function.
winebuild: Call __delayLoadHelper2 to resolve delay imports also on non-PE builds.
opengl32: Fix calling convention of Unix call entry points.
ntdll: Export the Unix call dispatcher function pointer.
ntdll: Implement a faster Unix call dispatcher on i386.
ntdll: Implement a faster Unix call dispatcher on x86_64.
ntdll: Implement a faster Unix call dispatcher on ARM64.
ntdll: Implement a faster Unix call dispatcher on ARM.
wow64cpu: Add a custom 32->64 thunk for Unix calls.
ntdll: Replace the __wine_unix_call() syscall by a function calling through the dispatcher.
configure: Remove obsolete AL/al.h check.
setupapi: Fix wildcard matching for fakedlls inside the build dir.
ntdll: Only build the wow64 function table on 64-bit.
ntdll: Use ret instead of jmp to return from syscall dispatchers.
winebuild: Reinstate the __wine_spec_dll_entry() entrypoint for .so dlls.
ntdll: Move the .so module initialization to winecrt0.
ntdll: Initialize Unix calls early during startup.
opengl32: Fix GLdouble type alignment on the Unix side.
opengl32: Pass the TEB pointer in the Unix call parameters.
opengl32: Don't free memory at process exit.
png: Import upstream release 1.6.39.
mpg123: Import upstream release 1.31.1.
kernelbase: Update timezone data to version 2022g.
winebuild: Avoid quoting section names.
winebuild: Put the delay import thunk in a separate section.
include: Use proper dllimports for advapi32 functions.
include: Use proper dllimports for lz32 functions.
include: Use proper dllimports for version functions.
include: Use proper dllimports for gdi32 functions.
include: Use proper dllimports for user32 functions.
include: Use proper dllimports for shlwapi functions.
include: Use proper dllimports for rpcrt4 functions.
include: Use proper dllimports for OLE functions.
include: Use proper dllimports for crypt32 functions.
include: Use proper dllimports for comctl32 functions.
include: Use proper dllimports for comdlg32 functions.
include: Use proper dllimports for winhttp functions.
include: Use proper dllimports for wininet functions.
include: Use proper dllimports for shell32 functions.
include: Use proper dllimports for winsock functions.
vkd3d: Import upstream release 1.6.
makedep: Add the default Unix libraries also when building .dll.so files.
makedep: Add a helper function to skip spaces in strings.
ldap: Use LONG instead of long for exported types.
msvcrt: Fix printf format warnings on ARM platforms.
ntdll: Fix printf format warnings on ARM platforms.
oleaut32: Fix printf format warnings on ARM platforms.
winedbg: Fix printf format warnings on ARM platforms.
winspool.drv: Remove a no longer used inline function.
kernel32/tests: Fix an uninitialized variable warning.
kernelbase/tests: Fix an uninitialized variable warning.
makedep: Fix parsing of man page section.
configure: Simplify checks for functions that require an external library.
configure: Only require frame pointer on the MSVCRT side.
configure: Enable printf format warnings for 64-bit PE builds.
commdlg: Consistently use %I printf format for ULONG_PTR values.
gdi.exe: Consistently use %I printf format for ULONG_PTR values.
kernel32/tests: Consistently use %I printf format for ULONG_PTR values.
mmsystem: Consistently use %I printf format for ULONG_PTR values.
msacm: Consistently use %I printf format for ULONG_PTR values.
msvcrt: Consistently use %I printf format for ULONG_PTR values.
msvideo: Consistently use %I printf format for ULONG_PTR values.
ntdll: Consistently use %I printf format for ULONG_PTR values.
setupx: Consistently use %I printf format for ULONG_PTR values.
shell: Consistently use %I printf format for ULONG_PTR values.
user.exe: Consistently use %I printf format for ULONG_PTR values.
wintab: Consistently use %I printf format for ULONG_PTR values.
winecrt0: Include basetsd.h to get the _WIN64 definition.
apisetschema: Add a few more API sets pointing to existing dlls.
Anton Baskanov (6):
quartz/tests: Add tests for MPEG layer-3 decoder source connection.
quartz/tests: Add tests for MPEG layer-3 decoder sample processing.
quartz/tests: Add tests for MPEG layer-3 decoder sample timestamps.
quartz/tests: Add tests for MPEG layer-3 decoder streaming events.
quartz/tests: Add tests for MPEG layer-3 decoder quality control.
winegstreamer: Register MPEG layer-3 decoder.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (6):
gdiplus: Add support for Custom Line Indent.
gdiplus: Fix position of Custom Cap when Scale is different that 1.
gdiplus: Add support for LineCapArrowAnchor.
gdiplus: Improve performance of GdipScaleMatrix.
gdiplus: Improve performance of matrix multiplication by unrolling loop.
gdiplus: Improve performance of GdipTranslateMatrix.
Bernhard Kölbl (1):
mfmediaengine: Pass volume changes to media session.
Brendan Shanks (18):
include: Add __WINE_(DEALLOC|MALLOC) attributes to wine_get_(dos|unix)_file_name.
mountmgr.sys: Free wine_get_dos_file_name memory with HeapFree.
wpcap: Free wine_get_unix_file_name memory with HeapFree.
loader: Add comments to 'start' in macOS preloader.
loader: In macOS preloader, fix up argc/argv in C rather than asm.
loader: In macOS preloader, manually set 'environ' to work around a bug in macOS 12 and later.
configure: Always enable Mac driver on macOS.
configure: Remove ApplicationServices.framework check (always present on macOS).
configure: Remove Carbon.framework check (always present on macOS).
configure: Remove CoreAudio.h check (always present on macOS).
configure: Remove DiskArbitration.framework check (always present on macOS).
configure: Remove check for the HID Manager (always present on macOS).
configure: Remove check for IOKit (always present on macOS).
configure: Remove Metal.framework check (present in all supported macOS SDKs).
configure: Remove Security.framework check (always present on macOS).
configure: Remove SystemConfiguration header check (always present on macOS).
winemac: Remove pre-Mac OS X 10.7 workaround.
loader: In macOS preloader, set NXArgc, NXArgv, and environ on i386 and x86_64.
Connor McAdams (4):
uiautomationcore: Add UiaRemoveEvent stub.
uiautomationcore: Add UiaEventAddWindow stub.
uiautomationcore: Add UiaEventRemoveWindow stub.
uiautomationcore: Add UiaAddEvent stub.
David Kahurani (3):
xmllite/writer: Implement WriteChars.
xmllite/writer: Implement WriteRawChars.
xmllite/writer: Implement WriteSurrogateCharEntity.
Eric Pouech (64):
wined3d: Set flag types to uint32_t (external definitions).
wined3d: Set flag types to uint32_t (internal definitions).
wined3d: Set location types to uint32_t.
winedump: Don't crash when dumping .dbg files.
configure: Log pkg-config error messages.
wined3d: Store version information as unsigned int.
wined3d: Change wined3d_resource.usage field to uint32_t.
wined3d: Set resource's priority field's type as unsigned int.
wined3d: Convert fbo_entry.rt_mask to uint32_t type.
wined3d: Let control_values' type be unsigned int.
wineconsole: Set launched process name as created console title.
wined3d: Transfer long types' enabling at file level.
wined3d: Store GetLastError() into an unsigned int.
wined3d: Enable long types in adapter_vk.c.
wined3d: Enable long types in ati_fragment_shader.c.
wined3d: Reduce long integral type usage in wined3d_main.c.
wined3d: Enable long types in wined3d_main.c.
wined3d: Reduce usage of long integral types in vertexdeclaration.c.
wined3d: Enable long types in vertexdeclaration.c.
wined3d: Reduce usage of long integral types in palette.c.
wined3d: Enable long types in palette.c.
wined3d: Enable long types in directx.c.
wined3d: Enable long types in context_gl.c.
wined3d: Reduce usage of long integral types in buffer.c.
wined3d: Enable long types in buffer.c.
wined3d: Reduce usage of long integral types in swapchain.c.
wined3d: Enable long types in swapchain.c.
wined3d: Enable long integral types in cs.c.
wined3d: Reduce usage of long integral types in adapter_gl.c.
wined3d: Enable long types in adapter_gl.c.
wined3d: Reduce usage of long integral types in glsl_shader.c.
wined3d: Enable long types in glsl_shader.c.
wined3d: Reduce usage of long integral types in include/wined3d.h.
wined3d: Reduce usage of long integral types in device.c.
wined3d: Enable long types in device.c.
wined3d: Reduce usage of long integral types in surface.c.
wined3d: Enable long types in surface.c.
msvcr90: Fix warning on object access tests.
wined3d: Reduce usage of long integral types in utils.c.
wined3d: Enable long types in utils.c.
wined3d: Reduce usage of long integral types in shader.c.
wined3d: Enable long types in shader.c.
wined3d: Reduce usage of long integral types in nvidia_texture_shader.c.
wined3d: Enable long types in nvidia_texture_shader.c.
wined3d: Get/set texture's level_count and lod as unsigned int.
wined3d: Change stencil parameter type in blitter_clear() method.
wined3d: Reduce usage of long integral types in texture.c.
wined3d: Enable long types in texture.c.
d3dx9_36/tests: Enable compilation with long types.
winedbg: Avoid passing a non allocated buffer to HeapFree.
wined3d: Reduce usage of long integral types in shader_sm1.c.
wined3d: Enable long types in shader_sm1.c.
wined3d: Reduce usage of long integral types in shader_sm4.c.
wined3d: Enable long integral types in shader_sm4.c.
wined3d: Let sampler_states and texture_states be 2D arrays of uint32_t.
wined3d: Reduce usage of long integral types in stateblock.c.
wined3d: Enable long integral types in stateblock.c.
wined3d: Reduce usage of long integral types in state.c.
wined3d: Enable long integral types in state.c.
wined3d: Reduce usage of long integral types in view.c.
wined3d: Enable long integral types in view.c.
wined3d: Reduce usage of long integral types in arb_program_shader.c.
wined3d: Use proper enum type in arb_program_shader.c.
wined3d: Enable long types in arb_program_shader.c.
Etaash Mathamsetty (1):
ntoskrnl.exe: Use KeQueryMaximumProcessorCountEx for KeQueryMaximumProcessorCount.
Evan Tang (1):
winebus.sys: Report unique serial numbers for SDL devices.
Floris Renaud (1):
po: Update Dutch translation for joy.cpl.
François Gouget (1):
kernel32/tests: Avoid failures when processes start during the process test.
Gabriel Ivăncescu (24):
mshtml: Implement print events.
mshtml: Implement location.reload().
mshtml: Implement `onload` prop for input elements.
mshtml: Set `reload` load type to Gecko for document reloads.
mshtml: Implement performance.navigation.redirectCount.
mshtml: Implement performance.navigation.type.
mshtml: Treat edit mode as a reload.
mshtml: Return proper error for invalid selectors in IE8 mode.
mshtml: Don't check for doc_node from the doc obj when it can't be NULL.
include/mshtml: Add IHTMLXDomainRequest and factory interfaces and classes.
mshtml: Keep a ref to the window during the doc nsevent handlers.
mshtml: Send load event synchronously for img elements that loaded instantly in legacy modes.
jscript: Pass correct 'this' to host objects in ES5 mode.
mshtml: Don't lock document mode when querying IEventTarget.
mshtml/tests: Allow BINDINFO_OPTIONS_ENABLE_UTF8 in bind options.
mshtml/tests: Expect UpdateUI, Exec_UPDATECOMMANDS and Exec_SETTITLE in edit mode.
include/mshtmhst: Add CGID_ScriptSite and CMDIDs for it.
mshtml: Rename EVENTID_INVALID to EVENTID_INVALID_ID.
mshtml/tests: Accept rare unknown error in ReportResult.
jscript: Use a jsdisp to hold refs for scopes.
jscript: Implement a Garbage Collector to deal with circular references.
jscript: Implement CollectGarbage().
jscript: Run the garbage collector every 30 seconds on a new object allocation.
jscript: Create the source function's 'prototype' prop object on demand.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.237.
Hans Leidekker (15):
ncrypt: Implement NCryptExportKey().
ncrypt: Implement NCryptSignHash().
wpcap: Build pcap_address structure from IP_ADAPTER_UNICAST_ADDRESS.
wldap32/tests: Skip paged search tests when the server can't be reached.
bcrypt/tests: Get rid of workarounds for old Windows versions.
bcrypt: Pass key size in bytes to EXPORT_SIZE and use the macro consistently.
bcrypt: Fix possible buffer overflow in export_gnutls_datum().
bcrypt: Remove unused argument from hash_finalize().
bcrypt: Validate key type.
bcrypt: Support duplicating public keys without access to the private key.
bcrypt: Add support for PSS padding.
winhttp/tests: Reduce send buffer size.
wtsapi32: Improve the stub for WTSQuerySessionInformation(WTSClientProtocolType).
wofutil: New dll.
wofutil: Stub WofShouldCompressBinaries().
Huw D. M. Davies (1):
ntdll: Fix -Wformat warnings on macOS.
Ivo Ivanov (6):
wineusb.sys: Move event handling to a single thread.
winebus.sys: Search for added devices by devnode path in process_monitor_event().
wineusb.sys: Add support for TransferBufferMDL.
wineusb.sys: Pass interface and interface_index from the event data to the usb device data.
wineusb.sys: Implement DevClass compatible id for devices with multiple interfaces.
wineusb.sys: Add usbver, revision, busnum and portnum to PDO's instance id.
Jacek Caban (34):
configure: Use -nostdlib instead of -nostartfiles in WINE_TRY_PE_CFLAGS.
winegcc: Use -nostdlib instead of -nostartfiles on Clang MSVC targets.
configure: Use -fuse-ld=lld also for compilation targets.
ntdll: Get TEB from signal stack pointer in init_handler.
ntdll: Call init_handler in usr1_handler.
ntdll: Detect ntdll module also by module path comparison.
win32u: Move NtUserGetDC implementation from user32.
win32u: Move NtUserGetWindowDC implementation from user32.
win32u: Move NtUserValidateRect implementation from user32.
win32u: Move NtUserPrintWindow implementation from user32.
user32: Merge painting.c into win.c.
winex11: Use NtUserGetDC.
winevulkan: Fix handling pointers to pointer-size variables in 32-bit thunks.
winevulkan: Don't try to unwrap missing optional handle struct members.
winevulkan: Wrap VkDeviceMemory.
winevulkan: Use VK_EXT_external_memory_host extension to map memory on wow64.
winevulkan: Get rid of direct Unix calls.
winevulkan: Use UNIX_CALL macro for Unix calls.
configure: Use -Wl,-WX for clang configure checks in MSVC mode.
wldap32: Define LDAP_NEEDS_PROTOTYPES.
opengl32: Use default calling convention for WGL driver entry points.
winex11: Remove no longer used declarations.
win32u: Move NtUserRealChildWindowFromPoint implementation from user32.
win32u: Move NtUserGetInternalWindowPos implementation from user32.
user32: Merge winpos.c into win.c.
winevulkan: Rename needs_host_type to needs_win32_type.
win32u: Move NtUserWaitMessage implementation from user32.
win32u: Move GetShellWindow implementation from user32.
win32u: Move NtUserSetShellWindowEx implementation from user32.
win32u: Move SetProgmanWindow implementation from user32.
win32u: Move GetProgmanWindow implementation from user32.
win32u: Move SetTaskmanWindow implementation from user32.
win32u: Move GetTaskmanWindow implementation from user32.
user32: Merge focus.c into input.c.
Matteo Bruni (6):
wined3d: Don't try to access unused buffers in wined3d_context_gl_load_numbered_arrays().
wined3d: Remove unnecessary index increment in wined3d_context_gl_cleanup_resources().
wined3d: Get rid of a redundant branch.
wined3d: Move backup window / DC handling from the swapchain to the device.
wined3d: Destroy primary GL context if initialization fails.
wined3d: Don't use separate GL contexts for different swapchains.
Michael Stefaniuc (4):
dmstyle: Simplify parsing of a style track list.
dmstyle: Simplify parsing of a style reference list.
dmstyle: Get rid of a no longer used function.
dmstyle: Move a struct declaration to the file it is used in.
Michel Zou (1):
msvcrt: Fix errno set on dup from read-only file.
Mohamad Al-Jaf (1):
wbemprox: Provide accurate SMBIOS serial number.
Nikolay Sivov (21):
wshom: Fix WshNetwork interface definition.
comctl32/header: Use CRT allocation functions.
comctl32/monthcal: Use CRT allocation functions.
comctl32/static: Use CRT allocation functions.
comctl32/button: Use CRT allocation functions.
comctl32/listview: Use CRT allocation functions.
d3dcompiler: Implement D3DDisassemble() using vkd3d-shader.
vbscript: Make redim fail on fixed-size arrays.
d3d10/effect: Remove unused field from property description data.
d3d10/effect: Add min/max instructions support for expressions.
d3d10/effect: Add 'neg' instruction support for expressions.
d3d10/effect: Add 'mul' instruction support for expressions.
d3d10/effect: Add sin/cos instruction support for expressions.
d3dx9/preshader: Handle input register table.
d3dx9/effect: Split parameters data from effect object.
d3d10/effect: Partially implement updates through value expressions.
d3d10/effect: Add 'ftob' instruction support for expressions.
d3d10/effect: Add 'div' instruction support for expressions.
d3d10/effect: Add 'rcp' instruction support for expressions.
d3d10/effect: Add 'frc' instruction support for expressions.
comctl32: Switch back to internal allocation function.
Paul Gofman (17):
user32: Add stub for GetPointerInfo().
winegstreamer: Query stream tags and set MF_SD_LANGUAGE attribute.
winegstreamer: Extract stream name from QT demuxer private data.
mfplay/tests: Add MF_SD_LANGUAGE and MF_SD_STREAM_NAME value tests.
ddraw: Sync draw textures even for hardware device.
windows.devices.enumeration/tests: Fix reference count test in device_watcher_handler_Invoke().
windows.devices.enumeration/tests: Make test handlers structure static.
winhttp: Do not open connection in handle_redirect().
winhttp: Don't refill buffer after receiving server response.
winhttp: Send notifications from receive_response() directly.
winhttp: Receive server reply in send_request().
winhttp: Factor out queue_receive_response().
winhttp: Call receive_response() recursively instead of looping.
winhttp: Wait for WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE in request_send().
winhttp: Execute receive_response() synchronously when possible.
winhttp/tests: Test WinHttpReceiveResponse() synchronous behaviour.
winhttp/tests: Test calling WinHttpReceiveResponse() recursively from various send callbacks.
Piotr Caban (56):
localspl: Add FILE: port monitor implementation.
localspl: Add FILE: port tests.
localspl: Convert MONITOREX structure to MONITOR2 during port monitor initialization.
localspl: Introduce printer_info_t structure.
localspl: Add AddJob implementation.
localspl: Add StartDocPrinter implementation.
localspl: Add SetJob implementation.
localspl: Add GetJob implementation.
localspl: Add partial ScheduleJob implementation.
localspl: Add EndDocPrinter implementation.
gdi32: NULL terminate output string in CreateDCW.
winspool: Don't translate port name to path in StartDocDlgW.
localspl: Add printer port redirection extension.
localspl: Fix parameters validation in FILE StartDocPort.
localspl: Add pipe port extension.
localspl: Add unixname port extension.
localspl: Add lpr port extension.
localspl: Add cups port extension.
localspl: Return error if cups port handle is used from different threads.
localspl: Fix error handling in ScheduleJob.
winspool: Use providor for print jobs implementation.
winspool: Use providor for WritePrinter implementation.
localspl: Fix error handling in printer_alloc_handle helper.
localspl: Preparation for using handle type specific structures.
localspl: Use separate structure to store XcvPort and XcvMonitor handles.
localspl: Use separate structure to store printserver handles.
localspl: Rename job_t structure to job_info_t.
localspl: Add support for Job handles.
localspl: Add ReadPrinter implementation.
winspool: Call providor in ReadPrinter implementation.
winprint: Fix parameters validation in EnumPrintProcessorDatatypesW.
winprint: Fix datatype validation in PrintDocumentOnPrintProcessor.
wineps: Add print processor stub.
localspl: Add support for Port handles.
localspl: Support Port handles in WritePrinter.
localspl: Partially support Port handles in StartDocPrinter.
localspl: Support Port handles in EndDocPrinter.
winspool: Implement print processor validation in AddPrinter.
localspl: Add AddPrintProcessor implementation.
winprint: Register winprint print processor.
localspl: Load printer datatype and print processor information on init.
localspl: Use helper for loading string from registry in monitor_load.
localspl: Store datatype in print job data.
localspl: Store default datatype in printer data.
localspl: Use print processor in ScheduleJob.
localspl: Add partial SeekPrinter implementation.
winspool: Add SeekPrinter implementation.
wineps: Add EnumPrintProcessorDatatypesW implementation.
wineps: Add OpenPrintProcessor implementation.
wine.inf: Also install wineps.drv to print processor directory.
wineps: Register print processor.
wineps: Improve PrintDocumentOnPrintProcessor stub.
wineps: Skip EMRI_METAFILE_DATA record silently.
wineps: Support parsing EMRI_METAFILE_EXT records.
msvcrt: Construct a real C++ object to test against.
msvcp70: Update spec file.
Robert Wilhelm (9):
vbscript: Accept private and public const global declarations.
wshom.ocx: Added WshNetwork class factory implementation.
wshom.ocx: Add IWshNetwork2 interface stub implementation.
wshom.ocx: Add WShNetwork object creation test.
vbscript: Handle "case" statements without separators.
wshom.ocx: Downgrade FIXME to WARN for unsupported interfaces.
wshom.ocx: Implement WshNetwork2_GetIDsOfNames.
wshom.ocx: Implement WshNetwork2_Invoke.
wshom.ocx: Implement IWshNetwork2_get_UserName().
Rémi Bernon (72):
maintainers: Take ownership of joy.cpl.
joy.cpl: Move constants and structures to main.c.
joy.cpl: Move ff_effects_callback function around.
joy.cpl: Use designated initializer to init effect params.
joy.cpl: Read the effect parameters instead of storing them.
joy.cpl: Read the effect DIEFFECTINFOW instead of storing it.
joy.cpl: Use a struct list to keep created device effects.
joy.cpl: Read the device instance name instead of storing it.
joy.cpl: Read the number of buttons instead of storing it.
joy.cpl: Read the device path property instead of storing it.
joy.cpl: Remove unnecessary joystick forcefeedback member.
joy.cpl: Avoid race condition when accessing selected effect.
ntdll: Keep the region base offset in the block header.
ntdll: Find heap block region from its base offset.
ntdll: Avoid clearing BLOCK_FLAG_USER_INFO in heap_reallocate.
ntdll: Stop locking heap to access block-local data.
ntdll: Inverse the control flow in heap_reallocate.
ntdll: Reallocate a new block if we failed to commit.
joy.cpl: Move the device effect list to static global scope.
joy.cpl: Use a struct list to keep created dinput devices.
joy.cpl: Always start input threads and remove num_ff member.
joy.cpl: Use a notification event rather than polling state.
joy.cpl: Reduce the button size on the device test tab.
joy.cpl: Merge the dinput test and force feedback tabs.
joy.cpl: Add DI_ prefix to dinput dialog constants.
joy.cpl: Use designated initializers in display_cpl_sheets.
joy.cpl: Build without NONAMELESSUNION.
joy.cpl: Add a new xinput controller test tab.
joy.cpl: Draw xinput controller state with gdi32.
joy.cpl: Add a checkbox to test xinput rumble.
joy.cpl: Draw dinput button state with gdi32.
joy.cpl: Draw dinput axes state with gdi32.
joy.cpl: Move dinput test tab logic to dinput.c.
joy.cpl: Remove unnecessary JoystickData structure.
ntdll: Merge next free block before resizing in heap_reallocate.
ntdll: Move large block resize in heap_reallocate.
ntdll: Return the old data size from heap_reallocate.
ntdll: Make realloc implementation more generic.
ntdll: Move large block alloc out of heap_allocate.
ntdll: Move large block free out of heap_free.
ntdll: Move delayed free support out of heap_free.
kernel32/tests: Make sure the LFH is enabled for some sizes.
kernel32/tests: Add more GlobalReAlloc tests with larger size.
kernelbase: Restore HEAP_REALLOC_IN_PLACE_ONLY usage in LocalReAlloc.
wmvcore: Move async reader from winegstreamer/wm_asyncreader.c.
wmvcore/tests: Test that a unique read thread is involved.
wmvcore/tests: Fix OnStreamSample stream number checks.
wmvcore/tests: Test OnTime callback events synchronously.
wmvcore/tests: Track and check last and next output pts.
wmvcore/tests: Test user time granularity and delivered pts.
wmvcore/tests: Test changing compressed samples dynamically.
taskschd: Use CRT functions for remaining heap allocations.
inetcomm: Allocate PROPVARIANT value with CoTaskMemAlloc.
inetcomm: Free IMoniker_GetDisplayName value with CoTaskMemFree.
mountmgr.sys: Allocate UNICODE_STRING buffers with RtlAllocateHeap.
advapi32/tests: Only free GetSecurityInfo pointer on success.
kernel32/tests: Avoid releasing invalid path pointer.
user32: Avoid freeing invalid pointers in WIN_CreateWindowEx.
inetcomm: Allocate PROPVARIANT memory with CoTaskMemAlloc.
ntdll: Split heap region memory allocation to allocate_region helper.
ntdll: Move heap allocation and initialization into RtlCreateHeap.
ntdll: Clear BLOCK_FLAG_PREV_FREE flag out of shrink_used_block.
ntdll: Split heap blocks before creating or resizing used block.
ntdll: Merge prev and next free heap blocks in heap_free_block.
ntdll: Split create_free_block into block_init_free / insert_free_block.
ntdll: Move the insertion of the first block out of create_subheap.
ntdll: Keep subheap parent heap pointer and check for mismatches.
mshtml: Fix realloc size vs element count mixup.
msvcrt: Use operator_delete to free _Condition_variable queue nodes.
mfplat: Clear the clsid pointer in MFTEnum to avoid invalid free.
opengl32: Avoid calling functions that have not been queried yet.
uxtheme: Use bsearch and CompareStringOrdinal in MSSTYLES_LookupProperty.
Sven Baars (6):
mmdevapi/tests: Mark some more capture tests as flaky.
win32u: Use WMCHAR_MAP_SENDMESSAGE for NtUserSendMessage.
mstask: Don't assume a ONCE trigger is on the current day.
win32u: Pass the client instance to NtUserCreateWindowEx.
taskschd/tests: Fix a test failure on w1064v1507.
taskschd/tests: Fix test failures on newer version of Windows 10.
Tim Clem (1):
winex11.drv: Don't ignore virtual EnterNotify events.
Torge Matthies (7):
msvcr100: Implement _StructuredTaskCollection::_RunAndWait.
msvcr100: Move exception_ptr functions to a separate file.
msvcr100: Factor out EXCEPTION_RECORD to exception_ptr conversion.
msvcr100: Implement exception passing from chore threads to _RunAndWait.
msvcr110: Implement _StructuredTaskCollection constructor.
msvcr100: Implement missing_wait exception.
msvcr120: Throw exception in ~_StructuredTaskCollection if _RunAndWait was not called.
Zebediah Figura (20):
wined3d: Use unsigned int for "refcount" variables.
wineusb.sys: Do not close the device handle more than once.
winspool: Define copy_file() only if CUPS is available.
wined3d: Trace the sampler desc in wined3d_sampler_init().
wined3d: Trace the created command stream in wined3d_cs_create().
wined3d: Make a couple of variables const.
d3d9/tests: Do not test the alpha channel in test_multisample_get_front_buffer_data().
ntdll: Trace the name of critical sections which are released while not acquired.
qasf/asfreader: Do not store the media type passed to IFileSourceFilter::Load().
qasf/tests: Expand the IFileSourceFilter tests.
wined3d: Allow exposing lower d3d feature levels from the Vulkan adapter.
wined3d: Allow creating a feature level 9.3 device even if custom vertex attribute divisors are not supported.
wined3d: Require independent blending to create a feature level 9.3 device.
wined3d: Implement multiple viewports for the Vulkan adapter.
wined3d: Require geometry shaders to create a feature level 10.0 device.
wined3d: Require tessellation shaders to create a feature level 11.0 device.
wined3d: Require texture cube array support to create a feature level 10.1 device.
wined3d: Require multiple indirect draw support to create a feature level 11.0 device.
wined3d: Require indirect draw first instance support to create a feature level 11.0 device.
wined3d: Require depth clip control to create a feature level 10.0 device.
Zhiyi Zhang (3):
winex11.drv: Support _KDE_NET_WM_STATE_SKIP_SWITCHER.
winex11.drv: Release window data before calling sync_window_cursor().
Revert "ntdll: Call usleep() instead of NtYieldExecution() in NtDelayExecution().".
Ziqing Hui (4):
wmvcore/tests: Test subtype and formattype for IWMMediaProps.
mf/tests: Test IMediaObject_SetInputType for WMV decoder.
winegstreamer: Add WMV support to wg_format.
winegstreamer: Implement media_object_SetInputType for WMV decoder.
The Wine team is proud to announce that release 1.6 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:
- Initial support for HLSL compute shaders.
- More support for HLSL features and intrinsics.
- Miscellaneous bug fixes.
The source is available from the following location:
https://dl.winehq.org/vkd3d/source/vkd3d-1.6.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.6
=======================
*** libvkd3d-shader
- New features for the HLSL source type:
- Initial support for compute shaders.
- Improved support for initialisation and assignment of compound objects
like structures and arrays, including casts and implicit conversions.
- Support for loads and stores of texture resource unordered-access views.
- Support for function attributes. In particular, the required "numthreads"
attribute for compute shader entry points is now supported.
- Support for the asuint() intrinsic function.
- Support for the length() intrinsic function.
- Support for the normalize() intrinsic function.
- Support for integer division and modulus.
- Support for taking the absolute value of integers.
- Support for floating-point modulus.
- New interfaces:
- The VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS descriptor info flag is
used to indicate that atomic operations are used on unordered-access view
descriptors.
*** libvkd3d-common
- vkd3d debug output is prefixed with "vkd3d:" in order to make it easier to
distinguish from output produced by applications or other libraries.
*** demos
- The demos now use libvkd3d-shader to compile HLSL shaders at run-time.