Wine Announcement

The Wine development release 2.9 is now available.

What's new in this release (see below for details):
  - Support for tesselation shaders in Direct3D.
  - Binary mode support in WebServices.
  - Clipboard changes detected through Xfixes.
  - User interface improvements in RegEdit.
  - 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.9 (total 38):

  24698  Explorer++ doesn't show file icons
  32473  Acoustica Mixcraft 6 crashes when loading project containing video (DirectShow Editing Services missing 'AMTimeline' class, '{78530b75-61f9-11d2-8cad-00a024580902}', 'qedit.dll')
  33844  Grandia 2 whiteout.
  34850  Improve commctl32 TaskDialogIndirect stub to show "content" part in task dialog box (more detailed error messages for various apps/games)
  35529  Uninstaller: application list doesn't fit
  37405  The entry "My Computer" in regedit is handled like a registry key
  38980  World of Warships/Planes/Tanks client in torrent download mode crashes spuriously on high bandwidth load (i/o completion ports)
  39153  Tomb Raider last edition  2013 (Steam version) crashes while starting
  41091  1nsane ( crashes after launch
  41184  DX11 Tesselation tutorial doesn't work correctly
  41837  Way of the Samurai 4 has black blocks in the main menu without native d3dx9
  41908  WeChat can't display and send emoticons.
  42080  Listview does not draw correctly in some conditions.
  42186  Uplay games don't work anymore since latest update
  42292  The Witcher 3 fails to render correctly after starting a new game
  42296  avast installer doesnt start (needs LdrEnumerateLoadedModules)
  42348  League of legends installer: "Invalid command line"
  42410  Banished (DX11) renders broken geometry (regression)
  42673 no longer runs after Wow Legion update
  42708  Soul Reaver GOG Cinematics stopped working
  42783  Terragen 4 needs function KERNEL32.dll.GetActiveProcessorGroupCount
  42846  GT Challenge (Boxrun) crashes
  42873  Need for Speed: The Run crashes when reacquiring query context
  42900  The Testament of Sherlock Holmes rendering issue
  42922  GMATPrep 2.4.323 fails to install
  42937  Multiply games stuck with stack overflow when using OffscreenRenderingMode=backbuffer
  42940  WAtomic: White labels that show name of elements hidden by GL components
  42966  World/models are upside-down in multiply games when using ORM=backbuffer
  42985  Rise of the Tomb Raider needs unimplemented function USER32.dll.GetPhysicalCursorPos
  42993  wine can't be compiled by gcc-2.95.4 (gdiplus/metafile.c)
  43005  secur32/tests/ntlm.ok crashes in DeleteSecurityContext
  43012  FFXIV (Realm Reborn) requires patch list primitive type support
  43019  redefinition of typedef 'QWORD' (wine compilation fails with gcc 4.2.1)
  43023  Applications using Windows Script Host Shell Object crash due to added IProvideClassInfo support
  43026  SP+ maker won't run.
  43039  Rise of the Tomb Raider needs unimplemented function USER32.dll.PhysicalToLogicalPoint
  43048  regedit crashes exporting any HKEY_* entry
  43062  Installer from displays black rectangles


Changes since 2.8:

Akihiro Sagawa (15):
      oleaut32: Fix parse error when converting non-ascii string to VT_DATE.
      crypt32: Use isspaceW() instead of isspace() for WCHARs.
      midimap: Avoid using isdigit() for WCHARs.
      dbghelp: Avoid using isdigit() for WCHARs.
      ntdll: Avoid using isdigit() for WCHARs.
      secur32: Use isspaceW() instead of isspace() for WCHARs.
      shell32: Avoid using isspace() for WCHARs.
      shlwapi: Use isalnumW() instead of isalnum() for WCHARs.
      msstyles: Avoid using isspace() for WCHARs.
      wordpad: Avoid using isspace() for WCHARs.
      wininet: Use isspaceW() instead of isspace() for WCHARs.
      explorer: Avoid using isspace() for WCHARs.
      xcopy: Avoid using isdigit() for WCHARs.
      mscoree: Avoid using isdigit() for WCHARs.
      msi: Avoid using isspace()/isdigit() for WCHARs.

Alex Henrie (4):
      mountmgr: Name DosDevices constants consistently.
      ntdll/tests: Dump entire VM_COUNTERS structure.
      ntdll: Always fill PagefileUsage counter with a nonzero value on Linux.
      comctl32/listview: When adding a scrollbar, update the other one.

Alexandre Julliard (9):
      configure: Make warning messages consistent.
      configure: Don't require X11 if we can build the Mac driver.
      d3dx9: Check for missing log2 function.
      wineconsole: Avoid some fatal errors.
      wineconsole: Remove duplicate line feeds.
      gdi32: Return more meaningful data in the null driver GetDeviceCaps implementation.
      winex11: Fall back to the null driver for common device capabilities.
      wsdapi/tests: Remove tests that use uninitialized variables.
      server: Don't increment the clipboard sequence number for delayed rendering or synthesized formats.

Alistair Leslie-Hughes (6):
      include/wmsdkidl.idl: Stop redefinition of QWORD.
      oleaut32: Remove dead code.
      include/mfreadwrite.idl: Add interface IMFSinkWriter.
      oleaut32: Use VariantChangeTypeEx to convert to VT_BOOL.
      wined3d: Allow passing NULL to context_reacquire().
      oleaut32/tests: Add more VarCat tests.

André Hentschel (2):
      cryptnet: Fix CryptGetObjectUrl spec file entry.
      wsdapi: Fix WSDXMLBuildAnyForSingleElement spec file entry.

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

Austin English (32):
      user32: Add GetPhysicalCursorPos/SetPhysicalCursorPos stubs.
      advapi32: Sort specfile.
      advpack: Sort specfile.
      apphelp: Sort specfile.
      cfgmgr32: Sort specfile.
      crypt32: Sort specfile.
      api-ms-win-core-shlwapi-obsolete-l1-1-0: Sort specfile.
      api-ms-win-core-com-private-l1-1-0: Sort specfile.
      api-ms-win-core-localization-private-l1-1-0: Sort specfile.
      api-ms-win-core-misc-l1-1-0: Sort specfile.
      api-ms-win-core-windowserrorreporting-l1-1-0: Sort specfile.
      api-ms-win-devices-config-l1-1-1: Sort specfile.
      api-ms-win-downlevel-advapi32-l1-1-0: Sort specfile.
      api-ms-win-downlevel-ole32-l1-1-0: Sort specfile.
      api-ms-win-downlevel-shlwapi-l1-1-0: Sort specfile.
      api-ms-win-dx-d3dkmt-l1-1-0: Sort specfile.
      api-ms-win-mm-misc-l1-1-1: Sort specfile.
      user32: Add LogicalToPhysicalPoint/PhysicalToLogicalPoint stubs.
      kernel32: Add GetActiveProcessorGroupCount stub.
      kernel32: Add GetActiveProcessorCount stub.
      kernel32: Add SetThreadIdealProcessorEx stub.
      d3dx9_24: Sort specfile.
      d3dx9_25: Sort specfile.
      d3dx9_26: Sort specfile.
      d3dx9_27: Sort specfile.
      d3dx9_28: Sort specfile.
      d3dx9_29: Sort specfile.
      d3dx9_30: Sort specfile.
      d3dx9_31: Sort specfile.
      d3dx9_32: Sort specfile.
      d3dx9_33: Sort specfile.
      comsvcs: Label ordinal.

Bas Weelinck (1):
      cmd: Detect and handle start console title.

Hans Leidekker (19):
      webservices: Move the reader to the next node in WsCopyNode.
      webservices: Properly handle readers positioned at BOF or EOF in WsCopyNode.
      webservices: Treat empty prefixes as NULL.
      webservices: Fix duplicating attributes.
      webservices: Use a WS_BYTES structure to store XML buffer data.
      webservices: Implement WS_XML_WRITER_PROPERTY_BUFFERS.
      include: Add missing Web Services declarations.
      webservices: Implement WsSkipNode.
      webservices: Add initial support for binary XML in the writer.
      webservices: Add support for writing namespace attributes in binary mode.
      webservices: Set namespace attributes for prefixes introduced by attributes.
      webservices: Add support for writing attributes and text in binary mode.
      webservices: Add support for writing comments in binary mode.
      webservices/tests: Add a test to show that the reader converts text to UTF-8.
      webservices: Add initial support for binary XML in the reader.
      webservices: Add support for reading attributes in binary mode.
      webservices: Add support for reading text in binary mode.
      webservices: Add support for reading comments in binary mode.
      webservices/tests: Add more binary mode reading tests.

Henri Verbeet (19):
      wined3d: Allow (some) blits with fixups in the arbfp and ffp blitters with ORM_BACKBUFFER.
      wined3d: Only translate coordinates for swapchain surfaces in surface_translate_drawable_coords().
      wined3d: Clarify the status of ORM_BACKBUFFER.
      wined3d: Introduce a separate CS queue for resource maps.
      d2d1: Implement initial support for quadratic bezier outlines.
      wined3d: Just fail if looking up the guessed GPU info fails in wined3d_adapter_init_gl_caps().
      wined3d: Add a conversion function for WINED3DFMT_X8D24_UNORM.
      wined3d: Only warn about unsupported input streams in fixed_get_input().
      wined3d: Only warn about 0 blend factors in gl_blend_factor().
      wined3d: Only warn about 0 blend ops in gl_blend_op().
      d3dx9/tests: Use ARRAY_SIZE in test_D3DXSHEvalHemisphereLight().
      d3dx9/tests: Use ARRAY_SIZE in test_D3DXSHEvalSphericalLight().
      d3dx9/tests: Use ARRAY_SIZE in test_D3DXSHMultiply2().
      d3dx9/tests: Use ARRAY_SIZE in test_D3DXSHMultiply3().
      wined3d: Fix "sysmem_count" accounting in wined3d_texture_invalidate_location().
      wined3d: Validate constant buffer alignment.
      d3d11/tests: Add a test for constant buffer alignment.
      d3d10core/tests: Add a test for constant buffer alignment.
      wined3d: Only warn about 0 stencil ops in gl_stencil_op().

Hugh McMaster (24):
      uninstaller: Pass RegQueryValueExW() the size of the buffer (Coverity).
      regedit/tests: Add tests for key name and value name concatenation.
      regedit/tests: Test if REG_SZ and REG_DWORD support line concatenation.
      regedit/tests: Test whether blank lines affect multi-line concatenation.
      regedit/tests: Add tests for importing REG_NONE data.
      regedit/tests: Add tests for importing REG_EXPAND_SZ data.
      regedit/tests: Add tests for importing REG_BINARY data.
      comctl32/tests: Add tests for mouse right-click in a treeview control.
      reg/tests: Add tests for key name and value name concatenation.
      reg/tests: Test if REG_SZ and REG_DWORD support line concatenation.
      reg/tests: Test whether blank lines affect multi-line concatenation.
      reg/tests: Add tests for importing REG_NONE data.
      reg/tests: Add tests for importing REG_EXPAND_SZ data.
      reg/tests: Add tests for importing REG_BINARY data.
      reg/tests: Remove two un-needed concatenation backslashes and fix some copy/paste errors.
      regedit/tests: Re-order the REG_NONE import tests and fix some copy/paste errors.
      regedit: Always assign focus to the default value when refreshing the listview.
      regedit: Re-select the listview item after renaming is complete.
      regedit: Update and sort the pop-up menus.
      regedit: Only show the 'New' pop-up menu when right-clicking beneath the listview item list.
      regedit: Remove duplicate HINSTANCE declaration from main.h.
      regedit: Add 'Expand' and 'Collapse' options to the treeview pop-up menu.
      regedit: Use a separate pop-up menu for the 'Computer' root node.
      regedit/tests: Add tests for importing Windows 3.1 registry data.

Huw D. M. Davies (11):
      ole32: Add a helper to copy FORMATETC structures.
      ole32: Use the helper function to copy the datacache's FORMATETC.
      ole32: Use the helper function to copy the clipboard's FORMATETC.
      ole32: Set the advise flags in CreateEntry().
      ole32: Don't cache the BITMAPFILEHEADER.
      ole32: Fix up the dib's resolution on loading.
      ole32: OleUninitialize() does not release the reference to the clipboard's source dataobject.
      ole32: Check the cache entry's stgmedium for the unloaded state.
      ole32: Implement IOleCache_EnumCache().
      ole32: Create CF_DIB and CF_BITMAP entries when either is cached.
      ole32: Synthesize dibs or bitmaps as appropriate.

Jacek Caban (22):
      d3d11.idl: Added D3D11_QUERY_DATA_PIPELINE_STATISTICS declaration.
      ws2_32: Don't try to match host name in getaddrinfo if AI_NUMERICHOST hint is specified.
      rpcrt4: Always use winsock for networking.
      rpcrt4: Use standard Wine list to store connections in RpcServerProtseq.
      kernel32/tests: Added more PeekNamedPipe tests.
      kernel32/tests: Run test_overlapped_transport in byte mode.
      rpcrt4: Simplify rpcrt4_conn_np_write implementation.
      rpcrt4: Simplify rpcrt4_conn_np_read implementation.
      rpcrt4: Use named pipe in overlapped mode.
      rpcrt4: Use non-blocking listening on named pipes.
      rpcrt4: Cache event handle in RpcConnection_np object.
      rpcrt4: Implement cancel_call for named pipes.
      rpcrt4: Remove no longer needed helpers.
      rpcrt4: Renamed connections list to listeners.
      rpcrt4: Use HEAP_ZERO_MEMORY to alloc RpcConnection objects.
      rpcrt4: Remove connection from list in RPCRT4_ReleaseConnection.
      rpcrt4: Store all active connections in RpcServerProtseq.
      rpcrt4: Introduce op for closing connection read end and use it when shutting down server.
      rpcrt4: Add close_read implementation for named pipe connections.
      rpcrt4: Add close_read implementation for TCP connections.
      rpcrt4: Use HEAP_ZERO_MEMORY to alloc RpcServerProtseq objects.
      ws2_32: Added GetAddrInfoExCancel stub implementation.

Józef Kucia (46):
      gdiplus: Fix compilation on systems that don't support nameless unions.
      d3d11/tests: Remove dead assignments.
      d3d10core/tests: Introduce check_interface() helper.
      wined3d: Enable GL_ARB_compute_shader unconditionally in compute shaders.
      wined3d: Print FIXME() for unknown SM4+ primitive types.
      wined3d: Recognize SM5+ patch input primitive types.
      wined3d: Add checkGLcall() to wined3d_unordered_access_view_clear_uint().
      wined3d: Ignore dcl_index_range instruction in GLSL backend.
      d3d11: Make "offsets" optional in d3d11_immediate_context_SOSetTargets().
      wined3d: Handle tessellation shaders registers.
      wined3d: Generate code for domain shaders.
      d3d11/tests: Port test_clear_state() from d3d10core.
      wined3d: Invalidate domain shader state regardless of ARB_clip_control support.
      wined3d: Fill whole structure in find_ds_compile_args().
      wined3d: Handle dcl_output_control_point_count instruction.
      wined3d: Generate rasterizer setup in domain shaders only when necessary.
      wined3d: Fix tracing of continuec instruction.
      d3d10core/tests: Strip shaders bytecode.
      d3d11/tests: Strip shaders bytecode.
      wined3d: Change vPrim register data type to signed integer.
      wined3d: Recognize hull shader phases.
      wined3d: Add support for patch list primitive type.
      wined3d: Update vertex shader when hull shader is changed.
      wined3d: Generate code for hull shaders.
      wined3d: Handle hull shader control point outputs.
      wined3d: Mark some hull shader declarations as no-op in GLSL backend.
      wined3d: Implement instancing for fork phases.
      wined3d: Implement instancing for join phases.
      wined3d: Fix wined3d_sysval_semantic values for tessellation factors.
      wined3d: Implement patch constant registers.
      wined3d: Implement temporary registers per phase.
      wined3d: Add support for output registers relative addressing.
      d3d11/tests: Add additional test for occlussion query.
      d3d11/tests: Add basic test for quad tessellation.
      include/d3d9: Update D3DQUERYTYPE enum.
      d3d9/tests: Use ARRAY_SIZE() macro in device tests.
      d3d9/tests: Add test for invalid query types.
      wined3d: Generate variables for control point phase temporary registers.
      wined3d: Do not use "temporary" bit field for SM4+ shaders.
      wined3d: Avoid barrier() in tessellation control shader if possible.
      wined3d: Implement hull shader vocp register.
      d3d11/tests: Do not recreate SO buffer in test_quad_tessellation().
      d3d9: Validate D3DQUERYTYPE.
      wined3d: Implement SO statistics queries.
      wined3d: Try harder to keep the current context.
      d3d11: Add support for D3D11_QUERY_SO_STATISTICS_STREAM{0, 1, 2, 3} queries.

Ken Thomases (3):
      winemac: Move the logic for posting a KEYBOARD_CHANGED event if the keyboard type changes into the setter of the keyboardType property.
      winemac: Ignore spurious or redundant notifications that the keyboard input source changed.
      winemac: Fall back to the null driver for common device capabilities.

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

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

Nikolay Sivov (18):
      wshom: Fix IWshShell3::Invoke() call to use correct implementation pointer.
      comctl32/tests: Remove some dead code (Coverity).
      rpcrt4/tests: Added missing assignment (Coverity).
      dwrite/tests: Fix rendering mode variable type (Coverity).
      dwrite: Fix locale data buffer length passed to GetLocaleInfoEx().
      dplayx/tests: Added missing assignment (Coverity).
      dpnet/tests: Added missing assignment (Coverity).
      comctl32/tests: Remove useless rand() calls (cppcheck).
      regedit: Fix a crash when exporting from top level key.
      appwiz.cpl: Make list selection always visible, enable full row selection mode.
      msvcp140/tests: Avoid filling value truncation in memset (Coverity).
      uiautomationcore: Added UiaRaiseAutomationEvent stub.
      comctl32/listview: Search through all items in LVFI_NEARESTXY mode.
      comctl32/tests: A bit more tests for partial strings in LVM_FINDITEM.
      comctl32/listview: Simplify a couple of conditions that are using LVFI_PARTIAL.
      shell32/tests: Remove null check after dereference (Coverity).
      comctl32/taskdialog: Display content text label.
      po: Update Russian translation.

Owen Rudge (4):
      webservices: Write empty prefix if "prefix" is NULL and "ns" is empty.
      wsdapi: Add initial implementation of IWSDXMLContext and WSDXMLCreateContext.
      wsdapi/tests: Add tests for IWSDXMLContext_AddNamespace.
      wsdapi/tests: Add tests for IWSDXMLContext_AddNameToNamespace.

Paul Gofman (15):
      d3dx9/tests: Add more tests for out of bounds array selector.
      d3dx9: Use versioned parameter updates instead of 'dirty' flags.
      d3dx9: Match native out of bounds array selector index handling.
      d3dx9: Factor out regstore_set_modified_reg() function.
      d3dx9: Avoid redundant constant tables updates.
      d3dx9: Loop through input parameters in is_const_tab_input_dirty().
      d3dx9: Add 'asin' preshader opcode.
      d3dx9: Add 'acos' preshader opcode.
      d3dx9: Add 'atan' preshader opcode.
      d3dx9: Add 'atan2' preshader opcode.
      d3dx9: Add 'div' preshader opcode.
      d3dx9: Fix NAN handling in 'cmp' preshader opcode.
      d3dx9: Use pass update version for detecting updated FXLC parameter.
      d3dx9/tests: Check pixel shader sampler states in test_effect_commitchanges().
      d3dx9/tests: Use static test blob in test_effect_preshader_ops().

Piotr Caban (5):
      user32: Don't load GetClipboardSequenceNumber dynamically in tests.
      user32: Test clipboard sequence number for synthesized data.
      user32: Test clipboard sequence number for delayed rendered data.
      configure: Add configure checks for Xfixes library.
      winex11: Implement clipboard changes tracking using xfixes extension.

Sebastian Lackner (1):
      appwiz.cpl: Use sha256 checksums to validate Mono/Gecko downloads.

Stefan Dösinger (6):
      ws2_32: Don't post completion packet if receiving fails with error immediately.
      msvcp: Implement the wchar version of _Open_dir.
      msvcp: Implement the wchar version of _Read_dir.
      msvcp140: Implement _Close_dir.
      iphlpapi: Implement if_nametoindex.
      msvcp140: Implement _Make_dir.

Sven Hesse (13):
      wined3d: Implement SM4 continuec opcode.
      d3d11/tests: Add test for the SM4 instruction continuec.
      wined3d: Implement SM5 gather4_po_c opcode.
      d3d11/tests: Add tests for SM5 instructions gather4_c/gather4_po_c.
      d3d10core/tests: Port SM4 continuec instruction test from d3d11.
      wined3d: Add EXT_texture_shared_exponent extension.
      wined3d: Add support for WINED3DFMT_R9G9B9E5_SHAREDEXP.
      d3d10core/tests: Add R9G9B9E5_SHAREDEXP to test_create_texture2d.
      d3d10core/tests: Add R9G9B9E5_SHAREDEXP to test_create_texture3d.
      d3d10core/tests: Add R9G9B9E5_SHAREDEXP to test_texture.
      d3d11/tests: Add R9G9B9E5_SHAREDEXP to test_create_texture2d.
      d3d11/tests: Add R9G9B9E5_SHAREDEXP to test_create_texture3d.
      d3d11/tests: Add R9G9B9E5_SHAREDEXP to test_texture.

Vincent Povirk (1):
      gdiplus: Check SHADEBLENDCAPS only for printer devices.

Zebediah Figura (3):
      secur32/tests: Zero-initialize contexts.
      kernel32: Implement bytes left in PeekNamedPipe().
      kernel32/tests: Test bytes left in PeekNamedPipe().

Alexandre Julliard
[email protected]