The Wine development release 2.4 is now available.

What's new in this release (see below for details):
  - Built-in implementation of cryptographic hashes.
  - Mono engine updated with upstream fixes.
  - More Direct3D command stream work.
  - Simulated bold and italic in DirectWrite.
  - Improvements to the XML reader.
  - Various bug fixes.

The source is available from the following locations:

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

  10858  BlueByte Game Channel fails to install
  14371  cleanup undefined members in vartest
  29133  Gómez PEER fails to update
  30378  Xuzhou network client crashes at start
  33987  Secret Files 3 demo shows only some parts of background in ConfigTool
  36599  winhttp/tests/winhttp.c: test_secure_connection() fails under valgrind
  36600  valgrind shows a possible leak in winhttp/tests/winhttp.c
  36608  valgrind shows a definite leak in xmllite/tests/writer.c
  37436  Aliens vs. Predator (2010, Steam) crashes when loading save game
  38793  Lotus Smartsuite 3.1 installer reports insufficient disk space
  39685  Multiple applications crash on startup, need unimplemented function msvcr120.dll.??0event@Concurrency@@QAE@XZ (Rollcage Redux v1.3.8, ARC client, Playstation Now)
  40798  ACDSee Pro 9 (64-bit) needs msvcr120.dll.??0event@Concurrency@@QEAA@XZ
  40910  The Next BIG Thing can't save the game (needs native xmllite)
  41340  Unhandled page fault for Polaris Office Installer
  41472  kolotibablo needs ntoskrnl.exe.KeAcquireInStackQueuedSpinLock
  41684  unimplemented function uiautomationcore.dll.UiaClientsAreListening called in 32-bit code
  41832  Galactic Civ 3 - ships are not visible
  41951  Unimplemented function bcrypt.dll.BCryptDuplicateHash prevents DOOM from running
  42209  Native Instruments Native Access 1.0.25 (R37) crashes on unimplemented function concrt140.dll.??1_ReentrantBlockingLock@details@Concurrency@@QAE@XZ
  42239  Kontact 5.6 needs api-ms-win-crt-time-l1-1-0.dll._Wcsftime
  42450  Unimplemented copy from WINED3D_LOCATION_TEXTURE_RGB to WINED3D_LOCATION_TEXTURE_SRGB for depth/stencil buffers.
  42510  InternetOpenUrl does not send query parameters for HTTPS urls
  42557  NVIDIA GeForce GT 525M detected as GeForce GTX 470
  42559  Adobe Reader DC: No longer installs (Unimplemented function msi.dll.MsiGetComponentPathExW)
  42575  Multiple applications need msvcp140.dll.?_LogScheduleTask@_TaskEventLogger@details@Concurrency@@QAEX_N@Z
  42576  Poedit crashes on start on unimplemented function msvcp140.dll.?_Reset@_ContextCallback@details@Concurrency@@AAEXXZ
  42578  WSAStringToAddress fails to parse IP v6 addresses with port number
  42586  Adobe Reader DC crashes on startup (needs GetCurrentPackageFullName stub)
  42603  Steep (Ubisoft) needs iphlpapi.dll.NotifyUnicastIpAddressChange
  42625  Flushing file (int 0x21, ah=0x68) fails with access denied error in 16-bit code (affects QuickBooks 5.0)
  42639  Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x7eff5a34)
  42641  winetricks ie8_kb2936068 installer fails with error

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

Changes since 2.3:

Akihiro Sagawa (2):
      iexplore: Follow translation version info to detect native IE.
      Use CP 1200 (Unicode) for Win32/Win64 version info.

Alex Henrie (1):
      crypt32/tests: Print an error if CertOpenStore fails.

Alexandre Julliard (6):
      gdi32: Add more helper functions for RGB to pixel conversions.
      gdi32: Fix color conversion when blitting to 1-bpp by matching pixels instead of color values.
      gdi32: Add support for DIBINDEX colors in 1-bpp blits.
      gdi32: Map the black and white entries to the DIB color table after dithering.
      gdi32/tests: Remove workarounds for old Windows versions in the DIB tests.
      user32/tests: Re-enable a test about window positions.

Alistair Leslie-Hughes (10):
      dplayx: Skip over unknown DataTypes guids in EnumAddressTypes.
      dplayx/tests: Free IDirectPlayLobby objects.
      include: Add msstkppg.h.
      ole32/tests: Stop crash on XP.
      oledb32: Ignore IRunnableObject in IDataSourceLocator_QueryInterface.
      dpnet/tests: Stop thread test from failing.
      odbccp32: Implement SQLInstallDriverEx.
      oledb32: Support DBTYPE_NUMERIC in IDataConvert GetConversionSize.
      dpnet/tests: Show that async handlers are per object.
      dpnet/tests: Add EnumHosts synchronous tests.

Andrew Wesie (1):
      ntdll: Save rdi and rsi in raise_func_trampoline.

André Hentschel (3):
      iphlpapi: Add stub for NotifyUnicastIpAddressChange.
      iphlpapi: Flesh out NotifyIpInterfaceChange arguments.
      opencl: Fix some spec file entries.

Austin English (4):
      ntoskrnl.exe: Add KeAcquireInStackQueuedSpinLock stub.
      ntoskrnl.exe: Add KeWaitForMultipleObjects stub.
      dhcpcsvc: Add DhcpCApiInitialize and DhcpCApiCleanup stubs.
      setupapi: Add SetupDiEnumDriverInfoA/W stubs.

Bruno Jesus (9):
      mciavi32: Trace MCIAVI_CreateWindow.
      mciavi32: Implement MCI_BREAK.
      winmm: Dispatch MCI_BREAK to the driver.
      wininet: Forward InternetGetConnectedState to Ex function.
      include: Add missing connection check flags to wininet.h.
      iphlpapi/tests: Test route type and protocol in GetIpForwardTable.
      wininet/test: Improve tests for InternetGetConnectedStateEx.
      kernel32/tests: Add 64bit number tests for FormatMessage[A|W].
      wined3d: Recognize GeForce 940M.

Daniel Lehman (2):
      msvcrt: Add Concurrency::event stubs.
      msxml3: Don't QI for IPersistStream in internal_parse.

Fabian Maurer (1):
      comctl32/taskdialog: Move TaskDialogIndirect and its tests into own source files.

François Gouget (6):
      ddraw/tests: Spelling fixes in comments and an ok() message.
      ntdll/tests: A spelling fix in an ok() message.
      scrobj: Make scriptlet_typelib_CreateInstance() static.
      schedsvc/tests: Add the current process id to the test summary line.
      advapi32/tests: Trace the display name if CreateService() unexpectedly succeeds.
      ddraw: Make ddraw_destroy_swapchain() static.

Hans Leidekker (8):
      webservices: Implement WS_HEAP_PROPERTY_REQUESTED_SIZE and WS_HEAP_PROPERTY_ACTUAL_SIZE.
      webservices: Protect messages with a critical section.
      webservices: Protect channels with a critical section.
      webservices: Protect proxies with a critical section.
      webservices: Protect writers with a critical section.
      webservices: Protect errors with a critical section.
      webservices: Protect heaps with a critical section.
      webservices: Protect readers with a critical section.

Henri Verbeet (30):
      wined3d: Map buffers in wined3d_device_process_vertices().
      wined3d: Explicitly pass d3d_info and gl_info to context_stream_info_from_declaration().
      wined3d: Send sub-resource update calls through the command stream.
      wined3d: Check rectangle alignment in wined3d_surface_blt().
      wined3d: Merge wined3d_texture_check_block_align() into wined3d_texture_check_box_dimensions().
      usp10/tests: Add a latn shaping test with ligatures.
      usp10/tests: Add a ligature and diacritic to the syrc shaping test.
      usp10: Take the script direction into account when applying OpenType features.
      usp10: Properly determine the glyph run direction when shaping Script_Arabic.
      usp10/tests: Add shaping tests for fLogicalOrder and fRTL.
      wined3d: Use wined3d_texture_blt() in surface_upload_from_surface().
      wined3d: Validate blit parameters in wined3d_texture_blt().
      wined3d: Send blits through the command stream.
      wined3d: Send sub-resource copy calls through the command stream.
      wined3d: Send resource copy calls through the command stream.
      wined3d: Abort on invalid instructions in shader_generate_main().
      wined3d: Abort on invalid instructions in shader_get_registers_used().
      usp10: Do not fall back to presentation form B if the contextual feature exists in ContextualShape_Arabic().
      usp10: Introduce an enumeration for script types.
      usp10: Use bsearch() to lookup the script range in get_char_script().
      wined3d: Validate instruction lengths in shader_sm4_read_instruction() (AFL).
      wined3d: Don't read modifiers for opcodes with "read_opcode_func" set (AFL).
      usp10: Use heap_alloc_zero() instead of HeapAlloc() with HEAP_ZERO_MEMORY.
      usp10: Use heap_alloc() instead of HeapAlloc().
      usp10: Use heap_free() instead of HeapFree().
      wined3d: Avoid device_invalidate_state() in wined3d_texture_set_lod().
      wined3d: Create and destroy surface DCs through the CS.
      wined3d: Pass a context to blit_shader.blit_surface().
      wined3d: Only copy source/destination rectangles when needed in arbfp_blit_surface().
      wined3d: Modify resource locations in wined3d_surface_blt() instead of the blitters.

Hugh McMaster (1):
      regedit/tests: Add some line concatenation tests.

Huw D. M. Davies (5):
      wined3d: Zero-initialize count.
      gdi32/tests: Combine the matching macros into a single function.
      shell32/tests: Return early if the shell folder creation fails in order to avoid a compiler warning.
      shell32/tests: Ignore the compressed attribute.
      krnl386.exe16: Fix mask values.

Jacek Caban (15):
      ntdll: Don't modify LockCount in RtlLeaveCriticalSection if section is not acquired.
      wininet: Propagate WSAEWOULDBLOCK result from content decoding reads.
      wininet: Pass blocking mode to HTTPREQ_Read.
      wininet: Propagate WSAEWOULDBLOCK from read_http_stream.
      wininet: Rewrite asynchronous read to try to fill whole buffer and not buffer additional data unless requested.
      wininet: Rewrite InternetReadFileEx for http protocol to make use of non-blocking reads.
      wininet: Reimplemented InternetQueryDataAvailable on top of async_read.
      wininet: Merge InternetReadFile and InternetReadFileEx implementations.
      wininet: Get rid of no longer needed BLOCKING_WAITALL.
      wininet: Get rid of no longer needed blocking_mode_t.
      wininet/tests: Added more HTTP read tests.
      wininet: Always use non-blocking reads in HTTP_ReceiveRequestData.
      wininet: Get rid of no longer needed get_avail_data from data stream implementations.
      rpcrt4: Get rid of manual_listen_count and use binary state instead.
      rpcrt4/tests: Added more server listening tests.

Jactry Zeng (1):
      devenum: Implement IMoniker::GetClassID().

Julian Rüger (3):
      po: Update German translation.
      readme: Update German translation.
      readme: Fix typo in German translation.

Józef Kucia (52):
      wined3d: Bind unordered access views even if they are not used by current shaders.
      d3d11/tests: Add test for UAV counters.
      d3d11/tests: Use 256-byte aligned offsets for bufinfo test.
      wined3d: Implement SM5 bufinfo instruction.
      d3d11: Print FIXME() about ignoring initial UAV count values only when necessary.
      d3d11/tests: Accept additional value as expected result in test_tgsm().
      oledb32/tests: Do not use pointer to freed memory (Coverity).
      wined3d: Introduce wined3d_device_get_compute_shader().
      d3d11: Implement d3d11_immediate_context_CSGetShader().
      wined3d: Introduce wined3d_device_get_cs_cb().
      d3d11: Implement d3d11_immediate_context_CSGetConstantBuffers().
      wined3d: Introduce wined3d_device_get_cs_resource_view().
      d3d11: Implement d3d11_immediate_context_CSGetShaderResources().
      wined3d: Introduce wined3d_device_get_cs_sampler().
      d3d11: Implement d3d11_immediate_context_CSGetSamplers().
      wined3d: Introduce wined3d_device_get_constant_buffer() helper function.
      wined3d: Introduce wined3d_device_get_shader_resource_view() helper function.
      wined3d: Introduce wined3d_device_get_sampler() helper function.
      wined3d: Make sure that "tgsm_count" is not decreased while adding TGSM declarations.
      wined3d: Fix parsing of SM5 "_opc" flag.
      wined3d: Add FIXME() messages for unhandled shader bytecode UAV flags.
      wined3d: Create dummy cube array textures.
      wined3d: Avoid FIXME() message for unhandled cube map arrays.
      d3d11/tests: Add test for cube maps.
      wined3d: Add support for seamless cube map filtering.
      d3d11: Fix typo in TRACE() message.
      d3d11/tests: Add test for unbinding shader resource view.
      wined3d: Recognize SM4 umul opcode.
      wined3d: Implement SM4 umul instruction.
      wined3d: Recognize SM4 dcl_index_range opcode.
      d3d10core/tests: Add test for cube maps.
      d3d10core/tests: Add test for unbinding shader resource view.
      d3d11/tests: Fix render target format in test_resinfo_instruction().
      d3d10core/tests: Fix render target format in test_resinfo_instruction().
      wined3d: Simplify computation of "num_textures_used" in ATI fragment pipeline.
      wined3d: Get rid of incorrect usage of "tex_unit_map".
      wined3d: Move legacy texture image unit range allocation to wined3d_gl_limits_get_texture_unit_range().
      wined3d: Introduce shader_glsl_load_program_resources() helper function.
      wined3d: Use layout qualifiers to bind GLSL images.
      wined3d: Use layout qualifiers to bind GLSL uniform blocks.
      wined3d: Do not use texture unit mapping for SM4+ shaders.
      wined3d: Allow using more than MAX_COMBINED_SAMPLERS texture image units.
      wined3d: Introduce context_get_tex_unit_mapping() helper function.
      wined3d: Use layout qualifiers to bind GLSL samplers.
      wined3d: Add support for samplers in geometry shaders.
      d3d9/tests: Add test for vertex textures.
      wined3d: Use context_get_tex_unit_mapping() in context_bind_shader_resources().
      wined3d: Get rid of redundant WARN() from context_load_shader_resources().
      d3d11/tests: Add basic test for texturing on feature level 9.
      wined3d: Store GL sampler limits as array.
      wined3d: Recompute sampler count before allocating sampler range for compute shaders.
      wined3d: Fix off-by-one error in wined3d_gl_limits_get_texture_unit_range().

Ken Thomases (2):
      winemac: Discard key repeat events after a modifier key has been pressed.
      wineps.drv: Set the AP_D_InputSlot CUPS option if no input slot is specified.

Louis Lenders (1):
      kernel32: Add stub for GetCurrentPackageFullName.

Mark Jansen (1):
      msi: Use the correct type when calculating feature cost.

Matteo Bruni (15):
      ddraw: Keep a ddraw object reference in d3d7 vertex buffers.
      d3d9/tests: Skip test_vshader_input() if PS 3.0 isn't supported.
      d3d9/tests: Fix pixel shader version check in test_pointsize().
      ddraw/tests: Add a ddraw4 vertex buffer refcount test.
      ddraw/tests: Add a ddraw7 vertex buffer refcount test.
      wined3d: Don't advertise unsupported shader versions.
      d3d9/tests: Skip UpdateTexture tests if texture filtering isn't supported.
      wined3d: Use the MAX_TEXTURES define in a few more places.
      d3d9/tests: Ignore test_vshader_input() "no color attribute" test result on WARP.
      wined3d: Fix the TRACE in wined3d_texture_remove_buffer_object().
      d3d9/tests: Fix test_updatetexture() on GPUs not supporting WINED3DFMT_R32_FLOAT.
      ddraw: Take user clip planes into account in d3d7 ComputeSphereVisibility().
      ddraw/tests: Cleanup and extend d3d7 ComputeSphereVisibility() tests.
      ddraw: Fix d3d6 version of ComputeSphereVisibility().
      ddraw/tests: Port test_compute_sphere_visibility() to ddraw4.

Michael Müller (8):
      kernel32: Add stub for GetCurrentPackageFamilyName.
      cabinet: Set index of folder in FDICopy callback.
      bcrypt: Add builtin HMAC implementation.
      bcrypt: Use builtin MD5/SHA1 implementation.
      bcrypt: Add a builtin sha256 implementation.
      bcrypt: Add a builtin sha384/sha512 implementation.
      bcrypt: Always use builtin hash implementation.
      bcrypt: Implement BCryptDuplicateHash.

Nikolay Sivov (49):
      xmllite/reader: Improve input stream encoding detection.
      xmllite/reader: Always return node type from Read().
      xmllite/reader: Reset node type to XmlNodeType_None on EOF.
      xmllite/reader: Implement IsEOF().
      xmllite/reader: Improve the way nesting level returned by GetDepth() is updated.
      d3d9: Remove reference to IWineD3DDevice.
      ddraw: Remove referenced to IWineD3D* interfaces.
      xmllite/reader: Return proper name for xml declaration PI.
      xmllite/reader: Return empty value for elements.
      xmllite/reader: Fix prefix returned after moving back to element.
      xmllite/reader: Return qualified names for attributes.
      xmllite/reader: Enforce maximum element depth limit.
      gdi32/tests: Test that otmfsType field is cleaned up from reserved bits.
      gdi32: Cleanup otmfsType bit mask from reserved bits.
      xmllite/tests: A couple of newline normalization tests for text nodes.
      xmllite/reader: Fix GetValue() for comments.
      xmllite/reader: Return empty string for namespace uri for some nodes.
      xmllite/reader: Return local element names from the stack, instead of input buffer.
      xmllite/reader: Return qualified element names from the stack, instead of input buffer.
      xmllite/tests: Fix a memory leak (Valgrind).
      xmllite/reader: Return prefixes from namespace stack.
      xmllite/tests: Some tests for reader position.
      xmllite/reader: Remove redundant parameter.
      xmllite/reader: Improve returned reader position for elements and attributes.
      xmllite/reader: Fix reader position returned for xml declaration node.
      xmllite/reader: Return static empty string as xml declaration node value.
      xmllite/reader: Explicitly return empty static string as local name for nodes without names.
      xmllite/reader: Explicitly return empty string as qualified name for some node types.
      xmllite/reader: Return correct error for multiple colons in qualified name.
      xmllite/reader: Fix position methods return values in closed reader state.
      xmllite/reader: Improve line number updating when switching to the next line.
      xmllite/reader: Improve returned position for whitespace text nodes.
      wlanapi/tests: Always free interface list (Valgrind).
      comdlg32: Take nMaxFile into account when converting A->W.
      xmllite/reader: Enter error state on parsing error.
      xmllite/reader: Reset reader nesting depth on error.
      dwrite: Added support for oblique simulation in bitmap rendering mode.
      inetcomm/tests: Fix test stream leak (Valgrind).
      msctf/tests: Fix test object leak (Valgrind).
      schedsvc: Fix xml buffer leak (Valgrind).
      usp10/tests: Fix a buffer leak (Valgrind).
      dwrite: Added support for bold simulation.
      dwrite: Use version neutral variable name.
      dwrite: Fix a typo to actually return kerning pair adjustments.
      msxml3/tests: A bit more tests for IPersist* interfaces.
      msxml3/saxreader: Handle NULL interface input in parse().
      xmllite/reader: Always return local name from element structure.
      xmllite/reader: For elements without a prefix return same string for both local and qualified names.
      xmllite/reader: Return same string for local and qualified names for attributes when appropriate.

Owen Rudge (2):
      gdiplus: Check for null in GdipGetFontHeight.
      gdiplus/tests: Add tests for invalid parameter handling for GdipGetFontHeight.

Paul Gofman (4):
      d3dx9/tests: Add test for out of bounds array selector in effect.
      d3dx9: Set dirty flag on parameter change.
      d3dx9/tests: Extend test effect and add checks to test_effect_preshader().
      d3dx9/tests: Factor out op results test helper function from test_effect_preshader().

Pierre Schweitzer (1):
      iphlpapi: Flags in IP_ADAPTER_ADDRESSES_LH can be used as a bit field.

Piotr Caban (11):
      msvcp140: Add _ContextCallback implementation.
      msvcp140: Add _ContextCallback tests.
      msvcp140: Add __crtCreateThreadpoolTimer implementation.
      msvcp140: Add __crtSetThreadpoolTimer implementation.
      msvcp140: Add __crtCreateThreadpoolWait implementation.
      msvcp140: Add __crtSetThreadpoolWait implementation.
      msvcr: Add _Wcsftime implementation.
      msvcr: Fix strftime spec file entry.
      msvcp140: Add _TaskEventLogger class implementation.
      msvcp140/tests: Add _TaskEventLogger tests.
      msvcr: Add __crtUnhandledException implementation.

Sebastian Lackner (18):
      ntdll: Use FD_CLOEXEC instead of hardcoded values.
      ntoskrnl.exe: Add KeReleaseInStackQueuedSpinLock stub.
      ntdll: Implement FileAccessInformation class in NtQueryInformationFile.
      rasapi32: Set *lpcDevices in RasEnumDevicesA.
      include: Avoid typedef for tls_data.
      webservices: Unlock critical section before returning.
      webservices: Don't set is_addressed when an error occurred.
      webservices: Return the correct HRESULT on error.
      webservices: Fix uninitialized variable in WsWriteArray.
      server: Explicitly mark memory as undefined in mem_alloc wrapper.
      schedsvc: Simplify and standardize the heap_xxx() declarations.
      bcrypt: Unify the object length handling.
      bcrypt: Return error when requesting BCRYPT_HASH_LENGTH for unsupported object.
      bcrypt/tests: Move common tests to a helper function.
      bcrypt/tests: Add basic tests for BCryptDuplicateHash.
      bcrypt: Remove a FIXME which no longer applies.
      vcomp/tests: Use ULL macro to define 64-bit constants.
      krnl386.exe16: Ignore access denied error when flushing file.

Stefan Dösinger (1):
      ddraw/tests: Rewrite SrcColorKey32BlitTest.

Vincent Povirk (1):
      mscoree: Update Wine Mono to 4.7.0.

--
Alexandre Julliard
julliard@winehq.org
