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.
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 ----------------------------------------------------------------
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.
86 advapi32: Implement BuildSecurityDescriptorW.
89 wmp: Add seeking and duration.
90 wmp: Stub IWMPNetwork get download/buffering progress.
91 wmp: IWMPSettings implement put/get volume.
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.
166 tdh: Add version resource.
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.
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().
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.
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.
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.
205 wineandroid: Silence a noisy FIXME in ANDROID_GetKeyboardLayout.
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.
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.
243 makedep: Remove an incorrect -b when creating cross import libraries.
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.
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.
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.
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.
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.
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.
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.
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.