1 The Wine development release 4.19 is now available.
3 What's new in this release (see below for details):
4 - A number of additional VBScript features.
5 - More stateblock support in WineD3D.
6 - Some fixes for ARM64 support.
9 The source is available from the following locations:
11 https://dl.winehq.org/wine/source/4.x/wine-4.19.tar.xz
12 http://mirrors.ibiblio.org/wine/source/4.x/wine-4.19.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.19 (total 41):
30 14026 Installshield Wizard does not exit after it finishes
31 17289 Slingplayer 2.0 installer fails
32 23934 Multiple games and applications depend on kernel32.CreateProcess to prioritize the working directory over the system search path (Stronghold Kingdoms loops after update, installers fail to find tools)
33 26552 Wine sets the resolution incorrectly on widescreen monitors
34 30911 Trivial Pursuit Unhinged fails to load
35 32147 Notepad .Net toolbar does not draw
36 32148 Notepad .Net does not exit cleanly
37 32151 Notepad .Net continually runs at ~70% CPU
38 34460 Tabbing between editboxes does not work in Tweet Attacks Pro
39 34666 In The Adventures Of Lomax some graphic elements flicker, disappear or are garbled
40 35380 Trivial Pursuit Unhinged: reports an audio error and exits
41 35479 Metatrader 5 hangs when scanning for Tester agents
42 35506 Space Hack: The mouse pointer is hard to control
43 35798 TeamViewer 9.0.26297 NI crashes on startup when using 'run only' option (one time use)
44 35801 Tweet Attacks hang when entering invalid login details
45 35901 ImpotRapide 2013 (.NET 4.0 app) installer crashes with Mono
46 36388 Problems with Russian localization in page setup dialog
47 37861 BOINC detects incomplete GPU details
48 37878 boincmgr: No text in cancel dialog in NT 6.0-6.2 modes
49 38795 Netgear Powerline 3.1 update check fails on second run
50 38821 MetaEditor 5: MQL5 Reference window doesn't load in a WOW64 wineprefix
51 38930 Betfair Poker log-in window is blank
52 40140 4K YouTube to MP3 crashes while downloading videos for some time
53 40360 Jack Keane 2 shadow corruption
54 40364 Broken geometry in Indiana Jones and the Emperor's Tomb
55 40777 The Moment of Silence launcher unusable (displays only black)
56 41369 UIAnimation (Windows Animation Manager / UIAnimation.dll) is missing in Wine
57 41741 The Adventures of Lomax demo crash on startup.
58 44221 Netgear Powerline: *** stack smashing detected ***: explorer.exe terminated
59 44231 External links in Slingplayer's help file open iexplore multiple times
60 45310 Closing Ableton Live 9 Lite wil crash into unimplemented function KERNEL32.dll.MoveFileTransactedW
61 46914 CompressonatorGUI 3.1 installer crashes in Win10 mode (Advanced Installer Module bug, incorrect usage of kernel32.Wow64RevertWow64FsRedirection)
62 46995 Rekordbox 5.3.0 installer (32-bit process under WoW64) fails to load 32-bit code dlls with WoW64 filesystem redirection disabled
63 47075 32-bit LAVFilters 0.74.x installer fails to register 64-bit AX codec/filters in Wow64 environment (32-bit regsvr32.exe needs to support 64-bit dll registration and vice versa by re-exec with proper bitness)
64 47509 Touhou 15.5:Antinomy of Common Flowers stopped running after upgrading the Wine version from 4.10 to 4.12.2
65 47912 Rockstar Games Launcher installer crashes after disabling WoW64 redirection
66 47956 IGMP source specific multicast does not create join requests for source
67 47967 Wine fails to find application DLLs when the working directory is not the application directory
68 47979 NtCreateFile incorrectly returns STATUS_OBJECT_NAME_NOT_FOUND when RootDirectory is populated
69 47986 R-Studio (file recovery tool) wants ntoskrnl.exe.IoCreateUnprotectedSymbolicLink
70 48009 Broken rendering in Sniper Elite V2
72 ----------------------------------------------------------------
77 d2d1/tests: Add some DPI tests.
78 d2d1: Don't update device context DPI values when changing targets.
79 d2d1: Improve bitmap creation DPI handling.
80 po: Update Japanese translation.
83 ntoskrnl: Implement IoCreateUnprotectedSymbolicLink.
84 ntdll: Implement NtPowerInformation(SystemBatteryState) on Linux.
85 kernel32/tests: Add tests for GetSystemPowerStatus.
86 kernel32: Implement GetSystemPowerStatus on top of NtPowerInformation.
88 Alexandre Julliard (34):
89 ntdll: Initialize Unix codepage early during startup.
90 kernel32: Retrieve the Unix codepage from ntdll.
91 kernelbase: Fix variable name aliasing issue.
92 kernel32: Add the new image path to the dll path for a new process.
93 notepad: Fix parsing of quoted command line.
94 ntdll: Always add path separator when looking for a relative path name.
95 kernel32: Move current directory initialization to ntdll.
96 kernel32: Move process name initialization to ntdll.
97 kernel32: Move Unix environment initialization to ntdll.
98 kernel32: Move registry environment initialization to ntdll.
99 kernel32: Move additional environment initialization to ntdll.
100 kernel32: Move image path name initialization to ntdll.
101 kernel32: Move Unicode argv initialization to ntdll.
102 kernel32: Move command line initialization to ntdll.
103 kernel32: Move dll load path initialization to ntdll.
104 kernelbase: Fix fault address printing for the PE build.
105 ntdll: Fix unwinding of leaf functions on ARM64.
106 ntdll: Hardcode address space limits for ARM platforms.
107 winex11: Also catch X errors from XF86VidModeSetGammaRamp().
108 atlthunk: Add support for ARM64.
109 oleaut32: Fix handling of VARIANT parameters in DispCallFunc() on ARM64.
110 msvcrt/tests: Fix signed char issues.
111 kernel32/tests: Enable the ExitProcess() test on ARM64.
112 setupapi: Define .inf section names for ARM platforms.
113 wine.inf: Add ARM64 sections.
114 ole32/tests: Increase a timeout.
115 psapi/tests: Increase some timeouts.
116 rpcrt4/tests: Increase some timeouts.
117 msvcrt/tests: Fix more signed char issues.
118 msvcrt: Reimplement strcmp/strncmp to get consistent return values.
119 msvcirt/tests: Fix some signed char issues.
120 oleaut32: Fix scope of a local array variable.
121 webservices: Use _control87() instead of directly manipulating the FPU register.
122 msvcrt: Implement _control87() and _statusfp() for ARM64.
124 Alistair Leslie-Hughes (13):
125 dplayx: Copy the correct Short name variable.
126 dpnet: Initialize size before call to RegGetValueW (Coverity).
127 wmvcore: IWMReader GetOutputCount return zero outputs.
128 wmvcore: IWMProfile3 GetStreamCount return zero streams.
129 oledb32: Support milliseconds when converting BSTR -> DBTIMESTAMP.
130 dinput/tests: Remove unrequired pointer checks (Coverity).
131 dinput: Detect more buttons as non-joysticks.
132 uianimation: Add typelib resource.
133 uianimation/tests: Add initial tests.
134 dmband: Simplify DllGetClassObject.
135 uianimation/tests: Add IUIAnimationTimer test.
136 uianimation/tests: Add more tests.
137 ntdll: Fix compile error on macos.
140 ucrtbase: Implement t and j printf length modifiers.
143 xinput: Make device hotplugging thread-safe.
144 xinput: Consolidate new device setup.
145 xinput: Clear instance data when a controller is hotplugged.
146 xinput: Get rid of redundant connected boolean.
147 mmdevapi/tests: Avoid race condition in capture test.
148 mmdevapi/tests: Use discontinuity flag to detect broken win7 behavior.
149 mmdevapi: Set data pointer to NULL on IAudioCaptureClient::GetBuffer failure.
150 mmdevapi: Return E_INVALIDARG for invalid share mode argument.
151 dxgi: Sort reported output modes.
152 advapi32: Add EventRegister and EventUnregister tests.
153 ntdll: Add missing spec file entry for EtwEventWriteString.
156 ntoskrnl.exe: Quiet a verbose FIXME.
159 kernel32/tests: Test loading system DLLs with WoW64 redirection disabled.
160 ntdll: Enable WoW64 filesystem redirection when loading libraries.
163 po: Update Korean tranlation.
166 d3d10: Move private effect functions to effect.c.
167 d3d10: Move debug_d3d10_driver_type() to d3d10_main.c.
168 d3d10: Move debug_d3d10_device_state_types() to stateblock.c.
171 dxgi/tests: Mark as todo the containing output test if a secondary monitor will cause failure.
172 dxgi: Do not warn about ignoring a null refresh rate.
173 dxgi: Add support for DXGI_SCALING_NONE.
176 msvcrt/tests: Fix _lseek arguments.
177 msvcrt: Set errno in _lseeki64.
178 wine.inf: Add Dynamic DST for US time zones.
180 Dmitry Timoshkov (1):
181 vbscript/tests: Add some tests for IRegExp2::Replace().
184 msvcrt: Fix fscanf return when EOF is immediately after an end of line.
187 ws2_32: Handle more IGMP socket options.
188 find: First implementation.
189 find: Prevent hang by properly checking for EOF.
192 comctl32/tests: Avoid an unneeded lstrlenW() call.
193 mshtml: Fix the spelling of some variable and field names.
194 mshtml/tests: Fix the spelling of an ok() message.
195 mshtml/tests: Fix the name of an unused function parameter.
196 msi/tests: Fix the case of an ok() message.
197 msi: Fix the spelling of a comment.
200 faultrep/tests: Fix some memory leaks (Valgrind).
203 msi/tests: Add missing UnpublishFeatures actions.
204 msi/tests: Fix test failures.
205 msi/tests: Run the package tests from a temporary directory.
206 msi/tests: Remove workarounds for Windows 2000.
207 shell32: Improve the stub for SHGetPropertyStoreForWindow.
210 ntdll: Properly handle 0 returns from unw_step().
213 include: Avoid macro redefinition when wchar.h is included after stdint.h.
214 vbscript: Implement String function.
215 vbscript: Implement RegExp.Replace.
216 vbscript: Improve exec_script debug traces.
217 vbscript: Fix array reference handling in do_icall.
218 vbscript: Add LBound function implementation.
219 vbscript: Move sign expression to a separated rule.
220 vbscript: Introduce separated struct for call expressions.
221 vbscript: Allow any unary expression after call keyword.
222 vbcript: Allow any call expression in call and assign statements.
223 vbscript: Support non-member calls in compiler.
224 vbscript: Factor out variant_call.
225 vbscript: Support calling VARIANT in interpreter.
226 vbscript/tests: Add more call tests.
227 vbscript: Ignore parentheses in call expression.
228 vbscript: Always pass arguments inside parentheses by value.
229 vbscript: Use wide char literals for lexer keywords.
230 vbscript: Add support for parsing with statement.
231 vbscript: Add support for interpreting statements.
232 vbscript/tests: Add with statement tests.
233 jscript: Use _ltow_s instead of int_to_string.
234 vbscript: Support VT_EMPTY in stack_pop_bool.
235 vbscript: Silence BuiltinDisp::QueryInterface(IID_IDispatchEx) warning.
236 vbscript/tests: Introduce get_dispid helper.
237 vbscript: Support DISP_E_EXCEPTION Invoke[Ex] return value.
238 vbscript: Add support for parameterized set statements.
239 vbscript: Allow 'with' as an identifier.
240 vbscript: Add parser support for redim statement.
241 vbscript: Add interpreter support for redim statement.
242 vbscript/tests: Add redim statement tests.
243 vbscript: Support using function return value in expressions.
246 kernel32: Quote first command line arg in process paramenters.
249 include: Set threading model on UIAnimation* interfaces.
250 include: Add restrictederrorinfo.idl.
251 uianimation: Register interfaces.
252 uianimation: Add IUIAnimationManager stubbed interface.
253 uianimation: Add IUIAnimationTimer stubbed interface.
254 uianimation: Add IUIAnimationTransitionFactory stubbed interface.
255 uianimation: Add IUIAnimationTransitionLibrary stubbed interface.
256 uianimation: Implement IUIAnimationManager::CreateStoryboard.
257 uianimation: Implement IUIAnimationManager::CreateAnimationVariable.
258 httpapi: Add stub for HttpReceiveRequestEntityBody.
261 d3dx9: Return an error if no fallback format is found.
262 d3dx9: Turn unimplemented interface ERR into a WARN.
263 wined3d: Introduce a separate use_legacy_fragment_output() helper.
264 wined3d: Limit GLSL version to 1.30 when OpenGL 3 is not supported.
267 crypt32: Add MS root CA 2010.
269 Michael Stefaniuc (7):
270 comctl32/tests: Constify some string holding variables / fields.
271 comctl32/tests: Simplify comparison with empty string.
272 comctl32/tests: Get rid of variables holding empty strings.
273 comctl32/tests: Don't read past the end of the buffer.
274 dmsynth: Use a wchar string literal instead of a temp variable.
275 mfreadwrite: Use wchar string literals instead of temp variables.
276 t2embed: Use a wchar string literal instead of a temp variable.
279 dwrite/tests: Relax tests that fail on some Win10 versions.
280 t2embed/tests: Fix some test failures on Win10.
281 comdlg32/tests: Use win_skip() instead when appropriate.
282 gdiplus: Trace GpRectF arguments.
283 kernel32/tests: Fix some test failures on Win10.
284 wscript/tests: Fix test failures on Win10.
285 vbscript/tests: Fix tests failures on Win10.
286 shell32/tests: Relax some tests to fix failures on Win10.
287 ole32/tests: Add some more tests for interface redirection handling.
288 ole32: Do not pass around untyped context section pointers.
289 ole32: Use interface redirection section too when looking for modules in CoGetClassObject().
290 po: Fix Russian strings for page setup dialog.
293 user32: Fix coords in WINDOWPOS for WM_NCCALCSIZE sent from SetWindowPos().
294 d3d9/tests: Factor out wait_query() function.
295 wined3d: Issue texture barrier before using a texture attached to FBO.
296 wined3d: Do not allow resource to be bound as SRV and RTV at the same time.
297 d3d8: Fix stream data skip count in convert_to_wined3d_declaration().
298 d3dx9: Don't pass usage flags for staging texture in D3DXCreateCubeTextureFromFileInMemoryEx().
299 d3dx9: Factor our check_texture_requirements() function.
300 d3dx9: Use check_texture_requirements() in D3DXCheckCubeTextureRequirements() with correct resource type.
301 d3dx9: Use check_texture_requirements() in D3DXCheckVolumeTextureRequirements() with correct resource type.
302 d3dx9: Don't pass usage flags for staging texture in D3DXCreateVolumeTextureFromFileInMemoryEx().
303 ddraw: Fix vertex buffer offset in d3d_execute_buffer_execute().
304 d3d11: Mind DSV flags when checking for conflicting SRV.
305 d3d11/tests: Add tests for binding resource as both SRV and DSV.
306 d3d11/tests: Require D3D_FEATURE_LEVEL_11_0 for using DSV flags.
307 wined3d: Return TRUE for NULL SRV format from wined3d_dsv_srv_conflict().
310 ucrtbase: Implement %G format for strftime.
311 msvcrt: Don't use strcspn from C-library.
312 msvcrt: Add _mbsspn_l implementation.
313 msvcrt: Add _mbscspn_l implementation.
314 msvcrt: Don't use strstr from C-library.
315 ntdll: Use SIZE_T to store passed buffer size in sprintf.
316 msvcrt: Cleanup sprintf tests.
317 regedit: Fix double free error in GetValueName.
318 msvcrt: Simplify printf tests table.
319 msvcrt: Fix test failures on Windows 10.
320 msvcrt: Move more printf tests to table.
321 msvcrt: Add printf rounding tests.
322 msvcrt: Add printf meaningless digits tests.
325 rstrtmgr: Add RM_FILTER_ACTION definition.
326 rstrtmgr: Fake API implementation by returning success.
327 rstrtmgr: Add stubs RmAddFilter and RmRemoveFilter.
330 user32/tests: Update input test result for w1064v1809.
331 user32/tests: Do not expect char vkey to return the same char everywhere.
332 user32/tests: Do not expect ToAscii with 'A' vkey to return 'a' on non-us keyboards.
333 user32/tests: Skip some tests with inconsistent results with non-us kbd.
336 atl: Fix a MSVC x64 printf warning.
339 mf: Leave instead of enter a critical section.
340 scrobj: Fix some leaks on error paths (Coverity).
341 scrobj/tests: Don't set site to NULL before it has been freed (Valgrind).
342 scrobj: Add a missing return value check (Coverity).
343 webservices: Fix some leaks on error paths (Coverity).
344 msvcp120: Add a helper for tr2_sys__Equivalent.
345 msvcp140: Add an _Equivalent implementation that allows for directories.
346 winmm: Pass the device to WINMM_Pause directly.
347 wininet/tests: Fix some test failures on Windows.
348 mstask/tests: Wait a bit longer for tasks to start and terminate.
349 wininet/tests: Skip some FTP tests when no connection can be made.
350 ntdll/tests: Fix some test failures on Windows 10.
351 ole32/tests: Fix some test failures on Windows XP.
353 Vijay Kiran Kamuju (4):
354 ntdll: Fix the SYSTEM_MODULE struct field names.
355 setupapi/tests: Remove win_9x checks.
356 ucrtbase: Implement %g format for strftime.
357 ucrtbase/tests: Add tests for strftime formats %r and %V.
360 regsvr32: Re-exec as 32-bit or 64-bit if necessary.
361 windowscodecs/tests: Expect success from IWICStream_Commit.
362 windowscodecs: Implement IWICStream_Commit.
363 mscoree: Call mono_thread_manage in GC Unsafe mode.
365 Zebediah Figura (70):
366 psapi/tests: Increase the GetPerformanceInfo() margins again.
367 psapi/tests: Remove an unreliable test.
368 qwave: Don't test the last error in the successful case.
369 advapi32/tests: Use unique names for each created service.
370 quartz/tests: Add more tests for stream start time.
371 quartz/tests: Add more tests for seeking.
372 quartz/filtergraph: Correctly implement IMediaSeeking::GetStopPosition().
373 quartz/filtergraph: Remove the no longer used "stop_position" field from IFilterGraphImpl.
374 quartz/filtergraph: Correctly handle AM_SEEKING_ReturnTime in IMediaSeeking::SetPositions().
375 wined3d: Introduce wined3d_stateblock_set_sampler_state().
376 d3d9: Handle stateblocks in d3d9_device_SetSamplerState().
377 wined3d: Introduce wined3d_stateblock_set_texture_stage_state().
378 d3d9: Handle stateblocks in d3d9_device_SetTextureStageState().
379 d3d8: Handle stateblocks in d3d8_device_SetTextureStageState().
380 quartz/filtergraph: Iterate filters directly in IMediaSeeking::SetPositions().
381 quartz/filtergraph: Store the current position and return it in IMediaSeeking::GetCurrentPosition().
382 quartz/filtergraph: Set the current position in IMediaFilter::Stop().
383 quartz/filtergraph: Pause the graph even if AM_SEEKING_NoFlush is used.
384 quartz/filtergraph: Clarify stream time tracking.
385 strmbase: Return S_FALSE from IBaseFilter::Pause() when performing asynchronous state change.
386 quartz/videorenderer: Get rid of hEvent.
387 strmbase: Introduce renderer_init_stream().
388 quartz/videorenderer: Use the renderer_init_stream() callback.
389 strmbase: Get rid of the "vtbl" parameter to strmbase_renderer_init().
390 ddraw: Track the primary stateblock state locally.
391 ddraw: Handle stateblocks in d3d_device7_SetRenderState().
392 ddraw: Handle stateblocks in d3d_device7_SetTextureStageState().
393 strmbase: Move strmbase_renderer_init() to avoid forward declarations.
394 strmbase: Get rid of the BaseRenderer typedef.
395 strmbase: Get rid of the BaseRendererFuncTable typedef.
396 strmbase: Rename the "pFuncsTable" field of struct strmbase_filter to "ops".
397 strmbase: Introduce filter state callbacks.
398 strmbase/transform: Use base filter state change methods.
399 advapi32/tests: Clean up tests for duplicate service names.
400 advapi32/tests: Accept another value for the default service pre-shutdown timeout.
401 advapi32/tests: Clean up double NotifyServiceStatusChange() tests.
402 comsvcs/tests: Increase the timeout in the implicit MTA test.
403 msctf/tests: Simplify ITfThreadMgrEventSink refcounting tests.
404 msctf/tests: Don't test calls to ITextStoreACP::GetStatus().
405 msctf/tests: Trace method calls more completely and only when WINETEST_DEBUG is set.
406 ole32/tests: Adjust timing in test_CoWaitForMultipleHandles().
407 gameux/tests: Get rid of registry value tests.
408 crypt32/tests: Clean up test_format_object().
409 strmbase/renderer: Use base filter state change methods.
410 strmbase: Pass a strmbase_pin pointer to QualityControlImpl_Create().
411 strmbase: Retrieve the filter clock from the pin pointer.
412 qcap/audiorecord: Use strmbase state change methods.
413 qedit/samplegrabber: Use strmbase state change methods.
414 d3d9: Release the recording stateblock before calling wined3d_device_reset().
415 d3d8: Reset the stateblock state before calling wined3d_device_reset().
416 ddraw: Reset the stateblock state before calling wined3d_device_reset().
417 wined3d: Introduce wined3d_stateblock_set_texture().
418 d3d9: Handle stateblocks in d3d9_device_SetTexture().
419 d3d8: Handle stateblocks in d3d8_device_SetTexture().
420 ddraw: Handle stateblocks in d3d_device7_SetTexture().
421 kernel32/tests: Fix some codepage tests under Windows 10.
422 wined3d: Introduce wined3d_stateblock_set_transform().
423 d3d9: Handle stateblocks in d3d9_device_SetTransform().
424 d3d8: Handle stateblocks in d3d8_device_SetTransform().
425 ddraw: Handle stateblocks in d3d_device7_SetTransform().
426 wined3d: Introduce wined3d_stateblock_set_clip_plane().
427 d3d9: Handle stateblocks in d3d9_device_SetClipPlane().
428 d3d8: Handle stateblocks in d3d8_device_SetClipPlane().
429 ddraw: Handle stateblocks in d3d_device7_SetClipPlane().
430 wined3d: Introduce wined3d_stateblock_set_material().
431 d3d9: Handle stateblocks in d3d9_device_SetMaterial().
432 d3d8: Handle stateblocks in d3d8_device_SetMaterial().
433 ddraw: Handle stateblocks in d3d_device7_SetMaterial().
434 quartz/tests: Relax some more timeouts.
435 qedit/mediadet: Check for failure from IEnumPins::Next().
438 gdi32: Support multiple monitors in D3DKMTOpenAdapterFromGdiDisplayName.
439 gdi32: Add D3DKMTSetVidPnSourceOwner and D3DKMTCheckVidPnExclusiveOwnership stubs.
440 winex11.drv: Implement X11DRV_D3DKMTSetVidPnSourceOwner.
441 winex11.drv: Implement X11DRV_D3DKMTCheckVidPnExclusiveOwnership.
442 dxgi: Implement dxgi_output_ReleaseOwnership().
443 dxgi: Implement dxgi_output_TakeOwnership().
444 winex11.drv: Call XFlush() right after XUngrabServer().
445 winex11.drv: Use underscore style for struct x11drv_display_device_handler.
446 winex11.drv: Retrieve virtual and primary monitor rectangles from SetupAPI.
447 winex11.drv: Handle display device events in the desktop thread.