Wine release 8.13
The Wine development release 8.13 is now available.
What's new in this release:
- Wow64 support in WineGStreamer.
- WeakMap support in JScript.
- Georgian translation.
- Various bug fixes.The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.13.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.13 (total 36):
- #24614 Multiple games crash or hang on startup due to D3DXAssembleShader not handling apostrophes in comments (Medieval II: Total War, Yu-Gi-Oh! ONLINE 3 client)('winetricks -q d3dx9_xx' is a workaround)
- #35690 Steam network hang ups.
- #35701 League of Legends: Right click contextual menu on friends list is invisible
- #35866 AvP 2000 game: some ingame text has red boxes around it with built-in d3dx9 libraries
- #41466 Steam: Tray icon menu sometimes flickers
- #42867 steam store doesnt work
- #44223 FrameMaker 7.2/8.0: Console window minimized and not (re)drawn
- #44529 [Steam] Process remaining after exiting
- #45042 Steam doesn't uninstall applications, gets stuck saying "deleting %game%" and the other popup is barely visible
- #45564 Kolab E14 Client installation fails with "Copy failed"
- #46221 League of Legends 8.23 crash after champion select
- #46888 Office 2007 word does not export to PDF/A
- #47328 Steam crashes when loading the Store tab (Assertion Failed: killing unresponsive browser for URL)
- #49371 Incorrect output buffer length check in WSAIoctl with SIO_GET_INTERFACE_LIST
- #50771 msys2 unlink() fails on read-only files [needs CreateFile(FILE_WRITE_ATTRIBUTES)]
- #50868 League of Legends: infinite loading after login
- #51383 S.T.A.L.K.E.R.: Call of Pripyat rendering is messed up with Enhanced full dynamic lighting (DX10)
- #51950 Iperf 2.0.8 hangs in parallel dual mode on localhost
- #51982 When installing Kobo for Desktop, user data meant for AppData\Local\Kobo is instead placed inside an arbitrary folder of the program's installation.
- #53446 Total War Shogun 2 crashes on Intel Iris Plus Graphics G4
- #53723 Star Ocean The Last Hope HD exits to desktop on start after NtUserSystemParametersInfo change.
- #53890 comctl32:edit - test_ime() fails in Korean on Windows
- #54166 Compilation fails with gcc 4.8.4 (error: ‘HTTP_STATUS_CONTINUE’ undeclared)
- #54503 d3dx9_36:math - test_D3DXSHMultiply3() fails on Debian Testing
- #54609 32-bit Softerra LDAP Administrator crashes due to proxy use-after-free
- #54688 ntdll:info - test_query_cpu() fails on Windows 7
- #54871 kernel32:console - testScroll() fails on Windows 10 1909
- #54932 Fallout 3: Black screen when using the experimental wow64 mode
- #55032 Multiple games have laggy rendering in DX12 mode (Kena: Bridge of Spirits, Total Conflict: Resistance)
- #55078 Powerpoint 2007: "Print to file" broken
- #55114 secur32:schannel - The 32-bit test_connection_shutdown() crashes on Windows <= 8
- #55177 Hatching not printed in Framemaker 8
- #55181 Recent versions of chromium broken again, need ProcessPrng
- #55187 winedbg --auto crashes if target process terminates after attaching.
- #55247 Assertion in riched20 while installing Office 2007
- #55276 Dying Light 2: Stay Human crashes on launch
----------------------------------------------------------------
Changes since 8.12:
Alex Henrie (6):
webservices: Add missing const to url parameter of WsOpenListener.
include: Add WS_STRING_VALUE and WS_XML_STRING_VALUE.
webservices/tests: Use WS_STRING_VALUE and WS_XML_STRING_VALUE.
include: Annotate IoAllocate functions with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
shell32: Free item lists with ILFree.
include: Annotate SHAlloc with __WINE_(DEALLOC|MALLOC).
Alexandre Julliard (101):
comctl32: Use nameless unions/structs.
comdlg32: Use nameless unions/structs.
dinput: Use nameless unions/structs.
dplayx: Use nameless unions/structs.
riched20: Use nameless unions/structs.
urlmon: Use nameless unions/structs.
wintrust: Use nameless unions/structs.
wow64: Implement backend notification functions.
gitlab: Upgrade the Debian image to bookworm.
ntdll: Fix returned length for some info classes in NtQueryInformationProcess().
ntdll: Return the 32-bit PEB for NtQueryInformationProcess(ProcessWow64Information).
psapi/tests: Use MAX_PATH size for arrays holding file paths.
kernelbase: Use ProcessWow64Information to retrieve the 32-bit PEB.
wow64: Use ProcessWow64Information to retrieve the 32-bit PEB.
ntdll: Implement RtlWow64GetSharedInfoProcess().
adsldp: Use nameless unions/structs.
amstream: Use nameless unions/structs.
appwiz.cpl: Use nameless unions/structs.
cryptdlg: Use nameless unions/structs.
cryptnet: Use nameless unions/structs.
cryptui: Use nameless unions/structs.
dmloader: Use nameless unions/structs.
dmsynth: Use nameless unions/structs.
dmusic: Use nameless unions/structs.
dxdiagn: Use nameless unions/structs.
gitlab: Install the gstreamer packages from deb-multimedia.org.
d3drm: Use nameless unions/structs.
ddraw: Use nameless unions/structs.
ddrawex: Use nameless unions/structs.
explorerframe: Use nameless unions/structs.
fusion: Use nameless unions/structs.
gdiplus: Use nameless unions/structs.
hhctrl.ocx: Use nameless unions/structs.
ieframe: Use nameless unions/structs.
inetcomm: Use nameless unions/structs.
inetcpl.cpl: Use nameless unions/structs.
inetmib1: Use nameless unions/structs.
include: Add some new information classes.
configure: Always disable winegstreamer if gst/gst.h is broken.
mscoree: Use nameless unions/structs.
mshtml: Use nameless unions/structs.
msi: Use nameless unions/structs.
msxml3: Use nameless unions/structs.
ndis.sys: Use nameless unions/structs.
netio.sys: Use nameless unions/structs.
netprofm: Use nameless unions/structs.
oledb32: Use nameless unions/structs.
oledlg: Use nameless unions/structs.
gitlab: Make sure that the tags are fetched before building.
pdh: Use nameless unions/structs.
prntvpt: Use nameless unions/structs.
quartz: Use nameless unions/structs.
sane.ds: Use nameless unions/structs.
usbd.sys: Use nameless unions/structs.
wbemprox: Use nameless unions/structs.
wevtapi: Use nameless unions/structs.
wined3d: Use nameless unions/structs.
wineandroid.drv: Use nameless unions/structs.
winemac.drv: Use nameless unions/structs.
winex11.drv: Use nameless unions/structs.
winhttp: Use nameless unions/structs.
wininet: Use nameless unions/structs.
winmm: Use nameless unions/structs.
winspool.drv: Use nameless unions/structs.
strmbase: Use nameless unions/structs.
krnl386: Use nameless unions/structs.
mmsystem: Use nameless unions/structs.
ver: Use nameless unions/structs.
comctl32/tests: Use nameless unions/structs.
comdlg32/tests: Use nameless unions/structs.
compstui/tests: Use nameless unions/structs.
crypt32/tests: Use nameless unions/structs.
cryptui/tests: Use nameless unions/structs.
devenum/tests: Use nameless unions/structs.
dmsynth/tests: Use nameless unions/structs.
dplayx/tests: Use nameless unions/structs.
fusion/tests: Use nameless unions/structs.
gdi32/tests: Use nameless unions/structs.
gdiplus/tests: Use nameless unions/structs.
ieframe/tests: Use nameless unions/structs.
imagehlp/tests: Use nameless unions/structs.
inetcomm/tests: Use nameless unions/structs.
iphlpapi/tests: Use nameless unions/structs.
kernel32/tests: Use nameless unions/structs.
mfplat/tests: Use nameless unions/structs.
mshtml/tests: Use nameless unions/structs.
msi/tests: Use nameless unions/structs.
ntdll/tests: Use nameless unions/structs.
oledb32/tests: Use nameless unions/structs.
pdh/tests: Use nameless unions/structs.
quartz/tests: Use nameless unions/structs.
rpcrt4/tests: Use nameless unions/structs.
shlwapi/tests: Use nameless unions/structs.
urlmon/tests: Use nameless unions/structs.
user32/tests: Use nameless unions/structs.
wevtapi/tests: Use nameless unions/structs.
windowscodecs/tests: Use nameless unions/structs.
wininet/tests: Use nameless unions/structs.
winmm/tests: Use nameless unions/structs.
winspool.drv/tests: Use nameless unions/structs.
wintrust/tests: Use nameless unions/structs.
Alistair Leslie-Hughes (37):
appwiz: Remove DECLSPEC_HIDDEN usage.
sxs: Remove DECLSPEC_HIDDEN usage.
netprofm: Remove DECLSPEC_HIDDEN usage.
adsldp: Remove DECLSPEC_HIDDEN usage.
explorerframe: Remove DECLSPEC_HIDDEN usage.
wintab32: Remove DECLSPEC_HIDDEN usage.
msdaps: Remove DECLSPEC_HIDDEN usage.
mscms: Remove DECLSPEC_HIDDEN usage.
shlwapi: Remove DECLSPEC_HIDDEN usage.
widl: Remove unnecessary null check (Coverity).
windowscodecs: Remove misleading comment.
windowscodecs: Remove DECLSPEC_HIDDEN usage.
d3d10: Remove DECLSPEC_HIDDEN usage.
d3dcompiler_43: Remove DECLSPEC_HIDDEN usage.
d3d8: Remove DECLSPEC_HIDDEN usage.
d3drm: Remove DECLSPEC_HIDDEN usage.
d3d9: Remove DECLSPEC_HIDDEN usage.
wbemdisp: Remove DECLSPEC_HIDDEN usage.
mf: Remove DECLSPEC_HIDDEN usage.
mfreadwrite: Remove DECLSPEC_HIDDEN usage.
mfplat: Remove DECLSPEC_HIDDEN usage.
kernelbase: Remove DECLSPEC_HIDDEN usage.
fusion: Remove DECLSPEC_HIDDEN usage.
wnaspi32: Remove DECLSPEC_HIDDEN usage.
msctf: Remove DECLSPEC_HIDDEN usage.
taskschd: Remove DECLSPEC_HIDDEN usage.
msado15: Remove DECLSPEC_HIDDEN usage.
twain_32: Remove DECLSPEC_HIDDEN usage.
gdiplus: Remove DECLSPEC_HIDDEN usage.
d3drm/tests: Show that viewport::render does not clear the background.
ddrawex: Remove DECLSPEC_HIDDEN usage.
dxgi: Remove DECLSPEC_HIDDEN usage.
d3d11: Remove DECLSPEC_HIDDEN usage.
d3dx10_43: Remove DECLSPEC_HIDDEN usage.
d2d1: Remove DECLSPEC_HIDDEN usage.
ddraw: Remove DECLSPEC_HIDDEN usage.
d3dx9_36: Remove DECLSPEC_HIDDEN usage.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Kölbl (2):
mfmediaengine/tests: Add tests for audio effects.
mfmediaengine: Add support for inserting audio effects.
Billy Laws (5):
wineboot: Always attempt setup for all machine types.
ntdll: Fix NtContinue from within exception context on ARM64.
ntdll/tests: Test that NtContinue restores all register state on arm64.
ntdll: Add aarch64 DWARF register definitions.
ntdll: Avoid storing a second ctx copy in the aarch64 raise trampoline.
Biswapriyo Nath (5):
include: Add ID2D1SpriteBatch in d2d1_3.idl.
include: Add ID2D1SvgGlyphStyle in d2d1_3.idl.
include: Add ID2D1DeviceContext3 in d2d1_3.idl.
include: Add ID2D1DeviceContext4 in d2d1_3.idl.
include: Add more CLSIDs in d2d1effects.idl.
Brendan Shanks (10):
win32u: Set zero_bits correctly for large address aware applications on Wow64.
winecoreaudio: Set zero_bits correctly for large address aware applications on Wow64.
winealsa: Set zero_bits correctly for large address aware applications on Wow64.
wineoss: Set zero_bits correctly for large address aware applications on Wow64.
winepulse: Set zero_bits correctly for large address aware applications on Wow64.
ntdll: Don't release address space on 64-bit macOS.
configure: Only attempt to build macOS preloader on Intel, and remove unnecessary flag checks.
loader: On 64-bit macOS, reserve the low 8GB using a zerofill section.
loader: In macOS preloader, add __program_vars section.
winecoreaudio: Fix missing struct member in get_position() Wow64 thunk.
Chris Denton (1):
bcryptprimitives: ProcessPrng stub.
Connor McAdams (8):
uiautomationcore: Allow for refusal of HWND providers on node creation by non-nested node providers.
uiautomationcore: Add support for matching serverside events through navigation.
ole32/tests: Extend test_marshal_channel_buffer() test to include IRpcProxyBufferWrapper checks.
combase: Use correct destination context in CoUnmarshalInterface when using the standard marshaler.
uiautomationcore/tests: Add IUIAutomationEventHandler tests.
uiautomationcore: Partially implement IUIAutomation::AddAutomationEventHandler.
uiautomationcore: Implement IUIAutomation::RemoveAllEventHandlers.
uiautomationcore: Implement IUIAutomation::RemoveAutomationEventHandler.
David Kahurani (1):
gdiplus: Dump both variable address and internal values for matrices.
Davide Beatrici (2):
mmdevapi: Don't link to uuid.
mmdevapi: Implement get_audio_session.
Ekaterine Papava (1):
po: Add Georgian translation.
Eric Pouech (1):
conhost: Fix ctrl-c handling.
Fabian Maurer (2):
geolocation: Rename from windows.devices.geolocation.geolocator.
user32/tests: Remove DrawTextEx tests that overrun stack variable.
François Gouget (4):
user32/tests: Use win_skip() for missing APIs.
uxtheme/tests: Use win_skip() for missing APIs.
msvcrt/tests: Check that some functions are only available in 32-bit code.
riched20/tests: Make the editor paste test failures more informative and unique.
Gabriel Ivăncescu (10):
mshtml: Grab the binding while aborting it.
jscript: Convert unlink_props to a helper that unlinks the entire object.
jscript: Implement WeakMap instance stub and constructor.
jscript: Implement WeakMap.set().
jscript: Implement WeakMap.get().
jscript: Implement WeakMap.delete().
jscript: Implement WeakMap.clear().
jscript: Implement WeakMap.has().
mshtml/tests: Add tests for WeakMap.
jscript: Properly set JS_E_WRONG_THIS as a TypeError.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.258.
Giovanni Mascellani (7):
dxgi: Introduce a worker thread for the D3D12 swapchain.
dxgi: Move presentation to the worker thread.
dxgi: Move buffer resizing to the worker thread.
dxgi: Remove the worker event, which is now useless.
dxgi: Do not allow vkd3d_acquire_vk_queue() to fail.
dxgi: Acquire and release the Vulkan queue inside d3d12_swapchain_queue_present().
dxgi: Wait before acquiring the Vulkan queue for presenting.
Hans Lehnert (1):
wininet: Handle http headers correctly when length is 0.
Hans Leidekker (5):
secur32/tests: Fix a test failure and extend tests.
include: Add Uri runtime class and related definitions.
include: Add ProcessorArchitecture winrt enum.
include: Add windows.storage.idl.
include: Add windows.applicationmodel.idl.
Jacek Caban (12):
user32: Return result from dispatch_win_proc_params.
win32u: Return result from dispatch_win_proc_params.
win32u: Remove no longer needed result pointer from win_proc_params.
win32u: Always use result returned directly from call_window_proc.
user32: Always use NtCallbackReturn in User32DrawText.
wow64win: Define more 32-bit types.
wow64win: Support in place conversion in 64to32 struct conversion helpers.
wow64win: Convert parameters in place in wow64_NtUserCallWinProc.
wow64win: Convert parameters in place in wow64_NtUserCallWindowsHook.
user32: Always use NtCallbackReturn to pass result from User32CallWindowsHook.
win32u: Pass module name before packed lparam in win_hook_params.
win32u/tests: Add tests for handling LPARAM in window procs and hooks.
Jacob Czekalla (1):
comdlg32: Add parent folder button to IFileDialog.
Jeff Smith (10):
gdiplus: Dash pattern scaling does not shrink below line width 1.0.
gdiplus/tests: Fix mangled test output when dumping data in hex format.
gdiplus/tests: Use consistent no-alternate value for image properties.
gdiplus/tests: Add GIF to image properties tests.
gdiplus/tests: Use test context for test ran in a loop.
gdiplus/tests: Pare down image property tests that are not run for Wine.
gdiplus: Fix GdipGetPropertySize return value when no properties exist.
gdiplus: Fix GdipGetAllPropertyItems return value when no properties exist.
windowscodecs: Factor out common GIF palette copying logic.
windowscodecs: Allow GIF with no color table.
Jinoh Kang (11):
riched20: Wrap marked paragraphs at Text Services initialization.
riched20/tests: Add tests for change notifications caused by EM_SETSEL{,EX}.
riched20: Don't call ME_UpdateRepaint inside set_selection().
ntdll: Fail loudly if RtlActivateActivationContextEx fails to allocate memory.
riched20: Factor out device context acquisition from ME_MakeFirstParagraph.
riched20: Don't call wrap_marked_paras_dc() before the editor is fully initialized.
msi: Fully initialize the control structure in dialog_line_control().
msi: Make insertion order of line controls consistent with other controls.
msi: Don't open code dialog_add_control() in dialog_line_control().
ntdll: Fix restoring X16 and X17 in ARM64 syscall dispatcher.
winegcc: Enable SafeSEH only on i386.
Kurt Kartaltepe (3):
winegstreamer: Replace pointers with handles in PE->Unix transition.
winegstreamer: Replace ambiguously sized/aligned elements.
winegstreamer: Implement Wow64 entrypoints in the Unix library.
Maxim Karasev (5):
include: Add UNICODE_NULL.
include: Update _SECURITY_INTEGER.
include: Add missing Kerberos related defines.
klist: Add a program that lists Kerberos tickets.
include: Add more Kerberos cache info types.
Nikolay Sivov (3):
d3dcompiler/tests: Add some tests for matrix packing order compile flags.
windows.globalization: Use separate AddRef/Release methods for the language factory.
d3dcompiler/tests: Add another test for matrix majority flags.
Paul Gofman (8):
d3d11/tests: Add basic test for shared resources.
include: Add initial ioring definitions.
kernelbase: Add stub for QueryIoRingCapabilities().
ntdll/tests: Add test for async cancel on pipe's last process handle close.
ws2_32/tests: Add test for async cancel on socket's last process handle close.
server: Cancel socket asyncs when the last handle in process is closed.
server: Cancel pipe asyncs when the last handle in process is closed.
user32/tests: Change display mode for correct monitor in check_preferred_mode().
Petrichor Park (1):
notepad: Use GetDpiForWindow().
Piotr Caban (6):
wineps: Fix SetTextJustification playback with 0 count parameter.
wineps: Buffer data sent to printer port.
services: Exit early in process_send_start_message if ConnectNamedPipe fails.
msvcrt: Pass correct buffer to locale_to_sname helper in create_locinfo.
msvcrt: Improve locale_to_sname error handling.
msvcrt: Set sname_match in locale_to_sname when returning cached result.
Shaun Ren (16):
sapi: Invoke AddRef in mmaudio SetObjectToken.
sapi: Invoke AddRef in ISpVoice::SetVoice.
sapi/tests: Fix intermittent duration test failure in mmaudio.
sapi/tests: Fix ISpObjectToken::CreateInstance E_ACCESSDENIED error.
include: Fix ISpTTSEngineSite::GetActions return type.
sapi: Handle queue not initialized in async_empty_queue.
sapi: Reset empty event after queuing a task in async_queue_task.
sapi: Implement ISpVoice::Speak SPF_PURGEBEFORESPEAK.
sapi: Partially implement ISpVoice::Speak SPF_ASYNC.
sapi: Implement synchronous ISpVoice::Speak.
sapi: Introduce ISpTTSEngineSite stub.
sapi: Implement ISpVoice::Speak speak_proc.
sapi: Implement ISpTTSEngineSite::Write.
sapi: Implement ISpTTSEngineSite::GetActions/Rate/Volume.
sapi: Return wait status in async_wait_queue_empty.
sapi: Implement ISpVoice::WaitUntilDone.
Sven Baars (6):
wow64win: Call NtUserSetClassLongPtr() from wow64_NtUserSetClassLongPtr().
wow64: Return STATUS_NOT_IMPLEMENTED from wow64_NtSetInformationToken().
ntdll: Test against the correct limit in get_extended_params().
ntdll/tests: Update some more todos that succeed with the new wow64 architecture.
kernel32/tests: Update a todo that succeeds with the new wow64 architecture.
wow64win: Always use NtUserSetWindowLongPtr() for GWLP_HINSTANCE and GWLP_WNDPROC.
Tim Clem (4):
wow64win: Consistently marshal HINSTANCEs and HMODULEs as pointers.
shell32: Don't fall back to $HOME for missing user special folders.
wmp: Don't release a NULL typelib.
wmp: Release filter graph and interfaces if WMPControls::play fails.
Torge Matthies (1):
ntdll: Implement efficiency class reporting for Intel hybrid CPUs.
Victor Chiletto (9):
msvcr110/tests: Add tests for new setlocale behaviors.
msvcr120/tests: Check ___lc_locale_name_func with neutral Chinese locales.
msvcrt: Use snames instead of LCIDs in create_locinfo.
msvcrt: Convert locale_to_LCID to snames.
msvcrt: Skip exhaustive locale search with valid snames.
msvcrt: Simplify set_lc_locale_name.
msvcrt: Remap synonyms to snames.
msvcrt: Use GetLocaleInfoEx to compare locale info.
user32: Add hotpatch prologue to RegisterRawInputDevices.
Yuxuan Shui (1):
msvcrt: Fix out-of-bound access in create_locinfo.
Zebediah Figura (14):
wined3d: Move struct wined3d_device_vk to wined3d_vk.h.
wined3d: Move struct wined3d_texture_vk to wined3d_vk.h.
wined3d: Move struct wined3d_sampler_vk to wined3d_vk.h.
wined3d: Move struct wined3d_buffer_vk to wined3d_vk.h.
wined3d: Move struct wined3d_rendertarget_view_vk to wined3d_vk.h.
wined3d: Move struct wined3d_shader_resource_view_vk to wined3d_vk.h.
opengl32: Copy to the wow64 buffer even for write maps.
opengl32: Correctly interpret glMapBuffer() access in wow64 mapping.
wined3d: Move struct wined3d_unordered_access_view_vk to wined3d_vk.h.
wined3d: Move struct wined3d_swapchain_vk to wined3d_vk.h.
wined3d: Move struct wined3d_format_vk to wined3d_vk.h.
wined3d: Move remaining wined3d_context_vk functions to wined3d_vk.h.
wined3d: Move vk_aspect_mask_from_format() functions to wined3d_vk.h.
wined3d: Move the wined3d_vk.h include to individual files.
Zhao Yi (2):
comctl32/tests: Add a test case to get syslinkid.
comctl32/syslink: Check item type before increasing link ID in SYSLINK_LinkAtPt().
Zhiyi Zhang (3):
comctl32/tests: Add Korean IME specific test sequences.
user32/tests: Add Korean IME specific test sequences.
winex11.drv: Move the dummy parent window to (0, 0).
Alexandre Julliard has announced the release of Wine 8.13, which includes Wow64 support in WineGStreamer, WeakMap support in JScript, Georgian translation, and a number of bug fixes.