Wine release 7.16
The Wine development release 7.16 is now available.
What's new in this release:
- Wow64 support in X11 driver.
- Session storage in MSHTML.
- Unicode regexp fixes in MSXML.
- IME improvements in Edit control.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.16.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
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.16 (total 20):
- #29685 Manifest generator (ecmangen) tool from Windows Platform SDK 7.1 crashes due to unhandled facet/regular expression in XML schema (escape sequence)
- #42857 Can't select a fixture in FreeStyler's fixture editor
- #43581 Microsoft Office 365 edition of Office 2013 installer fails with 'cache_entry_from_xsd_doc failed to parse doc' (non-standard '\u####' sequence)
- #46083 postgresql: "Unable to write inside TEMP environment variable path"
- #51601 Metal Gear Solid V: The Phantom Pain stucks on first chapter intro
- #52329 amazon games app crashes in wine 7.0 rc-3 (winsock?)
- #52657 Watch Dogs crashes on start
- #53174 StarCitizen launcher freeze due to heap space issue
- #53424 Scroll bar not working. was with up to 7.12?
- #53462 Obduction audio and subtitles for videos don't work
- #53468 Ragnarok Online's anti-cheat, Gepard, detecting macro usage (false-positive)
- #53472 Kerberos auth broken since 7.10
- #53497 d3d8:device & d3d8:device - test_resource_access() crashes in Wine
- #53542 Hog4PC 3.17 installer VBScript custom action needs IWshShell::Run to return signed type.
- #53545 Visual Novel Doukyuusei sound loop
- #53565 postgresql installer 9.3 needs support for default style argument in WshShell.Run
- #53566 Wine uninstaller fails to launch
- #53569 postgresql installer 9.3 needs correct string length returned from fso.GetTempName
- #53587 comctl32 GetWindowSubclass crash in Notepad++ (v8.4.3 and 8.4.4 only)
- #53589 Saints Row (2022) crashes on unimplemented function kernel32.dll.SetProcessDefaultCpuSets
----------------------------------------------------------------
Changes since 7.15:
Akihiro Sagawa (7):
mciqtz32: Don't stretch video destination for a popup or child window.
winmm/tests: Add MCI_DGV_WINDOW_STATE tests.
mciqtz32: Fix MCI_DGV_WINDOW_STATE behavior.
winmm/tests: Add MCI_DGV_WINDOW_TEXT tests.
mciqtz32: Fix MCI_DGV_WINDOW_TEXT behavior.
winmm/tests: Add more MCI_DGV_WINDOW_HWND tests.
mciqtz32: Fix MCI_DGV_WINDOW_HWND error handling.
Alexandre Julliard (9):
winetest: Use CRT allocation functions.
winetest: Support loading the list of tests from a file.
winetest: Disable the crash dialog in non-interactive mode.
winetest: Exit with error 3 when there are test failures.
mountmgr: Don't crash if connecting to dbus fails.
xslt: Import upstream release 1.1.36.
xml2: Import upstream release 2.10.0.
comctl32/tests: Use client coordinates for right click test.
gitlab: Add macOS build.
Alistair Leslie-Hughes (2):
dsdmo: Add Echo FX Support.
dsdmo: Add Compressor FX Support.
André Zwing (1):
wow64: Fix the ARM32 machine type.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (2):
shell32/tests: Test ExtractIcon() with an empty/invalid path.
shell32: Return NULL from ExtractIcon() for all error cases.
Davide Beatrici (18):
winealsa: Drop "alsa_" prefix in unixlib enum, apply it to the functions instead.
winealsa: Move common unixlib.h content into mmdevapi.
mmdevapi: Integrate winepulse's additions in unixlib.h.
winealsa: Fix WoW64 failure when calling get_position().
mmdevapi/tests: Fix fail messages referencing GetChannelCount() instead of GetChannelVolume().
mmdevapi/tests: Distinguish GetChannelCount() calls in test_volume_dependence() fail messages.
mmdevapi/tests: Fix typos in spatial audio fail messages.
mmdevapi/tests: Fix fail message referencing "Start" instead of "Stop" in test_session().
winepulse: Adapt "endpoint" struct to mmdevapi's.
winepulse: Adapt "create_stream_params" struct to mmdevapi's.
winepulse: Adapt "release_stream_params" struct to mmdevapi's.
winepulse: Adapt "release_render_buffer_params" struct to mmdevapi's.
winepulse: Adapt "get_capture_buffer_params" struct to mmdevapi's.
winepulse: Adapt "get_mix_format_params" struct to mmdevapi's.
winepulse: Adapt "get_device_period_params" struct to mmdevapi's.
winepulse: Adapt "is_started_params" struct to mmdevapi's.
winepulse: Adapt "get_prop_value_params" struct to mmdevapi's.
winepulse: Switch to mmdevapi's unixlib.h.
Etaash Mathamsetty (2):
ntoskrnl.exe: Implement KeAreAllApcsDisabled.
ntoskrnl: Implement IoCreateFileEx.
Floris Renaud (1):
po: Update Dutch translation.
Gabriel Ivăncescu (16):
jscript: Implement fdexNameCaseInsensitive flag handling.
mshtml: Handle S_FALSE from IUri methods in localStorage and sessionStorage.
mshtml: Handle S_FALSE from IUri methods in Anchor Elements.
mshtml: Handle S_FALSE from IUri methods when checking targetOrigin.
mshtml: Don't navigate if GetDisplayUri failed.
mshtml: Handle S_FALSE from IUri methods when navigating.
mshtml: Handle S_FALSE from IUri methods in the NSAPI interfaces.
mshtml: Handle S_FALSE return values from IUri methods.
mshtml: Implement setItem() for sessionStorage.
mshtml: Implement getItem() for sessionStorage.
mshtml: Implement removeItem() for sessionStorage.
mshtml: Implement clear() for Storage.
mshtml: Implement key() for sessionStorage.
mshtml: Implement key() for localStorage.
mshtml: Implement length prop for Storage.
mshtml: Implement remainingSpace prop for sessionStorage.
Gijs Vermeulen (1):
kernel32: Add SetProcessDefaultCpuSets stub.
Hans Leidekker (3):
hnetcfg: Add INetFwRule stub.
hnetcfg: Return success from netfw_rules_Add() and netfw_rules_Remove().
bcrypt: Support ECDH_P384 key import/export.
Henri Verbeet (1):
mfreadwrite/reader: Only attempt to copy sample buffers from responses with non-NULL samples.
Huw D. M. Davies (2):
maintainers: Remove advice about Cc'ing patches.
wow64: Fix another ARM32 machine type.
Jacek Caban (39):
win32u: Move more logic from dispatch_win_proc_params.
win32u: Use a separate helper to send messages from win32u.
win32u: Pack messages sent directly from win32u.
user32: Pass window name as UNICODE_STRING to NtUserCreateWindowEx.
win32u: Use send_message_timeout for WM_CREATE and WM_NCCREATE.
win32u: Remove no longer needed unicode call_hooks argument.
wow64win: Implement wow64_NtUserCallWinProc.
wow64win: Implement wow64_NtUserMessageCall.
user32: Always use original parameter values in dispatch_send_message.
win32u: Use a client copy of windows hook lparam when calling hook procs.
wow64win: Implement NtUserCallWindowsHook thunk.
wow64win: Implement more user callbacks.
wow64win: Fix NtUserGetMouseMovePointsEx thunk.
wow64win: Return class atom from NtUserGetClassInfoEx thunk.
wow64win: Fix NtUserGetClipboardData thunk.
wow64win: Fix returning strings in NtUserGetIconInfo thunk.
wow64win: Fix NtUserGetMenuBarInfo thunk.
wow64win: Fix handling NULL input32 in NtUserSendInput.
wow64win: Support GCLP_MENUNAME in NtUserSetClassLongPtr thunk.
wow64win: Fix NtUserThunkedMenuItemInfo thunk.
wow64win: Fix output handling in NtUserTrackMouseEvent thunk.
wow64win: Use in-place conversion in NtUserDrawText thunk.
wow64win: Use LongToHandle for user handles conversion.
user32: Move dialog proc getting implementation from win32u.
user32: Move dialog proc setting implementation from win32u.
win32u: Fix handling uninitialized process_layout.
wow64win: Fix NtGdiDdDDICreateDevice thunk.
win32u: Move process initialization to NtUserInitializeClientPfnArrays.
winex11: Implement wow64 thunks.
user32: Support resource ID strings in CREATESTRUCT Unicode conversion.
user32: Support passing bitmap and icon resource ID as a string when creating static control.
user32: Pass resource ID as a string in DIALOG_CreateControls32.
user32: Remove no longer used DPI functions.
win32u: Move NtUserLogicalToPerMonitorDPIPhysicalPoint implementation from user32.
win32u: Move NtUserPerMonitorDPIPhysicalToLogicalPoint implementation from user32.
win32u: Introduce NtUserActivateOtherWindow.
user32: Remove no longer user get_hwnd_message_parent.
user32: Merge win.h into user_private.h.
user32: Build with nameless structs and unions.
Jakub Staroń (1):
ntdll: Implement RtlRestoreContext on i386.
Jiajin Cui (2):
win32u: Ensure that either the primary or secondary name is in English.
win32u: Don't allow a replaced font to be a replacement.
Jinoh Kang (3):
server: Use POLLIN instead of POLLPRI if the socket is in oobinline mode.
server: Use check_fd_events() instead of calling poll() directly.
server: Always prefer synchronous I/O in nonblocking mode.
Konstantin Romanov (1):
kerberos: Fix condition for create_context_handle in kerberos_SpInitLsaModeContext and kerberos_SpAcceptLsaModeContext.
Loïc Rebmeister (1):
wintypes: Add RoResolveNamespace stub.
Martin Storsjö (3):
configure: Downgrade -Wincompatible-function-pointer-types to a warning on ARM.
vkd3d: Fix the signature of vkd3d_spirv_build_op_type_image.
bcrypt: Fix the non-PE build after ECDH_P384 was added.
Matteo Bruni (1):
wined3d: Introduce WINED3DUSAGE_MANAGED.
Nikolay Sivov (27):
mfplat: Implement Write() for file streams.
mfsrcsnk: Add a stub dll.
mfsrcsnk/wave: Add a sink stub.
mfsrcsnk/wave: Add clock state callbacks.
mfsrcsnk/wave: Store media format structure.
mfsrcsnk/wave: Implement sample processing.
mfsrcsnk: Add WAVE sink class factory.
mfsrcsnk/wave: Add a type handler stub.
mfreadwrite/writer: Make sure output pointer is initialized.
mfreadwrite/writer: Implement AddStream().
mfreadwrite/writer: Partially implement BeginWriting().
mfreadwrite/writer: Start presentation clock on BeginWrite().
mfreadwrite/writer: Implement GetServiceForStream().
mfreadwrite/writer: Notify encoder on BeginWriting().
mfreadwrite/writer: Update some stats counters on WriteSample().
mfreadwrite/writer: Update some stats on MEStreamSinkRequestSample.
mfreadwrite/writer: Add sample/marker queue for each stream.
mfreadwrite/writer: Reference user callback.
mfreadwrite/writer: Implement PlaceMarker().
mfreadwrite/writer: Implement Flush().
evr: Add IMFGetService stub.
evr: Add IMFVideoRenderer stub to the filter.
evr: Implement lazy initialization with mixer and presenter instances.
evr/tests: Add a test to show that IMFVideoDisplayControl is accessible.
mfplat/tests: Add some tests for legacy media type conersion functions.
mfplat: Partially implement MFInitMediaTypeFromVideoInfoHeader().
mfplat: Partially implement MFInitMediaTypeFromAMMediaType().
Paul Gofman (3):
ddraw/tests: Add more tests for restoring complex surfaces.
ddraw: Restore full complex attachment chain in ddraw_surface7_Restore().
winex11.drv: Set correct cursor when setting cursor from another thread.
Piotr Caban (9):
msvcp60: Use 'MultiByteToWideChar' in __Fiopen implementation.
msvcp90: Use 'MultiByteToWideChar' in _Fiopen implementation.
winspool.drv: Ignore device name if printer handle is passed in DocumentProperties.
winspool.drv: Fix get_config_module when printer and driver names differ.
include: Update ddk/compstui.h header.
compstui: Add partial CommonPropertySheetUIW implementation.
compstui: Add CommonPropertySheetUI tests.
msvcp71: Use MultiByteToWideChar in _Fiopen implementation.
msvcr100: Set scheduler in tasks created with ScheduleTask function.
Robert Wilhelm (8):
wshom: Use signed type for property ProcessID in IWshExec.
wshom: Use signed type for property ExitCode in IWshExec.
wshom: Add test for default style arg in WshShell3_Run.
wshom: Support default style argument in IWshShell3::Run.
scrrun: Add test for correct string length returned from GetTempName.
scrrun: Correct string length returned from GetTempName.
scrrun: Avoid memory leak in error case.
scrrun: Added DateCreated property for IFile.
Rémi Bernon (22):
mf/tests: Add some topology loader tests with missing output type.
mf/tests: Add some MP3 decoder transform tests.
mf/tests: Add more topology loader converter and enumeration tests.
mf: Allow resolving topology with missing downstream current type.
mf: Only allow converter connection if decoder didn't accept down type.
mf: Only enumerate types for decoders / converter if down type is missing.
qasf: Implement IWMReaderCallbackAdvanced stub interface.
qasf: Implement ASF Reader filter buffer allocation.
qasf: Implement ASF Reader filter IWMReaderCallback_OnSample.
qasf: Implement ASF Reader SourceSeeking stubs.
qasf: Register ASF Reader filter media type.
win32u: Do not keep display modes driver extra in the registry.
win32u: Read registry or current mode when validation needs it.
win32u: Always copy devmode in validate_display_settings.
win32u: Use current mode position if desired mode doesn't specify it.
win32u: Only read/write valid mode fields from/to the registry.
mf/tests: Avoid creating now unused sink activate instances.
mf/tests: Try returning MF_E_NOT_INITIALIZED from GetCurrentMediaType.
mf: Support uninitialized downstream media types in topology loader.
maintainers: Add myself to multimedia sections.
qasf/tests: Test ASF Reader filter initial state and pins.
qasf/tests: Test ASF Reader filter threading wrt. ReceiveCanBlock.
Santino Mazza (1):
bcrypt: Move symmetric flags check to symmetric section.
Torge Matthies (2):
msvcr100: Factor out the mapping of a context to a scheduler.
msvcr100: Implement _StructuredTaskCollection::_Schedule and _Schedule_loc.
Zebediah Figura (13):
wined3d: Use wined3d_array_reserve() in wined3d_adapter_create_output().
d3d8/tests: Expand tests for valid pools in UpdateTexture().
d3d9/tests: Expand tests for valid pools in UpdateTexture().
d3d8/tests: Read back directly from the specified surface if possible.
d3d8/tests: Add more tests for dirty rect handling.
d3d9/tests: Add more tests for dirty rect handling.
d3d11/tests: Use winetest_push_context() to print explicit feature levels.
d3d11: Always return E_FAIL for formats which have no support flags.
d3d11: Implement D3D11_FEATURE_FORMAT_SUPPORT.
d3d8/tests: Add tests for D3DLOCK_NO_DIRTY_UPDATE with vertex buffers.
d3d9/tests: Add tests for D3DLOCK_NO_DIRTY_UPDATE with vertex buffers.
d3d8: Introduce a wined3d_usage_from_d3d() helper.
d3d9: Introduce a wined3d_usage_from_d3d() helper.
Zhiyi Zhang (24):
comctl32/tests: Add GetWindowSubclass() tests.
comctl32: Check reference data pointer before using it.
comctl32: Set reference data to zero on failure for GetWindowSubclass().
comctl32/tests: Add IME tests for edit control.
comctl32/edit: Implement EM_SETIMESTATUS.
comctl32/edit: Implement EM_GETIMESTATUS.
comctl32/edit: Let DefWindowProcW() handle WM_IME_CHAR.
comctl32/edit: Handle IME composition result string only when EIMES_GETCOMPSTRATONCE is set.
user32/tests: Link directly to imm32.
user32/tests: Add IME tests for edit control.
user32/edit: Implement EM_SETIMESTATUS.
user32/edit: Implement EM_GETIMESTATUS.
user32/edit: Let DefWindowProcA/W() handle WM_IME_CHAR.
user32/edit: Handle IME composition result string only when EIMES_GETCOMPSTRATONCE is set.
comctl32/tests: Test that changing focus for edit controls doesn't repaint immediately.
comctl32/edit: Don't repaint immediately when getting focus.
comctl32/edit: Don't repaint immediately when losing focus.
gdi32/tests: Add more tests for GetTextMetrics().
win32u: Choose a smaller ppem to avoid exceeding the requested font height.
ddraw/tests: Add a comment to note that tests in d3d.c are deprecated.
ddraw/tests: Move the capability tests for enumerated devices.
ddraw/tests: Add more capability tests for enumerated devices.
ddraw: Don't report unsupported device capabilities in d3d7_EnumDevices().
ddraw: Don't report unsupported device capabilities in d3d3_EnumDevices().
Wine 7.15 has been released with Wow64 support in X11 driver, session storage in MSHTML, unicode regexp fixes in MSXML, IME improvements in Edit control, and various bug fixes.