user32/tests: Revert test updates for win11.
[wine.git] / ANNOUNCE.md
blobe3b57274f7dbc8f5950c0719b1de3cf8b2b81bcd
1 The Wine development release 9.5 is now available.
3 What's new in this release:
4   - Initial SLTG-format typelib support in widl.
5   - Exception handling on ARM64EC.
6   - Improvements to Minidump support.
7   - Various bug fixes.
9 The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.5.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.5/AUTHORS
21 ----------------------------------------------------------------
23 ### Bugs fixed in 9.5 (total 27):
25  - #25207  SHFileOperation does not create new directory on FO_MOVE
26  - #29523  CDBurnerXP hangs on right-clicking empty space in the file browser
27  - #40613  Multiple applications require UAC implementation to run installer/app as a normal user instead of administrator (WhatsApp Desktop, Smartflix, Squirrel Installers, OneDrive)
28  - #44514  Elder Scrolls Online (Dragon Bones update) requires more than 32 samplers in pixel shaders with D3D11 renderer
29  - #45862  Multiple applications need MFCreateSinkWriterFromURL() implementation (Overwatch highlights, RadiAnt DICOM Viewer, Grand Theft Auto V Rockstar Editor)
30  - #48085  Wine error trying to install Mono after a version update
31  - #51957  Program started via HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths should also be started if extension ".exe" is missing
32  - #52352  YI Home installer crashes on unimplemented urlmon.dll.414
33  - #52622  windows-rs 'lib' test crashes on unimplemented function d3dcompiler_47.dll.D3DCreateLinker
34  - #53613  Visual novel RE:D Cherish! logo video and opening movie does not play
35  - #53635  Alune Klient 14.03.2022 crashes on unimplemented function urlmon.dll.414
36  - #54155  WeCom (aka WeChat Work) 4.x failed to launch.
37  - #55421  Fallout Tactics launcher has graphics glitches
38  - #55876  Acrom Controller Updater broken due to oleaut32 install
39  - #56318  Totem Arts Launcher.exe does not open
40  - #56367  Tomb Raider 3 GOG crashes at start
41  - #56379  d2d1 unable to build
42  - #56380  Rocket League crashes with Wine 9.3 after BakkesMod (trainer app) injects into the game
43  - #56400  SSPI authentication does not work when connecting to sql server
44  - #56406  wineserver crashes in set_input_desktop()
45  - #56411  Failure to build wine 9.4 due to EGL 64-bit development files not found
46  - #56433  QQ8.9.6 Installer crashes at very beginning due to a change in server/process.c
47  - #56434  WScript.Network does not implement UserName, ComputerName, and UserDomain properties
48  - #56435  capture mouse dont work in virtual desktop (work on wine 9.3)
49  - #56445  d3d1-9 applications run out of memory after f6a1844dbe (ArmA: Cold War Assault, Final Fantasy XI Online, Far Cry 3)
50  - #56450  Non-input USB HID devices stopped working in 9.1
51  - #56458  ntdll tests skipped on win7 & win8: missing entry point kernel32.RtlPcToFileHeader
53 ### Changes since 9.4:
54 ```
55 Akihiro Sagawa (2):
56       dsound/tests: Add tests for implicit MTA creation in IDirectSound::Initialize().
57       dsound: Initialize MTA in IDirectSound::Initialize().
59 Alexandre Julliard (42):
60       configure: Check the correct variable for the Wayland EGL library.
61       ntdll: Implement RtlRestoreContext on ARM64EC.
62       ntdll: Implement RtlWalkFrameChain on x86-64.
63       ntdll: Implement RtlWalkFrameChain on i386.
64       ntdll: Implement RtlWalkFrameChain on ARM.
65       ntdll: Implement RtlWalkFrameChain on ARM64.
66       ntdll: Implement RtlWalkFrameChain on ARM64EC.
67       ntdll: Export RtlVirtualUnwind2 and RtlWalkFrameChain.
68       ntdll: Share RtlCaptureStackBackTrace implementation across platforms.
69       secur32/tests: Update count for new winehq.org certificate.
70       ws2_32/tests: Fix a couple of failures on Windows.
71       include: Define setjmpex prototype even when it's a builtin.
72       ntdll/tests: Directly link to setjmp().
73       ntdll/tests: Fix a backtrace test failure on Windows ARM64.
74       ntdll: Add test for non-volatile regs in consolidated unwinds.
75       ntdll: Port the RtlRestoreContext test to ARM64.
76       ntdll: Port the RtlRestoreContext test to ARM.
77       ntdll: Implement RtlUnwindEx on ARM64EC.
78       ntdll: Move __C_specific_handler implementation to unwind.c.
79       ntdll: Implement __C_specific_handler on ARM64EC.
80       ntdll: Always use SEH support on ARM64.
81       ntdll/tests: Skip segment register tests on ARM64EC.
82       ntdll/tests: Fix debug register tests on ARM64EC.
83       ntdll/tests: Fix a few more test failures on ARM64EC.
84       ntdll: Implement RtlGetCallersAddress.
85       kernelbase: Remove no longer needed DllMainCRTStartup function.
86       include: Add some new error codes.
87       include: Add some new status codes.
88       ntdll: Add mappings for more status codes.
89       jscript: Use the correct facility for JScript errors.
90       netprofm: Use the correct symbols for error codes.
91       msvcrt: Use floating point comparison builtins also in MSVC mode.
92       ntdll/tests: Fix exception address checks in child process on ARM64EC.
93       ntdll/tests: Update the KiUserExceptionDispatcher test for ARM64EC.
94       configure: Don't build wow64 support in non-PE builds.
95       wow64: Use a .seh handler in raise_exception().
96       wow64: Always use a .seh handler in cpu_simulate().
97       wow64: Access the BTCpuSimulate backend function pointer directly.
98       wow64: Use a .seh handler for system calls.
99       wow64cpu: Save non-volatile registers before switching to 32-bit code.
100       wow64: Use setjmp/longjmp from ntdll.
101       server: Add a helper to trace uint64 arrays.
103 Alexandros Frantzis (5):
104       winewayland.drv: Implement wglCreateContextAttribsARB.
105       winewayland.drv: Implement wglShareLists.
106       winewayland.drv: Implement wgl(Get)SwapIntervalEXT.
107       win32u: Cancel auto-repeat only if the repeat key is released.
108       win32u: Cancel previous key auto-repeat when starting a new one.
110 Andrew Nguyen (3):
111       ddraw: Reserve extra space in the reference device description buffer.
112       oleaut32: Bump version resource to Windows 10.
113       ddraw: Release only valid texture parents on ddraw_texture_init failure.
115 Andrew Wesie (1):
116       wined3d: Use bindless textures for GLSL shaders if possible.
118 Brendan McGrath (5):
119       comdlg32: Use values from DeviceCapabilities in combobox.
120       comdlg32: Add resolutions to PRINTDLG_ChangePrinterW.
121       comdlg32: Populate printer name on the print dialogs.
122       comdlg32: Use ANSI functions in ANSI WMCommandA.
123       comdlg32: Don't treat cmb1 as the printer list unless in PRINT_SETUP.
125 Brendan Shanks (6):
126       ntdll: Remove support for msg_accrights FD passing.
127       server: Remove support for msg_accrights FD passing.
128       mountmgr: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
129       mountmgr: Replace some malloc/sprintf/strcpy calls with asprintf.
130       opengl32: Replace sprintf with snprintf/asprintf to avoid deprecation warnings on macOS.
131       secur32: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
133 Daniel Lehman (2):
134       oleaut32/tests: Add tests for GetSizeMax after dirty flag cleared.
135       oleaut32: Return success from GetSizeMax if not dirty.
137 David Gow (1):
138       evr/dshow: Support NV12 in evr_render.
140 David Heidelberg (2):
141       d3d9/tests: Replace LPDWORD cast with float_to_int function.
142       mailmap: Add a mailmap entry for myself with the proper name.
144 Dmitry Timoshkov (6):
145       d2d1: Make some strings const.
146       wineps.drv: Return default resolution if PPD doesn't provide the list of supported resolutions.
147       kerberos: Allocate memory for the output token if requested.
148       comctl32/tests: Add more tests for IImageList2 interface.
149       comctl32: Implement IImageList2::Initialize().
150       widl: Add initial implementation of SLTG typelib generator.
152 Eric Pouech (18):
153       include: Update minidumpapiset.h.
154       dbghelp/tests: Add tests for minidumps.
155       dbghelp/tests: Add tests about generated memory chunks.
156       dbghelp/tests: Add tests about minidump's callback.
157       dbghelp/tests: Test exception information in minidump.
158       dbghelp/tests: Add tests for function table lookup.
159       dbghelp: Use an intermediate buffer in SymFunctionTableAccess (x86_64).
160       dbghelp: Don't write minidump from running thread.
161       dbghelp: Simplify thread info generation in minidump.
162       dbghelp: Add support for V2 unwind info (x86_64).
163       winedbg: Fallback to PE image when reading memory (minidump).
164       winedbg: Reload module without virtual flag.
165       dbghelp: No longer embed unwind information in minidump (x86_64).
166       winedbg: Add ability to set executable name.
167       winedbg: Extend 'attach' command to load minidump files.
168       winedbg: Flush expr buffer upon internal exception.
169       winedbg: Update the CPU information displayed when reloading a minidump.
170       winedbg: Don't reload a minidump for a different machine.
172 Esme Povirk (7):
173       user32/tests: Accept HCBT_ACTIVATE in TrackPopupMenu.
174       gdiplus: Check bounding box in GdipIsVisibleRegionPoint.
175       user32/tests: Add another missing message for TrackPopupMenu.
176       gdiplus/tests: Region bounds aren't rounded.
177       gdiplus: Calculate region bounding box without generating HRGN.
178       user32/tests: Accept WM_ACTIVATE in TrackPopupMenu.
179       user32/tests: Further updates for win11 TrackPopupMenu failures.
181 Gabriel Ivăncescu (1):
182       shell32: Construct the proper path target for UnixFolder.
184 Giovanni Mascellani (1):
185       d2d1: Compile the pixel shader with D3DCompile().
187 Hans Leidekker (3):
188       dnsapi/tests: Skip tests if no CNAME records are returned.
189       ntdll/tests: Fix a test failure.
190       ntdll/tests: Load NtMakeTemporaryObject() dynamically.
192 Henri Verbeet (1):
193       wined3d: Do not check the input signature element count for sm4+ shaders in shader_spirv_compile_arguments_init().
195 Jacek Caban (2):
196       configure: Don't explicitly enable -Wenum-conversion on Clang.
197       widl: Always close parsed input file.
199 Jinoh Kang (10):
200       tools/gitlab: Run make_specfiles before building.
201       ntdll/tests: Add tests for OBJ_PERMANENT object attribute.
202       ntdll/tests: Add tests for NtMakeTemporaryObject.
203       server: Generalize server request make_temporary to set_object_permanence.
204       ntdll: Implement NtMakePermanentObject.
205       ntdll/tests: Don't import kernel32.RtlPcToFileHeader.
206       Revert "ntdll/tests: Load NtMakeTemporaryObject() dynamically."
207       server: Check for DELETE access in NtMakeTemporaryObject().
208       kernelbase: Open object with DELETE access for NtMakeTemporaryObject().
209       gitlab: Output collapsible section markers in test stage script.
211 Kyrylo Babikov (1):
212       dbghelp: Fix PDB processing using the FPO stream instead of FPOEXT.
214 Louis Lenders (1):
215       shell32: Try appending .exe when looking up an App Paths key.
217 Marcus Meissner (1):
218       ntdll/tests: Fix size passed to GetModuleFileNameW.
220 Mark Jansen (1):
221       kernel32/tests: Add tests for job object accounting.
223 Nikolay Sivov (16):
224       include: Add ID2D1Factory7 definition.
225       include: Add ID2D1DeviceContext6 definition.
226       d3dcompiler: Set correct compilation target for effects profiles.
227       d3dcompiler: Wrap fx_4_x output in a dxbc container.
228       d3d10/tests: Add a small effect compilation test.
229       wshom/network: Use TRACE() for implemented method.
230       wshom/network: Implement GetTypeInfo().
231       wshom/network: Implement ComputerName() property.
232       wshom/network: Check pointer argument in get_UserName().
233       d3dx10/tests: Remove todo's from now passing tests.
234       d3d10_1/tests: Remove todo from now passing test.
235       wshom/network: Implement UserDomain property.
236       msxml6/tests: Add some tests for MXWriter60.
237       msxml/tests: Move some of the validation tests to their modules.
238       msxml/tests: Move version-specific schema tests to corresponding modules.
239       include: Remove XMLSchemaCache60 from msxml2.idl.
241 Noah Berner (1):
242       advapi32/tests: Add todo_wine to tests that are currently failing.
244 Paul Gofman (11):
245       imm32: Set lengths to 0 for NULL strings in ImmSetCompositionString().
246       cryptowinrt: Force debug info in critical sections.
247       diasymreader: Force debug info in critical sections.
248       dsdmo: Force debug info in critical sections.
249       qasf: Force debug info in critical sections.
250       services: Force debug info in critical sections.
251       explorer: Force debug info in critical sections.
252       ntdll: Only allocate debug info in critical sections with RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO.
253       server: Ignore some ICMP-originated socket errors for connectionless sockets.
254       strmbase: Fallback to InitializeCriticalSection() if RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO is unsupported.
255       ntdll: Don't use debug info presence to detect critical section global status.
257 Pavel Ondračka (1):
258       d3d9/tests: Define enums outside of struct.
260 Piotr Caban (6):
261       ntdll: Workaround sendmsg bug on macOS.
262       winedump: Fix REG_DWORD dumping with no data.
263       advapi32/tests: Merge RegLoadKey and RegUnLoadKey tests.
264       advapi32/tests: Remove all files created by RegLoadKey tests.
265       advapi32/tests: Test if modifications are saved in RegUnLoadKey.
266       advapi32/tests: Remove all files created by RegLoadAppKey tests.
268 Robin Kertels (1):
269       d3d9/tests: Skip desktop window tests if device creation fails.
271 Rémi Bernon (74):
272       win32u: Move D3DKMT functions to a new d3dkmt.c source.
273       win32u: Move D3DKMT VidPn* functions out of winex11.
274       win32u: Add an adapter struct to the device manager context.
275       win32u: Split writing monitor to registry to a separate helper.
276       win32u: Get rid of the monitor display_device.
277       win32u: Get rid of the monitor state_flags.
278       win32u: Get rid of the adapter display_device.
279       win32u: Get rid of the monitor flags.
280       win32u: Enumerate monitors from their device keys.
281       mfreadwrite/reader: Handle MF_E_TRANSFORM_STREAM_CHANGE results.
282       win32u: Fix incorrect ascii key name in get_config_key.
283       winevulkan: Use an rb_tree and allocate entries for handle mappings.
284       winevulkan: Use a single allocation for device and queues.
285       winevulkan: Pass VkDeviceQueueCreateInfo to wine_vk_device_init_queues.
286       winevulkan: Rename wine_vk_physical_device_alloc parameters and variables.
287       winevulkan: Use a single allocation for instance and physical devices.
288       winevulkan: Get rid of the wine_vk_device_free helper.
289       winevulkan: Simplify wine_vk_instance_free helper.
290       winevulkan: Add handle mappings on creation success only.
291       winevulkan: Get rid of the wine_vk_instance_free helper.
292       mfplat/tests: Test each VIDEOINFOHEADER field conversion separately.
293       mfplat/mediatype: Implement implicit MFInitMediaTypeFromVideoInfoHeader subtype.
294       mfplat/mediatype: Implement MFInitMediaTypeFromVideoInfoHeader2.
295       mfplat/tests: Add tests for MFInitMediaTypeFromVideoInfoHeader2.
296       mfplat/mediatype: Implement MFInitAMMediaTypeFromMFMediaType for FORMAT_VideoInfo2.
297       mfplat/tests: Test aperture to VIDEOINFOHEADER fields mapping.
298       mfplat/mediatype: Support FORMAT_VideoInfo2 in MFInitMediaTypeFromAMMediaType.
299       mfplat/mediatype: Set MF_MT_SAMPLE_SIZE from bmiHeader.biSizeImage.
300       mfplat/mediatype: Map rcSource to MF_MT_(PAN_SCAN|MINIMUM_DISPLAY)_APERTURE.
301       mfplat/mediatype: Set rcSource and rcTarget if stride differs from width.
302       mfplat/tests: Add more MFAverageTimePerFrameToFrameRate tests.
303       mfplat: Support flexible frame time in MFAverageTimePerFrameToFrameRate.
304       mfplat/mediatype: Implement MF_MT_FRAME_RATE from VIDEOINFOHEADER2.
305       mfplat/mediatype: Implement VIDEOINFOHEADER2 dwControlFlags conversion.
306       mfplat/mediatype: Implement some VIDEOINFOHEADER2 dwInterlaceFlags conversion.
307       mfplat/tests: Test that aperture is dropped with VIDEOINFOHEADER2.
308       mfplat/tests: Test that MFCreateMFVideoFormatFromMFMediaType appends user data.
309       mfplat/mediatype: Append user data in MFCreateMFVideoFormatFromMFMediaType.
310       mfplat/tests: Check the conditions for the MFVideoFlag_BottomUpLinearRep flags.
311       mfplat/mediatype: Stub MFInitMediaTypeFromMFVideoFormat.
312       mfplat/tests: Add tests for MFInitMediaTypeFromMFVideoFormat.
313       mfplat/mediatype: Implement MFInitMediaTypeFromMFVideoFormat.
314       winebus: Add HID usages in the device descriptor when possible.
315       winebus: Read hidraw device usages from their report descriptors.
316       winebus: Prefer hidraw for everything that is not a game controller.
317       winebus: Remove devices that are ignored wrt hidraw preferences.
318       winevulkan: Allow only one vulkan surface at a time for an HWND.
319       win32u: Avoid a crash when cleaning up a monitor without an adapter.
320       winegstreamer: Release sink caps in the error path.
321       winegstreamer: Append an optional parser before decoders.
322       mfplat/tests: Add some broken results for Win7.
323       mfplat/tests: Test initializing mediatype from AAC WAVEFORMATEXTENSIBLE.
324       mfplat/tests: Check how AAC attributes are copied from user data.
325       mfplat/mediatype: Check format pointers and sizes in MFInitMediaTypeFromAMMediaType.
326       mfplat/mediatype: Support audio major type in MFInitMediaTypeFromAMMediaType.
327       mfplat/mediatype: Force WAVEFORMATEXTENSIBLE in MFCreateWaveFormatExFromMFMediaType in some cases.
328       mfplat/mediatype: Implement MFCreateMediaTypeFromRepresentation.
329       mfplat/mediatype: Use MFCreateWaveFormatExFromMFMediaType in init_am_media_type_audio_format.
330       ntoskrnl.exe: Open symbolic link with DELETE before making them temporary.
331       server: Avoid removing thread twice from its desktop thread list.
332       winex11: Accept key and mouse events with QS_RAWINPUT.
333       server: Send WM_WINE_CLIPCURSOR message only when necessary.
334       server: Send WM_WINE_SETCURSOR message only when necessary.
335       win32u: Use a structure to pass peek_message arguments.
336       server: Check for internal hardware messages before others.
337       server: Process internal messages when checking queue status.
338       user32/tests: Add missing winetest_pop_context.
339       user32/tests: Add some LoadKeyboardLayoutEx tests.
340       winemac: Use SONAME_LIBVULKAN as an alias for MoltenVK.
341       win32u: Move vulkan loading and init guard out of the drivers.
342       win32u: Move vkGet(Instance|Device)ProcAddr out the drivers.
343       winevulkan: Stop generating the wine/vulkan_driver.h header.
344       win32u: Move vkGet(Device|Instance)ProcAddr helpers inline.
345       mfplat: Append MFVIDEOFORMAT user data after the structure padding.
347 Santino Mazza (2):
348       mf/test: Check the topologies id's in topo loader.
349       mf/topoloader: Preserve input topology id.
351 Vijay Kiran Kamuju (4):
352       include: Add Windows.UI.ViewManagement.UIViewSettings definitions.
353       urlmon: Add stub for ordinal 414.
354       d3dcompiler: Add D3DCreateLinker stub.
355       user32: Add LoadKeyboardLayoutEx stub.
357 Yuxuan Shui (8):
358       shell32/tests: Check FindExecutable is looking in the correct current directory.
359       shell32/tests: Check ShellExecute is looking in the correct current directory.
360       shell32: PathResolve(file, NULL, ...) should not look in the current directory.
361       shell32: Make sure PathResolve can find files in the current directory.
362       shell32: PathResolve should be able to find files that already have extensions.
363       shell32: PathResolve should remove trailing dot.
364       shell32: Fix FindExecutable search path.
365       shell32: Rely solely on SHELL_FindExecutable for ShellExecute.
367 Zebediah Figura (12):
368       ntdll: Assign a primary token in elevate_token().
369       d3d9/tests: Remove a no longer accurate comment.
370       d3d11/tests: Add a test for using a large number of SRV resources.
371       wined3d: Rename the shader_select_compute method to shader_apply_compute_state.
372       wined3d: Move checking shader_update_mask to shader_glsl_apply_compute_state().
373       shell32/tests: Remove obsolete workarounds from test_move().
374       quartz: Implement SetVideoClippingWindow() and PresentImage() in the VMR7 presenter.
375       quartz: Reimplement the VMR7 using the VMR7 presenter.
376       quartz: Implement IVMRSurfaceAllocatorNotify::AdviseSurfaceAllocator().
377       quartz: Return S_OK from IVMRSurfaceAllocator_PrepareSurface().
378       quartz/tests: Add some tests for VMR7 renderless mode.
379       wined3d: Avoid leaking string buffers in shader_glsl_load_bindless_samplers().
381 Zhenbo Li (1):
382       shell32: Create nonexistent destination directories in FO_MOVE.
384 Zhiyi Zhang (5):
385       mfreadwrite: Fix a memory leak (Coverity).
386       win32u: Support HiDPI for the non-client close button in WS_EX_TOOLWINDOW windows.
387       win32u: Fix a possible condition that makes EnumDisplayMonitors() not reporting any monitors.
388       win32u: Don't enumerate mirrored monitor clones for GetSystemMetrics(SM_CMONITORS).
389       win32u: Don't enumerate mirrored monitor clones when unnecessary.