1 The Wine development release 5.15 is now available.
3 What's new in this release (see below for details):
4 - Initial implementation of the XACT Engine libraries.
5 - Beginnings of a math library in MSVCRT based on Musl.
6 - Still more restructuration of the console support.
7 - Direct Input performance improvements.
8 - Exception handling fixes on x86-64.
11 The source is available from the following locations:
13 https://dl.winehq.org/wine/source/5.x/wine-5.15.tar.xz
14 http://mirrors.ibiblio.org/wine/source/5.x/wine-5.15.tar.xz
16 Binary packages for various distributions will be available from:
18 https://www.winehq.org/download
20 You will find documentation on https://www.winehq.org/documentation
22 You can also get the current source directly from the git
23 repository. Check https://www.winehq.org/git for details.
25 Wine is available thanks to the work of many people. See the file
26 AUTHORS in the distribution for the complete list.
28 ----------------------------------------------------------------
30 Bugs fixed in 5.15 (total 27):
32 27207 splayer auto quit while open a mp3 file
33 31476 Bully Scholarship Edition: 'no DirectX 9.0c compatible sound card' on start, needs xactengine3_1.dll et al.
34 34263 Framebuffer read-before-write causes graphical glitches
35 38615 DSA: Drakensang Demo fails to start, reports 'XACT Error after IXACTEngine::Initialize: unknown error code - maybe not an XACT error'
36 40163 Racedriver GRID: freeze in the menu
37 41030 Pac-Man Museum (Steam) crashes on start, needs '{bcc782bc-6492-4c22-8c35-f5d72fe73c6e}' xactengine3_7.dll
38 41045 Captain Morgane crashes on start: needs clsid '{0977d092-2d95-4e43-8d42-9ddcc2545ed5}' xactengine3_4.dll
39 41738 Cloning and releasing an IStream frees the HGLOBAL memory
40 43153 Gothic 1.0 from Steam freezes in new game on phrase "I'm Diego"
41 44059 Worms World Party Remastered (GOG version) crashes at launch in clean wine prefix version 2.21 and 2.22
42 44306 Visual Novel "A Clockwork Ley-Line: The Borderline of Dusk" doesn't work with d3d9
43 45700 Call of Duty WWII sound issues
44 48684 "BlazBlue: Calamity Trigger" class {94c1affa-66e7-4961-9521-cfdef3128d4f} not registered
45 49152 wine-mono 5.0.0 breaks rendering for disabled buttons
46 49325 Kea Colorinbook crashes:
47 49477 Some api-ms-win-core-* are not found by Forza Horizon 4
48 49518 Grim Dawn leaks shared memory after upgrade to Wine 5.12
49 49559 winevdm.exe crashes when running 16-bit installers (non-PE build only)
50 49593 inconsistent return code when executable is not found
51 49609 wine-staging-5.12 - Elite Dangerous launcher broken
52 49638 get-pip.py installer fails with "Access denied"
53 49653 Pattern Maker for Cross Stitch always displays measurement in imperial system
54 49656 SAP GUI - Ws2_32.getaddrinfo crashes with non-standard service (/etc/services)
55 49662 Wine Internet Explorer crashes on https://[2600::]/
56 49664 FrostyModManager v1.0.5.9 crashes on launch
57 49666 Red Dead Redemption 2 requires HEAP flags offset to match Windows
58 49685 Gigabyte "EasyTune" service crashes in wbemprox
60 ----------------------------------------------------------------
65 user32: Fix wsprintfA's buffer usage when using %S.
68 urlmon: Fix null pointer dereference in process_hook_section (Coverity).
69 urlmon: Call parse_host in combine_uri to set related parse_data fields.
71 Alexandre Julliard (10):
72 winebuild: Always use DllMain as entry point for the 32-bit side of a 16-bit module.
73 ntdll: Fix wcsncpy() implementation now that length is unsigned.
74 ntdll: Move the critical section fallback code out of the Unix library.
75 ntdll: Avoid importing RtlEnterCriticalSection/RtlLeaveCriticalSection from the Unix side.
76 ntdll: Implement KiUserApcDispatcher().
77 ntdll: Use KiUserApcDispatcher() to call user APCs.
78 kernelbase: Fix console ioctl output sizes.
79 ntdll/tests: Run exception tests under the debugger on all platforms.
80 ntdll: Unwind the syscall frame when calling KiUserExceptionDispatcher().
81 ntdll: Unwind the syscall frame when calling KiRaiseUserExceptionDispatcher().
83 Alistair Leslie-Hughes (14):
84 xactengine3_7: Return valid HRESULT from IXACT3Engine Initialize.
85 include: Define all CLSID/IID_IXACT3Engine versions.
86 xactengine3_7: Use CLSID defined from global header.
87 xactengine3_6: New DLL.
88 xactengine3_5: New DLL.
89 xactengine3_4: New DLL.
90 xactengine3_3: New DLL.
91 xactengine3_2: New DLL.
92 xactengine3_1: New DLL.
93 xactengine3_0: New DLL.
94 xactengine3_7: Trace FAudio version being used.
95 xactengine3_7: Don't cast interface pointers.
96 xactengine3_7: Correct callback to windows function.
97 dmime: Parse TimeSig track data.
100 po: Update Lithuanian translation.
103 ntdll: Use unique handle numbers in generated SMBIOS tables.
104 ntdll: End generated SMBIOS tables with the end-of-table structure.
105 ntdll: Add additional fields to generated SMBIOS baseboard info table.
106 ntdll: Add additional fields to generated SMBIOS chassis info table.
107 ntdll: Generate "system boot information" SMBIOS table.
108 include/msvcrt: Add stdbool.h header.
109 ntdll: Pad HEAP structure so 'flags' offset matches recent Windows.
112 wininet: Move INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT handling to helper.
113 ntdll/tests: Handle 32 cores.
116 ntoskrnl.exe: Implement ObOpenObjectByName.
117 ntoskrnl.exe: Implement KeReadStateEvent.
118 ntoskrnl.exe: Implement KeInitializeApc.
119 ntoskrnl.exe: Add stubs for Ke(/Test)AlertThread.
122 vbscript: Support conversion to string in InStr.
123 vbscript: Return correct error for null start in InStr and more tests.
124 vbscript: Implement case insensitive search in InStrRev function.
126 Dmitry Timoshkov (5):
127 ieframe: Deactivate UI when processing IOleObject::DoVerb(OLEIVERB_HIDE).
128 ole32/tests: Add tests for HGLOBAL based IStream::Clone.
129 ole32: Allow SetSize to move a fixed memory block.
130 mshtml: Add trace to IOleCommandTarget::Exec().
131 ieframe: When activating UI also activate the embedded document.
134 mscoree: Use builtin XNA implementation by default.
136 Evgeny Litvinenko (1):
137 ntdll: Add check for totalram, mem_unit in struct sysinfo.
140 wine.inf: Map the Intl section of win.ini to the registry.
143 combase: Fix the trailing linefeed of a TRACE().
145 Gabriel Ivăncescu (15):
146 iphlpapi: Update comment for SOCK_DGRAM since Linux also supports it from 3.0.
147 msscript.ocx: Implement the ScriptModule enumerator.
148 msscript.ocx: Move ScriptControl::Run implementation into a helper.
149 msscript.ocx: Implement ScriptModule::Run.
150 msscript.ocx: Implement ScriptModule::get_CodeObject.
151 msscript.ocx: Implement ScriptControl::get_CodeObject.
152 msscript.ocx: Add IScriptProcedureCollection stub implementation.
153 msscript.ocx/tests: Add initial tests for Script Procedures.
154 msscript.ocx: Implement ScriptProcedureCollection::get_Count.
155 msscript.ocx: Uncache the module objects when adding new code.
156 msscript.ocx: Implement ScriptProcedureCollection::get_Item.
157 msscript.ocx: Cache the procedures obtained from the ScriptProcedureCollection.
158 msscript.ocx: Implement ScriptProcedure::get_Name.
159 msscript.ocx: Implement ScriptProcedure::get_NumArgs.
160 msscript.ocx: Implement ScriptProcedure::get_HasReturnValue.
163 amstream/tests: Split test_IDirectDrawStreamSample().
164 amstream: Return E_INVALIDARG when a rect but no surface is passed in IDirectDrawMediaStream::CreateSample().
165 amstream: Increase parent IAMMediaStream refcount in IDirectDrawMediaStream::CreateSample().
166 configure: Add an option to disable QuickTime support.
167 wbemprox: Accept 0 and WBEM_FLAG_ALWAYS | WBEM_MASK_CONDITION_ORIGIN as flags in IWbemClassObject::GetNames().
168 wbemprox: Set obj to NULL on error in get_object().
169 wbemprox: Don't crash in IWbemClassObject::Put() when called with empty class object.
172 ws2_32: Avoid a crash in WS_getaddrinfo when the specified service doesn't exist.
174 Huw D. M. Davies (7):
175 maintainers: Add combase to the OLE RPC section.
176 ole32: Add a structure to hold memory block information.
177 ole32: Add a ref-count to the handle structure.
178 ole32: Add a constructor helper.
179 ole32: Allow Clone to access the original memory block.
180 ndis.sys: Reinstate the subsystem native option.
181 scsiport.sys: Reinstate the subsystem native option.
184 configure: Build with -mcx16 on x86_64.
185 kernelbase: Add missing consts to ScrollConsoleScreenBuffer declaration.
186 ntdll: Move InterlockedCompareExchange128 support to winnt.h.
187 include: Introduce wincontypes.h.
188 include: Introduce consoleapi.h.
189 include: Add pseudoconsole declarations.
190 kernelbase: Add pseudoconsole stubs.
191 urlmon: Remove unused flags argument from parse_host.
192 include: Add missing console mode defines.
193 kernel32/tests: Fix ReadConsoleOutputW tests on Windows 8.
194 kernel32/tests: Disable ENABLE_VIRTUAL_TERMINAL_PROCESSING mode in testWriteNotWrappedProcessed.
195 kernel32/tests: Add an option to test current console.
196 kernel32/tests: Add console title tests.
197 kernelbase: Close PEB ConsoleHandle in FreeConsole.
198 kernel32: Set PEB console handle in AllocConsole.
199 kernelbase: Close PEB ConsoleHandle in AttachConsole.
200 server: Pass console handle to the child process.
201 kernel32: Set PEB ConsoleHandle for bare console.
202 kernel32: Use PEB console handle in CONSOLE_HandleCtrlC to check console connection.
203 kernelbase: Move CONTROL_C_EXIT handler to kernelbase.
204 kernelbase: Use PEB ConsoleHandle to check for console connection in AllocConsole.
205 kernelbase: Use IOCTL_CONDRV_GET_INPUT_INFO in GetConsoleCP.
206 kernelbase: Use IOCTL_CONDRV_GET_INPUT_INFO in GetConsoleOutputCP.
207 kernelbase: Use IOCTL_CONDRV_GET_TITLE in GetConsoleTitleW.
208 kernel32: Use IOCTL_CONDRV_GET_INPUT_INFO in GetConsoleWindow.
209 kernel32: Use IOCTL_CONDRV_GET_INPUT_INFO in CONSOLE_GetNumHistoryEntries.
210 server: Remove no longer used get_console_input_info.
213 d3dcompiler: Add D3D_COMPILE_STANDARD_FILE_INCLUDE support for D3DCompile2().
214 d3dcompiler: Implement D3DCompileFromFile().
215 d3dx11: Partially implement D3DX11CompileFromFile{A, W}().
218 setupapi/tests: Change return values from coinst functions.
219 setupapi/tests: Add error tests for SetupDiDestroyDeviceInfoList.
220 setupapi: Clear error on SetupDiDestroyDeviceInfoList success.
221 gdiplus: Avoid a few unnecessary calculations for arc2polybezier.
224 po: Update German translation.
226 Liam Middlebrook (2):
227 winevulkan: Harden calibrated_timestamps failure paths.
228 winevulkan: Update to VK spec version 1.2.149.
231 api-ms-win-core-memory-l1-1-3: Add dll.
232 api-ms-win-core-file-fromapp-l1-1-0: Add dll.
233 api-ms-win-core-file-ansi-l2-1-0: Add dll.
236 ntdll: Remove a stray duplicate instruction.
237 ntdll: Only call putenv() if we are going to call exec().
238 tools: Upgrade the config.guess/config.sub scripts.
239 configure, msvcrt: Check for the finite() function just like finitef().
242 fsutil: Print out usage message.
243 fsutil: Add support for creating hardlinks.
245 Michael Stefaniuc (2):
246 dmime: Constify the chunk parameter of stream_skip_chunk().
247 dmime: Simplify loading/storing of the Tempo Track data.
249 Mikołaj Zalewski (1):
250 ntdll: Return from Thumb to ARM mode after assembling raise_func_trampoline_thumb.
253 kernelbase/tests: Add test for Sleep(1).
256 combase: Mark 64-bit only stubs as such.
257 combase: Move HBRUSH marshalling functions.
258 combase: Move CLIPFORMAT marshalling functions.
259 combase: Move HBITMAP marshalling functions.
260 combase: Move HPALETTE marshalling stubs.
261 combase: Move HGLOBAL marshalling functions.
262 combase: Move HACCEL marshalling functions.
263 combase: Move CreateErrorInfo() function.
264 combase: Move IMalloc/IMallocSpy functionality.
265 ole32: Move IsValidInterface() to another file.
266 combase: Move FreePropVariantArray() and PropVariantClear().
267 combase: Move PropVariantCopy().
268 combase: Move CoFileTimeNow().
269 combase: Move CoCreateGuid().
270 combase: Move CoQueryProxyBlanket().
271 combase: Move CoSetProxyBlanket().
272 combase: Move CoCopyProxy().
273 combase: Move CoQueryClientBlanket().
274 combase: Move CoImpersonateClient().
275 combase: Move CoRevertToSelf().
276 combase: Add CoCreateErrorInfo() as an alias for CreateErrorInfo().
277 combase: Move CoGetObjectContext().
278 combase: Move CoGetCallState().
279 combase: Move CoGetActivationState().
280 combase: Move CoGetInstanceFromFile().
281 combase: Move CoGetInstanceFromIStorage().
282 combase: Move CoCreateInstance().
283 combase: Move CoGetTreatAsClass().
284 combase: Move ProgIDFromCLSID().
285 combase: Move CLSIDFromProgID().
286 combase: Move CLSIDFromString().
287 combase: Move IIDFromString().
288 combase: Move StringFromCLSID().
289 combase: Move StringFromGUID2().
290 combase: Move CoGetDefaultContext().
291 combase: Move CoMarshalHresult().
292 combase: Move CoUnmarshalHresult().
293 combase: Move CoGetInterfaceAndReleaseStream().
294 combase: Move CoMarshalInterThreadInterfaceInStream().
295 combase: Move CoCreateFreeThreadedMarshaler().
296 combase: Move CLSIDFromProgIDEx().
297 ole32: Reduce duplication for global interface table factory.
298 ole32: Expose ManualResetEvent as registered class.
299 ole32: Remove registration for Global Interface Table class.
300 ole32: Move more built-in classes to CoGetClassObject().
301 ole32: Remove now unused helper.
302 ole32: Remove initialized state test in CoCreateInstanceEx().
303 combase: Move CoCreateInstanceEx().
304 combase: Move CoFreeUnusedLibraries().
305 shell32: Silence Destination List QueryInterface() failure message.
306 include: Move fundamental ORPC types to separate private header.
307 combase: Move CoGetMarshalSizeMax().
308 combase: Move CoMarshalInterface().
309 combase: Move CoInitializeSecurity().
312 include: Add d3d12 reflection structures.
313 include: Define d3d12 shader reflection interfaces.
314 d3dcompiler: Parse register space and range id for sm51 in d3dcompiler_parse_rdef().
315 d3dcompiler: Fail parsing reflection data for sm51 in versions below 47.
316 d3dcompiler/tests: Test bound resources' reflection for sm5.1.
317 ntdll/tests: Always remove hook trampoline in test_kiuserexceptiondispatcher().
318 ntdll: Support UWOP_PUSH_MACHFRAME opcode in RtlVirtualUnwind() on x64.
319 ntdll: Fix unwind from call_consolidate_callback() for PE build on x64.
320 ntdll: Support nested exceptions on x64.
321 ntdll: Don't mind epilog in RtlVirtualUnwind() in case of zero op count on x64.
324 ucrtbase: Support overriding return value in _matherr.
325 msvcrt: Import sqrtf from musl.
326 msvcrt: Import sqrt from musl.
327 msvcrt: Return error on invalid character in mbstowcs.
328 msvcrt: Avoid allocations in _write implementation.
329 msvcrt: Use correct code page in _write when outputing to console.
330 msvcrt: Import acosf from musl.
331 msvcrt: Import acos from musl.
332 ucrtbase: Fix precision handling in %#g when printing 0.
333 ucrtbase: Fix away from 0 rounding in %a format.
334 ucrtbase: Support _CRT_INTERNAL_PRINTF_STANDARD_ROUNDING flag in printf.
335 msvcrt: Import asinf from musl.
336 msvcrt: Import asin from musl.
337 msvcrt: Import atan2f from musl.
338 msvcrt: Import atan2 from musl.
339 msvcrt: Import atanf from musl.
340 msvcrt: Import atan from musl.
343 xaudio2_9: Use new FAudioCreateReverb9 interface.
344 ntdll/tests: Fix w2008 debugger test results.
345 ntdll/tests: Add broken FltSave results for w2008 / w8.
346 ntdll/tests: Run RtlRaiseException tests on x86_64.
347 wbemprox: Use empty strings instead of NULL.
348 user32/tests: Add basic GetRegisteredRawInputDevices tests.
349 user32: Implement GetRegisteredRawInputDevices.
350 dinput8/tests: Add DISCL_EXCLUSIVE / rawinput test.
351 dinput8: Add support for rawinput based devices.
352 dinput8: Use rawinput interface for mouse device.
353 dinput8: Stop using LL hooks for mouse devices.
356 winapi: Use $cwd variable instead of pwd command.
357 winapi_test: Horizontally align TEST_TYPE_SIGNED() parameter.
358 winapi_test: Restore horizontal alignment of macro defines.
359 winapi_test: PshpackN.h can only be 1/2/4/8.
360 winapi_test: Escape parentheses in regexp, Allow spaces around them.
361 winapi_test: '* long *' is 4 bytes, not pointer size, on Windows.
362 winapi_test: Minor $pointer_size check consistency tweak.
363 winapi_test: Update generated.c files.
366 gdiplus/tests: Add metafile null frame rect GDI/GDI+ interop test case.
367 gdiplus: Incorporate GDI frame into metafile auto-frame before scaling.
370 ddraw: Thunk to surface1, not surface7 in blt.
371 ddraw: Thunk to surface1, not surface7 in surface_unlock.
372 ddraw: Thunk to surface1, not surface7 in flip.
375 sechost: Free the right variable (Coverity).
376 ntoskrnl.exe/tests: Add a missing argument to an ok call (Coverity).
377 prntvpt: Fix a null check (Coverity).
378 msi: Fix a leak (Coverity).
379 wbemprox: Avoid a use after free (Coverity).
381 Vijay Kiran Kamuju (13):
382 xactengine3_7: Add new dll.
383 xactengine3_7: Implement IXACT3Engine interface.
384 xactengine3_7: Implement IXACT3SoundBank Interface.
385 xactengine3_7: Implement IXACT3Cue Interface.
386 dbghelp: Add xmm and mxcsr register mapping functions for i386.
387 xactengine3_7: Implement IXACT3WaveBank Interface.
388 xactengine3_7: Implement IXACT3Engine::CreateStreamingWaveBank.
389 xactengine3_7: Implement IXACT3Wave interface.
390 xactengine3_7: Implement IXACT3SoundBank::Play function.
391 xactengine3_7: Implement IXACT3WaveBank::Play function.
392 xactengine3_7: Implement IXACT3Engine::RegisterNotification and IXACT3Engine::UnRegisterNotification functions.
393 include: Add missing WAVEBANKENTRY_FLAGS to xact3wb.h.
394 include: Fix the spelling of XACT_WAVE_STREAMING_PARAMETERS in xact3.h.
396 Vladimir Panteleev (1):
397 kernel32/tests: Add more GetEnvironmentVariableA/W tests.
400 Revert "winegstreamer: Check for failure from gst_video_info_set_format().".
401 server: Use a separate object for each opened mailslot device file.
402 msvcrt/tests: Fix some tests on Windows 2003 and earlier.
403 quartz/tests: Fix a test in test_basic_video().
404 dsound: Select the nth effect matching the given CLSID in GetObjectInPath().
405 wbemprox: Return WBEM_E_NOT_FOUND from get_object() if no object is available.
406 d3dcompiler: Iterate through the instruction list in reverse in free_instr_list() (Valgrind).
407 wined3d: Rename wined3d_sm4_immconst_type to wined3d_sm4_dimension.
410 dwmapi: Check NULL parameter in DwmIsCompositionEnabled().
411 gdi32/tests: Zero initialize DEVMODE before passing it to EnumDisplaySettings().
412 user32/tests: Zero initialize DEVMODE before passing it to EnumDisplaySettings().
413 user32: Zero initialize DEVMODE before passing it to EnumDisplaySettings().
414 winex11.drv: Zero initialize DEVMODE before passing it to EnumDisplaySettings().
415 winemac.drv: Zero initialize DEVMODE before passing it to EnumDisplaySettings().
416 explorer: Zero initialize DEVMODE before passing it to EnumDisplaySettings().
417 user32/tests: Remove some todo_wines.
418 user32/tests: Fix a failing test on Windows 10 1909.
421 d3dx10/tests: Add more test images for DDS format.