include: Add IFACEMETHOD macros.
[wine.git] / ANNOUNCE.md
blob0288479ef13b0340d8cd7c37abe73e0f8815dd33
1 The Wine development release 9.9 is now available.
3 What's new in this release:
4   - Support for new Wow64 mode in ODBC.
5   - Improved CPU detection on ARM platforms.
6   - Removal of a number of obsolete features in WineD3D.
7   - Various bug fixes.
9 The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.9.tar.xz>
11 Binary packages for various distributions will be available
12 from <https://www.winehq.org/download>
14 You will find documentation on <https://www.winehq.org/documentation>
16 Wine is available thanks to the work of many people.
17 See the file [AUTHORS][1] for the complete list.
19 [1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.9/AUTHORS
21 ----------------------------------------------------------------
23 ### Bugs fixed in 9.9 (total 38):
25  - #25009  Password Memory 2010 - Titlebar color rendering error
26  - #26407  Shadowgrounds Survivor crashes after viewing the map
27  - #26545  Crysis2: Red color on highlights of Bumpmap/Specular Highlights
28  - #27745  Racer is unplayable
29  - #28192  regedit: The usage message arrives too late in the wine console
30  - #29417  Mouse pointer laggy/slow in Dweebs and Dweebs 2 when virtual desktop mode is enabled
31  - #31665  Femap unexpected crash on rebuild database (or any command that involves it i.e. import)
32  - #32346  Window is too large with Batman and Head Over Heels remakes
33  - #39532  Assassin's Creed Unity doesn't run
34  - #40248  Some .NET applications throw unhandled exception: System.NotImplementedException: 'System.Management.ManagementObjectSearcher.Get' when using Wine-Mono
35  - #44009  Syberia Gog version: crash after cinematics
36  - #44625  Cybernoid 2 exits but x window drawing updates are frozen
37  - #44863  Performance regression in Prince of Persia 3D
38  - #45358  Assassin's Creed Syndicate (AC Unity; AC Odyssey) broken graphics
39  - #49674  Feature Request: Restoring previous resolution upon an app crashing
40  - #51200  High repaint label volume causes freezing
41  - #53197  Total War: Shogun 2 crashes on unimplemented function d3dx11_42.dll.D3DX11LoadTextureFromTexture
42  - #55513  Paint.NET 3.5.11 runs unstable on Wine 8.x (and later) because of a bug in Mono
43  - #55939  Moorhuhn Director's Cut crashes after going in-game
44  - #56000  Window title is not set with winewayland
45  - #56422  Exact Audio Copy installer crashes
46  - #56429  Applications crash with BadWindow X error
47  - #56483  ShellExecute changes in Wine 9.5 broke 64-bit Winelib loading in WoW64 builds
48  - #56485  Visual novel RE:D Cherish! displays white screen instead of logo video
49  - #56492  Opentrack/TrackIR head tracking broken
50  - #56498  Incorrect substring expansion for magic variables
51  - #56506  strmbase TRACEs occasionally fail to print floats
52  - #56527  Final Fantasy XI Online: Opening movie triggers a 'GStreamer-Video-CRITICAL'.
53  - #56579  Setupapi fails to read correct class GUID and name from INF file containing %strkey% tokens
54  - #56588  FlatOut 1 display resolution options limited to current desktop resolution using old wow64
55  - #56595  Fallout 3 is slow
56  - #56607  steam: no tray icon starting with wine 9.2
57  - #56615  Spelunky won't start (GLSL version 1.20 is too low; 1.20 is required)
58  - #56653  GetLogicalProcessorInformation can be missing Cache information
59  - #56655  X11 Driver fails to load
60  - #56661  Project Diablo 2 crashes
61  - #56671  Disney Ratatouille demo renders upside down on Intel graphics
62  - #56682  msvcrt:locale prevents the msvcrt:* tests from running on Windows 7
64 ### Changes since 9.8:
65 ```
66 Akihiro Sagawa (2):
67       quartz/tests: Test read position after MPEG splitter connection.
68       winegstreamer: Seek to the end after MPEG splitter connection.
70 Alex Henrie (1):
71       dinput: Don't include every version of DirectInputCreate in every DLL.
73 Alexandre Julliard (38):
74       nls: Update locale data to CLDR version 45.
75       winedump: Dump registry scripts resources as text.
76       winedump: Dump typelib resources in structured format.
77       atl: Remove empty clsid registration.
78       dhtmled.ocx: Remove empty clsid registration.
79       widl: Don't generate empty interface registrations.
80       ntdll: Use null-terminated strings instead of explicit lengths to build SMBIOS data.
81       ntdll: Cache the generated SMBIOS data.
82       ntdll: Build the SMBIOS table incrementally.
83       ntdll: Generate dummy SMBIOS data on non-supported platforms.
84       ntdll: Store the CPU vendor and id during detection.
85       ntdll: Add processor information to the SMBIOS data.
86       configure: Restore warning for missing PE compiler.
87       ntdll: Report the correct processor details on ARM platforms.
88       ntdll: Update PROCESSOR_ARCHITECTURE variable correctly for ARM platforms.
89       wineboot: Create CPU environment keys together with other hardware keys.
90       wineboot: Get the CPU model details with NtQuerySystemInformation(SystemCpuInformation).
91       wineboot: Report the correct model number on ARM platforms.
92       wineboot: Support multiple SMBIOS entries of the same type.
93       wineboot: Retrieve CPU details through the SMBIOS table.
94       winemac.drv: Remove some no longer used code.
95       wbemprox: Get the processor caption from the registry.
96       wbemprox: Support multiple SMBIOS entries of the same type.
97       wbemprox: Get the processor manufacturer from the SMBIOS table.
98       wbemprox: Get the processor name from the SMBIOS table.
99       wbemprox: Get the processor count from the SMBIOS table.
100       wbemprox: Get the processor id from the SMBIOS table.
101       wbemprox: Get a few more processor details from the SMBIOS table.
102       wbemprox: Get the processor type and model with SystemCpuInformation.
103       wbemprox: Use RtlGetNativeSystemInformation directly to get the correct info on ARM platforms.
104       msvcrt/tests: Don't link to _setmaxstdio.
105       msvcrt: Update some mangled names on ARM.
106       ntdll: Add default values for cache parameters.
107       msvcrt: Resync cxx.h with msvcp90.
108       msvcrt: Unify __CppXcptFilter implementations.
109       msvcrt: Unify __CxxQueryExceptionSize implementations.
110       msvcrt: Unify __CxxDetectRethrow implementations.
111       msvcrt: Unify checks for valid C++ exception.
113 Alexandros Frantzis (3):
114       win32u: Enable dibdrv wglDescribePixelFormat through p_get_pixel_formats.
115       user32/tests: Skip affected keyboard tests if a spurious layout change is detected.
116       user32/tests: Remove workaround for SendInput keyboard tests on zh_CN.
118 Alistair Leslie-Hughes (1):
119       include: Add some D3D12_FEATURE_DATA_D3D12_OPTIONS* types.
121 Anton Baskanov (2):
122       winegstreamer: Recognize MFAudioFormat_MPEG and MFAudioFormat_MP3.
123       winegstreamer: Add missing format fields to WMA support check.
125 Billy Laws (2):
126       ntdll: Allocate wow64 environment block within the 32-bit address space.
127       ntdll: Don't restore PC from LR after unwinding through frame switches.
129 Biswapriyo Nath (1):
130       include: Avoid a C++ keyword.
132 Brendan McGrath (3):
133       winex11.drv: Increment mode_idx in {xrandr10,xf86vm}_get_modes.
134       winegstreamer: Pass filename to wg_parser when available.
135       mplat/tests: Test Media Source is freed if immediately released.
137 Brendan Shanks (1):
138       winemac.drv: Fix warning in macdrv_get_pixel_formats.
140 Connor McAdams (4):
141       d3dx9/tests: Add a test for negative values in the source rectangle passed to D3DXLoadSurfaceFromMemory.
142       d3dx9/tests: Add a new compressed surface loading test.
143       d3dx9: Only do direct copies of full blocks for compressed formats.
144       d3dx9: Fix destination rectangles passed from D3DXLoadSurfaceFromMemory() to d3dx_load_image_from_memory().
146 Daniel Lehman (2):
147       msvcrt/tests: Add result for Turkish_Türkiye.1254.
148       msvcrt/tests: Add tests for _wcsicmp_l.
150 Dmitry Timoshkov (2):
151       kernelbase: Add support for FileDispositionInfoEx to SetFileInformationByHandle().
152       user32/tests: Offset child CS_PARENTDC window from parent to make more bugs visible.
154 Elizabeth Figura (38):
155       wined3d: Retrieve the VkCommandBuffer from wined3d_context_vk after executing RTV barriers.
156       wined3d: Submit command buffers after 512 draw or dispatch commands.
157       ddraw: Use system memory for version 4 vertex buffers.
158       ddraw: Upload only the used range of indices in d3d_device7_DrawIndexedPrimitive().
159       ddraw/tests: Test GetVertexBufferDesc().
160       wined3d: Fix GLSL version comparison.
161       maintainers: Change the full form of my name.
162       wined3d: Remove the offscreen_rendering_mode setting.
163       wined3d: Use wined3d_resource_is_offscreen() directly in ffp_blitter_clear_rendertargets().
164       wined3d: Remove no longer used support for drawing to an onscreen render target.
165       wined3d: Remove the no longer used render_offscreen field from struct ds_compile_args.
166       wined3d: Remove the no longer used Y correction variable.
167       d3d9/tests: Clarify and expand point size tests.
168       d3d9/tests: Expand test_color_vertex().
169       d3d9/tests: Add some tests for default diffuse values.
170       d3d9/tests: Test default attribute components.
171       wined3d: Remove the GL FFP vertex pipeline.
172       wined3d: Remove the GL FFP fragment pipeline.
173       wined3d: Remove the NV_register_combiners fragment pipeline.
174       wined3d: Remove the ATI_fragment_shader fragment pipeline.
175       wined3d: Remove the ARB_fragment_program blitter.
176       wined3d: Remove the ARB fragment pipeline.
177       wined3d: Remove the ARB shader backend.
178       amstream: Link to msvcrt instead of ucrtbase.
179       evr: Link to msvcrt instead of ucrtbase.
180       qasf: Link to msvcrt instead of ucrtbase.
181       qcap: Link to msvcrt instead of ucrtbase.
182       qdvd: Link to msvcrt instead of ucrtbase.
183       qedit: Link to msvcrt instead of ucrtbase.
184       quartz: Link to msvcrt instead of ucrtbase.
185       winegstreamer: Link to msvcrt instead of ucrtbase.
186       wined3d: Remove no longer used support for emulated non-power-of-two textures.
187       wined3d: Remove no longer used support for rectangle textures.
188       wined3d: Remove texture non-power-of-two fixup.
189       wined3d: Remove the last vestiges of ARB_texture_rectangle support.
190       wined3d: Collapse together NPOT d3d_info flags.
191       wined3d: Remove the redundant "pow2_width" and "pow2_height" fields.
192       wined3d: Fix inversion in shader_get_position_fixup().
194 Eric Pouech (19):
195       cmd/tests: Test using %%0-%%9 as loop variables.
196       cmd/tests: Test nested loop variables expansion.
197       cmd/tests: Test delayed expansion with spaces in IF and FOR.
198       cmd/tests: Test calling batch files named as builtin commands.
199       cmd/tests: Test success/failure of commands.
200       cmd: Consistenly use the same variable to identify current command.
201       cmd: No longer keep track of last element in command list.
202       cmd: Introduce xrealloc helper.
203       cmd: Use CRT's popen instead of rewriting it.
204       cmd: Remove malloc attribute from xrealloc.
205       cmd: Introduce CMD_NODE structure.
206       cmd: Add helpers to handle list in degenerated binary tree.
207       cmd: Move operator from CMD_COMMAND to CMD_NODE.
208       msvcrt: Demangle std::nullptr_t datatype.
209       winedump: Demangle std::nullptr_t datatype.
210       msvcrt: Don't consider end of list encoding as real data types.
211       winedump: Don't consider end of list encoding as real data types.
212       msvcrt: Correctly unmangle qualified pointer to function/method.
213       winedump: Correctly unmangle qualified pointer to function/method.
215 Esme Povirk (20):
216       gdiplus: Add a function to bracket HDC use.
217       gdiplus: Bracket HDC use in gdi_alpha_blend.
218       gdiplus: Bracket HDC use in alpha_blend_pixels_hrgn.
219       gdiplus: Bracket hdc use in brush_fill_path.
220       gdiplus: Bracket HDC use in draw_cap.
221       gdiplus: Bracket HDC use in draw_poly.
222       gdiplus: Bracket HDC use in trace_path.
223       gdiplus: Do not use hdc directly in get_graphics_bounds.
224       gdiplus: Accept an HDC in get_gdi_transform.
225       gdiplus: Fix background key.
226       gdiplus: Bitmap stride is ignored when Scan0 is non-NULL.
227       gdiplus: Support anchors on thin paths.
228       gdiplus: Remove unnecessary math in add_anchor.
229       gdiplus: Fix signs on custom line cap rotation in add_anchor.
230       gdiplus: Reorder filled arrow cap points to match native.
231       gdiplus: Add a test for GdipWidenPath with Custom linecaps.
232       gdiplus: Do not create gdi32 objects for Bitmap objects.
233       gdiplus: Bracket HDC use in GdipDrawImagePointsRect.
234       gdiplus: Bracket HDC use in GDI32_GdipFillPath.
235       gdiplus: Bracket HDC use in GDI32_GdipFillRegion.
237 Fabian Maurer (2):
238       win32u: Factor out scroll timer handling.
239       win32u: Only set scroll timer if it's not running.
241 Fotios Valasiadis (1):
242       ntdll/unix: Fix building on musl by explicitly including asm/ioctls.h.
244 Georg Lehmann (1):
245       winevulkan: Update to VK spec version 1.3.285.
247 Hans Leidekker (8):
248       odbc32: Forward SQLDataSourcesA() to SQLDataSources() and GetDiagRecA() to GetDiagRec().
249       odbc32: Make Unix call parameters Wow64 compatible.
250       odbc32: Load_odbc() returns NTSTATUS.
251       odbc32: Move replication of ODBC settings to the Unix lib.
252       odbc32: Add Wow64 thunks.
253       include: Add missing Unicode SQL function declarations.
254       odbc32: Don't load libodbc.so dynamically.
255       odbc32/tests: Add tests.
257 Hongxin Zhao (1):
258       po: Add a missing \t in the Simplified Chinese translation.
260 Huw D. M. Davies (3):
261       nsi/tests: Use NSI_IP_COMPARTMENT_TABLE instead of hard coding the integer.
262       mmdevapi: Remove unused ACImpl typedef.
263       maintainers: Remove Andrew Eikum.
265 Jacek Caban (25):
266       winecrt0: Support __os_arm64x_dispatch_call symbol on ARM64EC.
267       d3dx9/tests: Remove xfile dumping functionality.
268       mshtml: Introduce DISPEX_IDISPATCH_IMPL.
269       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlnode.c.
270       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlbody.c.
271       mshtml: Use DISPEX_IDISPATCH_IMPL in htmlanchor.c.
272       mshtml: Use DISPEX_IDISPATCH_IMPL in htmlarea.c.
273       mshtml: Use DISPEX_IDISPATCH_IMPL in htmlattribute.c.
274       mshtml: Use DISPEX_IDISPATCH_IMPL in htmlcomment.c.
275       mshtml: Use DISPEX_IDISPATCH_IMPL in htmlcurstyle.c.
276       mshtml: Use DISPEX_IDISPATCH_IMPL for DocumentType object implementation.
277       winebuild: Use .drectve section for exports on ARM64EC.
278       mshtml: Use DISPEX_IDISPATCH_IMPL for HTMLElement object implementation.
279       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlelem.c.
280       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlelemcol.c.
281       mshtml: Use DISPEX_IDISPATCH_IMPL for HTMLEventObj object implementation.
282       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlevent.c.
283       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlform.c.
284       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlframe.c.
285       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlgeneric.c.
286       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlhead.c.
287       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlimg.c.
288       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlinput.c.
289       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmllink.c.
290       mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmllocation.c.
292 Nikolay Sivov (7):
293       d2d1/tests: Add a test for effect output image interface query.
294       d2d1/effect: Fix GetImageLocalBounds() prototype.
295       d2d1/tests: Add some vertex buffer tests.
296       d2d1/effect: Use more generic naming for loaded shaders array.
297       d2d1/effect: Add a stub vertex buffer object.
298       d2d1/effect: Implement SetPassthroughGraph().
299       d2d1/effect: Implement ConnectNode().
301 Paul Gofman (7):
302       xaudio2: Use FAudioVoice_DestroyVoiceSafeEXT() in destroy_voice().
303       bcrypt: Support RSA/PKCS1 signatures with unspecified hash algorithm.
304       win32u: Update last message time in NtUserGetRawInputBuffer().
305       ntdll: Allocate crit section debug info by default for Windows versions before 8.
306       opengl32: Prefer formats with depth if unspecified in wglChoosePixelFormat().
307       xaudio2/tests: Fix test failures with xaudio2_8 in test_submix().
308       nsiproxy.sys: Return success and zero count from ipv6_forward_enumerate_all() if IPV6 is unsupported.
310 Piotr Caban (4):
311       ucrtbase: Handle empty list in variadic template.
312       winedump: Handle empty list in variadic template.
313       msvcrt/tests: Don't link to _wcsicmp_l and _create_locale.
314       ntdll: Don't use gmtime concurrently.
316 Rémi Bernon (37):
317       winex11: Only request display modes driver data when needed.
318       win32u: Read / write source modes as a single registry blob.
319       win32u: Remove now unnecessary reset_display_manager_ctx.
320       win32u: Use struct pci_id in struct gdi_gpu.
321       win32u: Remove driver-specific id from struct gdi_gpu.
322       win32u: Pass gdi_gpu structure members as add_gpu parameters.
323       win32u: Return STATUS_ALREADY_COMPLETE from UpdateDisplayDevices.
324       mfreadwrite/tests: Add some source reader D3D11 awareness tests.
325       mf/tests: Test video processor D3D11 awareness.
326       winegstreamer/video_processor: Implement D3D awareness.
327       mfreadwrite/reader: Pass the device manager to the stream transforms.
328       winegstreamer: Introduce a new wg_transform_create_mf helper.
329       winegstreamer: Introduce a new check_audio_transform_support helper.
330       winegstreamer: Introduce a new check_video_transform_support helper.
331       mfplat: Fix MFCreateMFVideoFormatFromMFMediaType videoInfo.VideoFlags masks.
332       mfplat: Use IMFMediaType_GetBlobSize instead of IMFMediaType_GetBlob.
333       mfplat: Introduce a new init_video_info_header helper.
334       mfplat: Use media_type_get_uint32 in more places.
335       mfplat: Factor AM_MEDIA_TYPE video format allocation.
336       mfplat: Set AM_MEDIA_TYPE bTemporalCompression and bFixedSizeSamples.
337       mfplat: Implement FORMAT_MPEGVideo for MFInitAMMediaTypeFromMFMediaType.
338       mfplat: Implement FORMAT_MPEG2Video for MFInitAMMediaTypeFromMFMediaType.
339       mfplat: Implement MFInitMediaTypeFromMPEG1VideoInfo.
340       mfplat: Implement MFInitMediaTypeFromMPEG2VideoInfo.
341       mfplat: Implement MFCreateVideoMediaType.
342       winebus: Don't advertise hidraw devices as XInput compatible.
343       winebus: Report whether devices are connected over bluetooth.
344       winebus: Move Sony controllers report fixups to PE side.
345       mfreadwrite/reader: Shutdown the queue when public ref is released.
346       mfplat: Add MFVideoFormat_ABGR32 format information.
347       mf/tests: Add video processor tests with MFVideoFormat_ABGR32 format.
348       mfreadwrite/tests: Add tests with MFVideoFormat_ABGR32 output format.
349       winegstreamer: Support MFVideoFormat_ABGR32 output in the video processor.
350       mfreadwrite/reader: Fixup MFVideoFormat_ABGR32 subtype to enumerate the video processor.
351       win32u: Set DEVMODEW dmSize field.
352       wineandroid: Set DEVMODEW dmSize field.
353       winemac: Set DEVMODEW dmSize field.
355 Tim Clem (7):
356       mountmgr.sys: Do not create drive letters or volumes for unbrowsable macOS volumes.
357       mountmgr.sys: Do not add drive letters or volumes for macOS volumes without mount paths.
358       winemac.drv: Document mode_is_preferred.
359       winemac.drv: Prefer display modes that are marked as usable for desktop.
360       winemac.drv: Do not consider the "valid" and "safe" flags as making a display mode unique.
361       Revert "winemac.drv: Hide app's dock icon when it wouldn't have a taskbar item on Windows.".
362       winemac.drv: Exclude dictation when looking for input methods.
364 Yuxuan Shui (3):
365       rtworkq: Avoid use-after-free.
366       mfplat/tests: Validate MFCancelWorkItem releases the callback.
367       rtworkq: Release cancelled work items.
369 Ziqing Hui (1):
370       winegstreamer/video_decoder: Make output_plane_align specific to h264.