The Wine development release 2.10 is now available.

What's new in this release (see below for details):
  - Initial version of the Android graphics driver.
  - Dictionary support in WebServices.
  - A number of Direct2D fixes.
  - User interface improvements in RegEdit.
  - OLE clipboard cache fixes.
  - Various bug fixes.

The source is available from the following locations:

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

  16948  tmpfile() fails when run from Unix path
  26388  Sound Recorder crashes on encoding PCM Sample
  31967  Unreal Engine 3 games don't render anything on OS X
  32563  Purebasic does not display icons in toolbar which is drawn distorted.
  32809  Multiple applications and games need wmvcore.dll.WMCreateWriterPriv (KwSing, iMesh 7.x)
  38093  The main character is missing/invisible in Hitchcock: The Final Cut demo
  38328  WPS 2013 (Kingsoft) crash at install
  38731  TopoEdit tool from Windows SDK 8.1 crashes on unimplemented function mf.dll.MFCreateTopology
  39064  Path of Exile: resolution other than 1024x768 causes a crash
  39367  EA Origin crashes after installing games, needs mf.dll.MFCreateMediaSession
  39998  Medieval: Total War needs conversion from B5G5R5X1 to B5G5R5A1
  41489  notepad++ escape key
  42345  Dark souls 2: Scholar of the First Sin - no video
  42421  Sniper Elite V2 has faulty color determination
  42754  Seed of Andromeda Pre-Alpha 0.2 crashes
  42807  Coda Finale: call to unimplemented function IPHLPAPI.DLL.GetIfTable2Ex
  42994  wine can't be compiled by gcc-2.95.4 (mscoree/assembly.c)
  43020  Guitar Pro 7 needs msvcp140.dll._To_wide
  43053  Overexposed scene in fr-025: the.popular.demo by farbrausch
  43097  WarBR: game (WarS v5.5 p4) crashes on start, needs WMP IOleObject::GetExtent method implementation
  43127  Multiple 64-bit applications crash with stack overflow errors when Wine is compiled with GCC 7.x (set_context_reg in ntdll/signal_x86_64.c assumes Xmm registers are aligned)

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

Changes since 2.9:

Akihiro Sagawa (2):
      kernel32/tests: Add more tests related to the zero_bits parameter.
      ntdll: Zero bits parameter must be less than 21.

Alex Henrie (1):
      adsldpc: Add stub DLL.

Alexandre Julliard (40):
      configure: Add Android driver stub.
      wineandroid: Add initial stub for the Java activity.
      wineandroid: Install libraries from the package assets if present.
      wineandroid: Add support for initializing Wine from Java.
      libwine: Handle WINEDEBUGLOG variable on Android to specify a log file.
      wineandroid: Add an initial GDI driver.
      wineandroid: Initialize screen dimensions.
      wineandroid: Add support for storing per-window driver information.
      wineandroid: Register a JNI callback for reporting desktop size changes.
      wineandroid: Add an event queue to support handling Java callbacks in the desktop thread.
      wineandroid: Create a pseudo-device to handle ioctl calls.
      wineandroid: Create the top-level view on desktop window creation.
      wineandroid: Wait until we receive the desktop size before proceeding with startup.
      wineandroid: Add Java callbacks for creating and destroying a window.
      wineandroid: Notify Java also when a window is forcefully destroyed.
      wineandroid: Add a Java callback for setting window position.
      wineandroid: Create a TextureView for every top-level window.
      wineandroid: Add a header for some of the Android native APIs and data structures.
      wineandroid: Add a JNI callback to store the native window we got from the TextureView.
      explorer: Don't forward the system tray to the display driver in desktop mode.
      wineandroid: Allocate a native window wrapper in the client process for every window.
      wineandroid: Forward native window query() calls to the desktop process.
      wineandroid: Forward native window perform() calls to the desktop process.
      wineandroid: Forward native window setSwapInterval() calls to the desktop process.
      wineandroid: Load the gralloc module in all processes.
      wineandroid: Forward native window buffer management calls to the desktop process.
      wineandroid: Implement LOCK/UNLOCK perform() functions on top of the buffer management calls.
      wineandroid: Implement window surfaces.
      wineandroid: Update the contents when we receive a new surface from Java.
      wineandroid: Implement SetWindowRgn.
      wineandroid: Implement SetLayeredWindowAttributes.
      wineandroid: Implement UpdateLayeredWindow.
      wineandroid: Implement ShowWindow to put icons off-screen.
      wineandroid: Implement SetParent and forward it to Java.
      explorer: Allow the driver to override the desktop winproc at creation time.
      wineandroid: Properly clean up windows that aren't destroyed explicitly.
      wineandroid: Implement SetCapture and store the capture window in the desktop process for global captures.
      wineandroid: Add support for mouse events.
      wineandroid: Add support for keyboard events.
      wineandroid: Implement ToUnicodeEx.

Alistair Leslie-Hughes (6):
      include/mfapi.h: Add standard GUID defines.
      wmvcore: Implement WMCreateWriterPriv.
      dplayx: First name server address may be null.
      dplayx/tests: Remove some wine_todo.
      dplayx: Implement IDirectPlay4 EnumConnections.
      dplayx: Implement IDirectPlayLobby3 EnumAddressTypes.

Andrey Gusev (5):
      api-ms-win-core-processthreads-l1-1-2: Add forwards.
      api-ms-win-security-activedirectoryclient-l1-1-0: Add dll.
      shobjidl.idl: Add IApplicationDestinations declaration.
      shell32: Add IApplicationDestinations stub.
      uxtheme/tests: Fix a typo in ok() message.

André Hentschel (2):
      iphlpapi: Add partial implementation of GetIfTable2Ex.
      ntdll: Fix Cpsr value in CONTEXT_ARM64.

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

Austin English (16):
      d3dx9_34: Sort specfile.
      d3dx9_35: Sort specfile.
      d3dx9_36: Sort specfile.
      d3dx9_37: Sort specfile.
      d3dx9_38: Sort specfile.
      d3dx9_39: Sort specfile.
      d3dx9_40: Sort specfile.
      d3dx9_41: Sort specfile.
      d3dx9_42: Sort specfile.
      d3dx9_43: Sort specfile.
      acledit: Fix ordinal ordering.
      gameux: Label ordinals.
      jsproxy: Label ordinals.
      msimg32: Label ordinals.
      wmp: Add some ordinals.
      tdh: Add stub dll.

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

Daniel Lehman (2):
      include: Add sqlucode.h.
      msvcrt: Translate SEH exception on each call to __CxxFrameHandler.

Dmitry Timoshkov (1):
      oleaut32: Add an arguments check to LoadTypeLibEx.

François Gouget (10):
      odbccp32/tests: Make test_SQLInstallTranslatorEx() static.
      wmvcore/tests: Make test_profile_manager_interfaces() static.
      oleaut32: Make VARIANT_GetLocalisedText() static.
      wsdapi: Add a trailing '\n' to a TRACE() message.
      wined3d: Add a trailing newline to an ERR() message.
      d3dx9_36: Add a trailing '\n' to a FIXME() message.
      ole32: Make bitmap_info_size() static.
      wbemdisp: Add a trailing newline to a TRACE() message.
      jscript: A spelling fix in a comment.
      configure: Set PKG_CONFIG_PATH to get the right settings for the target host.

Hans Leidekker (16):
      webservices: Add support for dictionary strings in the writer.
      webservices: Add support for dictionary strings in the reader.
      webservices: Add a builtin dictionary.
      webservices: Implement WsGetDictionary.
      msiexec: Fix parsing of command lines where quoted strings and properties are not separated by whitespace.
      include: Add missing Web Services declarations.
      webservices: Write correct envelope headers for WS_ENVELOPE_VERSION_NONE.
      webservices: Implement WsGetHeader.
      webservices: Implement WsGetCustomHeader.
      webservices: Support more text record types in the reader.
      webservices: Set SO_REUSEADDR on listener sockets.
      webservices: Restrict connections to IPv4 for now.
      webservices: Pass AI_PASSIVE when resolving the hostname for a listener socket.
      wineandroid: Implement GetKeyboardLayout.
      wineandroid: Implement VkKeyScanEx.
      wineandroid: Synchronize keyboard lock state.

Henri Verbeet (19):
      wined3d: Only warn about 0 compare functions in wined3d_gl_compare_func().
      wined3d: Validate parameter lengths in shader_sm4_read_dst_param() (AFL).
      wined3d: Validate parameter lengths in shader_sm4_read_src_param() (AFL).
      wined3d: Validate parameter lengths in shader_sm4_read_param() (AFL).
      d2d1: Take the render target transform into account when evaluating flatness in vs_code_bezier_outline[].
      d3dx9/tests: Use ARRAY_SIZE in test_D3DXSHEvalDirectionalLight().
      d3dx9/tests: Use ARRAY_SIZE in test_D3DXSHMultiply4().
      d3dx9/tests: Use ARRAY_SIZE in test_D3DXSHRotate().
      d3dx9/tests: Use ARRAY_SIZE in test_D3DXSHRotateZ().
      d3dx9/tests: Use ARRAY_SIZE in test_D3DXSHScale().
      d2d1: Implement d2d_d3d_render_target_CreateLayer().
      d2d1: Implement d2d_layer_GetSize().
      d2d1: Implement d2d_rectangle_geometry_GetBounds().
      d2d1: Implement d2d_transformed_geometry_GetBounds().
      d2d1: Implement d2d_rectangle_geometry_Simplify().
      d2d1: Implement d2d_transformed_geometry_Simplify().
      d2d1: Implement d2d_path_geometry_Simplify().
      d2d1: Fix the segment count for open figures.
      wined3d: Use WINED3D_CS_QUEUE_MAP for WINED3D_CS_OP_UPDATE_SUB_RESOURCE.

Hugh McMaster (30):
      regedit: Move the listview's NM_SETFOCUS handling to listview.c.
      regedit: Allow handling of return values from listview notification messages.
      regedit: Update a value name without refreshing the listview.
      regedit: Add listview entries without refreshing the listview.
      regedit: Update the data in a listview subitem without refreshing the listview.
      regedit: Delete a listview item without refreshing the listview.
      regedit: Update the status bar when moving to the 'Computer' root node.
      regedit: Never disable the 'Find' and 'Find Next' menu items.
      regedit: Update handling of the 'Delete' menu item.
      regedit: Update handling of the 'Rename' menu item.
      regedit: Update handling of the 'Copy Key Name' menu item.
      regedit: Fix handling of 'Copy Key Name' menu items.
      regedit: Add status bar text for adding a new expandable string value.
      regedit: Add status bar text for the 'Modify Binary Data' menu item.
      regedit: Update some resource strings.
      regedit: Update handling of the new subkey and new value menu items.
      regedit: Update handling of the 'Modify' menu item.
      regedit: Re-implement favourite registry key handling.
      regedit: Use the treeview item label in the 'Favourites' menu instead of the key path.
      regedit: Only show the 'Modify' menu items when the listview has focus.
      regedit: Update handling of the 'Modify' menu items.
      regedit: Use shared code to add favourite key items to the 'Remove' listbox.
      reg/tests: Add tests for key creation and deletion.
      reg/tests: Add tests for deleting registry values during the import operation.
      regedit/tests: Add tests for key creation and key deletion.
      regedit/tests: Add tests for value deletion.
      regedit: Do not create registry keys that end without a closing bracket.
      regedit: Do not use REG_NONE as the default data type if strtoulW() fails.
      reg/tests: Remove un-needed tab characters from some keys in the key deletion tests.
      regedit/tests: Remove an un-needed tab character from a key in the key deletion tests.

Huw D. M. Davies (15):
      riched20: The background colour is set using \highlight.
      user32: Allow button-down events on the system menu to continue tracking.
      user32: A second button-up on the system menu should end the tracking.
      user32: A button-up in the menu-bar, but not on an item, should stop the tracking.
      user32: Use the original message's wparam during the double-click comparison.
      user32: End the tracking on a system menu double-click.
      ole32: Fix incorrectly assigned member in the presentation stream.
      ole32: Start allocating regular cache entries with id of 2.
      ole32: Add the ability to create an entry without returning it.
      ole32: Create initial cache entries for the CLSID_Picture_ classes.
      ole32/tests: Add tests for automatic cache entry creation.
      ole32: InitNew() should fail if there is a current storage.
      ole32/tests: Add tests for InitNew().
      wineandroid: The event list may have been altered by a recursive call, so restart the loop from the beginning.
      wineandroid: Tell git diff about java files.

Jacek Caban (27):
      oleaut32/tests: Use static oleaut32 linking in vartest.c.
      wininet: Correctly handle redirects to non-http URLs.
      wininet/tests: Added a helper for testing INTERNET_OPTION_URL.
      wininet/tests: Create events once for all tests.
      wininet/tests: Introduce open_socket_request helper.
      wininet/tests: Added redirection tests using test server.
      wmp: Added IOleObject::GetExtent and SetExtent implementation.
      rpcrt4: Store server thread handle in RpcServerProtseq.
      rpcrt4: Store listening pipe name in RpcConnection_np.
      rpcrt4: Recreate listening pipe in rpcrt4_protseq_np_get_wait_array if needed.
      rpcrt4: Wait for all active connections to be released before quiting server thread.
      rpcrt4: Wait for server threads to finish in RpcMgmtWaitServerListen.
      rpcrt4/tests: Added more server stopping tests.
      urlmon.idl: Added IBindCallbackRedirect declaration.
      mshtmhst.idl: Added missing DOCHOSTUIFLAG values.
      urlmon/tests: Get rid of debug leftovers.
      urlmon.idl: Added BINDINFO_OPTIONS declaration.
      urlmon: Added support for BINDINFO_OPTIONS_DISABLEAUTOREDIRECTS in http protocol handler.
      urlmon/tests: Added test of hanling BINDINFO_OPTIONS_DISABLEAUTOREDIRECTS by http protocol provider.
      urlmon: Release previously set URI in BindProtocol::StartEx.
      urlmon: Added a helper function for releasing protocol handler.
      urlmon: Support BINDINFO_OPTIONS_DISABLEAUTOREDIRECTS in BindProtocol object.
      urlmon/tests: Added BindProtocol redirection handling tests.
      mshtml: Added IBindCallbackRedirect implementation.
      mshtml: Added DOCHOSTUIFLAG_ENABLE_REDIRECT_NOTIFICATION flag support.
      rpcrt4: Fix a race when server grabs a connection from the list of active connections.
      rpcrt4: Change RPCRT4_ReleaseConnection return type to void.

Josh DuBois (2):
      wineandroid: Implement GetKeyNameText.
      wineandroid: Implement MapVirtualKeyEx.

Józef Kucia (26):
      wined3d: Require just specific OpenGL extensions and SM4 support for SM5.
      wined3d: Introduce query operation to destroy queries.
      wined3d: Trace color fixup checks in apply_format_fixups().
      wined3d: Do not bother to check identity fixup support.
      wined3d: Remove outdated comment in CheckRenderTargetCapability().
      d3d11/tests: Prefer D3D11 enum values.
      wined3d: Fix FFP lighting.
      wined3d: Bind frag data location for core context draw quad shader.
      wined3d: Use ARRAY_SIZE() in init_format_filter_info().
      wined3d: Use ARRAY_SIZE() in wined3d_format_get_color_key_conversion().
      user32: Fix memory leak in WinHelpA().
      wined3d: Prefer GLSL 1.50 shaders in draw_test_quad().
      d3d8: Validate adapter format in CheckDeviceFormat().
      wined3d: Extend wined3d_check_device_format() to allow querying general format support.
      d3d11: Partially implement d3d11_device_CheckFormatSupport() on top of wined3d_check_device_format().
      wined3d: Correctly handle phase instance ID register when ARB_shading_language_pack420 is not supported.
      d3d11/tests: Introduce get_query_data() helper function.
      wined3d: Introduce get_query_result64() helper function.
      wined3d: Rearrange wined3d_query_type enum values.
      d3d11/tests: Add additional test for pipeline statistics query with no pixel shader.
      d3d11/tests: Fix ok() checks in test_timestamp_query().
      d3d10core/tests: Introduce get_query_data() helper function.
      d3d11: Implement d3d11_query_GetDesc().
      d3d11: Implement d3d10_query_GetDesc().
      d3d11: Fixup D3D10_QUERY_PIPELINE_STATISTICS data.
      d3d10core/tests: Port test_pipeline_statistics_query() from d3d11.

Ken Thomases (2):
      ntdll: On macOS, don't use clock_gettime() even if it's available.
      server: On macOS, don't use clock_gettime() even if it's available.

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

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

Marcin Mikołajczak (1):
      po: Updated Polish translation.

Marcus Meissner (1):
      hid: Increase buffer size to allow 16bit value + space + NUL (GCC7).

Michael Müller (4):
      wined3d: Don't leak free_so_statistics_queries on device destruction.
      include: Fix definition of EXTERN_GUID.
      wined3d: Implement WINED3D_QUERY_TYPE_PIPELINE_STATISTICS.
      d3d11/tests: Add basic test for D3D11_QUERY_PIPELINE_STATISTICS.

Nikolay Sivov (33):
      dwrite: Grab font data reference when adding replacement.
      comctl32: Change some overly exciting tracing messages.
      include: Added IMFSourceResolver definition.
      mfplat: Return stub IMFSourceResolver from MFCreateSourceResolver().
      comctl32/toolbar: Don't add NULL imagelist entries.
      comctl32/toolbar: Support undocumented IDs for standard bitmap lists.
      comdlg32: Simplify notification helper.
      comdlg32: Improve tracing messages.
      include: Add some missing Common Controls definitions.
      comctl32/taskdialog: Added TaskDialog() export.
      mf: Added MFCreateTopology and stub IMFTopology implementation.
      include: Added CreateSymbolicLink() flag.
      po: Update Russian translation.
      mf: Added IMFMediaSession stub.
      shell32: Avoid zero length allocations when converting path in ExtractIconA() (Valgrind).
      d3drm/tests: Some tests for creating texture from ddraw surface.
      d3drm: Implement CreateTextureFromSurface() and related methods.
      d3drm: Fix IDirect3DRMMesh::QueryInterface to support IDirect3DRMObject and IDirect3DRMVisual.
      d3drm: Fix IDirect3DRMMeshBuilder::QueryInterface to support IDirect3DRMObject and IDirect3DRMVisual.
      inetcomm/tests: Return interface pointer for test stream.
      inetcomm: Release previously set data (Valgrind).
      inetcomm: Implemented IMimeBody::GetClassID().
      d3drm: Consolidate GetClassName() implementation, reduce tests duplication.
      d3drm/tests: Added a helper to create test window.
      mpr/tests: Remove NT4 version check.
      oleaut32/tests: Basic test for invalid arguments in LoadTypeLib/LoadTypeLibEx.
      po: Update Russian translation.
      d3drm: Use consistent naming for mesh builder implementation pointers.
      d3drm: Implement AddVertex() for mesh builder.
      d3drm: Implement AddNormal() for mesh builder.
      shell32: Use IS_INTRESOURCE() to test context menu verb kind.
      d3drm: Make it possible to create faces with CreateObject().
      d3drm: Make it possible to create mesh builder with CreateObject().

Owen Rudge (11):
      wsdapi: Implement AddNamespace.
      wsdapi: Implement AddNameToNamespace.
      wsdapi: Create default XML context in WSDCreateDiscoveryPublisher if required.
      include: Add definitions for IWSDUdpAddress, IWSDTransportAddress.
      wsdapi: Add stub implementation of IWSDUdpAddress.
      wsdapi/tests: Add WSDCreateUdpAddress tests.
      wsdapi/tests: Add tests for Get/SetTransportAddress.
      wsdapi/tests: Add tests for Get/SetPort.
      wsdapi/tests: Add tests for Get/SetMessageType.
      wsdapi/tests: Add tests for Get/SetSockaddr.
      include: Add IWSDUdpMessageParameters interface declaration.

Paul Gofman (14):
      d3dx9: Get rid of table lookup for converting between register indexes and offsets.
      d3dx9: Factor out get_const_upload_info() function.
      d3dx9: Factor out table_type_from_param_type() function.
      d3dx9: Precompute and store a constant direct copy flag.
      d3dx9: Don't add const setting entries with zero count.
      d3dx9: Merge constant setting for child parameters when possible.
      d3dx9: Limit constant size by register count instead of table size.
      d3dx9/tests: Remove a leftover todo_wine_if in test_effect_preshader().
      d3dx9/tests: Extend test for boolean matrix constant setting.
      d3dx9/tests: Factor out test_effect_preshader_clear_pbool_consts() function.
      d3dx9/tests: Factor out test_effect_preshader_compare_pbool_consts() function.
      d3dx9/tests: Initialize boolean constants with the inverse of expected result.
      d3dx9/tests: Add tests for updating boolean matrices on CommitChanges.
      d3dx9: Remove redundant FIXME in set_constants().

Piotr Caban (4):
      winemac: Don't update clipboard if its content didn't change.
      include: Add __EXCEPT_CTX/__FINALLY_CTX macros.
      msvcrt: Use temp directory when creating file in tmpfile.
      msvcrt: Translate SEH exception on each call to __CxxFrameHandler (i386).

Sebastian Lackner (4):
      winex11.drv: Fix compilation when XFixes is not present.
      kernel32: Add missing WINAPI to SetThreadIdealProcessorEx implementation.
      d3d11: Remove duplicate const in d3d11_device_CheckFormatSupport.
      ntdll: Do not cast unaligned pointer to M128A in set_context_reg.

Stefan Dösinger (1):
      msvcp140: Implement _To_wide.

Zebediah Figura (9):
      user32/tests: Add tests for minimizing MDI windows.
      msacm32: Don't write cbSize if the format is WAVE_FORMAT_PCM.
      msacm32: Add more invalid parameter checks for acmFormatEnum().
      msacm32: Add invalid parameter checks for acmFormatDetails().
      msacm32: Add more invalid parameter checks for acmFormatSuggest().
      msacm32: Try to suggest PCM to PCM conversion first.
      imaadp32.acm: Fix block size calculations.
      imaadp32.acm: Fix nibble ordering.
      msacm32: Check correct variable.

--
Alexandre Julliard
julliard@winehq.org
