combase: Add stub for RoRegisterForApartmentShutdown.
[wine.git] / ANNOUNCE
blob86670c9c5a171baf5392290481475a245ea38650
1 The Wine development release 3.7 is now available.
3 What's new in this release (see below for details):
4   - MSI custom actions run in a separate process.
5   - Support for job files in the Task Scheduler.
6   - Improved viewport support in Direct 3D.
7   - Larger resolution version of the standard icons.
8   - Various bug fixes.
10 The source is available from the following locations:
12   https://dl.winehq.org/wine/source/3.x/wine-3.7.tar.xz
13   http://mirrors.ibiblio.org/wine/source/3.x/wine-3.7.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 3.7 (total 26):
31   15350  wrong keyboard layout in Tomb Raider Anniversary / Legend
32   15984  Black and White: crashes with page fault on temple completion
33   18070  Multiple apps need separate msi custom action server process due to COM/MTA and/or isolation issues (Adobe CS3/CS4, Flash, Windows SDK 2008, Strawberry Perl, MS Office 2010)
34   22210  HTML-Kit Tools trial installer produces an error message in Win7 mode (IShellLink object needs to provide IPropertyStore interface)
35   22545  Multiple applications wrapped with Themida/WinLicense 2.0.x/2.1.x software protection need ntdll.dll.DbgUiRemoteBreakin stub (WinDVD 2010)
36   31630  BlueStacks 2 crashes during install with Wine Mono
37   37228  Cisco Jabber 11.x crashes on unimplemented function ntdsapi.dll.DsCrackNamesW
38   37594  World of Warcraft in-game browser does not work (needs advapi32.BuildSecurityDescriptorW() implementation)
39   37760  Several .Net applications fail under wine-mono with System.TimeZoneNotFoundException
40   41295  Multiple games require stream output support for vertex shaders
41   42106  Problem with user32.dll with Muv-Luv on steam: "Unimplemented function USER32.dll.GetAutoRotationState"
42   42686  Poedit crashes on start on unimplemented function msvcp140.dll.?_IsNonBlockingThread@_Task_impl_base@details@Concurrency@@SA_NXZ
43   43055  StarForce v3 kernel drivers crash on unimplemented function ntoskrnl.exe.FsRtlRegisterFileSystemFilterCallbacks (TrackMania Sunrise)
44   43951  Fallout 4 not loading textures
45   44343  Builtin WMP unable to play audio files from WPF's MediaPlayer class
46   44368  Fallout 4 has graphical issues
47   44871  Age of Empires II HD crashes often when restarting a scenario
48   44922  Cisco Jabber 11.x crashes on unimplemented function IPHLPAPI.DLL.GetIpForwardTable2,
49   44968  BASIC783Esetup.exe (Decimal BASIC) fails to install (needs SrClient.dll.SRSetRestorePoint)
50   44971  HackShield for Banking Driver 'HSBDrvNt.sys' (part of Ahnlab Safe Transaction) crashes on unimplemented function ntoskrnl.exe.ExInterlockedPopEntrySList
51   44984  Maya 2018 LT Installer requires unimplemented function api-ms-win-crt-time-l1-1-0.dll._timespec64_get
52   44993  Magic The Gathering Arena fails to install
53   44995  Metatrader4 installation needs sspicli.dll.AcquireCredentialsHandleW
54   45026  Windows File Manager (WinFile) fails to build in winelib (LPDROPSTRUCT missing from winuser.h)
55   45040  Morrowind Crashes shortly after boot when the user installs the Morrowind Code Patch.
56   45044  Microsoft Visual C++ 2005, 2008 Redistributable installers fail with 'action L"SxsInstallCA" returned 1603'
58 ----------------------------------------------------------------
60 Changes since 3.6:
62 Alexandre Julliard (13):
63       winedump: Print the thunk address for imports instead of the name address.
64       user32: Reimplement AdjustWindowRectEx using NONCLIENTMETRICSW.
65       user32: Implement AdjustWindowRectExForDpi().
66       user32: Add partial stub for GetDpiForMonitorInternal().
67       user32: Implement GetDpiForWindow().
68       user32: Implement LogicalToPhysicalPointForPerMonitorDPI() and PhysicalToLogicalPointForPerMonitorDPI().
69       user32: Add 256x256 variants of the standard icons.
70       shell32: Add 256x256 variants of the standard icons.
71       joy.cpl: Add a 256x256 icon.
72       winex11: Support multiple fallbacks for cursor names.
73       winex11: Avoid left_side/top_side cursor names.
74       user32: Destroy thread windows by going through the handle table.
75       user32: Don't wait for other threads to process WM_NCDESTROY.
77 Alistair Leslie-Hughes (6):
78       comctl32/treeview: Fix item icon background when using TVS_FULLROWSELECT style.
79       ntoskrnl: Implement ExInterlockedPushEntrySList.
80       ntoskrnl: Add FsRtlRegisterFileSystemFilterCallbacks stub.
81       kernel32: Implement GetCurrencyFormatEx.
82       shell32: Implement SHCreateSessionKey.
83       hnetcfg/tests: Add INetFwAuthorizedApplication tests.
85 Andrew Wesie (1):
86       advapi32: Implement BuildSecurityDescriptorW.
88 Anton Romanov (3):
89       wmp: Add seeking and duration.
90       wmp: Stub IWMPNetwork get download/buffering progress.
91       wmp: IWMPSettings implement put/get volume.
93 Austin English (5):
94       iphlpapi: Add GetIpForwardTable2 stub.
95       ntdsapi: Add DsCrackNamesA/W stubs.
96       include/winuser.h: Add tagDROPSTRUCT struct.
97       include/wfext.h: Add miscellaneous FM_* defines.
98       ntdll: Add DbgUiRemoteBreakin() stub.
100 Bernhard Übelacker (1):
101       cmd: Avoid having first parameter to start.exe ignored.
103 Dmitry Timoshkov (44):
104       dinput: The DIK_ key code should match the scan code.
105       dinput/tests: Add some tests for DIK_ codes using different keyboard layouts.
106       schedsvc: Add a thread for monitoring version 1 task files.
107       schedsvc: Add support for reading .job files.
108       schedsvc: Remove job from the list when job file is deleted.
109       schedsvc: Implement NetrJobGetInfo.
110       schedsvc: Implement NetrJobEnum.
111       schedsvc: Implement NetrJobDel.
112       schedsvc: Implement NetrJobAdd.
113       mstask: Implement IPersistFile::GetClassID().
114       mstask: Implement ITask::GetStatus().
115       mstask: ITask::GetErrorRetryCount() is not implemented.
116       mstask: ITask::GetErrorRetryInterval() is not implemented.
117       mstask: Implement ITask::GetIdleWait().
118       mstask: Implement ITask::GetPriority().
119       mstask: Implement better stub for ITask::GetExitCode().
120       mstask: Implement better stub for ITask::GetMostRecentRunTime().
121       mstask: Implement IPersistFile::Save().
122       schedsvc: Allow others to read the file.
123       schedsvc: Print an error if the service couldn't start monitoring the tasks directory.
124       mstask: Save a task with at least 1 trigger to follow the .job file spec.
125       mstask: Initialize task file name in the task constructor.
126       mstask: Fix saving the triggers.
127       mstask: Implement ITask::GetTriggerCount().
128       mstask: Implement ITask::CreateTrigger().
129       mstask: Implement ITask::DeleteTrigger().
130       mstask: Implement ITask::GetTrigger().
131       mstask/tests: Add some tests for trigger management.
132       schedsvc: Fix NetrJobGetInfo return value in case of invalid job id.
133       schedsvc: Fix NetrJobDel return value in case of invalid job id.
134       mstask/tests: Also test the ITask::GetStatus() return value.
135       mstask: Implement IPersistFile::GetCurFile().
136       mstask: Implement IPersistFile::Load().
137       mstask: Return S_OK from ITask::SetFlags().
138       mstask: Implement ITaskScheduler::Activate().
139       mstask: Implement ITaskScheduler::AddWorkItem().
140       mstask/tests: Add more tests for ITaskScheduler::AddWorkItem().
141       sspicli: Add forwards to secur32.
142       mstask: Switch to using heap wrappers.
143       mstask: Forward IPersistFile::AddRef()/Release() to parent object.
144       mstask: Add dirty flag management.
145       mstask: Improve ITask::GetNextRunTime() stub.
146       mstask: Correctly initialize trigger count when loading a task.
147       mstask: Write correct trigger count to a job file.
149 François Gouget (14):
150       winebus.sys: Fix a typo in a comment.
151       winevulkan: Tweak the wording of a comment.
152       user32: Fix the name of an unused debugging function.
153       kernel32/tests: Add a trailing '\n' to an ok() call.
154       windowscodecs: Make get_metadata_container() static.
155       d3d8/tests: Fix a typo in a comment.
156       dmime: Make IDirectMusicUtils_IPersistStream_ParseDescGeneric() static.
157       dmime: Add a trailing '\n' to a FIXME().
158       comctl32: Remove THEMING_SetSubclassData(). It is not used anymore.
159       mshtml: Make set_frame_doc() static.
160       makefiles: Make it possible to only build the tests.
161       wsdapi: Make send_udp_multicast_of_type() static.
162       amstream: Remove an unused NONAMELESSSTRUCT directive.
163       bthprops.cpl: Remove an unused NONAMELESSUNION directive.
165 Gijs Vermeulen (1):
166       tdh: Add version resource.
168 Hans Leidekker (6):
169       msi: Don't cache the base URL.
170       webservices: Properly restore the reader position when the next element doesn't match.
171       include: Fix a couple of LSA typedefs.
172       kerberos: Consistently use NTSTATUS return values.
173       secur32: Implement LsaDeregisterLogonProcess.
174       secur32: Return a handle from LsaRegisterLogonProcess.
176 Henri Verbeet (5):
177       wined3d: Get rid of the "numberedArraysLoaded" field in struct wined3d_context.
178       wined3d: Move the stream source binding code to context.c.
179       wined3d: Handle "namedArraysLoaded" in context_unload_vertex_data().
180       wined3d: Use wined3d_bit_scan() in context_unload_numbered_arrays().
181       wined3d: Simplify context_update_stream_sources().
183 Hugh McMaster (5):
184       regedit: Use the correct window class name.
185       regedit/tests: Add tests for values with embedded null characters.
186       reg/tests: Add tests for values with embedded null characters.
187       regedit: Null terminate hex-formatted REG_SZ data if necessary.
188       reg: Null terminate hex-formatted REG_SZ data if necessary.
190 Jacek Caban (3):
191       jscript: Remove unused prop_get arguments.
192       jscript: Remove unused prop_put arguments.
193       d3d11.idl: Fixed a typo in CD3D11_BLEND_DESC constructor.
195 Jactry Zeng (7):
196       riched20: Check para before use in ME_PrevRun.
197       riched20: Save reobj in linked list.
198       riched20: Implement IRichEditOle::GetObjectCount.
199       riched20: Implement IRichEditOle::GetObject.
200       riched20/tests: Add tests for IRichEditOle::{GetObject,GetObjectCount}.
201       riched20: Implement EM_SELECTIONTYPE.
202       riched20: Use ME_GetSelectionType() in ME_ShowContextMenu() for getting type of selection.
204 Josh DuBois (1):
205       wineandroid: Silence a noisy FIXME in ANDROID_GetKeyboardLayout.
207 Józef Kucia (28):
208       d3d10core/tests: Add additional tests for shader input/output matching.
209       d3d10core/tests: Add test for state refcounting.
210       d3d11/tests: Add test for ResolveSubresource().
211       d3d9: Validate adapter format in CheckDeviceFormat().
212       wined3d: Introduce helper function to get shader type from byte code.
213       wined3d: Simplify geometry_shader_init().
214       wined3d: Add support for stream output with vertex shaders.
215       wined3d: Avoid using gl_ViewportIndex unnecessarily.
216       d3d11/tests: Add test for stream output without geometry shaders.
217       wined3d: Scan output signatures for pass-through geometry shaders.
218       wined3d: Reduce number of parameters passed to shader_get_registers_used().
219       d3d10core/tests: Add test for stream output without geometry shaders.
220       wined3d: Remove redundant size checks before memcpy().
221       d3d11/tests: Introduce helper function to set viewport.
222       d3d11/tests: Introduce draw_color_quad_vs() helper function.
223       d3d10core/tests: Add test for ResolveSubresource().
224       wined3d: Parse SM5 precise instruction modifier.
225       d3d10core/tests: Introduce helper function to set viewport.
226       d3d10core/tests: Add test for draws with NULL render target views.
227       dxgi: Remove useless FIXME() messages about adapter type.
228       wined3d: Disable transform feedback when there are no varyings to record.
229       d3d11: Use WARN() instead of FIXME() in d3d11_device_GetDeviceRemovedReason().
230       d3d11: Do not print FIXMEs() for known DXBC chunks in shdr_handler().
231       wined3d: Implement clears for 1D render target views.
232       wined3d: Implement copying for 1D textures.
233       d3d11/tests: Add test for clearing 1D render target views.
234       wined3d: Do not check for ARB_fragment_program in arbfp_blit_supported().
235       wined3d: Correctly check for absence of precise flags.
237 Louis Lenders (3):
238       shell32: Update specs for SHGetSetFolderCustomSettings to behaviour above win2003.
239       winmm: Return error in waveOutMessage if either dwParam1 or dwParam2 is null.
240       shell32/tests: Add a test for SHGetSetFolderCustomSettings.
242 Martin Storsjo (1):
243       makedep: Remove an incorrect -b when creating cross import libraries.
245 Matteo Bruni (18):
246       wined3d: Remove unused return values from the YUV shader generation helpers in the ARBfp blitter.
247       wined3d: Implement source fixups in the GLSL blitter.
248       wined3d: Use staging resources to blit from CPU resources in the GLSL blitter.
249       wined3d: Use staging resources to blit from CPU resources in the ARBfp blitter.
250       d3dx9: Allow passes argument to Begin() to be NULL.
251       wined3d: Fix stateblock viewports memcmp() size.
252       wined3d: Enable GL_ARB_viewport_array extension in GLSL shaders.
253       ddraw/tests: Port test_viewport() to ddraw4.
254       wined3d: Allow context_draw_shaded_quad() to function without immediate mode draws.
255       d3drm: Add viewport to the device before setting viewport parameters.
256       ddraw: Forbid setting viewport extents larger than the render target in SetViewport().
257       ddraw/tests: Port test_viewport() to ddraw2.
258       ddraw/tests: Port test_viewport() to ddraw1.
259       d3d9/tests: Make use of the readback helpers in check_rect().
260       d3d9/tests: Improve test_viewport().
261       wined3d: Don't clamp viewport coordinates.
262       d3d9/tests: Add more tests to test_viewport().
263       wined3d: Don't attach render targets on clears when unnecessary.
265 Michael Müller (4):
266       ntoskrnl: Implement ExInterlockedPopEntrySList.
267       include: Add more constants to SYSTEM_INFORMATION_CLASS.
268       include/roapi.h: Add further typedefs.
269       hnetcfg: Improve INetFwAuthorizedApplication::get_ProcessImageFileName stub.
271 Nikolay Sivov (18):
272       wined3d: Add support for setting multiple viewports.
273       user32/menu: Hold a reference to menu data for calls with menu handles on input.
274       user32/menu: Replace macro checks for window style with a helper function.
275       d3d11: Allow setting multiple viewports.
276       d3d10: Allow setting multiple viewports.
277       wined3d: Add support for returning multiple viewports.
278       d3d11: Add support for returning multiple viewports.
279       d3d10: Add support for returning multiple viewports.
280       d3d9/tests: Add a basic test for default value and limits of max frame latency parameter.
281       uxtheme/tests: Remove some trace messages.
282       wined3d: Add support for setting multiple scissor rectangles.
283       include: Add more DXGI swapchain flags.
284       d3d11: Add support for setting multiple scissor rectangles.
285       wined3d: Add support for returning multiple scissor rectangles.
286       d3d11: Add support for returning multiple scissor rectangles.
287       d3d10core/tests: Add some tests for multiple scissor rectangles.
288       wined3d: Invalidate number of viewports set for the context.
289       wined3d: Use fewer calls to set viewport data.
291 Owen Rudge (14):
292       wsdapi: Ensure text node parent is NULL before calling WSDXMLAddChild.
293       wsdapi: Register default namespaces when creating publisher.
294       wsdapi: Create Body and Hello elements in Hello message.
295       wsdapi/tests: Add test for Hello message Any body element.
296       wsdapi: Write EndPointReference section in Hello message body.
297       wsdapi/tests: Add test for endpoint reference "any" parameter.
298       wsdapi: Build and write Types list for Hello message.
299       wsdapi/tests: Add tests for Types list.
300       wsdapi: Build and write Scopes and XAddrs lists for Hello message.
301       wsdapi/tests: Add tests for Scopes and XAddrs lists.
302       wsdapi: Add MetadataVersion to Hello message.
303       wsdapi: Add support for sending reference parameters in the Hello message.
304       wsdapi: Implement UnPublish.
305       wsdapi/tests: Add tests for UnPublish.
307 Piotr Caban (4):
308       ucrtbase: Add _timespec{32,64}_get implementation.
309       msi: Only mark non-registered features as absent if we haven't done anything with them.
310       msi: Support NULL value in INSERT query.
311       msvcp140: Add _Task_impl_base::_IsNonBlockingThread stub.
313 Qian Hong (1):
314       kernel32: Init TimezoneInformation registry.
316 Roderick Colenbrander (1):
317       ntdll: Read correct sysfs entry for core information.
319 Sebastian Lackner (1):
320       advapi32/tests: Add basic tests for BuildSecurityDescriptor.
322 Thomas Faber (1):
323       msxml3: Avoid buffer overflow in BindStatusCallback_GetBindInfo (DPH).
325 Valentin Gabriel Mitrea (2):
326       d3d10: Implement D3D10CompileEffectFromMemory().
327       d3dx9: Fix D3DCompile() call.
329 Zebediah Figura (45):
330       msi: Stop vending WineMsiRemotePackage.
331       msi: Allocate the remote handle on the server side.
332       msi: Convert the IWineMsiRemote* remote interfaces to RPC stubs.
333       msi: Make MsiGetProperty() RPC-compatible.
334       msi: Make MsiSetProperty() RPC-compatible.
335       msi/tests: Clean up property tests.
336       msi: Also null-terminate WCHAR strings.
337       msi/tests: Test properties from custom actions.
338       msi: Store a record's associated query privately.
339       msi: Make MsiProcessMessage() RPC-compatible.
340       msi/tests: Improve COM test.
341       msi: Make MsiGetActiveDatabase() RPC-compatible.
342       msi: Make MsiDatabaseIsTablePersistent() RPC-compatible.
343       msi: Make MsiDatabaseOpenView() RPC-compatible.
344       msi: Make MsiViewExecute() RPC-compatible.
345       msi: Make MsiViewFetch() RPC-compatible.
346       msi: Make MsiViewClose() RPC-compatible.
347       msi: Make MsiViewGetColumnInfo() RPC-compatible.
348       msi: Make MsiViewModify() RPC-compatible.
349       msi/tests: Add tests for MsiDatabaseGetPrimaryKeys().
350       msi: Make MsiDatabaseGetPrimaryKeys() RPC-compatible.
351       msi: Make MsiGetSummaryInformation() RPC-compatible.
352       msi: Make MsiDoAction() RPC-compatible.
353       msi: Make MsiSequence() RPC-compatible.
354       msi: Make MsiGetTargetPath() RPC-compatible.
355       msi: Make MsiSetTargetPath() RPC-compatible.
356       msi: Make MsiGetSourcePath() RPC-compatible.
357       msi: Avoid returning an uninitialized variable.
358       d3dx10/tests: Remove todo_wine from succeeding tests.
359       msi: Make MsiGetMode() RPC-compatible.
360       msi: Make MsiSetMode() RPC-compatible.
361       msi: Make MsiGetFeatureState() RPC-compatible.
362       msi: Make MsiSetFeatureState() RPC-compatible.
363       msi: Make MsiGetComponentState() RPC-compatible.
364       msi: Make MsiSetComponentState() RPC-compatible.
365       msi: Make MsiGetLanguage() RPC-compatible.
366       msi: Make MsiSetInstallLevel() RPC-compatible.
367       msi: Make MsiFormatRecord() RPC-compatible.
368       msi: Make MsiEvaluateCondition() RPC-compatible.
369       msi: Handle some invalid parameters in MsiGetFeatureCost().
370       msi: Make MsiGetFeatureCost() RPC-compatible.
371       msi: Make MsiEnumComponentCosts RPC-compatible.
372       msi: Make remote_GetActionInfo() RPC-compatible.
373       msi: Execute custom actions in a separate process.
374       msi: Initialize [out] strings to NULL.
376 Zhiyi Zhang (3):
377       comctl32: GroupBox can have multiline text.
378       comctl32: Fix checkbox wrong box alignment with BS_VCENTER.
379       user32: Fix checkbox wrong box alignment with BS_VCENTER.
382 Alexandre Julliard
383 julliard@winehq.org