The Wine development release 2.17 is now available. What's new in this release (see below for details): - Better support for grayscale mode in DirectWrite. - Per-application StartupWMClass in desktop files. - Virtual memory compatibility improvements. - Palette handling improvements in WindowsCodecs. - Reply messages improvements in WebServices. - Various bug fixes. The source is available from the following locations: http://dl.winehq.org/wine/source/2.x/wine-2.17.tar.xz http://mirrors.ibiblio.org/wine/source/2.x/wine-2.17.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.17 (total 20): 12185 Before You Know It crashes 19177 Gorky-17 does not start in Direct3D HAL (SW Renderer is OK) 29958 UIRibbon Framework not implemented: 926749fa-2615-4987-8845-c33e65f2b957 38622 gdiplus should return PixelFormat32bppARGB instead of PixelFormat8bppIndexed for a grayscale PNG file 39885 Cannot allocate more than 32gb of memory 41370 TTM_GETCURRENTTOOL returns always FALSE when send from TTN_NEEDTEXT handler. 41827 Wrong specular rendering with some applications 42427 Steam application claims no internet connection 43046 Multiple apps need api-ms-win-crt-stdio-l1-1-0.dll.__stdio_common_vfprintf_s (Civilization VI, Mafia 3, SketchBook) 43197 5Plus: Print dialog crashes with illegal floating point operation 43290 MyLifeOrganized crashes when mousing over tabs 43319 Steam Store/Uplay/Epic Games Launcher no longer display text in Windows 7 mode (libcef applications) 43476 Skyrim hardware detection spinlocks with CSMT enabled 43519 Path of Exile: Corrupt/flickering UI textures after ~1 minute of gameplay 43577 unit test: DBGrid inplace editor dropdown does not work and worked on version 2.0.2 43586 Dead Space: no shadows in game 43649 dbgeng stub DebugCreateEx causes jadesentinel crash in JADE thin client 43658 Text in Deletion Confirmation MsgBox has wrong background colour 43668 Terris Universal Remote UFB 234 - update database does not work 43685 Many games fail to start, or run without audio ---------------------------------------------------------------- Changes since 2.16: Alex Henrie (7): msvcrt: Note that __stdio_common functions are for ucrtbase. ucrtbase: Add __stdio_common_vfprintf_s. ucrtbase: Add __stdio_common_vfwprintf_s. include: Add multimon.h. shell32/tests: Add tests for FolderItems_Item and FolderItems_get_Count. shell32: Implement FolderItems_Item. shell32: Implement FolderItems_get_Count. Alexandre Julliard (29): ntdll: Add helper functions for getting and setting page protection bytes. ntdll: Add a helper function for setting bits in page protection bytes. ntdll: Add a helper function for applying page protection bytes with mprotect. ntdll: Pass the allocation size to the alloc_virtual_heap function. ntdll: Allocate the per-page protection byte separately from the view. ntdll: Remove the view parameter from the page protection helpers. ntdll: Allocate views out of a memory block instead of using a heap. ntdll: Don't do partial writes in virtual_uninterrupted_write_memory. ntdll: Use the find_view_range helper function to check for overlapping views. rbtree.h: Add a wine_rb_prev iteration helper function. ntdll: Store memory views in a binary tree instead of a list. server: Enforce valid flags for file mappings. ntdll: Disallow changing PAGE_NOCACHE flag for individual pages. ntdll: Remove the no longer used VPROT_NOEXEC flag. ntdll: Store the SEC_* section flags directly in the view protection. ntdll: Ignore attempts to commit pages in an already committed anonymous mapping. kernel32/tests: Retrieve the page size only once. kernel32/tests: Fix mapping protection tests to succeed on recent Windows versions. kernel32/tests: Also run mapping tests against an anonymous mapping. kernel32/tests: Also run mapping tests against an executable image. ntdll: Avoid accessing builtin views outside of the critical section. ntdll: Trace views once they are properly initialized. ntdll: Fix access rights checks for mapping objects. ntdll: Verify page protection against the mapping protections in VirtualAlloc and VirtualProtect. ntdll: Pass the mapping file access instead of the protection bits to the server. ntdll: Get rid of the VPROT_VALLOC flag. ntdll: Also release memory past the last view in remove_reserved_area. ntdll: Don't use the mapping handle to detect file mappings. kernel32/tests: Avoid some delays in the process test. Alistair Leslie-Hughes (6): include: Added IMFMediaEventQueue interface. include: Add interfaces IMFMediaTypeHandler, IMFStreamDescriptor. mfplat: Added MFCreateEventQueue stub. include: Add IMFSinkWriterEx interface. mfplat: Implement MFCreateStreamDescriptor. mfplat: Implement MFCreateEventQueue. Andrey Gusev (1): unicows: Fix CreateDialogParamW spec file entry. Daniel Lehman (3): wininet: Fix proxy bypass with wildcard if domain length matches with server. msvcrt: Use exception base to create copy constructor pointer. msvcrt: Protect onexit table with critical section. Dmitry Timoshkov (11): windowscodecs: Implement IWICBitmapDecoder::CopyPalette in PNG decoder. windowscodecs: Fix IWICBitmapEncoder::SetPalette for a not initialized case in PNG encoder. windowscodecs/tests: Make create_decoder() return an error code in PNG tests. windowscodecs/tests: Add more tests for loading PNG images in various color formats. windowscodecs: Implement IWICBitmapFrameEncode::SetPalette in JPEG encoder. windowscodecs: Fix IWICBitmapEncoder::SetPalette for a not initialized case in JPEG encoder. windowscodecs: Fix IWICBitmapEncoder::SetPalette for a not initialized case in BMP encoder. windowscodecs: Implement IWICBitmapFrameEncode::SetPalette in BMP encoder. windowscodecs: Implement IWICBitmapDecoder::CopyPalette in TIFF decoder. windowscodecs: Implement IWICBitmapFrameEncode::SetPalette in the TIFF encoder. windowscodecs: Fix IWICBitmapEncoder::SetPalette for a not initialized case in TIFF encoder. Fabian Maurer (11): shell32: Draw text on message boxes without background. winecfg: Remove processorArchitecture from manifest. user32: Add stub for CalcMenuBar. api-ms-win-core-heap-l2-1-0: Add dll. api-ms-win-core-localization-obsolete-l1-3-0: Add dll. api-ms-win-core-shlwapi-obsolete-l1-2-0: Add dll. api-ms-win-core-synch-l1-2-1: Add dll. mfidl.idl: Add interfaces IMFClockStateSink, IMFGetService. dxva2api.idl: Add interface IDirectXVideoMemoryConfiguration. evr: Add interface definitions for EVR filter. comctl32/tests: Dump failed message sequence correctly. François Gouget (7): dsquery: Case fixes. ieproxy: Case fixes. mshtml: A spelling fix in a WARN() message. mshtml: Make HTMLDocumentNode_init_dispex_info() static. dwrite: Factory_release_cached_fontface() is unused so remove it. webservices: Alloc_utf16_text() is unused, so remove it. gdiplus: Add a trailing linefeed to an ERR() message. Hans Leidekker (13): webservices: Store headers in WsReadEnvelopeStart. webservices: Implement WsSendReplyMessage. webservices: Return HRESULT from insert_string. webservices: Store the action header as WS_XML_STRING. webservices: Add a mechanism to use the builtin static dictionary in the writer. webservices: Also use the dictionary for writing UTF-8 text values. webservices: Build a session dictionary for strings not present in the static dictionary. webservices: Add support for multiple message descriptions in WsReceiveMessage. webservices: Parse the MessageID header. webservices: Include a RelatesTo header in reply messages. winhttp: Trace errors from send and recv. winhttp: Allocate a credential handle for each session. winhttp: Implement WINHTTP_OPTION_SECURE_PROTOCOLS. Hugh McMaster (3): reg/tests: Delete the test registry key before starting each test. reg/tests: Add basic tests for the export operation. setupapi: Recursively remove any subkeys before calling NtDeleteKey(). Huw D. M. Davies (4): riched20: Remove an unused parameter. riched20: Correctly release the STGMEDIUM. riched20: Don't special case the non-stretching case. riched20: Don't scale the picture size with dpi. Jacek Caban (12): mshtml: Added IHTMLDocument7::get_characterSet implementation and use it in get_charset. mshtml: Added IHTMLDocument7::get_defaultView implementation and use it for get_parentWindow implementation. mshtml: Forward common function from IHTMLDocument7 to IHTMLDocument2. mshtml: Added implementation of IHTMLDocument7 event handler properties for supported events. mshtml: Expose IHTMLDocument7 interface to scripts. mshtml: Added IHTMLDocument7::head property implementation. mshtml: Added IHTMLDocument7::getElementsByClassName implementation. mshtml: Forward IHTMLElement6::get_nodeName to IHTMLDOMNode implementation. mshtml: Forward IHTMLElement6::get_tagName to IHTMLElement implementation. mshtml: Forward attributes functions from IHTMLElement6 to older interfaces. mshtml: Expose IHTMLElement6 to scripts. mshtml: Fixed getElementsByTagName for comment elements. Jonathan Doron (2): ntdll: Apply owner and group regardless of the SE_OWNER_DEFAULTED or SE_GROUP_DEFAULTED flags. kernel32/tests: Test suspended process states. Józef Kucia (1): d3d11/tests: Add test for conservative depth output. Marcin Mikołajczak (1): po: Update Polish translation. Martin Storsjo (1): msvcrt: Implement setjmp/longjmp on aarch64. Matteo Bruni (13): d3d9/tests: Add a test for "NULL" FourCC format. wined3d: Return the up-to-date locations from blitters. wined3d: Don't take the upload path for blits to formats requiring conversion. wined3d: Restore support for d3d9 extension formats. wined3d: Get rid of most of the redundant query flushes. d3d9/tests: Trace the current test in test_signed_formats(). d3d8/tests: Trace the current test in test_signed_formats(). wined3d: Copy the module handle to a local variable in wined3d_cs_run(). wined3d: Disable YUV formats when not supported. wined3d: Disable the ARBfp blitter on core profile. opengl32/tests: Fix typo in ok() condition. opengl32: Support a couple new typedefs in the XML. opengl32: Update to OpenGL 4.6. Michael Müller (2): wined3d: Recognize conservative depth output registers. wined3d: Add conservative depth output information to GLSL pixel shaders. Nikolay Sivov (22): dwrite: Handle 8bpp gray bitmaps for bitmap target. dwrite: Validate buffer size passed to CreateAlphaTexture() against analysis texture type. dwrite: Use 8bpp bitmaps in grayscale mode. d2d1: Use 8bpp text bitmaps for grayscale mode. dbgeng: Added DebugCreateEx() stub. dwrite: Fix 8bpp bitmap copy. msxml3/httpreq: Support HEAD request. dwrite: Support DWRITE_TRIMMING_GRANULARITY_WORD mode. comctl32/tooltips: Return full toolinfo from TTM_GETCURRENTTOOL. comctl32/tooltips: Set current tool before sending TTN_NEEDTEXT. comctl32/tooltips: Calm down trace messages. qcap: Remove redundant filter state check. usp10/tests: Remove special itemization failure test that doesn't happen. usp10/tests: Move initialization to a separate function, add another ScriptShape() test. usp10/tests: Remove workarounds that are no longer useful. shell32: Implement Application() property for Folder and FolderItems. dwrite/tests: Added a helper to initialize test text source. d2d1: Use better bezier segment bounds approximation when updating figure bounds. d2d1: Implement GetBounds() for path geometries. d3d9: Ask for texture GetDC() capability GET_DC based on texture format instead of initial swapchain buffer format. shell32/tests: Remove workarounds that are no longer relevant. shell32: Implement Application property for FolderItem. Paul Gofman (3): d3dx9/tests: Add test for null shaders in effect. d3dx9: Return E_FAIL from ValidateTechnique() for techniques with unsupported shaders. d3dx9: Fix zero object_id handling in d3dx9_base_effect_get_pass_desc(). Rafał Mużyło (1): itss: Fix handling non-ASCII content paths. Sebastian Lackner (1): kernel32: Add stub for GetProcessWorkingSetSizeEx. Stefan Dösinger (1): ntdll: Make RtlDeregisterWaitEx(handle, INVALID_HANDLE_VALUE) thread safe. Vincent Povirk (9): gdiplus: Account for gdi32 transform in SOFTWARE_GdipDrawPath. gdiplus: Account for gdi32 transforms in text functions. gdiplus: Account for gdi32 transform in GdipSetClipHrgn. windowscodecs: Generate a palette for color-keyed grayscale PNG's. winex11: Convert process name to lowercase for WM name hint. winemenubuilder: Set StartupWMClass for shortcuts to exe files. loader/wine.inf: Put 32-bit .ds fakedlls in windows/twain_32. sane.ds: Add support for word list options. shell32: Stub SHOpenWithDialog. Zebediah Figura (9): msi: Remove ACTION_PerformUIAction(). msi: Simplify message type processing. msi: More fully implement the ExecuteAction action. msi: Implement the INSTALL top-level action. msi: Perform the given action, or INSTALL, from MsiInstallProduct(). msi/tests: Some cleanup for external UI tests. msi/tests: Add external UI tests for top-level actions. ieframe: Parse multiple command-line arguments. dsquery: Register CommonQuery coclass. -- Alexandre Julliard julliard at winehq.org