1 The Wine development release 4.18 is now available.
3 What's new in this release (see below for details):
4 - Many new VBScript functions.
5 - A number of cleanups and improvements in Quartz.
6 - Fixes for several test failures.
9 The source is available from the following locations:
11 https://dl.winehq.org/wine/source/4.x/wine-4.18.tar.xz
12 http://mirrors.ibiblio.org/wine/source/4.x/wine-4.18.tar.xz
14 Binary packages for various distributions will be available from:
16 https://www.winehq.org/download
18 You will find documentation on https://www.winehq.org/documentation
20 You can also get the current source directly from the git
21 repository. Check https://www.winehq.org/git for details.
23 Wine is available thanks to the work of many people. See the file
24 AUTHORS in the distribution for the complete list.
26 ----------------------------------------------------------------
28 Bugs fixed in 4.18 (total 38):
30 10440 Lego Island 2 has black screen at start (audio but no video, application window loses focus to quartz video window)
31 24983 Multiple applications need support for DXTn texture compression in D3DXLoadSurfaceFromMemory() (Space Rangers 2, Memento Mori, fr-043)
32 25486 Lego Stunt Rally: 3d scene is black
33 32174 Applicaton crashes after paste of the clipboard
34 33848 InstallShield fails to install any files on NTFS / FAT32 partitions, while others can...
35 35223 King's Bounty Crossworlds crashes in the new campaign when entering the sea tower on the first island
36 35585 Castlevania: Lords of Shadow 2 demo endless loading screen without native d3dx9_36 (support for scaling of DXTn textures in d3dx9 missing)
37 37883 RebelBetting (.NET 4.5 app) fails to load with Wine-Mono
38 38940 RebelBetting 6.x (.NET 4.5 app) crashes on exit (ole32.Context_CC_ContextCallback too stubby)
39 40740 Broken Sword: The Angel of Death demo needs IDirectSoundFXI3DL2Reverb interface
40 41936 The Witcher 2: Assassins of Kings - menus and subtitles rendered incorrectly (with built-in d3dx9)
41 42979 Age of Empires hangs for several seconds between screens when CSMT is enabled
42 43497 Grandia II Anniversary Edition - Black screen
43 44540 Imperium GBR close unexpectly with native quartz.dll (DirectX9 Feb 2010 redist) and dsound.dll
44 46279 Multiple applications need msvcr120.dll.?_Yield@_Context@details@Concurrency@@SAXXZ (Darkest Dungeon, Noita, Amazon Kindle for PC)
45 46560 Smoke not rendering properly in Castlevania: Lords of Shadow 2
46 47192 Halo 2: PS4 controller no longer registers inputs
47 47234 Wine fails to properly parse and import some of the standard root certificates
48 47295 Halo 2: Game freezes during startup
49 47309 Multiple WinML tools from Windows 10 SDK ( 10.0.17763.x) crash on startup, requiring several api-ms-win-crt-private-l1-1-0.dll._o_* API functions (mlgen, winmdidl)
50 47395 Wolf RPG Editor hangs on exit
51 47615 _putws outputs NULs, other wchar.h functions don't
52 47676 Logos Bible Softare no longer loads due to crash
53 47751 x64dbg crashes in get_current_context / InterlockedCompareExchange
54 47755 Installation of Atmel Studio 7 crashes with a Program Error
55 47764 World of Warcraft - Keyboard troubles
56 47782 Segmentation fault and exceptions using ManagementClass
57 47813 Itch.io: Warning or error when launching a game (GetFileInformationByHandleEx for FileAttributeTagInfo unimplemented)
58 47822 Transcendence crashes on exit
59 47833 FindFirstFileExW seems to be missing FILE_OPEN_FOR_BACKUP_INTENT flag to NtOpenFile
60 47862 Art of Murder - Cards of Destiny main character and NPCs have texture corruption
61 47868 test_notify() dsound:dsound test is unreliable
62 47870 dwrite:layout fails in the Arabic locale
63 47880 Need for Speed: Carbon - Autosculpt causes geometry corruption and GL_INVALID_OPERATION error
64 47886 rpcrt4:server crashes on Windows
65 47891 advapi32:services regression
66 47911 quartz:vmr9 tests crash on Windows 7
67 47918 Blur: cars have no wheels when Wine is compiled with Ryzen optimisations
69 ----------------------------------------------------------------
74 ntdll: Add exception handling around DbgBreakPoint.
77 winex11: Copy icon color table in 256-color mode (Valgrind).
79 Alexandre Julliard (17):
80 kernel32: Add set_ntstatus() helper.
81 ntdll: Implement RtlSetSearchPathMode().
82 ntdll: Implement RtlGetSearchPath().
83 kernel32: Use RtlGetSearchPath() in SearchPathW() implementation.
84 kernel32: Move Get/SetDllDirectory() implementation to ntdll.
85 kernel32: Move dll path functions to ntdll.
86 kernel32: Move exe path functions to ntdll.
87 kernel32: Move LoadLibrary functions to kernelbase.
88 kernel32: Move SearchPath functions to kernelbase.
89 kernel32: Move system locale enumeration functions to kernelbase.
90 make_unicode: Avoid duplicate lead bytes.
91 winebuild: Add support for excluding a specific CPU architecture.
92 ntoskrnl: Export some functions on all architecture except i386.
93 msvcrt: Export some functions on all architecture except i386.
94 ntdll: Disallow changing DEP flags on 64-bit.
95 programs: Make all program entrypoints cdecl.
96 libport: Add codepage 28601 (Latin/Thai).
98 Alistair Leslie-Hughes (17):
99 include: Allow building against dmusic.
100 dmime: Improved tracing of the DMUS_OBJECTDESC structure.
101 dsound/tests: Add some GetStatus checks.
102 dmime: Always set a minimum timeout in IDirectMusicPerformance8::SetNotificationHandle.
103 dpnet: Report no programs found in IDirectPlay8LobbyClient EnumLocalPrograms.
104 dsound/tests: Allow more time for an event to be signalled.
105 dmime/tests: Add a notification_type test.
106 include: Add space sim direct input defines.
107 dmime/tests: Break out of loop if we fail to get segment pointer.
108 dinput/tests: Add checks for Acquire/Unacquire.
109 dinput: Don't treat Stylus devices as joysticks.
110 kernel32: FindFirstFileExW needs to open the directory with FILE_OPEN_FOR_BACKUP_INTENT flag.
111 wininet/tests: Add setting Authorization header override tests.
112 wshom.ocx: Correct out parameter for _NewEnum.
113 include: Add SpSharedRecognizer coclass and support interfaces.
114 include: Added sapiaut.idl.
115 include: Add COM_DECLSPEC_NOTHROW define.
118 xinput: Check for NULL argument in XInputGetState.
121 d3dcompiler: Add missing defines, enums and declarations.
124 kernel32/tests: Add tests for named pipes in PIPE_NOWAIT mode.
125 server: Don't block when reading from named pipes in PIPE_NOWAIT mode.
126 server: Don't block when writing to named pipes in PIPE_NOWAIT mode.
127 server: Don't block ConnectNamedPipe for pipe in PIPE_NOWAIT mode.
130 d3dx9: Correctly align texture dimensions to block size in D3DXCheckTextureRequirements().
132 Dmitry Timoshkov (8):
133 winspool: Add support for level 1 printer info to GetPrinter.
134 wineps: Add version resource.
135 wshom.ocx: Actually wait for process termination in IWshShell3::Run().
136 ieframe: Implement InternetExplorer typelib methods.
137 wininet: Fix off by 1 error when parsing time.
138 wineps.drv: Don't clear DM_PAPERWIDTH | DM_PAPERLENGTH flags.
139 winspool: Implement IsValidDevmodeW.
140 ieframe: Implement InternetExplorer::get_Busy().
142 Evgeny Litvinenko (1):
143 ntdll: Solaris requires sys/regset.h.
146 msvcrt: Use memmove() instead of memcpy() puts_clbk_str().
149 msg711.acm: Fix the spelling of the copyright notice.
150 mshtml: Fix the spelling of some comments.
151 mmdevapi/tests: Fix the spelling of ok() messages.
152 mfplat/tests: Fix the spelling of a comment.
153 winspool.drv/tests: Avoid an unneeded strlen() call.
155 Gabriel Ivăncescu (3):
156 msscript.ocx: Move set_script_state to the top.
157 msscript.ocx: Implement IScriptControl::Run.
158 msscript.ocx/tests: Add tests for IScriptControl::Run.
161 kernel32/tests: Fix some console tests on newer Win10.
162 msvcp110: Add more exports.
163 scrrun/tests: Make test_clone more descriptive.
164 scrrun/tests: Fix DriveCollection clone tests when there's only one drive.
165 msvcrt: Add Concurrency::details::_Context::_Yield stub.
166 advapi32/tests: Fix test_process_security with non-English locale.
167 wined3d: Add default case in wined3d_calculate_fog_factor.
168 mscoree: Support loading assemblies from path specified in config file.
171 bcrypt: Implement BCryptEnumAlgorithms.
172 wbemprox: Implement Win32_QuickFixEngineering.
173 bcrypt: Avoid recreating the hash on every iteration in BCryptDeriveKeyPBKDF2.
174 winhttp/tests: Fix some test failures.
175 winhttp: Propagate request errors in request_wait.
176 winhttp/tests: Fix more test failures.
177 secur32/tests: Fix test failures.
178 wininet/tests: Fix FTP test failures.
180 Huw D. M. Davies (1):
181 winegcc: Add a missing break.
184 scrrun: Add support for TristateUseDefault text stream format.
185 vbscript: Add Day function implementation.
186 vbscript: Add Month function implementation.
187 vbscript: Add Year function implementation.
188 vbscript: Add Hour function implementation.
189 vbscript: Add Minute function implementation.
190 vbscript: Add Second function implementation.
191 vbscript: Store entire EXCEPINFO in script context.
192 vbscript: Add err.description implementation.
193 vbscript: Add err.source implementation.
194 vbscript: Add err.helpfile and err.helpcontext implementation.
195 vbscript: Add err.raise function implementation.
196 vbscript/tests: Add err.raise tests.
197 vbscript: Move OnEnterScript/OnLeaveScript calls to exec_script.
198 vbscript: Call OnScriptError for runtime errors.
199 vbscript: Call OnScriptError for compile errors.
200 vbscript/tests: Add more tests.
201 ucrtbase: Use -norelay for __stdio_common_vsprintf.
202 msvcr: Use -norelay for _vsnprintf.
203 server: Reselect read queue before write queue in pipe_end_write.
204 kernel32/tests: Add message mode non-blocking pipe test.
205 kernelbase: Update SetNamedPipeHandleState debug trace.
206 vbscript: Factor out invoke_vbdisp.
207 vbscript: Don't use IDispatchEx for internal calls.
208 vbscript: Create class description for procedure object in compiler.
209 vbscript: Introduce new type for object with builtin functions.
210 vbscript: Factor out detach_global_objects.
211 vbscript: Introduce get_builtin_id.
212 vbscript: Use separated IDispatch implementation for objects exposing builtin functions.
213 vbscript: Don't use ITypeInfo for builtin function dispids.
214 vbscript: Get rid of no longer needed ITypeInfo in BuiltinDisp.
215 vbscript/tests: Added Err object IDispatch tests.
216 vbscript: Use global object property to expose Err object.
217 vbscript: Fix NULL IDispatch handling in get_disp_value.
218 vbscript: Create script context in CreateInstance.
219 vbscript: Store safety options only in script context.
220 vbscript: Store lcid only in script context.
221 vbscript: Store script site only in script context.
222 vbscript: Move create_script_disp call to SetScriptSite.
223 vbscript: Move init_global call to CreateInstance.
224 vbscript/tests: Add more named items tests.
227 crypt32/tests: Tidy up unexpected length failure messages in base64.
228 crypt32: Fix CryptBinaryToString return value on short base64 buffer.
229 crypt32: Make CryptBinaryToStringA fill short base64 buffer correctly.
232 ncrypt: Add NCryptEnumAlgorithms stub.
233 ncrypt: Add NCryptEnumKeys stub.
234 ncrypt: Add NCryptFreeBuffer stub.
235 ncrypt: Add NCrypt{Get,Set}Property stubs.
236 ncrypt: Add NCryptImportKey stub.
237 ncrypt: Add NCryptDeleteKey stub.
238 ncrypt: Add NCryptIsAlgSupported stub.
239 iphlpapi: Report success in NotifyIpInterfaceChange.
241 João Diogo Ferreira (1):
242 winnls.h: Add element GEOCLASS_ALL to enum SYSGEOCLASS.
245 winemac: Fix redirection of OpenGL extension functions.
248 msvcp: Use fput[w]c in basic_filebuf_char_overflow.
251 msvcrt: Fix the layout of threadlocaleinfostruct for ucrt.
254 d3dx9: WARN when the file doesn't exist in D3DXCreateTextureFromFileExW().
255 d3dx9: Add a trace to D3DXCreateBuffer.
256 user32: Don't go past the end of the animated cursor data.
257 d3d11: Set context to NULL in CreateDeferredContext() stub.
258 include: Get rid of raster caps bits not available in the SDK version of d3d9caps.h.
259 maintainers: Drop Sebastian Lackner as a maintainer.
260 d3dx9: Fix pitch passed to DXTn [de]compression functions.
263 advapi32: Stub SetPrivateObjectSecurityEx().
266 include: Add Media Session capabilities flags definition.
267 wined3d: Fail UAV creation for resources without corresponding bind flag.
268 mf: Partially implement topology cloning.
269 mf: Implement initial support for starting media sources within a session.
270 include: Add IDWriteFontSet3 definition.
271 include: Move DWRITE_GLYPH_IMAGE_FORMATS definition to dcommon.h.
272 mf: Subscribe to media stream events for current presentation.
273 mfplat: Unify event method traces format.
274 mfplat: Remove unnecessary typedef.
275 mfreadwrite: Remove unnecessary typedef.
276 mf: Keep media source state based on raised events.
277 mf: Add async command for session pause.
278 mf: Add async command for stopping the session.
279 mf: Unify trace formats for session methods.
280 mf: Rearrange topology queueing logic to simplify status notifications.
281 mf: Send MF_TOPOSTATUS_STARTED_SOURCE status notification after all sources were started successfully.
282 mf: Set presentation clock for sinks, subscribe to sink events.
283 mf: Return earlier for clock state change calls when time source is not set.
284 mf: Add IMFLocalMFTRegistration stub.
285 mfplat: Add MFTRegisterLocalByCLSID() stub.
286 mf: Add RegisterMFTs() implementation.
287 mf: Clone node connections when cloning topology.
288 mf: Add IMFMediaSourceTopologyProvider for sequencer source stub.
289 dwrite/tests: Remove test failing on RTL locales.
290 dwrite: Add a stub for IDWriteTextFormat3.
291 dwrite: Update to IDWriteFontCollection3.
292 dwrite: Update to IDWriteFontFamily2.
293 mf/tests: Use separate session instance for events tests.
294 mf: Copy preferred types when cloning nodes.
295 mf: Adjust sample grabber sink flags in rateless mode.
296 mf/tests: Add a test for SAR time source.
297 dwrite: Update to IDWriteFontFaceReference1.
298 dwrite: Update to IDWriteFontFallback1.
299 dwrite: Update matches list to IDWriteFontList2.
300 dwrite: Update font family object to use IDWriteFontList2.
301 include: Add some more MF reader/writer API definitions.
304 wininet/tests: Fix http tests to reflect current state of winehq test server.
307 wined3d: Support zero row pitch in wined3d_texture_gl_upload_data().
308 gdi32: Collapse relative paths inside true type fonts file names in registry.
309 wined3d: Factor out wined3d_texture_gl_upload_bo() function.
310 wined3d: Pass correct map size in wined3d_texture_gl_upload_data().
311 wined3d: Upload 3d GL textures per-slice when conversion is involved.
314 kernel32: Don't use uninitialized ofs->szPathName in OpenFile.
315 msvcrt: Fix _putws implementation.
316 msvcrt: Don't write past buffer in strftime.
317 msvcrt: Add wcrtomb_s implementation.
318 msvcrt: Add wcrtomb_s tests.
319 winebus.sys: Make device_id string more similar to native.
320 ntdll: Try to handle write watches while we're on the signal stack (x86_64).
321 kernel32: Add write watch test on OVERLAPPED structure.
322 msvcrt/tests: Add overlapped memory move sprintf test.
323 msvcrt: Return time since CRT initialization in clock function.
326 x3daudio: Fix lib exports.
329 wined3d: Add GPU information for Intel UHD Graphics 620.
332 msi/tests: Fix a test failure on Windows XP.
333 kernel32/tests: Fix a test failure on Windows XP.
334 wbemprox/tests: Fix a memory leak (Valgrind).
335 wbemprox: Fix a string leak (Valgrind).
336 wbemprox/tests: Remove some unused variables.
337 wbemprox: Fix a leak on error path (Coverity).
338 wbemprox: Fix multiple leaks in parse_path (Coverity).
339 scrrun/tests: Fix some test failures on Windows 2003.
340 comctl32/tests: Prevent some test failures by moving the cursor away from the window.
341 ucrtbase: Don't differentiate for 64-bit in __fpe_flt_rounds.
342 advapi32/tests: Remove a superfluous CloseServiceHandle call (Coverity).
343 kernel32/tests: Skip some tests when NtSetInformationProcess is denied access.
344 kernel32/tests: Remove a test that shows inconsistent results.
345 ddraw/tests: Fix some test failures on 64-bit Windows.
347 Vijay Kiran Kamuju (8):
348 msvcrt: Implement %R format for strftime.
349 msvcrt: Implement %D format for strftime.
350 msvcrt: Implement %F format for strftime.
351 msvcrt: Implement %C format for strftime.
352 msvcrt: Implement %e format for strftime.
353 msvcrt: Implement %h format for strftime.
354 msvcrt: Implement %n and %t formats for strftime.
355 msvcrt: Implement %u format for strftime.
357 Zebediah Figura (87):
358 strmbase: Set the filter debug info only if valid.
359 quartz/tests: Add some tests for video renderer pin connection.
360 quartz/tests: Add some tests for allocator negotiation on the video renderer filter.
361 quartz/tests: Add some tests for video renderer filter states.
362 quartz/tests: Add some tests for flushing on the video renderer.
363 quartz/tests: Add tests for sample presentation time for the video renderer.
364 winegstreamer: Initialize COM on the callback dispatcher thread.
365 wined3d: Introduce wined3d_stateblock_set_vs_consts_i().
366 d3d9: Handle stateblocks in d3d9_device_SetVertexShaderConstantI().
367 wined3d: Introduce wined3d_stateblock_set_vs_consts_b().
368 d3d9: Handle stateblocks in d3d9_device_SetVertexShaderConstantB().
369 wined3d: Introduce wined3d_stateblock_set_vertex_shader().
370 d3d9: Handle stateblocks in d3d9_device_SetVertexShader().
371 wined3d: Introduce wined3d_stateblock_set_vertex_declaration().
372 d3d9: Handle stateblocks in d3d9_device_SetVertexDeclaration().
373 d3d9: Handle stateblocks in d3d9_device_SetFVF().
374 d3d8: Handle stateblocks in d3d8_device_SetVertexShader().
375 wined3d: Introduce wined3d_stateblock_set_pixel_shader().
376 d3d9: Handle stateblocks in d3d9_device_SetPixelShader().
377 d3d8: Handle stateblocks in d3d8_device_SetPixelShader().
378 wined3d: Introduce wined3d_stateblock_set_ps_consts_f().
379 d3d9: Handle stateblocks in d3d9_device_SetPixelShaderConstantF().
380 d3d8: Handle stateblocks in d3d8_device_SetPixelShaderConstant().
381 quartz/tests: Add some tests for IPin::EndOfStream() on the video renderer.
382 strmbase: Don't send EC_COMPLETE in IBaseFilter::Run().
383 strmbase: Add a callback to expose renderer pin interfaces.
384 quartz/videorenderer: Add a stub IOverlay interface to the sink pin.
385 quartz/videorenderer: Implement IOverlay::GetWindowHandle().
386 quartz/tests: Add a test for filter graph threading.
387 quartz/filtergraph: Create filters on a separate thread if requested.
388 strmbase: Send WM_CLOSE instead of calling DestroyWindow() directly.
389 quartz/videorenderer: Create the window on the same thread as the filter.
390 quartz/vmr9: Create the window on the same thread as the filter.
391 wined3d: Introduce wined3d_stateblock_set_ps_consts_i().
392 d3d9: Handle stateblocks in d3d9_device_SetPixelShaderConstantI().
393 wined3d: Introduce wined3d_stateblock_set_ps_consts_b().
394 d3d9: Handle stateblocks in d3d9_device_SetPixelShaderConstantB().
395 strmbase: Move tracking of the stream start time to the renderer.
396 quartz/tests: Add some tests for VMR7 pin connection.
397 quartz/tests: Add some tests for VMR9 pin connection.
398 quartz/vmr9: Add a stub IOverlay interface to the sink pin.
399 quartz/vmr9: Implement IOverlay::GetWindowHandle().
400 advapi32/tests: Use unique service names in test_wow64().
401 widl: Write pointer classes for explicitly declared arrays only if they are top-level parameters.
402 widl: Also compute buffer size for non-ref arrays.
403 strmbase: Introduce a helper to trace reference time.
404 strmbase: Introduce a helper to more thoroughly trace media type.
405 quartz: Use strmbase_dump_media_type() where appropriate.
406 qcap: Use strmbase_dump_media_type() where appropriate.
407 winegstreamer: Use strmbase_dump_media_type() where appropriate.
408 strmbase: Fix implementation of IVideoWindow::get_Caption().
409 quartz/tests: Add tests for IVideoWindow on the video renderer.
410 strmbase: IVideoWindow::SetWindowForeground takes OATRUE, not TRUE.
411 strmbase: Correctly implement IVideoWindow::put_Owner().
412 strmbase: Do not activate the window when changing its position.
413 strmbase: IVideoWindow::get_AutoShow() returns OATRUE, not TRUE.
414 strmbase: IVideoWindow::get_Visible() returns OATRUE, not TRUE.
415 strmbase: Don't move or activate the window in IVideoWindow::put_WindowStyle().
416 strmbase: Properly implement IVideoWindow::get_WindowState().
417 strmbase: More properly implement IVideoWindow::SetWindowForeground().
418 strmbase: Avoid leaking references to the sink's peer in IVideoWindow::SetWindowForeground().
419 quartz/tests: Bail out if connecting returns E_FAIL.
420 quartz/tests: Filter out extraneous messages in test_video_window_messages().
421 quartz/tests: Wait longer in test_render_with_multithread().
422 quartz/tests: Increase the timeout in test_media_event().
423 quartz/filtergraph: Ensure that the thread has a message queue before posting messages to it.
424 include: Add more wininet error codes.
425 wininet/tests: Handle ERROR_INTERNET_SEC_CERT_WEAK_SIGNATURE on newer 11.x versions.
426 strmbase: Get rid of the unused BaseWindowImpl_GetDefaultRect() function.
427 strmbase: Get rid of the "pfnPossiblyEatMessage" callback.
428 strmbase: Get rid of BaseWindowImpl_OnReceiveMessage().
429 strmbase: Get rid of the "pfnOnReceiveMessage" callback.
430 strmbase: Properly implement IVideoWindow::get_WindowStyle().
431 gdi32: Implement GetCharWidthFloat().
432 strmbase: Get rid of the "pfnGetClassWindowStyles" callback.
433 strmbase: Get rid of BaseWindowImpl_OnSize().
434 strmbase: Get rid of the unused "hInstance" field of the BaseWindow structure.
435 quartz/videorenderer: Get the window DC in VideoRenderer_SendSampleData().
436 strmbase: Get rid of the unused "hDC" field of the BaseWindow structure.
437 quartz/tests: Relax system clock timing tests a bit.
438 qcap/tests: Fix a double Release().
439 quartz/videorenderer: Get rid of CreateRenderingSubsystem().
440 strmbase: Get rid of the unused "lock" parameter to BaseControlWindow_Init().
441 wined3d: Introduce wined3d_stateblock_set_render_state().
442 wined3d: Introduce wined3d_stateblock_set_blend_factor().
443 d3d9: Handle stateblocks in d3d9_device_SetRenderState().
444 d3d8: Handle stateblocks in d3d8_device_SetRenderState().