conhost: Introduce IOCTL_CONDRV_READ_CONSOLE ioctl.
[wine.git] / ANNOUNCE
blob40a7d8b8221c8701776a9cdcce19b909648c0239
1 The Wine development release 5.17 is now available.
3 What's new in this release (see below for details):
4   - ADVAPI32 library converted to PE.
5   - Beginnings of an NDIS network driver.
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.17.tar.xz
12   http://mirrors.ibiblio.org/wine/source/5.x/wine-5.17.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.17 (total 17):
30   22616  Multiple applications need msvcirt.dll.??0ifstream@@QAE@PBDHH@Z (Merriam-Webster Dictionary, Power Tab Editor, gmax 1.2, GradeBook for Windows, Microsoft Reader)
31   24182  Multiple games need IDirectDrawMediaStream::Get/SetFormat implementation (Need for Russia, Motocross Madness 2, The Sims Complete Collection)
32   30014  Multiple programs require msvcirt.dll.??0ifstream@@QAE@XZ (Wouxun KG-UV2D, Charon, Cricket 2002, Mastercook 15, GraphCalc)
33   35782  Tic Tac Toe Game (vbscript) cannot be played (colon used in for loop for placing multiple statements on the same line)
34   41005  Deadlight: Director's Cut (UE3, 64-bit) loads to a black screen
35   43999  GetVersion incorrectly fails to lie about the OS version when masquerading as Windows 8.1 or 10
36   45642  Chrome/Chromium sandbox needs x86-64 syscall thunks to match Windows
37   46278  Cisco Jabber 12.5 sends only first letter due to missing richedit:ITextRange functions
38   47048  Logitech webcam does not show picture, only grey
39   47642  Support conversion from GST_VIDEO_FORMAT_RGB to DirectShow-supported formats (needed by Risk II + native amstream)
40   48130  Launching World of Tanks from the shortcut doesn't work
41   48407  OllyDbg 2.x segfaults the process after attaching to it
42   49125  Logos Bible Software Indexing fails 64bit only 32bit works
43   49242  provide some way to get reported windows version via command line
44   49749  Visual Studio 2019 installer crashes after unpacking content
45   49762  Emulated virtual desktop ignores size set in winecfg
46   49805  Pyxel Edit crashes when clicking the "File" dropdown option.
48 ----------------------------------------------------------------
50 Changes since 5.16:
52 Aaro Altonen (1):
53       ws2_32: Improve WSCGetProviderPath() stub.
55 Akihiro Sagawa (1):
56       po: Update Japanese translation.
58 Alex Henrie (1):
59       comdlg32: Fix error precedence in IFileDialog2_SetFileTypes.
61 Alexandre Julliard (32):
62       kernel32: Move the initial process breakpoint to LdrInitializeThunk().
63       ntdll: Call the thread entry point through BaseThreadInitThunk().
64       ntdll: Call the process entry point through RtlUserThreadStart().
65       kernel32: Remove the no longer used __wine_start_process() function.
66       ntdll: Get rid of the server_init_process_done() Unix library callback.
67       ntdll: Move the NT path conversion for exec process to the Unix library.
68       ntdll: Use the process parameters directly in exec_process().
69       ntdll: Get rid of the exec_process() Unix library callback.
70       ntdll: Make the reserved area functions static.
71       ntdll: Move the reserved area functions to avoid forward declarations.
72       ntdll: Add a helper function for fixed anonymous mmaps.
73       ntdll: Add a helper function for memory allocations through mmap().
74       ntdll: Add a helper function to try an mmap at a fixed address.
75       ntdll: Load libwine dynamically.
76       ntdll: Pop the Unix stack completely in call_user_apc_dispatcher().
77       loader: No longer depend on libwine.
78       libwine: Remove wine/library.h.
79       libwine: Make the remaining configuration functions obsolete.
80       makefiles: Get rid of rpath support.
81       makefiles: Add dependencies for the import lib symlinks.
82       makefiles: Expand makedep path at compile time.
83       makefiles: Store .pot files in a separate variable.
84       makefiles: Add some missing object dir references.
85       makefiles: Build extra targets explicitly if they are not a dependency.
86       advapi32: Build with msvcrt.
87       makefiles: Explicitly import the CRT library also for test dlls.
88       wineandroid.drv: Load libwine dynamically.
89       wineandroid.drv: Pass the source directory on the gradle command line.
90       makefiles: Also store the basename without object dir for generated files.
91       makefiles: Fix a few more object directory references.
92       makefiles: Remove support for generating a single makefile.
93       makefiles: Add separate variable to keep track of source dir font files.
95 Anton Baskanov (5):
96       amstream: Implement AMDirectDrawStream::GetFormat.
97       amstream: Implement AMDirectDrawStream::SetFormat.
98       amstream: Reject incompatible media types in AMDirectDrawStream::ReceiveConnection.
99       amstream: Reconnect if the new format is incompatible with the connection media type in AMDirectDrawStream::SetFormat.
100       amstream: Use current format to create surface in AMDirectDrawStream::CreateSample.
102 Arkadiusz Hiler (7):
103       msvcirt: Implement most of ifstream.
104       msvcirt: Correct the behavior of filebuf::setbuf().
105       msvcirt: Implement ifstream::setbuf().
106       msvcirt: Be more obvious in out-of-memory situations.
107       msvcirt: Implement _mtlock() and _mtunlock().
108       msvcirt: Include iostream in strstream's and stdiostream's rtti hierarchy.
109       msvcirt: Implement a part of fstream.
111 Biswapriyo Nath (7):
112       include/d3dcommon.idl: Add D3DDestructionNotifier interface.
113       include/d3dcommon.idl: Add missing names in D3D_SHADER_VARIABLE_TYPE enum.
114       include/d3dcommon.idl: Add missing names in D3D_NAME enum.
115       include/d3dcommon.idl: Add missing names in D3D_SHADER_INPUT_TYPE enum.
116       include/d3d10.idl: Add flags in D3D10_CREATE_DEVICE_FLAG enum.
117       include/d3d11.idl: Add flags in D3D11_RESOURCE_MISC_FLAG enum.
118       include/d3d11.idl: Add names in D3D11_FILTER enum.
120 Brendan Shanks (3):
121       winevulkan: Change make_vulkan interpreter to '/usr/bin/env python3'.
122       winemac.drv: Print error when no GPUs are detected.
123       winemac.drv: Don't fail GPU detection if some IOKit properties are missing.
125 Carlos Rivera (3):
126       kernel32/tests: Use debugstr_an to show contents of buffer.
127       kernel32/tests: Remove registry entry left out during test.
128       kernel32/tests: Change file name to avoid collision with other tests.
130 Chao Long (2):
131       ntdll: Fix a memory leak (Valgrind).
132       ntdll: Fix a ImagePathName memory leak (Valgrind).
134 Derek Lesho (5):
135       mfplat: Remove fallback media source.
136       winegstreamer: Add stub bytestream handler.
137       winegstreamer: Add stub media source.
138       winegstreamer: Implement source event methods.
139       winegstreamer: Implement IMFMediaSource::Shutdown.
141 Eric Wheeler (1):
142       comctl32/listview: Add Get/SetSelectedColumn() support.
144 Esme Povirk (1):
145       mscoree: Use exe basename to name the default domain.
147 Fabian Maurer (1):
148       user32/menu: Store application defined value as pointer.
150 Francesco Noferi (1):
151       cmd.exe: Fix parsing of && between quotes.
153 Gabriel Ivăncescu (7):
154       msscript.ocx/tests: Add tests for SitehWnd.
155       msscript.ocx: Implement IScriptControl::put_SitehWnd.
156       msscript.ocx: Implement IScriptControl::get_SitehWnd.
157       msscript.ocx: Implement IActiveScriptSiteWindow::GetWindow.
158       msscript.ocx: Return S_OK from the IActiveScriptSiteWindow::EnableModeless stub.
159       msscript.ocx: Implement UseSafeSubset properly by setting the interface safety options.
160       msscript.ocx: Supply a stub ServiceProvider to InvokeEx in run_procedure.
162 Georg Lehmann (1):
163       winex11.drv: Use vkGetPhysicalDeviceProperties2KHR to get gpu properties.
165 Gijs Vermeulen (1):
166       crypt32: Remove unused variable in test_CryptBinaryToString().
168 Hans Leidekker (12):
169       mountmgr: Add ioctl to read host credentials on macOS.
170       advapi32: Read host credentials through mountmgr.
171       mountmgr: Add ioctl to write host credentials on macOS.
172       advapi32: Write host credentials through mountmgr.
173       mountmgr: Add ioctl to delete host credentials on macOS.
174       advapi32: Delete host credentials through mountmgr.
175       mountmgr: Add ioctl to enumerate host credentials on macOS.
176       advapi32: Enumerate host credentials through mountmgr.
177       ntdll: Return buffer filled with random values from NtQuerySystemInformation(SystemInterruptInformation).
178       advapi32: Reimplement SystemFunction036 using system interrupt information.
179       advapi32: Use wide character string literals.
180       crypt32: Store CERT_KEY_CONTEXT in a platform independent way.
182 Isabella Bosia (7):
183       iphlpapi: Unify conversions to interface guid.
184       iphlpapi: Make the interface guids more unique.
185       wine.inf: Create NDIS service.
186       ndis.sys: Create network card registry keys.
187       ndis.sys: Create network card devices.
188       ndis.sys: Implement IOCTL_NDIS_QUERY_GLOBAL_STATS on network cards.
189       ndis.sys/tests: Add tests for ndis ioctls.
191 Jacek Caban (28):
192       conhost: Implement IOCTL_CONDRV_FILL_OUTPUT.
193       conhost: Implement IOCTL_CONDRV_SCROLL.
194       kernelbase: Move KERNEL32_CONSOLE_ALLOC handling to kernelbase.
195       kernel32/tests: Skip more FreeConsole tests on win7.
196       server: Introduce IOCTL_CONDRV_CTRL_EVENT ioctl.
197       kernelbase: Use IOCTL_CONDRV_CTRL_EVENT in GenerateConsoleCtrlEvent.
198       server: Support IOCTL_CONDRV_CTRL_EVENT on console server handles.
199       conhost: Support CTRL_C_EVENT in write_console_input.
200       conhost: Initialize tty output.
201       conhost: Support setting tty title in set_console_title.
202       conhost/tests: Add initial tty tests.
203       conhost: Synchronize tty cursor position in set_output_info.
204       conhost: Support tty output in write_output.
205       conhost/tests: Add tty output tests.
206       conhost: Update tty output in fill_output.
207       conhost: Update tty output in scroll_output.
208       conhost: Update tty output in IOCTL_CONDRV_ACTIVATE.
209       dwrite.idl: Use DEFINE_ENUM_FLAG_OPERATORS for enums that need it.
210       conhost: Move console input processing into a separated function.
211       conhost: Add tty input implementation.
212       conhost/tests: Add tty input tests.
213       kernel32/tests: Skip more tests on old Windows.
214       conhost: Use more standard hide cursor sequence.
215       conhost: Introduce IOCTL_CONDRV_WRITE_CONSOLE ioctl.
216       kernel32: Use IOCTL_CONDRV_WRITE_CONSOLE in WriteConsoleW when possible.
217       conhost/tests: Add WriteConsole tests.
218       kernel32/tests: Allow ENABLE_VIRTUAL_TERMINAL_PROCESSING in default mode.
219       conhost/tests: Wait for child process in test_pseudoconsole.
221 Jeff Smith (3):
222       qcap/tests: Test effect of setting stream format on media type enumeration.
223       qcap: Calculate image size and pitch when setting format.
224       qcap: Enumerate one media type if pin format has been set.
226 Jiajin Cui (1):
227       gdiplus: Make gdi_alpha_blend fallback to StretchBlt if current Compositing Mode is SourceCopy.
229 Ken Thomases (2):
230       dbghelp: Avoid asserting on egregiously long stabs symbol names.
231       mountmgr: Avoid operating on a null CFStringRef, which would crash.
233 Liam Middlebrook (1):
234       winevulkan: Fail on explicit layer usage.
236 Louis Lenders (1):
237       ntdll: RtlConvertToAutoInheritSecurityObject is NTSTATUS, not BOOL.
239 Martin Storsjo (4):
240       ntdll: Fix arm64 regression from "Clear the syscall frame on return".
241       ntdll: Don't truncate SP in arm64 handle_syscall_fault.
242       ntdll: Add ARM64 SEH unwind directives for assembly functions in PE builds.
243       ntdll: Fix more corner cases for arm64 packed info unwinding.
245 Matteo Bruni (5):
246       d3d11: Report D3D11_FORMAT_SUPPORT_TEXTURECUBE in CheckFormatSupport().
247       d3d11: Report D3D11_FORMAT_SUPPORT_MIP in CheckFormatSupport().
248       d3d11: Report D3D11_FORMAT_SUPPORT_MIP_AUTOGEN in CheckFormatSupport().
249       d3d11: Report D3D11_FORMAT_SUPPORT_BLENDABLE in CheckFormatSupport().
250       d3d11: Report multisample flags in CheckFormatSupport().
252 Myah Caron (2):
253       cmd.exe: Fix /Y flag for move builtin.
254       cmd.exe: Don't prompt for move when non-interactive.
256 Nikolay Sivov (28):
257       combase: Move stub manager.
258       combase: Move CoReleaseMarshalData().
259       combase: Move CoUnmarshalInterface().
260       combase: Move remaining marshalling code.
261       combase: Move ORPC functionality.
262       combase: Move currently unimplemented COM API functions.
263       combase: Move default memory stream implementation.
264       api-ms: Redirect com-private to combase.
265       combase: Implement local server registration via SCM.
266       kernelbase: Forward ConvertToAutoInheritPrivateObjectSecurity() to ntdll.
267       combase: Use typed list iteration macros.
268       evr: Create and initialize mixer transform attributes.
269       evr/mixer: Use same max input count symbol for GetStreamLimits().
270       mf/evr: Actually use custom mixer when available.
271       mf/evr: Implement stream sinks management functionality.
272       mf/evr: Add events support for video stream sinks.
273       mf/session: Add support for MR_VIDEO_RENDER_SERVICE service.
274       mf/tests: Fix tests crashes.
275       mf/evr: Create stream sinks for default mixer inputs.
276       mf/evr: Add a IMFMediaTypeHandler stub for input video streams.
277       mf/evr: Add GetMajorType() for the stream sink.
278       evr/mixer: Return initial mixing preferences.
279       maintainers: Get rid of removed paths.
280       evr/mixer: Add another set of attributes.
281       combase: Implement CoCreateInstanceFromApp().
282       ole32/tests: Use treat-as-class functions directly.
283       ole32/tests: Link to storage API directly.
284       ole32/tests: Fix test crash on recent Windows 10.
286 Owen Rudge (2):
287       winecfg: Ensure registry key is initialised before updating Windows version.
288       winecfg: Add /v parameter to display current Windows version.
290 Paul Gofman (22):
291       ntdll: Implement RtlGetExtendedContextLength().
292       kernel32: Implement InitializeContext[2]().
293       kernel32: Implement LocateXStateFeature().
294       ntdll: Implement RtlLocateLegacyContext().
295       ntdll: Clear CONTEXT_XSTATE flag in RtlUnwindEx().
296       wbemprox: Provide semi-stub implementation for client_security_QueryBlanket().
297       kernel32: Implement SetXStateFeaturesMask().
298       kernel32: Implement GetXStateFeaturesMask().
299       kernel32: Implement CopyContext().
300       ntdll: Implement saving AVX registers in NtGetContextThread().
301       ntdll/tests: Add tests for capturing context with xstate.
302       ntdll/tests: Fix exception test failures on win10pro.
303       ntdll/tests: Fix virtual test failures on win10pro.
304       d3dcompiler: Support ID3D12ShaderReflection interface in D3DReflect().
305       d3dcompiler/tests: Add test for reflection interfaces.
306       d3dcompiler/tests: Test d3d12 interface in test_reflection_desc_vs().
307       d3dcompiler: Set range id to bind point for sm < 5.1.
308       d3dcompiler/tests: Test d3d12 interface in test_reflection_constant_buffer().
309       d3dcompiler: Fill texture fields in D3D11_SHADER_VARIABLE_DESC with default values.
310       vcruntime140_1: Handle rethrowing from nested try blocks on x64.
311       msvcrt: Handle rethrowing from nested try blocks on x64.
312       d3dcompiler/tests: Test d3d12 interface in test_reflection_bound_resources().
314 Pengpeng Dong (1):
315       quartz: Return E_POINTER from IVideoWindow::get_Visible() if "visible" is NULL.
317 Robert Wilhelm (1):
318       vbscript: Colon used in for loop.
320 Roberto Pungartnik (1):
321       po: Update Brazilian Portuguese translation.
323 Rémi Bernon (16):
324       bcrypt: Return STATUS_INVALID_PARAMETER on ECC magic mismatch.
325       bcrypt: Export ECDSA/ECDH blobs with the correct header magic.
326       gdi32: Only trace new faces when they are added.
327       winex11.drv: Don't wait for the desktop thread to store clipping window.
328       widl: Search for known types in current namespace.
329       widl: Output interface C names in method argument list.
330       widl: Support fully qualified names in WinRT mode.
331       gdi32/tests: Test extended TTF font names and collisions.
332       gdi32: Introduce ft_face_get_family/style_name helpers.
333       gdi32: Rewrite prepend_at helper as get_vertical_name.
334       gdi32: Build full name from family + style when missing.
335       gdi32: Rename StyleName to style_name for consistency.
336       gdi32: Use fixed size array for family and english name.
337       gdi32: Compare full name before discarding faces.
338       kernelbase: Also pass CreateFile2 file flags to CreateFileW.
339       user32: Return TRUE from ShowWindow(SW_SHOW) if already visible.
341 Zebediah Figura (36):
342       quartz/vmr9: Avoid leaking the presenter's reference to the d3d9 device.
343       winegstreamer: Fix a leak in gstdecoder_source_get_media_type().
344       amstream/tests: Avoid leaking "stream" in test_find_pin().
345       amstream/tests: Get rid of test_renderfile().
346       kernel32/tests: Pass the correct size for PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE.
347       d3dcompiler/tests: Add more tests for SM4 constant packing.
348       d3dcompiler/tests: Add tests for constant buffer binding descriptors.
349       d3dcompiler/tests: Add tests for semantics.
350       d3dcompiler/tests: Add tests for samplers.
351       d3dcompiler: Unconditionally report special (pixel shader output) sysvals based on the semantic name.
352       server: Avoid a potential NULL dereference in startup_info_dump().
353       d3d11/tests: Test specifying the multisample mask via OMSetBlendState().
354       d3d10core/tests: Test specifying the multisample mask via OMSetBlendState().
355       d3d9/tests: Add a test for sample masks.
356       wined3d: Store the sample mask in wined3d_state.
357       wined3d: Implement OpenGL sample masks.
358       wined3d: Read the SM5 resource type instruction modifier.
359       wined3d: Read the SM5 resource data type instruction modifier.
360       dxgi: Add DXGI_FORMAT_NV12 and DXGI_FORMAT_YUY2.
361       d3d11: Add DXGI_FORMAT_NV12 and DXGI_FORMAT_YUY2.
362       qcap/avimux: Pass the correct field to CONTAINING_RECORD in impl_sink_from_strmbase_pin().
363       wintrust/tests: Add more tests for CryptCATOpen() file modes.
364       wintrust: Assign the file open mode directly instead of treating it as a bitmask.
365       wintrust: Translate a lack of open mode flags to OPEN_ALWAYS.
366       wintrust: Translate CRYPTCAT_OPEN_CREATENEW to CREATE_ALWAYS.
367       include: Add more setupapi error codes.
368       include: Add a couple more SIP indirect data flags.
369       mssign32: Use public SPC_* flag definitions.
370       include: Add catalog file version constants.
371       server: Use GENERIC_READ | GENERIC_WRITE in inherit_console().
372       include: Use ioctl access bits for console driver ioctls.
373       winegstreamer: Dereference messages dropped from watch_bus().
374       ws2_32: Keep a list of open sockets.
375       ws2_32: Close all open sockets in WSACleanup().
376       server: Remove no longer used enumerate_handles().
377       server: Remove no longer used is_fd_signaled().
379 Zhiyi Zhang (6):
380       user32: Always wait for the desktop process to be ready in load_desktop_driver().
381       ddraw/tests: Add display mode frequency tests.
382       ddraw: Report correct frequency in GetDisplayMode().
383       dxgi/tests: Relax closest matching mode comparison.
384       dxgi/tests: Fix swapchain parameter test failures on Win10 1909.
385       dxgi/tests: Fix output ownership test failures on Win10 1909.
387 Ziqing Hui (8):
388       d3dx10: Introduce get_d3dx10_dds_format().
389       d3dx10: Add D3DX10GetImageInfoFromFile{A, W}() stub implementation.
390       d3dx10: Add D3DX10GetImageInfoFromResource{A, W}() stub implementation.
391       d3dx10/tests: Introduce create_file() and delete_file().
392       d3dx10/tests: Introduce check_image_info().
393       d3dx10/tests: Add tests for D3DX10GetImageInfoFromFileW().
394       windowscodecs/tests: Add tests for calling WriteSource() without calling SetSize() prior to it.
395       windowscodecs: Correctly set output frame size for WriteSource().
398 Alexandre Julliard
399 julliard@winehq.org