advapi32: Reimplement SystemFunction036 using system interrupt information.
[wine.git] / ANNOUNCE
blobf195d50bf6248728ee37676a3201f77fb810a935
1 The Wine development release 5.16 is now available.
3 What's new in this release (see below for details):
4   - Support for x86 AVX registers.
5   - Some ARM64 fixes for macOS.
6   - Still more restructuration of the console support.
7   - Various bug fixes.
9 The source is available from the following locations:
11   https://dl.winehq.org/wine/source/5.x/wine-5.16.tar.xz
12   http://mirrors.ibiblio.org/wine/source/5.x/wine-5.16.tar.xz
14 Binary packages for various distributions will be available from:
16   https://www.winehq.org/download
18 You will find documentation on https://www.winehq.org/documentation
20 You can also get the current source directly from the git
21 repository. Check https://www.winehq.org/git for details.
23 Wine is available thanks to the work of many people. See the file
24 AUTHORS in the distribution for the complete list.
26 ----------------------------------------------------------------
28 Bugs fixed in 5.16 (total 21):
30   21150  Memorex exPressit Label Design Studio 4.x crashes when creating a new project (ieframe 'IOleObject::Advise' is a stub)
31   24320  Cisco Quick VPN Client (QVPN) v1.4.x tool 'DetectEnvStatus.exe' crashes
32   37913  Inconsistent rounding behaviour for sprintf
33   39712  AirDC++: Crash after finishing setup wizard
34   39881  d3dx9_36/tests/mesh.ok: failed on line 4145 Test text
35   44200  Quake Champions Instant Crash To Desktop (Steam)
36   46350  Armored Warfare mouse stutter
37   46994  Firefox doesn't load pages
38   47570  Builtin Split function not implemented (needed by FotoBizX Installer)
39   49400  Multiple Windows 10 applications need IsWow64Process2 to determine real OS architecture (ex: detect WOW64 on ARM64)
40   49564  Tomb Raider I (using DosBox) hangs after starting
41   49631  Wine does not fill in Vulkan device LUID property when running in Virtual Desktop
42   49648  Still Life hangs when player starts moving
43   49698  Unwinding with a PE based ntdll.dll fails in some cases
44   49712  Magic: The Gathering Arena fails to connect to server
45   49716  Toontown Corporate Clash's Windows Installer crashes inside  IsWow64Process2
46   49718  ABZU broken with math functions from musl
47   49719  The Bat! v9.2.2.3: The 32bit version and the 64bit version crashed after startup
48   49728  Appear (a 4K rendering demo) crashes on unimplemented function user32.dll.SetWindowFullScreenState
49   49730  Number formatting broken with "nl_NL.UTF-8" (for msmoney)
50   49746  crash when virtual debug channel is enabled
52 ----------------------------------------------------------------
54 Changes since 5.15:
56 Alex Henrie (2):
57       urlmon/tests: Work around broken Win10 in test_CoInternetCombineUrlEx.
58       user32: Comment out SetWindowFullScreenState.
60 Alexandre Julliard (21):
61       ntdll: Call NtContinue() from LdrInitializeThunk() instead of returning.
62       ntdll: Don't expect LdrInitializeThunk() to return to the Unix side.
63       ntdll: Unwind the syscall frame when calling KiUserApcDispatcher().
64       ntdll: Unwind the syscall frame in NtSetContextThread().
65       kernel32: Fix user handle conversion in GetConsoleWindow().
66       ntdll: Handle page faults happening during a syscall without dispatching the exception.
67       ntdll: Stop resolving imports for the Unix library.
68       ntdll: Avoid referencing winecrt0 exception handlers from the Unix library.
69       winecrt0: Move setjmpex/longjmp implementation to a separate file.
70       makefiles: Don't implicitly import the module itself when -nodefaultlibs is used.
71       winebuild: Allow syscalls to use the cdecl convention.
72       ntdll: Use syscalls for the server functions.
73       ntdll: Use syscalls for the file path conversion functions.
74       ntdll: Use syscalls for the Wine version functions.
75       ntdll: Use syscalls for a couple of Wine internal functions.
76       ntdll: Get rid of the server_init_process_done() Unix library callback.
77       ntdll: Use exported APIs instead of virtual_map_section() to load PE modules.
78       ntdll: Clear the syscall frame on return instead of popping the previous one.
79       ntdll: Clear the thread stack by hand instead of remapping zero pages.
80       Revert "ntdll: Get rid of the server_init_process_done() Unix library callback."
81       conhost: Fix some pointer cast warnings.
83 Alistair Leslie-Hughes (1):
84       include: Add more eAVEncH264VProfile enums.
86 Andrew Eikum (1):
87       winepulse: Don't rely on pulseaudio callbacks for timing.
89 Arkadiusz Hiler (3):
90       Revert "ntdll/tests: Add test to check if GetTickCount is updated after sleeping.".
91       winmm: Add timeGetTime() implementation.
92       winmm: Default to 1ms resolution like we used to.
94 Aurimas Fišeras (2):
95       po: Update Lithuanian translation.
96       po: Update Lithuanian translation.
98 Biswapriyo Nath (13):
99       include/xaudio2.idl: Use cpp_quote for xaudio2 error codes.
100       include/dxgi.idl: Fix typo in DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT member name.
101       include/dxgi.idl: Add missing DXGI_DISPLAY_COLOR_SPACE structure.
102       include/dxgi1_2.idl: Add missing values in DXGI_SCALING enum.
103       dxgi: Fix order of functions in IDXGIFactory2 interface.
104       include/dxgi1_5.idl: Add missing values in DXGI_HDR_METADATA_TYPE enum.
105       include/dxgi1_6.idl: Add missing values in DXGI_ADAPTER_FLAG3 enum.
106       include/d3d11sdklayers.idl: Add d3d11 debug feature flags.
107       include/d3d10.idl: Use unions in D3D10_BUFFER_RTV structure.
108       include/d3d10.idl: Use unions in D3D10_BUFFER_SRV structure.
109       include/d3d10sdklayers.idl: Add D3D10Debug interface.
110       include/d3d10sdklayers.idl: Add D3D10SwitchToRef interface.
111       include/d3d11sdklayers.idl: Add D3D11SwitchToRef interface.
113 Brendan Shanks (1):
114       winevulkan: Fix vkEnumerateInstanceExtensionProperties() behavior when no Vulkan driver is present.
116 Carlos Rivera (1):
117       kernel32: Remove obsolete comment.
119 Damjan Jovanovic (3):
120       riched20: Implement ITextRange::MoveStart() and ITextRange::MoveEnd() for tomCharacter.
121       riched20: Implement ITextRange::Move() for tomCharacter.
122       riched20: Implement ITextRange::StartOf() and ITextRange::EndOf() for tomCharacter.
124 Daniel Lehman (2):
125       msvcrt/tests: Add tests for SpecialCasing.
126       ucrtbase/tests: Add tests for SpecialCasing.
128 Derek Lesho (1):
129       shcore: Add GetScaleFactorForDevice() stub.
131 Dmitry Kislyuk (1):
132       vbscript: Implement case-insensitive search in Replace function.
134 Dmitry Timoshkov (2):
135       ole32: Add a check for hglobal pointer to GetHGlobalFromStream.
136       kernelbase: Native machine is optional for IsWow64Process2.
138 Fabian Maurer (2):
139       user32: Set default user preferences to enable animations.
140       msvcrt/math: In _fcvt/_fcvt_s handle locale decimal separator properly.
142 François Gouget (2):
143       winapi: Remove obsolete entries from win32.api.
144       winapi: Update win16.api.
146 Gabriel Ivăncescu (13):
147       msscript.ocx: Implement the ScriptProcedure enumerator.
148       msscript.ocx: Add the ScriptError stub implementation.
149       msscript.ocx: Implement IScriptError::Clear.
150       msscript.ocx: Implement IScriptError::get_Number.
151       msscript.ocx/tests: Add initial tests for ScriptError.
152       msscript.ocx: Implement IScriptError::get_Source.
153       msscript.ocx: Implement IScriptError::get_Description.
154       msscript.ocx: Implement IScriptError::get_HelpFile.
155       msscript.ocx: Implement IScriptError::get_HelpContext.
156       msscript.ocx: Implement IScriptError::get_Text.
157       msscript.ocx: Implement IScriptError::get_Line.
158       msscript.ocx: Implement IScriptError::get_Column.
159       msscript.ocx: Uncache the module objects when script is restarted, but not the Procedure count.
161 Gijs Vermeulen (8):
162       fsutil: Initialize ret in hardlink() (Coverity).
163       shell32: Free original_dos_name with correct function in TRASH_GetDetails() (Coverity).
164       evr: Fix typo in video_mixer_init_dxva_videodesc() (Coverity).
165       amstream: Return VFW_E_CANNOT_CONNECT in IAMMultiMediaStream::OpenFile() when no renderers are present and AMMSF_NORENDER is not specified.
166       amstream: Return S_FALSE when IMediaSeeking::GetDuration() fails in IAMMultiMediaStream::GetDuration().
167       qcap/tests: Remove unused enumMediaTypes in test_smart_tee_filter() (Coverity).
168       quartz: Close hfile when GetFileSizeEx fails in IFileSourceFilter::Load() (Coverity).
169       amstream: Implement IMediaStreamFilter::ReferenceTimeToStreamTime().
171 Jacek Caban (38):
172       kernelbase: Use IOCTL_CONDRV_SET_INPUT_INFO in SetConsoleCP.
173       kernelbase: Use IOCTL_CONDRV_SET_INPUT_INFO in SetConsoleOutputCP.
174       kernelbase: Use IOCTL_CONDRV_SET_TITLE in SetConsoleTitleW.
175       server: Remove no longer used set_console_input_info.
176       wineconsole: Make sure that console process is not attached to another console.
177       server: Use passed console handle to inherit console for created process.
178       conhost: Build with -mwindows.
179       kernel32/tests: Fix tests on some broken Windows versions.
180       server: Introduce console server object.
181       server: Support creating console reference from console server.
182       kernelbase: Add CreatePseudoConsole implementation.
183       kernelbase: Add ClosePseudoConsole implementation.
184       kernel32/tests: Add CreatePseudoConsole tests.
185       kernelbase: Support PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE.
186       conhost: Add initial main loop implementation.
187       server: Queue console ioctls for execution in host when console server is attached.
188       server: Introduce get_next_console_request request.
189       condrv: Implement initial ioctl processing.
190       conhost: Implement IOCTL_CONDRV_GET_MODE.
191       conhost: Implement IOCTL_CONDRV_SET_MODE.
192       conhost: Implement IOCTL_CONDRV_GET_INPUT_INFO.
193       conhost: Implement IOCTL_CONDRV_SET_INPUT_INFO.
194       conhost: Implement IOCTL_CONDRV_GET_TITLE.
195       conhost: Implement IOCTL_CONDRV_SET_TITLE.
196       conhost: Implement IOCTL_CONDRV_WRITE_INPUT.
197       server: Support blocking console host ioctls.
198       conhost: Implement IOCTL_CONDRV_READ_INPUT.
199       conhost: Implement IOCTL_CONDRV_PEEK.
200       server: Move setting current screen_buffer into a helper.
201       server: Allow passing screen buffer ioctls to conhost.
202       conhost: Initial support for screen buffers.
203       server: Forward screen buffer ioctls to conhost if possible.
204       conhost: Implement IOCTL_CONDRV_GET_MODE.
205       conhost: Implement IOCTL_CONDRV_SET_MODE.
206       conhost: Implement IOCTL_CONDRV_GET_OUTPUT_INFO.
207       conhost: Implement IOCTL_CONDRV_SET_OUTPUT_INFO.
208       conhost: Implement IOCTL_CONDRV_WRITE_OUTPUT.
209       conhost: Implement IOCTL_CONDRV_READ_OUTPUT.
211 Jeff Smith (1):
212       qcap/tests: Refactor interface testing.
214 Julian Rüger (3):
215       winemine: Rename difficulty to avoid translation issues.
216       winemine: Widen some controls to accomodate translations.
217       po: Update German translation.
219 Lauri Kenttä (1):
220       po: Update Finnish translation.
222 Louis Lenders (1):
223       explorerframe: Return S_OK in ITaskbarList::RegisterTab.
225 Martin Storsjo (16):
226       winebuild: Use the right arm64 page/pageoff relocation syntax for darwin.
227       ntdll: Trust libunwind's returned pc value on arm64.
228       ntdll: Fix the arm64 use of libunwind for macOS.
229       ntdll: Fix arm64 sigcontext access for darwin.
230       loader: Fix the generic case in get_self_exe().
231       winedump: Fix dumping of rare arm64 unwind opcodes.
232       include: Update ARM64 context flag definitions to match current SDKs.
233       ntdll: Add initial tests for arm64 RtlVirtualUnwind.
234       ntdll: Set handler_data correctly in arm64 RtlVirtualUnwind.
235       ntdll/tests: Add defines for the complete set of arm64 unwidning opcodes.
236       ntdll/tests: Support testing float registers in the arm64 virtual unwind test.
237       ntdll: Implement the arm64 machine frame and context unwind opcodes.
238       ntdll/tests: Add a larger testcase covering most arm64 unwinding opcodes.
239       ntdll: Fix arm64 jump buffer float restoration.
240       ntdll: Capture vector registers in arm64 RtlCaptureContext.
241       winedump: Fix the dumping of arm64 packed float restoration.
243 Nikolay Sivov (34):
244       combase: Add a function to allocate OLE thread data.
245       combase: Move GetErrorInfo().
246       combase: Add CoGetErrorInfo() as an alias for GetErrorInfo().
247       combase: Move SetErrorInfo().
248       combase: Add CoSetErrorInfo() as an alias for SetErrorInfo().
249       combase: Move CoGetCallContext().
250       combase: Move CoSwitchCallContext().
251       combase: Move CoRegisterInitializeSpy()/CoRevokeInitializeSpy().
252       combase: Move CoWaitForMultipleHandles().
253       combase: Move CoRegisterMessageFilter().
254       combase: Move local proxy-stub registration functions.
255       combase: Move CoGetContextToken().
256       combase: Move CoGetCurrentLogicalThreadId().
257       kernelbase: Pass inherited handles list when creating new process.
258       combase: Move CoGetCurrentProcess().
259       ole32: Use public symbol for maximum moniker comparison data length.
260       dwrite: Add partial implementation for IDWriteFontFace5::Equals().
261       combase: Expose ROT access helpers.
262       ole32: Use combase for ROT access.
263       ole32: Get rid of typedef'ed type for apartment structure.
264       ole32: Simplify apartment lookup helper.
265       ole32: Move apartment and activation management to a separate file.
266       combase: Move core apartment and activation functionality.
267       combase: Move CoFreeUnusedLibrariesEx().
268       ole32: Use single static instance for ROT.
269       combase: Move initialisation functions.
270       combase: Move MTA usage functions.
271       combase: Move CoGetApartmentType().
272       combase: Move CoGetClassObject().
273       ole32: Use InternalIsProcessInitialized().
274       ole32: Remove unused helper.
275       combase: Move server class registration.
276       combase: Move global apartment state cleanup.
277       combase: Move thread data cleanup.
279 Paul Gofman (17):
280       ntdll: Report newer vector processor features on x86 / x64.
281       ntdll: Don't transfer xmm registers explicitly during context save and restore on x64.
282       include: Update _XSTATE_CONFIGURATION structure definition.
283       ntdll: Remove redundant ldmxcsr in set_full_cpu_context() on x86_64.
284       include: Define _XSAVE_FORMAT structure.
285       include: Define extended context structures.
286       include: Implement __cpuidex() function.
287       wineboot: Initialize XState features in user_shared_data.
288       kernel32: Implement GetEnabledXStateFeatures().
289       ntdll/tests: Add test for xstate in extended context.
290       ntdll: Support AVX context in fault exceptions on Linux x86_64.
291       ntdll: Restore AVX registers in NtSetContextThread() on x86_64.
292       ntdll: Support AVX context in fault exceptions on Linux i386.
293       ntdll: Restore AVX registers in NtSetContextThread() on i386.
294       ntdll: Also save unwind info for rbp in call_consolidate_callback() on x64.
295       wmc: Add Null facility.
296       kernel32: Add string for E_NOTIMPL error.
298 Piotr Caban (2):
299       msvcrt: Fix acosf implementation when returning Pi or Pi/2.
300       msvcrt: Optimize memmove implementation.
302 Robert Wilhelm (3):
303       vbscript: Implement Split.
304       vbscript: Implement IsArray.
305       vbscript: Support arrays in TypeName.
307 Shawn M. Chapla (6):
308       gdiplus: Remove outdated FIXME comment about compositing mode.
309       gdiplus: Add missing allocation failure checks to graphics functions.
310       gdiplus/tests: Add cursory GdipGetClipBoundsI checks to graphics clipping test.
311       gdiplus: Implement GdipGetClipBoundsI in terms of GdipGetClipBounds.
312       gdi32: Pass correct pointer to PolyDraw during EMR_POLYDRAW playback.
313       gdi32: Implement EMR_POLYDRAW16 playback.
315 Sven Baars (2):
316       kernel32: Fix some string leaks (Coverity).
317       kernel32: Free the right variable (Coverity).
319 Zebediah Figura (5):
320       quartz: Reimplement AM_RENDEREX_RENDERTOEXISTINGRENDERERS by forbidding renderers from IFilterMapper2::EnumMatchingFilters().
321       xactengine3: Reduce code duplication in xact_classes.idl.
322       ntdll: Read the condition variable and manipulate the lock on the PE side.
323       server: Report named pipe device files as type "File".
324       devenum: Correct the size of "name" in register_avicap_devices().
326 Zhiyi Zhang (9):
327       winex11.drv: Report a GPU same as the host primary GPU in virtual desktop mode.
328       winex11.drv: Initialize new display device registry display settings.
329       winemac.drv: Initialize new display device registry display settings.
330       user32/tests: Add more registry display mode tests.
331       winex11.drv: Store a full display mode in registry.
332       winex11.drv: Allow setting a 0-bit color depth display mode.
333       winex11.drv: Always update _NET_WM_STATE in update_net_wm_states().
334       winex11.drv: Support full screen windows on non-primary monitors.
335       winex11.drv: Support clipping full screen windows on non-primary monitors.
337 Ziqing Hui (24):
338       windowscodecs: Introduce get_pixel_format_bpp().
339       windowscodecs: Add tests and initial implementation for DdsFrameDecode_CopyPixels().
340       windowscodecs/tests: Add tests for decoding BC1 format.
341       windowscodecs/tests: Fix a variable name typo in decode_bc1().
342       windowscodecs/tests: Add tests for decoding BC2 format.
343       windowscodecs/tests: Add tests for decoding BC3 format.
344       windowscodecs/tests: Merge decode_bc*() into a single function.
345       windowscodecs/tests: Add macro BLOCK_WIDTH and BLOCK_HEIGHT.
346       windowscodecs: Add a lock for DdsFrameDecode.
347       windowscodecs: In struct DdsFrameDecode, add a new member "pixel_data" and rename member "data" to "block_data".
348       windowscodecs: More complete implementation of DdsFrameDecode_CopyPixels().
349       windowscodecs: Introduce decode_block() for DdsFrameDecode_CopyPixels().
350       windowscodecs: Add WIC pixel format information to struct dds_format.
351       windowscodecs: Introduce get_dds_format() to replace get_dxgi_format().
352       windowscodecs/tests: Expect actual WIC formats for uncompressed image.
353       windowscodecs/tests: Introduce is_compressed().
354       windowscodecs/tests: Add pixel format bpp to test_data.
355       windowscodecs: Remove get_pixel_format_bpp().
356       windowscodecs/tests: Add CopyPixels data tests for uncompressed images.
357       windowscodecs/tests: Fix tests for CopyBlocks.
358       windowscodecs: Fix DdsFrameDecode_Dds_CopyBlocks().
359       windowscodecs: Support uncompressed format in DdsFrameDecode_CopyPixels().
360       windowscodecs: Correctly set pixel format of uncompressed DDS images.
361       windowscodecs: Add more supported formats and fix RGB masks for RGBA1010102.
364 Alexandre Julliard
365 julliard@winehq.org