The Wine development release 2.18 is now available. What's new in this release (see below for details): - Radial gradients in Direct2D. - Asynchronous message support in WebServices. - Virtual memory write watches improvements. - FreeType 2.8.1 compatibility fixes. - Various bug fixes. The source is available from the following locations: http://dl.winehq.org/wine/source/2.x/wine-2.18.tar.xz http://mirrors.ibiblio.org/wine/source/2.x/wine-2.18.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.18 (total 22): 24281 Mafia 2 to slow to play 36359 valgrind shows a couple possible leaks in dsound/tests/dsound.c 37160 If D3D_DISABLE_9EX is defined, d3d9.h can't be compiled 37321 foobar2000 'Scheduler' plugin crashes on unimplemented function shell32.dll.ShellExec_RunDLLW 37418 Unable to paste images from linux clipboard to Wine apps workspace (affects Photoshop, Powerpoint etc.) 41380 Xenia emulator don't run (needs _register_thread_local_exe_atexit_callback implementation) 42154 Multiple games crash with built-in xinput (Deus Ex: Human Revolution, Thief (2014), Tomb Raider (2013), Bejeweled 3) 42715 Cxbx (Xbox emulator) doesn`t start (wine: Invalid address) 42983 Abwrite crashes with exception 0x40000015 43324 Beamng.drive requires msvcr120.dll.vsscanf 43326 Uplay (July 2017) needs dwmapi.DwmSetIconicLivePreviewBitmap 43453 Magic Online (Magic The Gathering: Online) Crashes due to race condition in secur32 43487 Magic Online (Magic The Gathering: Online) Crashes in dwrite 43549 Wickr 4.0.5: Crashes upon run 43699 Blackscreen in visual novel Hanahira 43701 Half-Life 2 (Counter-Strike:Source, Day of Defeat:Source) crash on start 43707 [GdiPlus] HatchStyle is incorrectly named in Wine. Should be GpHatchStyle 43714 ImageMagick crashes with msvcr120.dll._vfprintf_l 43715 Many applications (winecfg, ...) crash on startup with freetype 2.8.1 43716 freetype 2.8.1 breaks Wine build during font conversion with sfnt2fon 43774 Chromium-based browser engine (CEFv3) used by several games randomly crashes on shutdown (World of Warships 0.6.x) 43779 In ole32/storage32.c , miss check for the result of HeapAlloc ---------------------------------------------------------------- Changes since 2.17: Alex Henrie (5): msvcrt: Set the correct error number in pow(f). advapi32: Add stub for LsaLookupPrivilegeName. include: Add D3D_DISABLE_9EX checks to d3d9.h. shell32: Implement ShellExec_RunDLL. ntdll: Add stub for RtlIpv4StringToAddressW. Alexandre Julliard (32): winebuild: Put the thunk hint/name in FirstThunk too instead of zero. libwine: Also apply the load delta to the FirstThunk table. server: Don't return debug registers unless explicitly requested. kernel32/tests: Add tests for the register values at process start. ntdll: Store the kernel32 process entry point in a global variable. ntdll: Don't clear the last page of the initial stack. ntdll: Add support for setting a platform-specific initial context. ntdll: Set the initial process context on i386. ntdll: Set the initial process context on x86_64. ntdll: Suspend the process before attaching dlls, using the process initial context. kernel32/tests: Add some more tests for write watches. ws2_32/tests: Add some tests for write watches. ntdll: Remove some unnecessary parameters in helper functions. ntdll: Handle stack faults without fetching the view pointer. ntdll: Handle pages faults without fetching the view pointer when possible. ntdll: Add helper functions for verifying write access to a memory range. ntdll: Add a helper to lock the user output buffer during a server call. ntdll: Add helpers to lock the user output buffer during file reads. server: Always make pipes non-blocking. kernel32/tests: Fix some confusing WRITECOPY tests. kernel32/tests: Add more WRITECOPY tests. server: Keep track of mapped memory views. server: Make the memory ranges structure into a proper object. server: Access the list of committed ranges directly from the mapped view. server: Store the mapped file descriptor in the memory view. server: Implement NtAreMappedFilesTheSame functionality on the server side. server: Remove no longer used is_same_file() function. server: No longer store the mapping object in the dll structure. ntdll: No longer store the mapping handle with the view. dwmapi: Update the spec file. ntdll: Support loading binaries that start inside the DOS area. README: Remove references to removed Wiki pages. Alistair Leslie-Hughes (6): qedit/tests: Add test for the IAMTimelineGroup interface. include: Add uianimation.idl. msvcrt: Implement clearerr_s. hnetcfg: Implement INetFwPolicy2 get_Rules. ole32: Add pointer check. advapi32/tests: Added GetTokenInformation TokenLogonSid test. Andrew Eikum (2): wineandroid: Create OpenSL outputmix object globally. wineandroid: Don't use deprecated SLDataFormat_PCM struct. Andrey Gusev (2): api-ms-win-mm-joystick-l1-1-0: Add dll. dwmapi: Add DwmSetIconicLivePreviewBitmap and DwmSetIconicThumbnail stubs. Anton Romanov (2): secur32: Fix race between schan_(Encrypt|Decrypt)Message. secur32: Protect SSLRead/Write with cs on OSX. Dmitry Timoshkov (4): windowscodecs: Add support for palette image formats to PNG encoder. windowscodecs/tests: Add some tests for encoding 1bpp/8bpp images with a palette. ole32: Add a trace to IDataObject::GetData. ole32: Trace clsid in IStorage::SetClass. Fabian Maurer (16): strmiids: Add evr interface GUIDS. mfuuid: Add library. comctl32/taskdialog: Initial support for callback procedure. api-ms-win-core-processtopology-obsolete-l1-1-0: Add dll. api-ms-win-core-wow64-l1-1-1: Add dll. api-ms-win-core-errorhandling-l1-1-3: Add dll. api-ms-win-core-file-l2-1-2: Add dll. api-ms-win-core-version-l1-1-1: Add dll. api-ms-win-ntuser-rectangle-l1-1-0: Add dll. evr/tests: Add tests. propsys: Added PropVariantToBoolean with some tests. evr: Add COM classfactory. evr: Add EnhancedVideoRenderer coclass. evr/tests: Run the tests with todo_wine instead of skipping them. shell32/tests: Fix typo. dx8vb: Add stub dll. Gijs Vermeulen (1): msvcrt: Add _vfprintf_l. Hans Leidekker (8): msi: Pass correct length to GetDateFormatW. webservices: Add traces. webservices: Use separate dictionaries for sending and receiving messages. webservices: Read the string table in all sized envelopes. webservices: Add asynchronous support for WsReceiveMessage. webservices/tests: Add tests for asynchronous WsReceiveMessage. webservices: Support more text types in is_empty_text_node. webservices: Implement WS_REPEATING_ELEMENT_CHOICE_FIELD_MAPPING in the reader. Henri Verbeet (23): include: Convert dxgitype.h to IDL. include: Convert dcommon.h to IDL. include: Convert dxgiformat.h to IDL. d2d1/tests: Introduce get_surface_readback(). d2d1/tests: Add some bitmap brush tests for skew transformations and transformed geometry. d2d1: Unify the various brush pixel shaders. d2d1: Unify the outline and fill pixel shaders. d2d1: Use the "world" position instead of the render target position in the pixel shader. d2d1: Implement d2d_linear_gradient_brush_SetOpacity(). d2d1: Implement d2d_linear_gradient_brush_GetOpacity(). d2d1: Create shader resource views for gradient stop collections. d2d1: Implement linear gradient brushes. d2d1: Implement d2d_d3d_render_target_CreateRadialGradientBrush(). d2d1: Implement d2d_radial_gradient_brush_GetCenter(). d2d1: Implement d2d_radial_gradient_brush_SetCenter(). d2d1: Implement d2d_radial_gradient_brush_GetGradientOriginOffset(). d2d1: Implement d2d_radial_gradient_brush_SetGradientOriginOffset(). d2d1: Implement d2d_radial_gradient_brush_GetGradientStopCollection(). d2d1: Implement d2d_radial_gradient_brush_GetRadiusX(). d2d1: Implement d2d_radial_gradient_brush_GetRadiusY(). d2d1: Implement d2d_radial_gradient_brush_SetRadiusX(). d2d1: Implement d2d_radial_gradient_brush_SetRadiusY(). d2d1: Implement radial gradient brushes. Hugh Bellamy (3): gdiplus: Fix validation of HatchStyle in GdipCreateHatchBrush. gdiplus: Define GpHatchStyle. gdiplus: Add GdipCreateLineBrushFromRectWithAngle tests. Hugh McMaster (21): reg/tests: Use a helper function to create registry keys. reg/tests: Use a helper function to add registry values. reg/tests: Use a helper function to write registry files. reg/tests: Combine and rename the test_import_*str functions. reg/tests: Test the placement of the overwrite file flag [/y]. reg/tests: Compare registry export data with expected data. regedit/tests: Use a helper function to write registry files. regedit/tests: Combine and rename the r_exec_import_*str functions. regedit: Export Unicode registry files by default. reg/tests: Test registry export with a simple data structure. reg/tests: Test registry export with a complex data structure. reg/tests: Test registry export against order of data creation. reg/tests: Use a helper function to delete registry values. reg/tests: Use a helper function to delete registry keys. regedit/tests: Use a helper function to delete registry keys. regedit/tests: Test registry export with an empty key. regedit/tests: Test registry export with a simple data structure. regedit/tests: Test registry export with a complex data structure. regedit/tests: Test registry export against order of data creation. regedit/tests: Use a helper function to delete registry values. reg/tests: Use todo_wine_if in the registry export tests. Huw D. M. Davies (16): include: Add sapi.idl. include: Add sapiddk.idl. include: Add sperror.h. sapi: Add a stub dll. sapi: Register the typelib. sapi: Register the classes from sapiddk.idl that would otherwise not get registered. sapi: Create the Voices registry key. sapi: Add a stub SpDataKey object implementation. sapi: Implement SpDataKey::SetKey(). sapi: Add a stub SpObjectTokenEnum object implementation. sapi: Implement SpObjectTokenEnum::SetAttribs(). sapi: Implement SpObjectTokenEnum::GetCount(). sapi: Add a partial implementation of SpObjectTokenEnum::Next(). sapi: Add a stub SpObjectTokenCategory object implementation. sapi: Implement SpObjectTokenCategory::SetId(). sapi: Add a partial implementation of SpObjectTokenCategory::EnumTokens(). Ihsan Akmal (15): d3d11.idl: Add missing D3D11_DEVICE_CONTEXT_TYPE enums and D3D11_FEATURE_DATA_* declaration. dxgi1_2.idl: Add missing structs and interfaces. include: Add dxgi1_3.idl. include: Add d3d11_2.idl. include: Add d3d11_3.idl. dxgiformat.h: Add missing DXGI_FORMAT enums. include: Add dxgicommon.idl. include: Add dxgi1_4.idl. include: Add dxgi1_5.idl. include: Add dxgi1_6.idl. include: Add missing dxgi.idl constants. include: Add missing dxgi1_2.idl constants and interfaces. include: Add missing d3d11.idl structs and enums. include: Add missing d3d11_1.idl enums and interfaces. include: Add d3d11_4.idl. Jacek Caban (13): fusion: Return S_OK in InitializeFusion. ucrtbase: Added _register_thread_local_exe_atexit_callback implementation. mshtml: Initialize DispatchEx in HTMLDOMNode_Init. mshtml: Introduce EventTarget_Init. mshtml: Introduce EventTarget_QI. mshtml: Added IEventTarget stub implementation. ntdll/tests: Test NtQueryVolumeInformationFile calls on named pipe object. mscoree: Added CreateConfigStream implementation. mscoree: Use CreateConfigStream in parse_config_file. rpcrt4: Wait for available pipe when connecting to busy server. mshtml: Inherit document mode from parent document. mshtml: Correctly handle VT_EMPTY in set_event_handler_disp in standard compliant mode. mshtml/tests: Run events tests in IE9 mode. Józef Kucia (3): xinput1_1: Avoid DLL forwarding. xinput1_2: Avoid DLL forwarding. xinput1_4: Avoid DLL forwarding. Martin Payne (1): user.exe16: Support Windows 2 menus. Matteo Bruni (8): wined3d: Don't claim SYSMEM location to be current if memory was evicted. wined3d: Consider all the system memory locations when choosing the surface upload path. wined3d: Always initialize fx field in struct wined3d_cs_blt_sub_resource (Valgrind). wined3d: Add ARB_texture_filter_anisotropic extension. wined3d: Accept creation flags for 3D textures. d3d9/tests: Properly check for mipmap autogeneration support. d3d9/tests: Add a test for nonrenderable format D3DUSAGE_AUTOGENMIPMAP support. wined3d: Advertise AUTOGENMIPMAP only for renderable and filterable formats. Michael Müller (2): xinput9_1_0: Avoid DLL forwarding. ntdll: Fix parameters of RtlIpv4StringToAddressExW. Michael Stefaniuc (6): kernel32: Remove redundant attributes check. msi: Remove redundant NULL checks before msi_free(). gdiplus: Remove a wrapper around GdipFree(). fonts: Fix the character count in some fonts. tools/sfnt2fon: Just skip all glyphs below 0x20. fonts: Increase the Em size to fix a build failure with freetype 2.8.1. Nikolay Sivov (38): d3d9/tests: Test for GetDC()-capable backbuffer created with D3DFMT_UNKNOWN format. shell32: Implement Parent() property for ShellDispatch objects. shell32: Added remaining Application() properties. d2d1: Improve figure bounds updating for quadratic beziers. gdiplus: Implement playback for EmfPlusRecordTypeSetPixelOffsetMode. gdiplus: Implement playback for EmfPlusRecordTypeSetCompositingQuality. gdiplus: Implement playback for EmfPlusRecordTypeSetInterpolationMode. d3d9/tests: Some tests for D3DPRESENTFLAG_LOCKABLE_BACKBUFFER mode. shell32: Implement Title property using shellfolder API. dwrite: Added IDWriteFontFallbackBuilder stub. dwrite: Added custom IDWriteFontFallback stub. dwrite/tests: Fix fallback builder test skip. dwrite: Add warning message for unsupported interfaces. dwrite: Implement AddMapping(). propsys: Fix negative numeric source handling in PropVariantToBoolean(). dwrite: Use single per-process local file loader. include: Added stgprop.h. shell32: Partially implement MapColumnToSCID(). msvcr120: Added vsscanf() and vswscanf(). shell32: Use regular helper to trace IID, downgrade QI failures to warnings. gdi32: Remove runtime check for FT_Set_Charmap(). gdi32: Pick first charmap if none was selected using preferred encoding. shell32: Use shellfolder API to construct FolderItems. shell32: Store simple full path for FolderItem. shell32: Implement FolderItem attributes properties. shell32: Silence fixme for tested case. shell32: System shellfolders don't implement GetDefaultColumn(). shell32: System shellfolders don't support GetDefaultSearchGUID() in recent versions. shell32: Implement ParseName() using shellfolder API. shell32: Fix IEnumIDList::Next() called for multiple items. shell32: Simplify Verbs() method. shell32: Implement FolderItem::Name() property getter. shell32: Get rid of original variant used to create a Folder. shell32: Stop using fixed size buffers for display names. shell32: Added missing arguments to trace messages. shell32: PickIconDlg() is documented now. include: Added IWinInetHttpTimeouts definition. msxml3/httpreq: Added ISupportErrorInfo stub. Stefan Dösinger (2): include: CHOOSECOLOR.lCustData is an LPARAM. ntdll: Do not queue a completion status if pipe ops fail synchronously. Vincent Povirk (5): shell32: Support SFGAO_LINK in unix shell namespace. shell32: IShellLink::GetPath returns S_FALSE if there's no path. shell32: Set shelllink path when setting pidl. shell32/tests: Setting a PIDL with no path resets the path. shell32: Add support for find data in IShellLink:GetPath. Zebediah Figura (11): msi: Don't execute a deferred custom action when not running the install script. ieframe: Add stub implementation of InternetExplorerManager. msi/tests: Factor out success checks into table building functions. msi/tests: Move a test from format.c to package.c. msi: Remove a superfluous substructure. msi: Store the current script in the package. msi: Add a missing UI message in the ExecuteAction action. msi/tests: Add a helper to delete an installed package. include: Update BrowserNavConstants enum for Win10. shlwapi: URL schemes may contain hyphen, plus, or period. mshtml: Don't query for an INewWindowManager if the client site is NULL. -- Alexandre Julliard julliard@winehq.org