Wine Announcement

The Wine development release 2.6 is now available.

What's new in this release (see below for details):
  - Multi-threaded command stream in Direct3D.
  - More Shader Model 5 instructions.
  - More support for 3D textures.
  - Better font transformations in DirectWrite.
  - 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.6 (total 25):

   2624  In dialogs, an incorrect extra WM_ERASEBKGND is sent after WM_PAINT
  22220  TNR MoonLight 2.31.122 works incorrectly
  27638  combined hindi text like nna kra causes the keyboard cursor to go far off
  29997  StudioTax 2011 crashes during installation
  30684  Mono: GroupBox draws border line after text
  38213  Japanese vertical text incorrected
  39856  Regedit: Default registry key is not the same as on Windows
  40508  The Witness: black screen on start (32-bit version)
  40628  Multiple games need msvcr110.dll.?_Id@_CurrentScheduler@details@Concurrency@@SAIXZ (World of Tanks v0.9.15, Launcher, Train Fever)
  40786  Legacy of kain Defiance to crashes when called by script
  41403  Ri-li 2.0.1: No window content shown (just title bar)
  41774  Rogue operatives - only white screen in game with HUD
  41995  Neverwinter Online broken graphics and game crash with DX11
  42352  The Solus Project: Backend can't handle opcode gather4
  42449  Multiple apps need function msvcr120.dll.fesetround (0 A.D.,
  42655  Aliens vs. Predator (2010) needs d3dx11_42.dll.D3DX11FilterTexture
  42707  World of Warships: Cannot display inventory and clan screens
  42736  scanf doesn't work as expected when using format string contains non-ascii chars
  42747  DevExpress .NET Installer needs function uiautomationcore.dll.UiaReturnRawElementProvider
  42748  Flickering, disappearing text in Steam client user interface (DirectWrite enabled)
  42762  Multiple 64-bit games no longer start with a seh unwind error (No Man's Sky (GOG), Witcher 3, Gal*Gun Double Peace)
  42774  WinHttpQueryAuthSchemes fails to return the correct supported value for multiple WWW-Authenticate
  42782  Wine iexplore crashes loading
  42799  Neverwinter Online needs SM4 retc instruction
  42803  Large data received on a 401 error causes authentication to fail


Changes since 2.5:

Alexandre Julliard (11):
      glu32: Load libGLU dynamically.
      glu32: Use the correct data types.
      glu32: Implement gluGetTessProperty.
      glu32: Implement gluCheckExtension.
      glu32: Load libGLU only when functions are actually called.
      glu32: Make gluGetString return the same data as on Windows.
      wrc: Only add translations for specific fields in version blocks.
      include: Add a glu.h header.
      glu32: Implement gluErrorString.
      glu32: Implement gluErrorUnicodeStringEXT.
      opengl32: Directly link to glu32.

Alistair Leslie-Hughes (9):
      odbccp32: Implement SQLInstallTranslator.
      winhttp/tests: Added multi Authenticate header test.
      odbccp32: Implement SQLRemoveTranslator/W.
      odbccp32: Implement SQLConfigDriver/W.
      odbccp32: Look in LOCAL_MACHINE for the driver.
      include: Add interfaces IWMHeaderInfo/2/3.
      wmvcore/tests: Add initial tests.
      winhttp/tests: Test when large amount of data is returned from a 401.
      mtxdm: Implement GetDispenserManager.

Andrew Wesie (1):
      wined3d: Support render target array index semantic value.

Andrey Gusev (2):
      uiautomationcore: Add UiaReturnRawElementProvider stub.
      d3dx11: Add D3DX11FilterTexture stub.

André Hentschel (1):
      ntdll: Bump Win 10 version to 15063.

Aric Stewart (1):
      kernel32: Improve locale detection on Android.

Austin English (1):
      joy.cpl: Sync spec file to Windows 10.

Bruno Jesus (1):
      dinput: Assume a 1-to-1 axes map when no axes match.

Christian Inci (1):
      ntdll/tests: Check debug registers of a newly created thread.

Daniel Lehman (11):
      msvcp140: Add __crtCloseThreadpoolTimer.
      msvcp140: Add __crtCloseThreadpoolWait.
      msvcp140: Add __crtWaitForThreadpoolTimerCallbacks.
      msvcp140: Add __crtFreeLibraryWhenCallbackReturns.
      msvcp140: Add __crtGetCurrentProcessorNumber.
      msvcp140: Add __crtFlushProcessWriteBuffers.
      msvcr120: Add __crtSleep.
      msvcrt: Fix build warnings.
      ucrtbase: Add _isblank_l.
      msvcrt: Add _iswctype_l.
      ucrtbase: Add _iswblank_l.

François Gouget (4):
      odbccp32/tests: Make test_SQLInstallDriverEx() static.
      kernel32/tests: A spelling fix in a comment.
      msvcp140/tests: Make chore_callback() static.
      msvcp90: {init,free}_misc() are only used with msvcp >= 100.

Hans Leidekker (9):
      include: Add missing Web Services declarations.
      webservices: Implement WsResetChannel.
      webservices: Keep track of service proxy state.
      webservices: Implement WsResetServiceProxy.
      webservices: Implement WsCreateListener and WsFreeListener.
      webservices: Implement WsGetListenerProperty and WsSetListenerProperty.
      webservices/tests: Add listener tests.
      winhttp: Ignore unknown schemes in WinHttpQueryAuthSchemes.
      winhttp: Always drain content before sending the next request.

Henri Verbeet (45):
      wined3d: Ignore the blitter's depth/colour fill return value in wined3d_device_clear_rendertarget_view().
      wined3d: Allow all formats with "glInternal" set in CheckSurfaceCapability().
      wined3d: Merge wined3d_blitter_ops.color_fill() and wined3d_blitter_ops.depth_fill().
      wined3d: Use resource.map_binding as destination location for blits to WINED3D_POOL_SYSTEM_MEM textures.
      wined3d: Implement cpu_blit_blit_surface().
      wined3d: Get rid of wined3d_select_blitter().
      wined3d: Reduce indentation in the colour blit case in wined3d_surface_blt().
      wined3d: Pass a wined3d_fb_state structure to wined3d_blitter_ops.blitter_clear().
      wined3d: Pass the draw rectangle to wined3d_blitter_ops.blitter_clear().
      wined3d: Use the blitter interface in wined3d_cs_exec_clear().
      wined3d: Send rendertarget view clears through the command stream.
      usp10: Rename the chaining context tables in GPOS_apply_ChainContextPos() to something more descriptive.
      usp10: Simplify the chaining context table assignments in GPOS_apply_ChainContextPos().
      usp10: Range check glyph counts in GPOS_apply_ChainContextPos().
      usp10: Return early if the number of positioning operations is 0 in GPOS_apply_ChainContextPos().
      wined3d: Get rid of surface_get_rect().
      usp10: Rename the chaining context tables in GSUB_apply_ChainContextSubst() to something more descriptive.
      usp10: Simplify the chaining context table assignments in GSUB_apply_ChainContextSubst().
      usp10: Range check glyph counts in GSUB_apply_ChainContextSubst().
      usp10: Avoid special handling if the substitution count is 0 in GSUB_apply_ChainContextSubst().
      wined3d: Source resources are always non-NULL in wined3d_cs_exec_blt_sub_resource().
      wined3d: Introduce a helper function to assign wined3d_box values.
      wined3d: Handle formats with conversions outside surface_upload_from_surface().
      wined3d: Assume identical source and destination formats in surface_upload_from_surface().
      wined3d: Implement partial support for 3D texture blits.
      d3d8/tests: Introduce mip-mapping to add_dirty_rect_test().
      d3d9/tests: Introduce mip-mapping to add_dirty_rect_test().
      wined3d: Validate that the source and destination dimensions match in wined3d_device_update_texture().
      wined3d: Use wined3d_texture_get_memory() in wined3d_device_update_texture_3d().
      wined3d: Merge wined3d_device_update_texture_3d() into wined3d_device_update_texture().
      wined3d: Unify the 2D and 3D paths in wined3d_device_update_texture().
      wined3d: Implement wined3d_device_update_texture() on top of wined3d_cs_emit_blt_sub_resource().
      wined3d: Require a valid destination point in surface_upload_from_surface().
      wined3d: Require a valid source rectangle in surface_upload_from_surface().
      wined3d: Invalidate sub-levels in wined3d_texture_add_dirty_region().
      wined3d: Avoid modifying the device's shader list outside the command stream.
      wined3d: Send texture dirty region updates through the command stream.
      wined3d: The destination width and height are always valid in surface_cpu_blt().
      wined3d: The source texture is always non-NULL in surface_cpu_blt().
      wined3d: Avoid updating the swapchain swap interval from outside the command stream.
      wined3d: Use the "arbfp" blitter for P8 and YUV blits.
      wined3d: Do not add wined3d internal resources to the device resource list.
      wined3d: Send flushes through the command stream.
      wined3d: Introduce a multi-threaded command stream implementation.
      wined3d: Use wined3d_texture_get_memory() in surface_convert_format().

Hugh McMaster (12):
      regedit/tests: Add import tests with various combinations of spaces and tabs.
      regedit: Skip any leading spaces and tabs that may be present in the line being parsed.
      reg/tests: Add import tests with various combinations of spaces and tabs.
      reg/tests: Add tests for importing DWORD values.
      reg/tests: Add a few more import tests.
      regedit/tests: Add tests for importing DWORD values.
      regedit/tests: Add a few more import tests.
      regedit: Re-implement convertHexToDWord().
      reg/tests: Add more REG_SZ import tests.
      reg/tests: Add some missing REG_SZ import tests from regedit.exe.
      regedit/tests: Add some REG_SZ import tests.
      comctl32: Improve right-click handling in treeview controls.

Huw D. M. Davies (12):
      wbemdisp: Add missing methods to the ISWbemObjectVtbl.
      wbemdisp: Search for the generic methods and properties as well as the dynamic ones.
      wbemdisp: Invoke the generic methods and properties as well as the dynamic ones.
      wbemdisp: Implement ISWbemObject::get_Properties_.
      wbemdisp: Implement ISWbemPropertySet::Item.
      wbemdisp: Implement ISWbemProperty::get_Value.
      gdi32/tests: Prevent a crash if the shell dlg font is not found.
      riched20: Don't compare the colours if the old and new states are both auto.
      include: Add {Is,Set}ProcessDPIAware().
      user32/tests: Correctly restore the caption sizes when run in DPI scaling mode.
      user32/tests: Fix a few failures in DPI scaling mode.
      user32/tests: Fix tests for minimium icon spacing when not in DPI scaling mode.

Jacek Caban (33):
      xmllite/tests: Use reader_value helper in one more place (Coverity).
      ws2_32: Added register_async helper.
      ws2_32/tests: Added WSARecv tests using completion function.
      ws2_32: Use register_async for WS2_async_recv.
      ws2_32: Use register_async for WS2_async_send.
      wininet: Don't use returned read size if read failed in gzip_read.
      mshtml: Added IHTMLTableCell::rowSpan property implementation.
      mshtml: Added IHTMLTableCell::colSpan property implementation.
      ws2_32: Store async callback in ws2_async_io struct.
      ntdll: Store async callback in async_fileio struct.
      ntdll: Use callback stored in async user for calling APC_ASYNC_IO.
      ntdll: Introduce server_async helper.
      server: Pass APC in async_data_t.
      server: Use stored APC in async_set_result.
      server: Removed no longed needed APC from APC_ASYNC_IO reply.
      ntdll: Remove no longer needed APC handling from APC_ASYNC_IO callbacks.
      ntdll: Remove no longer needed APC from async_fileio.
      services: Call RpcMgmtWaitServerListen in RPC_Stop.
      server: Introduce async_is_blocking helper and use it in sock_ioctl.
      server: Use async_is_blocking in queue_irp.
      server: Remove no longer needed blocking argument from ioctl fd op.
      server: Remove no longer needed blocking argument from read fd op.
      server: Remove no longer needed blocking argument from write fd op.
      server: Remove no longer needed blocking argument from flush fd op.
      server: Remove no longer needed blocking requests arguments.
      mshtml/tests: Added IMarshal and IManagedObject QueryInterface tests.
      mshtml: Silence failing QueryInterfaces common for .net applications.
      mshtml.idl: Added helper macros for element coclasses and use it where appropriate.
      mshtml.idl: Added HTMLGenericElement coclass declaration.
      mshtml.idl: Added HTMLLinkElement coclass declaration.
      mshtml.idl: Added HTMLImg coclass declaration.
      mshtml.idl: Added HTMLXMLHttpRequest coclass declaration.
      mshtml.idl: Added HTMLAnchorElement coclass declaration.

Jactry Zeng (1):
      quartz/tests: Test IFilterGraph2::RenderFile with multithread.

Jakub Bartmiński (1):
      regedit: Fall back to tree root on invalid path.

Józef Kucia (46):
      wined3d: Recognize SM5 ibfe opcode.
      wined3d: Implement SM5 ibfe instruction.
      d3d11/tests: Add test for SM5 ibfe instruction.
      d3d11/tests: Add test for stream output buffer stride equal to 0.
      d3d11: Improve arguments validation in d3d10_device_CreateGeometryShaderWithStreamOutput().
      d3d10core/tests: Port stream output tests from d3d11.
      wined3d: Avoid accessing "context->current_rt" in wined3d_rendertarget_view_get_drawable_size().
      wined3d: Introduce context_reacquire() helper function.
      wined3d: Simplify logic in wined3d_event_query_issue().
      wined3d: Store stream index in shader signature elements.
      d3d11: Parse OSG5 output signatures.
      d3d11/tests: Use SM5 geometry shader in test_geometry_shader() if possible.
      wined3d: Add support for cube shadow samplers.
      wined3d: Store render target info instead of surfaces in "blit_targets".
      wined3d: Add basic support for rendering to 3D textures.
      wined3d: Support SV_RenderTargetArrayIndex semantic for pixel shader inputs.
      wined3d: Use wined3d_texture_get_texture_name() helper in more places.
      wined3d: Simply use view size as drawable size for resources other than 2d textures.
      wined3d: Eliminate holes in wined3d_buffer structure.
      wined3d: Eliminate holes in wined3d_resource structure.
      wined3d: Eliminate holes in wined3d_shader_instruction structure.
      wined3d: Use register mask for SV_IsFrontFace pixel shader inputs.
      wined3d: Allow copying 3D texture resources.
      wined3d: Reuse view validation function for render target views.
      wined3d: Create texture views for render target views.
      wined3d: Change GL internal format for R32_TYPELESS.
      wined3d: Attach render target texture views to FBO.
      wined3d: Differentiate between single layer and layered render target views.
      wined3d: Add ARB_texture_gather extension.
      wined3d: Implement SM4.1 gather4 instruction.
      wined3d: Implement SM5 gather4_c instruction.
      wined3d: Support SM5 variant of gather4.
      wined3d: Implement SM5 gather4_po instruction.
      wined3d: Implement SM4 retc instruction.
      wined3d: Fix atomics for raw thread group shared memory.
      d3d11/tests: Add test for gather4 instructions.
      wined3d: Use ARB_explicit_attrib_location for fragment shader outputs.
      wined3d: Explicitly bind frag data location for fragment shader outputs.
      wined3d: Use GLSL 1.30 for all shaders if available.
      wined3d: Avoid using deprecated built-in shader inputs/outputs.
      wined3d: Avoid using deprecated gl_ClipVertex.
      wined3d: Generate pixel shader specific declarations in shader_glsl_generate_pshader().
      wined3d: Generate geometry shader specific declarations in shader_glsl_generate_geometry_shader().
      wined3d: Generate vertex shader specific declarations in shader_glsl_generate_vshader().
      wined3d: Add shader_precompile() to shader_backend_ops.
      wined3d: Precompile compute shaders.

Ken Thomases (1):
      winemac: Send Help key presses directly to the window, bypassing -[NSApplication sendEvent:].

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

Matteo Bruni (4):
      d3dx9: Dump preshader immediates table.
      include: Add comments for render states added with newer D3D versions.
      include: Fix render state maximum version comments.
      wined3d: Split line antialiasing to a separate state handler.

Michael Stefaniuc (5):
      kernel32/tests: Test HeapReAlloc with size 0.
      comctl32/tests: Add an ImageList_Copy() test.
      dmsynth: Don't store a SynthSink implementation in IDirectMusicSynth8Impl.
      dwrite: Use SetRectEmpty() instead of memset().
      dbghelp: Use debugstr_a() to trace a string that can be NULL.

Nikolay Sivov (28):
      xmllite: Recognize us-ascii encoding.
      xmllite/writer: Preserve original encoding name spelling in writer output.
      dwrite: Added missing max bitmap size initialization.
      shlwapi/tests: Remove workarounds for versions we don't test on anymore.
      usp10: Handle invalid arguments in ScriptIsComplex().
      dwrite: Use transformed glyph origins in glyph run analysis.
      dwrite: Use scaled font size in glyph run analysis.
      dwrite: Use user transform when rendering individual glyphs.
      d2d1: Use render target transform in bitmap text rendering mode.
      comctl32/tests: Some tests for TVM_SORTCHILDREN.
      dwrite: Classify direction control characters as complex.
      dwrite/tests: Test number of lines for a failing drawing test.
      dwrite/tests: Some bidi resolution tests.
      dwrite: Fix explicit levels returned for LRE and RLE control characters.
      gdi32: Trace charmap encoding as 4 bytes tag.
      dwrite: Initial implementation of ComputeGlyphOrigins().
      include: Update with recently added DirectWrite API.
      msxml3: Improve error handling (Coverity).
      dwrite/tests: Test locale name length in DrawGlyphRun().
      crypt32/tests: Statically link to CertAddStoreToCollection().
      ole32/tests: Test pointer returned by ProgIDFromCLSID() on failure.
      qcap/tests: Return cloned enumeration objects (Coverity).
      dwrite: Improve font objects refcounting.
      dwrite: Pass index directly to font and family creation helpers.
      dwrite: Fix file object leak.
      xmllite/reader: Fix IID argument handling in CreateXmlReader().
      xmllite/writer: Fix IID argument handling in CreateXmlWriter().
      gdi32: Fix widths returned by GetCharWidthI().

Owen Rudge (10):
      wsdapi: Add stub DLL.
      include: Add partial wsdxmldom.h.
      include: Add partial wsdtypes.h.
      include: Add partial wsdbase.idl.
      include: Add partial wsdxml.idl.
      include: Add partial wsddisco.idl.
      include: Add partial wsdapi.h.
      wsdapi: Add stub implementation of IWSDiscoveryPublisher.
      wsdapi: Add implementation of SetAddressFamily.
      wsdapi/tests: Add initial tests for WSDCreateDiscoveryPublisher.

Paul Gofman (6):
      d3dx9: Support relative addressing in preshaders.
      d3dx9/tests: Extend test for relative addressing in preshaders.
      d3dx9/tests: Add more tests for relative addressing in preshaders.
      d3dx9/tests: Add tests for effect state manager.
      d3dx9: Support effect state manager.
      d3dx9: Preserve states regardless of state manager presence.

Piotr Caban (7):
      msvcrt: Fix wide characters handling in wscanf functions.
      msvcrt: Add CurrentScheduler::GetNumberOfVirtualProcessors implementation.
      msvcrt: Improve CurrentScheduler::Get implementation.
      msvcrt: Forward remaining CurrentScheduler functions to current scheduler object.
      msvcrt: Add _Scheduler class implementation.
      msvcrt: Add _CurrentScheduler class implementation.
      msvcrt: Don't call unwind handlers when unwinding nested catch blocks.

Stefan Dösinger (10):
      comctl32/tests: Don't dump successful sequences on Windows.
      d3dx9/tests: Use float bit patterns in test_D3DXFloat_Array.
      comctl32/tests: Test messages sent to the pager child.
      comctl32/tests: Extend PGM_SETCHILD tests.
      comctl32: Don't touch the new child twice in PGM_SETCHILD.
      d3d9/tests: Relax the partially initialized varyings test.
      d3d8/tests: Relax the partially initialized varyings test.
      d3d9/tests: Allow 1.0 alpha in SM3 uninitialized varyings tests.
      d3d9/tests: Disable the SM3 uninitialized diffuse test.
      d3d9/tests: Fix stream_test cases which do not use stream 0.

Viktor Semykin (3):
      windowscodecs/tests: Test for png codec seeking too far.
      windowscodecs: Fixed loading png from streams.
      windowscodecs/tests: Test with SHCreateMemStream.

Zebediah Figura (1):
      winedump: Correctly process options for default mode.

Alexandre Julliard
[email protected]