1 The Wine development release 9.2 is now available.
3 What's new in this release:
4 - Mono engine updated to version 9.0.0.
5 - A number of system tray fixes.
6 - Exception handling improvements on ARM platforms.
9 The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.2.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.2/AUTHORS
21 ----------------------------------------------------------------
23 ### Bugs fixed in 9.2 (total 15):
25 - #43993 Quick3270 5.21: crashes when using the Connect function
26 - #47521 digikam 6.10 crashes on start
27 - #51360 vkGetDeviceProcAddr invalid behavior for functions from extensions unsupported by host Vulkan instance
28 - #51770 digikam-7.1.0 freezes on start
29 - #51843 dlls/ws2_32/socket.c:839:17: error: ‘IP_ADD_SOURCE_MEMBERSHIP’ undeclared here
30 - #53934 __unDName fails to demangle a name
31 - #55997 Dolphin Emulator crashes from 5.0-17264
32 - #56122 LANCommander won't start, prints "error code 0x8007046C" (ERROR_MAPPED_ALIGNMENT)
33 - #56243 ShowSystray registry key was removed without alternative
34 - #56250 Elite Dangerous client gets stuck on black screen after launch
35 - #56256 Windows Sysinternals Process Explorer 17.05 shows incomplete user interface (32-bit).
36 - #56259 Microsoft Webview 2 installer hangs forever
37 - #56265 Epic Games Launcher 15.21.0 calls unimplemented function cfgmgr32.dll.CM_Get_Device_Interface_PropertyW
38 - #56291 Kodu game lab crashes (with xnafx40_redist+dotnet48 preinstalled): Object reference not set to an instance of an object.
39 - #56293 user32:msg test_recursive_hook fails on Windows 7
41 ### Changes since 9.1:
44 configure: Use YEAR2038 macro when it's available.
47 krnl386: Emulate the VGA status register.
48 explorer: Handle the back and forward buttons of a 5-button mouse.
50 Alexandre Julliard (37):
51 configure: Reset host flags in all cross-compiler error paths.
52 winsta: Start time is an input parameter in WinStationGetProcessSid.
53 ntdll: Use the system setjmp/longjmp for exceptions in Unix libs.
54 ntdll: Use a .seh handler for the unwind exception handler.
55 ntdll: Avoid calling DbgBreakPoint() in process_breakpoint().
56 ntdll: Move DbgUiRemoteBreakin() to the CPU backends.
57 include: Include cfg.h from cfgmgr32.h.
58 ntdll: Report the correct address for breakpoint exception on ARM platforms.
59 kernel32/tests: Fix some test failures on ARM platforms.
60 ntdll: Use a .seh handler for DbgUiRemoteBreakin().
61 dbghelp/tests: Mark failing tests as todo.
62 Revert "loader: Associate folder with explorer".
63 configure: Require a PE compiler for 32-bit ARM.
64 ntdll: Share the is_valid_frame() helper function.
65 ntdll: Only call TEB handlers for frames inside the current stack.
66 winedump: Make the ARM exception information more compact.
67 winedump: Handle ARM64 exception unwind info with flag==3.
68 winebuild: Default to plain "clang" in find_clang_tool().
69 winebuild: Remove some no longer used code for ARM platforms.
70 winebuild: Add .seh annotations on ARM.
71 kernel32: Move Wow64Get/SetThreadContext implementation to kernelbase.
72 kernel32: Don't export RtlRaiseException on ARM64.
73 ntdll: Fix stack layout for ARM syscalls.
74 ntdll/tests: Add some process machine tests for ARM64X.
75 server: Don't report alternate 64-bit machines as supported.
76 ntdll: Update the image information when loading a builtin dll.
77 ntdll: Use the correct machine when loading ntdll on ARM64EC.
78 server: Don't update the machine in the image information for ARM64EC modules.
79 server: Don't update the entry point in the image information for ARM64EC modules.
80 ntdll: Redirect the module entry point for ARM64EC modules.
81 server: Add hybrid flag in image mapping information.
82 ntdll: Use the current machine by default to create an ARM64X process.
83 ntdll: Fix RtlWow64GetCurrentMachine() result on ARM64EC.
84 uxtheme: Use BOOLEAN instead of BOOL in ordinal functions.
85 gdi32/tests: Fix the expected GetTextMetrics() results on recent Windows.
86 user32/tests: Fix some sysparams results on recent Windows.
87 ntdll/tests: Mark a failing test as todo.
89 Alexandros Frantzis (2):
90 winewayland.drv: Track and apply latest window cursor on pointer enter.
91 win32u: Use consistent locking order for display related mutexes.
94 winebus.sys: Fix units used for hat switches.
95 winebus.sys: Use 4 bits for hat switches.
96 wbemprox/tests: Test LIKE queries.
97 wbemprox: Reimplement LIKE.
100 winebuild: Refactor find_tool().
101 winebuild: As a last resort, search for tools un-prefixed using clang.
104 glu32/tests: Add a few tests for gluScaleImage.
105 glu32: Return GL_OUT_OF_MEMORY from gluScaleImage if no context.
106 glu32: Return GLU_INVALID_ENUM for illegal pixel types.
107 advapi32/tests: Reduce reallocations.
108 advapi32/tests: Add some more EventLog tests.
109 oleaut32/tests: Add tests for VarBstrFromR8.
110 oleaut32/tests: Add tests for VarBstrFromR4.
111 ucrtbase/tests: Add sprintf tests.
112 msvcrt/tests: Add sprintf tests.
115 gdiplus: Use GdipCreatePath2 in GdipClonePath.
116 gdiplus: Use GdipCreatePath2 when serializing paths.
117 gdiplus: Use path_list to path helper in GdipFlattenPath.
118 gdiplus: Use path_list to path helper in GdipWidenPath.
119 msvcrt: Free previous environment variable when clearing.
122 dmime/tests: Fix copy & paste errors.
123 dmime/tests: Add some tests for loops on wave tracks.
124 dmime: Fix IDirectMusicAudioPath::GetObjectInPath() prototype.
125 dmime: Remove unused fields in segment.
126 dmime/tests: Add some tests about end-points.
127 dbghelp/tests: Use Unicode encoding for generated PDB filenames.
128 dbghelp/tests: Test SymSrvGetFileIndexInfo() on .dbg files.
129 dbghelp: Implement SymSrvGetFileIndexInfo() for .dbg files.
130 dbghelp: Implement SymSrvGetFileIndexInfo() for PDB/JG files.
131 kernel32/tests: Added tests about std handle flags inheritance.
132 kernel32/tests: Test DUPLICATE_SAME_ATTRIBUTES flag in DuplicateHandle().
133 server: Implement support for DUPLICATE_SAME_ATTRIBUTES in DuplicateHandle().
134 server: Preserve handle flags when inheriting a std handle.
135 dmime: Fully implement IDirectMusicSegmentState::GetRepeats().
136 dmime: Add tests about segment state's graph interface.
137 dmime: Add IDirectMusicGraph interface to segment state.
138 dmime: Generate track flags while in loop.
139 dmime: Use sent duration in loop's playback.
142 gdiplus: Prefer Tahoma for generic sans serif font.
143 mscoree: Update Wine Mono to 9.0.0.
144 user32/tests: Accept EM_GETPASSWORDCHAR when edit is focused.
145 gdiplus: Fix some degenerate cases combining infinite regions.
146 gdiplus/tests: Thoroughly test region combines.
147 user32/tests: Fix flags on expected EM_GETPASSWORDCHAR message.
150 msi: Don't write past end of string when selecting parent directory.
152 Felix Münchhalfen (2):
153 ntdll: Use pagesize alignment if MEM_REPLACE_PLACEHOLDER is set in flags of NtMapViewOfSection(Ex).
154 kernelbase/tests: Add a test for MapViewOfFile3 with MEM_REPLACE_PLACEHOLDER.
156 Gabriel Ivăncescu (16):
157 mshtml: Forward the script site's QueryService to the document's.
158 mshtml: Forward SID_SInternetHostSecurityManager of the document obj to the doc node.
159 mshtml: Implement IActiveScriptSite service.
160 mshtml: Implement Exec for CGID_ScriptSite's CMDID_SCRIPTSITE_SECURITY_WINDOW.
161 vbscript: Implement IActiveScriptSite service.
162 jscript: Implement IActiveScriptSite service.
163 mshtml: Use a hook to implement postMessage.
164 mshtml: Implement `source` prop for MessageEvents.
165 mshtml: Return E_ABORT from postMessage called without a caller ServiceProvider.
166 mshtml: Implement `data` getter for MessageEvent objs.
167 mshtml: Implement `origin` prop for MessageEvents.
168 mshtml: Implement `initMessageEvent` for MessageEvents.
169 mshtml: Expose the IHTMLEventObj5 props to scripts.
170 mshtml/tests: Test builtin function default value getter with custom IOleCommandTarget.
171 explorer: Don't activate the systray icon when showing it.
172 explorer: Set layered style on systray icons only when it's actually layered.
175 winevulkan: Prepare for VK_KHR_calibrated_timestamps.
176 winevulkan: Update to VK spec version 1.3.277.
177 winevulkan: Enable VK_ARM_render_pass_striped.
179 Giovanni Mascellani (1):
180 d2d1: Compile vertex shaders with D3DCompile().
183 msxml3: Enable XPath object cache.
186 cfgmgr32: Add CM_Get_Device_Interface_PropertyW stub.
187 windows.globalization: Add IIterable_HSTRING impl to IVectorView_HSTRING.
190 winebus.sys: Prefer hidraw if it is the only backend enabled.
193 ncrypt/tests: Don't use uninitialized variable in test_get_property.
194 windowscodecs: Pass result as void pointer to ComponentInfo_GetUINTValue.
195 mf: Avoid implicit enum to int pointer casts.
196 mfplat: Avoid implicit cast in IMFAttributes_GetUINT32 call.
197 mfplat/tests: Use MF_ATTRIBUTE_TYPE type in IMFMediaType_GetItemType call.
198 mfplat: Introduce media_type_get_uint32 helper.
199 mfmediaengine/tests: Use MF_MEDIA_ENGINE_CANPLAY type in IMFMediaEngine_CanPlayType call.
200 mfmediaengine: Avoid implicit casts in IMFAttributes_GetUINT32 calls.
201 include: Add RtlRestoreContext declaration.
202 d3d10/tests: Avoid implicit cast changing value.
203 dsound: Simplify f_to_32.
206 ntdll: Add stub for RtlGetDeviceFamilyInfoEnum.
207 shcore: Add stub for RegisterScaleChangeNotifications.
208 wbemprox: Add property 'Caption' to Win32_PnPEntity.
209 wbemprox: Add property 'ClassGuid' to Win32_PnPEntity.
210 wbemprox: Add property 'Caption' to Win32_DiskDrive.
213 ntdll: Reimplement set_native_thread_name() for macOS.
214 ntdll: Fix DW_OP_abs absolute value warning on labs() for clang.
217 mfplat/tests: Skip device manager test if d3d11 device can't be created.
218 mfplat/tests: Skip tests that require d3d9 support.
219 d3d10/effect: Clarify constant buffer flags field meaning.
222 ntdll/tests: Fix test_user_shared_data() for a more generic set of present features.
223 server: Check if we have waiting asyncs in (send_socket) before enforcing blocking send.
224 server: Check if we have waiting asyncs in sock_dispatch_asyncs() before clearing POLLOUT.
225 explorer: Don't pop start menu on "minimize all windows" systray command.
226 explorer: Don't pop start menu on "undo minimize all windows" systray command.
227 msvcrt: Adjust _gmtime64_s() accepted time limits.
230 msvcrt: Store _unDName function parameter backreferences in parsed_symbol structure.
231 msvcrt: Remove no longer used parameters reference arguments from _unDname helpers.
232 winedump: Sync demangling code with msvcrt.
233 jsproxy: Don't ignore hostname and url length in InternetGetProxyInfo.
234 winhttp/tests: Add more WinHttpGetProxyForUrl tests.
235 winhttp: Add support for WINHTTP_AUTOPROXY_HOST_LOWERCASE flag in WinHttpGetProxyForUrl.
238 explorer: Restore a per-desktop ShowSystray registry setting.
239 mf/tests: Check inserted topology loader transforms explicitly.
240 mf/topology_loader: Use a local variable for the indirect connection method.
241 mf/topology_loader: Ignore SetOutputType errors when doing indirect connect.
242 mf/topology_loader: Initialize transform output type before adding converter.
243 mf/topology_loader: Try to connect transform nodes with their current types first.
244 winegstreamer: Implement H264 decoder GetInputCurrentType.
245 winegstreamer: Ask GStreamer to stop messing with signal handlers.
246 vulkan-1/tests: Enable VK_VERSION_1_1 as requested by validation layers.
247 vulkan-1/tests: Create surface and device before calling test_null_hwnd.
248 vulkan-1/tests: Test VK_KHR_win32_surface with windows in various states.
249 vulkan-1/tests: Add more VK_KHR_win32_surface surface formats tests.
250 vulkan-1/tests: Test VK_KHR_win32_surface WSI with swapchain functions.
251 imm32/tests: Also ignore NotifyIME calls when ignoring WM_IME_NOTIFY.
252 imm32/tests: Fix some spurious failures with Windows ko_KR IME.
253 win32u: Only queue a single IME update during ImeProcessKey.
254 winevulkan: Keep the create_info HWND on the surface wrappers.
255 winevulkan: Return VK_ERROR_SURFACE_LOST_KHR from surface functions.
256 winewayland: Remove now unnecessary VK_ERROR_SURFACE_LOST_KHR checks.
257 winevulkan: Remove now unnecessary vkGetPhysicalDeviceSurfaceSupportKHR driver entry.
258 winevulkan: Remove now unnecessary vkGetPhysicalDeviceSurfacePresentModesKHR driver entry.
259 winevulkan: Remove now unnecessary vkGetDeviceGroupSurfacePresentModesKHR driver entry.
260 user32/tests: Run rawinput device tests in the separate desktop.
261 user32/tests: Rewrite the rawinput buffer test with keyboard input.
262 dinput/tests: Add a helper to wait on HID input reads.
263 dinput/tests: Add more tests for HID rawinput buffer.
264 dinput/tests: Test rawinput messages with non-input desktop.
265 dinput/tests: Use a polled HID touchscreen device.
266 dinput/tests: Test rawinput with the virtual HID touchscreen.
267 winegstreamer: Trace wg_transform input and output caps.
268 winegstreamer: Handle allocation query in a separate helper.
269 winegstreamer: Handle sink caps query in a separate helper.
270 winegstreamer: Handle sink event caps in a separate helper.
271 winegstreamer: Use GST_PTR_FORMAT to trace GStreamer objects.
272 winegstreamer: Ignore wg_transform input / output video format fps.
273 winegstreamer: Allow wg_transform size changes with an explicit attribute.
274 mf/tests: Report more transform current type mismatches.
275 mf/tests: Add some tests with video processor aperture handling.
276 mfreadwrite/tests: Initialize test source stream types from descriptors.
277 mfreadwrite/tests: Test source reader exposed transforms and types.
278 mfreadwrite/tests: Test source reader transforms with MF_SOURCE_READER_ENABLE_VIDEO_PROCESSING.
279 mfreadwrite/tests: Test source reader transforms with MF_SOURCE_READER_ENABLE_ADVANCED_VIDEO_PROCESSING.
280 server: Combine HID usage page and usage together.
281 server: Stop using union rawinput in hw_input_t.
282 server: Stop using hardware_msg_data in rawinput_message.
283 server: Move rawinput message conversion from win32u.
284 server: Fix rawinput buffer sizes and alignment on WoW64.
285 win32u: Get rid of the rawinput thread data and buffer.
288 sapi: Create a new engine only when needed in ISpVoice.
289 sapi: Add ISpeechObjectToken stub.
290 sapi: Add ISpeechObjectTokens stub.
291 sapi: Add stub implementation for ISpeechObjectTokens::get__NewEnum.
294 winebus.sys: Do not attempt to open keyboard and mouse HID devices on macOS.
297 configure: Correctly derive the target from CC if it's set to an absolute path.
300 dmusic: Fix loading wave data from soundfont.
301 mf: Only preroll when starting from stopped state.
304 wined3d: Move state objects from state.c to device.c.
305 wined3d: Rename state.c to ffp_gl.c.
306 wined3d: Move sampler_texdim() and texture_activate_dimensions() to ffp_gl.c.
307 d3d8/tests: Add more tests for SPECULARENABLE.
308 wined3d/glsl: Always set WINED3D_SHADER_CONST_FFP_LIGHTS in FFP constant update masks.
309 wined3d/glsl: Pass through the specular varying when SPECULARENABLE is FALSE.
310 wined3d/arb: Always disable the fragment pipeline in shader_arb_select().
311 wined3d/arb: Compare the fragment pipe ops in shader_arb_select() instead of using an extra field.
314 winex11.drv: Translate whole_rect to x11 root coordinates in set_size_hints().
315 user32/tests: Fix test_recursive_messages() test failures on win7.
316 mf: Make session_get_node_object() more robust.
317 mf: Add a session_flush_nodes() helper.
318 mf/tests: Add a create_test_topology() helper.
319 mf: Support seeking while a session is started.
320 mf/tests: Test IMFMediaSession::Start().