Alexandre Julliard has announced the release of Wine 9.6. This version addresses 18 bugs, some of which include Mozart 10/11, buttons for the TI-83 Plus Flash Debugger, and "Text Service and Input Languages" that require unimplemented functions.
Wine release 9.6
The Wine development release 9.6 is now available.
What's new in this release:
- Support for advanced AVX features in register contexts.
- More Direct2D effects work.
- Support for RSA OAEP padding in BCrypt.
- Interpreted mode fixes in WIDL.
- Various bug fixes.
The source is available at https://dl.winehq.org/wine/source/9.x/wine-9.6.tar.xz
Binary packages for various distributions will be available from https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
Wine is available thanks to the work of many people. See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.6/AUTHORS
### Bugs fixed in 9.6 (total 18):
- #20694 Mozart 10/11: Cannot save gif jpg or tiff, png + bmp are empty, emf only partial.
- #26372 TI-83 Plus Flash Debugger buttons are not visible
- #28170 "Text Service and Input Languages" needs unimplemented function USER32.dll.LoadKeyboardLayoutEx called
- #41650 SolidWorks 2016 crashes on launch
- #43052 ChessBase 14 - crashes right after start
- #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)
- #47170 nProtect GameGuard Personal/Anti-Virus/Spyware 3.x/4.x kernel drivers crash due to 'winedevice' PE module having no export table
- #49089 nProtect Anti-Virus/Spyware 4.0 'tkpl2k64.sys' crashes on unimplemented function 'fltmgr.sys.FltBuildDefaultSecurityDescriptor'
- #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)
- #53810 [Regression] Visual Novel Shin Koihime Eiyuutan crashes after opening movie plays
- #54378 VrtuleTree calls unimplemented function ntoskrnl.exe.ExGetPreviousMode
- #56188 d2d1:d2d1 frequently fails on the GitLab CI
- #56376 Nerf Arena Blast Demo only displays a black screen
- #56394 Final Fantasy XI Online: Mouse/pointer cursor activates at unintended times.
- #56438 Multiple games have texture glitches (Iron Harvest, The Hong Kong Massacre)
- #56469 configure incorrectly setting ac_cv_lib_soname_vulkan value on macOS
- #56487 wshom tests timeout on Wine
- #56503 CryptStringToBinary doesn't adds CR before pad bytes in some cases
### Changes since 9.5:
```
Aida Jonikien? (2):
wbemprox: Stub most of the Win32_VideoController properties.
sapi: Only print GetStatus() FIXME once.
Alexandre Julliard (21):
ntdll: Copy the context contents instead of the pointer on collided unwind.
ntdll: Use a common wrapper to call exception handlers on x86-64.
ntdll: Use a common wrapper to call unwind handlers on x86-64.
wshom.ocx: Don't show a message box on ShellExecute error.
widl: Don't skip a pointer level for pointers to pointers to strings.
include: Fix a parameter type in the IEnumTfUIElements interface.
idl: Use IPSFactoryBuffer instead of a non-existent IFactoryBuffer.
widl: Merge interpreted stubs header and parameters output into a single function.
widl: Don't output the explicit handle argument.
widl: Fix method number for call_as functions.
rpcrt4: Return the correct failure for a NULL binding handle.
rpcrt4: Make sure that the stack is set when catching an exception.
msi/tests: Delete the temp .msi file in all failure cases.
widl: Always use new-style format strings in interpreted mode.
widl: Add /robust flags in correlation descriptors.
widl: Output more correct /robust flags.
widl: Use the correct type for non-encapsulated union discriminants.
widl: Always pass the top-level attributes to detect interface pointers.
widl: Use padding instead of alignment in structure format strings.
widl: Clear /robust flags when no descriptor is present.
widl: Map VT_USERDEFINED to VT_I4 for default values in typelibs.
Alistair Leslie-Hughes (6):
fltmgr.sys: Implement FltBuildDefaultSecurityDescriptor.
fltmgr.sys: Create import library.
ntoskrnl/tests: Add FltBuildDefaultSecurityDescriptor test.
include: Add STORAGE_HOTPLUG_INFO structure.
include: Add some DWMWA_* enum values.
include: Add more DBCOLUMN_ defines.
Aurimas Fi?eras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Brendan Shanks (10):
mmdevapi: Make IMMDeviceCollection immutable after creation.
ntdll: Simplify creation of the server directory.
server: Simplify creation of the server directory.
server: Replace some malloc/sprintf/strcpy calls with asprintf.
server: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
server: Clarify that registry files are always in the current directory, and simplify save_branch().
win32u: Enlarge buffer size in _CDS_flags.
win32u: Enlarge buffer size in format_date.
win32u: Use PATH_MAX for Unix paths instead of MAX_PATH (from Win32).
win32u: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
Dmitry Timoshkov (6):
windowscodecs: Silence fixme for IID_CMetaBitmapRenderTarget.
widl: Use generic 'struct sltg_data' for collecting data.
widl: Add more traces.
widl: Add support for structures.
widl: Properly align name table entries.
widl: Add support for VT_USERDEFINED to SLTG typelib generator.
Eric Pouech (4):
evr: Remove useless code.
evr: Fix YUY2 image copy in evr_copy_sample_buffer().
cmd: Add test for substring handling in 'magic' variable expansion.
cmd: Fix substring expansion for 'magic' variables.
Esme Povirk (1):
user32/tests: Revert test updates for win11.
Hans Leidekker (6):
bcrypt: Add support for RSA OAEP padding.
wbemprox: Zero-initialize table data.
wmic: Make an error message more general.
wmic: Strip spaces once.
wmic: Handle failure from CommandLineToArgvW().
wmic: Handle multiple properties separated by whitespace.
Jacek Caban (2):
ntdll: Use __ASM_GLOBAL_IMPORT for RtlUnwind.
widl: Don't use old typelib format in do_everything mode.
Louis Lenders (2):
wmic: Support interactive mode and piped commands.
wbemprox: Add property 'Status' to Win32_BIOS.
Nikolay Sivov (22):
dwrite/shape: Fully initialize shaping context when getting glyph positions (Valgrind).
d2d1: Fix a double free on error path (Valgrind).
gdi32/emf: Zero-initialize handles array (Valgrind).
d3d10: Use older compiler for D3D10CompileEffectFromMemory().
d3d10/tests: Add a test for effect compilation containing empty buffers.
d2d1/tests: Get rid of test shader blobs.
d2d1/effect: Use effect property types identifier directly in initializers.
d2d1/effect: Use a helper internally instead of IsShaderLoaded().
d2d1/tests: Add a test for a custom effect using a pixel shader.
d2d1/tests: Add a basic test for ID2D1DrawInfo instance.
d2d1/tests: Add a test for transform graph input count.
d2d1/effect: Keep input count as a graph property when recreating it.
d2d1/effect: Implement offset transform object.
d2d1/effect: Implement blend transform object.
d2d1/effect: Implement node list for the transform graph.
d2d1/effect: Implement ConnectToEffectInput().
d2d1/effect: Implement SetOutputNode().
d2d1/effect: Implement SetSingleTransformNode().
d2d1/effect: Fix property value size for empty or missing string values.
d2d1/effect: Implement border transform object.
d2d1/effect: Implement bounds adjustment transform.
d2d1/tests: Add supported interface checks for transform objects.
Paul Gofman (23):
ntdll: Only save AVX xstate in wine_syscall_dispatcher.
ntdll: Preserve untouched parts of xstate in NtSetContextThread().
ntdll: Support generic xstate in Unix-side manipulation functions.
ntdll: Factor out xstate_from_server() function.
ntdll: Factor out context_to_server() function.
ntdll: Mind generic xstate masks in server context conversion.
ntdll: Support more xstate features.
ntdll/tests: Add more tests for xstate.
windows.perception.stub: Add stub IHolographicSpaceInterop interface.
wintypes: Report some API contracts as present in api_information_statics_IsApiContractPresentByMajor().
ddraw: Store material handles in the global table.
ddraw: Store surface handles in the global table.
ddraw: Store matrix handle in the global table.
ddraw: Don't apply state in ddraw_surface_blt().
wined3d: Factor out wined3d_texture_set_lod() function.
ddraw: Store wined3d state in d3d_device.
ddraw: Sync wined3d render target in d3d_device_sync_rendertarget().
ddraw: Support multiple devices per ddraw object.
ddraw/tests: Add tests for multiple devices.
win32u: Avoid writing past allocated memory in peek_message().
win32u: Avoid leaking previous buffer in get_buffer_space().
ddraw: Don't demand WINED3D_BIND_SHADER_RESOURCE for making surface in vidmem.
avifil32: Update lCurrentFrame in IGetFrame_fnGetFrame().
Piotr Caban (1):
gdi32: Implicitly call StartPage in ExtEscape on printer DC.
R?mi Bernon (35):
configure: Quote ac_cv_lib_soname_MoltenVK when setting SONAME_LIBVULKAN.
mf/tests: Check that pan scan and geometric apertures are set.
evr/tests: Split create_d3d_sample to a separate helper.
evr/tests: Split check_presenter_output to a separate helper.
evr/tests: Add more video mixer input media type aperture tests.
evr/mixer: Respect input media type MF_MT_GEOMETRIC_APERTURE.
win32u: Open adapters in NtGdiDdDDIEnumAdapters2 outside of the display devices lock.
winex11: Initialize D3DKMT vulkan instance only once.
winex11: Introduce a new get_vulkan_physical_device helper.
winex11: Introduce a new find_adapter_from_handle helper.
win32u: Move D3DKMT vulkan implementation out of winex11.
winegstreamer: Set GST_DEBUG if not set, based on WINEDEBUG channels.
win32u: Split writing adapter to registry to a separate helper.
win32u: Use a symlink for the logically indexed adapter config key.
win32u: Use named adapters instead of struct gdi_adapter.
win32u: Rename struct adapter to struct source.
winevulkan: Strip surface extensions in vkEnumerateInstanceExtensionProperties.
winevulkan: Remove now unnecessary vkEnumerateInstanceExtensionProperties driver entry.
winevulkan: Introduce a new get_host_surface_extension driver entry.
winevulkan: Remove now unnecessary vkCreateInstance driver entry.
winevulkan: Remove now unnecessary vkDestroyInstance driver entry.
winegstreamer: Create the transform parsed caps from wg_format.
winegstreamer: Fallback to input caps only when no parser was found.
mf/session: Avoid leaking samples in transform_node_deliver_samples.
mfreadwrite/reader: Use MFTEnumEx to enumerate stream transforms.
mfreadwrite/reader: Make the GetTransformForStream category parameter optional.
mfreadwrite/tests: Test the source reader stream change events.
mfreadwrite/tests: Test the D3D awareness of source reader transforms.
mfreadwrite/reader: Avoid accessing an invalid stream index.
mfreadwrite/reader: Keep the output subtypes when propagating media types.
winex11: Keep the client window colormap on the GL drawable.
winex11: Get rid of ref held from the HWND to its Vk surface.
winex11: Introduce a new detach_client_window helper.
winex11: Introduce a new destroy_client_window helper.
winex11: Introduce a new attach_client_window helper.
Santino Mazza (1):
crypt32: Fix CryptBinaryToString not adding a separator.
Tuomas R?s?nen (1):
winebus: Ignore udev events of devices which do not have devnodes.
Zebediah Figura (11):
d3d11/tests: Test discarding a buffer in test_high_resource_count().
wined3d: Recreate buffer textures when renaming the existing buffer storage.
wined3d: Skip bindless samplers with no uniform location.
wined3d: Enable EXT_extended_dynamic_state2.
wined3d: Use dynamic state for primitive type if possible.
wined3d: Use dynamic state for patch vertex count if possible.
wined3d: Require EXT_framebuffer_object.
wined3d: Remove the OffscreenRenderingMode setting.
wined3d: Require GLSL 1.20 support.
wined3d: Remove the "arb" and "none" shader_backend options.
wined3d: Require ARB_texture_non_power_of_two.
Zhiyi Zhang (6):
mfmediaengine: Implement IMFMediaEngineEx::SetCurrentTime().
mfmediaengine: Implement IMFMediaEngineEx::SetCurrentTimeEx().
mfmediaengine/tests: Test IMFMediaEngineEx::SetCurrentTime/Ex().
gdiplus/tests: Add tests for GdipPrivateAddMemoryFont().
gdiplus: Search microsoft platform names first in load_ttf_name_id().
winemac.drv: Show the window after setting layered attributes.