wined3d: Pass "shader->function" as source to vkd3d_shader_scan() in shader_spirv_sca...
[wine.git] / ANNOUNCE.md
blob4add591fbc53270d843134fd64913ec92ed52255
1 The Wine development release 9.3 is now available.
3 What's new in this release:
4   - Improvements to Internet Proxy support.
5   - New HID pointer device driver.
6   - Timezone database update.
7   - More exception fixes on ARM platforms.
8   - Various bug fixes.
10 The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.3.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.3/AUTHORS
22 ----------------------------------------------------------------
24 ### Bugs fixed in 9.3 (total 23):
26  - #33050  FDM (Free Download Manager) crashes with page fault when any remote FTP directory opened
27  - #46070  Basemark Web 3.0 Desktop Launcher crashes
28  - #46263  Final Fantasy XI crashes after accepting EULA when using Ashita; World of Warships hangs at login screen
29  - #46839  Happy Foto Designer Font not found "Fehler (Code 1) [Font is not supported: Roboto]"
30  - #50643  IK Product Manager: Unable to download plugins
31  - #51458  Western Digital SSD Dashboard displays black screen
32  - #51599  cmd.exe incorrectly parses an all-whitespace line followed by a closing parenthesis
33  - #51813  python fatal error redirecting stdout to file
34  - #52064  Solidworks 2008 crashes on startup
35  - #52642  Virtual Life 2 freezes
36  - #54794  Autodesk Fusion360: New SSO login will not open web browser
37  - #55282  Flutter SDK can't find "aapt" program (where.exe is a stub)
38  - #55584  Possibly incorrect handling of end_c in ARM64 process_unwind_codes
39  - #55630  DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 is not handled in GetAwarenessFromDpiAwarenessContext
40  - #55810  Finding Nemo (Steam): window borders gone missing (virtual desktop)
41  - #55897  cpython 3.12.0 crashes due to unimplemented CopyFile2
42  - #56065  Missing GetAnycastIpAddressTable() implementation
43  - #56139  scrrun: Dictionary does not allow storing at key Undefined
44  - #56222  Microsoft Flight Simulator 2020 (steam) needs unimplemented function GDI32.dll.D3DKMTEnumAdapters2
45  - #56244  SplashTop RMM client for Atera crashes on unimplemented function shcore.dll.RegisterScaleChangeNotifications
46  - #56273  [Sway] winewayland.drv: cursor does not work in Dead Island 2
47  - #56328  LMMS 1.2.2 SF2 soundfonts no longer work in Wine 9.1
48  - #56343  Multiple applications fail to start after de492f9a34
50 ### Changes since 9.2:
51 ```
52 Alex Henrie (8):
53       ntdll: Include alloc_type argument in NtMapViewOfSection(Ex) traces.
54       rpcrt4/tests: Use CRT allocation functions.
55       where: Implement search with default options.
56       include: Annotate NdrGetBuffer with __WINE_(ALLOC_SIZE|MALLOC).
57       wined3d: Use CRT allocation functions.
58       include: Add debugstr_time to wine/strmbase.h.
59       msxml3: Use CRT allocation functions.
60       advapi32/tests: Use CRT allocation functions.
62 Alexandre Julliard (51):
63       ntdll: Implement RtlLookupFunctionTable.
64       ntdll/tests: Don't use x86-64 assembly on ARM64EC.
65       include: Add some public exception handling structures.
66       ntdll: Move RtlLookupFunctionEntry() to the CPU backends.
67       ntdll: Move find_function_info() to the CPU backends.
68       ntdll: Move RtlAddFunctionTable() to the CPU backends.
69       ntdll: Support ARM64EC code in RtlLookupFunctionEntry.
70       ntdll: Make APCs alertable by default on ARM platforms.
71       ntdll: Move exception unwinding code to a separate file.
72       ntdll: Move the dynamic unwind tables to unwind.c.
73       ntdll: Move RtlUnwind to unwind.c.
74       ntdll: Implement RtlVirtualUnwind for ARM64EC.
75       winedump: Add dumping of the save_any_reg ARM64 unwind code.
76       ntdll: Add support for the save_any_reg ARM64 unwind code.
77       ntdll: Ignore end_c when processing ARM64 unwind codes.
78       ntdll: Don't count custom stack frames as part of the prolog on ARM64.
79       rpcrt4/tests: Fix some malloc/HeapAlloc mismatches.
80       ntdll/tests: Simplify testing of unwind register values on ARM64.
81       ntdll: Ignore home parameters saving when unwinding epilog on ARM64.
82       ntdll: Move ARM64 context conversion functions to a new header.
83       ntdll: Implement EC_CONTEXT unwinding operation on ARM64.
84       ntdll: Implement CLEAR_UNWOUND_TO_CALL unwinding operation on ARM64.
85       ntdll: Always set non-volatile pointers for ARM64 unwinding.
86       kernelbase: Update timezone data to version 2024a.
87       faudio: Import upstream release 24.02.
88       mpg123: Import upstream release 1.32.5.
89       png: Import upstream release 1.6.42.
90       jpeg: Import upstream release 9f.
91       zlib: Import upstream release 1.3.1.
92       lcms2: Import upstream release 2.16.
93       ldap: Import upstream release 2.5.17.
94       xslt: Import upstream release 1.1.39.
95       xml2: Import upstream release 2.11.7.
96       zydis: Import upstream release 4.1.0.
97       fluidsynth: Import upstream release 2.3.4.
98       ntdll/tests: Move unwinding tests to a separate file.
99       ntdll/tests: Run dynamic unwind tests on ARM platforms.
100       ntdll/tests: Run RtlVirtualUnwind tests on ARM64EC.
101       ntdll: Default to the SEH channel on x86-64.
102       ntdll: Add a helper macro to dump a register context.
103       ntdll: Share exception dispatch implementation across platforms.
104       include: Add new idl files to the makefile.
105       ntdll: Handle leaf functions in RtlVirtualUnwind on ARM64.
106       ntdll: Handle leaf functions in RtlVirtualUnwind on ARM.
107       ntdll: Handle leaf functions in RtlVirtualUnwind on x86-64.
108       ntdll: Remove support for unwinding ELF dlls on ARM.
109       configure: Stop passing ARM code generation options to winebuild.
110       configure: Require floating point support on ARM targets.
111       winegcc: Stop passing ARM code generation options to winebuild.
112       winebuild: Remove ARM code generation option.
113       ntdll/tests: Fix a test failure when exception information is missing.
115 Aurimas Fišeras (2):
116       po: Update Lithuanian translation.
117       po: Update Lithuanian translation.
119 Bernhard Übelacker (4):
120       cmd: Handle lines with just spaces in bracket blocks.
121       cmd: Avoid execution if block misses closing brackets.
122       wininet: Add missing assignment of return value.
123       wininet: Avoid crash in InternetCreateUrl with scheme unknown.
125 Biswapriyo Nath (5):
126       include: Add IDirect3DSurface in windows.graphics.directx.direct3d11.idl.
127       include: Add BitmapBuffer runtimeclass in windows.graphics.imaging.idl.
128       include: Add SoftwareBitmap runtimeclass in windows.graphics.imaging.idl.
129       include: Add DetectedFace runtimeclass in windows.media.faceanalysis.idl.
130       include: Add FaceDetector runtimeclass in windows.media.faceanalysis.idl.
132 Brendan McGrath (1):
133       d2d1/tests: Increase timeout from 1 sec to 5 secs.
135 Brendan Shanks (2):
136       ntdll: Assume process-private futexes are always present on Linux.
137       ntdll: On x86_64, don't access %gs in signal_start_thread().
139 Daniel Lehman (8):
140       oleaut32: Handle exponent in VarBstrFromR[48] in non-English locales.
141       oleaut32/tests: Add tests for number of digits.
142       oleaut32: Use scientific notation only for larger numbers in VarBstrFromR[48].
143       include: Add some msvcrt declarations.
144       msvcrt: Use string sort for strncoll/wcsncoll.
145       msvcrt/tests: Include locale in ok message.
146       msvcrt/tests: Add tests for strcoll/wcscoll.
147       msvcrt: Use string sort for strcoll/wcscoll.
149 David Kahurani (1):
150       msi: Avoid leaking stream on DB update.
152 Eric Pouech (11):
153       kernel32/tests: Add tests for CreateProcess with invalid handles.
154       kernelbase: Don't use INVALID_HANDLE_VALUE as std handle in CreateProcess.
155       msvcrt/tests: Extend test for invalid std handle on msvcrt init.
156       msvcrt: Don't reset invalid std handle in init.
157       kernel32/tests: Remove todo scaffolding for CreateProcess() tests.
158       winedump: Don't crash on non-effective runtime function entries.
159       kernel32/tests: Check if thread is suspended in debugger attachment tests.
160       winedbg: Use share attributes for opening command file.
161       dbghelp: Implement SymFromIndex().
162       winedump: Don't expect a fixed number of substreams in DBI header (PDB).
163       dbghelp: Don't expected a fixed number of substreams in DBI header (PDB).
165 Fabian Maurer (5):
166       user32/sysparams: Only allow dpi awareness tests to return invalid on windows.
167       user32/sysparams: Handle more contexts in GetAwarenessFromDpiAwarenessContext.
168       wineoss: Remove superflous check.
169       winealsa: Remove superflous check.
170       mmdevapi/tests: Add test for invalid format with exclusive mode.
172 Floris Renaud (1):
173       po: Update Dutch translation.
175 Gabriel Ivăncescu (7):
176       jscript: Add initial implementation of ArrayBuffer.
177       jscript: Add initial implementation of DataView.
178       jscript: Implement DataView setters.
179       jscript: Implement DataView getters.
180       jscript: Implement ArrayBuffer.prototype.slice.
181       kernelbase: Copy the read-only attribute from the source.
182       explorer: Set layered style on systray icons before calling into the driver.
184 Geoffrey McRae (1):
185       include: Add interfaces for ID3D11On12Device1 and ID3D11On12Device2.
187 Hans Leidekker (1):
188       wbemprox: Protect tables with a critical section.
190 Ivo Ivanov (2):
191       hidclass.sys: Use the correct string for container_id.
192       hidclass.sys: Use HID_DEVICE in the mfg_section to match the recent changes.
194 Jacek Caban (7):
195       winebuild: Introduce exports struct.
196       winebuild: Use exports struct for imports handling.
197       winebuild: Use exports struct for 16-bit modules handlign.
198       winebuild: Use exports struct for exports handling.
199       winebuild: Use exports struct in assign_ordinals.
200       winebuild: Use exports struct in assign_names.
201       winebuild: Move target filtering to assign_exports.
203 Jinoh Kang (6):
204       ntdll: Remove stale comment from set_async_direct_result() documentation.
205       include: Add definition for FILE_STAT_INFORMATION.
206       ntdll/tests: Add tests for NtQueryInformationFile FileStatInformation.
207       ntdll: Implement NtQueryInformationFile FileStatInformation.
208       kernelbase: Replace FileAllInformation with FileStatInformation in GetFileInformationByHandle().
209       kernel32/tests: Fix console test with odd-sized consoles.
211 Kartavya Vashishtha (1):
212       kernelbase: Implement CopyFile2().
214 Krzysztof Bogacki (4):
215       gdi32/tests: Add D3DKMTEnumAdapters2 tests.
216       gdi32: Add D3DKMTEnumAdapters2() stub.
217       win32u: Maintain a list of GPUs in cache.
218       win32u: Implement NtGdiDdDDIEnumAdapters2.
220 Louis Lenders (1):
221       imm32: Update spec file.
223 Marc-Aurel Zent (4):
224       iphlpapi: Implement GetRTTAndHopCount().
225       server: Use __pthread_kill() syscall wrapper.
226       server: Use bootstrap_register2() instead of bootstrap_register().
227       server: Improve formatting in mach init_tracing_mechanism().
229 Mohamad Al-Jaf (5):
230       include: Add windows.security.authentication.onlineid.idl file.
231       windows.security.authentication.onlineid: Add stub DLL.
232       windows.security.authentication.onlineid: Add IOnlineIdSystemAuthenticatorStatics stub interface.
233       windows.security.authentication.onlineid: Add IOnlineIdServiceTicketRequestFactory stub interface.
234       windows.security.authentication.onlineid: Implement IOnlineIdSystemAuthenticatorStatics::get_Default().
236 Nikola Kuburović (1):
237       kernelbase: Reduce FIXME to TRACE if params is null.
239 Paul Gofman (29):
240       kernel32/tests: Add tests for critical section debug info presence.
241       strmbase: Force debug info in critical sections.
242       dmime: Force debug info in critical sections.
243       dmsynth: Force debug info in critical sections.
244       mapi32: Force debug info in critical sections.
245       propsys: Force debug info in critical sections.
246       rpcrt4: Force debug info in critical sections.
247       vcomp: Force debug info in critical sections.
248       webservices: Force debug info in critical sections.
249       ntdll: Don't hardcode xstate feature mask.
250       ntdll: Don't hardcode xstate size in syscall frame.
251       ntdll: Don't hardcode xstate size in exception stack layout.
252       powershell: Read input command from stdin.
253       winhttp: Force debug info in critical sections.
254       xaudio2: Force debug info in critical sections.
255       kernelbase: Force debug info in critical sections.
256       combase: Force debug info in critical sections.
257       crypt32: Force debug info in critical sections.
258       winhttp: Mind read size when skipping async read in WinHttpReadData().
259       dinput: Force debug info in critical sections.
260       dplayx: Force debug info in critical sections.
261       dsound: Force debug info in critical sections.
262       dwrite: Force debug info in critical sections.
263       inetcomm: Force debug info in critical sections.
264       mscoree: Force debug info in critical sections.
265       ntdll: Force debug info in critical sections.
266       qmgr: Force debug info in critical sections.
267       windowscodecs: Force debug info in critical sections.
268       wininet: Force debug info in critical sections.
270 Piotr Caban (20):
271       wininet: Store proxy type in proxyinfo_t.
272       wininet: Don't allocate global_proxy structure dynamically.
273       wininet: Move reading proxy settings from registry to separate function.
274       wininet: Return process-wide proxy settings from INTERNET_GetProxySettings.
275       wininet: Add support for reading AutoConfigURL from registry.
276       wininet: Store whole ProxyServer string so it's not lost while saving settings to registry.
277       wininet: Set ProxyOverride registry key when saving proxy information.
278       wininet: Set AutoConfigURL registry key when saving proxy information.
279       wininet: Test INTERNET_OPTION_PER_CONNECTION_OPTION on process settings.
280       wininet: Fix buffer size calculation in InternetQueryOption(INTERNET_OPTION_PER_CONNECTION_OPTION).
281       wininet: Use GlobalAlloc in InternetQueryOption(INTERNET_OPTION_PER_CONNECTION_OPTION).
282       wininet/tests: Cleanup INTERNET_OPTION_PER_CONNECTION_OPTION tests.
283       wininet: Add support for writing connection settings binary blobs from registry.
284       wininet: Add support for reading connection settings binary blobs from registry.
285       wininet: Add support for INTERNET_PER_CONN_AUTOCONFIG_URL in InternetSetOption.
286       wininet: Fix INTERNET_PER_CONN_AUTOCONFIG_URL option when quering global proxy settings.
287       wininet: Add support for INTERNET_OPTION_PER_CONNECTION_OPTION option on session handles.
288       wininet/tests: Add more INTERNET_OPTION_PER_CONNECTION_OPTION tests.
289       inetcpl.cpl: Use wininet functions to set proxy settings.
290       wininet/tests: Add initial PAC script tests.
292 Rastislav Stanik (1):
293       iphlpapi: Add stub for GetAnycastIpAddressTable().
295 Rémi Bernon (45):
296       winex11: Process XInput2 events with QS_INPUT filter.
297       winex11: Advertise XInput2 version 2.2 support.
298       winex11: Initialize XInput2 extension on every thread.
299       winex11: Always listen to XInput2 device changes events.
300       winex11: Simplify XInput2 device valuator lookup.
301       hidclass: Make HID hardware ids more similar to windows.
302       hidclass: Only access Tail.Overlay.OriginalFileObject when needed.
303       mouhid.sys: Introduce a new HID pointer device driver.
304       mouhid.sys: Request preparsed data and inspect device caps.
305       mouhid.sys: Read reports from the underlying HID device.
306       mouhid.sys: Parse HID reports to track contact points.
307       mfreadwrite/reader: Introduce source_reader_queue_sample helper.
308       mfreadwrite/reader: Pass the transform to source_reader_pull_stream_samples.
309       mfreadwrite/reader: Introduce a new source_reader_allocate_stream_sample helper.
310       mfreadwrite/reader: Introduce new source_reader_(drain|flush)_transform_samples helpers.
311       mfreadwrite/reader: Repeat pushing / pulling samples while it succeeds.
312       winevulkan: Wrap host swapchain handles.
313       winevulkan: Adjust VkSurfaceCapabilitiesKHR image extents with client rect.
314       winewayland: Remove now unnecessary VkSurfaceCapabilitiesKHR fixups.
315       winevulkan: Implement vkGetPhysicalDeviceSurfaceCapabilities2KHR fallback.
316       winevulkan: Remove now unnecessary vkGetPhysicalDeviceSurfaceCapabilities2KHR driver entry.
317       winevulkan: Remove now unnecessary vkGetPhysicalDeviceSurfaceCapabilitiesKHR driver entry.
318       winegstreamer: Use MFCreateVideoMediaTypeFromSubtype in GetInputAvailableType.
319       winegstreamer: Use MFCreateVideoMediaTypeFromSubtype in GetOutputAvailableType.
320       winegstreamer: Remove unnecessary create_output_media_type checks.
321       winegstreamer: Use GUID arrays for H264 decoder media types.
322       winegstreamer: Complete H264 current output type reported attributes.
323       win32u: Deduce monitor device flags from their adapter.
324       win32u: Only consider active monitors for clone detection.
325       win32u: Only consider active monitors for virtual screen rect.
326       win32u: Only consider active monitors in monitor_from_rect.
327       win32u: Don't assume that the primary adapter is always first.
328       winegstreamer: Use MFCalculateImageSize to compute output info size.
329       ir50_32: Use the proper hr value for stream format change.
330       winegstreamer: Use the H264 decoder to implement the IV50 decoder.
331       winegstreamer: Rename struct h264_decoder to struct video_decoder.
332       winevulkan: Handle creation of surfaces with no HWND directly.
333       winex11: Remove now unnecessary create_info HWND checks.
334       winevulkan: Handle invalid window in vkCreateSwapchainKHR.
335       winevulkan: Handle invalid window in vkGetPhysicalDevicePresentRectanglesKHR.
336       winevulkan: Remove now unnecessary vkGetPhysicalDevicePresentRectanglesKHR driver entry.
337       winevulkan: Implement vkGetPhysicalDeviceSurfaceFormats2KHR fallback.
338       winevulkan: Remove now unnecessary vkGetPhysicalDeviceSurfaceFormats2KHR driver entry.
339       winevulkan: Remove now unnecessary vkGetPhysicalDeviceSurfaceFormatsKHR driver entry.
340       server: Use the startup info to connect the process winstation.
342 Santino Mazza (7):
343       mlang/tests: Test for GetGlobalFontLinkObject.
344       mlang: Implement GetGlobalFontLinkObject.
345       mlang/tests: Test codepages priority bug in GetStrCodepages.
346       mlang: Fix bug with codepage priority in GetStrCodePages.
347       gdiplus: Replace HDC with GpGraphics in parameters.
348       gdiplus/tests: Add interactive test for font linking.
349       gdiplus: Implement font linking for gdiplus.
351 Shaun Ren (15):
352       sapi: Implement ISpeechObjectToken::GetDescription.
353       sapi: Implement ISpeechObjectToken::Invoke.
354       sapi: Implement ISpeechObjectToken::GetIDsOfNames.
355       sapi: Implement ISpeechObjectTokens::get_Count.
356       sapi: Implement IEnumVARIANT::Next for ISpeechObjectTokens.
357       sapi: Implement ISpeechObjectTokens::Invoke.
358       sapi: Free typelib on DLL detach.
359       sapi: Implement ISpeechVoice::Speak.
360       sapi: Handle zero-length attributes correctly in ISpObjectTokenCategory::EnumTokens.
361       sapi: Introduce create_token_category helper in tts.
362       sapi: Implement ISpeechVoice::GetVoices.
363       sapi: Implement ISpeechVoice::GetTypeInfoCount.
364       sapi: Implement ISpeechVoice::GetTypeInfo.
365       sapi: Implement ISpeechVoice::GetIDsOfNames.
366       sapi: Implement ISpeechVoice::Invoke.
368 Vijay Kiran Kamuju (1):
369       include: Add msdelta header file.
371 Yuxuan Shui (6):
372       dmband: Implement getting/setting GUID_BandParam on band tracks.
373       dmime/tests: Add MIDI loading test.
374       dmime: Parse MIDI headers.
375       dmime: Don't skip chunk for MIDI files.
376       dmime: Read through a MIDI file.
377       dmime/tests: Improve error reporting from expect_track.
379 Zebediah Figura (32):
380       urlmon/tests: Add basic tests for CoInternetParseUrl(PARSE_CANONICALIZE).
381       shlwapi/tests: Move the UrlCanonicalize() tests into test_UrlCanonicalizeA().
382       shlwapi/tests: Remove the unused "wszExpectUrl" variable from check_url_canonicalize().
383       shlwapi/tests: Use winetest_push_context() in test_UrlCanonicalizeA().
384       shlwapi/tests: Move UrlCombine() error tests out of the loop.
385       kernelbase: Do not use isalnum() with Unicode characters.
386       kernelbase: Do not canonicalize the relative part in UrlCombine().
387       kernelbase: Reimplement UrlCanonicalize().
388       kernelbase: Use scheme_is_opaque() in UrlIs().
389       shlwapi/tests: Add many more tests for UrlCanonicalize().
390       dinput/tests: Return void from test_winmm_joystick().
391       wined3d: Merge shader_load_constants() into shader_select().
392       wined3d: Introduce a separate vp_disable() method.
393       wined3d: Introduce a separate fp_disable() method.
394       wined3d: Pass a wined3d_state pointer to the vp_enable() and fp_enable() methods.
395       wined3d: Pass a non-const wined3d_context pointer to the FFP *_apply_draw_state() methods.
396       wined3d/arb: Move fragment program compilation from fragment_prog_arbfp() to arbfp_apply_draw_state().
397       wined3d: Set the pipeline key viewport and scissor count at initialization.
398       wined3d: Make the viewport state dynamic.
399       wined3d: Make the scissor state dynamic.
400       wined3d: Enable EXT_extended_dynamic_state.
401       wined3d: Use dynamic state for depth/stencil state if possible.
402       shell32: Remove two unused strings.
403       shell32: Always use IContextMenu::InvokeCommand() when selecting an item from the context menu.
404       shell32: Do not set the default menu item from ShellView_DoContextMenu().
405       shell32: Separate a get_filetype() helper.
406       shell32: Properly implement context menu verbs.
407       wined3d/arb: Move SPECULARENABLE constant loading to arbfp_apply_draw_state().
408       wined3d/arb: Move TEXTUREFACTOR constant loading to arbfp_apply_draw_state().
409       wined3d/arb: Move color key constant loading to arbfp_apply_draw_state().
410       wined3d/arb: Move texture constant loading to arbfp_apply_draw_state().
411       wined3d/arb: Move FFP bumpenv constant loading to arbfp_apply_draw_state().
413 Zhiyi Zhang (4):
414       include: Rename DF_WINE_CREATE_DESKTOP to DF_WINE_VIRTUAL_DESKTOP.
415       server: Inherit internal desktop flags when creating desktops.
416       dsound/tests: Test that formats with more than two channels require WAVEFORMATEXTENSIBLE.
417       dsound: Reject WAVEFORMATEX formats with more than two channels.