widl: Do not write type definitions for types defined in an imported header.
[wine.git] / ANNOUNCE.md
blobd57e578b4c00026c4543e83e1d8df5c87d57c7b6
1 The Wine development release 9.10 is now available.
3 What's new in this release:
4   - Bundled vkd3d upgraded to version 1.12.
5   - DPI Awareness support improvements.
6   - C++ RTTI support on ARM platforms.
7   - More obsolete features removed in WineD3D.
8   - Various bug fixes.
10 The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.10.tar.xz>
12 Binary packages for various distributions will be available
13 from <https://www.winehq.org/download>
15 You will find documentation on <https://www.winehq.org/documentation>
17 Wine is available thanks to the work of many people.
18 See the file [AUTHORS][1] for the complete list.
20 [1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.10/AUTHORS
22 ----------------------------------------------------------------
24 ### Bugs fixed in 9.10 (total 18):
26  - #23434  Race management software hangs & jumps up to 100% processor load
27  - #34708  Silent Hill 4: The Room crashes after first videoscene when trying to go to the door.
28  - #45493  SRPG Studio games need proper DISPATCH_PROPERTYPUTREF implementation
29  - #46039  Paint.NET 4.1 (.NET 4.7 app) installer tries to run MS .NET Framework 4.7 installer (Wine-Mono only advertises as .NET 4.5)
30  - #46787  Notepad++ rather slow (GetLocaleInfoEx)
31  - #50196  can not copy words between wine apps and ubuntu apps
32  - #50789  Multiple .NET applications crash with unimplemented 'System.Security.Principal.WindowsIdentity.get_Owner' using Wine-Mono (Affinity Photo 1.9.1, Pivot Animator 4.2)
33  - #52691  FL Studio 20.9.1 Freezes on start-up
34  - #54992  EA app launcher does not render correctly
35  - #56548  reMarkable crashes on start
36  - #56582  vb3 combobox regression: single click scrolls twice
37  - #56602  DualShock 4 controller behaves incorrectly on Darwin with hidraw enabled
38  - #56666  BExAnalyzer from SAP 7.30 does not work correctly
39  - #56674  Multiple games fail to launch (Far Cry 3, Horizon Zero Dawn CE, Metro Exodus)
40  - #56718  Compilation fails on Ubuntu 20.04 with bison 3.5.1
41  - #56724  New chromium versions don't start under wine anymore
42  - #56730  Access violation in riched20.dll when running EditPad
43  - #56736  App packager from Windows SDK (MakeAppx.exe) 'pack' command crashes on unimplemented function ntdll.dll.RtlLookupElementGenericTableAvl
45 ### Changes since 9.9:
46 ```
47 Aida Jonikienė (2):
48       dxdiagn: Add bIsD3DDebugRuntime property.
49       dxdiagn: Add AGP properties.
51 Alexandre Julliard (52):
52       msvcrt: Add helpers to abstract RVA accesses to RTTI data.
53       msvcrt: Unify __RTtypeid implementation.
54       msvcrt: Unify __RTDynamicCast implementation.
55       msvcrt: Unify _CxxThrowException implementation.
56       msvcrt: Unify _is_exception_typeof implementation.
57       msvcrt: Unify __ExceptionPtrCopyException implementation.
58       msvcrt: Unify exception_ptr_from_record implementation.
59       msvcrt: Unify call_copy_ctor/call_dtor implementations.
60       msvcp: Unify __ExceptionPtrCopyException implementation.
61       msvcp: Unify __ExceptionPtrCurrentException implementation.
62       msvcp: Unify call_copy_ctor/call_dtor implementations.
63       msvcrt: Use RVAs in rtti and exception data on all platforms except i386.
64       msvcp: Use RVAs in rtti and exception data on all platforms except i386.
65       msvcrt/tests: Use function pointers to bypass builtin malloc/realloc.
66       msvcp/tests: Fix mangled names on ARM.
67       winecrt0: Initialize the Unix call dispatcher on first use.
68       ntdll: Make __wine_unix_call() an inline function.
69       wbemprox: Avoid unused function warning.
70       kernelbase: Fix the name of the default system locale.
71       wbemprox: Don't reference yysymbol_name on older bisons.
72       conhost: Fix a printf format warning.
73       winegcc: Don't print a potentially reallocated pointer.
74       adsldpc: Add correct C++ mangled names for all platforms.
75       dxtrans: Add correct C++ mangled names for all platforms.
76       msmpeg2vdec: Add correct C++ mangled names for all platforms.
77       vssapi: Add correct C++ mangled names for all platforms.
78       msvcrt: Fix bad_cast_copy_ctor spec entry on ARM.
79       msvcrt: Export all _ConcRT functions also on ARM.
80       msvcp120_app: Fix a typo in a C++ mangled name.
81       msvcp: Replace some stubs by exported functions that already exist for other platforms.
82       msvcp: Export the thiscall version of ios_base_Tidy.
83       msvcp140: Sort entry points by function instead of platform.
84       msvcp: Only export thiscall functions on i386.
85       msvcp: Only export stubs of thiscall functions on i386.
86       msvcrt: Only export thiscall functions on i386.
87       msvcrt: Only export stubs of thiscall functions on i386.
88       msvcrt: Add missing C++ mangled names for ARM.
89       msvcirt: Add missing C++ mangled names for ARM.
90       msvcp60: Add missing C++ mangled names for ARM.
91       msvcp70: Add missing C++ mangled names for ARM.
92       msvcp71: Add missing C++ mangled names for ARM.
93       msvcp80: Add missing C++ mangled names for ARM.
94       msvcp90: Add missing C++ mangled names for ARM.
95       msvcp100: Add missing C++ mangled names for ARM.
96       winedump: Print exported function names in the exception data.
97       winedump: Print the export or import name of exception handlers.
98       winedump: Dump exception data for known exception handlers.
99       vkd3d: Import upstream release 1.12.
100       msvcrt: Move common exception handling types to the header.
101       msvcrt: Share the find_caught_type() helper between platforms.
102       msvcrt: Share the copy_exception() helper between platforms.
103       msvcrt: Share a helper to find a catch block handler.
105 Alexandros Frantzis (15):
106       opengl32: Remove the wglDescribePixelFormat driver entry point.
107       win32u: Emit number characters for numpad virtual keys.
108       win32u: Allow drivers to send only the scan code for keyboard events.
109       win32u: Store the full KBD vkey information in kbd_tables_init_vsc2vk.
110       server: Send numpad virtual keys if NumLock is active.
111       user32/tests: Add tests for SendInput with numpad scancodes.
112       winewayland.drv: Populate vkey to wchar entry for VK_DECIMAL.
113       server: Fix handling of KEYEVENTF_UNICODE inputs with a non-zero vkey.
114       user32/tests: Add more test for unicode input with vkey.
115       user32/tests: Add tests for raw keyboard messages.
116       server: Use right-left modifier vkeys for hooks.
117       server: Apply modifier vkey transformations regardless of unicode flag.
118       server: Don't send raw input events for unicode inputs.
119       user32/tests: Check async key state in raw nolegacy tests.
120       server: Set VK_PACKET async state in raw input legacy mode.
122 Alistair Leslie-Hughes (10):
123       include: Complete __wine_uuidof for C++.
124       include: Add C++ support for IUnknown.
125       odbc32: Correct SQLSetConnectOptionW length parameter type.
126       include: Added sqlucode.h to sql.h.
127       include: Correct ListView_GetItemIndexRect macro.
128       include: Add IFACEMETHOD macros.
129       include: Add LOGFONTA/W typedef in shtypes.idl.
130       include: Add IPreviewHandler* interfaces.
131       include: Correct IRowsetNotify HROW parameter type.
132       include: Add missing TreeView_* defines.
134 Anton Baskanov (4):
135       quartz/tests: Use unaligned width in AVIDec tests to expose incorrect stride calculation.
136       quartz: Get output format from source, not sink in AVIDec.
137       quartz: Use the correct stride when calculating image size in AVIDec.
138       quartz: Hold the streaming lock while calling ICDecompressEnd.
140 Brendan Shanks (1):
141       ntdll: Don't warn on macOS and FreeBSD when xattr doesn't exist.
143 Connor McAdams (1):
144       uiautomationcore: NULL initialize SAFEARRAY variable passed to IRawElementProviderFragment::GetRuntimeId().
146 Daniel Lehman (1):
147       odbc32: Allow null handle for SQLSetEnvAttr.
149 Danyil Blyschak (3):
150       win32u: Remove external fonts from the registry before writing to it.
151       shcore: Check optional pointer in filestream_CopyTo() before writing to it.
152       wineps.drv: Only merge dmDefaultSource member of devmodes when a slot is found.
154 Davide Beatrici (6):
155       winealsa: Return minimum period in get_device_period if requested.
156       mmdevapi: Adjust timing in AudioClient_Initialize.
157       winealsa: Remove superfluous timing adjustment.
158       winecoreaudio: Remove superfluous timing adjustment.
159       wineoss: Remove superfluous timing adjustment.
160       winepulse: Remove superfluous timing adjustment.
162 Dmitry Timoshkov (2):
163       comctl32/tests: Create a fully updated ListView window.
164       user32/tests: Add a test to show that SendMessage(LB_SETCOUNT) adds a scrollbar.
166 Elizabeth Figura (21):
167       wined3d: Remove the no longer used STATE_SAMPLER.
168       wined3d: Remove the no longer used STATE_POINTSPRITECOORDORIGIN.
169       wined3d: Remove the FFP blitter.
170       wined3d: Remove some obsolete state invalidations.
171       wined3d: Remove the no longer needed fragment_caps.proj_control flag.
172       d3d9/tests: Remove leftover debugging code.
173       wined3d: Remove the no longer needed fragment_caps.srgb_texture flag.
174       wined3d: Remove the no longer needed fragment_caps.color_key flag.
175       wined3d: Remove the no longer needed wined3d_vertex_caps.xyzrhw flag.
176       wined3d: Remove the no longer needed wined3d_vertex_caps.ffp_generic_attributes flag.
177       wined3d: Remove the no longer used buffer conversion code.
178       wined3d: Remove the no longer used wined3d_context.fog_coord field.
179       wined3d: Remove the no longer used wined3d_context_gl.untracked_material_count field.
180       wined3d: Remove the no longer used wined3d_context.use_immediate_mode_draw field.
181       wined3d: Remove the no longer used WINED3D_SHADER_CAP_VS_CLIPPING flag.
182       wined3d: Remove the no longer used wined3d_context.namedArraysLoaded field.
183       wined3d: Remove the no longer used WINED3D_SHADER_CAP_SRGB_WRITE flag.
184       wined3d: Move the GL_EXTCALL() definition to wined3d_gl.h.
185       wined3d: Remove some no longer used wined3d_context fields.
186       wined3d: Remove no longer used "exponent" and "cutoff" precomputed fields.
187       wined3d: Remove the no longer used ignore_textype argument of wined3d_ffp_get_fs_settings().
189 Eric Pouech (4):
190       conhost: Fix display of font preview in 64-bit mode.
191       winedump: Dump correct handle information for minidump.
192       winedump: Don't dump twice.
193       winedump: Dump Memory64List streams in minidumps.
195 Esme Povirk (14):
196       gdiplus: Replace HDC check in GdipFlush.
197       gdiplus: Bracket HDC use in GdipMeasureCharacterRanges.
198       gdiplus: Bracket HDC use in GdipMeasureString.
199       gdiplus: Bracket HDC use in GdipDrawString.
200       gdiplus: Bracket HDC use in GDI32_GdipDrawDriverString.
201       gitlab: Add unzip to build image.
202       gdiplus: Replace HDC use in draw_driver_string.
203       gdiplus: Bracket HDC use in get_path_hrgn.
204       gdiplus: Bracket HDC use in gdi_transform_acquire/release.
205       gdiplus: Do not store HDC on HWND Graphics objects.
206       gdiplus: Don't call GetDeviceCaps for NULL dc.
207       user32/tests: Rename winevent_hook_todo to msg_todo.
208       user32/tests: Mark some Wine-todo messages.
209       win32u: Implement EVENT_SYSTEM_FOREGROUND.
211 Fabian Maurer (5):
212       oleaut32: Add test for invoking a dispatch get-only property with DISPATCH_PROPERTYPUT.
213       oleaut32: Handle cases where invoking a get-only property with INVOKE_PROPERTYPUT returns DISP_E_BADPARAMCOUNT.
214       userenv: Add CreateAppContainerProfile stub.
215       riched20: In para_set_fmt protect against out of bound cTabStop values.
216       user32/tests: Fix ok_sequence succeeding in todo block not giving a test failure.
218 Francis De Brabandere (1):
219       vbscript/tests: Fix error clear call.
221 Ilia Docin (1):
222       sane.ds: Add missing color modes setting support.
224 Jacek Caban (30):
225       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlobject.c.
226       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlscript.c.
227       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlselect.c.
228       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlstorage.c.
229       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlstyle.c.
230       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlstyleelem.c.
231       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlstylesheet.c.
232       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmltable.c.
233       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmltextarea.c.
234       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmltextnode.c.
235       mshtml: Use DISPEX_IDISPATCH_IMPL macro in mutation.c.
236       mshtml: Use DISPEX_IDISPATCH_IMPL macro in omnavigator.c.
237       mshtml: Use DISPEX_IDISPATCH_IMPL macro in range.c.
238       mshtml: Use DISPEX_IDISPATCH_IMPL macro in selection.c.
239       mshtml: Use DISPEX_IDISPATCH_IMPL macro in svg.c.
240       mshtml: Use DISPEX_IDISPATCH_IMPL macro in xmlhttprequest.c.
241       ntdll: Use assembly wrapper for unixlib calls on ARM64EC.
242       d3d9/tests: Use GNU assembly syntax on clang x86_64 MSVC target.
243       d3d8/tests: Use GNU assembly syntax on clang x86_64 MSVC target.
244       d3d9: Use GNU assembly syntax on clang x86_64 MSVC target.
245       d3d8: Use GNU assembly syntax on clang x86_64 MSVC target.
246       ddraw: Use GNU assembly syntax on clang x86_64 MSVC target.
247       gitlab: Use --enable-werror for Clang builds.
248       mshtml: Return success in IHTMLWindow2::get_closed stub.
249       mshtml/tests: Add more custom properties tests.
250       mshtml: Factor out alloc_dynamic_prop.
251       mshtml: Use DispatchEx vtbl for elements as window property lookups.
252       mshtml: Use DispatchEx vtbl for all window properties.
253       mshtml: Use macro for window object IDispatch functions implementation.
254       mshtml: Move IDispatchEx forwarding implementation to outer window object.
256 Krzysztof Bogacki (7):
257       win32u: Use separate variable for inner loop.
258       win32u: Log Vulkan GPU's PCI IDs when matching against them.
259       win32u: Log Vulkan UUIDs when adding GPUs.
260       win32u: Remove unused variable from add_vulkan_only_gpus.
261       win32u: Use common name for fake GPUs and prefer Vulkan name over it.
262       win32u: Prefer Vulkan PCI IDs over empty ones.
263       win32u: Prefer Vulkan UUIDs over empty ones.
265 Marcus Meissner (1):
266       shell32/tests: Fixed sizeof to GetModuleFileName.
268 Myah Caron (1):
269       msvcrt: Fix _kbhit ignoring the last event.
271 Nikolay Sivov (3):
272       gdi32/text: Make GetTextExtentExPointW() return sizes consistent with ExtTextOutW().
273       d3dcompiler/fx: Write empty buffers for compiler versions 33-39.
274       d3dcompiler: Enable D3DCOMPILE_EFFECT_CHILD_EFFECT option.
276 Paul Gofman (4):
277       wine.inf: Add InstallationType field to CurrentVersion.
278       wine.inf: Add Explorer\Advanced registry key.
279       mf/tests: Add a test for MFEnumDeviceSources().
280       mf: Implement audio capture device enumeration in MFEnumDeviceSources().
282 Piotr Caban (1):
283       ntdll: Fix UNC path handling in alloc_module.
285 Rémi Bernon (57):
286       win32u: Fix default_update_display_devices return type to NTSTATUS.
287       win32u: Load the graphics driver vulkan functions lazily.
288       win32u: Keep a list of vulkan GPUS in the device manager context.
289       win32u: Match driver GPUs with vulkan GPUS from their ids, or index.
290       win32u: Query GPU memory from vulkan physical device.
291       win32u: Enumerate offscreen vulkan devices as GPU devices.
292       dinput: Dynamically allocate the internal device / event arrays.
293       server: Pass the adjusted vkey to send_hook_ll_message.
294       winegstreamer: Use DMO_MEDIA_TYPE in the WMA decoder.
295       winegstreamer: Implement WMA DMO Get(Input|Output)CurrentType.
296       win32u/tests: Introduce a new run_in_process helper.
297       win32u/tests: Add NtUser(Get|Set)ProcessDpiAwarenessContext tests.
298       win32u: Fix NtUserSetProcessDpiAwarenessContext.
299       user32/tests: Add some SetProcessDpiAwarenessContext tests.
300       user32/tests: Add more SetThreadDpiAwarenessContext tests.
301       user32: Fix SetProcessDpiAwarenessContext.
302       winegstreamer: Use a GstCaps for wg_parser current_format.
303       winegstreamer: Use a GstCaps instead of preferred_format.
304       winegstreamer: Rename get_preferred_format to get_current_format.
305       winegstreamer: Use a GstCaps for wg_parser_stream codec format.
306       win32u: Get rid of the drivers force_display_devices_refresh flag.
307       win32u: Update the display device cache after loading the driver.
308       win32u: Get rid of the UpdateDisplayDevices force parameter.
309       user32: Test and fix IsValidDpiAwarenessContext.
310       user32: Test and implement GetDpiFromDpiAwarenessContext.
311       user32/tests: Add more AreDpiAwarenessContextsEqual tests.
312       user32/tests: Add more GetAwarenessFromDpiAwarenessContext tests.
313       win32u: Use NtUserCallOnParam for SetThreadDpiAwarenessContext.
314       win32u: Return UINT from NtUserGetWindowDpiAwarenessContext.
315       win32u: Use NtGdiDdDDICreateDCFromMemory for gdi16 DIBDRV.
316       wineandroid: Fix NtUserSendHardwareInput parameter order.
317       wineandroid: Use DWORD for pixel pointers.
318       win32u: Flush window surface when it is fully unlocked.
319       win32u: Remove surface recursive locking requirement.
320       win32u: Stop using a recursive mutex for the offscreen surface.
321       wineandroid: Stop using a recursive mutex for the window surfaces.
322       winemac: Stop using a recursive mutex for the window surfaces.
323       winewayland: Stop using a recursive mutex for the window surfaces.
324       winex11: Stop using a recursive mutex for the window surfaces.
325       win32u: Get the thread DPI context instead of the awareness.
326       win32u: Pass the DPI awareness context in win_proc_params.
327       win32u: Fix SetThreadDpiAwarenessContext.
328       win32u: Only keep DPI awareness context with window objects.
329       win32u: Introduce a new window_surface_init helper.
330       win32u: Move the window surface mutex to the surface header.
331       win32u: Use helpers to lock/unlock window surfaces.
332       win32u: Move window surface bounds to the window_surface base struct.
333       winemac: Get rid of unnecessary blit_data / drawn surface members.
334       wineandroid: Hold the lock while reading window surface bits.
335       win32u: Use a helper to flush window surface, factor locking and bounds reset.
336       win32u: Initialize window surfaces with a hwnd.
337       win32u: Split update_surface_region into get_window_region helper.
338       server: Merge get_surface_region / get_window_region requests together.
339       win32u: Intersect the clipping region with the window shape region.
340       server: Update window surface regions when the window is shaped.
341       wineandroid: Remove now unnecessary set_surface_region calls.
342       win32u: Use a helper to set the window surface clipping, within the lock.
344 Vijay Kiran Kamuju (1):
345       ntdll: Add stub RtlLookupGenericTableAvl function.
347 Yuxuan Shui (2):
348       shell32: Make sure array passed to PathResolve is big enough.
349       shell32: Fix ShellExecute for non-filespec paths.
351 Zhiyi Zhang (4):
352       comctl32/tests: Add WM_SETFONT tests.
353       comctl32/syslink: Don't delete font when destroying the control.
354       comctl32/tooltips: Don't duplicate font when handling WM_SETFONT.
355       comctl32/ipaddress: Delete font when destroying the control.