1 The Wine development release 3.13 is now available.
3 What's new in this release (see below for details):
4 - Vulkan support on macOS using MoltenVK.
5 - Initial support for performance data in the registry.
6 - Mono engine updated with some bug fixes.
7 - Support for fetching BIOS information on Linux.
8 - GnuTLS also used on macOS when available.
9 - Improvements in the standard Task Dialog.
12 The source is available from the following locations:
14 https://dl.winehq.org/wine/source/3.x/wine-3.13.tar.xz
15 http://mirrors.ibiblio.org/wine/source/3.x/wine-3.13.tar.xz
17 Binary packages for various distributions will be available from:
19 https://www.winehq.org/download
21 You will find documentation on https://www.winehq.org/documentation
23 You can also get the current source directly from the git
24 repository. Check https://www.winehq.org/git for details.
26 Wine is available thanks to the work of many people. See the file
27 AUTHORS in the distribution for the complete list.
29 ----------------------------------------------------------------
31 Bugs fixed in 3.13 (total 28):
33 5657 EVE Online reports VM Size as 0 while on Windows it reports the memory usage (NtQueryInformationProcess ProcessVmCounters info class: actual value for 'PagefileUsage' required)
34 18734 DlgDirList(DDL_DRIVES|DDL_DIRECTORY) on 16-bits displays files on listbox in Windows but not Wine.
35 24374 Driller crashes in process PE entry point due to Wine's mis-align workaround for 32-bit entry point asm wrapper (MoleBox Ultra v4.x)
36 30141 1848 (strategy game) becomes unresponsive after the first mouse click
37 31829 Ad Astra fails to start when music enabled (MThd chunk support missing)
38 35928 Crash handlers/debuggers fail to display user-interface when invoked for crashing (non-interactive) service processes (inherited Wine service window station/desktop)
39 39566 Missing player model on Raiden III
40 40742 cmd.exe: buffer overflow while parsing qualifiers
41 42304 Caladrius Blaze, Raiden IV: Overkill show black screen on title menu (needs native vcrun2013)
42 42669 SolveigMM Video Splitter Business Edition v6.1: Crashes inside gdi32.GetCharacterPlacementW
43 43642 Internet Download Manager TDI Driver 'idmtdi.sys' crashes on unimplemented function ntoskrnl.exe.IoReleaseRemoveLockAndWaitEx
44 43759 Adobe Lightroom 6 doesn't start (runtime error)
45 44305 GetSystemFirmwareTable() API returns empty SMBIOS records on Ubuntu 16.04 x86_64
46 44952 cmd.exe skips statements after if statement inside for loop
47 45067 UNORM/SNORM immediate constants not supported for UAV stores (Claybook, Just Cause 3)
48 45095 Planetside 2 needs SPI_GETAUDIODESCRIPTION SystemParametersInfo action support
49 45274 Multiple applications crash on unimplemented function msvcp140.dll.?_Syserror_map@std@@YAPEBDH@Z (Native Instruments Traktor Pro 2)
50 45292 SuperTux 0.5.1 does not start
51 45295 toolbag 3.x crashes on unimplemented function api-ms-win-crt-runtime-l1-1-0.dll._crt_at_quick_exit
52 45333 Add diagnostic 'mscoree.dll.CorIsLatestSvc' stub (NGEN service) to hint at broken Microsoft .NET Frameworks installation (Wine-Mono not uninstalled and/or 'mscoree.dll' placeholders not removed prior install)
53 45370 redefinition of typedef 'DWRITE_GLYPH_RUN_DESCRIPTION'
54 45378 vSphere 5.5 client 'hcmon.sys' driver crashes on unimplemented function ntoskrnl.exe.IoUnregisterPlugPlayNotification
55 45393 TextureCookerService.exe (part of ArcGIS Desktop 10.6) needs api-ms-win-crt-stdio-l1-1-0.dll.gets_s
56 45394 Reinstalling ArcGIS Desktop 10.6 calls unimplemented function msvcr120.dll._SetWinRTOutOfMemoryExceptionCallback
57 45428 Crash Bandicoot N. Sane Trilogy (Steam) crashes while entering main menu in ntdll.NtGetContextThread() with NULL context
58 45439 Visual Basic setup toolkit fails to run if path contains a voiced Katakana character.
59 45445 1C:Enterprise 8 platform doesn't install
60 45448 vSphere 5.5 client 'hcmon.sys' driver crashes on unimplemented function ntoskrnl.exe.KeFlushQueuedDpcs
62 ----------------------------------------------------------------
67 winmm: Don't allow to set time division property while playing.
68 winmm: Preserve fractions in microseconds to compensate rounding errors.
69 winmm: Use microsecond unit in MIDI stream position variable to simplify the code.
70 winmm/tests: Add more MIDI stream position tests.
71 winmm: Make TIME_TICKS position continuous.
72 winmm: Support TIME_MIDI position in MIDI stream.
73 kernel32/tests: Add more LCMapString tests.
74 kernel32: Fix LCMapString(LCMAP_HALFWIDTH) in some cases.
77 ole32: Return IUnknown from GITCF_CreateInstance if requested.
78 ntdll/tests: Add SystemFirmwareTableInformation tests.
79 kernel32/tests: Add GetSystemFirmwareTable tests.
80 ntdll: Return BIOS info from NtQuerySystemInformation on Linux.
81 kernel32: Connect GetSystemFirmwareTable to NtQuerySystemInformation.
82 ntdll: Return system info from NtQuerySystemInformation on Linux.
83 ntdll: Return board info from NtQuerySystemInformation on Linux.
84 ntdll: Return chassis info from NtQuerySystemInformation on Linux.
85 winevulkan: Correct spelling of "of" in a comment.
87 Alex Villacís Lasso (1):
88 user.exe16: Fix handling of DDL_DRIVES flag in DlgDirList.
90 Alexandre Julliard (13):
91 server: Store the surface rectangle in the server.
92 server: Clip visible region to the surface rectangle instead of the desktop.
93 server: Return the surface rect as top clipping rect.
94 user32: Remove FIXMEs from physical<->logical mapping functions.
95 oleaut32: Remove unnecessary consts.
96 user32: Return the full MINMAXINFO data from WINPOS_GetMinMaxInfo().
97 user32: Retrieve the screen metrics from the monitor information.
98 user32: Move monitor functions to sysparams.c.
99 user32: Implement monitor rectangle filtering on the user32 side.
100 user32: Take DPI awareness into account in GetDpiForMonitorInternal().
101 user32: Fetch client and window rectangles in a single call.
102 user32: Make the MonitorFromRect() argument const.
103 winedump: Print the imports thunk address also for 64-bit.
105 Alistair Leslie-Hughes (1):
106 include: Add more DSOP defines.
109 winemac: Implement Vulkan driver on top of MoltenVK.
112 po: Update Ukrainian translation.
115 winedbg: Check for visible window station before displaying crash dialog.
118 po: Update Lithuanian translation.
119 po: Update Lithuanian translation.
122 ntoskrnl.exe: Add a stub for KeFlushQueuedDpcs.
123 ntoskrnl.exe: Add IoReleaseRemoveLockAndWaitEx stub.
126 shell32: Don't use Carbon on Mac OS to find the Trash.
129 msvcr110/tests: Add GetNumberOfVirtualProcessors tests.
130 msvcr110: Create current scheduler in _CurrentScheduler::_GetNumberOfVirtualProcessors.
131 gdi32/tests: Add test for clipped polygon.
132 gdi32: Update edgetable limits with top and bottom.
133 msvcr110: Create current scheduler in _CurrentScheduler::_Id.
135 Detlef Riekenberg (1):
136 winhttp/tests: Skip the tests when we encounter a failure.
138 Dmitry Timoshkov (16):
139 winedump: Correctly declare the array of segments.
140 winedump: Avoid sign extension in tlb_read_short().
141 winedump: Stop prepending every line of information with an offset.
142 winedump: Consistently print hex numbers with leading zeros and 'h' suffix.
143 winedump: Fix version printing.
144 winedump: Add print_string() helper.
145 winedump: Use common binary dumper for typelib.
146 winedump: Add support for SLTG typelibs.
147 advapi32/tests: Add more tests for performance counters.
148 include: Add more definitions for performance counters.
149 winspool: Add performance counters service stubs.
150 advapi32: Add initial support for querying performance counters data.
151 advapi32: Performance providers' Open() expects to see the configured name as its parameter.
152 advapi32: If the query is not specified the default query is "Global".
153 advapi32: Read the configured object list for the performance provider.
154 kerberos: SpInstanceInit() doesn't need a special implementation.
157 user32/menu: Release menu in HiliteMenuItem() to avoid deadlock.
158 wrc: Don't crash when parsing COMBOBOX element without style.
161 msi: Use msi_get_package_code in msi_publish_product_properties.
162 bcrypt: Move GnuTLS support to a new file.
163 bcrypt: Move macOS support to a new file.
164 bcrypt: Default to building with GnuTLS support on macOS, if present.
165 bcrypt: Move the ASN1 buffer functions to gnutls.c.
168 include: Avoid redefining the DWRITE_GLYPH_RUN_DESCRIPTION typedef.
171 regedit: Remove array already present in main.h.
172 regedit: Don't check if heap_xalloc() succeeded in the caller.
173 regedit: Free allocated memory after calling GetValueName().
174 regedit: Always display DWORD values in hexadecimal when initializing the editor dialog.
175 regedit: Replace Hungarian notation used with struct edit_params members.
176 regedit: Do not overwrite a hex data type with REG_BINARY when modifying a value.
178 Huw D. M. Davies (1):
179 winspool: Remove ordinals from the performance functions.
182 mshtml: Add IHTMLPerformance::navigation property implementation.
183 mshtml: Add IHTMLPerformance::timing property implementation.
184 mshtml: Expose window.performance property to scripts.
185 mshtml: Use DWORD for event id argument in node-specific event handlers.
186 winegcc: Check also for unsuffixed lib/ dir in get_lib_dir.
187 wine/vulkan.h: Properly declare enum values that use value attribute in spec.
190 riched20/tests: Rewrite tests for ITextServices_TxGetNaturalSize().
191 riched20: Some cleanup for CHARFORMAT convertor functions.
194 cmd: Fix handle leak in if exists.
195 cmd: Handle special case tokens=* in for /f.
196 cmd: Expand the storage space for qualifiers.
197 cmd: Fix statements after 'else' inside for loops.
199 Johannes Brandstätter (1):
200 ntdll: Check for NULL context in NtGetContextThread.
203 po: Update German translation.
206 winevulkan: Generate code for supported core commands.
207 winevulkan: Pull in required types into Vulkan header.
208 winevulkan: Pull in 1.1 structures and enums into Vulkan header.
209 winevulkan: Convert VkDeviceGroupDeviceCreateInfo.
210 winevulkan: Implement VK_KHR_device_group_creation.
211 vulkan-1/tests: Introduce for_each_device() helper.
212 vulkan-1/tests: Add test for VK_KHR_device_group_creation.
213 winevulkan: Add TRACE() for created devices.
214 winevulkan: Allow running make_vulkan from any working directory.
215 winevulkan: Add driver functions for VK_KHR_device_group.
216 winevulkan: Implement VK_KHR_device_group.
217 winevulkan: Implement vkEnumerateInstanceVersion().
218 winevulkan: Use WINE_VK_VERSION to limit supported features.
219 winevulkan: Downgrade ERR() to WARN() in wine_vkEnumerateInstanceExtensionProperties().
220 winevulkan: Implement vkEnumerateInstanceLayerProperties() in ICD.
221 vulkan-1: Forward all functions directly to winevulkan.
222 wined3d: Separate feature level checks from shader model checks.
223 wined3d: Take into account all shader stages when determining feature level.
224 d3d11/tests: Add more tests for multisample resolve.
225 winevulkan: Remove vkEnumerateInstanceVersion() from Vulkan driver functions.
226 winevulkan: Remove vkAcquireNextImageKHR() from Vulkan driver functions.
227 winemac: Add missing entries to vulkan_funcs.
228 winevulkan: Generate get_vulkan_driver_*_proc_addr() helper functions.
229 winevulkan: Avoid FIXMEs for unsupported Vulkan functions.
230 vulkan-1/tests: Enumerate queue families.
231 d3d10core/tests: Add more tests for multisample resolve.
232 wined3d: Add GPU information for AMD Radeon RX Vega.
233 wined3d: Add GPU information for Intel HD Graphics 630.
236 winemac: Extract a new class, WineBaseView, to be the superclass of WineContentView and future view classes.
237 winemac: Implement WineMetalView class.
238 winemac: Don't change the window's color space.
239 winemac: Interpret Windows bitmap data, especially window surfaces, as sRGB.
240 winemac: Disable macOS's App Nap energy-saving feature by default for Wine GUI processes.
241 dbghelp: Fix loading of Mach-O load commands for 64-bit binaries.
244 mscoree: Add stub for CorIsLatestSvc to hint user at broken .NET installation.
247 ntdll/tests: Tests for RtlIpv6StringToAddressEx.
248 ntdll/tests: Tests for RtlIpv4StringToAddressEx.
249 ntdll/tests: Add tests for RtlIpv6AddressToString and RtlIpv6AddressToStringEx.
252 msvcp90: Use the ARRAY_SIZE() macro.
255 browseui: Implement IProgressDialog::SetAnimation.
256 gdi32: Treat lpResults as optional in GetCharacterPlacement.
257 ole32: Support reading VT_BOOL, VT_R8 and VT_I8 into propery storage.
259 Michael Stefaniuc (44):
260 riched20: Avoid an ARRAY_SIZE-like macro.
261 winmm: Avoid an ARRAY_SIZE-like macro.
262 jscript: Use the ARRAY_SIZE() macro.
263 comctl32: Remove redundant NULL checks before Free().
264 atl: Use the ARRAY_SIZE() macro.
265 mlang: Use the ARRAY_SIZE() macro.
266 pdh: Use the ARRAY_SIZE() macro.
267 dmime: Simplify the track list parser.
268 dmime: Reimplement the track form parser.
269 imaadp32.acm: Avoid ARRAY_SIZE-like macros.
270 l3codeca.acm: Avoid ARRAY_SIZE-like macros.
271 msacm32: Avoid an ARRAY_SIZE-like macro.
272 dbghelp: Use the ARRAY_SIZE() macro.
273 msadp32.acm: Avoid ARRAY_SIZE-like macros.
274 msg711.acm: Avoid ARRAY_SIZE-like macros.
275 msgsm32.acm: Avoid an ARRAY_SIZE-like macro.
276 dxerr9: Use the ARRAY_SIZE() macro.
277 wineconsole: Use the ARRAY_SIZE() macro.
278 xcopy: Use the ARRAY_SIZE() macro.
279 winemine: Use the ARRAY_SIZE() macro.
280 wscript: Use the ARRAY_SIZE() macro.
281 winefile: Use the ARRAY_SIZE() macro.
282 dxerr8: Use the ARRAY_SIZE() macro.
283 wmic: Use the ARRAY_SIZE() macro.
284 start: Use the ARRAY_SIZE() macro.
285 dmusic: Sync up the dmobject.[ch] files.
286 dmusic: Reimplement ParseDescriptor() for DirectMusicCollection.
287 dmband: Reimplement ParseDescriptor() for DirectMusicBand.
288 dmcompos: Reimplement ParseDescriptor() for DirectMusicChordMap.
289 dmloader: Reimplement ParseDescriptor() for DirectMusicContainer.
290 dmstyle: Reimplement ParseDescriptor() for DirectMusicStyle.
291 dmime: Don't crash when DMSegment loads a MIDI file.
292 ole32: Use the ARRAY_SIZE() macro.
293 quartz: Use the ARRAY_SIZE() macro.
294 ntdll/tests: Avoid temp variables holding ARRAY_SIZE results.
295 oledlg: Use the ARRAY_SIZE() macro.
296 dswave: Reimplement ParseDescriptor() for DirectSoundWave.
297 oleacc: Use the ARRAY_SIZE() macro.
298 oledb32: Use the ARRAY_SIZE() macro.
299 secur32: Use the ARRAY_SIZE() macro.
300 sxs: Use the ARRAY_SIZE() macro.
301 wintrust: Use the ARRAY_SIZE() macro.
302 wbemdisp: Use the ARRAY_SIZE() macro.
303 vbscript: Use the ARRAY_SIZE() macro.
305 Michał Janiszewski (2):
306 ntdll/tests: Add RtlFindNextForwardRun{Set, Clear} tests.
307 ntdll: Prevent Find{Set, Clear}Run from reading past the end of bitmap.
310 po: Update Simplified Chinese translation.
313 crypt32: Fix key buffer leak (Coverity).
314 po: Update Russian translation.
315 user32/button: Use per-window dpi settings.
316 comctl32/button: Use per-window dpi settings.
317 comctl32/taskdialog: Use per-window dpi settings.
318 comctl32/trackbar: Scale thumb size with resolution.
319 po: Update Russian translation.
322 msvcp120: Fix concurrent_vector_int_dtor helper.
323 msvcp120: Test values returned by _Concurrent_vector_base_v4::_Internal_clear.
324 inetcpl.cpl: Add support for setting automatic proxy configuration.
325 ucrtbase: Don't fail if path ends with '\' character in stat functions family.
326 msi: Fix condition evaluation when comparing literal and integer.
327 msvcr80: Add gets_s implementation.
328 include/msvcrt: Add POSIX error codes to errno.h.
329 msvcp110: Add _Syserror_map implementation.
330 msvcp90: Don't set failbit in basic_istream::tellg.
331 msvcp60: Don't set failbit in basic_istream::tellg.
333 Roderick Colenbrander (1):
334 winevulkan: Implement vkGetDeviceQueue2.
337 windowscodecs: Fix an MSVC warning about get_decoder_info().
338 guiddef.h: REF* types do not depend on CINTERFACE.
339 shell32: Fix 2 MSVC warnings about flags.
342 msvcp140: Implement _Temp_get.
343 msvcp120: Tr2::_Rename_wchar NULL ptr handling differs from tr2::_Rename.
344 msvcp140: Export _Rename.
347 mscoree: Use upgrade code to find installed Wine Mono version.
348 appwiz.cpl: Update Wine Mono to 4.7.3.
351 msi: Avoid starting the RPC server more than once for a given package.
352 msi: Create the custom action thread inside msiexec.exe.
353 msi: Avoid connecting to the RPC server more than once.
354 msi: Reuse the custom action server process where possible.
355 kernel32/tests: Load GetSystemFirmwareTable() dynamically.
358 user32/tests: Fix a memory leak.
359 user32: Send notification for the focused button in IsDialogMessage().
360 user32: Fix menu item rectangle calculation in GetMenuItemRect().
361 user32/tests: Sleep when sending mouse clicks too fast.
362 user32: Return FALSE for invalid handle in IsWindowEnabled().
363 comctl32/taskdialog: Use window handle to identify control internally.
364 comctl32/taskdialog: Add support for expanded information.
365 comctl32/taskdialog: Add support for expando button.
366 comctl32/taskdialog: Add support for verification box.
367 comctl32/taskdialog: Add support for footer icon.
368 comctl32/taskdialog: Add support for footer text.