Wine Announcement

The Wine development release 3.18 is now available.

What's new in this release (see below for details):
  - Subpixel font rendering with FreeType >= 2.8.1.
  - Support for OAEP algorithm in RSA encryption.
  - Array marshalling fixes in DCOM.
  - Improved DPI scaling in the Wine console.
  - 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 3.18 (total 46):

  13651  Opening privacy settings in Internet Explorer 6 (inetcpl.cpl) cause crash on unimplemented function wininet.dll.PrivacyGetZonePreferenceW
  20613  PVSYST 5 crashed when launched
  25687  "Create directory" button does nothing in ARM Versatile Express installer.
  28267  winhttp tests fail if ISP has a catch-all dns failure page
  32441  winhttp winhttp test changes proxy setting in Windows 8
  35504  LibreOffice 4.2 installer copies MSVC++ runtime files into erroneous 'C:\Win\System\' path (directory targets/properties not re-resolved after updates from custom actions)
  38402  glDebugMessageCallback has mismatched calling convention
  38641  Trying to start a Steam game whilst Steam isn't running doesn't open the game
  39051  TabbedTextOut() incorrect output on tab character
  39508  Microsoft Office 365/OneDrive for Business installer fails in Win8+ mode with 'advapi:ParseStringSidToSid String constant not supported: "OW"' (failure to decode 'Owner Rights' SID 'S-1-3-4')
  40208  Cegid Business Line installer fails in custom script action with "Object doesn't support this property or method: 'ObjRegistry.CreateKey'" (needs 'StdRegProv.CreateKey')
  40303  Control Data passed in DIALOGEX Resource passes pointer with offset sizeof(WORD)
  40703  MSI InstallService does not respect msidbServiceInstallErrorControlVital (0x8000) flag
  41679  netconn_secure_connect: Add calling TRACE, add sock_send retcode to 'send failed' message
  41934  Spreaker Studio 1.4.2 fails to install
  41953  Guitar Hero World Tour (msi_view_get_row Error fetching data for 1)
  42285  Age of empire 3 crashes
  42677  Black Desert Online launcher fails to download/update files, reports "An error occurred while downloading file. (errorcode : 12006 or 13403)"
  43187  EA Origin 'OriginWebHelperService' (QGuiApplication) non-interactive service process crashes due to null monitor info when determining the primary (default) screen
  43242  Hi-Rez Smite (free-to-play online MOBA) SteamLauncherUI.exe (.NET 4.0 app) crashes during installation
  43615  32-bit Process Hacker 2.39.124 crashes in 64-bit WINEPREFIX (advapi32.EnumServicesStatusEx returns garbage on Wow64)
  43621  Life On Mars remake demo has missing sprites
  43878  Multiple apps/games crash on unimplemented function kernel32.dll.GetQueuedCompletionStatusEx (Tokio Rust samples, Star Control: Origins, 1Password-7.2.*)
  43898  Steam: Crashes after regaining focus when in Steam Guard email code window
  44405  Rise Of Nations Extended edition (Steam) crashes when trying to list mods due to missing NULL output buffer handling in CryptBinaryToString()
  44474  Script fails to Run function GetStringValue
  44655  Carmageddon Max Damage: Crash on launch
  44787  1Password-6.8.496 crashes: System.EntryPointNotFoundException (.Net app): Unable to find an entry point named 'SetWindowCompositionAttribute' in DLL 'user32.dll'.
  44902  Baidu Wifi Hotspot crashes in IShellLink::SetIconLocation method due to missing NULL path handling
  45509  64-bit PSIM 11.0.3 fails to install, reports 'err:msiexec:custom_action_server Failed to create custom action server pipe'
  45566  League of Legends 8.12+ needs ntdll.RtlSetUnhandledExceptionFilter
  45588  .Net Framework 4.5.2 (WPF) System.Windows.Media.PixelFormat requires windowscodecs.dll.IWICPixelFormatInfo_{GetChannelCount,GetChannelMask,GetBitsPerPixel}_Proxy
  45680  Microsoft .NET Framework 3.5 (SP1) fails to install in 64-bit WINEPREFIX
  45708 Simple2D demos v1.13: BitmapBrushDemo needs D2D1MakeSkewMatrix
  45709 Simple2D demos v1.13 need support for IWICImagingFactory2, CLSID '{317d06e8-5f24-433d-bdf7-79ce68d8abc2}'
  45723  Occlusion queries always flush (Overwatch)
  45782  mono needs unimplemented function api-ms-win-crt-math-l1-1-0.dll._Cbuild
  45816  Orbit Profile crashes in Unhandled exception: unimplemented function msvcp140.dll.?_Winerror_message@std@@YAKKPADK@Z called
  45830  Fifa 19 Demo refuses to launch past the launcher
  45880  Multiple PC/SC applications crash on unimplemented function winscard.dll.SCardCancel (Aruba key, SmartCard test apps)
  45891  Steam crashes at launch with "GetQueuedCompletionStatusEx() failed: 120" error
  45910  nProtect GameGuard used by multiple MMORPG games crashes on unimplemented function wevtapi.dll.EvtExportLog (4Story, Phantasy Star Online 2)
  45915  x64dbg/x32dbg crash during shutdown on unimplemented function msvcr120.dll.??0_Scoped_lock@_NonReentrantPPLLock@details@Concurrency@@QAE@AAV123@@Z
  45923  Regression in register_avicap_devices
  45928  Microsoft Windows SDK for Windows 10 (.NET 4.6) installer fails, claims KB3118401 is needed ('ucrtbase.dll' missing version resource, >= 10.0.0)
  45942  AnyRail6: crashing when open Options


Changes since 3.17:

Akihiro Sagawa (3):
      po: Update Japanese translation.
      winex11: Fix a compiler warning when building without vulkan support.
      gdi32: Use the helper function to order the points of a rectangle.

Alex Henrie (3):
      oleaut32: Add DECLSPEC_HOTPATCH to SysAllocStringByteLen.
      d3dcompiler_43/tests: Avoid using GCC's typeof extension.
      user32: Add stub for SetWindowCompositionAttribute.

Alexandre Julliard (14):
      user32: Use height from font metrics for empty text runs in TabbedTextOut().
      msvcr120: Avoid duplicate spec file entry for creal().
      kernel32: Make a copy of the process environment in CreateProcessW().
      kernel32: Pass the full filename to winevdm.exe in CreateProcessW().
      ntdll: Implement RtlCreateProcessParametersEx().
      opengl32: Update to the current OpenGL spec.
      ntdll: Add a wrapper to call the unhandled exception filter.
      ntdll: Implement RtlSetUnhandledExceptionFilter().
      wineconsole: Try harder to get a scalable font.
      wineconsole: Set a proper default for the font weight.
      wineconsole: Scale font with system DPI.
      server: Also return CPU type in the mapping image information.
      kernel32: Use the CPU type from the image information in CreateProcess().
      kernel32: Build a standard process parameters structure in CreateProcess().

Andrew Wesie (3):
      wined3d: Use PBO for read-only staging textures.
      wined3d: Unify the texture download functions.
      wined3d: Add fast-path for texture download blit.

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

Bernhard Übelacker (3):
      user32: Let nulldrv return some dummy monitor information.
      services/tests: Retrieve monitor information when executed as service.
      services/tests: Change pipe type from byte to message.

Brendan McGrath (1):
      quartz/filtergraph: Iterate over all source pins in ExploreGraph().

Byeong-Sik Jeon (3):
      gdi32: Improves the subpixel rendering availability for FreeType 2.8.1+.
      gdi32: Remove unnecessary operations.
      gdi32: Move the 'if' branch out of the loop.

Dmitry Timoshkov (8):
      user32/tests: Add a test for custom dialog control data.
      wrc: Fix generation of custom dialog control data.
      user32: Fix the pointer to custom dialog control data.
      ntdll/tests: Add more tests for setting delete disposition on a non-empty directory.
      crypt32: Implement CryptUnregisterOIDInfo.
      crypt32: Implement CryptRegisterOIDInfo.
      crypt32/tests: Add some tests for registering OID info.
      crypt32: Read OID information from the registry.

Hans Leidekker (17):
      msi: Fix a couple of memory leaks (Valgrind).
      msi: Add support for control event DirectoryListNew.
      winhttp: Implement the WINHTTP_FLAG_ESCAPE_* flags.
      wmic: Write errors to stderr.
      wmic: Use DOS line endings.
      wmic: Output Unicode text with BOM when redirected.
      wmic: Don't write an extra newline at the end.
      wmic: Pad output with spaces.
      wbemprox: Don't return an error from IWbemClassObject::BeginMethodEnumeration if the object has an iterator.
      wbemprox: Make name and value optional in IWbemClassObject::Next.
      wbemdisp: Generate DISPIDs for object methods too.
      msi: Rename msi_reset_folders to msi_reset_source_folders.
      msi: Remove unused fields from MSIFOLDER.
      msi/tests: Add tests for directory properties.
      msi: Fix memory leaks.
      msi: Fix the remote case for MsiViewModify(MSIMODIFY_UPDATE).
      wbemdisp: Implement ISWbemPropertySet::get_Count.

Henri Verbeet (4):
      d2d1: Do not release the "dxgi_target" interface on d2d_bitmap_render_target_init() error paths.
      wined3d: Also default to OpenGL core contexts on NVIDIA GPUs.
      wined3d: Add GPU information for NVIDIA GeForce GT 720.
      d3d11/tests: Add depth bias clamp tests.

Huw D. M. Davies (4):
      wineps: Use a tri-state to describe the passthrough state.
      wineps: Add helpers to enter and leave passthrough.
      wineps: Leave passthrough mode at the end of the page.
      winedbg: Ignore ^C events in the parent 32-bit process.

Jacek Caban (12):
      mshtml: Use set_document_mode in process_document_response_headers.
      winhttp: Move cookie_t declaration to cookie.c.
      winhttp: Make cookie access thread safe.
      winhttp: Make accessing session credential handle thread safe.
      msvcrt: Use memmove to copy memory in wmemcpy_s.
      msvcrt: Use memmove to copy memory in memcpy_s.
      hostname: Use GetComputerNameW to get hostname.
      configure: Get rid of no longer used SOCKET_LIBS.
      mshtml: Support registry configuration for maximal allowed compatibility mode.
      mlang: Register codepages info in registry.
      credui: Correctly check for duplicated username entries in CredDialogFillUsernameCombo.
      ntdll/tests: Use FILE_INFORMATION_CLASS values instead of hardcoded numbers.

Józef Kucia (21):
      wined3d: Expose viewport array index capability in wined3d_caps.
      d3d11: Implement D3D11_FEATURE_D3D11_OPTIONS3.
      d3d11/tests: Add test for layered rendering without geometry shader.
      wined3d: Add core context support for A8_UNORM render targets.
      d3d11/tests: Add test for rendering to A8_UNORM texture.
      wined3d: Factor out shader_copy_signatures_from_shader_desc().
      wined3d: Set load_local_constsF in shader_set_function().
      wined3d: Pass device to shader_set_function().
      wined3d: Call shader_set_function() separately from shader_init().
      wined3d: Get rid of shader_get_shader_type().
      wined3d: Allow stream output with domain shaders.
      wined3d: Use version from byte code for pass-through geometry shaders.
      wined3d: Validate byte code pointer in shader_init().
      winevulkan: Remove parsing of validextensionstructs.
      winevulkan: Check if conversion is required for pNext chains.
      winevulkan: Parse enum value aliases.
      winevulkan: Update vk.xml to 1.1.86.
      wined3d: Accept full DXBC.
      d3d11: Pass full DXBC to wined3d.
      wined3d: Drop support for pre-parsed shader DXBC chunks.
      wined3d: Set texture swizzle for texture views.

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

Louis Lenders (3):
      wevtapi: Fix typo in spec file.
      ucrtbase: Add version resource.
      prntvtp: Add stub for PTOpenProviderEx.

Marcus Meissner (2):
      devenum: Fixed size to capGetDriverDescriptionW (Coverity).
      dxgi: Fixed typo in width/height (Coverity).

Matteo Bruni (5):
      wined3d: Dump buffer descriptor in wined3d_buffer_create().
      wined3d: Dump view descriptor contents.
      wined3d: Invalidate shader resource bindings after binding texture view.
      wined3d: Add fallback to EXT_polygon_offset_clamp.
      wined3d: Avoid using GL_MAX_VARYING_FLOATS_ARB in core profile contexts.

Michael Stefaniuc (2):
      gdi32: Avoid a variable holding an ARRAY_SIZE.
      gdi32: Use the ARRAY_SIZE() macro.

Michał Janiszewski (1):
      winevulkan: Remove unused variable in make_vulkan.

Nikolay Sivov (30):
      d2d1/tests: Add some tests for compatible target size handling.
      d2d1: Implement d2d_device_context_ID2D1DeviceContext_CreateBitmap().
      d2d1: Allow creating zero-sized bitmaps.
      d2d1: Default to pre-multiplied alpha mode in CreateBitmapFromDxgiSurface().
      d2d1: Implement d2d_device_context_SetTarget() for bitmap targets.
      opcservices: Improve error handling (Coverity).
      opcservices: Add missing error check (Coverity).
      opcservices: Fix potential uninitialized memory access (Coverity).
      opcservices/tests: Add missing return value test (Coverity).
      shell32/shelllink: Fix NULL path handling in SetIconLocation().
      d2d1: Implement CreateDeviceContext().
      d2d1: Fix bind flags used for bitmap resources.
      d2d1: Set GDI compatible resource flag from bitmap options.
      d2d1: Simplify target bitmap creation for DC target.
      include: Add ID2D1CommandList and ID2D1CommandSink definition.
      d2d1/tests: Add a test for BeginDraw() with locked WIC bitmap.
      d2d1: Implement d2d_device_context_ID2D1DeviceContext_CreateBitmapFromWicBitmap().
      d2d1: Implement D2D1MakeSkewMatrix().
      d2d1: Use correct interpolation mode enum type member.
      d2d1: Handle invalid interpolation mode in DrawBitmap().
      d2d1: Partially implement d2d_device_context_ID2D1DeviceContext_DrawBitmap().
      gdiplus: Fix input string tracing in GdipMeasureCharacterRanges().
      wincodecs: Add IWICImagingFactory2 stub.
      wincodecs: Add IWICPixelFormatInfo exports.
      d2d1: Add a helper to set error state.
      advapi32/tests: Test return SIDs for wellknown two-character names.
      advapi32: Add WinCreatorOwnerRightsSid to wellknown list.
      advapi32: Add a name for WinBuiltinAnyPackageSid.
      d2d1: Check the context error state on entering d2d_device_context_DrawGlyphRun().
      wincodecs/icoformat: Improve input data validation on decoder initialization.

Piotr Caban (5):
      msvcr120: Added _Cbuild implementation.
      msvcr120: Added creal implementation.
      msvcr100: Added _Scoped_lock::_NonReentrantPPLLock class.
      msvcp140: Added _Winerror_message implementation.
      mshtml: Support retrieving command output in Exec(OLECMDID_OPTICAL_ZOOM).

Sebastian Lackner (1):
      opengl32: Add wrappers for glDebugMessageCallback to handle calling convention differences.

Serge Gautherie (2):
      credui: Use SecureZeroMemory().
      ddraw: Get rid of a redundant assignment in ddraw7_GetDisplayMode().

Stefan Dösinger (1):
      include: Add check macros needed for VS2017.

Zebediah Figura (27):
      ntdll/tests: Use a temporary path in open_file_test().
      ntdll/tests: Remove a superfluous helper.
      ntdll/tests: Remove some unnecessary workarounds.
      ntdll/tests: Get rid of test_iocompletion().
      ntdll/tests: Add some tests for NtRemoveIoCompletionEx().
      ntdll: Implement NtRemoveIoCompletionEx().
      kernel32/tests: Add some tests for completion ports.
      kernel32: Implement GetQueuedCompletionStatusEx().
      devenum: Zero-initialize REGFILTERPINS struct.
      makefiles: Only generate proxy code for the target architecture.
      quartz/filtergraph: Don't prevent the same filter from being used multiple times in IGraphBuilder_Connect().
      rpcrt4: Handle absense of RPC flags in call_stubless_func() thunk.
      wined3d: Implement depth bias clamp.
      d3d10core/tests: Add depth bias clamp tests.
      widl: Allow all dimensions of an array to be sizeless.
      widl: Check for positive array dimension when parsing array.
      widl: Remove dead code.
      widl: The default pointer attribute for an array is always ref.
      widl: Properly handle nesting of pointers and arrays when parsing.
      widl: Correctly generate headers for nested arrays and pointers.
      rpcrt4/tests: Add some tests for nesting arrays and pointers.
      widl: Fix detection of SAFEARRAY pointers when writing array pointers.
      widl: Handle typedef'd arrays.
      widl: Fix -Oicf marshalling of pointers to arrays.
      rpcrt4: Handle non-ref pointers in calc_arg_size().
      rpcrt4: Correctly handle simple ref pointers in calc_arg_size().
      rpcrt4: Avoid clearing a NULL output parameter in client_do_args().

Zhiyi Zhang (2):
      rsaenh: Move PKCS1 padding and unpadding functions.
      rsaenh: Implement RSA OAEP.

Alexandre Julliard