1 The Wine development release 9.6 is now available.
3 What's new in this release:
4 - Support for advanced AVX features in register contexts.
5 - More Direct2D effects work.
6 - Support for RSA OAEP padding in BCrypt.
7 - Interpreted mode fixes in WIDL.
10 The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.6.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.6/AUTHORS
22 ----------------------------------------------------------------
24 ### Bugs fixed in 9.6 (total 18):
26 - #20694 Mozart 10/11: Cannot save gif jpg or tiff, png + bmp are empty, emf only partial.
27 - #26372 TI-83 Plus Flash Debugger buttons are not visible
28 - #28170 "Text Service and Input Languages" needs unimplemented function USER32.dll.LoadKeyboardLayoutEx called
29 - #41650 SolidWorks 2016 crashes on launch
30 - #43052 ChessBase 14 - crashes right after start
31 - #46030 Trackmania Unlimiter 1.3.x for TrackMania United Forever 2.11.26 crashes at account selection screen (heap manager differences, incorrect assumptions of mod on internal game engine data structures)
32 - #47170 nProtect GameGuard Personal/Anti-Virus/Spyware 3.x/4.x kernel drivers crash due to 'winedevice' PE module having no export table
33 - #49089 nProtect Anti-Virus/Spyware 4.0 'tkpl2k64.sys' crashes on unimplemented function 'fltmgr.sys.FltBuildDefaultSecurityDescriptor'
34 - #50296 Multiple 32-bit applications fail due to incorrect handling of 'HKLM\\Software\\Classes' key in 64-bit WINEPREFIX (shared key under Windows 7+ WOW64)(Autocad 2005)
35 - #53810 [Regression] Visual Novel Shin Koihime Eiyuutan crashes after opening movie plays
36 - #54378 VrtuleTree calls unimplemented function ntoskrnl.exe.ExGetPreviousMode
37 - #56188 d2d1:d2d1 frequently fails on the GitLab CI
38 - #56376 Nerf Arena Blast Demo only displays a black screen
39 - #56394 Final Fantasy XI Online: Mouse/pointer cursor activates at unintended times.
40 - #56438 Multiple games have texture glitches (Iron Harvest, The Hong Kong Massacre)
41 - #56469 configure incorrectly setting ac_cv_lib_soname_vulkan value on macOS
42 - #56487 wshom tests timeout on Wine
43 - #56503 CryptStringToBinary doesn't adds CR before pad bytes in some cases
45 ### Changes since 9.5:
48 wbemprox: Stub most of the Win32_VideoController properties.
49 sapi: Only print GetStatus() FIXME once.
51 Alexandre Julliard (21):
52 ntdll: Copy the context contents instead of the pointer on collided unwind.
53 ntdll: Use a common wrapper to call exception handlers on x86-64.
54 ntdll: Use a common wrapper to call unwind handlers on x86-64.
55 wshom.ocx: Don't show a message box on ShellExecute error.
56 widl: Don't skip a pointer level for pointers to pointers to strings.
57 include: Fix a parameter type in the IEnumTfUIElements interface.
58 idl: Use IPSFactoryBuffer instead of a non-existent IFactoryBuffer.
59 widl: Merge interpreted stubs header and parameters output into a single function.
60 widl: Don't output the explicit handle argument.
61 widl: Fix method number for call_as functions.
62 rpcrt4: Return the correct failure for a NULL binding handle.
63 rpcrt4: Make sure that the stack is set when catching an exception.
64 msi/tests: Delete the temp .msi file in all failure cases.
65 widl: Always use new-style format strings in interpreted mode.
66 widl: Add /robust flags in correlation descriptors.
67 widl: Output more correct /robust flags.
68 widl: Use the correct type for non-encapsulated union discriminants.
69 widl: Always pass the top-level attributes to detect interface pointers.
70 widl: Use padding instead of alignment in structure format strings.
71 widl: Clear /robust flags when no descriptor is present.
72 widl: Map VT_USERDEFINED to VT_I4 for default values in typelibs.
74 Alistair Leslie-Hughes (6):
75 fltmgr.sys: Implement FltBuildDefaultSecurityDescriptor.
76 fltmgr.sys: Create import library.
77 ntoskrnl/tests: Add FltBuildDefaultSecurityDescriptor test.
78 include: Add STORAGE_HOTPLUG_INFO structure.
79 include: Add some DWMWA_* enum values.
80 include: Add more DBCOLUMN_ defines.
83 po: Update Lithuanian translation.
84 po: Update Lithuanian translation.
87 mmdevapi: Make IMMDeviceCollection immutable after creation.
88 ntdll: Simplify creation of the server directory.
89 server: Simplify creation of the server directory.
90 server: Replace some malloc/sprintf/strcpy calls with asprintf.
91 server: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
92 server: Clarify that registry files are always in the current directory, and simplify save_branch().
93 win32u: Enlarge buffer size in _CDS_flags.
94 win32u: Enlarge buffer size in format_date.
95 win32u: Use PATH_MAX for Unix paths instead of MAX_PATH (from Win32).
96 win32u: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
99 windowscodecs: Silence fixme for IID_CMetaBitmapRenderTarget.
100 widl: Use generic 'struct sltg_data' for collecting data.
101 widl: Add more traces.
102 widl: Add support for structures.
103 widl: Properly align name table entries.
104 widl: Add support for VT_USERDEFINED to SLTG typelib generator.
107 evr: Remove useless code.
108 evr: Fix YUY2 image copy in evr_copy_sample_buffer().
109 cmd: Add test for substring handling in 'magic' variable expansion.
110 cmd: Fix substring expansion for 'magic' variables.
113 user32/tests: Revert test updates for win11.
116 bcrypt: Add support for RSA OAEP padding.
117 wbemprox: Zero-initialize table data.
118 wmic: Make an error message more general.
119 wmic: Strip spaces once.
120 wmic: Handle failure from CommandLineToArgvW().
121 wmic: Handle multiple properties separated by whitespace.
124 ntdll: Use __ASM_GLOBAL_IMPORT for RtlUnwind.
125 widl: Don't use old typelib format in do_everything mode.
128 wmic: Support interactive mode and piped commands.
129 wbemprox: Add property 'Status' to Win32_BIOS.
132 dwrite/shape: Fully initialize shaping context when getting glyph positions (Valgrind).
133 d2d1: Fix a double free on error path (Valgrind).
134 gdi32/emf: Zero-initialize handles array (Valgrind).
135 d3d10: Use older compiler for D3D10CompileEffectFromMemory().
136 d3d10/tests: Add a test for effect compilation containing empty buffers.
137 d2d1/tests: Get rid of test shader blobs.
138 d2d1/effect: Use effect property types identifier directly in initializers.
139 d2d1/effect: Use a helper internally instead of IsShaderLoaded().
140 d2d1/tests: Add a test for a custom effect using a pixel shader.
141 d2d1/tests: Add a basic test for ID2D1DrawInfo instance.
142 d2d1/tests: Add a test for transform graph input count.
143 d2d1/effect: Keep input count as a graph property when recreating it.
144 d2d1/effect: Implement offset transform object.
145 d2d1/effect: Implement blend transform object.
146 d2d1/effect: Implement node list for the transform graph.
147 d2d1/effect: Implement ConnectToEffectInput().
148 d2d1/effect: Implement SetOutputNode().
149 d2d1/effect: Implement SetSingleTransformNode().
150 d2d1/effect: Fix property value size for empty or missing string values.
151 d2d1/effect: Implement border transform object.
152 d2d1/effect: Implement bounds adjustment transform.
153 d2d1/tests: Add supported interface checks for transform objects.
156 ntdll: Only save AVX xstate in wine_syscall_dispatcher.
157 ntdll: Preserve untouched parts of xstate in NtSetContextThread().
158 ntdll: Support generic xstate in Unix-side manipulation functions.
159 ntdll: Factor out xstate_from_server() function.
160 ntdll: Factor out context_to_server() function.
161 ntdll: Mind generic xstate masks in server context conversion.
162 ntdll: Support more xstate features.
163 ntdll/tests: Add more tests for xstate.
164 windows.perception.stub: Add stub IHolographicSpaceInterop interface.
165 wintypes: Report some API contracts as present in api_information_statics_IsApiContractPresentByMajor().
166 ddraw: Store material handles in the global table.
167 ddraw: Store surface handles in the global table.
168 ddraw: Store matrix handle in the global table.
169 ddraw: Don't apply state in ddraw_surface_blt().
170 wined3d: Factor out wined3d_texture_set_lod() function.
171 ddraw: Store wined3d state in d3d_device.
172 ddraw: Sync wined3d render target in d3d_device_sync_rendertarget().
173 ddraw: Support multiple devices per ddraw object.
174 ddraw/tests: Add tests for multiple devices.
175 win32u: Avoid writing past allocated memory in peek_message().
176 win32u: Avoid leaking previous buffer in get_buffer_space().
177 ddraw: Don't demand WINED3D_BIND_SHADER_RESOURCE for making surface in vidmem.
178 avifil32: Update lCurrentFrame in IGetFrame_fnGetFrame().
181 gdi32: Implicitly call StartPage in ExtEscape on printer DC.
184 configure: Quote ac_cv_lib_soname_MoltenVK when setting SONAME_LIBVULKAN.
185 mf/tests: Check that pan scan and geometric apertures are set.
186 evr/tests: Split create_d3d_sample to a separate helper.
187 evr/tests: Split check_presenter_output to a separate helper.
188 evr/tests: Add more video mixer input media type aperture tests.
189 evr/mixer: Respect input media type MF_MT_GEOMETRIC_APERTURE.
190 win32u: Open adapters in NtGdiDdDDIEnumAdapters2 outside of the display devices lock.
191 winex11: Initialize D3DKMT vulkan instance only once.
192 winex11: Introduce a new get_vulkan_physical_device helper.
193 winex11: Introduce a new find_adapter_from_handle helper.
194 win32u: Move D3DKMT vulkan implementation out of winex11.
195 winegstreamer: Set GST_DEBUG if not set, based on WINEDEBUG channels.
196 win32u: Split writing adapter to registry to a separate helper.
197 win32u: Use a symlink for the logically indexed adapter config key.
198 win32u: Use named adapters instead of struct gdi_adapter.
199 win32u: Rename struct adapter to struct source.
200 winevulkan: Strip surface extensions in vkEnumerateInstanceExtensionProperties.
201 winevulkan: Remove now unnecessary vkEnumerateInstanceExtensionProperties driver entry.
202 winevulkan: Introduce a new get_host_surface_extension driver entry.
203 winevulkan: Remove now unnecessary vkCreateInstance driver entry.
204 winevulkan: Remove now unnecessary vkDestroyInstance driver entry.
205 winegstreamer: Create the transform parsed caps from wg_format.
206 winegstreamer: Fallback to input caps only when no parser was found.
207 mf/session: Avoid leaking samples in transform_node_deliver_samples.
208 mfreadwrite/reader: Use MFTEnumEx to enumerate stream transforms.
209 mfreadwrite/reader: Make the GetTransformForStream category parameter optional.
210 mfreadwrite/tests: Test the source reader stream change events.
211 mfreadwrite/tests: Test the D3D awareness of source reader transforms.
212 mfreadwrite/reader: Avoid accessing an invalid stream index.
213 mfreadwrite/reader: Keep the output subtypes when propagating media types.
214 winex11: Keep the client window colormap on the GL drawable.
215 winex11: Get rid of ref held from the HWND to its Vk surface.
216 winex11: Introduce a new detach_client_window helper.
217 winex11: Introduce a new destroy_client_window helper.
218 winex11: Introduce a new attach_client_window helper.
221 crypt32: Fix CryptBinaryToString not adding a separator.
224 winebus: Ignore udev events of devices which do not have devnodes.
226 Zebediah Figura (11):
227 d3d11/tests: Test discarding a buffer in test_high_resource_count().
228 wined3d: Recreate buffer textures when renaming the existing buffer storage.
229 wined3d: Skip bindless samplers with no uniform location.
230 wined3d: Enable EXT_extended_dynamic_state2.
231 wined3d: Use dynamic state for primitive type if possible.
232 wined3d: Use dynamic state for patch vertex count if possible.
233 wined3d: Require EXT_framebuffer_object.
234 wined3d: Remove the OffscreenRenderingMode setting.
235 wined3d: Require GLSL 1.20 support.
236 wined3d: Remove the "arb" and "none" shader_backend options.
237 wined3d: Require ARB_texture_non_power_of_two.
240 mfmediaengine: Implement IMFMediaEngineEx::SetCurrentTime().
241 mfmediaengine: Implement IMFMediaEngineEx::SetCurrentTimeEx().
242 mfmediaengine/tests: Test IMFMediaEngineEx::SetCurrentTime/Ex().
243 gdiplus/tests: Add tests for GdipPrivateAddMemoryFont().
244 gdiplus: Search microsoft platform names first in load_ttf_name_id().
245 winemac.drv: Show the window after setting layered attributes.