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().
