WineHQ

Wine Announcement

The Wine development release 2.13 is now available.

What's new in this release (see below for details):
  - Unicode data updated to Unicode 10.0.0.
  - Nicer looking default mouse cursors.
  - Persistent connections support in WinHTTP.
  - Message Framing protocol support in WebServices.
  - Improved metafile support in GdiPlus.
  - Debug registers support in x86-64 exception handling.
  - Anti-aliasing improvements in DirectWrite.
  - Various bug fixes.

The source is available from the following locations:

  http://dl.winehq.org/wine/source/2.x/wine-2.13.tar.xz
  http://mirrors.ibiblio.org/wine/source/2.x/wine-2.13.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.13 (total 33):

  32418  Skylanders Spyro's Adventure can't find USB RFID reader, needs hid.dll.HidD_SetOutputReport implementation
  36612  valgrind shows a definite leak in winhttp/tests/notification.c
  36613  valgrind shows an unintialized write in winhttp/tests/notification.c
  38296  Ion Assault (Steam) crashes before the main menu (IWMReader::QueryInterface doesn't support IWMReaderAdvanced2, 'ae14a945-b90c-4d0d-9127-80d665f7d73e')
  39833  File not found error when loading fmod audio in Dungeon of the Endless
  42275  Biet-O-Matic chm help without directory entry
  42528  Grand Theft Auto 5 crashes while loading
  42537  Tomb Raider 2013 has medium graphic glitches
  42653  Wine x64 does not set debug registers in exception record
  42918  Command and Conquer Red Alert 3: should display at least silhouette (pSkipConstants parameter for D3DXCreateEffectEx is ignored)
  43099  The Technomancer requires MFCreateSourceReaderFromByteStream implementation
  43112  Guitar Pro 7 needs msvcp140.dll._Stat
  43160  The Witcher 3: puppeteer lines appearing on character
  43194  Uprising/Uprising 2: 3D world not displayed (solid grey/black screen)
  43196  Eve Online Crash on macos wined3d-csmt.dll.so buffer_destroy_buffer_object()
  43231  Dai-Senryaku Perfect 3.0:Not draw background with GDI.
  43265  Regression makes Steam game Rabi-Ribi run too fast
  43268  Wargaming.net Game Center needs msvcp140.dll._To_byte
  43275  Sacred Gold v2.28 (GOG.com): invisible characters
  43283  Crazyracing KartRider: Crashes on startup on unimplemented function ntoskrnl.exe.IoCreateNotificationEvent
  43295  BitLord crashes on unimplemented function IPHLPAPI.DLL.if_nametoindex
  43302  widl incorrectly generates _Proxy functions in header
  43303  PHP crashes on unimplemented function api-ms-win-crt-math-l1-1-0.dll.acosh
  43304  PHP crashes on unimplemented function api-ms-win-crt-math-l1-1-0.dll.atanh
  43305  numpy crashes on unimplemented function api-ms-win-crt-math-l1-1-0.dll.log1p
  43307  Wargaming Game Center periodically crashes with msvcp140.dll._Current_get
  43312  valgrind shows a definite leak in dlls/d2d1/tests/d2d1.c
  43315  Steam fails to start [After update Thu, 06 Jul 2017]
  43317  Icons has a pink color background
  43334  winealsa.drv: Warning while building (GCC 7.1.1)
  43341  valgrind shows some definite leaks in dlls/gdiplus/tests/graphicspath.c
  43348  valgrind shows some definite leaks in dlls/msacm32/tests/msacm.c
  43373  valgrind shows an invalid free in dlls/dwrite/tests/font.c

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

Changes since 2.12:

Akihiro Sagawa (3):
      po: Update Japanese translation.
      ntdll: Allow map_view() to allocate fixed memory between reserved area and non-reserved area.
      gdi32: Return non-zero VREFRESH value for display devices.

Alex Henrie (10):
      msvcr120: Correct asinh specfile definitions.
      msvcr120: Correct erff specfile definition.
      msvcr120: If erff is not available, fall back to erf.
      msvcr120: Add acosh.
      msvcr120: Add atanh.
      msvcr120: Add erfc.
      msvcr120: Add expm1.
      msvcr120: Add log1p.
      msvcr120: Set errno in log2.
      msvcrt: Don't set errno in log functions if x is positive infinity.

Alexandre Julliard (37):
      configure: Allow specifying different CFLAGS for the cross compiler.
      kernel32/tests: Wait for threads to terminate.
      user32: Implement LR_MONOCHROME for loading cursors.
      winex11: Load a monochrome cursor instead of converting a color one when possible.
      user32: Match cursor size in priority over color depth.
      gdi32: Avoid having the source alpha channel interfere with color comparisons in GdiTransparentBlt.
      server: Return the top surface window even when not using OpenGL.
      user32: Add a helper function for copying bits from a window surface.
      user32: Copy the bits of child windows when the parent has a surface.
      wineandroid: Add a generation number to the native window to catch when old buffers are queued.
      wineandroid: Hold on to the native window until we get a new one.
      tools: Add support for generating cursor files from SVG.
      user32: New high resolution cursors generated from SVG.
      comctl32: New high resolution cursors generated from SVG.
      ole32: New high resolution cursors generated from SVG.
      riched20: New high resolution cursor generated from SVG.
      wordpad: New high resolution cursor generated from SVG.
      user32/tests: Add some tests for WindowFromDC and destroyed windows.
      winex11: Store the process name at startup to avoid grabbing the loader lock again.
      opengl32: Add some tests for last error with an invalid DC.
      user32: Also disable the DC if the window is destroyed without a ReleaseDC.
      ntdll: Remove unnecessary helper to set debug registers.
      ntdll: Add helper functions for getting and setting thread context through the server.
      ntdll: Move NtSetContextThread implementation to the platform-specific files.
      ntdll: Move NtGetContextThread implementation to the platform-specific files.
      ntdll: Don't copy cached debug registers from the parent thread.
      wined3d: Make sure we are still using the correct window before setting pixel format.
      ntdll: Add platform-specific versions of the thread data structure.
      ntdll: Move the plaform-independent thread data to the GdiTebBatch TEB field.
      ntdll: Move the plaform-specific thread data to the SystemReserved2 TEB field.
      ntdll: Add support for debug registers in exceptions on x86-64.
      user32: Don't exclude clipped children from the copied window bits since they may be up to date.
      ntdll: Call NtRaiseException directly from RtlRaiseException on x86-64.
      ntdll: Remove the raise_exception helper function on x86-64.
      ntdll: Call NtRaiseException directly from RtlRaiseException on i386.
      ntdll: Add small assembly wrappers for snooping instead of saving/restoring the entire context.
      include: Undefine PARITY_NONE to avoid warnings.

Alistair Leslie-Hughes (8):
      widl: Only generate Proxy Stubs when functions have the call_as attribute.
      mfreadwrite.idl: Add enum MF_SOURCE_READER_FLAG and EXTERN_GUID defines.
      wmvcore: Support IWMReaderStreamClock interface in IWMReader.
      wmvcore: Support IWMReaderTypeNegotiation interface in IWMReader.
      mfplat/tests: Add MFCreateAttributes tests.
      wmvcore: Support IWMReaderTimecode interface in IWMReader.
      wmvcore: Support IWMReaderPlaylistBurn interface in IWMReader.
      include: Support all version of BackgroundCopyManager from bits.h.

Andrey Gusev (4):
      api-ms-win-core-psapi-ansi-l1-1-0: Add dll.
      api-ms-win-mm-time-l1-1-0: Add dll.
      api-ms-win-security-provider-l1-1-0: Add dll.
      winealsa.drv: Fix uninitialized variable warning.

André Hentschel (3):
      vcomp: Add ARM64 support.
      winemaker: Remove trailing semicolon from PreprocessorDefinitions.
      wpcap: Fix build with newer pcap versions.

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

Austin English (1):
      ntoskrnl.exe: Add IoCreateNotificationEvent stub.

Can Taşan (1):
      po: Update Turkish translation.

Daniel Lehman (1):
      kernel32/tests: Increase timeout for loader test.

François Gouget (2):
      gdiplus: Remove a duplicate word in a comment.
      windowscodecs/tests: A spelling fix in an ok() message.

Gerald Pfeifer (1):
      user.exe16: Fix ADD_TO_T macro.

Hans Leidekker (21):
      webservices: Store byte records as WS_XML_BASE64_TEXT.
      webservices: Add support for union types in the writer.
      webservices: Add support for union types in the reader.
      webservices: Add support for appending byte records in the reader.
      webservices: Add support for setting the channel encoding.
      webservices: Store all text in native format in binary mode.
      webservices/tests: Add tests.
      webservices: Handle all supported native text types in the reader type conversion.
      webservices: Add support for 16-bit length text records in the writer.
      webservices: Add support for byte records in the writer.
      webservices: Add support for BOOL records in the writer.
      webservices: Add support for integer records in the writer.
      webservices: Add support for double records in the writer.
      webservices: Add support for GUID records in the writer.
      webservices: Add support for UNIQUE_ID records in the writer.
      webservices: Add support for DATETIME records in the writer.
      webservices/tests: Add tests.
      webservices: Add support for reading float values.
      webservices: Set default channel envelope and addressing versions.
      webservices: Write Action and To headers unless the addressing version is WS_ADDRESSING_VERSION_TRANSPORT.
      webservices: Implement the Message Framing Protocol.

Henri Verbeet (10):
      d3drm/tests: Simplify a conditional expression.
      winex11: Only use glXSwapBuffersMscOML() for child windows.
      wined3d: Fix the WINED3DFMT_D24_UNORM_S8_UINT entry in wined3d_format_convert_from_float().
      wined3d: Make a FIXME in cpu_blitter_clear() slightly more accurate.
      wined3d: Handle WINED3D_POOL_SYSTEM_MEM resources in ffp_blitter_use_cpu_clear().
      wined3d: Simplify the render target check in ffp_blitter_clear().
      wined3d: Split combined render target and depth/stencil clears if needed in ffp_blitter_clear().
      wined3d: Avoid using the CPU blitter for clearing either depth or stencil on combined formats.
      wined3d: Avoid using the CPU blitter for clearing converted surfaces that aren't current on the CPU.
      wined3d: Drop the special case for "converted" surfaces in wined3d_surface_blt().

Hugh McMaster (23):
      regedit: Null-terminate REG_EXPAND_SZ and REG_MULTI_SZ hex data during concatenation if we reach EOF.
      regedit: Update the status bar text when a treeview node is renamed.
      regedit: Update the listview path when renaming a treeview node.
      regedit: Output an error message and exit with error code zero instead of calling exit(1).
      regedit: Update some resource strings associated with key parsing.
      regedit: Update string resources associated with key deletion.
      regedit: Remove the unused _CmdWndProc callback function from listview.c.
      regedit: Move treeview notify messages to a separate function.
      regedit: Remove the listview's sub-class and move its messages to childwnd.c.
      regedit: Use UpdateStatusBar() instead of updating the text manually.
      regedit: Re-implement some parts of the export operation.
      regedit: Read registry value information before exporting.
      regedit: Export value names from a separate function.
      regedit: Export REG_DWORD data from a separate function.
      regedit: Use a helper function to export hex data and REG_DWORD data.
      regedit: Export REG_SZ data via the export_data() function.
      regedit: Append a newline to the end of the export file.
      regedit: Export value names from the export_data() function.
      regedit: Remove an unused #define.
      regedit: Remove unused header includes from regproc.c.
      regedit: Re-size the data export buffer using the required size instead of doubling it.
      reg: Avoid using RegQueryInfoKey() to enumerate subkeys and values in the query operation.
      reg: Account for sizeof(WCHAR) when resizing the value name buffer during the query operation.

Jacek Caban (22):
      server: Don't allow APCs on objects associated with completion port.
      winhttp/tests: Make notification tests more strict.
      winhttp: Store security_flags in request_t instead of netconn_t.
      winhttp: Allocate netconn_t separately from request_t.
      winhttp: Use notification flags to explicitly mark notifications that should signal an event.
      winhttp/tests: Make sure that all notifications were called before the end of a test.
      winhttp: Get rid of no longer needed netconn_init.
      winhttp: Pass socket address as sockaddr_storage to netconn_connect.
      winhttp: Store socked address in netconn_t.
      winhttp: Merge netconn_create and netconn_connect implementations.
      winhttp: Introduce global connected hosts store and keep reference to host in netconn_t.
      winhttp: Cache and reuse persistent HTTP connections.
      winhttp: Periodically free outdated connections.
      winhttp/tests: Added persistent connection tests.
      mshtml: Added IHTMLDOMNode3 stub implementation.
      mshtml: Forward duplicated IHTMLDOMNode3 functions to IHTMLDOMNode implementation.
      mshtml: Expose IHTMLDOMNode3 interface to scripts.
      mshtml: Support returning VT_NULL from return_nsstr_variant.
      mshtml: Added IHTMLDOMNode3::get_textContent implementation.
      mshtml: Added IHTMLDOMNode3::put_textContent implementation.
      server: Remove no loner needed fd NULL check (Coverity).
      rsaenh: Do not use stack variables out of frame (Coverity).

Jactry Zeng (2):
      powershell: Add a stub program.
      kernel32: Add stub for ResolveLocaleName.

Jens Reyer (2):
      make_unicode: Update data tables to Unicode 10.0.0.
      make_unicode: Use VerticalOrientation.txt from UCD.

Józef Kucia (19):
      wined3d: Avoid creating event queries manually.
      wined3d: Clean up buffer_sync_apple().
      wined3d: Introduce wined3d fence objects.
      d3d10core/tests: Prefer draw_color_quad() to custom pixel shader.
      d3d11/tests: Prefer draw_color_quad() to custom pixel shader.
      wined3d: Implement SM5 swapc instruction.
      d3d11/tests: Add test for swapc instruction.
      wined3d: Translate bfi, ubfe, ibfe instructions more carefully.
      wined3d: Translate ld_{raw, structured} instructions more carefully.
      d3d11/tests: Add additional tests for SM5 bit instructions.
      d3d11: Handle D3D11_MAP_WRITE map type.
      d3d11: Introduce d3d_blend_state_create() helper function.
      d3d11: Fix race condition in d3d_blend_state_create().
      d3d11: Introduce d3d_depthstencil_state_create() helper function.
      d3d11: Fix race condition in d3d_depthstencil_state_create().
      d3d11: Introduce d3d_rasterizer_state_create() helper function.
      d3d11: Fix race condition in d3d_rasterizer_state_create().
      d3d11: Introduce d3d_sampler_state_create() helper function.
      d3d11: Fix race condition in d3d_sampler_state_create().

Kim Malmo (2):
      po: Update Norwegian translation.
      po: Update Norwegian translation.

Kimmo Myllyvirta (1):
      ws2_32: Set return size when calling WSAIoctl with WS_SIO_GET_EXTENSION_FUNCTION_POINTER.

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

Marcus Meissner (1):
      gameux: Avoid freeing uninitialized interfaces (Coverity).

Mark Jansen (1):
      shell32: Prevent a possible null pointer dereference in SHGetFileInfoW.

Matteo Bruni (1):
      d3dx9: Get rid of a forward declaration.

Michael Stefaniuc (5):
      d2d1: Make use of the available ARRAY_SIZE macro.
      d3dx9/tests: Use string concatenation for a multiline string.
      include: Fix the name of a method of IDirectMusicLoader.
      dmloader: Initialize a stack variable to avoid erratic test behavior.
      dmloader/tests: NUL terminate a wide string.

Mikhail Paulyshka (1):
      msvcp140: Implement _To_byte.

Nikolay Sivov (29):
      d3drm: Use existing helper to manage child frames array.
      d3drm: Use existing helper to manage lights array.
      d3drm: Use existing helper to manage visuals array.
      d3drm: Use existing helper to manage mesh groups.
      wininet: Fix potential use-after-free (Coverity).
      po: Update Russian translation.
      d2d1: Added a helper to trace D2D1_RECT_F arguments.
      d2d1/tests: Fix stroke style object leak (Valgrind).
      dwrite: Avoid repeated method calls during run rendering.
      advapi32/tests: Statically link to ConvertSidToStringSidA().
      advapi32/tests: Fix a sid string leak (Valgrind).
      po: Update Russian translation.
      regedit: Simplify double-click listview handler.
      msacm32/tests: Fix a memory leak in tests (Valgrind).
      dwrite: Improve rendering parameters validation.
      dwrite: Use antialias mode set for bitmap render target.
      dwrite: Explicitly check rendering parameters pointer passed to DrawGlyphRun().
      dwrite: Trace user-provided OpenType feature set.
      d2d1: Pass current text antialias mode down to IDWriteGlyphRunAnalysis.
      d2d1: Enforce text antialias mode vs text rendering mode consistency.
      d2d1: Force appropriate antialiasing mode when drawing text elements using 2D primitives.
      dwrite: Added ability to specify multiple families per fallback range.
      dwrite/tests: Use empty text in line metrics test.
      d3drm/tests: Fix a leak in tests (Valgrind).
      xmllite/tests: Use input stream helper in more tests.
      dwrite: Print missing table message as a trace.
      dwrite: Fix cache entry use-after-free (Valgrind).
      xmllite/reader: Implement MoveToAttributeByName().
      xmllite/reader: Added a helper for setting current attribute cursor.

Paul Gofman (9):
      d3dx9/tests: Add test for skip_constants effect parameter.
      d3dx9: Factor out is_parameter_used() function.
      d3dx9: Simplify init and cleanup in get_constants_desc().
      d3dx9: Get rid of init_set_constants() function.
      d3dx9: Fail effect creation when parameter evaluator creation fails.
      d3dx9: Introduce d3dx_shader_get_ctab_constant() function and use it instead of ID3DXConstantTableImpl_GetConstantDesc().
      d3dx9: Support skip_constants parameter for effect.
      d3dx9/tests: Add more tests for skip_constants effect parameter.
      d3dx9: Fix potential memory leak on HeapReAlloc() failure in get_constants_desc().

Piotr Caban (27):
      gdiplus: Remove unused clsid parameter from encode_image_func helpers.
      gdiplus: Add partial support for GdipDrawImagePointsRect on metafile.
      gdiplus: Add function for managing metafile objects id.
      gdiplus: Add support for ImageAttributes when drawing image to metafile.
      gdiplus: Support GdipSetTextRenderingHint in metafiles.
      gdiplus: Support GdipSetPixelOffsetMode in metafiles.
      msvcp90: Remove special handling of directories in tr2::sys::_File_size.
      gdiplus: Support GdipSetSmoothingMode in metafiles.
      gdiplus: Support GdipSetCompositingMode in metafiles.
      gdiplus: Support GdipSetCompositingQuality in metafiles.
      gdiplus: Support GdipSetInterpolationMode in metafiles.
      gdiplus: Add EMF+ properties records tests.
      msvcr120: Add fallback implementation of erf function.
      msvcr120: Add fallback implementation of asinh.
      gdiplus: Add DrawPath stub for metafiles.
      gdiplus: Add helper for saving path objects in metafile.
      gdiplus: Add helper for saving pens to metafile.
      gdiplus: Add partial support for GdipDrawPath on metafiles.
      gdiplus: Add partial support for GdipFillPath on metafiles.
      gdiplus: Fix GdipGetVisibleClipBounds behavior on metafiles.
      msvcr120: Fix exception object refcounting in __ExceptionPtrAssign.
      gdiplus: Add support for creating image object containing metafile.
      gdiplus/tests: Test drawing metafile image to emf+ file.
      gdiplus: Use VERSION_MAGIC2 constant in metafiles functions.
      gdiplus: Store newer gdi+ version in created GdipRegions.
      gdiplus: Add write_path_data helper to create EMF+ path object.
      gdiplus: Use write_path_data helper in GdipGetRegionData.

Sebastian Lackner (5):
      webservices: Remove dead code in read_attribute_value_bin.
      reg/tests: Don't call RegCloseKey on uninitialized memory.
      wined3d: Return hr result in wined3d_event_query_create.
      configure: Improve check for if_nameindex.
      winhttp: Rename host_t to hostdata_t.

Stefan Dösinger (6):
      msvcp140: Remove a redundant check.
      msvcp140: Implement _File_size.
      msvcp140: Implement _Current_get.
      msvcp140: Export _Current_set.
      msvcp140: Implement _Stat and _Lstat.
      msvcp140/tests: Port test_dir_operation to msvcp140.

Vincent Povirk (2):
      gdiplus: Fix leak in widen_dashed_figure.
      gdiplus: Don't require specific gdi+ versions in metafile structures.

Zebediah Figura (17):
      msi: Correctly format the template field for MsiProcessMessage().
      msi: Allow setting NULL in MsiSetInteger().
      msi: Provide the result of the last action.
      msi: Use the given record for INSTALLMESSAGE_ACTIONDATA.
      msi: Rewrite dump_record().
      msi: Return the correct values from custom actions.
      msi: Properly parse empty format strings.
      user32: Calculate a window's minimized size even if it's already minimized.
      user32: Allow activating the desktop window.
      msi/tests: Use static linking for a couple functions.
      msi: Avoid a null pointer dereference.
      msi: Don't set _BrowseProperty.
      msi: Process ShowDialog/EndDialog after all other control events.
      msi: Don't queue a parent dialog to be shown in EndDialog.
      msi: Send the dialog created message in dialog_create().
      krnl386.exe16: Fail int 21, 4e if the volume label is an empty string.
      dbghelp: Silence a noisy FIXME.

--
Alexandre Julliard
julliard@winehq.org