1 The Wine development release 8.13 is now available.
3 What's new in this release:
4 - Wow64 support in WineGStreamer.
5 - WeakMap support in JScript.
6 - Georgian translation.
9 The source is available at:
11 https://dl.winehq.org/wine/source/8.x/wine-8.13.tar.xz
13 Binary packages for various distributions will be available from:
15 https://www.winehq.org/download
17 You will find documentation on https://www.winehq.org/documentation
19 You can also get the current source directly from the git
20 repository. Check https://www.winehq.org/git for details.
22 Wine is available thanks to the work of many people. See the file
23 AUTHORS in the distribution for the complete list.
25 ----------------------------------------------------------------
27 Bugs fixed in 8.13 (total 36):
29 - #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)
30 - #35690 Steam network hang ups.
31 - #35701 League of Legends: Right click contextual menu on friends list is invisible
32 - #35866 AvP 2000 game: some ingame text has red boxes around it with built-in d3dx9 libraries
33 - #41466 Steam: Tray icon menu sometimes flickers
34 - #42867 steam store doesnt work
35 - #44223 FrameMaker 7.2/8.0: Console window minimized and not (re)drawn
36 - #44529 [Steam] Process remaining after exiting
37 - #45042 Steam doesn't uninstall applications, gets stuck saying "deleting %game%" and the other popup is barely visible
38 - #45564 Kolab E14 Client installation fails with "Copy failed"
39 - #46221 League of Legends 8.23 crash after champion select
40 - #46888 Office 2007 word does not export to PDF/A
41 - #47328 Steam crashes when loading the Store tab (Assertion Failed: killing unresponsive browser for URL)
42 - #49371 Incorrect output buffer length check in WSAIoctl with SIO_GET_INTERFACE_LIST
43 - #50771 msys2 unlink() fails on read-only files [needs CreateFile(FILE_WRITE_ATTRIBUTES)]
44 - #50868 League of Legends: infinite loading after login
45 - #51383 S.T.A.L.K.E.R.: Call of Pripyat rendering is messed up with Enhanced full dynamic lighting (DX10)
46 - #51950 Iperf 2.0.8 hangs in parallel dual mode on localhost
47 - #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.
48 - #53446 Total War Shogun 2 crashes on Intel Iris Plus Graphics G4
49 - #53723 Star Ocean The Last Hope HD exits to desktop on start after NtUserSystemParametersInfo change.
50 - #53890 comctl32:edit - test_ime() fails in Korean on Windows
51 - #54166 Compilation fails with gcc 4.8.4 (error: ‘HTTP_STATUS_CONTINUE’ undeclared)
52 - #54503 d3dx9_36:math - test_D3DXSHMultiply3() fails on Debian Testing
53 - #54609 32-bit Softerra LDAP Administrator crashes due to proxy use-after-free
54 - #54688 ntdll:info - test_query_cpu() fails on Windows 7
55 - #54871 kernel32:console - testScroll() fails on Windows 10 1909
56 - #54932 Fallout 3: Black screen when using the experimental wow64 mode
57 - #55032 Multiple games have laggy rendering in DX12 mode (Kena: Bridge of Spirits, Total Conflict: Resistance)
58 - #55078 Powerpoint 2007: "Print to file" broken
59 - #55114 secur32:schannel - The 32-bit test_connection_shutdown() crashes on Windows <= 8
60 - #55177 Hatching not printed in Framemaker 8
61 - #55181 Recent versions of chromium broken again, need ProcessPrng
62 - #55187 winedbg --auto crashes if target process terminates after attaching.
63 - #55247 Assertion in riched20 while installing Office 2007
64 - #55276 Dying Light 2: Stay Human crashes on launch
66 ----------------------------------------------------------------
71 webservices: Add missing const to url parameter of WsOpenListener.
72 include: Add WS_STRING_VALUE and WS_XML_STRING_VALUE.
73 webservices/tests: Use WS_STRING_VALUE and WS_XML_STRING_VALUE.
74 include: Annotate IoAllocate functions with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
75 shell32: Free item lists with ILFree.
76 include: Annotate SHAlloc with __WINE_(DEALLOC|MALLOC).
78 Alexandre Julliard (101):
79 comctl32: Use nameless unions/structs.
80 comdlg32: Use nameless unions/structs.
81 dinput: Use nameless unions/structs.
82 dplayx: Use nameless unions/structs.
83 riched20: Use nameless unions/structs.
84 urlmon: Use nameless unions/structs.
85 wintrust: Use nameless unions/structs.
86 wow64: Implement backend notification functions.
87 gitlab: Upgrade the Debian image to bookworm.
88 ntdll: Fix returned length for some info classes in NtQueryInformationProcess().
89 ntdll: Return the 32-bit PEB for NtQueryInformationProcess(ProcessWow64Information).
90 psapi/tests: Use MAX_PATH size for arrays holding file paths.
91 kernelbase: Use ProcessWow64Information to retrieve the 32-bit PEB.
92 wow64: Use ProcessWow64Information to retrieve the 32-bit PEB.
93 ntdll: Implement RtlWow64GetSharedInfoProcess().
94 adsldp: Use nameless unions/structs.
95 amstream: Use nameless unions/structs.
96 appwiz.cpl: Use nameless unions/structs.
97 cryptdlg: Use nameless unions/structs.
98 cryptnet: Use nameless unions/structs.
99 cryptui: Use nameless unions/structs.
100 dmloader: Use nameless unions/structs.
101 dmsynth: Use nameless unions/structs.
102 dmusic: Use nameless unions/structs.
103 dxdiagn: Use nameless unions/structs.
104 gitlab: Install the gstreamer packages from deb-multimedia.org.
105 d3drm: Use nameless unions/structs.
106 ddraw: Use nameless unions/structs.
107 ddrawex: Use nameless unions/structs.
108 explorerframe: Use nameless unions/structs.
109 fusion: Use nameless unions/structs.
110 gdiplus: Use nameless unions/structs.
111 hhctrl.ocx: Use nameless unions/structs.
112 ieframe: Use nameless unions/structs.
113 inetcomm: Use nameless unions/structs.
114 inetcpl.cpl: Use nameless unions/structs.
115 inetmib1: Use nameless unions/structs.
116 include: Add some new information classes.
117 configure: Always disable winegstreamer if gst/gst.h is broken.
118 mscoree: Use nameless unions/structs.
119 mshtml: Use nameless unions/structs.
120 msi: Use nameless unions/structs.
121 msxml3: Use nameless unions/structs.
122 ndis.sys: Use nameless unions/structs.
123 netio.sys: Use nameless unions/structs.
124 netprofm: Use nameless unions/structs.
125 oledb32: Use nameless unions/structs.
126 oledlg: Use nameless unions/structs.
127 gitlab: Make sure that the tags are fetched before building.
128 pdh: Use nameless unions/structs.
129 prntvpt: Use nameless unions/structs.
130 quartz: Use nameless unions/structs.
131 sane.ds: Use nameless unions/structs.
132 usbd.sys: Use nameless unions/structs.
133 wbemprox: Use nameless unions/structs.
134 wevtapi: Use nameless unions/structs.
135 wined3d: Use nameless unions/structs.
136 wineandroid.drv: Use nameless unions/structs.
137 winemac.drv: Use nameless unions/structs.
138 winex11.drv: Use nameless unions/structs.
139 winhttp: Use nameless unions/structs.
140 wininet: Use nameless unions/structs.
141 winmm: Use nameless unions/structs.
142 winspool.drv: Use nameless unions/structs.
143 strmbase: Use nameless unions/structs.
144 krnl386: Use nameless unions/structs.
145 mmsystem: Use nameless unions/structs.
146 ver: Use nameless unions/structs.
147 comctl32/tests: Use nameless unions/structs.
148 comdlg32/tests: Use nameless unions/structs.
149 compstui/tests: Use nameless unions/structs.
150 crypt32/tests: Use nameless unions/structs.
151 cryptui/tests: Use nameless unions/structs.
152 devenum/tests: Use nameless unions/structs.
153 dmsynth/tests: Use nameless unions/structs.
154 dplayx/tests: Use nameless unions/structs.
155 fusion/tests: Use nameless unions/structs.
156 gdi32/tests: Use nameless unions/structs.
157 gdiplus/tests: Use nameless unions/structs.
158 ieframe/tests: Use nameless unions/structs.
159 imagehlp/tests: Use nameless unions/structs.
160 inetcomm/tests: Use nameless unions/structs.
161 iphlpapi/tests: Use nameless unions/structs.
162 kernel32/tests: Use nameless unions/structs.
163 mfplat/tests: Use nameless unions/structs.
164 mshtml/tests: Use nameless unions/structs.
165 msi/tests: Use nameless unions/structs.
166 ntdll/tests: Use nameless unions/structs.
167 oledb32/tests: Use nameless unions/structs.
168 pdh/tests: Use nameless unions/structs.
169 quartz/tests: Use nameless unions/structs.
170 rpcrt4/tests: Use nameless unions/structs.
171 shlwapi/tests: Use nameless unions/structs.
172 urlmon/tests: Use nameless unions/structs.
173 user32/tests: Use nameless unions/structs.
174 wevtapi/tests: Use nameless unions/structs.
175 windowscodecs/tests: Use nameless unions/structs.
176 wininet/tests: Use nameless unions/structs.
177 winmm/tests: Use nameless unions/structs.
178 winspool.drv/tests: Use nameless unions/structs.
179 wintrust/tests: Use nameless unions/structs.
181 Alistair Leslie-Hughes (37):
182 appwiz: Remove DECLSPEC_HIDDEN usage.
183 sxs: Remove DECLSPEC_HIDDEN usage.
184 netprofm: Remove DECLSPEC_HIDDEN usage.
185 adsldp: Remove DECLSPEC_HIDDEN usage.
186 explorerframe: Remove DECLSPEC_HIDDEN usage.
187 wintab32: Remove DECLSPEC_HIDDEN usage.
188 msdaps: Remove DECLSPEC_HIDDEN usage.
189 mscms: Remove DECLSPEC_HIDDEN usage.
190 shlwapi: Remove DECLSPEC_HIDDEN usage.
191 widl: Remove unnecessary null check (Coverity).
192 windowscodecs: Remove misleading comment.
193 windowscodecs: Remove DECLSPEC_HIDDEN usage.
194 d3d10: Remove DECLSPEC_HIDDEN usage.
195 d3dcompiler_43: Remove DECLSPEC_HIDDEN usage.
196 d3d8: Remove DECLSPEC_HIDDEN usage.
197 d3drm: Remove DECLSPEC_HIDDEN usage.
198 d3d9: Remove DECLSPEC_HIDDEN usage.
199 wbemdisp: Remove DECLSPEC_HIDDEN usage.
200 mf: Remove DECLSPEC_HIDDEN usage.
201 mfreadwrite: Remove DECLSPEC_HIDDEN usage.
202 mfplat: Remove DECLSPEC_HIDDEN usage.
203 kernelbase: Remove DECLSPEC_HIDDEN usage.
204 fusion: Remove DECLSPEC_HIDDEN usage.
205 wnaspi32: Remove DECLSPEC_HIDDEN usage.
206 msctf: Remove DECLSPEC_HIDDEN usage.
207 taskschd: Remove DECLSPEC_HIDDEN usage.
208 msado15: Remove DECLSPEC_HIDDEN usage.
209 twain_32: Remove DECLSPEC_HIDDEN usage.
210 gdiplus: Remove DECLSPEC_HIDDEN usage.
211 d3drm/tests: Show that viewport::render does not clear the background.
212 ddrawex: Remove DECLSPEC_HIDDEN usage.
213 dxgi: Remove DECLSPEC_HIDDEN usage.
214 d3d11: Remove DECLSPEC_HIDDEN usage.
215 d3dx10_43: Remove DECLSPEC_HIDDEN usage.
216 d2d1: Remove DECLSPEC_HIDDEN usage.
217 ddraw: Remove DECLSPEC_HIDDEN usage.
218 d3dx9_36: Remove DECLSPEC_HIDDEN usage.
221 po: Update Lithuanian translation.
224 mfmediaengine/tests: Add tests for audio effects.
225 mfmediaengine: Add support for inserting audio effects.
228 wineboot: Always attempt setup for all machine types.
229 ntdll: Fix NtContinue from within exception context on ARM64.
230 ntdll/tests: Test that NtContinue restores all register state on arm64.
231 ntdll: Add aarch64 DWARF register definitions.
232 ntdll: Avoid storing a second ctx copy in the aarch64 raise trampoline.
235 include: Add ID2D1SpriteBatch in d2d1_3.idl.
236 include: Add ID2D1SvgGlyphStyle in d2d1_3.idl.
237 include: Add ID2D1DeviceContext3 in d2d1_3.idl.
238 include: Add ID2D1DeviceContext4 in d2d1_3.idl.
239 include: Add more CLSIDs in d2d1effects.idl.
242 win32u: Set zero_bits correctly for large address aware applications on Wow64.
243 winecoreaudio: Set zero_bits correctly for large address aware applications on Wow64.
244 winealsa: Set zero_bits correctly for large address aware applications on Wow64.
245 wineoss: Set zero_bits correctly for large address aware applications on Wow64.
246 winepulse: Set zero_bits correctly for large address aware applications on Wow64.
247 ntdll: Don't release address space on 64-bit macOS.
248 configure: Only attempt to build macOS preloader on Intel, and remove unnecessary flag checks.
249 loader: On 64-bit macOS, reserve the low 8GB using a zerofill section.
250 loader: In macOS preloader, add __program_vars section.
251 winecoreaudio: Fix missing struct member in get_position() Wow64 thunk.
254 bcryptprimitives: ProcessPrng stub.
257 uiautomationcore: Allow for refusal of HWND providers on node creation by non-nested node providers.
258 uiautomationcore: Add support for matching serverside events through navigation.
259 ole32/tests: Extend test_marshal_channel_buffer() test to include IRpcProxyBufferWrapper checks.
260 combase: Use correct destination context in CoUnmarshalInterface when using the standard marshaler.
261 uiautomationcore/tests: Add IUIAutomationEventHandler tests.
262 uiautomationcore: Partially implement IUIAutomation::AddAutomationEventHandler.
263 uiautomationcore: Implement IUIAutomation::RemoveAllEventHandlers.
264 uiautomationcore: Implement IUIAutomation::RemoveAutomationEventHandler.
267 gdiplus: Dump both variable address and internal values for matrices.
270 mmdevapi: Don't link to uuid.
271 mmdevapi: Implement get_audio_session.
273 Ekaterine Papava (1):
274 po: Add Georgian translation.
277 conhost: Fix ctrl-c handling.
280 geolocation: Rename from windows.devices.geolocation.geolocator.
281 user32/tests: Remove DrawTextEx tests that overrun stack variable.
284 user32/tests: Use win_skip() for missing APIs.
285 uxtheme/tests: Use win_skip() for missing APIs.
286 msvcrt/tests: Check that some functions are only available in 32-bit code.
287 riched20/tests: Make the editor paste test failures more informative and unique.
289 Gabriel Ivăncescu (10):
290 mshtml: Grab the binding while aborting it.
291 jscript: Convert unlink_props to a helper that unlinks the entire object.
292 jscript: Implement WeakMap instance stub and constructor.
293 jscript: Implement WeakMap.set().
294 jscript: Implement WeakMap.get().
295 jscript: Implement WeakMap.delete().
296 jscript: Implement WeakMap.clear().
297 jscript: Implement WeakMap.has().
298 mshtml/tests: Add tests for WeakMap.
299 jscript: Properly set JS_E_WRONG_THIS as a TypeError.
302 winevulkan: Update to VK spec version 1.3.258.
304 Giovanni Mascellani (7):
305 dxgi: Introduce a worker thread for the D3D12 swapchain.
306 dxgi: Move presentation to the worker thread.
307 dxgi: Move buffer resizing to the worker thread.
308 dxgi: Remove the worker event, which is now useless.
309 dxgi: Do not allow vkd3d_acquire_vk_queue() to fail.
310 dxgi: Acquire and release the Vulkan queue inside d3d12_swapchain_queue_present().
311 dxgi: Wait before acquiring the Vulkan queue for presenting.
314 wininet: Handle http headers correctly when length is 0.
317 secur32/tests: Fix a test failure and extend tests.
318 include: Add Uri runtime class and related definitions.
319 include: Add ProcessorArchitecture winrt enum.
320 include: Add windows.storage.idl.
321 include: Add windows.applicationmodel.idl.
324 user32: Return result from dispatch_win_proc_params.
325 win32u: Return result from dispatch_win_proc_params.
326 win32u: Remove no longer needed result pointer from win_proc_params.
327 win32u: Always use result returned directly from call_window_proc.
328 user32: Always use NtCallbackReturn in User32DrawText.
329 wow64win: Define more 32-bit types.
330 wow64win: Support in place conversion in 64to32 struct conversion helpers.
331 wow64win: Convert parameters in place in wow64_NtUserCallWinProc.
332 wow64win: Convert parameters in place in wow64_NtUserCallWindowsHook.
333 user32: Always use NtCallbackReturn to pass result from User32CallWindowsHook.
334 win32u: Pass module name before packed lparam in win_hook_params.
335 win32u/tests: Add tests for handling LPARAM in window procs and hooks.
338 comdlg32: Add parent folder button to IFileDialog.
341 gdiplus: Dash pattern scaling does not shrink below line width 1.0.
342 gdiplus/tests: Fix mangled test output when dumping data in hex format.
343 gdiplus/tests: Use consistent no-alternate value for image properties.
344 gdiplus/tests: Add GIF to image properties tests.
345 gdiplus/tests: Use test context for test ran in a loop.
346 gdiplus/tests: Pare down image property tests that are not run for Wine.
347 gdiplus: Fix GdipGetPropertySize return value when no properties exist.
348 gdiplus: Fix GdipGetAllPropertyItems return value when no properties exist.
349 windowscodecs: Factor out common GIF palette copying logic.
350 windowscodecs: Allow GIF with no color table.
353 riched20: Wrap marked paragraphs at Text Services initialization.
354 riched20/tests: Add tests for change notifications caused by EM_SETSEL{,EX}.
355 riched20: Don't call ME_UpdateRepaint inside set_selection().
356 ntdll: Fail loudly if RtlActivateActivationContextEx fails to allocate memory.
357 riched20: Factor out device context acquisition from ME_MakeFirstParagraph.
358 riched20: Don't call wrap_marked_paras_dc() before the editor is fully initialized.
359 msi: Fully initialize the control structure in dialog_line_control().
360 msi: Make insertion order of line controls consistent with other controls.
361 msi: Don't open code dialog_add_control() in dialog_line_control().
362 ntdll: Fix restoring X16 and X17 in ARM64 syscall dispatcher.
363 winegcc: Enable SafeSEH only on i386.
366 winegstreamer: Replace pointers with handles in PE->Unix transition.
367 winegstreamer: Replace ambiguously sized/aligned elements.
368 winegstreamer: Implement Wow64 entrypoints in the Unix library.
371 include: Add UNICODE_NULL.
372 include: Update _SECURITY_INTEGER.
373 include: Add missing Kerberos related defines.
374 klist: Add a program that lists Kerberos tickets.
375 include: Add more Kerberos cache info types.
378 d3dcompiler/tests: Add some tests for matrix packing order compile flags.
379 windows.globalization: Use separate AddRef/Release methods for the language factory.
380 d3dcompiler/tests: Add another test for matrix majority flags.
383 d3d11/tests: Add basic test for shared resources.
384 include: Add initial ioring definitions.
385 kernelbase: Add stub for QueryIoRingCapabilities().
386 ntdll/tests: Add test for async cancel on pipe's last process handle close.
387 ws2_32/tests: Add test for async cancel on socket's last process handle close.
388 server: Cancel socket asyncs when the last handle in process is closed.
389 server: Cancel pipe asyncs when the last handle in process is closed.
390 user32/tests: Change display mode for correct monitor in check_preferred_mode().
393 notepad: Use GetDpiForWindow().
396 wineps: Fix SetTextJustification playback with 0 count parameter.
397 wineps: Buffer data sent to printer port.
398 services: Exit early in process_send_start_message if ConnectNamedPipe fails.
399 msvcrt: Pass correct buffer to locale_to_sname helper in create_locinfo.
400 msvcrt: Improve locale_to_sname error handling.
401 msvcrt: Set sname_match in locale_to_sname when returning cached result.
404 sapi: Invoke AddRef in mmaudio SetObjectToken.
405 sapi: Invoke AddRef in ISpVoice::SetVoice.
406 sapi/tests: Fix intermittent duration test failure in mmaudio.
407 sapi/tests: Fix ISpObjectToken::CreateInstance E_ACCESSDENIED error.
408 include: Fix ISpTTSEngineSite::GetActions return type.
409 sapi: Handle queue not initialized in async_empty_queue.
410 sapi: Reset empty event after queuing a task in async_queue_task.
411 sapi: Implement ISpVoice::Speak SPF_PURGEBEFORESPEAK.
412 sapi: Partially implement ISpVoice::Speak SPF_ASYNC.
413 sapi: Implement synchronous ISpVoice::Speak.
414 sapi: Introduce ISpTTSEngineSite stub.
415 sapi: Implement ISpVoice::Speak speak_proc.
416 sapi: Implement ISpTTSEngineSite::Write.
417 sapi: Implement ISpTTSEngineSite::GetActions/Rate/Volume.
418 sapi: Return wait status in async_wait_queue_empty.
419 sapi: Implement ISpVoice::WaitUntilDone.
422 wow64win: Call NtUserSetClassLongPtr() from wow64_NtUserSetClassLongPtr().
423 wow64: Return STATUS_NOT_IMPLEMENTED from wow64_NtSetInformationToken().
424 ntdll: Test against the correct limit in get_extended_params().
425 ntdll/tests: Update some more todos that succeed with the new wow64 architecture.
426 kernel32/tests: Update a todo that succeeds with the new wow64 architecture.
427 wow64win: Always use NtUserSetWindowLongPtr() for GWLP_HINSTANCE and GWLP_WNDPROC.
430 wow64win: Consistently marshal HINSTANCEs and HMODULEs as pointers.
431 shell32: Don't fall back to $HOME for missing user special folders.
432 wmp: Don't release a NULL typelib.
433 wmp: Release filter graph and interfaces if WMPControls::play fails.
436 ntdll: Implement efficiency class reporting for Intel hybrid CPUs.
439 msvcr110/tests: Add tests for new setlocale behaviors.
440 msvcr120/tests: Check ___lc_locale_name_func with neutral Chinese locales.
441 msvcrt: Use snames instead of LCIDs in create_locinfo.
442 msvcrt: Convert locale_to_LCID to snames.
443 msvcrt: Skip exhaustive locale search with valid snames.
444 msvcrt: Simplify set_lc_locale_name.
445 msvcrt: Remap synonyms to snames.
446 msvcrt: Use GetLocaleInfoEx to compare locale info.
447 user32: Add hotpatch prologue to RegisterRawInputDevices.
450 msvcrt: Fix out-of-bound access in create_locinfo.
452 Zebediah Figura (14):
453 wined3d: Move struct wined3d_device_vk to wined3d_vk.h.
454 wined3d: Move struct wined3d_texture_vk to wined3d_vk.h.
455 wined3d: Move struct wined3d_sampler_vk to wined3d_vk.h.
456 wined3d: Move struct wined3d_buffer_vk to wined3d_vk.h.
457 wined3d: Move struct wined3d_rendertarget_view_vk to wined3d_vk.h.
458 wined3d: Move struct wined3d_shader_resource_view_vk to wined3d_vk.h.
459 opengl32: Copy to the wow64 buffer even for write maps.
460 opengl32: Correctly interpret glMapBuffer() access in wow64 mapping.
461 wined3d: Move struct wined3d_unordered_access_view_vk to wined3d_vk.h.
462 wined3d: Move struct wined3d_swapchain_vk to wined3d_vk.h.
463 wined3d: Move struct wined3d_format_vk to wined3d_vk.h.
464 wined3d: Move remaining wined3d_context_vk functions to wined3d_vk.h.
465 wined3d: Move vk_aspect_mask_from_format() functions to wined3d_vk.h.
466 wined3d: Move the wined3d_vk.h include to individual files.
469 comctl32/tests: Add a test case to get syslinkid.
470 comctl32/syslink: Check item type before increasing link ID in SYSLINK_LinkAtPt().
473 comctl32/tests: Add Korean IME specific test sequences.
474 user32/tests: Add Korean IME specific test sequences.
475 winex11.drv: Move the dummy parent window to (0, 0).