The Wine development release 2.13 is now available. What's new in this release (see below for details): - Unicode data updated to Unicode 10.0.0. - Nicer looking default mouse cursors. - Persistent connections support in WinHTTP. - Message Framing protocol support in WebServices. - Improved metafile support in GdiPlus. - Debug registers support in x86-64 exception handling. - Anti-aliasing improvements in DirectWrite. - Various bug fixes. The source is available from the following locations: http://dl.winehq.org/wine/source/2.x/wine-2.13.tar.xz http://mirrors.ibiblio.org/wine/source/2.x/wine-2.13.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.13 (total 33): 32418 Skylanders Spyro's Adventure can't find USB RFID reader, needs hid.dll.HidD_SetOutputReport implementation 36612 valgrind shows a definite leak in winhttp/tests/notification.c 36613 valgrind shows an unintialized write in winhttp/tests/notification.c 38296 Ion Assault (Steam) crashes before the main menu (IWMReader::QueryInterface doesn't support IWMReaderAdvanced2, 'ae14a945-b90c-4d0d-9127-80d665f7d73e') 39833 File not found error when loading fmod audio in Dungeon of the Endless 42275 Biet-O-Matic chm help without directory entry 42528 Grand Theft Auto 5 crashes while loading 42537 Tomb Raider 2013 has medium graphic glitches 42653 Wine x64 does not set debug registers in exception record 42918 Command and Conquer Red Alert 3: should display at least silhouette (pSkipConstants parameter for D3DXCreateEffectEx is ignored) 43099 The Technomancer requires MFCreateSourceReaderFromByteStream implementation 43112 Guitar Pro 7 needs msvcp140.dll._Stat 43160 The Witcher 3: puppeteer lines appearing on character 43194 Uprising/Uprising 2: 3D world not displayed (solid grey/black screen) 43196 Eve Online Crash on macos wined3d-csmt.dll.so buffer_destroy_buffer_object() 43231 Dai-Senryaku Perfect 3.0:Not draw background with GDI. 43265 Regression makes Steam game Rabi-Ribi run too fast 43268 Wargaming.net Game Center needs msvcp140.dll._To_byte 43275 Sacred Gold v2.28 (GOG.com): invisible characters 43283 Crazyracing KartRider: Crashes on startup on unimplemented function ntoskrnl.exe.IoCreateNotificationEvent 43295 BitLord crashes on unimplemented function IPHLPAPI.DLL.if_nametoindex 43302 widl incorrectly generates _Proxy functions in header 43303 PHP crashes on unimplemented function api-ms-win-crt-math-l1-1-0.dll.acosh 43304 PHP crashes on unimplemented function api-ms-win-crt-math-l1-1-0.dll.atanh 43305 numpy crashes on unimplemented function api-ms-win-crt-math-l1-1-0.dll.log1p 43307 Wargaming Game Center periodically crashes with msvcp140.dll._Current_get 43312 valgrind shows a definite leak in dlls/d2d1/tests/d2d1.c 43315 Steam fails to start [After update Thu, 06 Jul 2017] 43317 Icons has a pink color background 43334 winealsa.drv: Warning while building (GCC 7.1.1) 43341 valgrind shows some definite leaks in dlls/gdiplus/tests/graphicspath.c 43348 valgrind shows some definite leaks in dlls/msacm32/tests/msacm.c 43373 valgrind shows an invalid free in dlls/dwrite/tests/font.c ---------------------------------------------------------------- Changes since 2.12: Akihiro Sagawa (3): po: Update Japanese translation. ntdll: Allow map_view() to allocate fixed memory between reserved area and non-reserved area. gdi32: Return non-zero VREFRESH value for display devices. Alex Henrie (10): msvcr120: Correct asinh specfile definitions. msvcr120: Correct erff specfile definition. msvcr120: If erff is not available, fall back to erf. msvcr120: Add acosh. msvcr120: Add atanh. msvcr120: Add erfc. msvcr120: Add expm1. msvcr120: Add log1p. msvcr120: Set errno in log2. msvcrt: Don't set errno in log functions if x is positive infinity. Alexandre Julliard (37): configure: Allow specifying different CFLAGS for the cross compiler. kernel32/tests: Wait for threads to terminate. user32: Implement LR_MONOCHROME for loading cursors. winex11: Load a monochrome cursor instead of converting a color one when possible. user32: Match cursor size in priority over color depth. gdi32: Avoid having the source alpha channel interfere with color comparisons in GdiTransparentBlt. server: Return the top surface window even when not using OpenGL. user32: Add a helper function for copying bits from a window surface. user32: Copy the bits of child windows when the parent has a surface. wineandroid: Add a generation number to the native window to catch when old buffers are queued. wineandroid: Hold on to the native window until we get a new one. tools: Add support for generating cursor files from SVG. user32: New high resolution cursors generated from SVG. comctl32: New high resolution cursors generated from SVG. ole32: New high resolution cursors generated from SVG. riched20: New high resolution cursor generated from SVG. wordpad: New high resolution cursor generated from SVG. user32/tests: Add some tests for WindowFromDC and destroyed windows. winex11: Store the process name at startup to avoid grabbing the loader lock again. opengl32: Add some tests for last error with an invalid DC. user32: Also disable the DC if the window is destroyed without a ReleaseDC. ntdll: Remove unnecessary helper to set debug registers. ntdll: Add helper functions for getting and setting thread context through the server. ntdll: Move NtSetContextThread implementation to the platform-specific files. ntdll: Move NtGetContextThread implementation to the platform-specific files. ntdll: Don't copy cached debug registers from the parent thread. wined3d: Make sure we are still using the correct window before setting pixel format. ntdll: Add platform-specific versions of the thread data structure. ntdll: Move the plaform-independent thread data to the GdiTebBatch TEB field. ntdll: Move the plaform-specific thread data to the SystemReserved2 TEB field. ntdll: Add support for debug registers in exceptions on x86-64. user32: Don't exclude clipped children from the copied window bits since they may be up to date. ntdll: Call NtRaiseException directly from RtlRaiseException on x86-64. ntdll: Remove the raise_exception helper function on x86-64. ntdll: Call NtRaiseException directly from RtlRaiseException on i386. ntdll: Add small assembly wrappers for snooping instead of saving/restoring the entire context. include: Undefine PARITY_NONE to avoid warnings. Alistair Leslie-Hughes (8): widl: Only generate Proxy Stubs when functions have the call_as attribute. mfreadwrite.idl: Add enum MF_SOURCE_READER_FLAG and EXTERN_GUID defines. wmvcore: Support IWMReaderStreamClock interface in IWMReader. wmvcore: Support IWMReaderTypeNegotiation interface in IWMReader. mfplat/tests: Add MFCreateAttributes tests. wmvcore: Support IWMReaderTimecode interface in IWMReader. wmvcore: Support IWMReaderPlaylistBurn interface in IWMReader. include: Support all version of BackgroundCopyManager from bits.h. Andrey Gusev (4): api-ms-win-core-psapi-ansi-l1-1-0: Add dll. api-ms-win-mm-time-l1-1-0: Add dll. api-ms-win-security-provider-l1-1-0: Add dll. winealsa.drv: Fix uninitialized variable warning. André Hentschel (3): vcomp: Add ARM64 support. winemaker: Remove trailing semicolon from PreprocessorDefinitions. wpcap: Fix build with newer pcap versions. Aurimas Fišeras (3): po: Update Lithuanian translation. po: Update Lithuanian translation. po: Update Lithuanian translation. Austin English (1): ntoskrnl.exe: Add IoCreateNotificationEvent stub. Can Taşan (1): po: Update Turkish translation. Daniel Lehman (1): kernel32/tests: Increase timeout for loader test. François Gouget (2): gdiplus: Remove a duplicate word in a comment. windowscodecs/tests: A spelling fix in an ok() message. Gerald Pfeifer (1): user.exe16: Fix ADD_TO_T macro. Hans Leidekker (21): webservices: Store byte records as WS_XML_BASE64_TEXT. webservices: Add support for union types in the writer. webservices: Add support for union types in the reader. webservices: Add support for appending byte records in the reader. webservices: Add support for setting the channel encoding. webservices: Store all text in native format in binary mode. webservices/tests: Add tests. webservices: Handle all supported native text types in the reader type conversion. webservices: Add support for 16-bit length text records in the writer. webservices: Add support for byte records in the writer. webservices: Add support for BOOL records in the writer. webservices: Add support for integer records in the writer. webservices: Add support for double records in the writer. webservices: Add support for GUID records in the writer. webservices: Add support for UNIQUE_ID records in the writer. webservices: Add support for DATETIME records in the writer. webservices/tests: Add tests. webservices: Add support for reading float values. webservices: Set default channel envelope and addressing versions. webservices: Write Action and To headers unless the addressing version is WS_ADDRESSING_VERSION_TRANSPORT. webservices: Implement the Message Framing Protocol. Henri Verbeet (10): d3drm/tests: Simplify a conditional expression. winex11: Only use glXSwapBuffersMscOML() for child windows. wined3d: Fix the WINED3DFMT_D24_UNORM_S8_UINT entry in wined3d_format_convert_from_float(). wined3d: Make a FIXME in cpu_blitter_clear() slightly more accurate. wined3d: Handle WINED3D_POOL_SYSTEM_MEM resources in ffp_blitter_use_cpu_clear(). wined3d: Simplify the render target check in ffp_blitter_clear(). wined3d: Split combined render target and depth/stencil clears if needed in ffp_blitter_clear(). wined3d: Avoid using the CPU blitter for clearing either depth or stencil on combined formats. wined3d: Avoid using the CPU blitter for clearing converted surfaces that aren't current on the CPU. wined3d: Drop the special case for "converted" surfaces in wined3d_surface_blt(). Hugh McMaster (23): regedit: Null-terminate REG_EXPAND_SZ and REG_MULTI_SZ hex data during concatenation if we reach EOF. regedit: Update the status bar text when a treeview node is renamed. regedit: Update the listview path when renaming a treeview node. regedit: Output an error message and exit with error code zero instead of calling exit(1). regedit: Update some resource strings associated with key parsing. regedit: Update string resources associated with key deletion. regedit: Remove the unused _CmdWndProc callback function from listview.c. regedit: Move treeview notify messages to a separate function. regedit: Remove the listview's sub-class and move its messages to childwnd.c. regedit: Use UpdateStatusBar() instead of updating the text manually. regedit: Re-implement some parts of the export operation. regedit: Read registry value information before exporting. regedit: Export value names from a separate function. regedit: Export REG_DWORD data from a separate function. regedit: Use a helper function to export hex data and REG_DWORD data. regedit: Export REG_SZ data via the export_data() function. regedit: Append a newline to the end of the export file. regedit: Export value names from the export_data() function. regedit: Remove an unused #define. regedit: Remove unused header includes from regproc.c. regedit: Re-size the data export buffer using the required size instead of doubling it. reg: Avoid using RegQueryInfoKey() to enumerate subkeys and values in the query operation. reg: Account for sizeof(WCHAR) when resizing the value name buffer during the query operation. Jacek Caban (22): server: Don't allow APCs on objects associated with completion port. winhttp/tests: Make notification tests more strict. winhttp: Store security_flags in request_t instead of netconn_t. winhttp: Allocate netconn_t separately from request_t. winhttp: Use notification flags to explicitly mark notifications that should signal an event. winhttp/tests: Make sure that all notifications were called before the end of a test. winhttp: Get rid of no longer needed netconn_init. winhttp: Pass socket address as sockaddr_storage to netconn_connect. winhttp: Store socked address in netconn_t. winhttp: Merge netconn_create and netconn_connect implementations. winhttp: Introduce global connected hosts store and keep reference to host in netconn_t. winhttp: Cache and reuse persistent HTTP connections. winhttp: Periodically free outdated connections. winhttp/tests: Added persistent connection tests. mshtml: Added IHTMLDOMNode3 stub implementation. mshtml: Forward duplicated IHTMLDOMNode3 functions to IHTMLDOMNode implementation. mshtml: Expose IHTMLDOMNode3 interface to scripts. mshtml: Support returning VT_NULL from return_nsstr_variant. mshtml: Added IHTMLDOMNode3::get_textContent implementation. mshtml: Added IHTMLDOMNode3::put_textContent implementation. server: Remove no loner needed fd NULL check (Coverity). rsaenh: Do not use stack variables out of frame (Coverity). Jactry Zeng (2): powershell: Add a stub program. kernel32: Add stub for ResolveLocaleName. Jens Reyer (2): make_unicode: Update data tables to Unicode 10.0.0. make_unicode: Use VerticalOrientation.txt from UCD. Józef Kucia (19): wined3d: Avoid creating event queries manually. wined3d: Clean up buffer_sync_apple(). wined3d: Introduce wined3d fence objects. d3d10core/tests: Prefer draw_color_quad() to custom pixel shader. d3d11/tests: Prefer draw_color_quad() to custom pixel shader. wined3d: Implement SM5 swapc instruction. d3d11/tests: Add test for swapc instruction. wined3d: Translate bfi, ubfe, ibfe instructions more carefully. wined3d: Translate ld_{raw, structured} instructions more carefully. d3d11/tests: Add additional tests for SM5 bit instructions. d3d11: Handle D3D11_MAP_WRITE map type. d3d11: Introduce d3d_blend_state_create() helper function. d3d11: Fix race condition in d3d_blend_state_create(). d3d11: Introduce d3d_depthstencil_state_create() helper function. d3d11: Fix race condition in d3d_depthstencil_state_create(). d3d11: Introduce d3d_rasterizer_state_create() helper function. d3d11: Fix race condition in d3d_rasterizer_state_create(). d3d11: Introduce d3d_sampler_state_create() helper function. d3d11: Fix race condition in d3d_sampler_state_create(). Kim Malmo (2): po: Update Norwegian translation. po: Update Norwegian translation. Kimmo Myllyvirta (1): ws2_32: Set return size when calling WSAIoctl with WS_SIO_GET_EXTENSION_FUNCTION_POINTER. Lauri Kenttä (1): po: Update Finnish translation. Marcus Meissner (1): gameux: Avoid freeing uninitialized interfaces (Coverity). Mark Jansen (1): shell32: Prevent a possible null pointer dereference in SHGetFileInfoW. Matteo Bruni (1): d3dx9: Get rid of a forward declaration. Michael Stefaniuc (5): d2d1: Make use of the available ARRAY_SIZE macro. d3dx9/tests: Use string concatenation for a multiline string. include: Fix the name of a method of IDirectMusicLoader. dmloader: Initialize a stack variable to avoid erratic test behavior. dmloader/tests: NUL terminate a wide string. Mikhail Paulyshka (1): msvcp140: Implement _To_byte. Nikolay Sivov (29): d3drm: Use existing helper to manage child frames array. d3drm: Use existing helper to manage lights array. d3drm: Use existing helper to manage visuals array. d3drm: Use existing helper to manage mesh groups. wininet: Fix potential use-after-free (Coverity). po: Update Russian translation. d2d1: Added a helper to trace D2D1_RECT_F arguments. d2d1/tests: Fix stroke style object leak (Valgrind). dwrite: Avoid repeated method calls during run rendering. advapi32/tests: Statically link to ConvertSidToStringSidA(). advapi32/tests: Fix a sid string leak (Valgrind). po: Update Russian translation. regedit: Simplify double-click listview handler. msacm32/tests: Fix a memory leak in tests (Valgrind). dwrite: Improve rendering parameters validation. dwrite: Use antialias mode set for bitmap render target. dwrite: Explicitly check rendering parameters pointer passed to DrawGlyphRun(). dwrite: Trace user-provided OpenType feature set. d2d1: Pass current text antialias mode down to IDWriteGlyphRunAnalysis. d2d1: Enforce text antialias mode vs text rendering mode consistency. d2d1: Force appropriate antialiasing mode when drawing text elements using 2D primitives. dwrite: Added ability to specify multiple families per fallback range. dwrite/tests: Use empty text in line metrics test. d3drm/tests: Fix a leak in tests (Valgrind). xmllite/tests: Use input stream helper in more tests. dwrite: Print missing table message as a trace. dwrite: Fix cache entry use-after-free (Valgrind). xmllite/reader: Implement MoveToAttributeByName(). xmllite/reader: Added a helper for setting current attribute cursor. Paul Gofman (9): d3dx9/tests: Add test for skip_constants effect parameter. d3dx9: Factor out is_parameter_used() function. d3dx9: Simplify init and cleanup in get_constants_desc(). d3dx9: Get rid of init_set_constants() function. d3dx9: Fail effect creation when parameter evaluator creation fails. d3dx9: Introduce d3dx_shader_get_ctab_constant() function and use it instead of ID3DXConstantTableImpl_GetConstantDesc(). d3dx9: Support skip_constants parameter for effect. d3dx9/tests: Add more tests for skip_constants effect parameter. d3dx9: Fix potential memory leak on HeapReAlloc() failure in get_constants_desc(). Piotr Caban (27): gdiplus: Remove unused clsid parameter from encode_image_func helpers. gdiplus: Add partial support for GdipDrawImagePointsRect on metafile. gdiplus: Add function for managing metafile objects id. gdiplus: Add support for ImageAttributes when drawing image to metafile. gdiplus: Support GdipSetTextRenderingHint in metafiles. gdiplus: Support GdipSetPixelOffsetMode in metafiles. msvcp90: Remove special handling of directories in tr2::sys::_File_size. gdiplus: Support GdipSetSmoothingMode in metafiles. gdiplus: Support GdipSetCompositingMode in metafiles. gdiplus: Support GdipSetCompositingQuality in metafiles. gdiplus: Support GdipSetInterpolationMode in metafiles. gdiplus: Add EMF+ properties records tests. msvcr120: Add fallback implementation of erf function. msvcr120: Add fallback implementation of asinh. gdiplus: Add DrawPath stub for metafiles. gdiplus: Add helper for saving path objects in metafile. gdiplus: Add helper for saving pens to metafile. gdiplus: Add partial support for GdipDrawPath on metafiles. gdiplus: Add partial support for GdipFillPath on metafiles. gdiplus: Fix GdipGetVisibleClipBounds behavior on metafiles. msvcr120: Fix exception object refcounting in __ExceptionPtrAssign. gdiplus: Add support for creating image object containing metafile. gdiplus/tests: Test drawing metafile image to emf+ file. gdiplus: Use VERSION_MAGIC2 constant in metafiles functions. gdiplus: Store newer gdi+ version in created GdipRegions. gdiplus: Add write_path_data helper to create EMF+ path object. gdiplus: Use write_path_data helper in GdipGetRegionData. Sebastian Lackner (5): webservices: Remove dead code in read_attribute_value_bin. reg/tests: Don't call RegCloseKey on uninitialized memory. wined3d: Return hr result in wined3d_event_query_create. configure: Improve check for if_nameindex. winhttp: Rename host_t to hostdata_t. Stefan Dösinger (6): msvcp140: Remove a redundant check. msvcp140: Implement _File_size. msvcp140: Implement _Current_get. msvcp140: Export _Current_set. msvcp140: Implement _Stat and _Lstat. msvcp140/tests: Port test_dir_operation to msvcp140. Vincent Povirk (2): gdiplus: Fix leak in widen_dashed_figure. gdiplus: Don't require specific gdi+ versions in metafile structures. Zebediah Figura (17): msi: Correctly format the template field for MsiProcessMessage(). msi: Allow setting NULL in MsiSetInteger(). msi: Provide the result of the last action. msi: Use the given record for INSTALLMESSAGE_ACTIONDATA. msi: Rewrite dump_record(). msi: Return the correct values from custom actions. msi: Properly parse empty format strings. user32: Calculate a window's minimized size even if it's already minimized. user32: Allow activating the desktop window. msi/tests: Use static linking for a couple functions. msi: Avoid a null pointer dereference. msi: Don't set _BrowseProperty. msi: Process ShowDialog/EndDialog after all other control events. msi: Don't queue a parent dialog to be shown in EndDialog. msi: Send the dialog created message in dialog_create(). krnl386.exe16: Fail int 21, 4e if the volume label is an empty string. dbghelp: Silence a noisy FIXME. -- Alexandre Julliard julliard@winehq.org