hid: Rewrite HidP_Get*Caps using HidP_GetSpecific*Caps.
[wine.git] / ANNOUNCE
blob5df9e99ba3cf533da93411747dc0f12730fff9b1
1 The Wine development release 6.11 is now available.
3 What's new in this release (see below for details):
4   - Theming support in all builtin programs.
5   - All remaining CRT math functions imported from Musl.
6   - MP3 support requires libmpg123 also on macOS.
7   - Support for codepage 720 (Arabic).
8   - Various bug fixes.
10 The source is available from the following locations:
12   https://dl.winehq.org/wine/source/6.x/wine-6.11.tar.xz
13   http://mirrors.ibiblio.org/wine/source/6.x/wine-6.11.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 6.11 (total 33):
31   24172  Microsoft SyncToy 2.1 doesn't start with Wine-Mono
32   29184  Hogs of War: ground is missing somewhere
33   30244  Might & Magic Clash of Heroes: fails to start
34   36165  msvcrt/string tests fail under valgrind
35   37149  python 3.1.1:  test_cmath failed
36   37858  WHO Anthro (.NET app) installer fails, reporting 'FATAL UNHANDLED EXCEPTION: The specified table does not exist.'
37   39142  Roblox Client/Server connection is dropped with error "This server has shut down."
38   40505  PDF Eraser Shows False File Names in File Open dialog with wine-mono
39   41048  Roller Coaster Rampage fails to start: 'Failed to init XACT' - {0aa000aa-f404-11d9-bd7a-0010dc4f8f81} xactengine2_0.dll
40   41292  Nexton LC-ScriptEngine freezes, possibly bad dsound notifications
41   41403  Ri-li 2.0.1 shows black screen instead of actual game content
42   42215  Pendulumania: Black screen (needs to emulate 8bpp mode in winex11)
43   42928  EmuMovies Sync 2.x fails login with Wine-Mono
44   44511  Winecfg - Only partially shows new theme after clicking apply
45   45202  Stories: The Path of Destinies - multicolored textures
46   45940  Missing CLSID e018945b-aa86-4008-9bd4-6777a1e40c11 (CLSID_WICPngDecoder2 ?)
47   46043  Notepad++ v7.5.9 x86 'MarkdownViewer++' v0.8.2 plugin (.NET 4.0 based) causes abnormal program termination with Wine-Mono 4.7.3
48   47812  Cygwin's strace.exe crashes due to custom TLS corruption
49   48891  Bash from Cygwin/msys2 terminates after first command
50   49459  Memu installer fails: wine: Call from 0x7b00f0b7 to unimplemented function wuaueng.dll.DllRegisterServer, aborting
51   49668  Two Worlds Epic Edition needs {cd0d66ec-8057-43f5-acbd-66dfb36fd78c}, xactengine2_7 to play audio
52   50041  Amnesia: Rebirth crashes with builtin vcomp140
53   50520  Multiple applications need WSAIoctl(SIO_BASE_HANDLE) (Rust applications using the Mio or Smol libraries, Starcraft Remastered)
54   50592  ZynAddSubFX 3.0.3 Demo can't load/open/save presets
55   50595  Foxit Reader 5.1 crashes on unimplemented function 'msdrm.dll.DRMRegisterContent' when exiting
56   50615  Excel 2007 needs ICreateTypeInfo2::DeleteFuncDesc()
57   51184  test_font_metrics() fails in gdi32:font for bitmap fonts on Windows 10 >= 1709
58   51192  GnuTLS error: Error in the pull function/ Login to Teamspeak, Blizzard... not possible.
59   51222  Multiple games have rendering issues caused by import of logf from musl (Kingdom Come: Deliverance, Just Cause 4, Wizard101)
60   51224  Otvdm can't start any Win16 application
61   51231  WeChat can't display QR code in login dialog.
62   51262  Since 308a5e7 no 32bit program starts
63   51273  Starcraft 2 64 bit .exe not starting since 25b093f384
65 ----------------------------------------------------------------
67 Changes since 6.10:
69 Akihiro Sagawa (4):
70       quartz/tests: Introduce commit_allocator helper in vmr7.c.
71       quartz/tests: Test the close button of the video window.
72       quartz: Hide video window on WM_CLOSE.
73       quartz: Notify EC_USERABORT event when closing video window.
75 Alexandre Julliard (28):
76       ntdll: Validate the extended context before modifying the other registers.
77       ntdll: Only restore the modified parts of the syscall frame on x86-64.
78       ntdll: Only restore the modified parts of the syscall frame on i386.
79       ntdll: Create a thread to run the ctrl-C routine instead of raising an exception.
80       ntdll: Fix some exception test failures on ARM.
81       ntdll: Fix some exception test failures on ARM64.
82       kernel32: Don't export __chkstk() on ARM64.
83       ntdll: Allow the dispatcher functions to return to the caller.
84       ntdll: Always allocate extra stack space for the kernel stack.
85       ntdll: Switch to the kernel stack for syscalls on i386.
86       ntdll: Switch to the kernel stack for syscalls on x86-64.
87       ntdll: Switch to the kernel stack for syscalls on ARM64.
88       ntdll: Switch to the kernel stack for syscalls on ARM.
89       ntdll: Simplify the platform-specific dispatcher interface.
90       ntdll: Don't update cached registers if NtGetContextThread() fails.
91       ntdll: Move the XSTATE definitions to the platform-specific files.
92       ntdll: Also pass the TEB to signal_exit_thread().
93       ntdll: Always use the TEB that was passed to signal_start_thread().
94       ntdll: Store the current PEB in a global variable.
95       ntdll: Store the debug info in the TEB block after the 32-bit TEB.
96       ntdll: Copy the implementation of __wine_dbg_strdup and __wine_dbg_header to the PE side.
97       ntdll: Don't allow single-stepping through syscalls.
98       ntdll: Copy the implementation of __wine_dbg_output to the PE side.
99       ntdll: Add a helper to get the Wow64 TEB.
100       ntdll: Remove special case for setting permissions on stack pages.
101       ntdll: Support growing both 32- and 64-bit stacks.
102       ntdll: Ignore faults caused by alignment check on x86-64.
103       ntdll/tests: Adapt some of the i386 tests to run on x86-64 as well.
105 Alistair Leslie-Hughes (6):
106       msado15/test: Remove Reference count tests.
107       msado15/tests: Add Field tests.
108       msado15: Correct field reference value.
109       msado15: Support VT_I4/I2 for Fields Item property.
110       msado15: Convert to Integer for field index.
111       dpnhupnp: Stub DirectPlayNATHelpCreate and DllGetClassObject.
113 Andrew Eikum (3):
114       advapi32/tests: Avoid gcc 11 misleading-indentation warning.
115       comctl32: Avoid gcc 11 maybe-uninitialized warning.
116       shell32: Always create default known folder directories.
118 Austin English (1):
119       dpnhupnp: Add stub dll.
121 Brendan Shanks (2):
122       configure: Work around Xcode 12's ld assuming 16KB page sizes.
123       winecoreaudio: Remove workarounds for Mac OS X 10.4 and 10.5.
125 Connor McAdams (1):
126       d3dx9: Remove unnecessary call to D3DXMatrixTranspose.
128 Damjan Jovanovic (1):
129       server: The owner of a securable object should have all the standard access rights.
131 Derek Lesho (2):
132       mfplat: Fix max buffer length for IMC2/IMC4 formats.
133       mfplat: Copy all image planes in buffer copies.
135 Dmitry Timoshkov (3):
136       gdi32/tests: Test otmEMSquare only for Truetype fonts.
137       mshtml: Fix typos in traces.
138       include: Add IAuthenticateEx interface definition.
140 Esme Povirk (5):
141       sppc: Stub SLPersistApplicationPolicies.
142       advapi32: Fix typo.
143       sechost: Reject string SIDs with too many characters.
144       sechost: SID strings are case-insensitive.
145       sechost: Implement hexadecimal SID parsing.
147 Florian Eder (1):
148       cmd: Do not change errorlevel when setting environment variables.
150 François Gouget (9):
151       urlmon/tests: Fix a typo in a comment.
152       wininet/tests: Fix an InternetQueryOptionA/W mixup in test_secure_connection().
153       user32/tests: Use winetest contexts to simplify set_clipboard_data_process().
154       make_unicode: Add support for the 720 codepage (Arabic, Farsi and Urdu).
155       wined3d: Avoid an unneeded NULL cast.
156       gdi32/tests: Add a context to the testJustification() failure message.
157       gdi32/tests: Use a winetest context for test_font_metrics().
158       user32/tests: Preserve the initial GetLastError() value for test_ClipboardOwner().
159       user32/tests: Use the caller line number for open_clipboard() & co.
161 Gijs Vermeulen (3):
162       vcomp: Implement omp_get_num_procs().
163       ntdll: Avoid declaration-after-statement warning.
164       secur32: Default to building with GnuTLS support on macOS, if present.
166 Giovanni Mascellani (5):
167       mf/session: Fix computing fastest and slowest presentation rates.
168       winex11.drv: Allow keyboard layout score to be negative.
169       winex11.drv: Do not pollute logs with misencoded bytes.
170       mf/session: Reset END_OF_PRESENTATION flags when stopped.
171       winegstreamer: Expose the MF_MT_VIDEO_ROTATION attribute.
173 Haidong Yu (2):
174       shell32: Fix a memory leak.
175       shell32: Fix a memory leak.
177 Hans Leidekker (4):
178       winhttp: Fix a buffer size check.
179       winhttp: Remove redundant parentheses.
180       winhttp: Use CRT memory allocators.
181       secur32: Translate errors from push/pull callbacks.
183 Henri Verbeet (6):
184       d3d11/tests: Add a test for image UAV clears.
185       wined3d: Introduce wined3d_mask_from_size().
186       wined3d: Implement OpenGL image UAV clears using ARB_clear_texture.
187       d3d11: Implement d3d11_device_context_ClearUnorderedAccessViewFloat().
188       wined3d: Use the texture level count to calculate sub-resource indices for OpenGL mip-map generation.
189       wined3d: Use the texture level count to calculate sub-resource indices for Vulkan mip-map generation.
191 Hiroki Awata (1):
192       dsound: Notify DSBPN_OFFSETSTOP earlier.
194 Hugh McMaster (11):
195       regedit: Allow deletion of selected values without focus.
196       reg/tests: Test how values are overwritten when copying.
197       reg/tests: Modify delete_key() to support use of RegDeleteKeyEx().
198       reg/tests: Update reg_open() and reg_open_() definitions.
199       reg/tests: Modify verify_key() to support opening of registry views.
200       reg/tests: Modify verify_key_nonexist() to support registry views.
201       reg/tests: Update delete_value() declaration to deconstify 'const HKEY'.
202       reg/tests: Modify add_key() to support key creation in registry views.
203       reg/tests: Test key and value creation in 32-bit and 64-bit registry views.
204       reg: Support the use of registry views during the 'add' operation.
205       reg/tests: Move 'delete' syntax tests into a separate function.
207 Jacek Caban (2):
208       gdi32: Fix SetPixel error return value.
209       win32u: Add stub DLL.
211 Jactry Zeng (3):
212       riched20/tests: Lock hGlobal before use.
213       riched20: Allow to insert OLE object at specified offset.
214       riched20/tests: Add more tests for testing EM_GETTEXTEX with OLE objects.
216 Jan Sikorski (2):
217       wined3d: Fix typo in wined3d_texture_vk_prepare_texture().
218       wined3d: Don't pass a 3D texture view's depth range as layer range to Vulkan.
220 Kalen Alwardt (1):
221       ntdll: Export ZwFilterToken().
223 Nguyễn Chính Hữu (1):
224       wined3d: Add GPU information for NVIDIA GT 1030.
226 Nikolay Sivov (17):
227       dxva2: Accept AYUV as input format.
228       dxva2: Check input stream format in GetVideoProcessorDeviceGuids().
229       mfplat/buffer: Fix maximum length for YV12 format.
230       dxva2/tests: Remove a test failing on system with hw dxva devices support.
231       d2d1: Cache sampler state objects at device context.
232       d2d1: Remove unused argument from constant buffer initialization helper.
233       d2d1: Reuse PS constant buffer object.
234       d3d11: Fix freed memory access when releasing device context (Coverity).
235       d2d1: Reuse VS constant buffer object.
236       winegstreamer: Let async command handle request token.
237       mf: Move presentation clock implementation to a separate file.
238       mf/session: Reset per-node end of stream flags when stopped.
239       mf/session: Reset topology status back to READY when stopped.
240       mf: Use CRT allocation functions.
241       include: Add IMFWorkQueueServicesEx definition.
242       mfplay: Create media item on player creation, when url is specified.
243       mfplay: Start playback on player creation automatically, when enabled.
245 Paul Gofman (8):
246       jscript: Parse 'let' and 'const' variable declarations.
247       shell32: Don't specify the startup directory for CreateProcessW() in SHELL_ExecuteW().
248       jscript: Factor local_ref_scopes_t structure out of function_code_t.
249       jscript: Enumerate with and block scopes.
250       jscript: Support block scope variables.
251       jscript: Support nested scopes for functions defined inside.
252       mshtml/tests: Add test for multiple JS scope instances.
253       mshtml/tests: Add a test for JS functions scope.
255 Piotr Caban (11):
256       msvcrt: Fix logf implementation.
257       msvcrt: Import tgamma implementation from musl.
258       msvcrt: Import tgammaf implementation from musl.
259       msvcrt: Import fmaf implementation from musl.
260       msvcrt: Import exp2f implementation from musl.
261       msvcrt: Import expf implementation from musl.
262       msvcrt: Import powf implementation from musl.
263       msvcrt: Import exp2 implementation from musl.
264       msvcrt: Import exp implementation from musl.
265       msvcrt: Fix math error arguments in powf.
266       msvcrt: Import pow implementation from musl.
268 Roberto Pungartnik (1):
269       po: Update Brazilian Portuguese translation.
271 Roman Pišl (1):
272       ntdll: Allow loading of native libraries for Win16.
274 Rémi Bernon (41):
275       hid/tests: Don't print buttons after HidP_GetUsages failed.
276       hidclass.sys: Handle failures when parsing descriptor.
277       hidclass.sys: Remove Delim member from struct caps.
278       hidclass.sys: Use HIDP_VALUE_CAPS instead of struct caps.
279       hidclass.sys: Factor all HIDP_VALUE_CAPS debug helpers.
280       hid: Use caps.BitSize to differenciate buttons from values.
281       include: Add HID haptics usage page.
282       hidclass.sys: Don't crash when no buffer was provided.
283       xinput1_3: Use msvcrt allocation functions.
284       xinput1_3: Check for HID failures and print warnings.
285       xinput1_3: Store HIDP_CAPS in hid_platform_private struct.
286       xinput1_3: Use input report length from HIDP_CAPS.
287       xinput1_3: Allocate output report buffer on the heap.
288       hidclass.sys: Fix incorrect feature report debug print.
289       hidclass.sys: Dump HID descriptor with 16 byte columns.
290       hidclass.sys: Use realloc instead of HeapReAlloc.
291       ntoskrnl.exe/tests: Silent a todo_wine failing test after a while.
292       ntoskrnl.exe/tests: Use HID helper macros to write report descriptors.
293       ntoskrnl.exe/tests: Add some buttons and hatswitch controls.
294       hid: Check preparsed data magic in HidP_GetLinkCollectionNodes.
295       ntoskrnl.exe/tests: Add some HidP_Get(Specific)ButtonCaps tests.
296       ntoskrnl.exe/tests: Add some HidP_Get(Specific)ValueCaps tests.
297       ntoskrnl.exe/tests: Add some HidP_GetLinkCollectionNodes tests.
298       ntoskrnl.exe/tests: Add some HidP_InitializeReportForID tests.
299       ntoskrnl.exe/tests: Don't call CertFreeCertificateContext on cleanup.
300       hid: Implement HidP_SetUsageValueArray stub.
301       ntoskrnl.exe/tests: Add tests with and without report IDs.
302       ntoskrnl.exe/tests: Add more reports with complex HID syntax.
303       ntoskrnl.exe/tests: Add some HidP get/set values tests.
304       ntoskrnl.exe/tests: Add some HidP get/set usages tests.
305       ntoskrnl.exe/tests: Add some HidP_GetData tests.
306       hidclass.sys: Simplify signed / unsigned item value parsing.
307       hidclass.sys: Use a single switch to parse all item types.
308       hidclass.sys: Introduce new hid_parser_state struct.
309       hidclass.sys: Add a stack to parser_state to store global items.
310       hidclass.sys: Use the stack to store collection items.
311       hidclass.sys: Set BitField item to current value.
312       hidclass.sys: Create link collection caps during parsing.
313       hidclass.sys: Remove unused struct feature members.
314       hidclass.sys: Remove unused struct collection members.
315       hidclass.sys: Split feature parsing to separate helper.
317 Stefan Dösinger (2):
318       user32: Release the icon frame in CopyImage.
319       user32: Delete info.hbmColor and hbmMask after copying.
321 Torge Matthies (1):
322       winex11.drv: Avoid race condition in X11 error handling.
324 Vijay Kiran Kamuju (2):
325       msdrm: Add stub DRMRegisterContent function.
326       windowscodecs: Add initial support for WICPngDecoder2.
328 Yeshun Ye (1):
329       iphlpapi: Fix the field 'AdapterName' of IP_ADAPTER_INFO returned by GetAdaptersInfo.
331 Zebediah Figura (67):
332       configure: Always warn on missing GStreamer if --with-gstreamer was specified.
333       configure: Also warn on missing GStreamer if --without-quicktime was specified.
334       ws2_32: Use getifaddrs() and if_nametoindex() directly in interface_bind().
335       ws2_32: Use IOCTL_WINE_AFD_COMPLETE_ASYNC in SIO_ADDRESS_LIST_QUERY.
336       server: Don't rely on async_is_blocking() to determine whether IOCTL_AFD_WINE_ADDRESS_LIST_CHANGE should block.
337       ws2_32: Wait for synchronous ioctl completion in server_ioctl_sock().
338       ws2_32/tests: Test passing an output buffer to FIONBIO.
339       ws2_32: Explicitly ignore the output buffer in FIONBIO.
340       ntdll: Introduce IOCTL_AFD_WINE_GET_INTERFACE_LIST.
341       ws2_32: Use IOCTL_AFD_WINE_GET_INTERFACE_LIST.
342       ntdll: Introduce IOCTL_WINE_AFD_KEEPALIVE_VALS.
343       ws2_32: Use IOCTL_WINE_AFD_KEEPALIVE_VALS.
344       ws2_32: Fix the indentation of SIO_ROUTING_INTERFACE_QUERY.
345       ws2_32: Use IOCTL_WINE_AFD_COMPLETE_ASYNC in SIO_ROUTING_INTERFACE_QUERY.
346       ws2_32: Use IOCTL_AFD_WINE_COMPLETE_ASYNC for unimplemented ioctls.
347       ws2_32: Return WSAEOPNOTSUPP in SIO_FLUSH.
348       ws2_32: Return WSAEOPNOTSUPP in FIOASYNC.
349       l3codeca.acm: Remove the Mac OS AudioToolbox backend.
350       l3codeca.acm: Call mp3_horse() directly.
351       l3codeca.acm: Simplify error handling in MPEG3_StreamOpen().
352       l3codeca.acm: Store the mpg123 handle directly as the ACM driver data.
353       ws2_32/tests: Add more tests for calling functions on a connecting socket.
354       server: Return STATUS_INVALID_PARAMETER when trying to call connect() on a socket with an active ConnectEx() async.
355       server: Fail with WSAEINVAL or WSAEALREADY when trying to connect a socket that is already connecting via nonblocking connect().
356       ws2_32: Use IOCTL_AFD_WINE_COMPLETE_ASYNC in SIO_UDP_CONNRESET.
357       ws2_32: Implement SIO_BASE_HANDLE.
358       server: Do not return the socket state from get_socket_event.
359       server: Make FD_WINE_NONBLOCKING into a separate field.
360       server: Use separate fields to track socket shutdown state.
361       server: Use an enum to store socket connection state.
362       server: Do not bother clearing events in IOCTL_AFD_WINE_CONNECT.
363       server: Do not bother clearing events in IOCTL_AFD_LISTEN.
364       server: Free the old process image name if a second process image is mapped (Valgrind).
365       server: Use AFD_POLL_* flags internally.
366       server: Store the socket errors as an array of Unix errno values.
367       server: Implement IOCTL_AFD_EVENT_SELECT.
368       ws2_32: Use IOCTL_AFD_EVENT_SELECT.
369       ws2_32/tests: Add some tests for IOCTL_AFD_EVENT_SELECT.
370       ntdll: Reserve space for the whole 64-bit YMM context in struct x86_thread_data.
371       qcap/tests: Add some tests for filter state on the video capture filter.
372       qcap/tests: Add tests for allocator management by the video capture filter.
373       qcap/vfwcapture: Do not fail vfw_capture_init_stream() if IMemAllocator::SetProperties() fails.
374       server: Implement IOCTL_AFD_GET_EVENTS.
375       server: Do not poll sockets for POLLPRI unless we are selecting for AFD_POLL_OOB.
376       ws2_32: Use IOCTL_AFD_GET_EVENTS in WSAEnumNetworkEvents().
377       ws2_32/tests: Add some tests for IOCTL_AFD_GET_EVENTS.
378       server: Introduce IOCTL_AFD_WINE_MESSAGE_SELECT.
379       ws2_32: Use IOCTL_AFD_WINE_MESSAGE_SELECT.
380       server: Remove the no longer used set_socket_event request.
381       ws2_32/tests: Add a couple more tests for getsockname().
382       server: Partially implement IOCTL_AFD_BIND.
383       server: Implement IOCTL_AFD_GETSOCKNAME.
384       server: Return the socket address from IOCTL_AFD_BIND.
385       ws2_32/tests: Add some tests for IOCTL_AFD_BIND and IOCTL_AFD_GETSOCKNAME.
386       server: Return STATUS_ADDRESS_ALREADY_ASSOCIATED from IOCTL_AFD_BIND if the socket is already bound.
387       ws2_32: Reimplement bind() and getsockname() on top of IOCTL_AFD_BIND and IOCTL_AFD_GETSOCKNAME respectively.
388       server: Correctly access the sir_lsap_sel field.
389       ws2_32: Check if the socket is bound in listen() in the server.
390       ws2_32: Pass a Win32 socket address to IOCTL_AFD_WINE_CONNECT.
391       ws2_32: Check if the socket is bound in ConnectEx() in the server.
392       ws2_32: Move the getpeername() implementation to ntdll.
393       ntdll/tests: Relax tests for RtlWaitOnAddress() timeout.
394       ws2_32: Remove some unused declarations.
395       ws2_32: Make the indentation in WSAAccept() consistent with the rest of the file.
396       server: Introduce IOCTL_AFD_WINE_DEFER.
397       ws2_32: Use IOCTL_AFD_WINE_DEFER.
398       server: Remove the no longer used set_socket_deferred request.
400 Zhiyi Zhang (27):
401       gdi32: Return correct color depth for display DCs in GetDeviceCaps().
402       gdi32: Implement MFDRV_SetLayout().
403       gdi32: Use a common helper for emf StretchBlt and AlphaBlend.
404       gdi32: Add more emf StretchBlt tests.
405       write: Use correct wordpad.exe path.
406       control: Enable visual styles.
407       dxdiag: Enable visual styles.
408       explorer: Enable visual styles.
409       extrac32: Enable visual styles.
410       msiexec: Enable visual styles.
411       msinfo32: Enable visual styles.
412       notepad: Enable visual styles.
413       oleview: Enable visual styles.
414       regedit: Enable visual styles.
415       taskmgr: Enable visual styles.
416       view: Enable visual styles.
417       wineboot: Enable visual styles.
418       winefile: Enable visual styles.
419       winemine: Enable visual styles.
420       winevdm: Enable visual styles.
421       winver: Enable visual styles.
422       wordpad: Enable visual styles.
423       gdi32: Partially implement HALFTONE stretch mode.
424       clock: Enable visual styles.
425       uninstaller: Enable visual styles.
426       winedbg: Enable visual styles.
427       winetest: Enable visual styles.
429 Ziqing Hui (4):
430       d3dx10/tests: Check more members of texture descriptor.
431       d3dx10/tests: Use winetest_push_context.
432       d3dx10/tests: Test subresource data for created texture.
433       windowscodecs/tests: Use winetest_push_context for DDS tests.
436 Alexandre Julliard
437 julliard@winehq.org