Wine Announcement

The Wine development release 1.9.20 is now available.

What's new in this release (see below for details):
  - Reimplementation of the clipboard API.
  - Message handling in WebServices.
  - Many more API Set libraries.
  - 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 1.9.20 (total 18):

  27671  ComboFix fails to install
  29661  wineboot unable to create win32 prefix if the directory already exists
  30368  AMD Radeon 6480g detected as ATI Radeon 3200
  32694  NVIDIA GTX 690 not in the list of recognized cards.
  39447  Unimplemented function hid.dll.HidP_TranslateUsagesToI8042ScanCodes
  41050  Age of Mythology: Extended Edition needs api-ms-win-crt-stdio-l1-1-0.dll.__stdio_common_vswscanf
  41086  Unimplemented function msvcp140.dll.??0?$codecvt@_WDU_Mbstatet@@@std@@QAE@I@Z needed by
  41136  GOG Galaxy installer crashes with "wine: Call from 0x7b43c7cc to unimplemented function msvcp140.dll.?_Execute_once@std@@YAHAAUonce_flag@1@P6GHPAX1PAPAX@Z1@Z"
  41273  Texted added to clipboard in Wine not pasting in native Linux applictions.
  41315  Windows 10 DISM doesn't launch, needs advapi32.EventWriteTransfer
  41333  MeterBasic (Tonne Software) crashes at start
  41336  Windows 10 DISM pkgmgr.exe doesn't launch, needs api-ms-win-core-libraryloader-l1-2-2.dll
  41343  Ellisys Visual USB needs unimplemented function newdev.dll.DiInstallDriverA
  41352  World of Tanks crashes with unimplemented function msvcp140.dll.?_Getcat@?$codecvt@DDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z
  41381  Marvelous Designer 6 needs msvcp140.dll.?_Getcat@?$codecvt@DDU_Mbstatet@@@std@@SA_KPEAPEBVfacet@locale@2@PEBV42@@Z
  41389  ComboFix fails to install: complains about missing HKLM\System\CurrentControlSet\Control\hivelist
  41396  Sony Xperia Companion needs KERNEL32.dll.SetDefaultDllDirectories
  41399  GOG Galaxy crashes with unimplemented function msvcp140.dll.?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@U_Mbstatet@@@2@XZ


Changes since 1.9.19:

Akihiro Sagawa (9):
      kernel32/tests: Consolidate duplicated code for invalid LCMapString flag tests.
      kernel32: Do not allow to combine NORM_IGNORENONSPACE and/or NORM_IGNORESYMBOLS with other LCMAP flags.
      kernel32: Zero is an invalid flag value.
      kernel32/tests: Add LCMAP_TITLECASE test.
      kernel32/tests: Add more mapping tests for LCMapString.
      kernel32: Short circuit required length calculation.
      kernel32: Refactor the codepath and a variable usage.
      kernel32: Implement LCMAP_HIRAGANA.
      kernel32: Implement LCMAP_KATAKANA.

Alexandre Julliard (44):
      winex11: Add separate export functions for the various string types.
      winex11: Use the correct data type for property atoms.
      winex11: Add a debug helper to trace atom names.
      winex11: Add a helper function to store property data.
      winex11: Add a helper function to convert the selection.
      winex11: Move common code out of the export functions and simplify their usage.
      winex11: Move common code out of the import functions and simplify their usage.
      winex11: Merge converting the selection and importing it.
      winex11: Use a standard export function to handle MULTIPLE requests.
      winex11: Use a standard export function to handle TARGETS requests.
      winex11: Reimplement targets enumeration using standard clipboard APIs.
      winex11: Use standard clipboard APIs to retrieve the data to export.
      winex11: Use a standard import function to retrieve the TARGETS property.
      winex11: Support import multiple drag&drop properties in a single call.
      winex11: Add helper functions to find and register Win32 clipboard formats.
      winex11: Add helper functions to find and register X11 clipboard formats.
      winex11: Get rid of support for reigstering Win32 formats without a corresponding atom.
      winex11: If multiple clipboard formats can be exported, use the first available one.
      winex11: Reimplement import_targets to go through the format list in the standard way.
      winex11: Store the list of X11 formats when retrieving the TARGETS property.
      user32: Add an UpdateClipboard entry point to allow the driver to refresh the clipboard before it's open.
      winex11: Implement the UpdateClipboard entry point to refresh the cache.
      server: Get rid of the clipboard sequence number update hack.
      user32: Store clipboard data on the server side.
      user32: Retrieve available clipboard formats from the server.
      user32: Retrieve clipboard data from the server.
      user32: Add synthesized clipboard formats on the server side.
      user32: Cache clipboard data on the client side.
      user32: Remove no longer used clipboard driver entry points.
      winex11: Add a helper function to register builtin clipboard formats.
      winex11: Remove the driver-side clipboard data storage.
      winex11: Run a single clipboard manager thread per window station, inside the explorer process.
      winex11: Ignore X11 errors happening on the clipboard display connection.
      user32: Enforce null termination of strings added to the clipboard.
      winex11: Add a helper function to import a Unicode string.
      winex11: Add a helper function to export a Unicode string.
      winex11: Always go through Unicode for clipboard strings.
      winex11: Remove support for owner-displayed clipboard formats.
      winex11: Remove support for exporting the CF_METAFILEPICT format.
      winex11: Remove support for exporting the CF_BITMAP, CF_PALETTE and CF_DIBV5 formats.
      winex11: Remove support for exporting the CF_OEMTEXT and CF_LOCALE formats.
      user32: Fix METAFILEPICT marshalling for 64-bit.
      winex11: Add clipboard support for the polymorphic TEXT format.
      winex11: Export the TIMESTAMP clipboard property.

Andrew Eikum (1):
      wininet: Don't crash by debug printing too long URLs.

Andrew Kanaber (1):
      wined3d: Add id for Broadwell Xeon E3 GPU.

Andrey Gusev (10):
      api-ms-win-eventing-consumer-l1-1-0: Add dll.
      api-ms-win-eventing-controller-l1-1-0: Add dll.
      api-ms-win-security-audit-l1-1-1: Add dll.
      api-ms-win-security-base-private-l1-1-1: Add dll.
      api-ms-win-core-appinit-l1-1-0: Add dll.
      api-ms-win-core-version-private-l1-1-0: Add dll.
      api-ms-win-core-appcompat-l1-1-1: Add dll.
      api-ms-win-core-bem-l1-1-0: Add dll.
      api-ms-win-service-private-l1-1-1: Add dll.
      user32/tests: Fix incorrect usage of broken() function.

André Hentschel (2):
      urlmon/tests: Mark data53 test as broken on Win10.
      d3d9/tests: Allow D3D_OK for lost device present (Win10).

Aric Stewart (4):
      ntoskrnl.exe: Send PnP and Power IRPs to plug and play devices.
      ntoskrnl.exe: Implement DevicePropertyEnumeratorName for IoGetDeviceProperty.
      ntoskrnl.exe: Implement removing plug and play devices.
      hid: Stub HidP_TranslateUsagesToI8042ScanCodes.

Austin English (11):
      advapi32: Add EventWriteTransfer stub.
      api-ms-win-core-delayload-l1-1-0: Add dll.
      api-ms-win-core-libraryloader-l1-2-2: Add dll.
      newdev: Add DiInstallDriverA/W stubs.
      api-ms-win-core-io-l1-1-0: Add dll.
      api-ms-win-core-xstate-l1-1-0: Add stub dll.
      api-ms-win-service-core-l1-1-0: Add dll.
      api-ms-win-service-management-l2-1-0: Add dll.
      api-ms-win-service-winsvc-l1-1-0: Add dll.
      kernel32: Add SetDefaultDllDirectories stub.
      wine.inf: Add HKLM\System\CurrentControlSet\Control\hivelist key.

Detlef Riekenberg (2):
      ntdll/tests: Use case insensitive compare for filenames.
      scrrun/tests: Use case insensitive compare for filenames.

Filip Frąckiewicz (5):
      wined3d: Add NVIDIA GTX 690 (GK104) to the GPU list.
      wined3d: Add NVIDIA GTX 675MX to the GPU list.
      wined3d: Add NVIDIA GTX 760 Ti to the GPU list.
      wined3d: Add AMD Radeon HD 6480G IGP.
      wined3d: Add NVIDIA GTX 980 Ti.

Hadrien Boizard (1):
      ole32: Use debugstr_guid() in TRACES.

Hans Leidekker (8):
      webservices: Escape XML special characters where needed.
      webservices: Fix corner cases in write option handling.
      webservices: Use public channel functions in the service proxy implementation.
      webservices: Add support for WS_MESSAGE_PROPERTY_BODY_READER/WRITER in WsGetMessageProperty.
      webservices: Don't write an empty header element for messages that have an action.
      webservices: Implement WsSendMessage.
      webservices/tests: Add tests for WsSendMessage.
      webservices: Implement WsReceiveMessage.

Henri Verbeet (7):
      d3d11: Use wine_rb_remove() in state object cleanup.
      wined3d: Use wine_rb_remove() in delete_glsl_program_entry().
      wined3d: Implement the initial texture data upload on top of wined3d_device_update_sub_resource().
      wined3d: Implement the initial buffer data upload on top of wined3d_device_update_sub_resource().
      wined3d: Don't require a specific context in wined3d_device_init_3d().
      wined3d: Wait for the resource to become idle when destroying user memory textures.
      wined3d: Wait for the texture to become idle before modifying it in wined3d_texture_update_desc().

Huw D. M. Davies (9):
      user32/tests: BITMAPCOREINFO icons are no longer supported on Win 8.
      user32: Use MB_USEGLYPHCHARS in OemToCharBuffW().
      user32: Implement OemKeyScan().
      wordpad: Only read up to the maximum number of recent files from the menu.
      riched20: Don't clear the existing mask when reading a \ltrpar .
      riched20: Pass a ME_Paragraph structure to ME_SetParaFormat().
      gdi32: Check that ExtFloodFill()'s initial co-ordinates lie within the dib.
      riched20: Embed PARAFORMAT2 in the paragraph struct rather than its ptr.
      riched20: Add checks for allocation failures.

Jacek Caban (2):
      rbtree.h: Added ordered iteration functions and macros.
      jscript: Use wine_rb_tree to store local variables in compiler_ctx_t.

Józef Kucia (7):
      d3d11: Sanitize buffer view flags.
      d3d11/tests: Add test for swapchain formats.
      include/d3d10: Add D3D10_FORMAT_SUPPORT enum.
      d3d10core/tests: Port test_required_format_support() from d3d11.
      d3d10core/tests: Port test_swapchain_formats() from d3d11.
      d3d11/tests: Run test_*() functions for each feature level separately.
      d3d11/tests: Trace optional format support.

Matteo Bruni (8):
      wined3d: Fix a bunch of typos.
      wined3d: Update the Mesa d3d level detection hack.
      wined3d: Use unsigned constants in shifts.
      wined3d: Use round() on core profile.
      wined3d: Enable lod and grad texture lookups on core profile.
      wined3d: Fix ps_3_0 packed inputs limit.
      wined3d: Fix doublebuffer mode trace.
      wined3d: Call glGetIntegerv() through the gl_info function pointer.

Michael Müller (2):
      dsound: Pretend that the driver is certified.
      ntdll: Open current working directory with FILE_TRAVERSE access.

Michael Stefaniuc (11):
      mshtml: Avoid casts from COM objects to interfaces.
      jscript: Use CONTAINING_RECORD() to get from a field to a struct.
      jscript: Use the existing helpers to get from a jsdisp_t to an Instance.
      jscript: Add more jsdisp_t to Instance helpers.
      user32/tests: Remove two commented out printf().
      user32/tests: Use EqualRect() instead of open coding it.
      user32/tests: Use wine_dbgstr_rect() to print rects.
      dpvoice: Use debugstr_guid() to trace GUIDs.
      strmbase: Don't bother tracing the GUID pointers too.
      quartz: Avoid using CopyRect().
      webservices/tests: Use IsEqualGUID() to compare GUIDs.

Piotr Caban (13):
      msvcp140: Add codecvt<char,char,_Mbstatet> exports.
      msvcp140: Add _Cnd_init_in_situ implementation.
      msvcp140: Add _Execute_once implementation.
      msvcp140: Introduce _Mbstatet structure.
      msvcp140: Add codecvt<wchar_t,char,_Mbstatet> exports.
      msvcp140: Add codecvt<short,char,_Mbstatet> exports.
      msvcp110: Add _Cnd_{do_broadcast,register,unregister}_at_thread_exit implementation.
      msvcp120: Add _Cnd_{do_broadcast,register,unregister}_at_thread_exit tests.
      msvcp140: Add _Cnd_destroy_in_situ implementation.
      msvcp140: Fix codecvt RTTI data.
      msvcp140: Add more missing exports.
      msvcp140: Fix time_put structure layout.
      msvcp120: Don't add basic_ios::_Add_vtordisp virtual functions.

Sebastian Lackner (8):
      server: Allow to create win32 prefix when directory already exists.
      server: Fix leak of old clipboard data when replacing existing format.
      user32: Call GlobalUnlock with the correct argument in SetClipboardData.
      webservices: Do not return uninitialized hr from write_headers_transport.
      webservices: Correctly grow buffer size in receive_message.
      services: Check for services without lpBinaryPathName in get_winedevice_process.
      server: Handle error when memdup fails in synthesize_formats.
      user32: Also release GMEM_FIXED data in free_cached_data.

Vincent Povirk (8):
      gdiplus: Implement GdipBeginContainer.
      gdiplus/tests: Add tests for GdipBeginContainer.
      gdiplus: Implement BeginContainer metafile record.
      gdiplus/tests: Check record types in playback tests.
      gdiplus: Add clipping to GDI32_GdipFillRegion.
      gdiplus: Add clipping to GDI32_GdipDrawDriverString.
      gdiplus: Add clipping to GdipDrawImage.
      iprop: Add dll.

Alexandre Julliard
[email protected]