1 The Wine development release 4.15 is now available.
3 What's new in this release (see below for details):
4 - Initial implementation of the HTTP service.
5 - Stack unwinding support on ARM64.
6 - Better multi-monitor support on macOS.
7 - RichEdit control optimizations.
10 The source is available from the following locations:
12 https://dl.winehq.org/wine/source/4.x/wine-4.15.tar.xz
13 http://mirrors.ibiblio.org/wine/source/4.x/wine-4.15.tar.xz
15 Binary packages for various distributions will be available from:
17 https://www.winehq.org/download
19 You will find documentation on https://www.winehq.org/documentation
21 You can also get the current source directly from the git
22 repository. Check https://www.winehq.org/git for details.
24 Wine is available thanks to the work of many people. See the file
25 AUTHORS in the distribution for the complete list.
27 ----------------------------------------------------------------
29 Bugs fixed in 4.15 (total 28):
31 22383 Dragon Age: Origins - massive flickering when StrictDrawOrdering is disabled
32 33834 user32: multiline edit control renders tabs not correctly using usp10
33 34830 rpcrt4:cstub fails and crashes on Windows 8
34 37781 Multiple Microsoft Redistributable/Component installers running in Windows 7 mode need dummy Windows Update Service (MS .NET Framework 4.5, MS VC++ 2015 Redist)
35 38245 Construct 2 can't create a localhost server (needs implementation of version 1 httpapi request queues)
36 40868 World of Warcraft 7 (Legion expansion beta realm version) client causes a lot of seh:RtlCaptureStackBackTrace stub noise in console
37 41752 Need For Speed Most Wanted 2012 Corrupted Models & Textures in Game
38 42681 Regression: Graphics/Texture no longer render correctly in Reflex Arena
39 43387 valgrind shows several definite leaks in dlls/windowscodecs/tests/metadata.c
40 44958 Epic Games crash reporter needs 'dbgeng.DebugCreate' to support IDebugClient5 interface
41 45420 Titanfall 2 Multiplayer mode stuck on Attempting Connection
42 45843 Battleye's BEDaisy.sys expects memory allocated by ExAllocatePoolWithTag to be executable
43 46315 Vypress Chat 2.1.9 MSI installer crashes without native jscript
44 47035 widl generates typelib file with enums multiply defined
45 47041 wire_marshal attribute ignored and the underlying type is used instead
46 47049 boolean type defined as 'unsigned char' rather than 'char'
47 47050 typedef'd anonymous structs typedef'd names are not used in interface methods
48 47101 Multiple 64-bit game and application crash reporting tools need x86_64 'ntdll.RtlCaptureStackBackTrace' implementation
49 47149 widl generates invalid C headers when user-defined structs also have const typedef'd names
50 47427 Glide wrapper - Configuration buttons misbehaving
51 47436 `winetricks -q dotnet30sp1` fails
52 47442 Quickbooks 2018 installer fails during Amyuni ABS PDF driver installation, reporting 'File not found.' (needs stub 'regini.exe')
53 47494 SuperTux: Fullscreen mode not working on MacOSX (Invalid monitor handle)
54 47523 EverQuest crashes on unimplemented function KERNEL32.dll.EnumSystemFirmwareTables since build Jul 12 2019
55 47563 Sforzando Sample Player works but GUI is blank (unusable)
56 47633 Guild Wars quits silently after the splash screen
57 47636 Multiple games text is upside down (affects Wizard101, Touhou, Unreal Tournament)
58 47661 SwanSoft CNC: Crashes when clicking "tools management" button
60 ----------------------------------------------------------------
65 winex11.drv: Indicate whether the drop point is non-client area.
66 comctl32/tests: Add tests to show no NM_RELEASEDCAPTURE notifications in the updown control.
67 comctl32/updown: Suppress the NM_RELEASEDCAPTURE notification.
68 winemac.drv: Translate the WM_DROPFILES point into client coordinates whenever possible.
69 winemac.drv: Indicate whether the drop point is non-client area.
72 ntdll/tests: Add more tests for RtlIpv4StringToAddress.
74 Alexandre Julliard (27):
75 ntdll: Move some exception definitions to winnt.h.
76 ntdll: Share dynamic exception table functions across platforms.
77 winedump: Add dumping for exception info for ARM64.
78 include: Add support for .seh asm annotations.
79 winecrt0: Add .seh annotations for x86_64.
80 kernel32: Add .seh annotations for x86_64.
81 ntdll: Add .seh annotations for x86_64.
82 oleaut32: Add .seh annotations for x86_64.
83 rpcrt4: Add .seh annotations for x86_64.
84 vcomp: Add .seh annotations for x86_64.
85 msvcrt: Simplify stack layout in __crtCapturePreviousContext().
86 d2d1: Make qsort() callback functions cdecl.
87 d3dx9: Make qsort() callback functions cdecl.
88 dsound: Make a qsort() callback function cdecl.
89 inetmib1: Make bsearch() callback functions cdecl.
90 mfplat: Make bsearch() callback functions cdecl.
91 ntdll: Run signal handlers on the signal stack on ARM64.
92 kernelbase: Implement SetThreadStackGuarantee().
93 ntdll: Take stack guarantee into account when handling stack overflows.
94 Revert "wine/asm.h: Quote stdcall decored symbols."
95 Revert "winebuild: Quote stdcall decored symbols."
96 kernelbase: Comment out DECLSPEC_HOTPATCH on stub functions.
97 ntdll: Implement RtlVirtualUnwind() for ARM64.
98 ntdll: Add a helper function for calling RtlVirtualUnwind() on x86-64.
99 configure: Add support for using an external libunwind.
100 ntdll: Implement stack unwinding on ARM64.
101 mfplat: Fix a GUID name.
103 Alistair Leslie-Hughes (7):
104 include: Add IDirectSoundFX interfaces.
105 include: Add more ListView macros.
106 dbgeng: Support interfaces IDebugClient2-7.
107 dsound: Add missing defines.
108 include: Allow compiling against IDirectSound*8 interfaces.
109 odbccp32: Correct error when driver cannot be found.
110 msi: Don't error when an ODBC Data Source fails to register.
113 twain_32: Add missing debugstr_a.
116 ntdll: Add RtlUnwindEx spec entry for ARM64.
119 mscoree/tests: Mark tests as todo_wine if mono is not available on the current platform.
120 regini: Add stub program.
123 ucrtbase: Add more functions for Star Citizen 3.6.1.
125 Bernhard Übelacker (2):
126 cmd.exe: Command type with multiple files should print filenames to stderr.
127 cmd.exe: Change parsing of the if command to avoid parsing the operators.
130 dinput/tests: Test for correct guidProduct.
131 dinput: Add "PIDVID" guidProduct and use for non-keyboards/mice.
134 hhctrl.ocx: Expand environment vars in file name.
136 Damjan Jovanovic (5):
137 start.exe: Unquote the title.
138 cmd.exe: If there is a title given through STARTUPINFO, use it.
139 start.exe: Pass the "show window" flags to CreateProcess() too.
140 start.exe: Launch all binaries through CreateProcess().
141 start.exe: Search PATH for the executable to launch.
144 wininet/tests: Fix typo in error message.
146 Dmitry Timoshkov (1):
147 rpcrt4: Add an exception handler to NdrAsyncClientCall.
150 find/tests: First tests.
153 dbgeng: Fix the spelling of GetInterruptTimeout().
154 ntdll: Fix the spelling of StoragePortClassGuid.
155 ninput: Fix the name of MANIPULATION_VELOCITY's velocityExpansion field.
156 ntoskrnl.exe: Fix the name of CONFIGURATION_TYPE's MaximumType enum entry.
157 wdscore: Fix the name of the WdsIterate*() stubs.
158 api-*-advapi32-*: Fix the name of the ConvertToAutoInheritPrivateObjectSecurity() stub.
161 ucrtbase: Add _o__mbstrlen.
164 iphlpapi: Account for structs inpcb and tcpcb being unavailable for userland in FreeBSD 12.
167 ntdll: Read the chassis type from sysfs.
168 wbemprox: Store the element size in struct array.
169 wbemprox: Retrieve more properties from the SMBIOS table.
170 wbemprox/tests: Add tests for Win32_Baseboard.
171 wbemprox: Avoid evaluating row conditions twice.
172 wbemprox: Support boolean qualifier values.
173 wbemprox: Implement IWbemClassObject::GetQualifierSet.
174 wbemprox: Implement IWbemQualifierSet::GetNames.
177 wined3d: Introduce WINED3D_TEXTURE_DOWNLOADABLE.
178 wined3d: Introduce wined3d_colour_srgb_from_linear().
179 wined3d: Store the sRGB constants as wined3d_vec4 structures.
180 wined3d: Add support for sRGB formats to wined3d_format_convert_from_float().
181 wined3d: Create the default samplers in adapter_vk_init_3d().
182 wined3d: Initialise d3d_info after quirks are applied.
184 Huw D. M. Davies (6):
185 riched20: Clearly separate the selection setting functions.
186 riched20: Only invalidate the selection if it's not hidden.
187 riched20: Move release_font_cache() further up the file.
188 riched20: Allow the style to remain selected in the context.
189 riched20: Use PatBlt() instead of FillRect() to paint the background area.
190 riched20: Don't calculate the para numbering data if numbering is disabled.
192 Isira Seneviratne (2):
193 cabinet/tests: Alter string declaration to include null terminator.
194 jscript: Replace '%pure-parser' with '%define api.pure'.
197 jscript: Support enumerating own properties.
198 jscript: Add Object.defineProperties implementation.
199 jscript: Support properties argument in Object.create.
200 mshtml/tests: Add Object.defineProperties tests.
201 jscript: Fix Object.defineProperty return value.
202 vbscript/tests: Fix tests on recent win10.
203 vbscript: Return correct error when builtin call argument count is invalid.
204 vbscript: Add Asc implementation.
205 vbscript: Fix handling null argument in CStr.
206 vbscript/tests: Fix tests on some Vista versions.
207 vbscript: Support arrays in VarType.
208 vbscript: Handle long/short distinction in interpreter.
209 vbscript: Rename OP_long expression to OP_int.
210 vbscript: Support unary + expressions.
211 winebuild: Don't include aliases in importlib .def files.
212 winebuild: Don't underscore local symbols in func_declaration.
213 mscvrt: Always provide float variants of math functions in importlib on x86.
214 wine/asm.h: Quote stdcall decored symbols.
215 winebuild: Quote stdcall decored symbols.
216 vbscript: Suport + sign in exponential literals.
217 kernel32/tests: Add exception handling race test.
220 mfplat: Implement MFCreateDXGIDeviceManager().
221 mfplat: Implement IMFDXGIDeviceManager::ResetDevice().
222 mfmediaengine: Add stub dll.
223 include: Add mfmediaengine.idl.
224 mfuuid: Import mfmediaengine.h.
225 mfmediaengine: Add MFMediaEngineClassFactory stub.
228 d3drm: Implement d3drm_viewport2_GetCamera().
229 d3drm: Implement d3drm_viewport2_SetCamera().
230 d3drm: Implement d3drm_viewport2_GetPlane().
231 d3drm: Implement d3drm_viewport2_SetPlane().
232 d3drm: Initialise the front and back clip distances in d3drm_viewport2_Init().
235 wuauserv: Add dummy service.
237 Michael Stefaniuc (1):
238 msi/tests: Actually test two return values.
240 Naveen Narayanan (1):
241 wineoss: Fix the -lossaudio check.
244 gdiplus: Add GdipRecordMetafileStreamI().
245 oleaut32: Reduce noise in SAFEARRAY traces.
248 user32: Return correct showCmd from GetWindowPlacement() for other process window.
251 msi: Fix component Action for shared components in CostFinalize.
253 Richard Pospesel (4):
254 widl: Store the "const" type qualifier inside the decl_spec_t structure.
255 widl: Fail compilation if an incomplete union or enum is used in a remoted field.
256 widl: Add the typedef to the type library if the aliasee is an anonymous UDT.
257 widl: Respect wire-marshal typedefs in type libraries.
260 advapi32: Add EventWriteString stub.
263 msctf/tests: Add multi-threaded apartment test for ITfSource_AdviseSink.
264 dinput/tests: Add test to validate interactions between dinput and raw input devices.
265 dinput8/tests: Add test to validate interactions between dinput8 and raw input devices.
266 dinput8/tests: Add window name and window class name test.
267 dbghelp: Prevent an invalid memory access when the search path element is empty.
270 kernel32: Add stub implementation of EnumSystemFirmwareTables.
273 wmp: Fix a crash in put_volume when basic_audio is NULL.
274 wmp: Fix some memory leaks on error path (Coverity).
275 wmp: Fix a playlist leak (Valgrind).
276 setupapi/tests: Fix a crash in the need_media tests.
277 setupapi: Fix a path leak (Valgrind).
278 setupapi: Fix an uninitialized variable warning (Valgrind).
279 ntoskrnl.exe: Don't use irp after it has been freed by IoCompleteRequest (Coverity).
280 msvfw32/tests: Add MCIWndCreate tests.
281 windowscodecs/tests: Fix a memory leak (Valgrind).
283 Zebediah Figura (85):
284 ntdll: Handle version 2 unwind info on x86_64.
285 ntdll: Handle UWOP_EPILOG directives in x86_64 unwind info.
286 widl: Fix nesting of functions, pointers, and arrays.
287 widl: Store the "inline" function specifier inside the decl_spec_t structure.
288 widl: Don't store the default pointer type in the type_t structure.
289 ntoskrnl.exe: Fix a typo in a debug trace.
290 ntoskrnl.exe: Implement ObQueryNameString().
291 ntoskrnl.exe: Make the driver object accessible by name while in its entry point.
292 services: Don't redirect the image file path for kernel drivers.
293 ntoskrnl.exe: Export InitializeSListHead().
294 httpapi: Stub HttpReceiveHttpRequest().
295 httpapi: Stub HttpSendHttpResponse().
296 httpapi: Stub HttpRemoveUrl().
297 widl: Track whether the type has been defined yet in the statement_t and var_t structures.
298 widl: Create exactly one type_t object per named structure type.
299 widl: Create exactly one type_t object per named union type.
300 widl: Create exactly one type_t object per named enum type.
301 ntoskrnl.exe: Implement IoInitializeRemoveLockEx().
302 ntoskrnl.exe: Implement IoAcquireRemoveLockEx().
303 ntoskrnl.exe: Implement IoReleaseRemoveLockEx().
304 ntoskrnl.exe: Implement IoReleaseRemoveLockAndWaitEx().
305 httpapi/tests: Add tests for version 1 request queues.
306 ntoskrnl.exe: Use a manual-reset event for remove locks.
307 ntoskrnl.exe: Don't signal the remove lock event unless the lock is in the removed state.
308 ntoskrnl.exe/tests: Add tests for remove locks.
309 widl: Check for redefinition of named user types.
310 widl: Generate a name for the encapsulated union type.
311 widl: Handle encapsulated unions in type libraries.
312 widl: Write public typedefs into the typelib if they are referenced directly.
313 http.sys: New stub driver.
314 http.sys: Create a stub request queue device.
315 http.sys: Create a skeletal request_queue object for each file opened.
316 httpapi: Implement HttpCreateHttpHandle().
317 hidclass.sys: Avoid freeing pool memory with HeapFree().
318 ntoskrnl.exe: Allocate pool memory from an executable heap.
319 ntoskrnl.exe: Stub IoRegisterBootDriverReinitialization().
320 ntoskrnl.exe: Set the IRP thread also for create and close requests.
321 ntoskrnl.exe: Implement IoGetRequestorProcess().
322 setupapi/tests: Add some tests for SPFILENOTIFY_STARTCOPY.
323 setupapi: Fix handling of FILEOP_SKIP from the SPFILENOTIFY_STARTCOPY callback.
324 http.sys: Allow associating a URL with the request queue.
325 httpapi: Implement HttpAddUrl().
326 httpapi: Implement HttpRemoveUrl().
327 http.sys: Listen for connections on addresses associated with each request queue.
328 http.sys: Receive data from connected sockets.
329 http.sys: Parse salient data from request headers.
330 http.sys: Stop receiving data as long as an unread request is available.
331 http.sys: Find a request queue to assign new HTTP requests to.
332 http.sys: Allow receiving parsed HTTP requests.
333 http.sys: Fill out unknown verbs.
334 http.sys: Fill out the raw URL.
335 http.sys: Fill out the cooked URL.
336 http.sys: Fill out the local and remote addresses.
337 http.sys: Fill out the request headers.
338 http.sys: Implement HTTP_RECEIVE_REQUEST_FLAG_COPY_BODY.
339 strmbase: Get rid of the "debug_info" parameter to strmbase_filter_init().
340 strmbase: Zero-initialize the BaseRenderer structure in strmbase_renderer_init().
341 evr: Consistently use base renderer methods.
342 evr/tests: Add some tests for IEnumPins.
343 evr/tests: Add some tests for IBaseFilter::FindPin().
344 evr/tests: Add some tests for querying pin information.
345 http.sys: Assign a unique ID to each request.
346 http.sys: Keep track of pending IOCTL_HTTP_RECEIVE_REQUEST IRPs and satisfy them when possible.
347 http.sys: Send a 400 Bad Request response when an invalid request is received.
348 httpapi: Implement HttpReceiveHttpRequest().
349 strmbase: Get rid of the BaseFilterFuncTable typedef.
350 strmbase: Get rid of the BaseFilter typedef.
351 amstream: Get rid of the IMediaStreamFilterImpl typedef.
352 amstream: Use shorter names for IMediaStreamFilter methods.
353 amstream: Create the stream filter when the multimedia stream is created.
354 http.sys: Allow sending response data.
355 httpapi: Implement HttpSendHttpResponse().
356 httpapi: Start the http service in HttpInitialize().
357 httpapi: Implement HttpCreateServerSession() and HttpCloseServerSession().
358 httpapi: Implement HttpCreateUrlGroup() and HttpCloseUrlGroup().
359 httpapi: Partially implement HttpSetUrlGroupProperty().
360 httpapi: Implement HttpAddUrlToUrlGroup() and HttpRemoveUrlFromUrlGroup().
361 httpapi: Implement HttpCreateRequestQueue() and HttpCloseRequestQueue().
362 httpapi/tests: Add some tests for version 2 request queues.
363 httpapi: Prefer the builtin version.
364 amstream/tests: Separate and expand tests for IAMMultiMediaStream::AddMediaStream().
365 amstream/tests: Add some tests for IAMMultiMediaStream::Initialize().
366 amstream/tests: Link to strmiids and uuid.
367 amstream: Rename amstream.c to multimedia.c.
368 amstream: Get rid of the IAMMultiMediaStreamImpl typedef.
371 user32: Wait for graphics driver to be ready in EnumDisplayDevicesW.
372 winex11.drv: Add xrandr_get_screen_resources() helper.
373 winex11.drv: Make screen helpers independent of Xinerama.
374 msctf: Check TF_GetThreadMgr error in DocumentMgr_Destructor.
375 d3d9/tests: Add a test for stencil reference value truncation.
376 wined3d: Truncate stencil reference values to the stencil component size.
377 winemac.drv: Add GPU initialization functions.
378 winemac.drv: Support GPU initialization via Metal.
379 winemac.drv: Add adapter initialization functions.
380 winemac.drv: Add monitor initialization functions.
381 winemac.drv: Handle display device change events.
382 winemac.drv: Use generic EnumDisplayMonitors and GetMonitorInfo.