user32/tests: Show ToAscii(A) returns 'a' for multiple keyboard layouts.
[wine.git] / ANNOUNCE
blobd5dd758e303415153ed2cf186008d1c0cee51050
1 The Wine development release 8.1 is now available.
3 What's new in this release:
4   - Windows version set to Windows 10 for new prefixes.
5   - Many code cleanups that were deferred during code freeze.  
6   - Various bug fixes.
8 The source is available at:
10   https://dl.winehq.org/wine/source/8.x/wine-8.1.tar.xz
12 Binary packages for various distributions will be available from:
14   https://www.winehq.org/download
16 You will find documentation on https://www.winehq.org/documentation
18 You can also get the current source directly from the git
19 repository. Check https://www.winehq.org/git for details.
21 Wine is available thanks to the work of many people. See the file
22 AUTHORS in the distribution for the complete list.
24 ----------------------------------------------------------------
26 Bugs fixed in 8.1 (total 27):
28  - #43235  Dungeons & Dragons Online crashes on FreeBSD
29  - #44650  Multiple Blizzard games need dxgi and d3d11 dlls mapped without hole between two LOAD segments (Diablo III v2. 6. 1. 49286+, World of Warcraft, Overwatch)
30  - #47508  FL Studio: Pressing backspace while editing the name of something closes edit name window prematurely
31  - #49202  Never exited critical section in freetype.c
32  - #49443  Anno 1800: Super slow & bad performance
33  - #49615  Device read errors logged in dmesg when running wine commands with empty CD/DVD drive, since 5.5
34  - #51040  msi:package fails on Windows 10 if privileges not high enough
35  - #51313  gdi32:driver sometimes fails with a STATUS_GRAPHICS_PRESENT_OCCLUDED error
36  - #51784  The dinput8:hid output is too big in Wine
37  - #52354  winemac.drv not functional on non metal GPUs
38  - #52462  Wine don't recognize Ipega PG-9025 LT, RT and right analog stick is miss-mapped to RT and LT
39  - #52878  Free PC Audit 5.1.211.96 fails to show info in 'Brief' tab (needs GetBinaryValue method of the StdRegProv class)
40  - #52936  winhttp:url assumes 0xfb00 cannot be converted to the ANSI codepage, fails with UTF-8 codepage
41  - #53142  ieframe:webbrowser - test_ClientSite() has a rare failure on Windows 10 1809+
42  - #53274  adsldp:ldap - test_ParseDisplayName() sometimes fails to connect to the server
43  - #53386  cmd.exe: FOR /F USEBACKQ doesn't handle UTF-16 output of commands.
44  - #53594  GOG Galaxy crashes in GetExtendedTcpTable()
45  - #53666  Logitech X-56 Stick crashes the joystick subsystem if connected
46  - #54030  Snagit needs Win32_Volume class ( 'select deviceid from win32_volume where driveletter =C:')
47  - #54215  ListView doesn't refresh when changing between List and Details styles.
48  - #54289  RtlCopyContext buffer overflow
49  - #54328  nsi:nsi - test_tcp_tables() sometimes crashes in Wine
50  - #54337  AviUtl shows Japanese text as garbage after conversion in ExEdit edit box
51  - #54353  crypt32:cert - testVerifyRevocation() gets unexpected success in Wine on second run
52  - #54357  Spurious fixme message when calling ScrollWindow()
53  - #54364  RtlGenRandom fails on systems with more than 128 cores
54  - #54376  ws2_32:sock - test_reuseaddr() overflows a sockaddr variable by reading an AF_INET6 peer name into it
56 ----------------------------------------------------------------
58 Changes since 8.0:
60 Ake Rehnman (1):
61       dbghelp: Store path to module image when passed through file handle.
63 Akihiro Sagawa (2):
64       user32/tests: Add DBCS WM_CHAR tests for edit control.
65       user32/edit: Fix WM_CHAR handler for double-byte characters.
67 Alex Henrie (23):
68       include: Add RTL_CONSTANT_STRING.
69       dwrite: Handle memory allocation failure in bidi_compute_bracket_pairs (cppcheck).
70       winex11: Simplify confusing condition and error messages in wglShareLists.
71       winspool: Improve the grammar of a comment in get_servername_from_name.
72       msi: Fix memory leak on realloc failure in create_diff_row_query (cppcheck).
73       msi: Fix memory leak on realloc failure in msi_get_window_text (cppcheck).
74       msi: Fix memory leak on realloc failure in search_directory (cppcheck).
75       mshtml: Handle memory allocation failure in set_statustext.
76       twain_32: Handle realloc failure in twain_add_onedriver (cppcheck).
77       dbghelp: Handle memory allocation failure in image_locate_build_id_target (cppcheck).
78       hhctrl: Handle memory allocation failure in ReadChmSystem (cppcheck).
79       hhctrl: Handle memory allocation failure in SearchCHM_File (cppcheck).
80       inetcomm: Fix memory leak on realloc failure in copy_headers_to_buf (cppcheck).
81       msvcrt: Change return type of _ctime32_s and _ctime64_s to errno_t.
82       include: Add ctime_s.
83       include: Add localtime_s.
84       shell32: Handle memory allocation failure in Dde_OnRequest (cppcheck).
85       shell32: Handle memory allocation failure in parse_dde_command (cppcheck).
86       include: Remove __WINE_MALLOC from functions that shouldn't have it.
87       appwiz: Fix memory leak on realloc failure in install_from_registered_dir (cppcheck).
88       winex11: Fix memory leak on realloc failure in import_xdnd_selection (cppcheck).
89       server: Fix buffer overrun in map_view handler.
90       urlmon: Use the _recalloc function instead of reimplementing it.
92 Alexandre Julliard (20):
93       krnl386: Make MapLS argument non-const to avoid some compiler warnings.
94       krnl386: Remove a trace that causes compiler warnings.
95       shell32: Allocate a full SHITEMID to avoid a compiler warning.
96       tools: Add a common helper to get the argv0 directory.
97       tools: Add a common helper to cleanup temp files.
98       tools: Move signal masking to the common make_temp_file() helper.
99       tools: Add a common helper to setup signal handlers.
100       shell32: Allocate the right size for an ITEMIDLIST.
101       scrobj: Initialize a variable to silence a compiler warning.
102       ntdll: Initialize a variable to silence a compiler warning.
103       ntdll: Prefer the ntdll path over argv[0] on platforms without reliable exe information.
104       user32: Copy directly to the buffer in unpack_message().
105       shlwapi/tests: Don't write uninitialized data.
106       gdiplus: Initialize a variable to avoid a spurious compiler warning.
107       ole32/tests: Raise an exception instead of accessing a bad pointer directly.
108       makedep: Don't output rules for disabled modules.
109       tools: Make sure that config.h is included.
110       include: Add some C99 floating point comparison macros.
111       wow64cpu: Move base address to leave more room for wow64.dll.
112       kernelbase: Report correct errors in GetModuleHandleExA().
114 Alistair Leslie-Hughes (5):
115       mountmgr.sys: Don't attempt to read from invalid media.
116       include: Add _XHR enum values.
117       include: Add D3DKMT_ENUMADAPTERS2 structure.
118       secur32: QueryContextAttributesW check for valid object before use.
119       secur32: Trace fContextReq consistently.
121 Bernhard Kölbl (12):
122       windows.media.speech: Move constraints vector to the recognition session.
123       windows.media.speech: Do not force calling convention on internal callbacks.
124       windows.media.speech: Return IAsyncAction from session_StopAsync.
125       windows.media.speech: Return IAsyncAction from session_PauseAsync.
126       windows.media.speech/tests: Test the recognizer state.
127       windows.media.speech/tests: Test starting, stopping, pausing and resuming the recognition session.
128       windows.media.speech: Add a worker thread to the recognition session.
129       windows.media.speech/tests: Check if stopping the session resets the paused state.
130       windows.media.speech: Allow the recognition session worker to be paused.
131       windows.media.speech: Add an audio capturing system.
132       windows.media.speech: Partially implement the speech recognizer state.
133       windows.media.speech: Store recorded audio in a temporary ringbuffer.
135 Brendan Shanks (7):
136       include/msvcrt: Add __WINE_(DEALLOC|MALLOC) attributes to _strdup and _wcsdup.
137       include/msvcrt: Add __WINE_(ALLOC_SIZE|DEALLOC|MALLOC) attributes to _aligned_malloc functions.
138       include/msvcrt: Add __WINE_(ALLOC_SIZE|DEALLOC) attributes to _recalloc.
139       taskmgr: Use exit code 1 when terminating processes.
140       taskkill: Use exit code 1 when terminating processes.
141       ntdll: Add stub for NtQueryInformationProcess(ProcessCycleTime).
142       kernelbase: Implement and add tests for QueryProcessCycleTime.
144 Eric Pouech (20):
145       dbghelp: Don't search path when we have a file handle to loaded image.
146       winedbg: Pass loaded image's file handle to dbghelp.
147       dbghelp: Expose the real path to the module in SymGetModuleInfo*().
148       dbghelp: In dwarf debug info, use the same name of anonymous UDT as pdb.
149       dbghelp: Don't use dbghelp_current_cpu.
150       winedbg: Use debuggee's bitness for 'examine /a' command.
151       conhost.exe: Handle ctrl-pause/break key strokes.
152       conhost.exe: Handle ctrl-\ in Wine.
153       winedbg: Track loaded modules.
154       winedbg: Fix read access to variables with thread local storage.
155       include: Be consistent in naming regarding MSF's block.
156       include: Update some fields in PDB headers.
157       include: Consistenly use _size to name the size of a sub-block.
158       include: Use stream to denote MSF stream/file.
159       winedump: Introduce a helper to print PE section's characteristics.
160       winedump: Correctly dump PDB_STREAM_INDEX.segment.
161       winedump: Explain a bit more errors on hash header.
162       winedump: Dump correctly ranges part of DBI stream.
163       winedump: Properly dump segment map information from PDB/DBI stream.
164       winedump: Be stricter about sizes while walking module's list.
166 Evan Tang (6):
167       mshtml: Implement IHTMLRect2 for HTMLRect.
168       ntdll: TlsIndex should not actually contain tls indices.
169       secur32: Schannel AcceptSecurityContext support.
170       secur32: Share code for schannel Acquire and AcceptCredentialsHandle.
171       secur32: Fix schannel AcquireCredentialsHandle algorithm mismatch error return.
172       secur32: Add test for schannel AcceptSecurityContext.
174 Fabian Maurer (7):
175       user32/tests: Don't assign const variable to other const (gcc 4.7).
176       wldap32: Free resource in error case and return error code (Coverity).
177       wldap32: Set error code in error cases (Coverity).
178       d2d1_1: Don't redefine D2D1_PROPERTY_BINDING (gcc 4.3).
179       d3dx10core: Don't redefine ID3D10Device1 (gcc 4.3).
180       winedump: Prevent "format overflow" warning.
181       dwrite/tests: Prevent "misleading indentation" warnings.
183 François Gouget (5):
184       user32: GetClipboardData() should set last error when the format is not found.
185       user32/tests: Use wine_dbgstr_an() to trace malformed Unicode strings.
186       user32: Fix a SetClipboardData() underflow and improve the tests.
187       user32: Fix a SetClipboardData() buffer overflow.
188       d3d12/tests: Don't check the refcount after releasing the dxgi adapter.
190 Gabriel Ivăncescu (20):
191       mshtml: Don't release the frame returned by get_frame_by_name.
192       mshtml: Don't hold ref to the created window in the FrameBase.
193       mshtml: Release the image factory's dispex.
194       mshtml: Don't initialize HTMLElement dispex for Option constructor.
195       mshtml/tests: Fix EventObj leak in onclick test.
196       mshtml/tests: Fix window leaks in dom tests.
197       mshtml: Implement location props when there's no URI.
198       mshtml: Defer populating the IActiveScript field until it's fully initialized.
199       mshtml: Set SCRIPTPROP_ABBREVIATE_GLOBALNAME_RESOLUTION properly.
200       jscript: Implement SID_GetCaller for QueryService.
201       vbscript: Add a ServiceProvider stub.
202       vbscript: Implement SID_GetCaller for QueryService.
203       include/mshtml: Add the other IHTMLEventObj* interfaces.
204       mshtml: Use Scrollbar_Auto as default for vertical scrollbars.
205       jscript: Pass the correct ServiceProvider when invoking external prop.
206       mshtml: Return undefined from window.XMLHttpRequest for uninitialized documents.
207       mshtml: Traverse and unlink builtin func disps.
208       mshtml: Simplify dynamic props unlinking.
209       mshtml: Tie window.location to the outer window.
210       mshtml: Embed the HTMLLocation into the outer window.
212 Georg Lehmann (1):
213       winevulkan: Update to VK spec version 1.3.240.
215 Gerald Pfeifer (2):
216       localspl: Avoid uninitialized variable in fill_builtin_form_info.
217       tools: Include limits.h for PATH_MAX.
219 Hans Leidekker (22):
220       advapi32: Bump random buffer size.
221       dplayx/tests: Skip tests when the dll is missing.
222       wbemprox: Implement Win32_Volume.
223       wbemprox: Implement GetBinaryValue() method.
224       wbemprox: Remove reg_ prefix from static functions.
225       winhttp/tests: Fix test failures with the UTF-8 code page.
226       adsldp/tests: Avoid test failures when the server is down.
227       ntdll/tests: Mark more Windows 11 test failures as broken.
228       ntdll/tests: Fix path test failures on Windows 11.
229       ntdll/tests: Fix some Wow64 test failures on Windows 11.
230       gdi32/tests: Mark another D3DKMTCheckOcclusion() test as flaky.
231       ws2_32/tests: Fix some test failures on Windows 11.
232       ws2_32/tests: Skip adapters that aren't up and running in test_bind().
233       ntdll: Add Windows 11 version.
234       ntdll: Default to Windows 10.
235       winecfg: Fix CurrentVersion registry string for Windows 10 and up.
236       msi/tests: Avoid test failures when running with insufficient rights.
237       msi: Install and patch global assemblies in InstallFinalize.
238       msi: Perform late initialization of the assembly caches.
239       msi: Remove msi_ prefix from static functions.
240       msi: Get rid of unnecessary typedefs.
241       wbemprox: Recognize Windows 11.
243 Huw D. M. Davies (1):
244       winebuild: Reorder the includes to avoid a build error on macOS.
246 Jacek Caban (2):
247       win32u: Silence spurious FIXME in NtUserScrollWindowEx.
248       ieframe/tests: Relax session count test.
250 James McDonnell (1):
251       kernel32: Use MoveFileWithProgress() to partially implement MoveFileTransacted(),
253 Jinoh Kang (9):
254       ntoskrnl.exe/tests: Use loopback address in test_wsk_listen_socket.
255       riched20: Obtain the composition start index after deleting selection.
256       ntdll: Check for delayed free block in heap_validate_ptr.
257       ntdll: Validate subheap's owner heap when validating heap.
258       ntdll: Validate blocks in the heap pending free request list.
259       ntdll: Remove redundant WARN_ON(heap) check.
260       ws2_32/test: Fix sockaddr buffer overflow in test_reuseaddr.
261       include: Add noreturn attribute to RtlRaiseStatus.
262       include/msvcrt: Add noreturn attribute to _assert.
264 Joshua Ashton (1):
265       winevulkan: Enable VK_EXT_hdr_metadata.
267 K.B.Dharun Krishna (1):
268       po: Update Tamil translation.
270 Kacper Michajłow (1):
271       include: Add some DXGI_COLOR_SPACE_TYPE enumeration values.
273 Mohamad Al-Jaf (5):
274       include: Add windows.system.profile.systemmanufacturers.idl file.
275       windows.system.profile.systemmanufacturers: Add stub DLL.
276       windows.system.profile.systemmanufacturers: Stub ISmbiosInformationStatics interface.
277       windows.system.profile.systemmanufacturers/tests: Add ISmbiosInformationStatics_get_SerialNumber tests.
278       windows.system.profile.systemmanufacturers: Implement ISmbiosInformationStatics_get_SerialNumber.
280 Nikolay Sivov (11):
281       include: Add recent DirectWrite API changes.
282       windows.globalization: Implement ILanguage::get_LanguageTag().
283       comctl32/header: Do not touch 'hwnd' field in HDM_LAYOUT.
284       ktmw32: Use syscall interface for transaction objects stubs.
285       propsys: Add InitPropVariantFromStringVector().
286       d3dx9/preshader: Set input table size for texture shaders.
287       d3dx9: Create parameter evaluator for texture shaders.
288       d3dx9: Partially implement D3DXFillTextureTX().
289       d3dx9/tests: Add a helper to compare filled cube textures.
290       d3dx9: Fix ARGB texture fills with negative component values.
291       d3dx9: Partially implement D3DXFillCubeTextureTX().
293 Paul Gofman (14):
294       ntdll/tests: Fix the case of absent XSTATE context in test_copy_context().
295       ntdll/tests: Fix xstate tests failing on modern Windows and CPUs with more xstate features.
296       ntdll/tests: Fix random test failure in test_restore_context().
297       ntdll: Factor out context_copy_ranges() function.
298       ntdll: Do not use extended context in RtlCopyContext() if extended state is not copied.
299       ddraw: Do not report D3DDEVCAPS_HWRASTERIZATION for RGB emulation device.
300       ntdll: Use MemAvailable field for free RAM estimation if available.
301       cryptnet: Cache revocation status in verify_cert_revocation().
302       cryptnet: Use cert data hash as cache id instead of serial number.
303       cryptnet: Also hash issuer cert for cache id.
304       msmpeg2vdec: Add stub dll.
305       msauddecmft: Add stub dll.
306       ntdll: Add stub for NtQueryInformationProcess( ProcessHandleTable ).
307       ws2_32: Provide same address order from gethostbyname() on consequent calls.
309 Robert Wilhelm (2):
310       vbscript: Return type mismatch for UBound(Empty) and UBound(NULL).
311       vbscript: Return type mismatch for LBound(Empty) and LBound(NULL).
313 Rémi Bernon (57):
314       sechost: Use heap_strdup_multi_AtoW for dependencies in CreateServiceA.
315       services: Use a separate allocation for NotifyParamsArray[0].params.
316       dwrite: Statically init the system_fallback locale list.
317       schedsvc: Avoid mismatching heap in SchRpcEnumFolders.
318       schedsvc: Avoid mismatching heap in SchRpcEnumTasks.
319       schedsvc: Avoid mismatching heap in RPC allocations.
320       schedsvc: Use CRT allocation functions in remaining calls.
321       dinput: Avoid sending envelope report if it has been removed.
322       windows.gaming.input: Fix infinite effect duration scaling.
323       windows.gaming.input: Introduce new effect_reorient_direction helper.
324       windows.gaming.input: Fix magnitude sign for constant and ramp effects.
325       hidp: Allow match all usages on specific functions only.
326       oledb32: Fix error info cleanup dispparams rgvarg index.
327       oledb32/tests: Avoid use-after-free and unused assignment.
328       dinput: Remove outdated and superfluous comments.
329       dinput: Add traces to the ANSI wrappers.
330       dinput: Remove unnecessary initialization helpers.
331       dinput: Move dinput class implementation to dinput.c.
332       dinput: Rename lpdid local variable to device.
333       include: Add Windows.Foundation.Collections.IVectorChangedEventArgs definition.
334       include: Add Windows.Foundation.Collections.IMapChangedEventArgs<T> definition.
335       include: Add Windows.Foundation.Collections.MapChangedEventHandler<K, V> definition.
336       include: Add Windows.Foundation.Collections.IMap<K, V> definition.
337       include: Add Windows.Foundation.Collections.IObservableMap<K, V> definition.
338       include: Add Windows.Foundation.Collections.IPropertySet definition.
339       include: Add Windows.Foundation.Collections.IObservableVector<T> definition.
340       include: Add Windows.Foundation.IAsyncActionWithProgress<TProgress> definition.
341       include: Add Windows.Foundation.IAsyncOperationWithProgress<TResult, TProgress> definition.
342       dinput: Use an internal refcount on all dinput devices.
343       dinput: Introduce a new struct to keep input thread state.
344       dinput: Introduce new input_thread_update_device_list helper.
345       dinput: Keep an internal refcount for dinput devices references.
346       dinput: Keep a reference on acquired devices while waiting.
347       dinput: Update the input thread device list when notified only.
348       dinput: Update the device status while holding its CS.
349       dinput: Cleanup low-level hooks on input thread exit.
350       dinput: Introduce new dinput_unacquire_window_devices helper.
351       dinput: Unacquire all devices on internal thread error.
352       dinput: Keep track of input thread users using public refcounts.
353       gitlab: Run dinput 64-bit tests in a dedicated job.
354       dinput/tests: Dynamically allocate async operation handlers.
355       dinput: Move window hook checks to input_thread_update_device_list.
356       dinput: Move rawinput registration to input_thread_update_device_list.
357       dinput: Move di_em_win_wndproc function around.
358       dinput: Use SendMessageW to notify and stop input thread.
359       dinput: Avoid entering hook CS for rawinput messages.
360       include: Declare some NtUser pointer related syscalls.
361       win32u: Move NtUserEnableMouseInPointer from user32.
362       win32u: Stub NtUserIsMouseInPointerEnabled syscall.
363       win32u: Stub NtUserGetPointerInfoList syscall.
364       win32u/tests: Test NtUserEnableMouseInPointer syscall.
365       win32u/tests: Test NtUserIsMouseInPointerEnabled syscall.
366       win32u/tests: Test NtUserGetPointerInfoList syscall signature.
367       comctl32/tests: Test unicode nature of window subclasses.
368       comctl32: Save unicode window nature on SetWindowSubclass call.
369       comctl32: Always use unicode messages for subclass procedures.
370       comctl32: Skip restoring window proc if it has been modified.
372 Santino Mazza (3):
373       mshtml/tests: Test for get_all and get_body in document fragments.
374       mshtml: Use This->node for HTMLDocument_get_all.
375       mshtml: Implement HTMLDocument_get_body for document fragments.
377 Shaun Ren (3):
378       winegstreamer: Parse all tag events in query_tags.
379       winegstreamer: Map MF_SD_LANGUAGE to ISO 639-1 for QuickTime media.
380       mfplay/tests: Add tests for MF_SD_LANGUAGE.
382 Zebediah Figura (31):
383       d3d11/tests: Add a basic test for vertex formats.
384       d3d10core/tests: Add a basic test for vertex formats.
385       wined3d: Separate a parse_channel_desc() helper.
386       wined3d: Use a string channel desc to initialize typed formats.
387       rpcrt4: Use a CONTAINING_RECORD helper to retrieve CStdStubBuffer from IRpcStubBuffer.
388       rpcrt4: Use a CONTAINING_RECORD helper to retrieve CInterfaceStubHeader from CStdStubBuffer.
389       rpcrt4: Rename "ref_counted_vtbl" to "struct delegating_vtbl".
390       rpcrt4: Use a flexible array member in struct delegating_vtbl.
391       rpcrt4: Use CONTAINING_RECORD in release_delegating_vtbl().
392       win32u: Make call_messageAtoW() static.
393       win32u: Make the global "caret" structure static.
394       win32u: Make create_brush() hidden.
395       win32u: Make draw_frame_caption() static.
396       win32u: Make draw_scroll_bar() static.
397       win32u: Make DrawTextW() hidden.
398       win32u: Make get_winproc_ptr() static.
399       win32u: Make ImmProcessKey() hidden.
400       win32u: Make ImmTranslateMessage() hidden.
401       win32u: Make is_child() hidden.
402       ntdll: Make fd_set_file_info() static.
403       ntdll: Make call_user_mode_callback() hidden.
404       ntdll: Make user_mode_callback_return() hidden.
405       ntdll: Make __wine_syscall_dispatcher_prolog_end() hidden on x86_64.
406       ntdll: Make __wine_unix_call_dispatcher_prolog_end() hidden on x86_64.
407       win32u: Make send_message_timeout() hidden.
408       win32u: Make set_visible_region() hidden.
409       winex11: Make client_foreign_window_proc hidden.
410       winex11: Include x11drv.h in xrandr.c even if compiling without xrandr.
411       winepulse: Include mult.c in pulse.c.
412       include: Fix the definition of DIFXAPILOGCALLBACK_* functions.
413       include: Add more definitions to difxapi.h.
415 Zhiyi Zhang (4):
416       comctl32/tests: Add WM_STYLECHANGED tests for changing listview view styles.
417       comctl32/listview: Repaint when changing view styles.
418       include: Add uiviewsettingsinterop.idl.
419       opengl32/tests: Make context current before calling wglCopyContext().