Wine Announcement

The Wine development release 2.14 is now available.

What's new in this release (see below for details):
  - Mono engine updated with some bug fixes.
  - C++ calling convention workarounds in the IDL compiler.
  - Z-order support in the Android graphics driver.
  - Scalable mouse cursors on macOS.
  - 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.14 (total 18):

  35423  Serif WebPlus x5/x6/x8 installer fails, reports 'Invalid command line.'
  38322  Call of Duty Modern Warfare 3 and Saints Row 3: Wine crashes when Steam is starting the game
  40919  Worms Armageddon Gameplay only shows top-left corner of screen
  41263  Dead by Daylight: Crash on starting the game
  41985  CHM viewer does not use default window
  42165  Root Double only shows black window in new game
  42416  iMesh 10 crashes at startup (IWMReader::QueryInterface doesn't support IWMReaderAccelerator, 'BDDC4D08-944D-4D52-A612-46C3FDA07DD4')
  42508  start.exe does not detect its title argument when it should  (breaking .e.g URL opening in League of Legends)
  42514  start.exe incorrectly treats multiple quoted arguments as the console title  (breaking .e.g URL opening in League of Legends)
  42526  DiRT Showdown hangs on start
  43135  The Witcher 3. The game does not start after upgrading to wine-staging 2.9. On wine-staging 2.8 game works.
  43144  Distorted graphics in the game Starcraft 2.
  43369  Nora, Princess and Stray cat (demo): fails to run (division by zero)
  43402  Star Wars - Knights of the Old Republic: hardware mouse pointer invisible
  43403  make error on Debian 4.9.30-2kali1 (2017-06-22) x86_64 GNU/Linux
  43413  Quicken Basic 2007 installer triggers __stack_chk_fail() on Wine builtin 'msiexec'
  43420  UnrealEd 3: Cannot fully build map since Wine 2.13
  43424  cursor icon has the wrong size


Changes since 2.13:

Alex Henrie (9):
      msvcr120: Declare ret as a float in functions that return a float.
      msvcrt: Set ERANGE in exp functions on finite input and infinite output.
      msvcr120: Don't double-check error conditions in log2f.
      msvcrt: Set errno in _logb(f) if x is 0.
      msvcrt: Don't set errno in _logb(f) if x is ±INF.
      msvcrt: Don't set errno in sinh(f), cosh(f), or atan2(f) if x is ±INF.
      msvcrt: Don't set errno in sqrt(f) if x is positive infinity.
      msvcrt: Set errno through the _matherr function.
      ucrtbase/tests: Add tests for math function errors.

Alexandre Julliard (26):
      ntdll: Add an assembly wrapper to return correct values for the current thread in NtGetContextThread.
      ntdll: Get some values from the parent stackframe in RtlCaptureContext.
      ntdll: Use RtlCaptureContext also in RtlUnwind.
      krnl386: Simplify a couple of register functions.
      krnl386: Add a simple wrapper for CommonUnimpStub instead of saving/restoring all registers.
      user32: Reduce the cursor height if it also includes the mask.
      user32: Always update the visible region for cross-process DCEs.
      configure: Allow specifying custom CFLAGS for LDAP.
      ntdll: Mark function that are only called from assembly as hidden.
      hal: Mark function that are only called from assembly as hidden.
      ntoskrnl: Mark function that are only called from assembly as hidden.
      rpcrt4: Mark function that are only called from assembly as hidden.
      msvcrt: Mark function that are only called from assembly as hidden.
      krnl386: Mark function that are only called from assembly as hidden.
      krnl386: Explicitly fetch the service argument in VxDCall.
      krnl386: Use RtlCaptureContext and NtSetContextThread to implement register functions.
      configure: Disable LDAP completely if the headers are not missing.
      ntdll: Set thread context directly in assembly instead of using generated code.
      ntdll: Remove support for relay debugging of register functions.
      winebuild: Disallow register functions in 32-bit modules.
      winebuild: Remove 32-bit register function support.
      ntdll/tests: Test hardware breakpoints in newly created thread.
      server: Add a platform-specific entry point to initialize registers of a new thread.
      server: Initialize debug registers in new threads if necessary.
      wineandroid: Update the views z-order based on the window hierarchy.
      wineandroid: Also set WINEDLLPATH.

Alistair Leslie-Hughes (12):
      wmvcore: Support IWMHeaderInfo/2/3 interfaces in IWMReader.
      wmvcore: Support IWMLanguageList interfaces in IWMReader.
      wmvcore: Support IReferenceClock interfaces in IWMReader.
      wmvcore: Support IWMProfile3 interfaces in IWMReader.
      wmvcore: Support IWMPacketSize2 interfaces in IWMReader.
      include: Add BackgroundCopyManager3_0 coclass.
      rpcrt4/tests: Use standard wine_dbgstr_longlong.
      ucrtbase/tests: Use standard wine_dbgstr_longlong.
      wmp: Ignore IMarshal/IRunnableObject interfaces in IOleObject_QueryInterface.
      msxml3/tests: Use standard wine_dbgstr_longlong.
      msvcp90/tests: Use standard wine_dbgstr_longlong.
      msvcrt/tests: Use standard wine_dbgstr_longlong.

Andrew Eikum (1):
      gdiplus: Implement stub for GdipGraphicsSetAbort.

André Hentschel (1):
      ntdll: Make sure the stack is quad-word aligned on ARM64.

Fabian Maurer (4):
      gdiplus: Avoid division by zero in SOFTWARE_GdipDrawThinPath.
      include: Add UIRibbon interface definitions.
      uiribbon: Add DLL.
      uiribbon: Add stubs for IUIFramework.

François Gouget (1):
      msvcp140/tests: Fix a typo in a variable name.

Henri Verbeet (7):
      widl: Handle C++ aggregate returns in a MSVC compatible way.
      wined3d: Validate vertex shader input signature register indices (AFL).
      wined3d: Only flush valid contexts in wined3d_cs_exec_flush().
      wined3d: Properly update the context when falling back to the backup window in context_set_gl_context().
      wined3d: Use the context information in context_set_pixel_format().
      d3d8/tests: Introduce a test for drawing with a destroyed window.
      d3d9/tests: Introduce a test for drawing with a destroyed window.

Hugh McMaster (21):
      po: Fix a typo in the Norwegian translation.
      regedit: Free the value name buffer from the default value name parser state if necessary (Valgrind).
      regedit: Check for a valid subkey pointer before attempting to delete a registry key (Coverity).
      regedit: Prevent out-of-bounds reads when unescaping a string (Valgrind).
      regedit: Use a helper function to allocate memory and check for a valid pointer.
      regedit: Use a helper function to free allocated memory.
      regedit: Use heap_xrealloc() for consistency.
      regedit: Use the heap_*() functions in childwnd.c where possible.
      regedit: Use the heap_*() functions in edit.c where possible.
      regedit: Use the heap_*() functions in framewnd.c where possible.
      regedit: Use the heap_*() functions in regedit.c where possible.
      regedit: Remove commented code from resize_frame_rect().
      regedit: Use the heap_*() functions in listview.c where possible.
      regedit: Use the heap_*() functions in treeview.c where possible.
      regedit: Store the data from a listview subitem in a valid memory address.
      regedit: Pass memcpy() the correct destination address.
      reg: Use a helper function to allocate memory and die on failure.
      reg: Use a helper function to free allocated memory.
      reg: Use a helper function to resize a memory buffer.
      regedit: Use the heap_*() functions in hexedit.c where possible.
      regedit: Replace a HeapAlloc() HEAP_ZERO_MEMORY call in framewnd.c.

Huw D. M. Davies (3):
      gdi32: Add a helper to fill rectangles with a given pixel.
      gdi32: Respect the rop mode in SetPixel.
      packager: Add the ProgID.

Jacek Caban (13):
      wininet: Improved cookie debug traces.
      mshtml: Set correct load type in load_nsuri.
      mshtml: Always create load info object in load_nsuri.
      mshtml: Set referrer in load_nsuri.
      ws2_32: Added GetAddrInfoExOverlappedResult stub implementation.
      ws2_32: Factor out GetAddrInfoW implementation.
      ws2_32: Added FreeAddrInfoEx implementation.
      ws2_32: Return ADDRINFOEXW type from WS_getaddrinfoW.
      ws2_32: Added partial GetAddrInfoExW implementation.
      ws2_32: Added support for overlapped GetAddrInfoExW.
      ws2_32/tests: Added GetAddrInfoExW tests.
      rpcrt4: Always protect ref access for connections associated with protseq in RPCRT4_ReleaseConnection.
      msvcp: Added std::_Raise_handler implementation.

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

Józef Kucia (4):
      wined3d: Implement forceEarlyDepthStencil shader global flag.
      d3d11/tests: Add test for forced early depth stencil.
      opengl32: Update OpenGL Registry files URLs.
      wined3d: Update ARB_pipeline_statistics_query extension detection.

Ken Thomases (1):
      winemac: Scale cursors for Retina mode, now that user32 scales them with DPI.

Marcus Meissner (1):
      gdiplus: Free dash_pattern_scaled (Coverity).

Martin Storsjo (4):
      ntdll: Implement allocate_stub for arm64.
      ntdll: Simplify the arm version of a stub function.
      msvcrt: Don't export _isnanf, _nextafterf, _scalbf and frexpf on arm.
      msvcrt: Export -f suffixed float functions functions on arm64.

Michael Müller (1):
      ntdll/tests: Test debug register values in newly created thread.

Michael Stefaniuc (11):
      dmloader: Handle NULL and empty path strings in SetSearchDirectory().
      dmloader/tests: Add more SetSearchDirectory() tests.
      dmloader/tests: Add some EnableCache() tests.
      dmloader: Use a bitfield to store the per class cache enable info.
      dmloader: Move struct definitions to the files they are used in.
      dmloader: Simplify the search path handling.
      dmloader: Remove some commented out debugging code.
      dmloader: Simplify the cache list handling.
      dmloader: Don't leak memory in the cache.
      dmloader: Get rid of two gratuitous typedefs.
      dmloader: Remove a now redundant helper function.

Nikolay Sivov (8):
      xmllite/writer: Fix empty element and state handling in WriteElementString().
      xmllite/writer: Fix indentation on WriteElementString().
      xmllite/writer: Do not indent after just BOM has been written.
      dwrite: Use newer enum version to avoid type mismatch (Coverity).
      windowscodecs/tests: Fix a leak in tests (Valgrind).
      windowscodecs/tests: Remove unused type declarations.
      xmllite/writer: Improve handling of the output with invalid encoding.
      xmllite/tests: Added a test for output with code page 1200.

Piotr Caban (6):
      gdiplus: Fix saving pen dashed line cap style to metafile.
      gdiplus: Return success saving path to metafile.
      include: Define IElementTraversal interface.
      mshtml: Add IElementTraversal stub implementation.
      mshtml: Expose IElementTraversal interface to scripts.
      mshtml: Add IElementTraversal::get_firstElementChild implementation.

Tim Worthington (1):
      user32: Fix rendering of tabs in edit control.

Vincent Povirk (6):
      mscoree: Update for mono profiler api v2.
      gdiplus: Fix a possible floating point exception in path gradients.
      gdiplus/tests: Enable floating point exceptions.
      mscoree: Implement RequestRuntimeLoadedNotification.
      mscoree: Update Wine Mono to 4.7.1.
      mscoree: Fix locking in GetRuntimeHost.

Zebediah Figura (4):
      wincodecs: Add encoder options for JPEG.
      include: Add initial IDL for cmnquery.h.
      dsquery: Add stub DLL.
      dsquery: Add stub implementation of ICommonQuery.

Alexandre Julliard
[email protected]