The Wine development release 8.7 is now available.
What's new in this release:
- DXBC shader parsing delegated to vkd3d.
- More spool file improvements in the PostScript driver.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.7.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.7 (total 17):
- #9932 Listview highlight issues when drag&drop enabled
- #23647 Street Fighter 4 Benchmark: Flickering screen with parallel rendering enabled
- #32089 Window resize enters endless cycle
- #32958 ReVolt 1207: Crashes when trying to play Stunt Arena
- #33487 Davar bible software not working
- #43672 Airscout program 1.2.0.5 does not load under wine 2.0.2
- #50249 Shapes On A Plane crashes on start
- #51625 Unravel fails to load
- #52322 wineserver memory leak during HTTPs download (Genshin Impact Launcher, Qt5)
- #54424 user32:edit - test_dbcs_WM_CHAR() fails on Windows in mixed locales
- #54464 Multiple games crash on launch (Sekiro: Shadows Die Twice GOTY, Dark Souls III)
- #54799 wininet:internet - test_InternetGetConnectedStateExA() fails in the Japanese and Chinese locales in Wine
- #54808 Access violation in ntdll when running Adolix Split and Merge PDF with .NET Framework installed
- #54815 wininet:internet - test_InternetErrorDlg() fails on Windows 10 1607
- #54844 Existing prefixes keep resetting to Win10 when wine is updated
- #54856 Final Fantasy XI Online: Opening movie doesn't play (redux part II).
- #54882 Conemu fails to start (cannot attach to process)
----------------------------------------------------------------
Changes since 8.6:
Alex Henrie (2):
kernel32/tests: Check that lpSectionBase != NULL before dereferencing.
ntdll: Increment offset by len in build_clr_surrogate_section.
Alexandre Julliard (18):
include: Add some CHPE definitions.
winedump: Dump hybrid metadata also for i386 CHPE modules.
include: Add the ARM64EC context structure.
include: Update the PEB and TEB structures.
zlib: Run source files through zlib2ansi to avoid K&R function definitions.
makedep: Avoid generating empty dependencies.
winedump: Print entry point names in code range lists.
kernelbase: Move to a higher address on 64-bit.
kernel32: Move to a higher address on 64-bit.
ntdll: Reimplement RtlSetBits() to set 32 bits at a time.
ntdll: Reimplement RtlClearBits() to clear 32 bits at a time.
ntdll: Reimplement RtlAreBitsSet() to check 32 bits at a time.
ntdll: Reimplement RtlAreBitsClear() to check 32 bits at a time.
ntdll: Reimplement RtlNumberOfSetBits() to check 32 bits at a time.
ntdll: Use a separate memory allocation for the kernel stack.
ntdll: Use nameless unions/structs for register contexts.
include: Add some new ProcThreadAttribute definitions.
winedump: Fix printing of code ranges in hybrid modules.
Alexandros Frantzis (5):
winewayland.drv: Initialize display devices once after process init.
tools: Support building Wayland protocol source files.
winewayland.drv: Use the output name reported by the compositor.
winewayland.drv: Basic support for Windows monitor positioning.
winewayland.drv: Infer and report Windows monitor positions.
Alistair Leslie-Hughes (1):
widl: Suppress a coverity warning.
Andrey Gusev (1):
dxgi: Update TRACE in dxgi_device_create_resource().
André Zwing (1):
ntdll: Print RPC_S_SERVER_UNAVAILABLE exceptions.
Anton Baskanov (7):
winegstreamer: Fix negative height image size calculation.
winegstreamer: Call init_gstreamer() in winegstreamer_create_video_decoder().
dsound: Remove the unused nAvgBytesPerSec field.
dsound: Remove redundant assignments to freqAdjustNum and freqAdjustDen.
dsound: Preserve freqAccNum value in DSOUND_RecalcFormat().
dsound: Acquire the lock when setting 3D buffer parameters.
dsound: Allocate big enough committedbuff up front.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (1):
ntoskrnl: Do not leak memory by setting input buffer to NULL.
Brendan Shanks (4):
winemac: Refactor constrain_window_frame() to use separate origin and size arguments.
winemac: Set the Cocoa window contentMaxSize to the size limits from constrain_window_frame().
winemac: Don't constrain surface dimensions to the onscreen part of a window.
msvcrt: Fix crash when rethrowing after a non-C++ exception on x86_64.
Byeong-Sik Jeon (2):
imm32: Stop updating INPUTCONTEXT hWnd member in ImmGetContext.
imm32: Avoid updating INPUTCONTEXT hWnd on ImmSetActiveContext deactivation.
Connor McAdams (12):
uiautomationcore: Implement UIA_ControlTypePropertyId for default HWND provider.
uiautomationcore: Implement UIA_BoundingRectanglePropertyId for default HWND provider.
uiautomationcore: Implement NavigateDirection_Parent navigation for default HWND provider.
uiautomationcore: Add a default ProviderType_Proxy MSAA bridge clientside provider.
uiautomationcore: Implement UiaGetRootNode.
uiautomationcore: Implement IUIAutomation::GetRootElement.
uiautomationcore: Implement conditional NavigateDirection_Parent navigation.
uiautomationcore: Add normalization navigation to UiaGetUpdatedCache.
uiautomationcore: Add UiaNodeFromFocus stub.
uiautomationcore: Implement UiaNodeFromFocus.
uiautomationcore: Implement IUIAutomation::GetFocusedElement{BuildCacheRequest}.
uiautomationcore: Retrieve runtime ID on UiaReturnRawElementProvider thread to prevent a deadlock.
Davide Beatrici (22):
winealsa: Export function to get AudioSessionWrapper object.
winecoreaudio: Export function to get AudioSessionWrapper object.
wineoss: Export function to get AudioSessionWrapper object.
winepulse: Export function to get AudioSessionWrapper object.
mmdevapi: Import GetAudioSessionWrapper() from driver.
mmdevapi: Implement AudioSessionManager.
winealsa: Remove AudioSessionManager.
winecoreaudio: Remove AudioSessionManager.
wineoss: Remove AudioSessionManager.
winepulse: Remove AudioSessionManager.
winealsa: Implement functions to lock and unlock sessions.
winecoreaudio: Implement functions to lock and unlock sessions.
wineoss: Implement functions to lock and unlock sessions.
winepulse: Implement functions to lock and unlock sessions.
winealsa: Use dedicated macros to call interface functions.
winecoreaudio: Use dedicated macros to call interface functions.
wineoss: Use dedicated macros to call interface functions.
winepulse: Use dedicated macros to call interface functions.
winealsa: Move AudioSessionControl into mmdevapi.
winecoreaudio: Use mmdevapi's AudioSessionControl.
wineoss: Use mmdevapi's AudioSessionControl.
winepulse: Use mmdevapi's AudioSessionControl.
Derek Lesho (1):
winegstreamer: Cache wg_parser input data.
Dmitry Timoshkov (1):
shell32/tests: Add SHBindToFolderIDListParent() tests.
Eric Pouech (6):
mf/tests: Add tests about (negative) stride handling.
winegstreamer: In video_processor, activate a videoflip converter.
winedbg: Let 'break symbol : line' command work again.
dbghelp: Use source file path as stored in debug info format.
winedbg: Simplify watch command implementation.
winedbg: Improve size management in watch command.
François Gouget (7):
user32/tests: Fix the DBCS WM_CHAR tests in mixed locales.
dnsapi/tests: Make DnsQuery()'s CNAME tests more compatible with CDNs.
wininet: Add constants for DetectAutoProxyUrl().
wininet/tests: Add more proxy tests.
kernel32/tests: Fix the ScrollConsoleScreenBuffer() tests on Windows 10 1909.
msi/tests: Fix the ok() formats so they match the size of their arguments.
msi/tests: Ok_() takes printf-style arguments.
Gabriel Ivăncescu (12):
mshtml: Implement MediaQueryList's addListener method.
mshtml: Implement MediaQueryList's removeListener method.
mshtml: Use proper event type for PageTransition events.
mshtml: Do not release the principal returned by GetPrincipal.
mshtml: Fix factory leak in init_nsio.
mshtml: Fix nsIFile dir leak in init_xpcom.
mshtml: Fix URI leak in NewURI on failure.
mshtml: Store minimum compat mode required for events in the ctor table.
mshtml: Support cycle collection for nsChannel.
mshtml: Fix nsChannel's load_info leak.
mshtml: Pass actual node_ccp to ccref_decr for nodes.
mshtml/tests: Fix element leak in elem_fire_event.
Giovanni Mascellani (11):
mfplat/tests: Test Lock2D() on a locked D3D9 surface buffer.
mfplat/tests: Test locking flags for D3D9 buffers.
mfplat/tests: Independently test that locking flags are ignored for D3D9 buffers.
mfplat: Fix locking flags usage for D3D9 buffers.
mfplat/tests: Test Lock2D() on a locked DXGI surface buffer.
mfplat/tests: Test locking flags for DXGI buffers.
mfplat: Do not mark a DXGI buffer as locked if surface mapping fails.
mfplat: Fix locking flags usage for DXGI buffers.
mfplat: Only download surface data from GPU for DXGI buffers when reading.
mfplat: Only upload surface data to GPU for DXGI buffers when writing.
mfplat/tests: Test that the content of DXGI buffers is discarded when locking for writing.
Hans Leidekker (1):
wine.inf: Use FLG_ADDREG_NOCLOBBER for CurrentMajor/MinorVersionNumber.
Henri Verbeet (12):
d3dcompiler: Check for minimum bytecode size in d3dcompiler_get_blob_part().
d3dcompiler: Check for minimum bytecode size in d3dcompiler_strip_shader().
d3dcompiler: Store DXBC sections as vkd3d_shader_dxbc_section_desc structures.
d3dcompiler: Use vkd3d_shader_serialize_dxbc() in d3dcompiler_get_blob_part().
d3dcompiler: Use vkd3d_shader_serialize_dxbc() in d3dcompiler_strip_shader().
d3dcompiler: Use vkd3d_shader_parse_dxbc() in d3dcompiler_get_blob_part().
d3dcompiler: Use vkd3d_shader_parse_dxbc() in d3dcompiler_strip_shader().
d3dcompiler: Use vkd3d_shader_parse_dxbc() in d3dcompiler_shader_reflection_init().
wined3d: Implement shader_extract_from_dxbc() on top of vkd3d_shader_parse_dxbc().
vkd3d: Update the version information for release 1.7.
d3d10: Implement d3d10_effect_parse() on top of vkd3d_shader_parse_dxbc().
d3d10: Implement parse_fx10_preshader() on top of vkd3d_shader_parse_dxbc().
Jactry Zeng (2):
appwiz.cpl: Process messages while waiting for the uninstaller to terminate.
appwiz.cpl: Handle WM_CLOSE and WM_COMMAND(IDCANCEL) in the support info dialog.
Jinoh Kang (6):
kernel32/tests: Test for activation context switching between fibers.
ntdll: Factor out reading current activation context into a helper function.
ntdll: Store current activation context stack pointer into a local variable.
ntdll: Use ActivationContextStackPointer instead of referencing ActivationContextStack directly.
ntdll: Implement RtlFreeActivationContextStack().
kernelbase: Implement activation context switching for fibers.
Martin Garton (1):
msvcrt: Fix typo in #define.
Matteo Bruni (2):
d3dcompiler/tests: Add a couple tests for minimum size in D3DGetBlobPart().
d3dcompiler/tests: Add a couple tests for minimum size in D3DStripShader().
Michael Stefaniuc (3):
threadpoolwinrt: Forward a Release() to a Release() method.
uiautomationcore: Drop superfluous TRUE : FALSE conditional expression.
win32u: Use ARRAY_SIZE() instead of open coding it.
Mohamad Al-Jaf (9):
include: Add windows.graphics.capture.interop.idl file.
include: Add appnotify.h file.
twinapi.appcore: Add stub DLL.
twinapi.appcore: Add RegisterAppStateChangeNotification stub.
twinapi.appcore: Add UnregisterAppStateChangeNotification stub.
apisetschema: Add api-ms-win-core-psm-appnotify-l1-1-0.
shell32: Implement SHBindToFolderIDListParent().
shell32/tests: Test SHBindToParent() last parameter behavior.
shell32: Fix last parameter behavior in SHBindToFolderIDListParent().
Paul Gofman (4):
ntdll: Mind LFH pending blocks in RtlDestroyHeap().
ntdll: Avoid integer overflow in block_get_subheap().
mfplat: Fix returned buffer length in dxgi_surface_buffer_lock().
wined3d: Add a comment about mismatched samplers.
Piotr Caban (36):
wineps: Rename handle count parameter in hmf_proc.
wineps: Set text and background color during device creation.
wineps: Handle EMR_EXTCREATEFONTINDIRECTW record in spool files.
wineps: Handle font selection in spool files.
wineps: Store text justification info in print processor data.
wineps: Handle EMR_EXTTEXTOUTW record in spool files.
wineps: Add BiDi support in EMR_EXTTEXTOUTW record.
wineps: Clip visible rectangle to bitmap size in get_vis_rectangles.
wineps: Handle EMR_CREATEPALETTE record in spool files.
wineps: Handle EMR_SELECTPALETTE record in spool files.
wineps: Handle EMR_SETDIBITSTODEVICE record in spool files.
wineps: Handle EMR_STRETCHDIBITS record in spool files.
wineps: Handle EMR_REALIZEPALETTE record in spool files.
wineps: Handle EMR_RESIZEPALETTE record in spool files.
wineps: Handle EMR_SETPALETTEENTRIES record in spool files.
gdi32: Use EMR_REALIZEPALETTE to record RealizePalette.
gdi32: Fix EMR_CREATEPALETTE recording.
gdi32: Store palette in EMR_EOF record.
gdi32/tests: Add EMF palette tests.
wineps: Fix default device font selection.
wineps: Fix return value in path drawing routines.
wineps: Continue printing if path drawing function returns error.
wineps: Reset memory DC state on every page.
localspl: Add support for PRINTER_ATTRIBUTE_RAW_ONLY printer attribute.
localspl: Validate datatype in StartDocPrinter.
wineps: Reset current position on every page.
gdi32: Store the printer info in a structure.
gdi32: Improve EMF DC cleanup when CloseEnhMetafile is not called.
gdi32: Factor out emf_eof helper.
gdi32: Factor out emf_create helper.
gdi32: Add support for creating EMF spool files.
gdi32: Add GdiIsMetaPrintDC implementation.
localspl: Add partial support for PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS attribute.
gdi32: Implicitly call StartPage while drawing on printer DC.
gdi32: Support creating EMRI_DEVMODE records in spool files.
wineps: Handle EMRI_DEVMODE record in spool files.
Rémi Bernon (11):
imm32/tests: Test that ImmSetOpenStatus doesn't set IMMGWL_IMC.
imm32/tests: Check IME UI visibility vs ImmSetCompositionWindow.
imm32/tests: Check ImmSetActiveContext effect on INPUTCONTEXT hWnd member.
imm32: Forward ImmGetContext to NtUserGetWindowInputContext directly.
user32: Move WM_IME_COMPOSITION DefWindowProc handlers in separate helpers.
user32: Ignore WM_IME_COMPOSITION from the IME UI window in DefWindowProc.
imm32: Don't hide/show IME UI window in ImmSetCompositionWindow.
imm32: Move ImmAssociateContext(Ex) around.
imm32: Update IME UI window IMMGWL_IMC when focus or HIMC changes.
imm32/tests: Add some ImmGenerateMessage tests.
imm32: Send messages one by one in ImmGenerateMessage.
Shaun Ren (2):
include: Add more sapi structs and enums.
include: Add ISpTTSEngineSite and ISpTTSEngine interfaces.
Stefan Dösinger (14):
d3dx9: Use __VA_ARGS__ instead of GCCs named variadics.
d3dx9/tests: Use __VA_ARGS__ instead of GCCs named variadics.
wined3d: Sync depth stencils to both early and late depth test.
wined3d: Avoid VK_IMAGE_LAYOUT_GENERAL.
wined3d: Fall back to general layout if necessary.
d3d9/tests: Radeon GPUs don't draw from sysmem textures.
d3d9/tests: Accept AMD GPU sysmem sample failure in test_mipmap_upload.
d3d8/tests: Radeon GPUs don't draw from sysmem textures.
d3d8/test: Accept AMD GPU sysmem sample failure in test_mipmap_upload.
d3dx9: Load D3DAssemble via GetProcAddress.
d3dcompiler/tests: Load D3DAssemble via GetProcAddress.
d3dcompiler: Make D3DAssemble a private export.
d3d9/tests: AMD GPUs sample the border color of cube textures.
d3d9/tests: Accept random depth when using a 3D texture with a 2D sampler.
Vova Mshanetskiy (2):
winhttp: Support WINHTTP_OPTION_PARENT_HANDLE in request_query_option().
winhttp: Avoid unnecessary cast in connect_query_option().
Zebediah Figura (8):
wined3d: Allow retrieving the frontbuffer from a wined3d swapchain.
ddraw: Retrieve the frontbuffer directly from wined3d.
wined3d: Disable shaderTessellationAndGeometryPointSize.
dxgi: Introduce IWineDXGIDeviceParent::register_swapchain_texture() and use it in IDXGIDevice::CreateSurface().
dxgi: Create d3d11 swapchain textures directly from d3d11_swapchain_init().
d3d9: Move surface allocation to d3d9_surface_create().
d3d9: Create sub-resource surfaces manually.
d3d9: Pass the container to d3d9_surface_create().
Ziqing Hui (3):
winegstreamer: Implement wg_format_from_caps_video_wmv.
wingstreamer: Create extra decodebin to decode compressed stream.
mfreadwrite: Fix an address of operator typo.
The Wine stable release 8.0.1 is now available.
What's new in this release:
- Fixes for macOS Ventura 13.3 on Apple Silicon
- Tamil and Turkish translation updates
- Various bug fixes
The source is available at:
https://dl.winehq.org/wine/source/8.0/wine-8.0.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.0.1 (total 36):
- #49615 Device read errors logged in dmesg when running wine commands with empty CD/DVD drive, since 5.5
- #51345 Regression: Visual Studio 2005 "package load failure"
- #52506 Setup of game "What's the Secret?" fails to create icon
- #52878 Free PC Audit 5.1.211.96 fails to show info in 'Brief' tab (needs GetBinaryValue method of the StdRegProv class)
- #53274 adsldp:ldap - test_ParseDisplayName() sometimes fails to connect to the server
- #53926 New typelib marshaller depends on IID_IDispatch support from target interface
- #53981 Chromium broken sandbox due to GetSecurityInfo giving access denied
- #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.
- #54234 vbscript fails to compile when colon follows Else in If...Else
- #54289 RtlCopyContext buffer overflow
- #54318 Rich Edit inserts newly composed text at wrong position when system IME composition ends while a selection is active
- #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
- #54371 loader won't launch from PATH unless named "wine"
- #54376 ws2_32:sock - test_reuseaddr() overflows a sockaddr variable by reading an AF_INET6 peer name into it
- #54379 since wine 8.0 print doesn't work any more
- #54432 Missing ntdll.RtlAddressInSectionTable() implementation causes all GraalVM Native Image exes to crash on load
- #54449 nethack crashes
- #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
- #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
- #54495 Motorola Ready For Assistant does not start, needs ext-ms-win-networking-wlanapi-l1-1-0.dll
- #54563 The gif is displaying wrongly, with weird backgrounds of various colors
- #54564 Rich Edit crashes when Ctrl+Right is pressed at past the final paragraph
- #54570 Saints Row: The Third heavy rain causes heavy fps reductions
- #54581 SpeedCommander 20 installer crashes on unimplemented function SHELL32.dll.Shell_GetCachedImageIndexW
- #54617 KakaoTalk IM text edit window leaves artifacts when the text overflows and scroll bar appears
- #54663 ldp.exe crashes on unimplemented function wldap32.dll.ldap_set_dbg_flags
- #54690 ldp.exe crashes when attempting to connect to an invalid host
- #54707 adsldp:ldap - test_DirectorySearch() fails on Windows and Linux
----------------------------------------------------------------
Changes since 8.0:
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 (5):
shell32: Add support for Program Manager icons with arguments.
wldap32: Add ldap_set_dbg_flags stub.
wldap32: Handle null LDAPMessage in ldap_count_entries.
wldap32: Handle null LDAPMessage in ldap_parse_result.
server: Fix buffer overrun in map_view handler.
Alexandre Julliard (2):
gitlab: Add workaround for more strict git ownership check.
ntdll: Prefer the ntdll path over argv[0] on platforms without reliable exe information.
Alistair Leslie-Hughes (1):
mountmgr.sys: Don't attempt to read from invalid media.
Brendan Shanks (7):
loader: In macOS preloader, move the top-down allocations area down.
loader: In macOS preloader, stop using mincore() to test if a region is empty.
server: On macOS, fake debug registers when running under Rosetta.
ntdll: Add a WARN when setting debug registers fails under Rosetta.
loader: In macOS preloader, fix an environment variable sometimes being lost.
taskmgr: Use exit code 1 when terminating processes.
taskkill: Use exit code 1 when terminating processes.
Carlos Rodriguez (1):
wined3d: Add GPU information for another Intel UHD 630 GPU.
Dmitry Timoshkov (3):
win32u: Give full access rights to the process window station.
win32u: Give full access rights to the thread desktop.
rpcrt4: Mark the buffer as invalid in NdrProxyFreeBuffer().
Eric Pouech (3):
ntdll: Implement RtlAddressInSectionTable.
conhost: Only update font when running with a window.
winedbg: Use debuggee's bitness for 'examine /a' command.
Florian Will (2):
gdiplus/tests: Test for GdipPrivateAddFontFile() sharing violation.
gdiplus: Use FILE_SHARE_READ in GdipPrivateAddFontFile().
Gabriel Ivăncescu (1):
jscript: Fix jsstr leak after changing variant type to BSTR.
Gijs Vermeulen (1):
shell32: Add Shell_GetCachedImageIndexA/W exports.
Giovanni Mascellani (1):
wbemprox: Do not call Release() inside wbemprox_cf_CreateInstance().
Hans Leidekker (8):
wbemprox: Implement GetBinaryValue() method.
adsldp/tests: Avoid test failures when the server is down.
wbemprox: Implement Win32_Volume.
advapi32: Bump random buffer size.
msi: Install and patch global assemblies in InstallFinalize.
msi: Perform late initialization of the assembly caches.
adsldp/tests: Skip all remaining tests when the server is down.
adsldp/tests: Fix test failures.
Hugh McMaster (2):
regedit: Allow export_key() to return TRUE.
regedit: Append '.reg' file extension if necessary.
Illia Polishchuk (2):
d3d9/tests: Add test for non-indexed instancing drawing.
d3d9: Always draw only a single instance for non-indexed draws.
Jacek Caban (2):
win32u: Silence spurious FIXME in NtUserScrollWindowEx.
oleaut32: Remove overflow check for VT_R4 and VT_R8 in VarAbs.
Jason Millard (7):
vbscript: Fix compile when colon follows Else on new line.
vbscript: Fix memory leak in owned safearray iterator.
vbscript: Fix memory leak in Split().
vbscript: Fix memory leak in Split().
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 (7):
ws2_32/test: Fix sockaddr buffer overflow in test_reuseaddr.
riched20: Obtain the composition start index after deleting selection.
riched20/tests: Test for word movement across paragraph boundary.
riched20: Don't set para unless committing cursor move in ME_MoveCursorWords.
riched20/tests: Test for ITextDocument::Freeze and ITextDocument::Unfreeze.
riched20: Don't assume that TxDraw preserves the device context's brush selection.
riched20: Implement ITextDocument::Freeze and ITextDocument::Unfreeze.
K.B.Dharun Krishna (1):
po: Update Tamil translation.
Michael Stefaniuc (2):
tools: Get the ANNOUNCE bug list from the stable-notes git notes.
gitlab: Do not run the build script on each commit.
Nikolay Sivov (1):
apisetschema: Add ext-ms-win-networking-wlanapi-l1-1-0.
Paul Gofman (5):
ntdll: Factor out context_copy_ranges() function.
ntdll: Do not use extended context in RtlCopyContext() if extended state is not copied.
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.
Piotr Caban (7):
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.
winspool: Fix FILE: output handling in StartDocDlgW.
localspl: Ignore an empty output string.
gdiplus: Use transparency instead of background color if transparent color flag is set in GIF GCE.
Rémi Bernon (2):
dwrite: Statically init the system_fallback locale list.
services: Use a separate allocation for NotifyParamsArray[0].params.
Serkan Önder (1):
po: Update Turkish translation.
Tingzhong Luo (1):
evr: Fix crash when clearing input type for the mixer.
Zebediah Figura (1):
oleaut32: Manually construct a stub buffer for dispinterfaces.
Zhiyi Zhang (3):
comctl32/tests: Add WM_STYLECHANGED tests for changing listview view styles.
comctl32/listview: Repaint when changing view styles.
user32/tests: Test winstation and desktop access rights.
The Wine development release 8.6 is now available.
What's new in this release:
- Bundled math library from Musl libc.
- Gecko engine updated to version 2.47.4.
- Improved spool file support in the PostScript driver.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.6.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.6 (total 25):
- #11436 Pepakura viewer: err:wgl:X11DRV_wglShareLists Could not share display lists, context already created !
- #18773 Multiple apps need DirectShow MPEG Layer-3 decoder filter / l3codecx.ax (The Westerner, 3D Mark 2001SE)
- #28586 Team Fortress Arcade & Pixel Force: Left 4 Dead music doesn't play
- #32490 Graphical issues in Inquisitor (red squares painted on the screen)
- #42372 Watchtower Library 2016 crashes when trying to play a video
- #49002 Multiple games trigger GL_INVALID_FRAMEBUFFER_OPERATION in wined3d (Free Horror Game "My Place", DiRT Rally 2.0)
- #49332 CounterPath Bria Solo crashes after login dialog
- #51178 The Bat! v9.3.4.12: Missing content in TTreeViews on Windows versions higher than 8
- #52193 schtasks.exe:schtasks fails on Windows 7 when missing privileges
- #53128 Without elevated privileges schedsvc:rpcapi fails on Windows 7
- #53269 uiautomationcore:uiautomation fails on Windows 10 1909
- #53781 Multiple apps crash on unimplemented function CFGMGR32.dll.CM_MapCrToWin32Err (Matrix Awakens MegaCity Unreal Engine 5.1 demo, Hogwarts Legacy)
- #53983 Chromium broken sandbox, needs NtQueryInformationProcess with ProcessHandleTable
- #54106 taskschd:scheduler - test_GetTask() fails on Windows 7 when it has insufficient privileges
- #54109 schedsvc:rpcapi causes taskschd:scheduler to crash on w7u_adm
- #54110 CubicSDR crashes on unimplemented function msvcp140.dll.?_Rethrow_future_exception@std@@YAXVexception_ptr@1@@Z
- #54594 dinput:device8 - test_dik_codes() sometimes gets timeouts on the GitLab CI
- #54634 schtasks.exe:schtasks causes taskschd:scheduler to crash on w7u_adm and w8adm
- #54666 Compilation fails with gcc 4.8.4 - error: missing binary operator before token "("
- #54713 dinput:device8 - test_mouse_keyboard() fails on some Window 7 locales
- #54728 Pro Evolution Soccer 2008 demo takes +- 9 minutes to complete extracting 'Pro Evolution Soccer 2008 DEMO.msi' (disabling 'Light' theme works around)
- #54772 LDAP Explorer (LEX) fails to connect without SSL
- #54774 dinput:device8 - test_overlapped_format() sometimes gets a timeout in Wine (GitLab CI)
- #54781 Wine fails to update existed prefix
- #54819 DnsQuery_A() mishandles CNAME DNS records
----------------------------------------------------------------
Changes since 8.5:
Alex Henrie (6):
wldap32/tests: Name option test functions after the option being tested.
wldap32: Allow LDAP_OPT_REFERRALS to be set from a pointer.
wintrust: Annotate WINTRUST_Alloc with __WINE_(DEALLOC|MALLOC).
wldap32: Skip over the TLS certificate check if not using TLS.
opengl32/tests: Make the wglShareLists tests comprehensive.
winex11: Allow replacing either context in wglShareLists.
Alexandre Julliard (78):
libs: Import the math library from upstream musl 1.2.3.
msvcrt: Use the fabs()/fabsf() implementation from the bundled musl library.
msvcrt: Use the frexp()/frexpf() implementation from the bundled musl library.
msvcrt: Use the modf()/modff() implementation from the bundled musl library.
msvcrt: Use the cbrt()/cbrtf() implementation from the bundled musl library.
msvcrt: Use the hypot()/hypotf() implementation from the bundled musl library.
msvcrt: Use the trunc()/truncf() implementation from the bundled musl library.
msvcrt: Use the fmax()/fmaxf() implementation from the bundled musl library.
msvcrt: Use the fmin()/fminf() implementation from the bundled musl library.
msvcrt: Use the fdim()/fdimf() implementation from the bundled musl library.
msvcrt: Use the copysign()/copysignf() implementation from the bundled musl library.
msvcrt: Use the nan()/nanf() implementation from the bundled musl library.
msvcrt: Use the scalbn() implementation from the bundled musl library.
msvcrt: Use the ilogb()/ilogbf() implementation from the bundled musl library.
msvcrt: Use the logb()/logbf() implementation from the bundled musl library.
msvcrt: Use the remquo()/remquof() implementation from the bundled musl library.
msvcrt: Use the lgamma()/lgammaf() implementation from the bundled musl library.
msvcrt: Use the tgamma()/tgammaf() implementation from the bundled musl library.
msvcrt: Use the expm1()/expm1f() implementation from the bundled musl library.
msvcrt: Use the j0()/y0() implementation from the bundled musl library.
msvcrt: Use the j1()/y1() implementation from the bundled musl library.
msvcrt: Use the jn()/yn() implementation from the bundled musl library.
msvcrt: Use the fmod()/fmodf() implementation from the bundled musl library.
msvcrt: Use the log()/logf() implementation from the bundled musl library.
msvcrt: Use the log10()/log10f() implementation from the bundled musl library.
msvcrt: Use the __expo2()/__expo2f() implementation from the bundled musl library.
msvcrt: Use the coshf() implementation from the bundled musl library.
msvcrt: Use the sinhf() implementation from the bundled musl library.
msvcrt: Use the cosh() implementation from the bundled musl library.
msvcrt: Use the sinh() implementation from the bundled musl library.
msvcrt: Use the atan2()/atan2f() implementation from the bundled musl library.
msvcrt: Use the exp2()/exp2f() implementation from the bundled musl library.
msvcrt: Use the log1p()/log1pf() implementation from the bundled musl library.
msvcrt: Use the log2()/log2f() implementation from the bundled musl library.
msvcrt: Use the fma()/fmaf() implementation from the bundled musl library.
msvcrt: Use the round()/roundf() implementation from the bundled musl library.
msvcrt: Use the floor()/floorf() implementation from the bundled musl library.
msvcrt: Use the ceil()/ceilf() implementation from the bundled musl library.
msvcrt: Use the nextafter()/nextafterf() implementation from the bundled musl library.
msvcrt: Use the nexttoward()/nexttowardf() implementation from the bundled musl library.
msvcrt: Use the __rem_pio2()/__rem_pio2f() implementation from the bundled musl library.
msvcrt: Use the __sindf() implementation from the bundled musl library.
msvcrt: Use the __cosdf() implementation from the bundled musl library.
msvcrt: Use the sin()/sinf() implementation from the bundled musl library.
msvcrt: Use the cos()/cosf() implementation from the bundled musl library.
msvcrt: Use the tan()/tanf() implementation from the bundled musl library.
msvcrt: Use the pow()/powf() implementation from the bundled musl library.
msvcrt: Use the rint()/rintf() implementation from the bundled musl library.
msvcrt: Use the expf() implementation from the bundled musl library.
msvcrt: Use the acosf() implementation from the bundled musl library.
msvcrt: Use the asinf() implementation from the bundled musl library.
msvcrt: Use the atanf() implementation from the bundled musl library.
msvcrt: Use the exp() implementation from the bundled musl library.
msvcrt: Use the acos() implementation from the bundled musl library.
msvcrt: Use the asin() implementation from the bundled musl library.
msvcrt: Use the atan() implementation from the bundled musl library.
msvcrt: Use the asinh()/asinhf() implementation from the bundled musl library.
msvcrt: Use the acosh()/acoshf() implementation from the bundled musl library.
msvcrt: Use the atanh()/atanhf() implementation from the bundled musl library.
msvcrt: Use the tanh()/tanhf() implementation from the bundled musl library.
msvcrt: Use the remainder()/remainderf() implementation from the bundled musl library.
msvcrt: Use the erf()/erfc()/erff()/erfcf() implementation from the bundled musl library.
msvcrt: Use the sqrtf() implementation from the bundled musl library.
msvcrt: Use the sqrt() implementation from the bundled musl library.
msvcrt: Use the _dclass()/_fdclass() implementation from the bundled musl library.
ntdll: Use the sin() implementation from the bundled musl library.
ntdll: Use the cos() implementation from the bundled musl library.
ntdll: Use the tan() implementation from the bundled musl library.
ntdll: Use the atan() implementation from the bundled musl library.
ntdll: Use the atan2() implementation from the bundled musl library.
ntdll: Use the log() implementation from the bundled musl library.
ntdll: Use the pow() implementation from the bundled musl library.
ntdll: Use the sqrt() implementation from the bundled musl library.
ntdll: Use the ceil() implementation from the bundled musl library.
ntdll: Use the floor() implementation from the bundled musl library.
ntdll: Use the fabs() implementation from the bundled musl library.
ntdll: Use the correct section start when reading the COR header.
winedump: Apply all dynamic relocations before dumping alternate PE headers.
Alexandros Frantzis (10):
win32u: Support setting the current mode using gdi_device_manager.
winex11.drv: Extract function to check devmode equality.
winex11.drv: Set the current mode using gdi_device_manager.
winewayland.drv: Set the current mode using gdi_device_manager.
winemac.drv: Extract function to get the current mode.
winemac.drv: Set the current mode using gdi_device_manager.
wineandroid.drv: Set the current mode using gdi_device_manager.
winex11.drv: Use the proper id with the settings handler.
winex11.drv: Do not call desktop get_current_mode() from UpdateDisplayDevices.
winex11.drv: Use a distinct type for the settings id.
Alistair Leslie-Hughes (1):
msado15: Initialize all SYSTEMTIME members.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Biswapriyo Nath (1):
include: Fix IDirectXVideoDecoderService declaration in dxva2api.idl.
Connor McAdams (5):
uiautomationcore/tests: Add tests for default ProviderType_BaseHwnd clientside provider.
uiautomationcore: Add a default ProviderType_BaseHwnd clientside provider.
uiautomationcore: Implement UIA_ProcessIdPropertyId for default HWND provider.
uiautomationcore: Implement UIA_ClassNamePropertyId for default HWND provider.
uiautomationcore: Implement UIA_NamePropertyId for default HWND provider.
Daniel Tang (1):
wintypes: Declare exported functions in rometadataresolution.h.
Davide Beatrici (11):
winecoreaudio: Retain precision when storing period in unixlib.
winecoreaudio: Store flags in unixlib.
winecoreaudio: Implement and call set_event_handle in unixlib.
winecoreaudio: Implement and call timer_loop in unixlib.
winealsa: Move common mmdevdrv structs into mmdevapi.
winecoreaudio: Use mmdevdrv structs from mmdevapi.
wineoss: Use mmdevdrv structs from mmdevapi.
winepulse: Use mmdevdrv structs from mmdevapi.
mmdevapi: Rename mmdevapi.h to mmdevapi_private.h.
mmdevapi: Add missing includes to mmdevapi_private.h.
mmdevapi: Add missing includes and typedef to mmdevdrv.h.
Eric Pouech (5):
kernel32/debugger: Fix a failing test (on Wine).
winedump: Fix out of bounds access (spotted by GCC13).
winedbg: Don't crash when no search path has been set.
kernel32/tests: Workaround broken behavior in Win7 Pro64.
psapi: Test filesystem redirection with EnumProcessModulesEx.
Florian Will (5):
dinput/tests: Add EnumObjects callback return value test.
dinput: Fix EnumObjects callback return value handling.
dinput/tests: Add guidType test for collection objects.
dinput: Set guidType = GUID_Unknown for HID collections.
dinput/tests: Remove unmatched winetest_pop_context().
François Gouget (14):
dinput/tests: Fix the spelling of an ok() message.
wininet/tests: Remove redundant quotes in an ok() message.
wininet/tests: Avoid an unnecessary strlen() call in internet.c.
kernel32/tests: Improve the WideCharToMultiByte() null-termination and truncation tests.
iphlpapi: Fix the GAA_FLAG_INCLUDE_GATEWAYS constant name.
wininet/tests: Fix the InternetErrorDlg() tests on Windows 10 1607.
wininet/tests: Avoid an unnecessary lstrlenW() call in internet.c.
winintest/tests: Remove a couple of redundant InternetGetConnectedStateEx*() tests.
wininet/tests: Dump the state string if it is not as expected.
wininet: InternetGetConnectedStateExA() must always null-terminate the state string.
wininet/tests: Fix InternetGetConnectedStateEx() parameter checking.
user32/tests: Windows 11's notepad has four icons.
dnsapi/tests: Test how DnsQuery() handles CNAMEs.
advapi32/tests: Make the services resume handle traces more informative.
Gabriel Ivăncescu (6):
mshtml: Tell wine-gecko about the IE compat document mode.
mshtml: Set dom.ipc.plugins.enabled to FALSE.
mshtml: Implement `complete` prop for input elements.
mshtml: Get rid of dispatch_nsevent_hook.
mshtml: Implement ProgressEvent's initProgressEvent method.
mshtml/tests: Add tests for non-stringed url() with non-URL characters in CSS.
Giovanni Mascellani (5):
dxgi/tests: Test GetLastPresentCount() with DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT.
dxgi: Return correct present count with DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT.
dxgi: Return a duplicate frame latency event.
dxgi/tests: Rename the waitable object from "event" to "semaphore".
dxgi/tests: Test the frame latency waitable more thoroughly.
Hans Leidekker (3):
wldap32: Implement LDAP_OPT_REFERRAL_HOP_LIMIT.
wldap32: Don't call ldap_connect() when a connection has already been established.
ws2_32: Skip non-address records in dns_only_query().
Hugh McMaster (5):
kernel32/tests: Check return length of GetConsoleOriginalTitleA/W().
conhost: Save original console title on initialization.
kernelbase: Implement GetConsoleOriginalTitleW().
kernelbase: Implement GetConsoleOriginalTitleA().
kernel32/tests: Test GetConsoleOriginalTitleW() with an empty title.
Jacek Caban (2):
winevulkan: Add support for VK_KHR_map_memory2.
mshtml: Wine Gecko 2.47.4 release.
Jactry Zeng (5):
include: Add FWF_NONE.
shell32: Assign a default view mode value for IShellView.
shell32/tests: Move interfaces creation to a function.
shell32/tests: Add tests for IShellView_GetCurrentInfo().
shell32: Assign a default flags for view information of IShellView.
Mohamad Al-Jaf (34):
widl: Add support for inherited runtime classes.
widl: Add support for protected attribute.
widl: Add support for composable attribute.
cryptowinrt/tests: Remove racey refcount test.
include: Add windows.ui.composition.idl file.
include: Add Windows.UI.Composition.CompositionBrush definition.
include: Add ICompositionSurface interface definition.
include: Add Windows.UI.Composition.CompositionSurfaceBrush definition.
include: Add Windows.UI.Composition.SpriteVisual definition.
include: Add Windows.UI.Composition.CompositionClip definition.
include: Add Windows.UI.Composition.Visual definition.
include: Add Windows.UI.Composition.ColorKeyFrameAnimation definition.
include: Add Windows.UI.Composition.CompositionColorBrush definition.
include: Add Windows.UI.Composition.CubicBezierEasingFunction definition.
include: Add Windows.UI.Composition.CompositionEffectBrush definition.
include: Add Windows.UI.Composition.CompositionEffectFactory definition.
include: Add Windows.UI.Composition.ExpressionAnimation definition.
include: Add Windows.UI.Composition.InsetClip definition.
include: Add Windows.UI.Composition.LinearEasingFunction definition.
include: Add Windows.UI.Composition.CompositionPropertySet definition.
include: Add Windows.UI.Composition.QuaternionKeyFrameAnimation definition.
include: Add Windows.UI.Composition.ScalarKeyFrameAnimation definition.
include: Add Windows.UI.Composition.CompositionScopedBatch definition.
include: Add Windows.UI.Composition.CompositionTarget definition.
include: Add Windows.UI.Composition.Vector2KeyFrameAnimation definition.
include: Add Windows.UI.Composition.Vector3KeyFrameAnimation definition.
include: Add Windows.UI.Composition.Vector4KeyFrameAnimation definition.
include: Add Windows.UI.Composition.CompositionCommitBatch definition.
include: Add Windows.UI.Composition.Compositor definition.
include: Add Windows.UI.Composition.CompositionObject definition.
include: Add Windows.UI.Composition.CompositionDrawingSurface definition.
include: Add Windows.UI.Composition.CompositionGraphicsDevice definition.
widl: Add support for WinRT HANDLE parameter type.
include: Add windows.ui.composition.interop.idl file.
Nikolay Sivov (1):
mfplat: Handle more video subtypes in MFInitMediaTypeFromAMMediaType().
Paul Gofman (10):
winegstreamer: Fix check for non-zero padding in h264 transform.
win32u: Set DEVPKEY_Device_MatchingDeviceId for GPUs.
win32u: Set DEVPKEY_Device_BusNumber for GPUs.
win32u: Set DEVPKEY_Device_RemovalPolicy for GPUs.
mf/tests: Increase h264data.bin video length.
mf/tests: Test h264 decoder with dxgi device manager.
winegstreamer: Process MFT_MESSAGE_SET_D3D_MANAGER in h264 decoder.
winegstreamer: Provide samples if DXGI device manager is set in h264 decoder.
winegstreamer: Pass temporary sample to wg_transform_read_mf() in h264 decoder.
winex11.drv: Fix bit shifts in pixel format description for RGBA formats.
Piotr Caban (61):
win32u: Add support for undocummented DIB_PAL_INDICES color usage in SetDIBits.
gdi32: Rename DIB_PAL_MONO to DIB_PAL_INDICES.
gdi32: Let SetDIBits handle DIB_PAL_INDICES color usage in PlayEnhMetaFileRecord.
wineps: Handle EMR_MASKBLT record in spool files.
wineps: Handle EMR_PLGBLT record in spool files.
wineps: Handle EMR_DELETEOBJECT record in spool files.
wineps: Handle EMR_POLYDRAW record in spool files.
wineps: Handle EMR_POLYDRAW16 record in spool files.
wineps: Handle EMR_CREATEPEN record in spool files.
wineps: Handle EMR_CREATEBRUSHINDIRECT record in spool files.
gdi32: Factor out function for obtaining gdi object handle.
gdi32: Support stock brush in EMR_FILLRGN.
gdi32: Support stock brush in EMR_FRAMERGN.
wineps: Handle EMR_FILLRGN record in spool files.
wineps: Handle EMR_FRAMERGN record in spool files.
wineps: Handle EMR_INVERTRGN record in spool files.
wineps: Handle EMR_SETROP2 record in spool files.
wineps: Handle EMR_SETSTRETCHBLTMODE record in spool files.
wineps: Handle EMR_SETTEXTALIGN record in spool files.
wineps: Handle EMR_OFFSETCLIPRGN record in spool files.
wineps: Handle EMR_EXCLUDECLIPRECT record in spool files.
wineps: Handle EMR_INTERSECTCLIPRECT record in spool files.
wineps: Handle EMR_SCALEVIEWPORTEXTEX record in spool files.
wineps: Handle EMR_SCALEWINDOWEXTEX record in spool files.
wineps: Don't write invisible parts of image to decrease output file size.
wineps: Handle EMR_SELECTCLIPPATH in spool files.
wineps: Handle EMR_EXTSELECTCLIPRGN record in spool files.
wineps: Fix reporting supported color depths in PSDRV_PutImage.
wineps: Handle EMR_GRADIENTFILL record in spool files.
wineps: Handle EMR_ENDPATH record in spool files.
wineps: Handle EMR_ABORTPATH record in spool files.
wineps: Handle EMR_BEGINPATH record in spool files.
wineps: Handle EMR_FILLPATH record in spool files.
wineps: Handle EMR_STROKEANDFILLPATH record in spool files.
wineps: Handle EMR_STROKEPATH record in spool files.
wineps: Handle EMR_CLOSEFIGURE record in spool files.
wineps: Handle EMR_FLATTENPATH record in spool files.
wineps: Handle EMR_WIDENPATH record in spool files.
include: Add EMRTRANSPARENTBLT definition.
gdi32: Handle EMR_TRANSPARENTBLT record in PlayEnhMetaFileRecord.
wineps: Fix SetPixel implementation.
wineps: Don't store currently selected brush in print processor data.
wineps: Handle EMR_SETTEXTCOLOR record in spool files.
wineps: Handle EMR_SETBKCOLOR record in spool files.
wineps: Handle EMR_SAVEDC in spool files.
wineps: Handle EMR_RESTOREDC record in spool files.
wineps: Handle EMR_EXTESCAPE record in spool files.
wineps: Silence FIXME message on EMR_ALPHABLEND record.
wineps: Silence FIXME message on EMR_EXTFLOODFILL record.
wineps: Handle EMR_SETMAPPERFLAGS record in spool files.
wineps: Handle EMR_SETMAPMODE record in spool files.
wineps: Handle EMR_SETBKMODE record in spool files.
wineps: Handle EMR_SETPOLYFILLMODE record in spool files.
wineps: Handle EMR_SETLAYOUT record in spool files.
wineps: Handle EMR_SETTEXTJUSTIFICATION record in spool files.
msvcr100: Add missing ExternalContextBase virtual functions stubs.
msvcr100: Add Context::Block() implementation.
msvcr100: Add ExternalContextBase::Block() implementation.
msvcr100: Add ExternalContextBase::IsSynchronouslyBlocked() implementation.
msvcr100: Add ExternalContextBase::Unblock implementation.
msvcr100: Use Context blocking functions in reader_writer_lock class.
Rémi Bernon (72):
winex11: Remove non-CJK specific XIC creation logic.
winex11: Always create XIC preedit and status attributes.
winex11: Pass hwnd parameter to all XIC callbacks.
winex11: Remove unnecessary else control flow.
winex11: Create the thread XFontSet on thread attach.
winex11: Set thread data XIM pointer outside of open_xim.
winex11: Cleanup XIM initialization traces.
imm32: Rewrite ImmInternalSendIMEMessage helper as imc_send_message.
imm32: Rewrite ImmInternalPostIMEMessage helper as imc_post_message.
imm32: Rewrite ImmInternalSendIMENotify helper as imc_notify_ime.
imm32: Fix mixed-up HIMC / imc pointers in ImmTranslateMessage.
imm32: Simplify control flow in ImmTranslateMessage.
imm32: Cleanup parameters and traces in ImmTranslateMessage.
imm32: Use a stack allocated buffer in ImmTranslateMessage.
ws2_32/tests: Adjust test results without host IPv6 support.
winemac: Rename imeData / data members and variables to himc.
winemac: Use UINT(32) for HIMC in the unixlib interface.
winemac: Assume IME UI window always has a valid HIMC.
winemac: Pass INPUTCONTEXT pointer to UpdateDataInDefaultIMEWindow.
winemac: Add a helper to get IME private window.
winemac: Add a helper to get COMPOSITIONSTRING text.
winemac: Add a helper to select IME private font.
winex11: Assume IME UI window always has a valid HIMC.
winex11: Pass INPUTCONTEXT pointer to UpdateDefaultIMEWindow.
winex11: Add a helper to get COMPOSITIONSTRING text.
winex11: Add a helper to select IME private font.
winex11: Register XIC status callbacks.
winex11: Refactor XIM input style selection.
winex11: Reorder control flow in xic_preedit_draw.
winex11: Fix XIM wchar encoding in xic_preedit_draw.
winex11: Early return control flow in xic_preedit_caret.
winex11: Set x11drv_win_data XIC out of X11DRV_CreateIC.
dinput/tests: Mark some tests as flaky to work around fvwm bug.
imm32/tests: Test setting the same HIMC statuses twice.
imm32/tests: Test WM_IME_NOTIFY messages target window.
imm32/tests: Add more ImmGetCompositionString(W|A) tests.
imm32/tests: Add more ImmSetCompositionString tests.
winex11: Cleanup spaces in IME UI window proc.
winex11: Move IME UI proc to default IME implementation.
winemac: Use the default IME UI window proc implementation.
imm32: Cleanup default IME UI window proc traces.
imm32: Call DefWindowProcW from IME UI for unhandled messages.
imm32: Remove unnecessary HIMC check in IME UI window proc.
imm32/tests: Reduce the number of IME installations.
imm32/tests: Cleanup the cross thread IMC tests.
imm32: Serialize ImeInquire / ImeDestroy calls.
imm32: Use INPUTCONTEXT directly in ImmGetOpenStatus.
imm32: Use INPUTCONTEXT directly in ImmSetOpenStatus.
imm32: Cache INPUTCONTEXT values for every IME.
imm32: Compare open status values in ImmSetOpenStatus.
imm32: Use INPUTCONTEXT directly in ImmGetConversionStatus.
imm32: Use INPUTCONTEXT directly in ImmSetConversionStatus.
include: Add INPUTCONTEXT fdwInit flags definitions.
imm32/tests: Add some Imm(Get|Set)CompositionWindow tests.
imm32/tests: Add some Imm(Get|Set)StatusWindowPos tests.
imm32/tests: Add some Imm(Get|Set)CompositionFont tests.
imm32/tests: Add some Imm(Get|Set)CandidateWindow tests.
imm32: Use INPUTCONTEXT directly in ImmSetCompositionWindow.
imm32: Use INPUTCONTEXT directly in ImmGetCompositionWindow.
imm32: Use INPUTCONTEXT directly in ImmSetStatusWindowPos.
imm32: Use INPUTCONTEXT directly in ImmGetStatusWindowPos.
imm32: Use INPUTCONTEXT directly in ImmSetCompositionFont(A|W).
imm32: Use INPUTCONTEXT directly in ImmGetCompositionFont(A|W).
imm32: Use INPUTCONTEXT directly in ImmSetCandidateWindow.
imm32: Use INPUTCONTEXT directly in ImmGetCandidateWindow.
winegstreamer: Introduce a new wg_init_gstreamer unixlib entry.
winegstreamer: Move some wg_parser / wg_transform helpers to unixlib.c.
winegstreamer: Sync element state with parent in append_element.
winegstreamer: Use append_element to build wg_parser pipeline.
winegstreamer: Remove unnecessary unlink in pad-removed callback.
winegstreamer: Introduce new link_src_to_element / link_element_to_sink helpers.
winegstreamer: Introduce new stream_type_from_caps helper.
Santino Mazza (3):
mf/tests: Test media session error handling.
mf/session: Handle errors when subscribing to source's events.
mf/session: Handle error when a source fails to start.
Stefan Dösinger (2):
wined3d: Rotate vk bind masks in wined3d_swapchain_vk_rotate.
include: X86 msvc has _InterlockedExchangePointer and _InterlockedCompareExchangePointer.
Tatsuyuki Ishi (1):
ntdll: Use log-linear bucketing for free lists.
Torge Matthies (1):
msvcr110: Implement _Context::_IsSynchronouslyBlocked.
Vijay Kiran Kamuju (1):
msvcp110: Add std::_Rethrow_future_exception implementation.
Zebediah Figura (14):
quartz/vmr9: Do not clear the previous allocator and presenter in IVMRFilterConfig9::SetRenderingMode().
quartz/vmr9: Return a default_presenter structure from the default presenter constructor.
quartz/vmr9: Do not bother setting the cookie when using the default presenter.
quartz/vmr9: Do not set the mode if we failed to create the default presenter.
advapi32: Print ReportEvent() messages one line at a time.
d3dx10/tests: Port some additional D3DX10GetImageInfoFromMemory() tests from d3dx11.
windowscodecs: Map GUID_WICPixelFormat32bppRGBA1010102 to DXGI_FORMAT_R10G10B10A2_UNORM as well.
d3dx10: Map DXGI_FORMAT_R16_UNORM to DXGI_FORMAT_R16G16B16A16_UNORM in get_d3dx10_dds_format().
winegstreamer: Initialize media source video types from a wg_video_format array.
winegstreamer: Set the MF_MT_DEFAULT_STRIDE attribute in mf_media_type_from_wg_format().
winegstreamer: Translate the MF_MT_DEFAULT_STRIDE attribute to flipped video in mf_media_type_to_wg_format().
winegstreamer: Move flipping based on RGB to the frontends.
wined3d: Do not use glFramebufferTexture() to bind array RTVs with an array size of one.
d3d10core/tests: Add a regression test for mismatch of layered framebuffer attachments.
Zhiyi Zhang (4):
winex11.drv: Fix a typo.
light.msstyles: Use border fill background for progress parts.
light.msstyles: Don't draw a border for progress fill parts.
wined3d: Add GPU information for AMD Raphael.
The Wine development release 8.5 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.7.
- Better error reporting in the IDL compiler.
- Support for shared Wow64 Classes registry key.
- More cleanups in IME support.
- Support for configuring a WinRT dark theme.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.5.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.5 (total 21):
- #44547 Deus Ex: invisible War v1.2 crashes when using the hotkey to quickload a saved game
- #46562 Notepad++ 7.6.3 crashes when searching twice and first time found results
- #47326 Fair Strike fails to map joystick due to IDirectInputDevice8 SetActionMap being a semi-stub.
- #53704 Bible Black ~La Noche de Walpurgis~ won't start
- #53794 Sins of the Solar Empire Rebellion (Gog 1.975.1) crashes on unimplemented function concrt140.dll.?_CheckTaskCollection@_UnrealizedChore@details@Concurrency@@IAEXXZ
- #53981 Chromium broken sandbox due to GetSecurityInfo giving access denied
- #54560 mscoree:mscoree - test_loadpaths_execute() sometimes gets directory creation errors
- #54618 VARA FM crashes on unimplemented function pdh.dll.PdhVbGetDoubleCounterValue
- #54640 Treecomp listviews and possibly other widgets are not drawn
- #54675 Chocolatey OpenSSH installer fails
- #54679 Conspiracy's Clean Slate 64K demo crashes due to HLSL shader compilation failure
- #54687 LibreVR Revive fails to run (CertGetNameStringW with dwType=CERT_NAME_ATTR_TYPE and pvTypePara missing additional fallbacks)
- #54691 reg.exe:copy, reg.exe:delete, reg.exe:export, reg.exe:import & reg.exe:query (+32-bit reg.exe:add) - The 64-bit tests fail due to ERROR_ACCESS_DENIED errors in Wine
- #54701 Ultimate Race Pro crashes after intro movies
- #54702 ldp.exe crashes when attempting to add, delete, modify, or compare an entry without a name
- #54707 adsldp:ldap - test_DirectorySearch() fails on Windows and Linux
- #54710 imm32:imm32 - test_ImmEscape() fails in the Korean locale on Windows
- #54711 imm32:imm32 - test_ImmGetProperty() fails in the Korean locale on Windows
- #54724 LDAP bind over SSL to a server and port that do not support SSL hangs forever
- #54727 LDAP Explorer (LEX) throws an exception when attempting to connect over SSL
- #54729 wine build fails with bison 3.0.5
----------------------------------------------------------------
Changes since 8.4:
Alex Henrie (14):
include: Annotate LDAP allocation functions with __WINE_(DEALLOC|MALLOC).
wldap32: Handle null DN or null message in ldap_add* and add tests.
wldap32: Handle null DN or null message in ldap_modify* and add tests.
include: Annotate ldap_(*_attribute|get_dn)* with __WINE_(DEALLOC|MALLOC).
wldap32: Annotate allocation functions with __WINE_(DEALLOC|MALLOC).
wldap32: Handle null DN or null attr in ldap_compare* and add tests.
include: Allow multiple definitions on GCC with DECLSPEC_SELECTANY.
wldap32/tests: Use the same context in test_ldap_(add|modify_compare).
wldap32: Handle null DN or null message in ldap_delete* and add tests.
wldap32: Implement setting LDAP_OPT_SSL and add tests.
wldap32: Stub out setting LDAP_OPT_REFERRAL_HOP_LIMIT.
wldap32: Implement ldap_connect.
wldap32: Return ~0u from ldap_modrdn* for any error.
wldap32: Implement setting LDAP_OPT_SERVER_CERTIFICATE and add tests.
Alexandre Julliard (17):
widl: Pass the correct parent name when opening an import file.
include: Declare some missing ntdll functions, and fix the sorting.
kernelbase: Use RtlGetNativeSystemInformation() to implement GetNativeSystemInfo().
wow64: Allow the CPU backend to override CPU information.
wow64: Convert token and debug port in NtCreateUserProcess().
ntdll: Fixup CPU information for old Wow64 mode.
ntdll: Add a helper function to check for old-style Wow64 mode.
ntdll: Add a helper function to check for Wow64 mode.
ntdll: Use get_wow_teb() and wow_peb in more places.
vkd3d: Import upstream release 1.7.
ntdll: One more fix for CPU information in old Wow64 mode.
ntdll: Convert WoW context to native context when running in 32-bit code.
ntdll: Fully initialize the i386 FPU context on ARM64.
kernelbase: Fix pattern checking for genitive month names in get_date_format().
d3dcompiler/tests: Update todos for tests that succeed with vkd3d 1.7.
ntdll: Add a helper function to return the alternate 32/64 loader.
ntdll: Only fall back to start.exe when using a different loader.
Alistair Leslie-Hughes (7):
msado15: Bind fields in _Recordset Open.
msado15: Store all data from provider.
include: Add Missing IUISettings interfaces.
windows.ui: Add Stubbed interface IUISettings.
windows.ui: Add IUISettings2 stub interface.
windows.ui: Use DEFINE_IINSPECTABLE for IUISettings3.
msado15: Handle DBTYPE_STR type when loading recordset data.
Bernhard Kölbl (1):
windows.media.speech/tests: Allow recognizer state to be idle during active recognition session.
Biswapriyo Nath (5):
include: Add IDirectManipulationInteractionEventHandler declaration in directmanipulation.idl.
include: Add missing TS_STATUS constants in textstor.idl.
include: Fix c++ compiler error with msxml2.idl.
include/windows.system.idl: Update file to newer formatting.
include: Add Windows.System.DispatcherQueue definition.
Brendan Shanks (2):
winemac: Fix memory leak in UpdateDisplayDevices.
ntdll: Print correct thread rename trace when using current thread ID with exception method.
Carlos Rodriguez (1):
wined3d: Add GPU information for another Intel UHD 630 GPU.
Connor McAdams (12):
uiautomationcore: Add stub IUIAutomationTreeWalker implementation.
uiautomationcore: Implement IUIAutomationTreeWalker::Get{First/Last}ChildElement{BuildCache}.
uiautomationcore: Implement IUIAutomationTreeWalker::Get{Previous/Next}SiblingElement{BuildCache}.
uiautomationcore: Implement IUIAutomationTreeWalker::GetParentElement{BuildCache}.
uiautomationcore/tests: Skip IAccessible2 tests on Win10v1909.
uiautomationcore/tests: Add NULL input argument tests for IUIAutomationTreeWalker navigation method.
uiautomationcore: Add a helper function for retrieving a property value from an individual node provider.
uiautomationcore: Add support for UIA_ProviderDescriptionPropertyId.
uiautomationcore: Add support for UIA_IsOffscreenPropertyId to MSAA providers.
uiautomationcore: Add support for UIA_LegacyIAccessibleChildIdPropertyId.
uiautomationcore: Add support for UIA_LegacyIAccessibleRolePropertyId.
uiautomationcore: Implement ILegacyIAccessibleProvider::get_Role for MSAA providers.
Eric Pouech (2):
kernel32/tests: Extend the tests for load/unload debug events on Wow64.
wow64: Move filter of (un)load DLL debug events to client side.
Etaash Mathamsetty (6):
kernel32: Add semi-stub for CreateFileTransactedA/W().
kernel32: Add semi-stub for CreateDirectoryTransactedA/W().
kernel32: Add semi-stub for DeleteFileTransactedA/W().
kernel32: Add semi-stub for FindFirstFileTransactedA/W().
kernel32: Add semi-stub for GetFileAttributesTransactedA/W().
kernel32: Add semi-stub for RemoveDirectoryTransactedA/W().
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (16):
mscoree/tests: Avoid temporary directory name collisions.
imm32/tests: Document the WINE_LANGID value.
widl: Error_loc() messages must have a trailing linefeed.
schtasks/tests: Deleting folders requires elevated privileges on Windows 7 & 8.
schtasks/tests: Verify that the task folders are correctly deleted.
schedsvc/tests: Use __HRESULT_FROM_WIN32() to initialize constants.
schedsvc/tests: Use wide character string literals in rpcapi.c.
schedsvc/tests: Use a winetest context in the rpcapi loops.
schedsvc/tests: Document SchRpcGetTaskInfo() calls that crash on Windows.
schedsvc/tests: Deleting tasks & folders requires elevated privileges on Windows 7.
taskschd/tests: Use __HRESULT_FROM_WIN32() to initialize constants.
taskschd/tests: Store the xml definitions as wide string literals in scheduler.c.
taskschd/tests: Use wide character string literals in scheduler.c.
taskschd/tests: Use a winetest context in the scheduler loops.
taskschd/tests: Elevated privileges are needed to connect using a hostname.
taskschd/tests: Deleting tasks & folders requires elevated privileges on Windows 7.
Gabriel Ivăncescu (5):
mshtml: Fix nsevent leak in create_document_event.
mshtml: Fix nsscript leak in bind_event_scripts.
mshtml: Share reference with the node for Gecko DOM Documents.
mshtml: Fix nsuri leak if create_channelbsc failed.
mshtml: Fix nsparser leak if script_elem_from_nsscript failed.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.246.
Hans Leidekker (2):
adsldp/tests: Fix test failures.
ldap: Return an error when the server doesn't respond to the SSL handshake.
Huw D. M. Davies (1):
win32u: Fix printf format warnings.
Jinoh Kang (3):
kernel32/tests: Test for manifest file open share mode in CreateActCtxW.
ntdll: Open application manifest files with FILE_SHARE_DELETE.
ntdll: Don't report user (PE) stack via pthread_attr_setstack().
Louis Lenders (1):
wine.inf: Add EditionID to HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion.
Marc-Aurel Zent (1):
iphlpapi: Return FALSE for bad handles in IcmpCloseHandle.
Max Figura (10):
wined3d: Move the WINED3D_RS_TWEENFACTOR stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_POSITIONDEGREE stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_NORMALDEGREE stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_MINTESSELLATIONLEVEL stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_MAXTESSELLATIONLEVEL stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ADAPTIVETESS_X stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ADAPTIVETESS_Y stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ADAPTIVETESS_Z stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ADAPTIVETESS_W stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ENABLEADAPTIVETESSELLATION stub to wined3d_device_apply_stateblock.
Michael Stefaniuc (11):
msdasql: Remove redundant NULL check before heap_free().
windows.media.speech: Remove redundant NULL check before free().
dinput/tests: Use separate statements instead of the comma operator.
jscript: Use separate statements instead of the comma operator.
dmsynth: Don't crash when Open() gets a DMUS_PORTPARAMS7.
dinput/tests: Drop superfluous TRUE : FALSE conditional expressions.
dinput: Remove superfluous cast to self.
uiautomationcore/tests: Drop superfluous TRUE : FALSE conditional expression.
ntdll/tests: Use FAILED() instead of not SUCCEEDED().
wmvcore/tests: Don't cast NULL to another pointer type.
mfplat/tests: Remove duplicated ok() call.
Mohamad Al-Jaf (11):
include: Add windows.graphics.effects.idl file.
include: Add windows.graphics.capture.idl file.
graphicscapture: Add stub DLL.
graphicscapture: Add IGraphicsCaptureSessionStatics stub interface.
graphicscapture/tests: Add IGraphicsCaptureSessionStatics::IsSupported() tests.
graphicscapture: Partially implement IGraphicsCaptureSessionStatics::IsSupported().
winecfg: Add an option to set WinRT app dark theme.
cfgmgr32: Implement CM_MapCrToWin32Err.
cfgmgr32/tests: Add CM_MapCrToWin32Err tests.
include: Add DirectXAlphaMode enum.
include: Add windows.ui.core.idl file.
Nikolay Sivov (15):
d3d10/effect: Add support for itof instruction.
d3d10/effect: Add support for ineg instruction.
d3d10/effect: Add support for imax instruction.
d3d10/effect: Add support for udiv instruction.
d3dcompiler: Always initialize output shader blob pointer in D3DCompile2().
d3dcompiler: Allow D3DCompile2() to succeed with null output shader blob pointer.
d3dcompiler: Always free messages string in D3DCompile2().
d3dcompiler: Fix bytecode buffer leaks in D3DCompile2().
d3d10/effect: Add support for 'movc' instruction.
d3d10/effect: Handle division by zero in 'udiv'.
d3d10/effect: Add support for asin/acos/atan instructions.
d3d10/effect: Add support for umin/umax instructions.
d3d10/effect: Add support for 'imin' instruction.
d3d10/effect: Add support for 'iadd' instruction.
d3d10/tests: Add some tests for trigonometric functions.
Paul Gofman (15):
crypt32: Support user properties for certificates.
crypt32: Use CERT_STORE_ADD_ALWAYS when reading certs from registry.
crypt32: Refactor CRYPT_ImportSystemRootCertsToReg().
crypt32: Refactor read_trusted_roots_from_known_locations().
crypt32: Keep root certs cached in registry unless some are deleted on host.
taskkill: Use CRT allocation functions.
taskkill: Remove unneeded free() before process exit.
taskkill: Enumerate processes in main().
taskkill: Factor out get_task_pid().
taskkill: Use toolhelp snapshot to get process information.
taskkill: Mark processes for termination in main().
taskkill: Support terminating child processes.
services: Create service processes in a job.
services: Factor out notify_service_state() function.
services: Change running service state once its process dies.
Piotr Caban (49):
wineps: Move more code into create_psdrv_physdev helper.
wineps: Create fake PSDRV_PDEVICE OpenPrintProcessor.
wineps: Initialize PSDRV_PDEVICE print job information in PrintDocumentOnPrintProcessor.
wineps: Write document header and footer in PrintDocumentOnPrintProcessor.
wineps: Handle EMR_HEADER record in spool files.
wineps: Handle EMR_EOF record in spool files.
wineps: Handle brush selection in spool files.
wineps: Handle pen selection in spool files.
wineps: Handle EMR_RECTANGLE record in spool files.
wineps: Handle EMR_MOVETOEX record in spool files.
wineps: Handle EMR_LINETO record in spool files.
wineps: Handle EMR_CREATEMONOBRUSH record in spool files.
wineps: Handle EMR_CREATEDIBPATTERNBRUSHPT record in spool files.
wineps: Handle EMR_SETWORLDTRANSFORM record in spool files.
wineps: Handle EMR_MODIFYWORLDTRANSFORM record in spool files.
wineps: Handle EMR_POLYBEZIER record in spool files.
wineps: Handle EMR_POLYPOLYLINE record in spool files.
wineps: Handle EMR_POLYPOLYGON record in spool files.
wineps: Handle EMR_SETPIXELV record in spool files.
wineps: Handle EMR_ELLIPSE record in spool files.
wineps: Handle EMR_ROUNDRECT record in spool files.
wineps: Handle EMR_ARC record in spool files.
wineps: Handle EMR_CHORD record in spool files.
wineps: Handle EMR_PIE record in spool files.
ucrtbase: Add __CxxFrameHandler4 implementation.
wineps: Introduce helper for PolyBezier drawing.
wineps: Handle EMR_POLYGON record in spool files.
wineps: Handle EMR_POLYLINE record in spool files.
wineps: Handle EMR_POLYBEZIERTO record in spool files.
wineps: Handle EMR_POLYLINETO record in spool files.
wineps: Handle EMR_ARCTO record in spool files.
wineps: Handle EMR_POLYBEZIER16 record in spool files.
wineps: Handle EMR_POLYGON16 record in spool files.
wineps: Handle EMR_POLYLINE16 record in spool files.
wineps: Handle EMR_POLYBEZIERTO16 record in spool files.
wineps: Handle EMR_POLYLINETO16 record in spool files.
wineps: Handle EMR_POLYPOLYLINE16 record in spool files.
wineps: Handle EMR_POLYPOLYGON16 record in spool files.
wineps: Support arc direction in PSDRV_DrawArc.
wineps: Handle EMR_ANGLEARC record in spool files.
wineps: Handle EMR_PAINTRGN record in spool files.
wineps: Handle EMR_SETWINDOWEXTEX record in spool files.
wineps: Handle EMR_SETWINDOWORGEX record in spool files.
wineps: Handle EMR_SETVIEWPORTEXTEX in spool files.
wineps: Handle EMR_SETVIEWPORTORGEX record in spool files.
wineps: Handle EMR_SETBRUSHORGEX in spool files.
wineps: Handle EMR_SETARCDIRECTION record in spool files.
wineps: Handle EMR_STRETCHBLT record in spool files.
wineps: Handle EMR_BITBLT record in spool files.
Rémi Bernon (105):
win32u/tests: Test NtUserCreateInputContext (et al.)
win32u: Stub NtUserBuildHimcList syscall.
win32u/tests: Test NtUserBuildHimcList syscall.
win32u: Introduce new next_process_user_handle_ptr helper.
win32u: Implement NtUserBuildHimcList syscall.
dinput: Rewrite IDirectInputDevice8W_BuildActionMap.
dinput: Pass device object format index to queue_event.
dinput: Pass additional information to enum_object callback.
dinput: Split enum_objects_count helper from enum_objects_init.
dinput: Call enum_objects to initialize the device object format.
widl: Simplify uuid literals lexing.
widl: Remove unused lexer aliases.
widl: Simplify preprocessor directive lexing.
widl: Simplify reserved keywords lexing.
widl: Lex calling convention variations toghether.
imm32/tests: Remove GetLastError check on default IME ImmEscape tests.
imm32/tests: Update ImmGetProperty expectations for Korean locale.
dinput/tests: Flush messages after creating the test_mouse_keyboard window.
dinput: Count the actual number of object formats in SetActionMap.
dinput: Initialize device object format when creating devices.
dinput: Move mouse_create_device function around.
dinput: Always allocate and initialize the object_properties.
dinput: Initialize SetActionMap variables in their declarations.
dinput: Always set the DIPROP_BUFFERSIZE property in SetActionMap.
dinput: Only set DIPROP_RANGE in SetActionMap if range isn't empty.
dinput: Use 4 bytes for every object user state in SetActionMap.
dinput: Initialize object formats from device objects in SetActionMap.
dinput: Respect DIA_APPNOMAP in IDirectInputDevice8W_SetActionMap.
dinput: Return error from SetActionMap if SetDataFormat fails.
dinput: Keep device objects app data in the object properties.
dinput: Allow action formats with no matching actions.
dinput: Check IDirectInputDevice8W_SetActionMap flags.
dinput: Return DI_SETTINGSNOTSAVED when DIDSAM_FORCESAVE is used.
imm32: Implement ImmEnumInputContext.
imm32: Remove unnecessary threadDefault InputContextData member.
imm32: Remove unused IMM_IsCrossThreadAccess hwnd parameter.
imm32: Use NtUserQueryInputContext to check cross-thread access.
imm32: Rename InputContextData to struct imc.
widl: Rename (error|warning)_loc_info to (error|warning)_at.
widl: Allow source location to span over multiple lines.
widl: Move diagnostic and location functions to parser.l.
widl: Enable bison locations option.
widl: Improve accuracy of error messages location.
widl: Print the import stack and context in messages.
imm32: Fix ImmEscape(A|W) with NULL data.
imm32: Fix ImmEnumRegisterWord(A|W) callback conversion.
imm32/tests: Reduce test output unnecessary verbosity.
imm32: Stub ImmActivateLayout.
imm32/tests: Test undocumented ImmActivateLayout.
widl: Use spaces to indent attribute rules more consistently.
widl: Move attribute related functions to attribute.c.
widl: Simplify attribute creation with either int or ptr value.
widl: Remove custom attribute creation helper.
widl: Add source location information to attributes.
widl: Use warning_at when reporting duplicate attributes.
widl: Define PARSER_LTYPE instead of api.location.type.
dinput/tests: Test BuildActionMap cases with multiple devices.
dinput/tests: Add more IDirectInput8_EnumDevicesBySemantics tests.
dinput: Trace formats in (Build|Set)ActionMap and EnumDevicesBySemantics.
dinput: Load action map from registry before resetting guid.
dinput: Check device type in BuildActionMap for specific semantics.
dinput: Implement DIDBAM_PRESERVE BuildActionMap flag.
dinput: Rewrite IDirectInput8_EnumDevicesBySemantics.
win32u: Allow LANG_INVARIANT in NtUserActivateKeyboardLayout.
imm32: Use installed IME language for the created HKL.
imm32/tests: Check current keyboard layout during ime calls.
imm32: Call ActivateKeyboardLayout from ImmActivateLayout.
imm32/tests: Test ImmCreateInputContext et al.
imm32/tests: Test ActivateKeyboardLayout with an existing window.
imm32: Enumerate input contexts in ImmActivateLayout.
imm32: Introduce a new imc_select_hkl helper.
imm32: Update HIMC private data when selecting IME.
imm32: Call ImeSelect from ImmLockIMC with current IME.
imm32/tests: Add explicit ImmLoadIME / ImmFreeLayout calls.
imm32/tests: Ignore expected calls marked with todo.
imm32: Cleanup ImmProcessKey variables and traces.
imm32: Ignore ImmProcessKey if hkl isn't the current layout.
imm32/tests: Test ImmProcessKey with the installed IME.
imm32/tests: Test IME UI creation with the installed IME.
imm32/tests: Test IME UI window and IME window presence.
imm32: Update existing input contexts on layout change.
imm32: Keep the IME UI window on the default input context.
imm32: Re-create the IME UI window when IME changes.
imm32: Create the IME UI as child of the IME default window.
imm32/tests: Test DefWindowProc with IME UI messages.
win32u: Ignore IME messages from IME UI windows in DefWindowProc.
win32u: Ignore some IME messages in default_window_proc.
imm32: Pass the HIMC to the IME UI window IMMGWL_IMC.
imm32: Send WM_IME_SELECT messages when IME is activated.
imm32: Select current IME on input contexts when needed.
imm32: Introduce new input_context_init helper.
imm32: Add a default implementation for IME functions.
imm32: Return TRUE from ImmIsIME with any HKL.
winex11: Use the default IME implementation for stubs.
winemac: Use the default IME implementation for stubs.
imm32/tests: Add some ImmSetConversionStatus tests.
imm32/tests: Add some ImmSetOpenStatus tests.
imm32: Avoid recursing into ImeSelect calls.
imm32/tests: Init INPUTCONTEXT status in ImeSelect.
imm32/tests: Add some ImeSetActiveContext tests.
imm32/tests: Add some spurious IME select calls.
imm32/tests: Add some ImmRequestMessageW tests.
imm32/tests: Add some ImmGetCandidateList(W|A) tests.
imm32/tests: Add some ImmGetCandidateListCount(W|A) tests.
imm32/tests: Add some ImmGetCandidateWindow tests.
Shaun Ren (1):
quartz: Set filter sync source in FilterGraph2_AddFilter.
Stefan Dösinger (3):
wined3d: Make video memory accounting a per-resource flag.
ddraw/tests: Native 64 bit ddraw has a video memory leak.
ddraw/tests: Show that SYSMEM | 3DDEVICE surfaces don't consume vidmem.
Sven Baars (12):
advapi32/tests: Copy Software\Classes tests from ntdll.
kernelbase: Call open_key() from open_subkey().
kernelbase: Use open_key() to obtain any existing Wow6432node in create_key().
kernelbase: Pass a name pointer to open_key().
kernelbase: Return the last existing key from open_key() when it's called from create_key().
kernelbase: Don't open Wow6432nodes from create_key().
kernelbase: Factor creating a subkey out of create_key().
kernelbase: Call create_key() from create_subkey().
kernelbase: Add support for shared registry keys.
kernelbase: Recursively obtain the Wow6432Node parent.
kernelbase: Remove special Wow64 handling for HKEY_CLASSES_ROOT.
wine.inf: Put the Clients key in the right place.
Torge Matthies (5):
msvcr100: Only wake task collection waiters when finished >= count.
msvcr100: Use enum for _StructuredTaskCollection return value.
msvcr100: Use enum for _StructuredTaskCollection status bits.
msvcr100: Implement _StructuredTaskCollection canceling.
msvcr100: Implement _StructuredTaskCollection::_IsCanceling.
Tyson Whitehead (3):
crypt32: Add some CertGetNameStringW fallback cases.
crypt32/tests: Test for CertGetNameStringW fallback cases.
crypt32/tests: Document fields in original test certificate.
Vicki Pfau (1):
hidparse.sys: Include zero-count reports in cap count.
Vijay Kiran Kamuju (1):
msvcr100: Add _UnrealizedChore::_CheckTaskCollection stub.
Zebediah Figura (15):
ddraw: Factor out a ddraw_texture_rename_to() helper from ddraw_surface1_Flip().
wined3d: Pass parent ops to wined3d_texture_set_sub_resource_parent().
wined3d: Pass parent ops to wined3d_resource_set_parent().
ddraw: Move sub-resource surface creation to ddraw_texture_init().
ddraw: Make ddraw_surface_init() static.
include: Use hexadecimal constants for XAudio flags.
include: Add D3D10CalcSubresource().
d3d10core/tests: Add a broken() case for WARP in test_occlusion_query().
d3d11/tests: Add a broken() case for WARP in test_occlusion_query().
ddraw/tests: Add some tests for creating surfaces with user memory.
wined3d: Pass parent ops to wined3d_rendertarget_view_set_parent().
ddraw: Reimplement SetSurfaceDesc() by recreating the wined3d texture(s).
ddraw/tests: Make test_texture_wrong_caps() a bit clearer.
include: Include corecrt.h in vadefs.h.
winedevice: Use the ntoskrnl channel.
Zhiyi Zhang (1):
dwrite: Use cache when font transform matrix contains only translation offsets.
Ziqing Hui (5):
mf/tests: Test time length returned by ProcessOutput.
winegstreamer: Add format field to wmv wg_format.
winegstreamer: Ignore framerate of media type for WMV decoder DMO.
winegstreamer: Create wg_transform for WMV decoder.
winegstreamer: Implement ProcessInput and ProcessOutput for WMV decoder DMO.
The Wine stable release 7.0.2 is now available.
What's new in this release:
- Various bug fixes
The source is available at:
https://dl.winehq.org/wine/source/7.0/wine-7.0.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 7.0.2 (total 43):
- #36711 Sid Meier's Civilization IV crashes while loading saved game (GOG.com complete, Colonization, Warlords, Beyond the Sword)('winetricks -q msxml3' is a workaround)
- #39346 Lego Rock Raiders crashes on startup (d3drm_device_init doesn't handle device version 3 case)
- #40444 Find doesn't jump to a found item in WinSCP when editing a file
- #42751 Multiple applications crash on unimplemented function msvcr{100,110}.dll.?_Schedule@_StructuredTaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z (Gas Guzzlers Combat Carnage, Clip Studio Paint, Cube World, Intel ACAT)
- #42857 Can't select a fixture in FreeStyler's fixture editor
- #44814 cygwin's bsdtar.exe needs a better ntdll.NtQueryEaFile stub
- #46822 Edit control in ADL search dialog gets initially not drawn in DC++ 0.868, regression
- #47375 Multiple applications crash on unimplemented function msvcr120.dll.?_Schedule@_StructuredTaskCollection@details@Concurrency@@QEAAXPEAV_UnrealizedChore@23@@Z (Photoshop C 2018, CLIP Studio Paint)
- #48487 MSYS based Git 2.25 installer reports 'could not decode hex <hexstring>' (needs support for CryptStringToBinaryW CRYPT_STRING_HEX)
- #48600 Bloomberg Terminal needs unimplemented function dbghelp.dll.SymSrvGetFileIndexInfo
- #49285 PNotesPortable crashes inside WritePrivateProfileStructW
- #50948 taskmgr.exe: wrong memory usage unit (GB => MB)
- #51788 windowscodecs:wmpformat test_decode() fails randomly
- #51842 include/winnt.h:403:50: error: size of unnamed array is negative
- #52457 CNG Encryption Failure (BCryptEncrypt)
- #52534 ListView: multi select never sends LVN_ODSTATECHANGED
- #52545 ACE rights parser should allow octal and decimal formats
- #52686 DateAdd not implemented
- #52831 Kernel32::GetSystemPowerStatus returns invalid data if /sys/class/power_supply/BAT0 is missing
- #52841 Leverless arcade controller SOCD cleaning does not work
- #52972 wineusb.sys: add_usb_device erroneously releases critical section on failure path
- #52975 VTFEdit fails to start: err:module:LdrInitializeThunk "MSVCP80.dll" failed to initialize, aborting
- #53003 XM6 TypeG: some MIDI note-on messages aren't sent to MIDI devices (MIDI running status isn't supported in the MIDI mapper)
- #53005 quartz:systemclock Fails after timeGetTime() wraps
- #53027 Port Royale 4 crashes with wined3d_texture*
- #53032 winedevice.exe segfaults on exit when built with GCC
- #53051 Kvaser software crashes on unimplemented function ntoskrnl.exe.ExNotifyCallback
- #53123 ListView: Ctrl+Shift+LMouse multiselect on LVS_OWNERDATA listviews erroneously sends LVN_ODSTATECHANGED
- #53169 Rich edit control becomes unstable or trips assertion after ITextRange::SetFont is called
- #53170 Rich edit control becomes unstable or trips assertion after changing TextFont properties
- #53234 nsi:nsi - test_ndis_ifinfo() fails randomly on Windows 10 1507
- #53310 Roblox Fails With HttpSendRequest
- #53335 Crash when converting an rich text editor already containing text into a password input
- #53455 shell32:recyclebin - test_query_recyclebin() gets unexpected recyclebin size in Wine
- #53569 postgresql installer 9.3 needs correct string length returned from fso.GetTempName
- #53587 comctl32 GetWindowSubclass crash in Notepad++ (v8.4.3 and 8.4.4 only)
- #53614 KeePassXC crashes on unimplemented function msvcp140.dll.?ReportUnhandledError@_ExceptionHolder@details@Concurrency@@AEAAXXZ
- #53645 AIMP 3 causes memory leaks
- #53706 NtDeviceIoControlFile() is quite slow when called with and invalid handle
- #53714 SQLGetInfo(W) doesn't fill StringLength when InfoValue is NULL
- #53800 CRYPT_GetBuiltinDecoder Unsupported decoder for lpszStructType 1.3.6.1.4.1.311.2.1.4
- #53821 winbase.h: ReOpenFile declaration missing (and not available in any other header)
- #53832 wbemprox: where-clause seems to be case-sensitive
----------------------------------------------------------------
Changes since 7.0.1:
Akihiro Sagawa (2):
midimap: Handle MIDI running status.
mciqtz32: Fix thread handle leak if a second play.
Alex Henrie (3):
ntoskrnl: Add ExNotifyCallback stub.
ntdll: Don't hard-code the battery and AC adapter names on Linux.
user32: Plug icon handle leak in MDI_AugmentFrameMenu (Coverity).
Alexandre Julliard (5):
shell32: Don't return an uninitialized pointer on error in enum_trash_items().
urlmon/tests: Fix race condition in abort test.
mountmgr: Don't crash if connecting to dbus fails.
gdiplus: Get the compositing mode directly from the graphics object.
gitlab: Add workaround for more strict git ownership check.
Alistair Leslie-Hughes (8):
d3drm: Support IDirect3D3 when creating device.
ntdll: Check return parameter before use.
ntdll: RtlFirstFreeAce only return FALSE on error.
ntdll/tests: Add RtlFirstFreeAce tests.
dsdmo: Add Echo FX Support.
dsdmo: Add Compressor FX Support.
odbc: SQLGetInfoW allow NULL parameter InfoValue.
crypt32: Only report Unimplemented decoder when not found in external dll.
Angelo Haller (9):
comctl32/tests: Add hold_key and release_key functions.
comctl32/tests: Add multi select tests for ownerdata listviews.
comctl32/tests: Add change sequence for ownerdata listviews.
comctl32/listview: Send one deselect all items notification for LVS_OWNERDATA listviews.
comctl32/listview: Move sending LVN_ODSTATECHANGED notifications to a function.
comctl32/listview: Send LVN_ODSTATECHANGED only for LVS_OWNERDATA listviews.
comctl32/listview: Send LVN_ODSTATECHANGED notification for LVS_OWNERDATA listview on selection changes.
comctl32/listview: Don't send LVN_ODSTATECHANGED for empty ranges.
comctl32/tests: Add more ownerdata listview tests.
Claire Girka (1):
winepulse: Fix memory leak in pulse_create_stream in some error cases.
Daniel Lehman (1):
kernelbase: Pass va_list copy to internal RtlFormatMessage.
David Curtiss (1):
ws2_32: Allow getsockname after AcceptEx.
David Kahurani (2):
win32u: Use allocator mechanism to allocate DC attributes.
ieframe: Fix memory leak in open_dde_url.
Dmitry Timoshkov (2):
comctl32/tests: Add iItem and uChanged to LVN_ITEMCHANGING/LVN_ITEMCHANGED context.
sechost: Support decimal or octal access rights in ConvertStringSecurityDescriptorToSecurityDescriptor.
Eric Pouech (2):
wldap32: Fix compilation in 32-bit.
winedbg: Fix retrieving integral values.
Esme Povirk (1):
wmphoto: Zero user buffer before calling jxrlib Copy.
Fabian Maurer (1):
kernel32: Prevent null pointer dereference in WritePrivateProfileStructW.
Gijs Vermeulen (2):
dbghelp: Add SymSrvGetFileIndexInfo stub.
msvcp140: Add _ExceptionHolder::ReportUnhandledError stub.
Hans Leidekker (4):
wininet: Remove assertion that is no longer valid in Windows 10.
wininet: Always reset the second input buffer in netcon_secure_connect_setup().
bcrypt: Force symmetric key reset if necessary.
wbemprox: WQL string comparisons are case insensitive.
Hugh McMaster (1):
conhost: Set correct face name when the specified font is not available.
Huw D. M. Davies (1):
nsi: Use the correct members for the error and discard counts.
Jeff Smith (2):
d3drm/tests: Clean up some magic values.
d3drm: Fix components of palette built when loading texture from file.
Jinoh Kang (3):
wineusb.sys: Remove erroneous call to LeaveCriticalSection() in add_usb_device.
riched20: Commit and wrap paragraphs after changing text properties.
riched20: Ensure MEPF_COMPLEX is unset when in password input mode.
Kevin Puetz (2):
winecrt0: Remove free_delay_imports.
vbscript: Don't abort when trying to TRACE() functions with many arguments.
Limstash Wong (1):
taskmgr: Fix the unit in memory usage graph on performance tab.
Louis Lenders (1):
msvcr80: Update manifest resource.
Martin Storsjö (2):
include: Add declarations of _alloca and alloca for MSVC mode.
ntdll: Add SEH unwind info in ARM assembly functions/trampolines.
Mihail Ivanchev (1):
include: Add prototype for ReOpenFile().
Nikolay Sivov (2):
vbscript: Implement DateSerial().
vbscript: Implement DateAdd().
Paul Gofman (3):
msxml3: Use node_get_text() in domelem_get_nodeTypedValue() if no type is present.
crypt32: Support CRYPT_STRING_HEX in CryptStringToBinary().
winhttp/tests: Avoid race condition on closing connection in server_thread().
Piotr Caban (4):
msvcr120: Add missing _StructuredTaskCollection destructor spec file entry.
msvcrt: Fix _wputenv_s return value on error.
msvcrt: Fix _putenv_s return value on error.
msvcrt: Fix _wputenv_s invalid argument handling.
Robert Wilhelm (4):
scrrun: Added DateCreated property for IFile.
scrrun: Add test for correct string length returned from GetTempName.
scrrun: Correct string length returned from GetTempName.
scrrun: Avoid memory leak in error case.
Rémi Bernon (2):
winebus.sys: Implement SOCD neutral cleaning for hatswitches.
server: Avoid using pointer value after realloc.
Santino Mazza (3):
riched20/tests: When selection is out of view, the scrollbar should move.
riched20: Ensure that cursor is visible when selecting text.
jscript: Return ParseProcedureText when compile fails.
Sebastian Lackner (1):
ntdll: Improve stub of NtQueryEaFile.
Tim Clem (1):
kernelbase: Don't assume the length of the process image name.
Torge Matthies (8):
msvcr110: Add _StructuredTaskCollection::_StructuredTaskCollection_ctor stub.
msvcr120: Add _StructuredTaskCollection::_StructuredTaskCollection_dtor stub.
msvcr100: Add _StructuredTaskCollection::_Schedule stub.
msvcr110: Add _StructuredTaskCollection::_Schedule_loc stub.
msvcr100: Implement invalid_multiple_scheduling exception.
msvcr100: Factor out the mapping of a context to a scheduler.
msvcr100: Implement _StructuredTaskCollection::_Schedule and _Schedule_loc.
msvcp90: Fix segfault in bad_alloc exception default constructor.
Zebediah Figura (7):
quartz/systemclock: Use timeGetTime() to retrieve the current time.
wined3d: Correctly handle 3D textures in wined3d_view_{load, invalidate}_location().
ntdll: Add a fast path for NtDeviceIoControlFile(INVALID_HANDLE_VALUE).
xslt: Use win32config.h from the correct directory.
ntdll: Calculate the necessary length after calling snprintf() in SystemWineVersionInformation.
msvcrt: Add SEH annotations for sse2_memcpy().
libwine: Avoid comparing the result of pointer arithmetic to zero.
Zhiyi Zhang (14):
shell32: Correct SHOpenFolderAndSelectItems() prototype.
include: Add SHOpenFolderAndSelectItems() declaration and flags.
shell32/tests: Add SHOpenFolderAndSelectItems() tests.
shell32: Implement SHOpenFolderAndSelectItems().
comctl32/tests: Add GetWindowSubclass() tests.
comctl32: Check reference data pointer before using it.
comctl32/tests: Test that changing focus for edit controls doesn't repaint immediately.
comctl32/edit: Don't repaint immediately when getting focus.
winex11.drv: Handle X errors from glXCopyContext().
winex11.drv: Don't compare error event serial if it's zero.
winegstreamer: Always check the return value from mf_media_type_from_wg_format().
gdi32/tests: Add more tests for GetTextMetrics().
win32u: Choose a smaller ppem to avoid exceeding the requested font height.
win32u: Fix a memory leak.
The Wine development release 8.4 is now available.
What's new in this release:
- Initial step of the Wayland graphics driver.
- Cleanups in IME support.
- A number of test fixes.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.4.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.4 (total 51):
- #7585 Thief: the dark project hangs on 'esc' keypress in game if X in 24bpp mode
- #47407 Hard Truck 2: King of The Road (GOG) movies aren't played
- #49266 Amazon Games installs but won't start (needs WindowsFormsApplicationBase startup code?)
- #51848 Multiple applications have very poor performance after 4261369e5d8 (Secondhand Lands, SPORE)
- #52912 t2embed:t2embed fails on Windows with the UTF-8 codepage
- #52948 gdi32:font - test_EnumFonts() fails on Arial Bold on Windows in Russian
- #53172 advapi32:registry - test_enum_value() has a pair of rare failures in UTF-8 system locales
- #53182 shell32:shelllink - A save(NULL, TRUE) fails randomly in test_load_save() on Wine
- #53236 d3d9:device - test_wndproc() sometimes gets an unexpected WM_DISPLAYCHANGE in Wine
- #53270 test_WSARecv() fails when using wow64 thunks [Wow64ApcRoutine() overwrites return value set by NtContinue()]
- #53488 The dxgi:dxgi output is too big on debiant
- #53526 kernel32:sync - test_timer_queue() occasionally fails to delete the timer on Windows 10
- #53528 ntdll:info - test_query_kerndebug() fails on Windows 8 to 10 1709
- #53818 foobar2000 v1.6 crashes shortly after startup on Wine 7.19 or higher
- #53974 d3drm:d3drm sometimes crashes after failing to create the IDirect3DRMDevice* interface in Wine
- #53975 d3drm:d3drm sometimes fails to create an immediate mode device in Wine
- #54003 vbscript:run sometimes fails on Windows UTF-8 locales
- #54008 d3d9:device sometimes fails to create a D3D object in Wine, crashes
- #54019 The 64-bit ntdll:wow64 fails on Windows 11
- #54020 The 32-bit ntdll:wow64 fails on Windows 11
- #54052 winhttp:notification times out randomly in Wine
- #54058 user32:input - test_ToAscii() fails in the Hindi UTF-8 locale
- #54078 ntdll:pipe - test_blocking() sometimes fails in Wine when the pipe is not signaled
- #54168 kernel32:console - test_wait() sometimes fails on Windows 8+
- #54298 d3d12:d3d12 - test_desktop_window() fails on Windows 10 1709
- #54299 d3d12:d3d12 - test_create_device() gets an unexpected 0 refcount on Windows 10 1909+
- #54313 HS_hevo_gc 8.8.1.1 fails to launch
- #54379 since wine 8.0 print doesn't work any more
- #54449 nethack crashes
- #54491 regedit/regproc.c - export_key() is unable to return TRUE
- #54495 Motorola Ready For Assistant does not start, needs ext-ms-win-networking-wlanapi-l1-1-0.dll
- #54504 dbghelp:dbghelp, ntdll:wow64 & psapi:psapi_main fail on Windows 11 due to notepad.exe path remapping
- #54505 psapi:psapi_main - The 64-bit test_EnumProcessModules() gets unexpected Notepad case on Windows 11
- #54506 psapi:psapi_main - The 64-bit test_EnumProcessModulesEx() gets pcs-6464 and pcs-6432 failures on Windows 11
- #54507 psapi:psapi_main - The 32-bit test_EnumProcessModulesEx() gets many pcs-3232 failures due to partial copy errors on Windows 11
- #54509 psapi:psapi_main - The 64-bit test_EnumProcessModules() gets unexpected third module on Windows 11
- #54531 jsproxy:jsproxy crashes on Windows 11
- #54539 Starcraft Remastered Game Initialization Failed
- #54553 mmdevapi:propstore - The 32-bit test_setvalue_on_wow64() fails on Windows 10 2004+
- #54563 The gif is displaying wrongly, with weird backgrounds of various colors
- #54593 gdi32:dc - The SetDeviceGammaRamp() tests fails on Windows 10 1909
- #54605 The 32-bit dbghelp:dbghelp cannot run on Windows <= 10 1607 due to IsWow64Process2() call
- #54617 KakaoTalk IM text edit window leaves artifacts when the text overflows and scroll bar appears
- #54621 Wine 8.3 64-bit is missing in the Debian bookworm repo
- #54637 riched20:txtsrv - test_TxGetNaturalSize fails if system GUI font's glyph widths are wider than expected by the test
- #54645 TextPad 9.1 installation fails in Wine 6 from Linux Mint repo
- #54649 windows.perception.stub:perception - Windows 10 1607 does not have ISpatialSurfaceObserverStatics2
- #54657 kernel32:loader - test_import_resolution() gets bad tls data on Windows 7
- #54663 ldp.exe crashes on unimplemented function wldap32.dll.ldap_set_dbg_flags
- #54669 imm32:imm32 - ime_install() fails in some locales on Windows
- #54690 ldp.exe crashes when attempting to connect to an invalid host
----------------------------------------------------------------
Changes since 8.3:
Alex Henrie (5):
wldap32: Add ldap_set_dbg_flags stub.
wldap32: Replace bvfreeU with plain free.
wldap32: Handle null LDAPMessage in ldap_count_entries.
wldap32: Handle null LDAPMessage in ldap_parse_result.
comctl32/treeview: Ignore the lParam to WM_PRINTCLIENT and add tests.
Alexandre Julliard (32):
ntdll/tests: Check the default stack information against the exe header.
ntdll/tests: Remove invalid instruction from KiUserExceptionDispatcher test.
ntdll/tests: Allow zero size return for NtQueryDirectoryObject on Wow64.
wow64: In system calls always return the status from Wow64SystemServiceEx.
wow64: Push a valid return address when calling KiRaiseUserExceptionDispatcher.
wow64: Keep track of APC stack frames, similarly to user callback frames.
wow64: Declare exported functions in winternl.h.
maintainers: Assume maintainership of ARM platforms.
ntdll: Always call Wow64PrepareForException when dispatching an exception.
server: Determine the native thread context flags on the client side.
ntdll: Pass the WoW context to the server on ARM64.
ntdll: Don't touch the top of the 32-bit thread stack.
wow64: Create the WOW64INFO structure.
wow64: Fixup Eip for breakpoint exceptions.
wow64: Don't update the exception address in raise_exception().
wow64: Implement Wow64RaiseException().
make_makefiles: Die when the git command fails.
gitlab: Add workaround for more strict git ownership check.
lcms2: Import upstream release 2.15.
faudio: Import upstream release 23.03.
ldap: Import upstream release 2.5.14.
tiff: Import upstream release 4.5.0.
ntdll: Fix some CPU information tests on ARM64.
ntdll: Implement the SystemProcessorBrandString query.
ntdll: Implement the SystemProcessorFeaturesInformation query.
wineboot: Use the SystemProcessorBrandString query instead of cpuid.
ntdll/tests: Handle another possible status when SystemProcessorFeaturesInformation is not supported.
ntdll/tests: Fix Wow64 tests failures on Windows 11 ARM64.
ntdll/tests: Update some todos that succeed with the new wow64 architecture.
ntdll: Implement NtWow64IsProcessorFeaturePresent().
wow64: Forward NtWow64IsProcessorFeaturePresent() to the CPU backend.
wineboot: Add processor features for supported WoW64 architectures on ARM64.
Alexandros Frantzis (6):
winewayland.drv: Add initial driver stub.
winewayland.drv: Add initial unixlib stub.
winewayland.drv: Perform basic per-process Wayland initialization.
win32u: Allow drivers to set the null user driver.
winewayland.drv: Report basic monitor information.
winewayland.drv: Report all advertised monitor modes to Wine.
Anton Baskanov (1):
ir50_32: Handle 24-bit output media type.
Brendan Shanks (4):
kernel32: Implement GetFirmwareType().
loader: In macOS preloader, move the top-down allocations area down.
loader: In macOS preloader, stop using mincore() to test if a region is empty.
kernelbase: Implement DiscardVirtualMemory().
Connor McAdams (17):
uiautomationcore: Implement IUIAutomation::Create{True,False}Condition.
uiautomationcore: Implement IUIAutomation::CreatePropertyCondition.
uiautomationcore: Implement IUIAutomation::CreateNotCondition.
uiautomationcore: Implement IUIAutomation::CreateOrCondition.
uiautomationcore: Implement IUIAutomation::get_ControlViewCondition.
uiautomationcore: Implement IUIAutomation::get_RawViewCondition.
uiautomationcore: Validate input arguments for IUIAutomationElement::GetCurrentPropertyValueEx.
uiautomationcore: Add support for element array properties in IUIAutomationElement::GetCurrentPropertyValueEx.
uiautomationcore: Implement IUIAutomation::CreateCacheRequest.
uiautomationcore/tests: Add tests for IUIAutomationElement caching methods.
uiautomationcore: Implement IUIAutomationElement::BuildUpdatedCache.
uiautomationcore: Add support for caching property values in UiaGetUpdatedCache.
uiautomationcore: Implement IUIAutomationCacheRequest::AddProperty.
uiautomationcore: Implement IUIAutomationElement::GetCachedPropertyValueEx.
uiautomationcore/tests: Add tests for IUIAutomationElement find methods.
uiautomationcore: Implement IUIAutomationElement::FindAll{BuildCache}.
uiautomationcore: Implement IUIAutomationElement::FindFirst{BuildCache}.
Daniel Tang (3):
wintypes: Stub RoIsApiContractMajorVersionPresent().
wofutil: Stub WofIsExternalFile().
windows.networking: Stub DllGetActivationFactory().
Davide Beatrici (12):
winealsa: Return STATUS_SUCCESS for unused unixlib functions.
winecoreaudio: Return STATUS_SUCCESS for unused unixlib functions.
wineoss: Return STATUS_SUCCESS for unused unixlib functions.
winepulse: Return STATUS_SUCCESS for unused unixlib functions.
mmdevapi: Query MemoryWineUnixFuncs virtual memory and store the resulting handle.
winepulse: Move process_attach and process_detach handling into mmdevapi.
mmdevapi: Use UTF-16 for client name in "test_connect_params" and "create_stream_params" structs.
mmdevapi: Move test_connect handling into mmdevapi.
winealsa: Use GetModuleFileName() instead of hardcoded module filename for registry key.
winecoreaudio: Use GetModuleFileName() instead of hardcoded module filename for registry key.
wineoss: Use GetModuleFileName() instead of hardcoded module filename for registry key.
winepulse: Use GetModuleFileName() instead of hardcoded module filename for registry key.
Derek Lesho (2):
mfplat/tests: Test bytestream closing behavior in IMFMediaSource::Shutdown.
winegstreamer/media_source: Close bytestream in ::Shutdown.
Dmitry Timoshkov (2):
win32u: Give full access rights to the process window station.
win32u: Give full access rights to the thread desktop.
Eric Pouech (10):
dbghelp/tests: Better use global variables.
dbghelp/tests: Preserve last error in process_get_kind().
dbghelp: Use 'wine' as loader on multi-arch configuration.
dbghelp/tests: Add tests for SymRefreshModuleList() on non-live target.
dbghelp: Don't set ELF loader when wine's loader isn't accessible.
dbghelp: Fix vdso.so lookup.
ntdll/tests: Use msinfo32.exe instead of notepad.exe.
ntdll/tests: Use msinfo32.exe instead of notepad.exe.
psapi/tests: Use msinfo32.exe instead of notepad.exe.
dbghelp/tests: Use msinfo32.exe instead of notepad.exe.
Evan Tang (4):
ntdll: Fix inverted TlsIndex check.
kernel32/tests: Add test verifying that tls init functions are called.
ntdll/tests: Move TlsIndex test to kernel32:loader.
kernel32/tests: Fix tls callback tests on Windows 7.
Fan WenJie (3):
opengl32: Fix missing conversion of glUnmapBuffer_params from 32bit to 64bit.
opengl32: Fix missing conversion of glUnmapNamedBuffer_params from 32bit to 64bit.
wow64: Fix missing conversion of ThreadWineNativeThreadName in wow64_NtSetInformationThread.
Florian Will (1):
comdlg32/tests: Fix itemdlg tests on Windows.
François Gouget (18):
advapi32/tests: Fix the RegEnumValueA() tests in UTF-8 locales.
msado15: Fix the spelling of a comment.
winscard: Fix the spelling of a function parameter.
riched20/tests: Fix a typo in a comment.
dbghelp/tests: Let the tests run on Windows 7, 8 and 10 <= 1607.
t2embed/tests: Fix the TTGetEmbeddingType() test in UTF-8 locales.
windows.perception.stub/tests: Skip some tests when ISpatialSurfaceObserverStatics2 is not supported.
vbscript/tests: Fix the testChrError() tests in the mixed locale case.
d3d8/tests: Remove an unused call to IDirect3D8_GetAdapterDisplayMode().
wofutil: Add a trailing linefeed to a FIXME().
dinput/tests: Skip the tests if acquiring the device fails.
advapi32/tests: Improve the resume handle service tests.
advapi32/tests: Better account for starting and stopping services.
advapi32/tests: Separate the EnumServicesStatus() and EnumServicesStatusEx() tests.
advapi32/tests: Better check the EnumServicesStatusExW() output.
advapi32/tests: Take into account service start / stop race conditions.
advapi32/tests: Enumerate the services using the Unicode API.
advapi32/tests: Skip some tests if the EventLog service crashed.
Gabriel Ivăncescu (10):
kernel32: Fix GetNumberFormatA when input length is 0.
kernel32: Fix GetCurrencyFormatA when input length is 0.
mshtml: Hold ref to HTMLDocumentObj when calling external code.
mshtml: Hold ref to inner window when calling external code.
mshtml: Hold ref to outer window when navigating.
mshtml: Check if browser was detached during notifications while navigating.
mshtml: Hold ref to the frame element during readyState notifications.
mshtml: Grab refs to windows upfront before sending pagehide events.
mshtml: Use already available window local variable in refresh task.
jscript: Fix jsstr leak after changing variant type to BSTR.
Georg Lehmann (5):
winevulkan: Deal with per api xml entries.
winevulkan: Only parse extensions for Vulkan.
winevulkan: Skip features that are not part of Vulkan.
winevulkan: Add basic support for extension dependencies.
winevulkan: Update to VK spec version 1.3.242.
Giovanni Mascellani (5):
d3d12/tests: Test that D3D12 swapchains can only be created on direct command queues.
dxgi: Immediately error out when creating a D3D12 swapchain on a non-immediate queue.
dxgi: Always assume that a D3D12 swapchain always uses user images.
dxgi/tests: Test that ResizeBuffers() resets the back buffer index to zero.
dxgi: Reset the back buffer index to zero on ResizeBuffers().
Hans Leidekker (1):
adsldp/tests: Skip all remaining tests when the server is down.
Henri Verbeet (11):
wined3d: Don't bother explicitly terminating the GLSL info log in print_glsl_info_log().
wined3d: Use wined3d_get_line() in shader_glsl_compile().
wined3d: Use wined3d_get_line() in shader_glsl_dump_program_source().
wined3d: Use wined3d_get_line() in shader_arb_compile().
wined3d: Use wined3d_get_line() in shader_spirv_compile_shader().
wined3d: Use wined3d_get_line() in shader_spirv_scan_shader().
d3d11: Get rid of the DXBC tag definitions.
wined3d: Sort the exports.
d3dcompiler: Handle some newer D3D_BLOB_PART values in debug_d3dcompiler_d3d_blob_part().
wined3d: Get rid of the wined3d_shader_byte_code_format enum.
wined3d: Use vkd3d-shader to disassemble shaders.
Hugh McMaster (2):
regedit: Allow export_key() to return TRUE.
regedit: Append '.reg' file extension if necessary.
Huw D. M. Davies (1):
winedump: Fix printf format warning.
Jacek Caban (1):
winedump: Print static lib EC symbols.
Jinoh Kang (4):
riched20/tests: Test for ITextDocument::Freeze and ITextDocument::Unfreeze.
riched20: Don't assume that TxDraw preserves the device context's brush selection.
riched20: Implement ITextDocument::Freeze and ITextDocument::Unfreeze.
riched20/tests: Don't specify DT_WORDBREAK in _check_txgetnaturalsize().
Martin Storsjö (1):
ntdll: Handle aarch64 pointer authentication in unwind info.
Max Figura (20):
wined3d: Move the WINED3D_RS_WRAP12 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP11 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP10 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP9 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP8 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP7 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP6 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP5 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP4 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP3 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP2 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP1 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP0 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_EXTENTS stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_COLORKEYBLENDENABLE stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_SOFTWAREVERTEXPROCESSING stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_PATCHEDGESTYLE stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_PATCHSEGMENTS stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_DEBUGMONITORTOKEN stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_INDEXEDVERTEXBLENDENABLE stub to wined3d_device_apply_stateblock.
Mohamad Al-Jaf (22):
include: Add windows.perception.spatial.idl file.
include: Add windows.graphics.directx.idl file.
include: Add windows.perception.spatial.surfaces.idl file.
windows.perception.stub: Add stub DLL.
windows.perception.stub: Add ISpatialSurfaceObserverStatics stub interface.
windows.perception.stub: Add ISpatialSurfaceObserverStatics2 stub interface.
windows.perception.stub/tests: Add ISpatialSurfaceObserverStatics2::IsSupported() tests.
windows.perception.stub: Implement ISpatialSurfaceObserverStatics2::IsSupported().
pdh: Implement PdhVbGetDoubleCounterValue().
pdh/tests: Add PdhVbGetDoubleCounterValue() tests.
include: Add windows.graphics.directx.direct3d11.idl file.
include: Add Windows.Foundation.Deferral definition.
include: Add windows.graphics.holographic.idl file.
include: Add IHolographicSpaceStatics2 interface definition.
windows.perception.stub: Add IHolographicSpaceStatics2 stub interface.
windows.perception.stub/tests: Add IHolographicSpaceStatics2 properties tests.
windows.perception.stub: Implement IHolographicSpaceStatics2::get_IsSupported().
windows.perception.stub: Implement IHolographicSpaceStatics2::get_IsAvailable().
include: Add IHolographicSpaceStatics3 interface definition.
windows.perception.stub: Add IHolographicSpaceStatics3 stub interface.
windows.perception.stub/tests: Add IHolographicSpaceStatics3::get_IsConfigured() tests.
windows.perception.stub: Implement IHolographicSpaceStatics3::get_IsConfigured().
Paul Gofman (1):
winex11.drv: Don't allow changing internal pixel format if conflicts with non-internal.
Piotr Caban (4):
gdiplus: Use transparency instead of background color if transparent color flag is set in GIF GCE.
gdi32: Improve EMR_CREATEDIBPATTERNBRUSHPT playback.
wineps: Fix buffer overflow in PSDRV_WriteDIBPatternDict function.
wineps: Fix image bits access in PSDRV_WriteDIBPatternDict.
Rémi Bernon (89):
win32u: Initialize IO_STATUS_BLOCK in load_directory_fonts.
win32u: Initialize IO_STATUS_BLOCK in rawinput add_device.
winex11: Initialize IO_STATUS_BLOCK in X11DRV_GetICMProfile.
maintainers: Assume maintainership of IME support.
imm32/tests: Add broken test results for w10v22H2.
makedep: Rename TESTDLL generated .res to avoid conflicts.
makedep: Support resource files for embedded TESTDLL.
imm32/tests: Test ImmInstallIMEW with an actual IME.
imm32/tests: Redirect IME function to the main module.
imm32/tests: Test ImmGetDescription with the installed IME.
imm32/tests: Test ImmGetIMEFileName with the installed IME.
user32/tests: Skip tests if layout failed to activate.
user32/tests: Add a WM_INPUTLANGCHANGE message test.
win32u: Move window query functions around.
win32u: Send WM_INPUTLANGCHANGE when activating new layout.
imm32: Implement stubs for ImmFreeLayout and ImmLoadIME.
imm32/tests: Test undocumented ImmLoadIME / ImmFreeLayout.
imm32: Rename ImmHkl to struct ime.
imm32: Reorder control flow in ImmConfigureIMEA.
imm32: Reorder control flow in ImmConfigureIMEW.
imm32: Reorder control flow in ImmEnumRegisterWordA.
imm32: Reorder control flow in ImmEnumRegisterWordW.
imm32: Reorder control flow in ImmEscapeA.
imm32: Reorder control flow in ImmEscapeW.
imm32: Reorder control flow in ImmGetConversionListA.
imm32: Reorder control flow in ImmGetConversionListW.
imm32: Reorder control flow in ImmGetProperty.
imm32: Reorder control flow in ImmGetRegisterWordStyleA.
imm32: Reorder control flow in ImmGetRegisterWordStyleW.
imm32: Reorder control flow in ImmRegisterWordA.
imm32: Reorder control flow in ImmRegisterWordW.
imm32: Reorder control flow in ImmUnregisterWordA.
imm32: Reorder control flow in ImmUnregisterWordW.
imm32: Reorder control flow in ImmGetImeMenuItemsA.
imm32: Reorder control flow in ImmGetImeMenuItemsW.
imm32: Avoid casts when calling into A/W IME.
imm32: Fail to load IME on any missing entry.
imm32: Return early if IMM_GetImmHkl fails.
imm32: Move IMM_FreeThreadData helper around.
imm32: Rename input context immKbd to ime.
imm32: Implement ImmLoadIME and ImmFreeLayout.
imm32: Rename some struct ime members.
imm32: Delete unnecessary uSelected struct ime member.
imm32: Use a single ime_is_unicode helper.
win32u: Keep the current user locale when enumerating layouts.
win32u: Keep the current user locale when loading layout.
win32u: Prevent user locale change in NtUserActivateKeyboardLayout.
winex11: Remove now unnecessary user locale change checks.
widl: Use explicit %empty token for empty rules.
widl: Add missing rule end semicolons.
widl: Use noyywrap lexer option.
widl: Use bison-bridge option.
widl: Remove unused temp_name member.
imm32: Rename szImeRegFmt to layouts_formatW.
imm32: Transform "Ime File" value in ImmInstallIMEW.
imm32: Rewrite ImmGetIMEFileName(A|W).
imm32: Rewrite ImmGetDescription(A|W).
imm32: Use CRT allocation functions.
widl: Use a struct list to keep imported files.
widl: Simplify handling of already parsed imports.
widl: Use a struct list for the import stack.
widl: Handle preprocess-only case separately.
widl: Introduce new (open|close)_input_file helpers.
widl: Respect -N flag for imported files preprocessing.
widl: Use open_input_file to open the main input.
imm32/tests: Use LANG_INVARIANT for the installed IME.
imm32/tests: Test ImmIsIME with the installed IME.
imm32/tests: Test ImmGetProperty with the installed IME.
imm32/tests: Test ImmEscape with the installed IME.
imm32/tests: Test ImmEnumRegisterWord with the installed IME.
imm32/tests: Test ImmRegisterWord with the installed IME.
imm32/tests: Test ImmGetRegisterWordStyle with the installed IME.
imm32/tests: Test ImmUnregisterWord with the installed IME.
imm32/tests: Test basic ImmEnumInputContext usage.
include: Add some dinput.h action semantics definitions.
dinput/tests: Test BuildActionMap / SaveActionMap with the HID joystick.
dinput/tests: Test SaveActionMap effect on DIPROP_USERNAME property.
dinput/tests: Test SaveActionMap effect on DIPROP_APPDATA property.
dinput/tests: Test SaveActionMap effect on DIPROP_BUFFERSIZE property.
dinput/tests: Test SaveActionMap effect on DIPROP_RANGE property.
dinput/tests: Test SaveActionMap effect on HID joystick input.
dinput/tests: Remove BuildActionMap / SaveActionMap mouse and keyboard tests.
dinput/tests: Increase timeouts for waits not supposed to fail.
widl: Group <INITIAL,ATTR> tokens together.
widl: Group <INITIAL> tokens together.
widl: Group <ATTR> tokens together.
widl: Introduce a new helper to produce num tokens.
widl: Simplify string literals lexing.
widl: Avoid freeing input_name in pop_import.
Stefan Dösinger (7):
dxgi/tests: Fix UnregisterClass call in test_resize_target_wndproc.
dxgi/tests: Run test_resize_target_wndproc on d3d12 too.
dxgi/tests: Run test_swapchain_window_messages on d3d12.
dxgi: Unlock the wined3d mutex after storing the new target.
dxgi: Catch nested SetFullscreenState invocations.
dxgi/tests: Test nested fullscreen application from different thread.
dxgi/tests: Test nested SetFullscreenState from the same thread.
Sven Baars (12):
kernelbase: Pass the root key to open_key().
kernelbase: Pass the key name to open_key().
kernelbase: Pass the root key to create_key().
kernelbase: Pass the key name to create_key().
kernelbase: Restructure the open_key() loop.
kernelbase: Always try to open the Wow6432Node in open_key().
kernelbase: Factor opening a subkey out of open_key().
kernelbase: Move create_key() below open_key().
kernelbase: Add a fast path to create_key().
kernelbase: Restructure the create_key() loop.
advapi32/tests: Test deleting 32-bit registry keys.
kernelbase: Also call NtOpenKeyEx() on empty key names.
Zebediah Figura (24):
ddraw: Move pitch validation to ddraw_surface_create_wined3d_texture().
ddraw: Separate a need_draw_texture() helper.
ddraw: Restructure ddraw_surface_create_wined3d_texture() to avoid gotos.
ddraw: Move the wined3d_texture_update_desc() call into ddraw_surface_create_wined3d_texture().
ddraw: Move wined3d_resource_desc translation to ddraw_surface_create_wined3d_texture().
win32u: Make NtUserSetWindowPixelFormat() into a proper export.
win32u: Introduce a win32u_get_window_pixel_format() helper.
winex11: Retrieve the pixel format from win32u for normal windows in wglGetPixelFormat().
wineandroid: Retrieve the pixel format from win32u for normal windows in wglGetPixelFormat().
winemac: Retrieve the pixel format from win32u for normal windows in wglGetPixelFormat().
wined3d: Do not set the pixel format if wglGetPixelFormat() returns zero and we already set the internal pixel format.
win32u: Allow separately storing the internal pixel format set by WGL_WINE_pixel_format_passthrough.
winex11: Separately store the internal pixel format set by WGL_WINE_pixel_format_passthrough.
winemac: Separately store the internal pixel format set by WGL_WINE_pixel_format_passthrough.
wineandroid: Separately store the internal pixel format set by WGL_WINE_pixel_format_passthrough.
dxgi: Call wined3d_swapchain_state_set_fullscreen in d3d12_swapchain_init.
ddraw: Rename "is_complex_root" to "is_root".
ddraw: Remove some outdated comments from ddraw_surface7_SetSurfaceDesc().
ddraw: Move sysmem_fallback setting to ddraw_surface_create_wined3d_texture().
ddraw: Factor out more common initialization into ddraw_surface_create_wined3d_texture().
ddraw: Move sub-resource surface initialization to ddraw_surface_create_wined3d_texture().
ddraw: Move the rest of the surface desc population to ddraw_surface_create() from device_parent_texture_sub_resource_created().
ddraw: Do not return a wined3d_texture from ddraw_surface_create_wined3d_texture().
ddraw: Rename ddraw_surface_create_wined3d_texture() to ddraw_texture_init().
Zhiyi Zhang (4):
gitlab: Make FVWM respect position hints.
user32/tests: Do not modify cursor position when simulating clicks.
light.msstyles: Add nonclient metrics.
user32/tests: Test winstation and desktop access rights.
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.