Wine Announcement

The Wine development release 2.22 is now available.

What's new in this release (see below for details):
  - Source selection dialog for scanners.
  - Improvements in ARM64 support.
  - Float audio formats with more than 2 channels in XAudio.
  - Fixes for DLL injection support.
  - Input methods improvements.
  - Various bug fixes.

The source is available from the following locations:

Binary packages for various distributions will be available from:

You will find documentation on

You can also get the current source directly from the git
repository. Check 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 2.22 (total 14):

  29986  IE6 and IE4 have greenish toolbar icons
  42099  Bedlam (indie game) renders 3D world upside down (DX11)
  42414  The Witcher 3 intro videos don't play
  42701  Multiple apps and games using MS .NET Framework 4.x need api-ms-win-core-winrt-roparameterizediid-l1-1-0.dll.RoGetParameterizedTypeInstanceIID (Mafia III, Daylight)
  43332  rsaenh: Warning and notes while building (GCC 7.1.1)
  43333  shell32: Warning and notes while building (GCC 7.1.1)
  43335  wintrust: Warning and note while building (GCC 7.1.1)
  43336  propsys: Warning and notes while building (GCC 7.1.1)
  43800  Winamp's associations setup window has broken check boxes appearance
  43844  Skyrim can not load skse when upgrade to 2.18
  43904  HeTeMuLu Creator: Can't input some kanji characters properly.
  43946  wineboot crashes with stack smashing on aarch64
  44037  Bricscad v17 crashes on startup, needs ADVAPI32.dll.PerfStartProviderEx
  44054  Wine-mono download dialog should say wine-mono, not Mono


Changes since 2.21:

Akihiro Sagawa (6):
      imm32/tests: Add a skip message when composition string isn't available.
      imm32/tests: Add more composition string tests.
      winex11: Keep the result string in the IME UI window procedure.
      winemac: Keep the result string in the IME UI window procedure.
      imm32/tests: Add more WM_IME_CHAR message tests.
      user32: Send WM_IME_CHAR messages from DefWindowProc.

Alex Henrie (4):
      libport: Fix typo in rintf.
      include: Add roparameterizediid.idl.
      combase: Add RoGetParameterizedTypeInstanceIID stub.
      comctl32/tests: Detect and handle an RTL locale.

Alexandre Julliard (10):
      kernel32: Also match script name when looking for a locale.
      kernel32: Keep the sublanguage specified by the script name when looking for the default.
      ntdll: Fall back to read() earlier on noexec filesystems.
      ntdll: Fall back to read() on noexec filesystems also for non-image mappings.
      ntdll: Also check for EACCES to detect noexec failures.
      make_makefiles: Ignore files that have been deleted in the index.
      ntdll: Fixup imports in the first thread that runs, even if it's not the main one.
      ntdll: Delay attaching to dlls loaded because of a forwarded entry point.
      ntdll: Use a separate stack when starting new threads.
      ntdll: Set the initial process context on ARM.

Alistair Leslie-Hughes (1):
      cmd: Implement builtin mklink command.

Andrey Gusev (1):
      kernel32: Add CreateThreadpoolIo stub.

Andrey Semakin (1):
      winemine: Add confirmation to reset results button.

André Hentschel (5):
      configure: Set the main loader base address on ARM64.
      loader: Remove dead code.
      loader: Setup the TLS register on ARM64.
      loader: We now have a preloader on ARM64.
      libwine: Reserve memory areas for ARM64 in case we don't have a preloader.

Aric Stewart (1):
      hidclass: Properly NULL terminate device_deviceid_fmtW.

Aurimas Fišeras (3):
      po: Update Lithuanian translation.
      po: Update Lithuanian translation.
      po: Update Lithuanian translation.

Austin English (1):
      advapi32: Add initial Perf* stubs.

David Collett (1):
      kernel32: Adjust data directories in UpdateResource API.

Dmitry Timoshkov (8):
      user32/tests: Don't leave a stray test window behind.
      user32/tests: Fix test failures under Windows.
      user32/tests: Separate WS_EX_TOPMOST tests from SetWindowPos ones.
      user32/tests: Make WS_EX_TOPMOST tests more generic.
      user32/tests: Add a bunch of WS_EX_TOPMOST tests.
      server: Make it possible to deliver an APC to any thread alive in the process.
      server: Deliver an async io APC to any thread alive in the process.
      widl: Generate header macros even for aggregate return methods.

Fabian Maurer (4):
      shell32/tests: Add test for IAutoComplete2 with custom source.
      comdlg32/fontdlg: Allow setting value by typing it into the edit fields.
      user32/tests: Test manually setting WS_VSCROLL on combobox listbox.
      po: Change Mono to wine-mono for clarity.

Hans Leidekker (7):
      advapi32; Remove unused foward declarations.
      advapi32: Add traces to ConvertStringSecurityDescriptorToSecurityDescriptorA/W.
      advapi32: Fix parsing empty DACL/SACL security descriptor strings.
      wbemprox: Support NULL tests that use equality operators.
      ntdll: Fix size returned from RtlMakeSelfRelativeSD on 64-bit.
      advapi32/tests: Add tests for MakeSelfRelativeSD.
      advapi32: Fix size returned from ConvertStringSecurityDescriptorToSecurityDescriptor on 64-bit.

Henri Verbeet (6):
      wined3d: Introduce a blitter based on ARB_copy_image.
      wined3d: Use raw blits in wined3d_device_copy_resource().
      wined3d: Use raw blits in wined3d_device_copy_sub_resource_region().
      wined3d: Clamp NULL source boxes in wined3d_device_copy_sub_resource_region().
      wined3d: Add format class information for WINED3DFMT_R8G8B8A8_SNORM.
      d3d11/tests: Introduce a format compatibility test.

Hugh McMaster (2):
      reg/tests: Properly escape the backslashes in an export test.
      regedit: Do not abort if the /m switch is used.

Huw D. M. Davies (5):
      comctl32: Simplify handling of the marquee highlight.
      rsaenh: CALG_AES is not supported.
      comctl32: Don't create a masked imagelist if CLR_NONE is specified.
      ole32/tests: Use a separate data source for the file dib to avoid confusion.
      ole32: Rename structure member to target device size.

Jacek Caban (12):
      urlmon: Added user marshaling implementation for OnDataAvailable.
      urlmon: Added user marshaling implementation for GetBindInfo[Ex].
      urlmon/tests: Added IBindStatusCallback marshaling tests.
      ieproxy: Added IPersistHistory proxy/stub.
      mshtml: Merge olewnd.c into oleobj.c.
      mshtml: Store IOleAdviseHolder in HTMLDocumentObj instead of HTMLDocument.
      mshtml: Pass document as HTMLDocumentObj to update_doc.
      mshtml: Get rid of unneeded parent from NSContainer.
      mshtml: Removed no longer needed flush_pending_tasks.
      mshtml: Store task_magic in HTMLDocumentObj instead of HTMLDocument.
      mshtml: Added IHTMLDOMNode3::compareDocumentPosition implementation.
      mshtml: Hook addEventListener InvokeEx calls to allow capture default value.

Jactry Zeng (1):
      wintrust: Update version to 6.1.7601.23769.

Jonathan Doron (1):
      kernel32/tests: Test suspended process with new thread.

Julian Rüger (1):
      po: Update German translation.

Józef Kucia (2):
      wined3d: Allow copies between compatible formats in wined3d_device_copy_resource().
      wined3d: Allow copies between compatible formats in wined3d_device_copy_sub_resource_region().

Kimmo Myllyvirta (1):
      xaudio2: Add support for float formats with more than 2 channels.

Lauri Kenttä (1):
      po: Update Finnish translation.

Lucian Poston (1):
      shell32: Stub GetRedirectionCapabilities with S_OK.

Marcus Meissner (3):
      ws2_32/tests: Avoid crashes on flaky/non-present network.
      shell32: Avoid a crash in testsuite.
      mshtml: Fixed a crash due to missing typelib marshalling on 64bit.

Martin Storsjo (1):
      ucrtbase: Always return the full string length in __stdio_common_vs[w]printf for a NULL buffer.

Michael Müller (1):
      advapi32: Implement GetExplicitEntriesFromAclW.

Nikolay Sivov (9):
      uxtheme: Return NULL file handle on OpenThemeFile() failure.
      quartz/tests: Add a couple of tests for return values (Coverity).
      msxml3/httpreq: Return S_OK from setTimeouts().
      po: Update Russian translation.
      msvcp: Trace delimiter characters as single char strings.
      po: Update Russian translation.
      gdiplus/tests: Some tests for GdipGetFontCollectionFamilyList() and system collection.
      mshtml: Make sure actual host length matches returned BSTR length.
      msvcrt: Added _get_purecall_handler().

Piotr Caban (5):
      msvcrt/tests: Rewrite clock() tests.
      msvcrt: Fix IO initialization when invalid handles are passed.
      msvcrt: Fix close() behaviour on "no console" file descriptors.
      msvcrt: Fix read() behaviour on "no console" file descriptors.
      msvcrt: Fix write() behaviour on "no console" file descriptors.

Rafał Harabień (3):
      kernel32/tests: Check last error after successful Tls/FlsGetValue calls.
      riched20: Protect against pasting multi-line text in single-line control.
      winex11.drv: Preserve last error in x11drv_thread_data().

Sebastian Lackner (1):
      ntdll: Avoid crash when trying to access page prot of address beyond address space limit.

Stanislav Motylkov (1):
      rasapi32: Add stub for RasGetConnectionStatistics.

Vincent Povirk (4):
      sane.ds: Send events to applications through the DSM.
      twain_32: Implement source selection dialog.
      gphoto2.ds: Set supported groups.
      gphoto2.ds: Send notifications through the DSM.

Zebediah Figura (3):
      kernel32/tests: Trace thread IDs in hexadecimal.
      kernel32/tests: Don't close the stop_event handle.
      webservices: Stub WsAbortChannel().

Alexandre Julliard