Wine Announcement

The Wine development release 3.6 is now available.

What's new in this release (see below for details):
  - Support for PNG format icons.
  - Support for 1D textures.
  - More infrastructure for high DPI support.
  - OLE data cache improvements.
  - 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.6 (total 53):

  19241  winemenubuilder crashes during extraction of high-res Windows Vista+ 256x256 PNG compressed icon resources
  24011  Trackmania Nations Forever graphics test does not work
  27151  Mafia Vizheneo (Мафия) bug
  28520  Surface flips ignore vsync flags in ddraw (Claw, Diablo II, Imperium Galactica II, Incoming, Panzer General II, Unreal)
  29999  Bloodrayne 2: text in the menus misplaced
  30103  Static controls with bitmap do not display correct background.
  33312  QQ International 1.6 can't load Bulletin
  38147  Batman: Arkham Asylum (non-steam) Demo launcher (.NET 2.0 app) missing text
  38496  Greek Holy Bible 13.0 crashes with System.TimeZoneNotFoundException when using Wine-Mono
  38959  Microsoft .NET Framework 4.6 web installer fails silently (unable to load series of compressed PNG icon images from ICO files)
  39011  Sierra Chart hangs when drawing polygon fill line type: gdi32.Polygon()
  39452  mpr.WNetGetUniversalName() return value (causes Intel MPI to fail)
  40156  AutoWikiBrowser database scanner fails with "no access to memory location"
  40305  AutoWikiBrowser 5.8 (.NET app) needs riched20 ITextRange::ScrollIntoView
  40976  Multiple games need d3d11_device_CreateTexture1D implementation
  41279  Sonos Desktop Controller 6.x (.NET 4.x app) crashes with System.NotImplementedException (needs hnetcfg INetFwPolicy2::get_Rules)
  41377  Windows 10 DISM fails to find its resources (kernel32 SetThreadUILanguage must return non-zero/best fit language identifier if zero is passed)
  41398  Starcraft 2 Editor: Crashes when login dialog is presented
  42267  Rogue-Killer installer crashes on unimplemented function ntdll.dll._aulldvrm
  42446  Native Instruments 'Native Access' 1.1.x fails to start, reports 'You cannot start Native Access from the mounted disk'
  43051  Rise of the Tomb Raider needs unimplemented function msvcr110.dll.__crtCapturePreviousContext
  43096  rtpMidi cannot install.
  43468  The game StarCraft2 hang when I click on the "exit game" button. I have to kill the process.
  43831  Cuphead (Steam) crashes on startup (needs setupapi.CM_Get_Parent stub to return CR_NO_SUCH_DEVNODE)
  43863  Rollcage Redux needs correct include handling in D3DXCreateEffectFromFileExW()
  43872  The Witcher 3: some monsters are completely invisible
  43930  iCopy 1.6.x (.NET 2.0 app) crashes on startup (IWiaDevMgr::SelectDeviceDlg DeviceID pointer parameter can be NULL, needs be declared 'unique' for RPC marshalling)
  43994  page fault when running droid4x-0-9-0.exe
  44001  Empire of the Ants (french version "les fourmis") - game crashed
  44135  Olive Tree Bible Software BibleStudySetup_6.0.23.exe fails to install
  44404  Several .Net apps (e.g. Remembear) throw errors/crash,caused by msctf stubs TextStoreACPSink_{OnTextChange,OnSelectionChange,OnLayoutChange}
  44500  BattlEye 'BEDaisy' kernel service crashes on unimplemented fltmgr.sys functions (FltRegisterFilter, FltStartFiltering, FltUnregisterFilter)
  44530  64-bit Sentinel HASP hardlock.sys kernel driver tries to access to DR7 (not handled in ntoskrnl emulate_instruction)
  44580  Outlook 2007 cannot read MSG files anymore
  44645  Black border around tray icon
  44680  Support for DTM_GETIDEALSIZE not implemented
  44692  64-bit .NET apps crash on startup with Wine-Mono (Medieval Engineers, Dashware 1.9)
  44818  ntdll.NtClose (kernel32.CloseHandle) should throw invalid handle exception (EXCEPTION_INVALID_HANDLE) for invalid handles when run under debugger
  44837  BattlEye 'BEDaisy' kernel service fails in driver entry point due to missing 'ntoskrnl.exe.Ps{Acquire,Release}ProcessExitSynchronization'
  44857  Visio 2003 - property dialogs buttons appear broken
  44864  Incoming crashes after the intro video
  44874  Phonetools 9.x crashes on unimplemented function KERNEL32.dll.RequestDeviceWakeup
  44881  MidRadio Player doesn't send SysEx messages to the MIDI device.
  44904  winebus blocks auto start up of scheduler service
  44906  BattlEye 'BEDaisy' kernel service fails in driver entry point due to missing 'ntoskrnl.exe.ExfUnblockPushLock'
  44907  BattlEye 'BEDaisy' kernel service crashes on unimplemented function 'fltmgr.sys.FltGetRoutineAddress'
  44908  BattlEye 'BEDaisy' kernel service wants 'ntoskrnl.exe.ObGetObjectType'
  44910  BattlEye 'BEDaisy' kernel service fails in driver entry point due to 'ntoskrnl.exe.ObReferenceObjectByHandle' stub (needs STATUS_SUCCESS)
  44911  BattlEye 'BEDaisy' kernel service crashes on unimplemented function ntoskrnl.exe.PsGetProcessId
  44923  Failing kernel driver services can stall WINEPREFIX bootstrapping/startup for a considerable time when configured as autostart
  44924  StarForce v3 kernel drivers need ntoskrnl.IoCreateSynchronizationEvent to return a non-NULL handle
  44932  limited list of available printer's paper/page size
  44944  Adobe Premiere Elements 14 fails to install: ERROR: Third party payload installer pxengine5_08_13a.exe failed with exit code: -1


Changes since 3.5:

Akihiro Sagawa (4):
      winmm/tests: Add MIDI System Exclusive message tests.
      midimap: Open lower devices when opening MIDI Mapper.
      winmm/tests: Add more MIDI System Exclusive message tests.
      winmm: Fix MEVT_LONGMSG handling in MIDI stream.

Alex Henrie (1):
      ping: Distinguish between timeouts and other failures.

Alexander Morozov (1):
      ntoskrnl.exe: Add stubs for ExAcquireFastMutexUnsafe and ExReleaseFastMutexUnsafe.

Alexandre Julliard (29):
      user32: Support forcing the DPI awareness through the image file execution options.
      user32: Implement Get/SetThreadDpiAwarenessContext().
      user32: Partially implement GetWindowDpiAwarenessContext().
      winegcc: Set page alignment to 4096 in all cases.
      ntdll: Add support for loading IL-only dlls.
      ntoskrnl: Add emulation of CRn and DRn registers on x86-64.
      user32: Try to load libpng only once.
      user32: Ignore PNG icons instead of failing if we don't have libpng.
      user32: Add support for loading 256x256 icons.
      user32/tests: Use the function pointer for GetWindowDpiAwarenessContext.
      gdi32: Pre-allocate the points array in CreatePolyPolygonRgn.
      gdi32: Build the region object directly instead of making a copy in CreatePolyPolygonRgn.
      gdi32: Add a helper function to retrieve the DIB rectangle.
      gdi32: Clip the computed region to the DIB rectangle in PolyPolygon().
      winex11: Allow embedded windows to use an alpha channel with their surface.
      user32: Implement Get/SetProcessDpiAwarenessInternal().
      user32: Add more allowed values in GetAwarenessFromDpiAwarenessContext() and IsValidDpiAwarenessContext().
      user32: Support returning to the process default in SetThreadDpiAwarenessContext().
      shcore: Implement Get/SetProcessDpiAwareness().
      user32/tests: Add tests for GetDpiForSystem().
      user32: Get the system DPI from the registry instead of from GDI.
      gdi32: Take DPI awareness into account for the LOGPIXELSX/Y device caps.
      gdi32: Scale stock fonts based on the DPI awareness.
      user32/tests: Cleanup helper macros.
      user32/tests: Remove Win9x workarounds.
      user32: Included padded border into the border width in NONCLIENTMETRICS.
      user32: Fix position of the small icon in the caption bar.
      user32: Implement SystemParametersInfoForDpi().
      user32: Implement GetSystemMetricsForDpi().

Alistair Leslie-Hughes (16):
      include/ddk: Add fltkernel.h.
      fltmgr.sys: Add FltRegisterFilter stub.
      fltmgr.sys: Add FltStartFiltering stub.
      fltmgr.sys: Add FltUnregisterFilter stub.
      wininet: Add support for FormatMessage.
      ntoskrnl: Add PsAcquireProcessExitSynchronization/PsReleaseProcessExitSynchronization stub.
      ntoskrnl: Add ExfUnblockPushLock stub.
      ntoskrnl: Add PsGetProcessId stub.
      ntoskrnl: Add ObGetObjectType stub.
      winedevice: Improve error handling when a driver fails to load.
      wpcap: Implement pcap_dump_open and pcap_dump.
      d3d11: Add support for D3D11_FEATURE_D3D11_OPTIONS1 in CheckFeatureSupport().
      d3d11: Add support for D3D11_FEATURE_D3D11_OPTIONS in CheckFeatureSupport().
      msvcrtd: Forward operator_new_dbg to msvcrt.
      maintainers: Update Staging branch.
      fltmgr.sys: Implement FltGetRoutineAddress.

Andrey Gusev (1):
      po: Update Ukrainian translation.

André Hentschel (3):
      hlink/tests: Fix save data test on newer Windows 10.
      progman: Fix warning in PUT_SHORT macro (clang).
      msvcrt: Don't increment variables both in the loop header and body (clang).

Anton Romanov (2):
      wmp: Add OPEN/PLAY state change notifications.
      wmp: Add media completion notifications.

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

Dan Bassi (1):
      comctl32/treeview: Improve item text change detection.

Dmitry Timoshkov (19):
      taskschd: IRegistrationInfo::put_Description() should accept NULL input.
      taskschd: IRegistrationInfo::put_Author() should accept NULL input.
      taskschd: IRegistrationInfo::put_Version() should accept NULL input.
      taskschd: IRegistrationInfo::put_Date() should accept NULL input.
      taskschd: IRegistrationInfo::put_Documentation() should accept NULL input.
      taskschd: IRegistrationInfo::put_URI() should accept NULL input.
      taskschd: IRegistrationInfo::put_Source() should accept NULL input.
      mstask: Store comment using IRegistrationInfo.
      mstask: Store creator using IRegistrationInfo.
      user32: Add support for PNG icons.
      winspool.drv: Add A0, A1 and A2 paper sizes to generic.ppd.
      schedsvc: Add ATSvc server side stubs.
      schedsvc/tests: Add ATSvc RPC API tests.
      netapi32: Implement NetScheduleJobAdd.
      netapi32: Implement NetScheduleJobDel.
      netapi32: Implement NetScheduleJobEnum.
      netapi32: Implement NetScheduleJobGetInfo.
      netapi32: Properly implement NetApiBufferFree.
      services: Add a 3000 ms timeout to StartService.

Gijs Vermeulen (2):
      ntoskrnl.exe: Improve ObReferenceObjectByHandle stub.
      ntoskrnl.exe: Improve IoCreateSynchronizationEvent stub.

Giovanni Mascellani (1):
      d2d1: Fix outline join drawing.

Hans Leidekker (6):
      kernel32/tests: Fix typos.
      kernel32: Implement GetNamedPipeClient/ServerProcessId.
      kernel32: Add stub implementations of GetNamedPipeClient/ServerSessionId.
      wtsapi32: Implement WTSFreeMemory.
      wtsapi32: Improve the stub for WTSQuerySessionInformationW.
      crypt32: Return success from the CERT_STORE_CTRL_NOTIFY_CHANGE stub.

Henri Verbeet (4):
      wined3d: Get rid of the "binding" field from struct blt_info.
      wined3d: Get rid of the "tex_type" field from struct blt_info.
      wined3d: Select the correct texture level in draw_textured_quad().
      wined3d: Invalidate the texture's U/V address modes in draw_textured_quad().

Huw D. M. Davies (1):
      user32: Avoid using the comma operator in a while condition.

Ivan Kalvachev (1):
      kernel32: Add DECL_HOTPATCH to OutputDebugString functions.

Jacek Caban (10):
      windowscodecs: Store bitmap patterns in bitmap decoder info object.
      windowscodecs: Directly use patterns stored in component info object in IWICBitmapDecoderInfo::MatchesPattern implementation.
      windowscodecs: Store container formats in metadata component info object.
      windowscodecs: Store metadata container patterns in meatadata reader info object.
      windowscodecs: Directly use patterns stored in component info object in IWICMetadataReaderInfo::MatchesPattern implementation.
      jscript: Allow using reserved words as identifiers in ES5 mode.
      advapi32: Initialize svcctl_GetNotifyResults output parameter to NULL.
      jscript: Properly support overloaded values in to_int32.
      jscript: Properly parse large hexadecimal listerals.
      jscript: Added Date.prototype.toISOString implementation.

Jactry Zeng (3):
      riched20/tests: Add helpers for simplifying tests of ITextRange and ITextSelection.
      riched20: Implement {ITextRange,ITextSelection}::MoveEnd.
      riched20: Get ITextRange interface from QueryInterface instead of casting.

Józef Kucia (13):
      winevulkan: Generate code for extension name and version constants.
      winex11: Use VK_KHR_WIN32_SURFACE_* constants.
      winevulkan: Support VK_NO_PROTOTYPES in our Vulkan header.
      winevulkan: Add function pointer typedefs to Vulkan header.
      winevulkan: Get rid of unused "phys_dev" field from VkDevice_T.
      winevulkan: Pack structures better.
      winevulkan: Fix typos.
      wined3d: Require BPTC compression for SM5.
      wined3d: Do not allocate system memory for resources by default.
      d3d11/tests: Add additional tests for shader input/output matching.
      d3d10core/tests: Make it possible to run test with different swapchain size.
      d3d10core/tests: Add test for depth bias.
      user32: Add stub for EnableMouseInPointer().

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

Louis Lenders (9):
      kernel32/tests: Add simple test for SetThreadUILanguage.
      kernel32: Improve stub for SetThreadUILanguage.
      kernel32: Add stub for RequestDeviceWakeup.
      msctf: Return S_OK in TextStoreACPSink_OnTextChange.
      msctf: Return S_OK in TextStoreACPSink_OnSelectionChange.
      msctf: Return S_OK in TextStoreACPSink_OnLayoutChange.
      iexplore/iexplore.inf: Add svcVersion reg key and update to win7.
      wine.inf: Create catroot directory.
      srclient: Add new stub dll.

Matteo Bruni (8):
      wined3d: Disable sRGB writes in context_apply_blit_state().
      wined3d: Move draw_textured_quad() to context.c.
      wined3d: Introduce a function for drawing shaded quads.
      wined3d: Introduce a GLSL-based blitter.
      d3d9: Don't store currently used textures in the d3d9 device.
      ddraw: Return error on NULL viewport in {Get, Set}Viewport[2]().
      ddraw: Forbid setting viewport extents larger than the render target in SetViewport2().
      ddraw/tests: Remove a few unnecessary render state settings.

Michael Stefaniuc (6):
      wsdapi/tests: Remove redundant NULL checks before heap_free().
      wsdapi: Remove redundant NULL checks before heap_free().
      user32: Remove an ARRAY_SIZE()-like macro.
      user32: Use the available ARRAY_SIZE() macro.
      shell32: Remove redundant NULL checks before heap_free().
      winex11.drv: Print a debugstr and not the pointer to it.

Nikolay Sivov (14):
      shell32: Fix destination buffer size (Coverity).
      comdlg32: Add some traces for custom Places (Coverity).
      comdlg32: Fix some leaks on error paths (Coverity).
      comctl32/button: Keep control style.
      wincodecs: Add a helper for GetDecoderInfo().
      user32/static: Use correct brush color for centered image background.
      comctl32/static: Remove some misleading comments.
      comctl32/tests: Remove useless trace() message.
      user32/tests: Remove menu tests workarounds.
      user32/tests: Remove the rest of skips in menu tests.
      shell32/tests: Remove some tests workarounds.
      po: Update Russian translation.
      d3d11/tests: Add a test for setting multiple viewports.
      d3d10core/tests: Add a test for setting multiple viewports.

Owen Rudge (3):
      wsdapi/tests: Add test for Hello message Any header element.
      wsdapi: Return HRESULT from add_child_element and create_soap_header_xml_elements.
      wsdapi: Add support for custom elements in SOAP header.

Piotr Caban (4):
      msvcr110: Add __crtCaptureCurrentContext implementation.
      msvcr110: Add __crtCapturePreviousContext implementation.
      msvcrt: Support "China" country name in setlocale function.
      dwrite: Fix features dumping in analyzer_dump_user_features.

Sebastian Lackner (2):
      ntdll: Throw exception if invalid handle is passed to NtClose and debugger enabled.
      rpcrt4: Hold CS while iterating through protseqs list.

Sergio Gómez Del Real (6):
      kernel32/tests: Add tests for NormalizeString API function.
      ole32: Add support for loading enhmetafiles from presentation and contents streams to data cache.
      ole32: Add support for loading dibs from presentation streams to data cache.
      ole32: Add support for loading wmf from contents streams to data cache.
      ole32: Reset CLSID of datacache so that automatic entry is re-created on load.
      ole32/tests: Add tests for loading from presentation streams to data cache.

Stefan Dösinger (2):
      ddraw: Fix D3DEXECUTEDATA.dwSize handling.
      ddraw: Don't read past the end of the executebuffer.

Sven Hesse (8):
      d3d11: Implement d3d11_device_CreateTexture1D().
      d3d11: Implement d3d10_device_CreateTexture1D().
      wined3d: Implement support for 1D textures.
      d3d11: Create wined3d textures for 1D textures.
      d3d11: Create DXGI surfaces for 1D textures.
      d3d11: Implement d3d10_texture1d_GetDesc().
      d3d11: Implement d3d10_texture1d_Unmap().
      d3d11: Implement d3d10_texture1d_Map().

Tim Wanders (1):
      setupapi: Return CR_NO_SUCH_DEVNODE from CM_Get_Parent stub.

Zebediah Figura (22):
      dmusic: Call interface methods properly.
      dsound/tests: Call interface methods properly.
      quartz: Call interface methods properly.
      devenum: Register waveOut devices as codec devices.
      devenum: Register waveIn devices as codec devices.
      devenum: Register midiOut devices as codec devices.
      devenum: Register VFW codecs as codec devices.
      ntdll: Implement _alldvrm() and _aulldvrm().
      dmime: Call interface methods properly.
      dsound: Call interface methods properly.
      ole32: Always grab a reference to apt in CoGetClassObject().
      ole32: Add a helper for grabbing the current apartment or MTA.
      ole32: Allow more functions to use the implicit MTA.
      ole32: Report the implicit MTA in CoGetApartmentType().
      ole32/tests: Test CoWaitForMultipleHandles() in an uninitialized or MTA apartment.
      ole32: Allow unmarshalling objects into an implicit MTA.
      ole32: Allow marshalling objects from an implicit MTA.
      widl: Generate correct alignment for encapsulated union tags.
      rpcrt4: Dereference interface pointers in union arms.
      rpcrt4: We don't need to marshal type 0.
      widl: Size of an encapsulated union doesn't include the tag.
      ole32: Fix conditions in HGLOBAL_User*().

Zhiyi Zhang (3):
      comctl32/button: Remove style checking when handling BM_SETIMAGE.
      comctl32/button: Implement BCM_{GET,SET}IMAGELIST message.
      comctl32/button: Implement BCM_{GET,SET}TEXTMARGIN message.

Alexandre Julliard
[email protected]