taskkill: Use wide-char string literals.
[wine.git] / ANNOUNCE
blob47085db2357a06c903c4cca8ff3cd6b7b3e7f866
1 The Wine development release 5.18 is now available.
3 What's new in this release (see below for details):
4   - Vulkan shader compilation using the new vkd3d-shader library.
5   - USER32 library converted to PE.
6   - Console no longer requires the curses library.
7   - Support for display modes with various orientations.
8   - A number of syntax fixes in the WIDL compiler.
9   - Non-recursive makefiles.
10   - Various bug fixes.
12 The source is available from the following locations:
14   https://dl.winehq.org/wine/source/5.x/wine-5.18.tar.xz
15   http://mirrors.ibiblio.org/wine/source/5.x/wine-5.18.tar.xz
17 Binary packages for various distributions will be available from:
19   https://www.winehq.org/download
21 You will find documentation on https://www.winehq.org/documentation
23 You can also get the current source directly from the git
24 repository. Check https://www.winehq.org/git for details.
26 Wine is available thanks to the work of many people. See the file
27 AUTHORS in the distribution for the complete list.
29 ----------------------------------------------------------------
31 Bugs fixed in 5.18 (total 42):
33   10603  IDirectSoundBufferImpl_SetFX needed for sound effects in several games
34   18670  QIP Infium 2.0 build 9030 crashes on exit (needs a proper implementation of WSACleanup)
35   21232  Multiple games and applications (Chromium-based browser engines, Blizzard games, League of Legends) crash due to hooking/anticheat validation (needs syscall thunks in ntdll.dll)
36   22749  Hard link creation from a Finddupe-generated batch file fails ('fsutil.exe' needs to support 'hardlink create' command)
37   35467  Multiple games crash on unimplemented function msvcirt.dll.??0fstream@@QAE@PBDHH@Z (Lock On: Modern Air Combat, TRON 2.0)
38   36960  Avencast: Rise of the Mage fails to start (D3DXCreateTextureFromFileA failed)
39   37254  wineconsole/curses.c fails to build on NetBSD 6.1.4
40   37491  wineconsole requires/uses TERM environment variable
41   37644  .NET console applications using System.Console.Clear() crash when directly started in terminal
42   38964  widl: inconsistent null pointer checks in typelib writer
43   39469  PreSonus Studio One 3 says it requires Windows 7 SP1 (d3d11 '{bb2c6faa-b5fb-4082-8e6b-388b8cfa90e1}', 'ID3D11DeviceContext1' not implemented)
44   43107  The Witcher 3 fails to detect dx11 - registry dx11>opengl applied
45   44422  Vectric Aspire 9 : it does not load 3d images
46   45433  dark souls 3: cannot change resolution in fullscreen mode
47   45573  League of Legends 8.12+ fails to start a game (anticheat engine, hooking of syscall return instructions)
48   45797  NVIDIA GeForce Experience 3.x installer fails due to 'mshtml.OleObject_{Get,Set}Extent' stubs
49   47251  add support for ConPTY API (pseudo console)
50   47491  dinput event queue is overflowing and stalling the whole game/wineserver
51   48396  'cmd.exe /c move file1 file2' doesn't respect non-interactive mode, causing prompt for overwrite if destination file exists
52   48397  'cmd.exe /c move file1 file2' doesn't overwrite existing destination file in non-interactive mode
53   48952  NVDA hangs on start
54   49038  O.E.D.  v 4.0 (Oxford English Dictionary) No longer starts.
55   49206  ITHVNR: hooked processes segfault
56   49309  vbscript:run test fails in Japanese locale
57   49335  Dolphin EasyReader for Windows 6.04 (TTS app) crashes after completing startup wizard (needs IMarkupServices::CreateMarkupPointer method implementation)
58   49343  Neverwinter Online: Launcher crash on Startup
59   49532  .NET 4.0 and higher fail to install via winetricks
60   49591  Multiple GOG installers display the error message "Out of Global Vars range"
61   49624  Protocol error: process 0020: recvmsg: Message too long on mac OS
62   49643  Calling ClipCursor too frequently can cause stack overflow in foreground window thread.
63   49647  wine 5.14 build fails in winegstreamer on Ubuntu 16.04 and Debian 9
64   49738  "warning: implicit declaration of function ‘strtoumax’" when compiling PuTTY with Winelib
65   49765  SlingPlayer Desktop crashes on unimplemented function msvcrt._snprintf_c
66   49770  Firestorm viewer crashes
67   49774  macDriver no longer functions within macOS VM
68   49806  WIDL doesn't tolerate attribute [hidden] within enums.
69   49811  cmd /c "cd "directory"&&"somecommand.exe"" tries to cd to "directory"&&"somecommand.exe"
70   49820  VBScript fails to parse decimal literals between -1 and 1 without 0 in front
71   49834  45a63e5b3ce0e5d7fcc55ce57f315086b87f8ad7 breaks binary compatibility with 5.0 on passing main() argc
72   49847  Logos Bible 8: wineserver always using 100% CPU core
73   49850  No One Lives Forever crashes due to GetMotif stub in dmstyle
74   49889  wineserver shows failed assertion on shutdown
76 ----------------------------------------------------------------
78 Changes since 5.17:
80 Akihiro Sagawa (1):
81       vbscript: Support non-Latin 1 characters in Asc.
83 Alexandre Abgrall (1):
84       msxml3: Fix value of 'fetched' in IEnumVARIANT::Next() for IXMLDOMSelection.
86 Alexandre Julliard (34):
87       vbscript: Add support for translating messages.
88       kernel32/tests: Avoid assumptions about the current working directory.
89       makefiles: Generate a single non-recursive makefile at the top level.
90       makefiles: Regenerate po files with full path information.
91       makefiles: Remove .. components from generated paths.
92       makefiles: Remove directory variables that are redundant with non-recursive make.
93       ntdll: Update argc when changing process name.
94       makefiles: Only add default libraries for Unix builds.
95       makefiles: Don't use default imports for Unix libraries.
96       makefiles: Define WINE_UNIX_LIB when building Unix libraries.
97       include: Don't use IsBadStringPtr in debug functions for Unix libraries.
98       crypt32: Move GnuTLS-specific helpers into the #ifdef.
99       ntdll: Add support for loading a Unix helper library from builtin dlls.
100       user32: Move PNG support to a new Unix library.
101       user32: Build with msvcrt.
102       user32: Use wide character string literals.
103       user32: Use wide character string literals for system parameter entries.
104       ntdll: Add inline wrappers for pthread mutex locking.
105       ntdll: Don't lock mutexes during process exit.
106       server: Add an object operation to retrieve an object name.
107       server: Return the device name for device files.
108       server: Return the device name for mailslot files.
109       server: Return the device name for named pipe files.
110       server: Implement object name information for registry keys.
111       server: Pass all creation arguments to the device creation functions.
112       server: Use OBJ_PERMANENT for permanent objects.
113       server: Rename make_object_static() to make_object_permanent().
114       server: Keep permanent objects on the standard object list.
115       server: Restart search from the start when releasing permanent objects at exit.
116       server: Initialize the object permanent flag.
117       makefiles: Don't build Unix object files on Windows.
118       include: Also define gethostname for msvcrt builds.
119       kernel32: Get rid of obsolete 16-bit relay functions.
120       kernel32: Make export directory writable to set FT_Thunk to 0.
122 Alistair Leslie-Hughes (6):
123       ws2_32: Map AI ALL_option in getaddrinfo().
124       include: Add inclusion guards for schema API enums.
125       include: Remove coclasses that don't belong to msxml6.idl.
126       xactengine3_7: Return S_OK from IXACT3Cue Destroy.
127       dmband: Semi-stub IDirectMusicBand CreateSegment.
128       dmstyle: Implement IDirectMusicStyle8 GetBand.
130 Anton Baskanov (4):
131       amstream: Implement AMDirectDrawStream::SetState.
132       amstream: Implement AMDirectDrawStream::EndOfStream.
133       amstream: Call ::SetFormat in AMDirectDrawStream::CreateSample.
134       amstream: Implement AMDirectDrawStream::Receive and IDirectDrawStreamSample::Update.
136 Aurimas Fišeras (3):
137       po: Update Lithuanian translation.
138       po: Update Lithuanian translation.
139       po: Update Lithuanian translation.
141 Biswapriyo Nath (5):
142       include/ddraw.h: Add missing members in DDPIXELFORMAT struct.
143       include/ddraw.h: Add missing UpdateOverlay flags.
144       include/ddraw.h: Add missing DDSCAPS2.dwCaps2 flags.
145       include/ddraw.h: Add DDSCAPS2.dwCaps3 flags.
146       include/ddraw.h: Add missing dwFlags of DD_BLTDATA struct.
148 Daniel Lehman (1):
149       wininet: Implement INTERNET_OPTION_SECURITY_CERTIFICATE flag for InternetQueryOption.
151 Dmitry Timoshkov (4):
152       setupapi/tests: Add explicit field for inf contents size.
153       setupapi: Treat trailing \0 in field values same way as trailing spaces.
154       sxs: Return correct path from IAssemblyCache::QueryAssemblyInfo().
155       crypt32: Fix conversion of CRYPT_KEY_PROV_INFO between store and certificate property.
157 Esme Povirk (1):
158       gdiplus/tests: Don't test point type array padding.
160 François Gouget (5):
161       vbscript: Fix the spelling of the delimiter* variables.
162       ntdll: Fix the spelling of the arch_context_parameters variable.
163       ntdll/tests: Fix the spelling of a couple of ok_() messages.
164       conhost/tests: Fix the spelling of a comment message.
165       msvcirt/tests: Fix the spelling of a couple of ok() messages.
167 Georg Lehmann (2):
168       winevulkan: Add is_alias for VkFunctionPointer.
169       winevulkan: Forward declare required structs for function pointer.
171 Gijs Vermeulen (11):
172       msvcr120: Add [_]strtoimax[_l] and [_]strtoumax[_l].
173       msxml3/tests: Add more iteration tests for IXMLDOMNamedNodeMap, IXMLDOMSchemaCollection and IXMLDOMNodeList.
174       msxml3: Support Reset() for IEnumVARIANTs created by create_enumvariant.
175       msxml3: Support retrieving more than one element in IEnumVARIANT::Next() for IXMLElementCollection.
176       msvcrt: Add _s[w|n]printf_c[_l].
177       msvcrt: Fix _snprintf_l function signature.
178       msvcrt: Add _snprintf_s_l.
179       msvcirt: Set error when file can't be opened in fstream_open_ctor.
180       msvcirt: Implement ofstream class.
181       mshtml: Implement IOleObject::[Get|Set]Extent.
182       dwmapi: Implement DwmIsCompositionEnabled.
184 Haidong Yu (3):
185       conhost: Add missing LeaveCriticalSection.
186       ws2_32: Add missing LeaveCriticalSection.
187       conhost: Input should be restored and input_thread handle should be closed before return.
189 Hans Leidekker (2):
190       crypt32: Set key context if PKCS12_NO_PERSIST_KEY is passed, otherwise set key provider info.
191       crypt32: Add support for CRYPT_MACHINE_KEYSET in PFXImportCertStore.
193 Haoyang Chen (1):
194       gdiplus: Implement GdipEnumerateMetafileSrcRectDestRect.
196 Henri Verbeet (3):
197       wined3d: Do not accumulate ended queries in wined3d_query_vk_poll().
198       wined3d: Implement shader_spirv_compile_vk().
199       wined3d: Implement sample masks for the Vulkan adapter.
201 Jacek Caban (42):
202       conhost: Introduce IOCTL_CONDRV_READ_CONSOLE ioctl.
203       conhost: Add support for ENABLE_ECHO_INPUT.
204       conhost: Add support for ENABLE_LINE_INPUT.
205       kernel32: Use IOCTL_CONDRV_READ_CONSOLE in ReadConsoleW when possible.
206       kernel32: Use NtDeviceIoControlFile directly for IOCTL_CONDRV_READ_CONSOLE and IOCTL_CONDRV_WRITE_CONSOLE.
207       conhost/tests: Improve handling slow conhost replies.
208       conhost/tests: Allow clear screen on console exit.
209       conhost/tests: Add ReadConsole tests.
210       conhost: Free screen buffer data in destroy_screen_buffer.
211       server: Introduce console_connection object.
212       kernelbase: Create console connection in init_console.
213       server: Allow creating unbound console connection objects.
214       server: Introduce IOCTL_CONDRV_BIND_PID ioctl.
215       server: Support creating console reference from console connection object.
216       kernelbase: Use console connection object in AttachConsole.
217       server: Remove no longer used attach_console request.
218       conhost: Explicitly set tty cursor position after updating output in write_console.
219       conhost: Signal console in tty_input if needed.
220       conhost: Terminate current read request when input when reading tty input fails.
221       conhost: Introduce Unix mode.
222       conhost: Use CP_UNIXCP in Unix mode.
223       conhost: Force using relative cursor positioning in update_read_output.
224       conhost: Delay creating input thread in Unix mode.
225       server: Introduce IOCTL_CONDRV_SETUP_INPUT ioctl.
226       conhost: Use IOCTL_CONDRV_SETUP_INPUT to initialize input in Unix mode.
227       kernelbase: Move force override logic to init_console_std_handles callers.
228       ntdll: Pass RTL_USER_PROCESS_PARAMETERS to get_initial_console.
229       ntdll: Fill console size in get_initial_console.
230       kernelbase: Use conhost to handle Unix consoles.
231       kernel32: Remove no longer used bare console support.
232       conhost: Fix a leak in create_screen_buffer.
233       wineconsole: Remove curses backend.
234       configure: Remove curses checks.
235       server: Remove support for creating bare consoles.
236       kernelbase: Move ReadConsoleInput.
237       kernel32: Move Beep implementation to conhost.
238       kernel32: Move Beep() to kernelbase.
239       conhost: Improve bound checking in fill_output.
240       kernelbase: Duplicate input and output handles to ensure that they are inheritable.
241       conhost/tests: Don't use inheritable handle for console pipe end.
242       conhost: Terminate pseudo console on input error.
243       user32: Support control characters in null driver VkKeyScanEx implementation.
245 Jactry Zeng (1):
246       comctl32: Implement WM_GETTEXTLENGTH for datetime picker.
248 Jiangyi Chen (1):
249       iphlpapi: Rename local variables shadowing the flags parameters.
251 Kevin Puetz (6):
252       rpcrt4: Fix ARM64 stack corruption in call_server_func.
253       oleaut32/tests: Reformat test_dump_typelib.
254       oleaut32/tests: Fix expect_wstr_acpval(...,NULL).
255       widl: All VARDESC fields of TKIND_UNION should have oInst=0.
256       oleaut32/tests: Cover GetVarDesc in test_dump_typelib.
257       widl: Remove duplicate '\n\n' in midl_info_guid.
259 Liam Middlebrook (1):
260       winevulkan: Update to VK spec version 1.2.154.
262 Martin Storsjo (1):
263       ntdll: Implement __C_specific_handler and _local_unwind for arm64.
265 Michael Müller (2):
266       ntdll: Implement NtFilterToken.
267       server: Implement support for creating a process with a specified token.
269 Michael Stefaniuc (13):
270       directmanipulation: Print the debug string and not the pointer to it.
271       winegstreamer: Drop redundant NULL check before heap_free().
272       xactengine3_7: Remove superfluous cast to self.
273       advapi32: Remove superfluous cast to self.
274       gdiplus/tests: Use the ARRAY_SIZE() macro.
275       windowscodecs/tests: Use the ARRAY_SIZE() macro.
276       qedit: Drop redundant NULL check before free().
277       dmime: Reimplement IPersistStream_Load() for SegTrigger track.
278       dmime: Simplify the parse_segments_list() helper.
279       dmime: Reimplement the segment item parser.
280       dmime: dmutils.h is no longer needed.
281       dmime: Get rid of the DMUS_PRIVATE_SEGMENT_ITEM typedef.
282       dmcompos: Remove the unused DMUS_PRIVATE_CHUNK struct.
284 Myah Caron (10):
285       msvcr120: Add imaxabs.
286       shell32: Add ShellLinkObject stubs.
287       shell32: Implement ShellLinkObject::get_Path.
288       sapi: Add AudioOutput registry keys.
289       sapi: Improve GetDefaultTokenId stub.
290       sapi: Fix MMAudioOut registry key location.
291       sapi: Add stubs for SpObjectToken.
292       sapi: Improve stub for ISpObjectToken::SetId.
293       dmstyle: Return S_FALSE for IDirectMusicStyle8::GetMotif.
294       dmband: Avoid cloning stream in parse_bands_list.
296 Nikolay Sivov (27):
297       include: Add some missing types to msxml6 typelib.
298       include: Handle same typelib name in msxml2.idl and msxml6.idl.
299       widl: Emit a guard around library contents.
300       combase: Use public symbol for special PS context flag.
301       ole32: Remove some leftovers from private header.
302       combase: Manage per-thread call cancellation counter.
303       oleacc: Use wide string constants.
304       oleacc/tests: Use wide string constants.
305       evr/mixer: Handle uninitialized input case in GetOutputAvailableType().
306       evr/tests: Add a test for returned input type instance.
307       dxva2: Implement CreateSurface().
308       dxva2: Return single software device for GetVideoProcessorDeviceGuids().
309       ole32/clipboard: Use wide string constants.
310       ole32/comcat: Use wide string constants.
311       dxva2: Return some static render target formats.
312       evr/mixer: Fix error handling in output types collection helper.
313       winedbg: Double dll name buffer size for unimplemented function exception.
314       include: Add an entry for ProcessIoPriority.
315       kernel32/tests: Link to more functions directly.
316       kernel32/tests: Add a test for PROC_THREAD_ATTRIBUTE_HANDLE_LIST.
317       server: Implement inherited handles list.
318       widl: Enable [hidden] attribute for enums.
319       widl: Allow [hidden] attribute on enum members.
320       widl: Add null source pointer check for typelib writer.
321       widl: Allow [restricted] for coclass-es.
322       comctl32/datetime: Do not call default procedure for WM_NCCREATE.
323       comctl32/tests: Use wide strings literals.
325 Paul Gofman (13):
326       d3d11: Avoid crash in _CopySubresourceRegion[1]() on NULL resources.
327       d3d10core/tests: Add test for NULL resource parameters for _CopySubresourceRegion().
328       msvcrt/tests: Test .{O|A}CP locale string.
329       wmc: Add Dxgi facility.
330       kernel32: Add string for DXGI_INVALID_CALL error.
331       kernel32: Add string for DXGI_ERROR_NOT_CURRENTLY_AVAILABLE error.
332       ntdll/tests: Test named pipe with empty name.
333       wined3d: Track resource binding as render target.
334       wined3d: Don't check for readonly depth / stencil in context_preload_texture().
335       wined3d: Track SRV to RTV aliasing on sub resource level.
336       msvcrt: Implement _mbsnextc_l().
337       msvcrt: Implement _mbscmp_l().
338       msvcrt: Implement _mbbtype_l().
340 Pengpeng Dong (2):
341       gdiplus: Initialize the dead point coordinates in "GpPointF, *ptf" to 0.
342       conhost: Validate width param in write_output.
344 Piotr Caban (13):
345       d3d9: Lock wined3d mutex in d3d9_device_CreateTexture().
346       msvcrt: Fix buffer overflow in _write function.
347       msvcrt: Fix _vs{w,n}printf_c function when terminating character doesn't fit into buffer.
348       msvcrt: Fix count parameter type in printf functions family.
349       msvcirt: Set error when file can't be opened in ifstream_open_ctor.
350       msasn1: Fix buffer allocations.
351       msvcrt: Use default user locale when only codepage is passed to setlocale.
352       msvcrt: Fix console detection in _write.
353       server: Don't create wait object if infinite timeout is passed to NtSetTimer.
354       server: Don't overflow if timeout doesn't fit into int range in get_next_timeout.
355       setupapi: Remove unused end parameter from next_xml_attr internal function.
356       setupapi: Copy all files specified in manifest on wine dll install.
357       gdi32: Share font_gamma_ramp structure between all DCs.
359 Robert Wilhelm (3):
360       vbscript: Parse decimal literals between -1 and 1 without 0 in front.
361       vbscript: Fix vanishing statements.
362       vbscript: Fix handling zero and negative number arguments in err.raise.
364 Roberto Pungartnik (1):
365       po: Brazilian Portuguese update.
367 Rémi Bernon (6):
368       gdi32/tests: Add test fonts with names in several languages.
369       gdi32: Look for another secondary font family name.
370       gdi32: Use explicit CDECL in gdi_image_bits.
371       gdi32: Use explicit CDECL in window_surface_funcs.
372       windowscodecs/tests: Add a simple JXR/WMP test case.
373       windowscodecs: Support JXR/WMP detection and formats.
375 Stefan Dösinger (1):
376       ntdll: Use the MacOS file handle limit workaround from libs/wine/loader.c.
378 Sven Baars (1):
379       ntdll: Fix some memory leaks (Valgrind).
381 Vijay Kiran Kamuju (1):
382       include: Remove duplicated defines in winnt.h.
384 Yongjie Yao (1):
385       msxml3: Fix a memory leak (Valgrind).
387 Zebediah Figura (23):
388       server: Create the Afd device.
389       server: Return a new, uninitialized socket when opening the Afd device.
390       server: Introduce IOCTL_AFD_CREATE.
391       ws2_32: Reimplement WSASocketW() on top of NtOpenFile() and IOCTL_AFD_CREATE.
392       server: Remove the no longer used create_socket request.
393       advapi32/tests: Test which tokens DuplicateHandle() validates access against.
394       advapi32/tests: Add more tests for CreateRestrictedToken().
395       kernelbase: Implement CreateRestrictedToken().
396       advapi32/tests: Add basic tests for CreateProcessAsUser().
397       ntdll: Pass the token to NtCreateUserProcess().
398       kernelbase: Pass the token to NtCreateUserProcess().
399       server: Check duplicated handle access against the calling thread token and target process token.
400       wined3d: Factor out wined3d_state_uses_depth_buffer().
401       winegstreamer: Don't set the buffer offset in request_buffer_src().
402       winegstreamer: Avoid leaking a newly allocated buffer on failure in request_buffer_src().
403       ws2_32: Translate WSA_FLAG_OVERLAPPED to NT overlapped flags.
404       ws2_32: Translate SIO_ADDRESS_LIST_CHANGE into a proper NT ioctl.
405       server: Move sock_ioctl() down to avoid forward declarations.
406       ws2_32/tests: Add more tests for WSASocket() parameters.
407       ws2_32: Always return WSAEINVAL if AF_UNSPEC is used with a zero protocol.
408       wined3d: Introduce a depth/stencil state object.
409       d3d11: Use wined3d depth/stencil state objects.
410       wined3d: Fully move the depth buffer enable state to wined3d_depth_stencil_state.
412 Zhipeng Zhao (1):
413       winex11.drv: If the end of the sequence is '\r\n', there is no need to add extra '\r'.
415 Zhiyi Zhang (5):
416       user32/tests: Fix a test failure.
417       user32/tests: Add display orientation tests.
418       winex11.drv: Sort display modes with orientation considered.
419       winex11.drv: Support finding a full display mode with specified orientation.
420       winex11.drv: Support display orientations for XRandR 1.4 display settings handler.
422 Ziqing Hui (2):
423       kernel32/tests: Add more tests for UpdateResource.
424       kernel32: Use uppercase name in UpdateResourceW().
427 Alexandre Julliard
428 julliard@winehq.org