mf: Implement file scheme handler.
[wine.git] / ANNOUNCE
blob52d250a90c36c7c9d1c4dbee9d3083a685d22e1b
1 The Wine development release 4.7 is now available.
3 What's new in this release (see below for details):
4   - Support for builtin libraries in PE format even on Unix.
5   - Updated version of the Mono engine.
6   - More implementation of the Debug Engine DLL.
7   - Support for the Command Link standard control.
8   - Improved Edit control sizing in CJK locales.
9   - Various bug fixes.
11 The source is available from the following locations:
13   https://dl.winehq.org/wine/source/4.x/wine-4.7.tar.xz
14   http://mirrors.ibiblio.org/wine/source/4.x/wine-4.7.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 4.7 (total 34):
32   11985  Status bar of D3D9 app window disappearing
33   15934  Can't see Worms 2 intro films as they play (mciavi32 missing support to MCI_MCIAVI_PLAY_FULLSCREEN)
34   15980  Multiple applications expect security descriptors present in process object/token (Rhapsody 2, Rockstar Games Social Club v1.x)
35   29921  Microsoft Visual Studio 2005, 2008, 2010 Express installer shows highlighted items incorrectly
36   41212  Alt-Tab in full-screen on resolutions other than native causes a crash
37   42518  WinVerifyTrust fails for signatures using SHA256 digest
38   44656  Multiple applications need ntdll.NtSuspendProcess and ntdll.NtResumeProcess implementation (Crashpad/Chromium/CEF, Oracle Data Visualization Desktop, cbwin)
39   45543  Multiple games and applications crash in dwrite due to invalid index access to cluster array (Rekordbox 5.3.0, SpellForce 3)
40   45703  Microsoft Office 365 applications crash on startup (Microsoft AppV ISV virtual filesystem technology requires several native and core API to be hot-patchable)
41   45819  Symantec Eraser Control Driver 'eeCtrl64.sys' (Norton 360) fails in driver entry point due to 'ntoskrnl.exe.ExInitializeResourceLite' stub (needs STATUS_SUCCESS)
42   45963  Multiple applications need setupapi.SetupDiInstallDeviceInterfaces and setupapi.SetupDiRegisterCoDeviceInstallers stubs for HID device driver install
43   46174  Multiple apps (Halo Online Voice Chat, Discord, Miro Realtimeboard) crashes on unimplemented function qwave.dll.QOSCreateHandle
44   46378  WarGaming.net Game Center crashes when installing games or self-updates
45   46626  UPlay fails to start : "Error at hooking API LoadStringA" (UPlay's hooking engine can't handle ENDBR32 instruction inserted at non-hotpatch API entries due to distro build environments '-fcf-protection')
46   46685  AviUtl: Can't specify 4 digits number as image size in new project dialog.
47   46794  Skyrim crashes upon clicking Continue on macOS
48   46899  SIMATIC WinCC V15.1 Runtime installer: user can't accept license terms (richedit20 ITextRange::ScrollIntoView lacks handling of 'tomEnd')
49   46927  Oracle Java SE Runtime Environment 7/8, OpenJDK JVM for Windows with '-XX:+UseNUMA' setting needs kernel32.dll.VirtualAllocExNuma (Minecraft)
50   46934  Oracle Java SE Runtime Environment 7/8, OpenJDK JVM for Windows: InternalError: Should not get here at sun.nio.fs.WindowsNativeDispatcher.FindFirstStream0
51   46953  Watch_Dogs crashes after intro
52   46971  Multiple games crash at launch (Sniper Elite V2, Sniper Elite 3)
53   46974  Assetto Corsa sometimes crashes when clicking on buttons in the setup menu
54   46996  Improvements to the 7.1 and 5.1 to stereo conversion
55   46998  Yakuza Kiwami: Controllers aren't detected
56   46999  Controller with invalid HID range value causes division by zero error
57   47009  msi x64 installation file created by Visual Studio cannot be uninstalled
58   47022  Multiple performance monitor applications fail to display system physical/committed virtual memory usage (Sysinternals Process Explorer v16.x, builtin Taskmgr)
59   47031  widl generates invalid typelib when importing types from multiple typelibs
60   47034  Star Wars The Old Republic - Certificate Authentication Failed with wine-dev 4.6 (regression)
61   47039  Shantae Risky's Revenge has a blank screen in Wine 4.6
62   47051  Microsoft Excel 2016 (Office 365) crashes on startup (Microsoft AppV ISV virtual filesystem technology requires kernel32.CreateActCtxW to be hot-patchable)
63   47055  Unloaded modules traces are not accessible (RtlGetUnloadEventTraceEx)
64   47063  Command Link Support in Wine
65   47065  Vocaloid 5 (.NET 4.x app) crashes on startup (needs 'Win32_OperatingSystem' WMI class 'SystemDrive' property)
67 ----------------------------------------------------------------
69 Changes since 4.6:
71 Akihiro Sagawa (18):
72       user32/tests: Use GREEK_CHARSET in margin tests to avoid Associated Charset feature.
73       user32/tests: Remove win9x workarounds in margin tests.
74       user32/tests: Use calculated WM_SETFONT margins in the CJK case.
75       user32: Implement WM_SETFONT margins in the CJK case.
76       user32/tests: Add more margin tests in CJK font case.
77       user32: Fix edit control margins in CJK font case.
78       comctl32/tests: Use GREEK_CHARSET in margin tests to avoid Associated Charset feature.
79       comctl32/tests: Skip margin tests if a font for the target charset isn't available.
80       comctl32/tests: Use EM_SETMARGINS to test EC_USEFONTINFO margins.
81       comctl32/edit: Fix minimum control size conditions when using EC_USEFONTINFO.
82       comctl32/tests: Move the default margin size tests into a separate function.
83       comctl32/tests: Add Unicode version tests for Edit control margins.
84       comctl32/tests: Tests default margin size with various font face and charset.
85       comctl32/tests: Use calculated EC_USEFONTINFO margins in the CJK case.
86       comctl32/edit: Implement EC_USEFONTINFO margins in the CJK case.
87       comctl32/tests: Use calculated WM_SETFONT margins in the CJK case.
88       comctl32/edit: Implement WM_SETFONT margins in the CJK case.
89       user32: Make the second parameter of get_font_margins const.
91 Alexandre Julliard (41):
92       configure: Don't inherit CFLAGS for cross-compilation.
93       configure: Cache result of the cross-compiler check.
94       configure: Also cache negative results of soname checks.
95       configure: Cache result of the flex version check.
96       configure: Cache results of the compiler checks.
97       configure: Cache result of the msgfmt check.
98       shell32: Fix compiler warnings for the Windows build.
99       winegcc: Add option to put a builtin dll signature in the DOS header of PE files.
100       server: Add flag for builtin dlls in the image information.
101       ntdll: Move open_dll_file() to avoid forward declarations.
102       ntdll: Only pass the NT path name to open_dll_file().
103       ntdll: Add support for loading PE builtin dlls.
104       setupapi: Add support for installing PE builtins as fake dlls.
105       winetest: Also check for builtin dll signature.
106       winedump: Also check for builtin dll signature.
107       makefiles: Build modules that don't contain code as PE builtins.
108       include/msvcrt: Define math constants by default, for compatibility with Mingw.
109       include/msvcrt: Remove some prototypes that conflict with gcc builtins.
110       include/msvcrt: Make offsetof constant for compatibility with Mingw.
111       include/msvcrt: Use _fpclass() instead of _dclass().
112       include/msvcrt: Add noreturn attributes.
113       cryptnet/tests: Avoid using snprintf().
114       fusion/tests: Avoid using snprintf().
115       mshtml/tests: Avoid using snprintf().
116       msi/tests: Avoid using snprintf().
117       ole32/tests: Avoid using snprintf().
118       setupapi/tests: Avoid using snprintf().
119       widl: Use %define parse.error verbose instead of %error-verbose.
120       d3dcompiler: Use %define parse.error verbose instead of %error-verbose.
121       wbemprox: Use %define parse.error verbose instead of %error-verbose.
122       ntdll: Use the correct type for %llu scanf format.
123       makefiles: Allow using EXTRADLLFLAGS instead of APPMODE.
124       makefiles: Build stub programs with msvcrt.
125       makefiles: Build stub services with msvcrt.
126       makefiles: Build modules that use msvcrt as PE builtins.
127       makefiles: Don't use -fno-builtin flag with MinGW.
128       makefiles: Build all tests with msvcrt.
129       configure: Add check for recent enough bison.
130       msvcrt: Don't export the __p__* functions on 64-bit.
131       include/msvcrt: Add stdint.h header.
132       makefiles: Don't allow using system headers with msvcrt.
134 Alistair Leslie-Hughes (6):
135       include: Remove duplicate extern C from d3dx10core.idl.
136       include: Remove duplicate extern C from mimeole.idl.
137       include: Remove duplicate extern C from vsbackup.idl.
138       winex11/wintab: Set all Device Orientation values.
139       xinput: Check that we actually received a value before assignment.
140       dinput: Don't report SysMouse/Keyboard devices as supporting Force Feedback.
142 Andreas Maier (2):
143       jscript: Stub Enumerator object.
144       jscript_test: Simple test for Enumerator().
146 Andrew Eikum (1):
147       dinput: Report controllers as gamepads, not joysticks.
149 Andrey Gusev (2):
150       dxgi: Add DECLSPEC_HOTPATCH to d3d11_swapchain_Present().
151       setupapi: Add DECLSPEC_HOTPATCH to SetupDiEnumDeviceInfo().
153 André Hentschel (1):
154       ntdll: Reuse signal to trap translation for FreeBSD on ARM.
156 Bruno Jesus (1):
157       mciavi32: Add Support for MCI_MCIAVI_PLAY_FULLSCREEN.
159 Damjan Jovanovic (4):
160       configure: Link wineserver to libinotify if necessary.
161       qcap/tests: Fix a COM reference leak in the audiorecord test.
162       avicap32: Verify v4l devices can capture before returning them.
163       devenum: Iterate over all avicap devices instead of giving up at the first failure.
165 Derek Lesho (4):
166       ntoskrnl.exe: Implement PsLookupThreadByThreadId.
167       server: Allow creating process kernel objects.
168       ntoskrnl.exe: Implement process object constructor.
169       ntoskrnl.exe: Implement PsLookupProcessByProcessId.
171 Detlef Riekenberg (3):
172       taskschd/tests: Avoid a crash in a test after E_ACCESSDENIED.
173       qcap/tests: Avoid a crash in a test.
174       kernel32/pipe: Avoid a crash in a test.
176 Dmitry Timoshkov (2):
177       cryptui: Implement CryptUIDlgSelectCertificateFromStore.
178       kernel32: Add MapUserPhysicalPages stub.
180 Erich Hoover (5):
181       server: Add default security descriptor ownership for processes.
182       server: Add default security descriptor DACL for processes.
183       kernel32: NeedCurrentDirectoryForExePath does not use the registry.
184       advapi32: Move the DACL combining code into a separate routine.
185       advapi32: Fix the initialization of combined DACLs when the new DACL is empty.
187 Fabian Maurer (2):
188       kernel32: Partially implement VirtualAllocExNuma.
189       kernel32: Stub FindFirstStreamW/FindNextStreamW.
191 François Gouget (2):
192       d3d10core/tests: Limit the flood of failures in test_depth_bias().
193       d3d11/tests: Limit the flood of failures in test_depth_bias().
195 Gabriel Ivăncescu (7):
196       comctl32/tests: Avoid leaks by moving creation calls outside the loop.
197       comctl32/button: Preserve BST_HOT when mouse button is released.
198       comctl32/button: Move the drawing of the button's image into a separate function.
199       comctl32/button: Implement command links.
200       comctl32/button: Implement themed command links.
201       comctl32/button: Implement BCM_GETIDEALSIZE for command links.
202       comctl32/tests: Test for BCM_GETIDEALSIZE on command links with notes.
204 Gijs Vermeulen (2):
205       riched20: Handle tomEnd in ITextRange::ScrollIntoView.
206       ntoskrnl.exe: Add Ex[p]InterlockedFlushSList.
208 Hans Leidekker (11):
209       msi: Use KEY_WOW64_* flags in ACTION_Register/UnregisterClassInfo.
210       msi: Get rid of a redundant get_registry_view call.
211       msi: Take architecture into account when accessing the shared dll reference count.
212       msi: Remove system environment variables on uninstall.
213       msi: Fix architecture handling in the AppSearch action.
214       msi: Get rid of redundant KEY_WOW64_64KEY flags.
215       msi/tests: Check the NT key first when retrieving registered owner and organization.
216       msi: Always use the 64-bit registry view to retrieve registered owner and organization.
217       wineboot: Also process Run keys from the 32-bit registry view.
218       wbemprox: Implement Win32_OperatingSystem.SystemDrive.
219       wbemprox/tests: Introduce a helper to check properties.
221 Henri Verbeet (5):
222       wined3d: Pass a wined3d_adapter_gl structure to wined3d_adapter_gl_init().
223       wined3d: Assign "adapter_ops" in wined3d_adapter_init().
224       wined3d: Don't bother allocating "free_fences" in context_create().
225       wined3d: Don't bother allocating "free_occlusion_queries" in context_create().
226       wined3d: Don't bother allocating "free_timestamp_queries" in context_create().
228 Isira Seneviratne (1):
229       po: Update Sinhala translation.
231 Jacek Caban (26):
232       mshtml: Support type conversion in functions with arguments using default values.
233       mshtml: Support argument type conversion for functions with IDispatch arguments.
234       mshtml: Support argument type conversion for functions with dual interface arguments.
235       mshtml: Support argument type conversion for functions with dual interface return type.
236       mshtml/tests: Properly release elem2 in test_elem_bounding_client_rect.
237       mshtml: Add ISVGElement stub implementation.
238       mshtml: Add ISVGSVGElement stub implementation.
239       mshtml: Add ISVGCircleElement stub implementation.
240       mshtml: Add ISVGTSpanElement stub implementation.
241       mshtml: Use DispHTMLDOMImplementation for IDispatchEx implementation.
242       mshtml: Pass style value as nsAString to set_nsstyle_property.
243       mshtml: Use nsAString in fix_px_value.
244       mshtml: Return nsAString from var_to_styleval.
245       mshtml: Factor out variant_to_nsstr from var_to_styleval.
246       mshtml: Use variant_to_nsstr in IHTMLDOMNode3::put_textContent.
247       mshtml: Support VT_R8 in variant_to_nsstr.
248       jscript: Fix handling empty string regexp matches in String.prototype.split implementation.
249       jscript: Don't skip empty strings in String.prototype.split in ES5 mode.
250       msvcp140: Add _Resize implementation.
251       ntoskrnl.exe/tests: Add more NtOpenThread tests.
252       ntoskrnl.exe: Return error codes compatible with recent Windows versions in PsLookupThreadByThreadId.
253       ntoskrnl.exe: Add MmUnmapLockedPages stub.
254       server: Allow creating file kernel objects.
255       server: Set file user pointer in get_next_device_request handler.
256       server: Ensure that IRP_MJ_CLOSE is queued only once.
257       server: Use generic kernel object list to store client device file pointer.
259 John Thomson (1):
260       shell32: Do not fail in SHCreateDirectoryExW for ERROR_ALREADY_EXISTS.
262 Józef Kucia (7):
263       d3d9: Fix memory leak in device_init() (Coverity).
264       wined3d: Make the adapter responsible for creating devices.
265       wined3d: Create Vulkan device for wined3d_device_vk.
266       d3d11: Fix d3d11_immediate_context_RSGetScissorRects().
267       d3d11: Fix d3d10_device_RSGetScissorRects().
268       wined3d: Use vkGetDeviceProcAddr() to load Vulkan device functions.
269       wined3d: Avoid enabling all features supported by Vulkan physical device.
271 Louis Lenders (4):
272       ntdll: Add DECLSPEC_HOTPATCH to NtQueryDirectoryFile.
273       ntdll: Add DECLSPEC_HOTPATCH to NtQueryValueKey.
274       rpcrt4: Quiet two noisy fixme`s.
275       kernel32: Add DECLSPEC_HOTPATCH to CreateActCtx.
277 Marko Friedemann (1):
278       wintrust: Use enhanced crypto provider in VerifyImageHash.
280 Martin Storsjo (2):
281       msvcrt: Fix the fallback implementation of asinh for large negative values.
282       msvcrt: Hook up the unprefixed logb/logbf/logbl functions for msvcr120/ucrtbase.
284 Mathew Hodson (1):
285       include: Add cast to avoid a compiler warning on MSVC.
287 Michael Müller (2):
288       avifile.dll16: Correctly convert result of AVIStreamGetFrame to a segptr.
289       avifile.dll16: Convert between AVISTREAMINFO (16 bit) and AVISTREAMINFOA.
291 Nikola Pavlica (2):
292       dsound: Revised 5.1 to stereo downmix.
293       dsound: Added 7.1 to stereo downmix.
295 Nikolay Sivov (36):
296       mf/tests: Fix test crash on Vista.
297       include: Add IMFPMediaPlayer definition.
298       dwrite/layout: Fix invalid index access to cluster array.
299       ntdll/tests: Add some tests for thread suspend/resume.
300       mfreadwrite: Output warning for uninitialized stream descriptor.
301       mfplat/tests: Add a test for stream descriptor major type behavior.
302       mfreadwrite: Duplicate media type returned with GetNativeMediaType().
303       mfreadwrite: Add a helper to get associated event object value.
304       mfreadwrite: Add a helper to get stream identifier.
305       mfreadwrite: Handle MEMediaSample event.
306       mfreadwrite/tests: Add some tests for ReadSample().
307       ntdll: Add NtSuspendProcess()/NtResumeProcess() implementation.
308       dbgeng: Add support for non-invasive attach on WaitForEvent().
309       dbgeng: Implement GetNumberModules().
310       dbgeng: Implement GetModuleByIndex().
311       dbgeng: Implement GetModuleParameters().
312       dbgeng: Implement GetModuleByOffset().
313       mfreadwrite: Add partial implementation of ReadSample().
314       mfreadwrite: Handle failure path in GetNativeMediaType().
315       mfreadwrite: Wake also on new streams.
316       mfreadwrite: Handle some of stream state change events.
317       mfplay: Add a stub for MFPCreateMediaPlayer().
318       ntdll/tests: Add some tests for unloaded modules traces.
319       ntdll: Implement RtlGetUnloadEventTrace()/RtlGetUnloadEventTraceEx().
320       dbgeng: Implement ReadVirtual().
321       dbgeng: Implement IsPointer64Bit().
322       dbgeng: Implement GetExecutingProcessorType().
323       dbgeng: Partially implement GetModuleNameString().
324       dbgeng: Implement GetModuleVersionInformation().
325       comctl32/button: Improve repainting on WM_SETFOCUS.
326       dbgeng: Improve GetDebuggeeType() stub.
327       dbgeng: Set module timestamp field.
328       dbgeng: Add IDebugAdvanced stub.
329       dbgeng: Add IDebugSystemObjects stub.
330       kernel32/tests: Add a test for critical section DebugInfo initial value.
331       mfplat: Add partial implementation of ConvertToContiguousBuffer().
333 Paul Gofman (1):
334       wined3d: Use intBitsToFloat() instead of uintBitsToFloat().
336 Qian Hong (1):
337       advapi32/tests: Test prefix and use of TokenPrimaryGroup Sid.
339 Stefan Dösinger (1):
340       winemac: Add +fps support for Vulkan.
342 Vijay Kiran Kamuju (18):
343       include: Add missing includes, functions to qos2.h.
344       qwave: Add stub for QOSCreateHandle and tests.
345       kernel/nls: Fix country name in Tatar locale.
346       kernel/nls: Fix LOCALE_SNAME for Azeri (Cyrillic).
347       kernel/nls: Fix LOCALE_SNAME for Uzbek (Cyrillic).
348       kernel/nls: Fix LOCALE_SNAME for Serbian (Cyrillic).
349       kernel/nls: Fix country name and sname in English-Caribbean locale.
350       kernel/nls: Fix country name in Manx Gaelic locale.
351       kernel32: Add implementation of CAL_SSHORTESTDAYNAME*.
352       ntdll: Report system information SystemPerformanceInformation info class.
353       kernel/nls: Add LOCALE_SMONTHDAY to all supported languages.
354       kernel/nls: Fix LOCALE_SLONGDATE and LOCALE_SYEARMONTH for some chinese locales.
355       kernel32: Add implementation for CAL_SMONTHDAY.
356       kernel/nls: Fix LOCALE_SABBREVCTRYNAME for Serbian.
357       include: Add CAL_UMALQURA definition to winnls.h.
358       include: Add missing ACE and ACL related defines in winnt.h.
359       include: Add missing structures for ACE and Tokens in winnt.h.
360       advapi32/tests: Add additional tests for NtAccessCheck.
362 Vincent Povirk (2):
363       mscoree: Try skipping c: when searching for support msi.
364       mscoree: Update Wine Mono to 4.8.3.
366 Vladimir Bespalov (1):
367       user32: Make LoadString[AW] patchable.
369 Zebediah Figura (38):
370       qedit/tests: Add more tests for sample grabber filter interfaces.
371       qedit/samplegrabber: Don't expose IMediaPosition from the filter.
372       qedit/samplegrabber: Don't expose IMediaSeeking from the filter.
373       qedit/tests: Test that reference counts are shared between interfaces.
374       qedit/tests: Add some tests for IBaseFilter::EnumPins() on the sample grabber.
375       qedit/tests: Add some tests for IBaseFilter::FindPin() on the sample grabber.
376       qedit/tests: Add some tests for querying sample grabber pin information.
377       qedit/samplegrabber: Separate sink and source QueryInterface() implementations.
378       qedit/tests: Add some tests for sample grabber pin interfaces.
379       qedit/tests: Clean up and expand aggregation tests.
380       qedit: Fix return code for requesting aggregation with an interface other than IUnknown.
381       quartz: Vend CLSID_NullRenderer from qedit.
382       widl: Correctly set the import library offset for all imported types.
383       msi: Fix handling of architecture in MSIREG_{Open, Delete}UninstallKey().
384       winecfg: Use GetSysColorBrush().
385       winecfg: Also set the text color for the license and version controls.
386       user32: Use GetSysColorBrush().
387       wordpad: Use GetSysColorBrush().
388       regedit: Use the default implementation of WM_ERASEBKGND.
389       qedit/tests: Abort on missing qedit.dll.
390       qedit/tests: Add some tests for null renderer filter interfaces.
391       qedit/tests: Add some tests for IBaseFilter::EnumPins() on the null renderer.
392       qedit/tests: Add some tests for IBaseFilter::FindPin() on the null renderer.
393       qedit/tests: Add some tests for querying null renderer pin information.
394       qedit/tests: Add some tests for null renderer pin interfaces.
395       qedit/tests: Add a test for aggregation on the null renderer.
396       quartz/tests: Clean up and expand tests for aggregation.
397       regedit: Use an I-beam cursor in the hex edit dialog.
398       devenum: Fix device and friendly name for video capture devices.
399       qcap: Use the v4l2 device_caps field if supported.
400       amstream: Reference the returned IMediaStream pointer in IAMMultiMediaStream::AddMediaStream().
401       amstream/tests: Add some test for supported interfaces.
402       amstream/tests: Add tests for IMediaStreamFilter::EnumPins().
403       amstream/tests: Add some tests for IMediaStreamFilter::FindPin().
404       amstream/tests: Add some tests for querying pin information.
405       quartz: Get rid of register_coclasses().
406       quartz: Get rid of register_interfaces().
407       winegstreamer: Convert media type registration to IRegistrar mechanism.
410 Alexandre Julliard
411 julliard@winehq.org