Wine Announcement

The Wine development release 2.20 is now available.

What's new in this release (see below for details):
  - Improved event support in MSHTML.
  - Preloader support on ARM64.
  - Interpolation modes in Direct3D.
  - Improved metafile support in GdiPlus.
  - Initial version of Kerberos5 Authentication Package.
  - OLE clipboard cache 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.20 (total 15):

  40873  Multiple games (Witcher 3, Firewatch, The Solus Project, Banished) require dcl_input_ps support
  41960  Totally Accurate Battle Simulator alpha crashes
  43236  F.E.A.R, Condemned: Criminal Origins have no in-game audio
  43457  The First Templar - Steam Special Edition crashes in the main menu
  43512  Hellblade: Senua's Sacrifice - the player character is severely distorted
  43572  Ham Radio Deluxe 6.4 crashes on unimplemented function ntdll.dll.RtlIpv4StringToAddressW
  43770  Fidibo installer crashes very early in win7 mode
  43810  Playkey needs api-ms-win-crt-stdio-l1-1-0.dll.__stdio_common_vsprintf_p
  43883  Endless Legend - Broken in 2.18, worked in 2.17
  43886  Xenia emulator needs api-ms-win-shcore-scaling-l1-1-1.dll
  43912  wine-2.0.3/programs/wineboot/wineboot.c:684]: (style) Suspicious condition
  43913  Process Hacker 3.x needs ntdll.dll.RtlDosPathNameToNtPathName_U_WithStatus
  43914  64-bit RPCS3 emulator doesn't start, loader reports 'Invalid address' (non-relocatable PE wants to use lowest possible image base on NT: 0x10000 / 64 KB)
  43920  Access violations during start-up of the Tina 11.0 and Circuitmaker2000 software
  43927  Wine crashes when running anything (when compiled with gcc4.2, clang works)


Changes since 2.19:

Alex Henrie (9):
      comctl32/tests: Fix treeview test failures on French Windows XP.
      wininet/tests: Skip cookie attributes tests on IE < 8.0.
      quartz/tests: Fix test failures on Windows XP without upgraded DirectX.
      psapi/tests: Increase GetPerformanceInfo error margins for Windows 10.
      buildimage: Use "rsvg-convert" as the default RSVG command.
      winmm/tests: Give play from 0 to 0 more time to finish.
      user32: Implement IDI_SHIELD.
      vbscript/tests: Try calling GetObject again if it fails the first time.
      mountmgr: Symlink WoW64 Wine ports key to regular Wine ports key.

Alexandre Julliard (11):
      server: Avoid potential double free (Coverity).
      user32: Specify cursor hotspots separately for each size.
      ole32: Specify cursor hotspots separately for each size.
      riched20: Specify cursor hotspots separately for each size.
      comctl32: Specify cursor hotspots separately for each size.
      wordpad: Specify cursor hotspots separately for each size.
      buildimage: Convert the XML parser to use XML::LibXML.
      makedep: Output empty rule for source makefiles.
      configure: Silence error when krb5-config is missing.
      kernel32: Also set the preloader range for 64-bit binaries.
      rbtree: Clarify the loop conditions to avoid confusing older gcc.

Alistair Leslie-Hughes (1):
      midimap: Check each Midi Output for a Midi Through synthesizer.

Andrey Gusev (3):
      winepulse.drv: Remove redundant comparison.
      winsta: Add WinStationUnRegisterConsoleNotification stub.
      gdiplus: Fix misplaced parentheses.

André Hentschel (3):
      mpr/tests: Allow values from Win8+.
      loader: Build the preloader for ARM64.
      loader: Don't warn for limited user address space on ARM64.

Austin English (1):
      api-ms-win-shcore-scaling-l1-1-1: Add stub dll.

Daniel Lehman (3):
      msvcp120: Implement concurrent_vector::_Internal_throw_exception.
      msvcirt/tests: Add more exception tests.
      msvcp60: Only use name for internal string in exception.

Dmitry Timoshkov (5):
      kerberos: Add a stub for Kerberos5 Authentication Package.
      secur32: Add an initial implementation of the authentication package manager.
      ole32/tests: Add a test for saving an IOleCache storage.
      ole32/tests: Add a test for IOleCache storage contents created by IPersistStorage_Save().
      ole32: Remove an optimization from DataCache_Save() that copies whole original storage.

Fabian Maurer (4):
      dx8vb: Add COM classfactory.
      dx8vb: Add D3DX8 coclass and ID3DX8 interface.
      dx8vb: Add DirectX8 coclass and IDirectX8 interface.
      wineboot: In ProcessRunKeys use correct parentheses in condition.

Gijs Vermeulen (1):
      msvcrt: Add vf[w]printf_p & vf[w]printf_p_l.

Hans Leidekker (2):
      secur32: Don't allocate a context handle in AcceptSecurityContext if new and passed in context are the same.
      webservices: Fix handling of namespace attributes in WsWriteNode.

Hugh McMaster (2):
      regedit: Correctly import hex values with no data.
      reg/tests: Correctly import hex values with no data.

Huw D. M. Davies (12):
      dwrite: Avoid using RegQueryInfoKey().
      strmbase: Remove unnecessary WS_ICONIC.
      user32: Use WS_MINIMIZE instead of WS_ICONIC.
      user32: Trace the full NCCALCSIZE_PARAMS info if present.
      winefile: Initialize length before calling GetWindowPlacement().
      user32: Initialize length before calling GetWindowPlacement().
      ole32: Adding a view cache for DVASPECT_ICON produces a CF_METAFILEPICT cache entry.
      ole32: A presentation cache for DVASPECT_ICON must have format CF_METAFILEPICT.
      ole32: TYMED_NULL is not valid.
      ole32: There's no need to store a separate clip format for the data.
      ole32: Implement IOleCache2_UpdateCache().
      ole32: Implement IOleCache_InitCache().

Jacek Caban (45):
      mshtml: Use window event target instead of body only for selected event properties.
      mshtml: Fire message event with window as a target.
      mshtml: Use separated struct for event target vtbl.
      mshtml: Use vtbl to get ConnectionPointContainer from event target.
      mshtml: Always use event target as script this in call_event_handlers.
      mshtml: Call default event handles through event target vtbl.
      mshtml: Store event target as EventTarget in HTMLEventObj.
      mshtml: Update event_info array.
      mshtml: Use event target vtbl to construct target chain in fire_event_obj.
      mshtml: Use event target vtbl to set current window event in fire_event_obj.
      mshtml: Set current event target in fire_event_obj.
      mshtml: Added IDocumentEvent::createEvent implementation.
      mshtml: Store DOMEvent instead of nsIDOMEvent in HTMLEventObj.
      mshtml: Store event id in DOMEvent.
      mshtml: Pass DOMEvent instead of event id to fire_event_obj.
      mshtml: Store event target in DOMEvent.
      mshtml: Pass DOMEvent to call_event_handlers.
      mshtml: Implement IDOMEvent::preventDefault and use it where appropriate.
      mshtml: Implement IDOMEvent::stopPropagation and use it where appropriate.
      mshtml: Store current IHTMLEventObj in DOMEvent and create it in fire_event_obj if needed.
      mshtml: Use fire_event_obj to dispatch XHR readystatechange event.
      mshtml: Don't use fire_event to dispatch contextmenu event.
      mshtml: Don't use fire_event to dispatch window load event.
      mshtml: Use create_event_from_nsevent in handle_htmlevent.
      mshtml: Don't use fire_event in postMessage.
      mshtml: Don't use fire_event to dispatch help event.
      mshtml: Don't use fire_event to dispatch focusin and focusout events.
      mshtml: Don't use fire_event to dispatch document load event.
      mshtml: Don't use fire_event to dispatch script readystatechange event.
      mshtml: Don't use fire_event to dispatch document and frame element readystatechange event.
      mshtml: Rename fire_event_obj and dispatch_event.
      mshtml/tests: Fixed tests on some versions of IE.
      mshtml/tests: Fixed tests on old IE versions.
      mshtml/tests: Skip postMessage test on IE7.
      mshtml: Added IDOMEvent:get_eventPhase implementation.
      mshtml: Store all attached listeners before calling them in call_event_handlers.
      mshtml: Store all event listeners in a list.
      mshtml/tests: Added a few more event tests.
      mshtml: Properly invoke event listeners in IE9+ mode.
      mshtml: Added IDOMEvent::addEventListener implementation.
      mshtml: Added IDOMEvent::removeEventListener implementation.
      mshtml: Added support for capturing event phase.
      mshtml/tests: Added addEventListener tests.
      mshtml: Don't set no_event_obj for XHR events.
      mshtml: Release listeners in call_event_handlers.

Józef Kucia (12):
      wined3d: Use correct data type for immediate constants.
      d3d11/tests: Add test for immediate constant UAV stores.
      wined3d: Unroll SM4+ pixel shader inputs.
      wined3d: Use GLSL 4.40 if available.
      wined3d: Implement interpolation mode when GLSL 4.40 is available.
      wined3d: Implement SM4+ interpolation modifiers for GLSL < 4.40.
      wined3d: Pack interpolation modes.
      d3d11/tests: Add test for shaders interstage interface.
      d3d10core/tests: Add test for shaders interstage interface.
      wined3d: Skip unhandled stream output components.
      wined3d: Get rid of unneeded includes.
      wined3d: Use ARRAY_SIZE().

Lauri Kenttä (2):
      readme: Fix word order.
      readme: Update Finnish translation.

Marcus Meissner (2):
      po: Update German translation.
      user32/tests: Removed a unreliable test.

Martin Storsjo (3):
      api-ms-win-core-file-l1-2-2: Add dll.
      api-ms-win-core-synch-ansi-l1-1-0: Add dll.
      api-ms-win-core-libraryloader-l1-2-1: Add dll.

Michael Stefaniuc (1):
      wmvcore: Print the debug string and not the pointer to it.

Mingcong Bai (1):
      po: Update Simplified Chinese translation.

Nikolay Sivov (21):
      dwrite/tests: Fix object instance leak (Valgrind).
      qedit/tests: Fix some leaks in tests (Valgrind).
      gdiplus/metafile: Implement EmfPlusImage deserialization for bitmaps.
      gdiplus/metafile: Implement EmfPlusRecordTypeDrawImagePoints record playback.
      gdiplus/metafile: Partially implement EmfPlusPath deserialization.
      gdiplus/metafile: Implement playback for EmfPlusRecordTypeFillPath.
      gdiplus/metafile: Support serialized brushes in EmfPlusFillRects.
      gdiplus/metafile: Validate data size when playing back EmfPlusClear.
      gdiplus/metafile: Added support for EmfPlusFont objects.
      dwrite: Reuse streams when initializing font data and creating faces.
      include: Fix DWRITE_FONT_PROPERTY_ID enum.
      dwrite/tests: Some tests for font set properties.
      gdiplus/metafile: Partially implement EmfPlusPen support for playback.
      gdiplus/metafile: Implement playback for EmfPlusRecordTypeDrawPath records.
      gdiplus/metafile: Implement EmfPlusRegion deserialization.
      ntdll: Added RtlDosPathNameToNtPathName_U_WithStatus().
      ntdll: RtlGetCurrentDirectory_U() returns length, not status.
      msxml3: Partially implement transformNodeToObject().
      gdiplus/metafile: Implement EmfPlusRecordTypeSetClipRegion playback.
      gdiplus/metafile: Implement EmfPlusRecordTypeSetClipPath playback.
      gdiplus: Implement GdipSetImageAttributesNoOp.

Pierre Schweitzer (2):
      msi: Don't leak memory on failure.
      msi: Don't leak memory on failure.

Piotr Caban (14):
      msvcp120: Fix _Xtime_diff_to_millis2 overflow behavior.
      msi: Fix installations with only INSTALLSTATE_SOURCE features.
      msvcrt: Don't define type_info structures as const so we can set demangled class name.
      msvcp: Fix logic_error and runtime_error class layout if _MSVCP_VER>90.
      msi: Improve feature action value evaluation in conditions.
      msi: Improve "full uninstall" detection code.
      msi: Improve installation with no argument of already installed product.
      msi: Add install test with no arguments on already installed product.
      msi: Add more feature action tests.
      user32: Don't do the painting if combobox is not visible in CBPaintText.
      msi: Move condition integer handling into value_i.
      msi: Define special types for condition operators, identifiers and expressions.
      msi: Store condition intermediate values in union.
      msi: Add error handling when retriving component/feature state/action in condition.

Sergio Gómez Del Real (1):
      uxtheme: Add a stub for IsCompositionActive().

Stefan Dösinger (6):
      d3d8/tests: Use a borderless window for test_cursor_pos.
      d3d9/tests: Use a borderless window for test_cursor_pos.
      msvcp120/tests: Test _Xtime_diff_to_millis2 overflow behavior.
      d3d9/tests: Make test_reset more resilient against DPI scaling.
      d3d8/tests: Make test_reset more resilient against DPI scaling.
      d3d9/tests: Windows 10 15.07 doesn't detect external mode changes.

Vijay Kiran Kamuju (1):
      msvcp100: Add time_get::do_get and time_get::get functions.

Vincent Povirk (4):
      maintainers: Add myself for TWAIN libraries.
      wine.inf: Put 64-bit .ds fakedlls in windows/twain_64.
      twain_32: Notify data sources of their assigned Id.
      twain_32: Add support for DAT_NULL commands.

Zebediah Figura (3):
      gdiplus/tests: Mark broken bitmap background tests.
      mfplat/tests: Skip MFTRegister() tests if permissions are too low.
      version: Use the string value length when converting strings.

Alexandre Julliard
[email protected]