msvcrt/tests: Restore the multibyte codepage after the tests.
[wine.git] / ANNOUNCE
blobe5ee570b1fe523505b016da56654ced12688295e
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.
8   - Various bug fixes.
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 ----------------------------------------------------------------
62 Changes since 4.14:
64 Akihiro Sagawa (5):
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.
71 Alex Henrie (1):
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.
112 Andrey Gusev (1):
113       twain_32: Add missing debugstr_a.
115 André Hentschel (1):
116       ntdll: Add RtlUnwindEx spec entry for ARM64.
118 Austin English (2):
119       mscoree/tests: Mark tests as todo_wine if mono is not available on the current platform.
120       regini: Add stub program.
122 Benedikt Bär (1):
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.
129 Brendan Shanks (2):
130       dinput/tests: Test for correct guidProduct.
131       dinput: Add "PIDVID" guidProduct and use for non-keyboards/mice.
133 Carlo Bramini (1):
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.
143 Daniel Lehman (1):
144       wininet/tests: Fix typo in error message.
146 Dmitry Timoshkov (1):
147       rpcrt4: Add an exception handler to NdrAsyncClientCall.
149 Fabian Maurer (1):
150       find/tests: First tests.
152 François Gouget (6):
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.
160 Gijs Vermeulen (1):
161       ucrtbase: Add _o__mbstrlen.
163 Gleb Smirnoff (1):
164       iphlpapi: Account for structs inpcb and tcpcb being unavailable for userland in FreeBSD 12.
166 Hans Leidekker (8):
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.
176 Henri Verbeet (6):
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'.
196 Jacek Caban (21):
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.
219 Jactry Zeng (6):
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.
227 Jeff Smith (5):
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().
234 Michael Müller (1):
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.
243 Nikolay Sivov (2):
244       gdiplus: Add GdipRecordMetafileStreamI().
245       oleaut32: Reduce noise in SAFEARRAY traces.
247 Paul Gofman (1):
248       user32: Return correct showCmd from GetWindowPlacement() for other process window.
250 Piotr Caban (1):
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.
259 Richard Yao (1):
260       advapi32: Add EventWriteString stub.
262 Rémi Bernon (5):
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.
269 Steven Bell (1):
270       kernel32: Add stub implementation of EnumSystemFirmwareTables.
272 Sven Baars (9):
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.
370 Zhiyi Zhang (12):
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.
385 Alexandre Julliard
386 julliard@winehq.org