The Wine development release 2.16 is now available.

What's new in this release (see below for details):
  - Support for pasting metafiles in RichEdit.
  - Better support for grayscale PNG images.
  - Support for safety features in library loading.
  - Better handling of transforms in GdiPlus.
  - Rendering improvements in DirectWrite.
  - Various bug fixes.

The source is available from the following locations:

  http://dl.winehq.org/wine/source/2.x/wine-2.16.tar.xz
  http://mirrors.ibiblio.org/wine/source/2.x/wine-2.16.tar.xz

Binary packages for various distributions will be available from:

  http://www.winehq.org/download

You will find documentation on http://www.winehq.org/documentation

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

  26046  comctl32/monthcal tests show some invalid reads under valgrind
  28741  Odd coordinate in hit test causes uninitialized value references in MONTHCAL_CalculateDayOfWeek()?
  35282  Multiple applications/installers need 'reg.exe' 'import' operation implementation (Muvee Reveal 8.0.x)
  35935  Enterprise Architect fails to draw basic shapes when using gdiplus
  37982  Illustrator CS6: alternate color selection does not display colours
  40025  Winrar installer fails to start
  42256  PhotoFiltre 6 and 7 don't erase the mouse selection when dragging it
  42891  Unigine Superposition needs unimplemented function KERNEL32.dll.AddDllDirectory
  43293  strange behavior- Eudora scrambles email addresses
  43328  dotnet 4.5 applications crash in factory_get_cached_fontface
  43389  valgrind shows a few invalid reads in dlls/wsdapi/tests/xml.c
  43391  valgrind shows several definite leaks in programs/regedit/tests/regedit.c
  43392  valgrind shows a couple invalid reads in programs/regedit/tests/regedit.c
  43423  Multiple applications and games need 'ProgramData' environment variable set (SteelSeries Engine SDK based games, World of Warships 0.6.9+)
  43510  Monster Girl Quest: crashes while playing
  43536  WIC can't encode to GUID_WICPixelFormat32bppPBGRA PNG
  43603  clipboard PIXMAP regression after upgrading from 1.8.x to 2.x
  43617  [Crash] Application crash when running C:\GOG Games\Baldur's Gate\BGMain2.exe
  43632  Drop down menu for DLL override doesn't work

----------------------------------------------------------------

Changes since 2.15:

Alex Henrie (1):
      include: Allow programs to take the address of byte-swapping functions.

Alexandre Julliard (32):
      winex11: If importing an X11 clipboard format fails, try other candidate formats for the target.
      gdi32/tests: Add a test case for DIB color painting.
      gdi32: Always dither brush when painting to a 1-bpp device.
      gdi32/tests: Run DIB tests also against a monochrome DDB.
      gdi32: Pass the brush origin explicitly to the brush backend functions.
      gdi32: Use the correct brush origin when the blit operation requires an intermediate bitmap.
      gdi32: Do not dither non-extended wide pens.
      kernel32: Implement safe dll search mode.
      kernel32: Implement SetDefaultDllDirectories.
      kernel32: Add support for LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE flag.
      include: Add libloaderapi.h.
      oleaut32: Don't copy uninitialized data.
      shell32: Avoid zeroing a buffer that will get overwritten.
      propsys: Don't use the format string size as buffer size.
      crypt32/tests: Increase buffer size to avoid gcc warnings.
      kernel32: Implement AddDllDirectory and RemoveDllDirectory.
      kernel32: Add helper functions for building the load path.
      kernel32: Implement LOAD_LIBRARY_SEARCH_* flags.
      kernel32/tests: Add tests for the LOAD_LIBRARY_SEARCH_* flags.
      kernel32/tests: Fix a dll reference leak.
      kernel32: Implement safe search mode for SearchPath.
      kernel32/tests: Add tests for SetSearchPathMode.
      rsaenh: Avoid potential buffer overflows in registry key name.
      wintrust: Increase buffer size to silence a gcc warning.
      crypt32: Increase buffer size to silence a gcc warning.
      kernel32/tests: Use function pointers to avoid gcc warnings for invalid parameter tests.
      ntdll: Store the PEB lock pointer in the PEB.
      fusion/tests: Correctly test non-string properties.
      fusion/tests: Simplify directory recursion and avoid redundant buffers.
      kernel32: Silence buffer overflow gcc warnings.
      user32: Consistently print the HDC value in DCE traces.
      user32: Use the correct top-level window when activating through a mouse click.

Alistair Leslie-Hughes (7):
      sxs: Use standard wine_dbgstr_longlong.
      fusion: Use standard wine_dbgstr_longlong.
      quartz: Use standard wine_dbgstr_longlong.
      include: Add IWMPEvents/2/3/4 and supporting interfaces.
      wmp/tests: Add tests for IConnectionPointContainer.
      ntdll: Use standard wine_dbgstr_longlong.
      wininet: Use standard wine_dbgstr_longlong.

Andrew Eikum (3):
      gdiplus: Fix copy-paste typo.
      gdiplus: Don't call PlayEnhMetaFileRecord for records handled by gdiplus.
      gdi32: Update metafile world transform immediately in winnt mode.

Andrey Gusev (3):
      api-ms-win-eventing-legacy-l1-1-0: Add dll.
      avrt: Add AvQuerySystemResponsiveness stub.
      api-ms-win-core-kernel32-legacy-l1-1-1: Update spec file.

Anton Romanov (1):
      windowscodecs: PNGEncoder: Return 32bppRGBA pixel format by default.

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

Austin English (2):
      advapi32: Only show OpenTraceA/W FIXME once.
      advapi32: Only show NotifyServiceStatusChangeW FIXME once.

Changhui Liu (2):
      gdiplus/tests: Add test for hdc with window origin point changed.
      gdiplus/tests: Add drawing tests for GdipFillRegion with gdi transform.

Dmitry Timoshkov (6):
      gdiplus/tests: Add a test for loading PNG grayscale images.
      user32/tests: Test DialogBoxParam using a dialog template with invalid control class.
      user32: DialogBoxParam should return -1 when dialog control creation fails.
      gdiplus: Force conversion of 8 bpp grayscale PNG images to 32 bpp BGRA.
      gdiplus/tests: Add a test for image flags to PNG grayscale image tests.
      gdiplus: Set correct color space flags for grayscale images.

Fabian Maurer (10):
      user32/combo: Set listbox popup height correctly and add tests.
      winecfg: Use proper size for combobox controls.
      comctl32/tests: Use proper size for combobox controls.
      comdlg32: Use proper size for combobox controls.
      cryptui: Use proper size for combobox controls.
      dinput: Use proper size for combobox controls.
      joy.cpl: Use proper size for combobox controls.
      serialui: Use proper size for combobox controls.
      wineps.drv: Use proper size for combobox controls.
      wineconsole: Use proper size for combobox controls.

Hans Leidekker (2):
      webservices: Create a new HTTP request for each message.
      webservices: Set cache control headers.

Hugh McMaster (15):
      reg/tests: Pass MultiByteToWideChar() the buffer size in characters.
      reg/tests: Free the WCHAR memory buffer if CreateFile() fails.
      regedit/tests: Add Unicode import tests and remove the WCHAR support check.
      regedit/tests: Delete the test registry key before starting each test.
      regedit/tests: Add Unicode tests for importing registry data with inter-mixed comments.
      regedit/tests: Add Unicode tests for importing registry data with whitespace.
      regedit/tests: Add Unicode tests for registry key creation and deletion.
      regedit/tests: Add Unicode tests for value deletion.
      regedit/tests: Add Unicode tests for importing invalid registry data.
      regedit/tests: Add some mixed key creation and deletion tests.
      regedit: Close any open registry keys before starting the key deletion process.
      reg/tests: Add some mixed key creation and deletion tests.
      reg: Close any open registry keys before starting the key deletion process.
      regedit: Null-terminate incomplete REG_EXPAND_SZ and REG_MULTI_SZ Unicode data.
      reg: Null-terminate incomplete REG_EXPAND_SZ and REG_MULTI_SZ Unicode data.

Huw D. M. Davies (11):
      riched20: Move the editor initialization out of CreateTextHost().
      riched20: Retrieve the default paragraph alignment from the text host.
      riched20: Initialize ME_TextEditor members in ME_MakeEditor().
      riched20: Don't create a special richedit ole instance for the RTF parser.
      riched20: Add support for EM_PASTESPECIAL.
      riched20: Use the implementation of EM_PASTESPECIAL for WM_PASTE.
      riched20: Use the implementation of EM_PASTESPECIAL for EM_CANPASTE.
      riched20: Add support for pasting EMFs.
      gdi32: Cache the device caps from the reference dc, since the dc may become invalid.
      wineps: Fall back to the null driver for common device caps.
      riched20: Remove the separate implementation of IOleWindow as IOleInPlaceSite inherits from IOleWindow.

Jacek Caban (7):
      jscript: Added support for VT_R4 VARIANT types.
      mshtml: Return documentMode as VT_R4.
      mshtml: Don't allow changing document mode after script insertion or when it's already set.
      mshtml: Added delayed DispatchEx init support and use it to expose IHTMLDOMNode3 from document node.
      mshtml.idl: Added IHTMLDocument8 declaration.
      mshtml: Added IHTMLDocument6::getElementById implementation.
      mshtml: Properly expose IHTMLDocument6 interface to scripts.

Józef Kucia (6):
      wined3d: Avoid potential NULL pointer dereference (Coverity).
      d3d10core/tests: Remove needless assignment.
      d3d11/tests: Remove needless assignment.
      d3d11/tests: Add 10_1 to default feature levels list.
      d3d11: Simplify d3d10_query_GetData().
      msvcrt: Fix precision handling for string arguments.

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

Marcus Meissner (1):
      kernel32/tests: Fixed size to GetTempPathW.

Miklós Máté (1):
      winex11: Improve the desktop resolution list.

Nikolay Sivov (21):
      po: Update Russian translation.
      dwrite: Use more readable names for spacing attributes.
      dwrite: Set drawing effect for trimming sign.
      dwrite: Split initial cluster computation by stage.
      dwrite: Use safer method to set per-factory system collection reference.
      dwrite: Use safer method to set per-factory EUDC collection reference.
      dwrite/tests: Some tests for system font set.
      gdiplus: Use defined constants for wrap modes.
      dwrite/tests: A test to draw trimming sign with drawing effect.
      d2d1: Pass inline object effect through rendering context.
      dwrite: Don't use drawing effect for trimming signs.
      dwrite: Set leading text alignment for default trimming sign.
      dwrite: Remove unused call.
      dwrite: Improve empty contours handling in GetGlyphRunOutline().
      wsdapi: Fix use-after-free when checking for unique prefix (Valgrind).
      wsdapi/tests: Use constants for test strings when possible.
      comctl32/monthcal: Initialize day field before setting final hit test result (Valgrind).
      comctl32/monthcal: Make sure set today date is valid before using it (Valgrind).
      comctl32/monthcal: Make sure set focus date is valid before using it (Valgrind).
      dwrite: Fix proportional spacing method.
      d2d1: Fix rounding when setting scissor rectangle.

Paul Gofman (10):
      d3d9/tests: Add tests for setting vertex shader constants in SWVP and MVP modes.
      d3d9/tests: Add tests for SW shaders creation in SWVP and MVP modes.
      d3d9/tests: Add test for SW shader in MVP mode.
      d3dx9: Factor out set_constants_device() function.
      d3dx9: Get rid of constants modification bitmasks.
      d3dx9: Do not support preshader instructions which output multiple registers.
      d3dx9: Dump bytecode if parameter evaluator creation failed.
      d3dx9: Use bitmask instead of BOOL array for light_updated.
      d3dx9/tests: Add test for effect with unsupported shader.
      d3dx9: Do not fail effect creation if a shader cannot be created.

Stefan Dösinger (3):
      wined3d: Avoid writing queue->head in the CS thread.
      wined3d: Do not call queue_is_empty in wined3d_cs_mt_finish.
      ws2_32: Also check the FQDN when injecting the local IP.

Vincent Povirk (15):
      wmphoto: Add stub dll.
      wmphoto: Register WMP encoder and decoder classes.
      shell32: Change default ProgramData folder and set ProfileList key.
      kernel32: Set the ProgramData environment variable.
      gdiplus: Check for invalid coordinate space in GdipTransformPoints.
      gdiplus: Replace DPtoLP with an internal coordinate space constant.
      gdiplus: Test that clip region doesn't account for gdi32 transform changes.
      gdiplus: Transform clipping region to gdi device coordinates.
      gdiplus: Test that GdipGetRegionHRgn includes gdi32 transform.
      gdiplus: Account for gdi transform in SOFTWARE_GdipFillRegion.
      gdiplus: Account for gdi transform in brush_fill_pixels.
      gdiplus: Use SOFTWARE_GdipDrawPath with alpha hdc's.
      gdiplus: Account for gdi32 transform in GdipDrawImage.
      gdiplus: Send paths to gdi32 in device coordinates.
      gdiplus: Account for gdi32 transform in SOFTWARE_GdipDrawThinPath.

--
Alexandre Julliard
julliard@winehq.org
