1 The Wine development release 5.14 is now available.
3 What's new in this release (see below for details):
4 - More restructuration of the console support.
5 - Initial version of the Webdings font.
6 - Beginnings of PE conversion of the MSVCRT libraries.
9 The source is available from the following locations:
11 https://dl.winehq.org/wine/source/5.x/wine-5.14.tar.xz
12 http://mirrors.ibiblio.org/wine/source/5.x/wine-5.14.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 5.14 (total 26):
30 10106 Changing CursorBlinkRate in the registry has no effect
31 19040 AOL 9.0 fails to install
32 19775 Largo Winch: crash with hardware vertex shader
33 38941 DOSCenter: Text colors are missing
34 39721 Listview custom draw in report mode uses wrong background color
35 43434 StarCraft: Brood War doesn't run without setting the Windows version to 2003 or Vista
36 43949 WINEDEBUG=+relay does not work on armv7l
37 44129 Bayonetta: much slower than on Windows
38 47161 Star Wars: The Force Unleashed II - Not show cinematics at all
39 47501 Toontown Rewritten: Unhandled page fault on read access to 0x00000000 at address 0x1fea2b7 (thread 0064)
40 48555 Helm Standalone/VST plugin 32bit version has random content in window, 64bit version works OK
41 48856 Renegade Ops needs D3DX10GetImageInfoFromMemory implementation
42 48859 PassMark PerformanceTest 10 crashes during start since wine-4.11
43 49418 Wargaming.net -> Game Center -> starts with the message: Unable to connect to the content service. Please check you internet connection and try again.
44 49436 64-bit Diablo III hangs on startup since 5.11
45 49474 Chaos Legion does not work with wine quartz.
46 49487 ListView control custom draw in report view shows blank item if handler clears uItemState CDIS_SELECTED flag
47 49523 Access denied opening c:\windows\system32\cmd.exe\cmd.exe
48 49561 After update to wine-5.12 "1c" start crashed with error Unhandled exception: page fault on read access to 0x00000000 in 64-bit code (0x00000000100fb266).
49 49562 Godot Engine have broken shadows and doesn't read properly settings file
50 49578 Battle.net wouldn't start
51 49581 Disk Genius needs kernel32.SetFirmwareEnvironmentVariable
52 49590 Battle.net Agent.exe hang/crash
53 49604 TES4:Oblivion hang on filter_graph.cs on Wine 5.13
54 49620 Tableau Desktop fails to install
55 49626 ntdll can be loaded multiple times into the same process
57 ----------------------------------------------------------------
62 kernel32: Stub SetFirmwareEnvironmentVariableW.
63 ws2_32/tests: Allow ESP and AH protocols to be missing on Windows.
65 Alexandre Julliard (31):
66 ntdll: Fix a memory leak.
67 ntdll: Move the LPC port syscall stubs to the Unix library.
68 ntdll: Move the token functions to the Unix library.
69 ntdll: Move the security system calls to the Unix library.
70 ntdll: Move various stub functions to the Unix library.
71 ntdll: Move the locale system calls to the Unix library.
72 ntdll: Set a better exit status when the main image fails to load.
73 ntdll: Map errno to a status also in directory functions.
74 ntdll: Implement KiRaiseUserExceptionDispatcher().
75 ntdll: Use a syscall thunk for NtClose().
76 ntdll: Use a syscall thunk for NtQueryPerformanceCounter().
77 ntdll: Avoid private Unix functions in RtlExitUserThread().
78 ntdll: Implement NtSetInformationProcess(ProcessThreadStackAllocation).
79 ntdll: Avoid private Unix functions in RtlCreateUserStack().
80 ntdll: Call virtual_set_large_address_space() directly from the Unix side.
81 winegc: Support overriding the default PE file alignment.
82 ntdll: Update the TEB and PEB structures for newer Windows versions.
83 include: Add 64-bit versions of the TEB and PEB for WoW64 mode.
84 ntdll: Store the thread startup info in the ntdll_thread_data structure.
85 ntdll: Allocate 64-bit TEB and PEB in WoW64 mode.
86 ntdll: Store the filesystem redirection flag in the 64-bit TEB.
87 winebuild: Store the syscall frame in the thread data on i386.
88 winebuild: Store the syscall frame in the thread data on x86_64.
89 winebuild: Store the syscall frame in the thread data on ARM.
90 winebuild: Store the syscall frame in the thread data on ARM64.
91 ntdll: Use a syscall thunk for NtGetContextThread().
92 ntdll: Reimplement RtlRaiseException() to build a correct context on ARM.
93 ntdll/tests: Fix vectored exception handler usage.
94 ntdll/tests: Enable more exception tests on ARM platforms.
95 ntdll/tests: Add tests for RtlCaptureContext() and NtGetContextThread() on x86_64.
96 ntdll/tests: Add thread context test for ARM platforms.
98 Alistair Leslie-Hughes (1):
99 ws2_32: Correct returned error code for an invalid socket.
102 amstream/tests: Fix AMMultiMediaStream::OpenFile test.
103 amstream/tests: Fix file rendering test.
104 amstream/tests: Add a test AVI file.
105 amstream/tests: Move the testfilter code above to use it in SetState tests.
106 amstream: Return S_OK from AMMultiMediaStream::SetState when IMediaControl::Run succeeds.
107 amstream: Start the stream when AMMSF_RUN is passed to AMMultiMediaStream::OpenFile.
110 bcrypt: Improve BCryptSecretAgreement/BCryptDestroySecret/BCryptDeriveKey stubs.
111 bcrypt: Add tests for BCryptSecretAgreement/BCryptDestroySecret/BCryptDeriveKey.
112 winemac.drv: Build cocoa_window.m with GL_SILENCE_DEPRECATION.
113 winemac.drv: Fix warnings for constants deprecated by macOS 10.14.
114 winevulkan: Update Vulkan XML URL to use raw.githubusercontent.com.
115 winemac.drv: Fix warnings for constants deprecated by macOS 10.12.
118 msvcp140_1: Add stub msvcp140_1.
121 mountmgr.sys: Use SystemBuffer output for IOCTL_STORAGE_QUERY_PROPERTY.
124 vbscript: Implement case insensitive comparison.
126 Dmitry Timoshkov (8):
127 usp10: Don't specify ETO_GLYPH_INDEX for bitmap fonts.
128 ieframe: Implement IOleObject::GetUserClassID().
129 ieframe: Implement IOleObject::Advise().
130 ieframe: Implement IOleObject::Unadvise().
131 ieframe: Implement IOleObject::EnumAdvise().
132 ieframe: IOleObject::Close() should notify OnClose() advise sink.
133 ieframe/tests: Add some tests for IOleObject::Advise(), IOleObject::Unadvise() and IOleObject::EnumAdvise().
134 fonts: Add initial version of Webdings font.
137 tests: Trace elapsed time when $WINETEST_TIME is set.
138 winex11.drv: Fix the spelling of a comment.
140 Gabriel Ivăncescu (3):
141 ddraw/tests: Test non-primary video memory surface in test_lost_device().
142 ddraw: Return DDERR_WRONGMODE when attempting to restore surfaces of a lost device.
143 ddraw: Check the foreground window in addition to the device state in ddraw_update_lost_surfaces().
146 winevulkan: Avoid returning 0 for swapchain maxImageCount.
149 ntdll: Include <signal.h> for sigset_t.
152 qcap/tests: Avoid test failures in test_seeking().
153 wbemprox/tests: Fix test failures.
154 wbemprox/tests: Add a test for Win32_PhysicalMemory.ConfiguredClockSpeed.
155 amstream: Accept more media subtypes in AMVideoStream::ReceiveConnection().
156 wbemprox/tests: Add IEnumWbemClassObject::Next() tests.
157 wbemprox: Support retrieving more than one object in IEnumWbemClassObject::Next().
158 qdvd: Add a stub IDvdInfo2 interface.
159 amstream: Increase parent IAMMediaStream refcount in IAudioMediaStream::CreateSample().
160 amstream: Increase IAudioData refcount in IAudioMediaStream::CreateSample().
161 amstream: Implement IAudioStreamSample::GetMediaStream().
162 amstream: Implement IAudioStreamSample::GetAudioData().
163 amstream: Get rid of the IAudioStreamSampleImpl typedef.
164 amstream: Return correct media type info when enumerating AMAudioStream media types.
167 bcrypt: Allow importing private ECDSA keys.
170 include: Add missing PROC_THREAD_ATTRIBUTE defines.
171 server: Introduce IOCTL_CONDRV_SET_INPUT_INFO ioctl.
172 wineconsole: Use IOCTL_CONDRV_SET_INPUT_INFO in WINECON_SetHistorySize.
173 wineconsole: Use IOCTL_CONDRV_SET_INPUT_INFO in WINECON_SetHistoryMode.
174 wineconsole: Use IOCTL_CONDRV_SET_INPUT_INFO in WINECON_SetEditionMode.
175 wineconsole: Use IOCTL_CONDRV_SET_INPUT_INFO to set console window handle.
176 server: Remove no longer used code from set_console_input_info.
177 server: Introduce IOCTL_CONDRV_SET_TITLE ioctl.
178 wineconsole: Use IOCTL_CONDRV_SET_TITLE ioctl.
179 server: Allow creating screen buffer using NtCreateFile.
180 kernelbase: Use NtCreateFile in CreateConsoleScreenBuffer.
181 server: Introduce IOCTL_CONDRV_WRITE_OUTPUT ioctl.
182 kernelbase: Use IOCTL_CONDRV_WRITE_OUTPUT in WriteConsoleOutputW.
183 kernelbase: Use IOCTL_CONDRV_WRITE_OUTPUT in WriteConsoleOutputAttribute.
184 kernelbase: Use IOCTL_CONDRV_WRITE_OUTPUT in WriteConsoleOutputCharacterW.
185 kernel32: Use IOCTL_CONDRV_WRITE_OUTPUT in CONSOLE_WriteChars.
186 server: Remove no longer used write_console_output request.
187 kernel32/tests: Add more console output tests.
188 wineconsole: Ignore ERROR_IO_INCOMPLETE error in WINECON_GrabChanges.
189 wineconsole: Use ReadConsoleOutputW in WINECON_FetchCells.
190 condrv: Rename condrv_write_output_params to condrv_output_params.
191 server: Introduce IOCTL_CONDRV_READ_OUTPUT ioctl.
192 kernelbase: Use IOCTL_CONDRV_READ_OUTPUT in ReadConsoleOutputCharacterW.
193 kernelbase: Use IOCTL_CONDRV_READ_OUTPUT in ReadConsoleOutputAttribute.
194 kernelbase: Use IOCTL_CONDRV_READ_OUTPUT in ReadConsoleOutputW.
195 server: Remove no longer used read_console_output request.
196 kernel32/tests: Add more console output reading tests.
197 server: Introduce IOCTL_CONDRV_SCROLL ioctl.
198 kernelbase: Use IOCTL_CONDRV_SCROLL in ScrollConsoleScreenBufferW.
199 server: Remove no longer used move_console_output request.
200 server: Use weak reference between console input and renderer objects.
201 server: Allow using console ioctls on renderer object.
202 wineconsole: Rename hSynchro to console.
203 wineconsole: Use renderer handle instead of hConOut where possible.
204 server: Remove no longer needed CONSOLE_RENDERER_ACTIVE_SB_EVENT events.
205 server: Remove no longer needed open_console request.
206 wineconsole: Use renderer handle instead of hConIn where possible.
207 wineconsole: Move WINECON_Spawn call to WINECON_Init.
208 wineconsole: Use console in/out handles only in WINECON_Init.
209 kernelbase: Lock console critical section when changing current console.
210 kernelbase: Fix handling processes using STARTF_USESTDHANDLES when setting standard handles in AllocConsole.
211 kernelbase: Close handles allocated by AllocConsole in FreeConsole.
212 kernel32/tests: Add more AllocConsole tests.
213 kernelbase: Use init_console_std_handles in AttachConsole.
214 winegcc: Support file alignment on msvc target.
215 winegcc: Try using msvc file align syntax if mingw-style is not supported.
216 configure: Use *-windows instead of *-windows-gnu as fallback cross compiler target.
219 wininet: Handle empty expires for cookie setting.
222 usp10: Fix typo in comment about box drawing unicode range.
225 gdiplus: Fix crash if failed to create bitmap.
228 winevulkan: Implement VK_EXT_calibrated_timestamps.
231 jscript: Fix some memory problems in disp_call_value.
232 jscript: Fix `this` within IDispatchEx::InvokeEx.
234 Liam Middlebrook (1):
235 winevulkan: Update to VK spec version 1.2.148.
238 sc.exe: Fake succes for the SdSet argument.
241 wined3d: Correctly destroy the adapter on format initialization failure in no3d mode.
242 wined3d: Fail adapter creation if driver version info can't be found.
243 wined3d: Set proper values for the guard band caps.
244 wined3d: Remove some unnecessary "inline" qualifiers.
245 wined3d: Get rid of default label in debug_cs_op() switch.
246 ntdll: Don't read current CPU frequency on Linux.
247 include: Add ID3D10Device1 forward declaration.
248 include: Flesh out d3dx10math.h a bit more.
249 d3dcompiler: Don't link to dxguid or uuid.
252 include: Add IShellLinkDual interface.
253 amstream: Implement IMediaStreamFilter::GetDuration.
254 amstream: Implement IAMMultiMediaStream::GetDuration.
255 amstream: Implement IMediaStreamFilter::GetStopPosition.
258 comctl32/listview: Do no alter custom draw text colors between notification stages.
259 sxs/tests: Use wide string literal constants.
260 sxs: Implement surrogate data lookup in SxsLookupClrGuid().
261 sxs: Add support for SXS_LOOKUP_CLR_GUID_USE_ACTCTX in SxsLookupClrGuid().
262 combase: Move Wdtp* marshalling functions.
263 combase: Move HWND marshalling functions.
264 combase: Move HDC marshalling functions.
265 combase: Move HMENU marshalling functions.
266 combase: Move HICON marshalling functions.
269 kernel32: Zero initialize module data in fetch_module().
270 iphlpapi: Fix buffer reallocation in get_pid_map().
273 comctl32: Fix non printable characters handling in SB_SETTEXT.
274 msvcrt: Add _wctype table.
275 msvcrt: Export _pwctype table.
276 msvcrt: Don't use get_char_typeW in _iswctype_l.
277 msvcrt: Copy wcslen implementation from ntdll.
278 msvcrt: Copy wcscpy implementation from ntdll.
279 msvcrt: Copy wcscat implementation from ntdll.
280 msvcrt: Copy wcschr implementation from ntdll.
281 msvcrt: Copy wcsrchr implementation from ntdll.
282 msvcrt: Don't use wine/unicode.h header.
283 msvcrt: Don't use div and ldiv function.
284 msvcrt: Copy memchr implementation from ntdll.
285 msvcrt: Copy memcmp implementation from ntdll.
286 msvcrt: Copy memmove implementation from ntdll.
287 msvcrt: Copy memset implementation from ntdll.
288 msvcrt: Copy strcat implementation from ntdll.
289 msvcrt: Copy strchr implementation from ntdll.
290 msvcrt: Copy strlen implementation from ntdll.
291 msvcrt: Copy strncat implementation from ntdll.
292 msvcrt: Copy strpbrk implementation from ntdll.
293 msvcrt: Copy strrchr implementation from ntdll.
294 msvcrt: Add __STRINGTOLD_L and _atoldbl_l partial stubs.
295 msvcrt: Support arbitrary buffer size in bnum.
296 msvcrt: Introduce fpnum structure that can be used to represent 64 and 80-bit double.
297 msvcrt: Create 64-bit mantissa in fpnum_parse.
298 msvcrt: Don't depend on additional mantissa bits when rounding.
299 msvcrt: Don't use strtold in __STRINGTOLD_L.
300 msvcrt: Add __STRINGTOLD tests.
301 msvcrt: Fix rounding of numbers smaller than minimal subnormal.
302 user32: Support undocumented SC_SIZE flag that can be used to move window.
305 winegcc: Align sections in PE files to page size.
306 dbghelp: Ignore missing debug info in SymInitializeW.
309 winapi_test: Remove leftover PUUID_VECTOR from tests.dat.
310 winapi_test: Fix a verifying loop on headers, which never finds any type name.
311 winapi_test: Add common headers for rpcrt4 test.
312 winapi_test: Remove useless common headers for shlwapi test.
313 winapi_test: Remove useless winbase.h for wininet test.
314 winapi_test: Add a blank line between common and specific headers.
315 winapi_test: Remove MIDL_STUB_MESSAGE field exclusions.
316 winapi_test: Fix 'MIXERLINECONTROL[AW]' typos.
317 winapi: Update 'perl -w' to 'use warnings 'all''.
319 Shawn M. Chapla (10):
320 gdiplus/tests: Add metafile unknown font deserialize test.
321 gdiplus: Use GenericFontFamilySansSerif when missing deserialized font family.
322 gdiplus/tests: Add metafile FillRegion test.
323 gdiplus: Add FillRegion record deserialization.
324 gdiplus: Add FillRegion serialization.
325 gdiplus/tests: Add metafile LinearGradient brush test.
326 gdiplus: Add LinearGradient brush object serialization.
327 gdiplus: Fix LinearGradientBrush deserialization off-by-one errors.
328 gdiplus: Use FromRect constructor in LinearGradientBrush deserialization.
329 gdiplus/tests: Fix 'LogicalDpiY' typos in metafile tests.
331 Zebediah Figura (58):
332 ntdll/tests: Remove some workarounds for no longer supported versions of Windows.
333 ntdll/tests: Remove todo_wine for tests that now succeed.
334 ntdll/tests: Return early if ThreadHideFromDebugger isn't supported.
335 ntdll/tests: Remove some unnecessary checks in test_query_logicalprocex().
336 ntdll/tests: Make info.c less verbose by default.
337 quartz/videorenderer: Render preroll samples.
338 quartz/vmr9: Render preroll samples.
339 quartz/dsoundrender: Reimplement the DirectSound renderer directly on top of the strmbase filter.
340 strmbase: Remove some no longer used callbacks.
341 strmbase: Get rid of BaseRendererImpl_Receive().
342 strmbase: Wait for presentation time after rendering the first sample.
343 quartz/vmr9: Signal state change completion only after PresentImage() has been called.
344 quartz/tests: Add tests for IMediaSeeking::GetCurrentPosition() and EC_COMPLETE interaction.
345 quartz: Return the stop position from GetCurrentPosition() after all filters return EC_COMPLETE.
346 wine.inf: Map CursorBlinkRate to the registry.
347 wine.inf: Map the Windows section of win.ini to the registry.
348 quartz/vmr9: Return E_INVALIDARG if both texture and offscreen flags are passed to AllocateSurfaceHelper().
349 qcap/vfwcapture: Return VFW_S_CANT_CUE from GetState(), not Pause().
350 winspool: Remove the "force" parameter to WINSPOOL_SetDefaultPrinter().
351 winspool: Stop setting the "Devices" key.
352 wine.inf: Map the Devices section of win.ini to the registry.
353 winspool: Stop modifying the "Devices" profile section.
354 quartz: Allow the arguments to IMediaSeeking::GetPositions() to be NULL.
355 quartz: Correctly convert reference time to REFTIME in IBasicVideo::get_AvgTimePerFrame().
356 winegstreamer: Check for failure from gst_video_info_set_format().
357 wine.inf: Map the Desktop section of win.ini to the registry.
358 wine.inf: Map the Extensions section of win.ini to the registry.
359 wine.inf: Map the PrinterPorts section of win.ini to the registry.
360 winspool: Stop setting the PrinterPorts profile section.
361 wine.inf: Map the Sounds section of win.ini to the registry.
362 winegstreamer: Preserve the frame rate when converting video formats.
363 winegstreamer: Release the IAsyncReader on disconnection.
364 quartz/dsoundrender: Clear the DirectSound buffer on EOS.
365 quartz: Don't pause the graph in IMediaSeeking::SetPositions if it hasn't finished running yet.
366 quartz/vmr9: Allow AdviseSurfaceAllocator() to be called multiple times.
367 dsound/tests: Link directly to dsound.
368 dsound/tests: Rewrite test_effects().
369 dsdmo/tests: Add tests for aggregation.
370 dsound/tests: Move effect parameter tests to dsdmo.
371 dsdmo/tests: Add some tests for media types.
372 dsdmo: Add a stub waves reverb effect.
373 dsdmo: Stub IMediaObjectInPlace.
374 dsdmo: Stub IDirectSoundFXWavesReverb.
375 dsdmo: Implement IMediaObject::SetInputType().
376 dsdmo: Implement IMediaObject::SetOutputType().
377 kernel32/tests: Relax a timing test.
378 dsdmo: Add a stub I3DL2 reverb effect.
379 dsdmo: Stub IDirectSoundFXI3DL2Reverb.
380 dsdmo: Implement IDirectSoundFXI3DL2Reverb parameters methods.
381 dsdmo: Add a stub equalizer effect.
382 dsdmo: Stub IDirectSoundFXParamEq.
383 dsdmo: Implement IDirectSoundFXParamEq parameters methods.
384 wpp: Correct the spelling of "ellipsis".
385 ntdll: Compare builtins by their device and inode number directly.
386 ntdll: Append ntdll.dll to the builtin_modules list.
387 ntoskrnl.exe/tests: Add some tests for file names.
388 ntdll/tests: Add more tests for object names.
389 dbghelp: Replace another usage of GetEnvironmentVariable() with the target process's environment.
392 user32: Trace ChangeDisplaySettingsExW() results.
393 user32: Trace EnumDisplaySettingsExW() results.
394 user32/tests: Test that EnumDisplayMonitors() doesn't set error codes.
395 user32/tests: Add more ChangeDisplaySettings() tests.
396 user32: Check invalid device names in ChangeDisplaySettingsExW().
397 winex11.drv: Allow reporting a virtual desktop mode with the same width or height as the current mode.
398 winex11.drv: Migrate the virtual desktop display settings handler to a new interface.
399 winex11.drv: Support virtual desktop display mode enumeration using the new display settings handler interface.
400 winex11.drv: Cache display modes for X11DRV_EnumDisplaySettingsEx().
401 winex11.drv: Support setting virtual desktop display mode using the new display settings handler interface.
402 winex11.drv: Remove the old virtual desktop display settings handler.
403 user32: Check invalid device names in EnumDisplaySettingsExW().
404 winex11.drv: Sort display modes.
405 winex11.drv: Move broken NVIDIA driver detection into a function.
406 winex11.drv: Add set_screen_size() helper.
407 winex11.drv: Add XRandR 1.4 display settings handler.
408 winex11.drv: Remove XRandR 1.2 display settings handler.
409 winex11.drv: Support automatic display position adjustment.
410 winex11.drv: Support detaching adapters.
411 winex11.drv: Migrate XRandR 1.0 display settings handler to a new interface.
412 winex11.drv: Migrate XVidMode display settings handler to a new interface.
413 winex11.drv: Migrate NoRes display settings handler to a new interface.
414 winex11.drv: Remove the old display settings handler interface.
417 windowscodecs/tests: Add more RGB images for DDS tests.
418 windowscodecs: Add more supported DXGI formats for DDS decoder. And return the actual formats for uncompressed DDS images.
419 windowscodecs/tests: Add tests for DDS images with fourCC which are also uncompressed.
420 windowscodecs: Introduce is_compressed(). And fix some format checks.
421 windowscodecs: Add more formats to get_bytes_per_block_from_format().
422 windowscodecs/tests: Add tests for cube maps.
423 windowscodecs: Add support for decoding cube maps.
424 windowscodecs/tests: Remove the test data in test_dds_decoder_initialize().
425 windowscodecs/tests: Simplify init_decoder().
426 windowscodecs/tests: Rename test_dds_bgr565 to test_dds_rgb565.
427 windowscodecs/tests: Add tests for alpha and luminance image.
428 windowscodecs/tests: Add more compressed test DDS images.
429 windowscodecs: Fix alpha mode of DXT3 and DXT5 image.