The Wine development release 2.21 is now available. What's new in this release (see below for details): - Still more metafile support in GdiPlus. - Indirect draws support in Direct 3D. - Calling convention fixes on ARM. - Improved serial port detection on Linux. - Services fixes on WoW64. - Better DPI scaling in the Shell Explorer. - Various bug fixes. The source is available from the following locations: http://dl.winehq.org/wine/source/2.x/wine-2.21.tar.xz http://mirrors.ibiblio.org/wine/source/2.x/wine-2.21.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.21 (total 16): 34601 Hydro Thunder from Midway Arcade Treasures 3 crashes quickly after the start 37669 Resetting a write watch can cause memory access violation in kernel 38334 SpinTires crashes with unimplemented function d3dx9_36.dll.D3DXFrameFind 42568 user32/tests/msg.ok intermittent failure in SendMessage from other thread 42569 user32/tests/clipboard intermittent failure ("expected freed memory") 42570 dinput/tests/mouse intermittently fails in Acquire() and GetDeviceData() 42863 Multiple games require sample_c_lz for cube/array textures (Winexy, Witcher 3, Flame in the Flood) 43273 The Witcher 3 freezes the system in a certain area of the game 43316 Process Hacker 2.x needs ADVAPI32.dll.LsaLookupPrivilegeName 43405 NieR:Automata - Most bullets are invisible 43483 Medusa Demo crashes with unimplemented function d3dx10_43.dll.D3DX10PreprocessShaderFromMemory 43750 USB "ttyACM0" serial port not being created 43853 Keepass2 fails to launch 43884 MSVC LINK.EXE version 14.11.25547.0 crashes due to unimplemented function _memicmp_l 43939 comctl32 cannot load its assembly on arm 43952 kernel32/tests/console.ok fails ---------------------------------------------------------------- Changes since 2.20: Alex Henrie (8): mountmgr: Map ttyACM devices to COM ports on Linux. vbscript/tests: Fix test for WeekDayName(foo, bar, 0). kernel32/tests: Detect and handle a redirected stdin. libport: Move rint fallback implementations from msvcrt to libport. d3dx9/tests: Correct Fresnel reference term. d3dx9/tests: Provide 8 significant digits in matrix reference values. d3dx9/tests: Relax D3DXQuaternionToAxisAngle test stringency a bit. d3dx9/tests: Use a helper function to set matrix values in math tests. Alexandre Julliard (23): configure: Require floating point support on ARM. setupapi: Use correct architecture for fake dlls on ARM and ARM64. wldap32: Use WINAPIV calling convention for variadic functions. ntdll: Use WINAPIV calling convention for variadic functions. kernel32/tests: Use WINAPIV calling convention for variadic functions. msvcrt: Use WINAPIV calling convention for variadic functions. include: Use WINAPIV calling convention for variadic functions. attrib: Use WINAPIV calling convention for variadic functions. cmd: Use WINAPIV calling convention for variadic functions. ipconfig: Use WINAPIV calling convention for variadic functions. net: Use WINAPIV calling convention for variadic functions. netstat: Use WINAPIV calling convention for variadic functions. reg: Use WINAPIV calling convention for variadic functions. regedit: Use WINAPIV calling convention for variadic functions. regsvr32: Use WINAPIV calling convention for variadic functions. taskkill: Use WINAPIV calling convention for variadic functions. uninstaller: Use WINAPIV calling convention for variadic functions. xcopy: Use WINAPIV calling convention for variadic functions. include: Use the hard-float calling convention for Windows APIs on ARM ntdll: Don't change packing of fd cache entries. user32: Pass the text length explicitly to EDIT_EM_ReplaceSel. user32/tests: Avoid strlen in traces. readme: Patches should now be sent to wine-devel. Alistair Leslie-Hughes (4): oledb32: DataConvert support DBTYPE_VARIANT -> DBTYPE_R4. oledb32: Fix typo. quartz: Output This in TRACE statements. quartz: Output This in TRACE statements. Andrew Eikum (4): explorer: Don't leak PIDL. explorer: Scale element sizes by DPI. shell32: Scale explorer browser sizes by DPI. shell32: Size ShellView column widths by font width. Andrey Gusev (6): hidclass.sys: Remove check for negative value. iphlpapi: Change variable type. usp10: Remove worthless check. mf: Add MFGetSupportedMimeTypes stub. d3dx10: Add D3DX10PreprocessShaderFromMemory stub. d3dx11: Fix D3DX11CompileFromMemory spec entry. Andrey Semakin (3): winemine: Add WM_RBUTTONUP to cases of TestMines(). winemine: Save board without need to correctly finish the app. winemine: Add Reset Results button. Aric Stewart (2): usp10/tests: Add fingerprint to help ensure proper font for testing. hidclass.sys: Handle opportunistic reads. Aurimas Fišeras (1): po: Update Lithuanian translation. Austin English (2): readme: Clarify the wording a bit. preloader: Fix a typo in error message. Dmitry Kislyuk (1): vbscript: Improve parsing of separators in functions and classes. Dmitry Timoshkov (1): ws2_32/tests: Add some tests for sockets bound to a completion port. Donna Whisnant (2): oleaut32: Add ARM support to DispCallFunc(). oleaut32: Fix DispCallFunc() stdcall test to be ABI not x64 specific. Fabian Maurer (2): comctl32/tests: Add taskdialog callback tests. comctl32/taskdialog: Added support for nDefaultButton. Gerald Pfeifer (3): fusion: Remove unused to_multibyte function. advapi32/tests: Fix two clang warnings in test_LookupAccount SID_NAME_USE being out of range. configure: Use the -Wno-packed-not-aligned compiler option if available. Hans Leidekker (4): include: Add missing BCRYPT_CHAIN_MODE definitions. advapi32: Fix EnumServicesStatus on Wow64. advapi32: Fix EnumServicesStatusEx on Wow64. advapi32: Fix QueryServiceConfig2 on Wow64. Hugh McMaster (2): regedit: Correctly export hex values with no data. regedit: Correctly export REG_DWORD values with no data. Huw D. M. Davies (2): rpcrt4: Don't free the argument if the freer was called, unless it's a simple ref. ole32: Correctly track the number of inits when auto-joining the MTA. Jacek Caban (10): jscript: Added support for VT_UI2 VARIANT types. mshtml: Added support for VT_UI2 in IDispatchEx. mshtml: Added DOMContentLoaded event implementation. mshtml: Expose IEventTarget to scripts. mshtml/tests: Added script IE9+ event tests. mshtml: Introduce variant_bool helper. mshtml: Added IDOMEvent::get_defaultPrevented implementation. mshtml: Use variant_bool helper where appropriate. mshtml: Added IDocumentSelector::querySelector implementation. mshtml: Merge hlink.c into persist.c. Józef Kucia (28): wined3d: Add ARB_draw_indirect extension. wined3d: Factor out acquire_graphics_pipeline_resources(). wined3d: Implement indirect draws. d3d11: Implement d3d11_immediate_context_DrawInstancedIndirect(). d3d11: Implement d3d11_immediate_context_DrawIndexedInstancedIndirect(). include/d3d11: Add definitions for indirect draw arguments. wined3d: Add support for R8_UNORM vertex format. d3d11/tests: Add test for SV_InstanceID. wined3d: Add 4.4 to supported OpenGL versions. d3d11/tests: Add test for indirect draws with index buffer offset. wined3d: Add FIXME() for unimplemented index buffer offsets. wined3d: Factor out draw_indirect() function. wined3d: Bail out when ARB_draw_indirect is not supported. wined3d: Require ARB_draw_indirect for SM5. wined3d: Disable ARB_draw_indirect if ARB_base_instance is not available. d3d10core/tests: Add test for SV_InstanceID. wined3d: Create textures views for depth views. wined3d: Use textureGrad*() to implement sample_c_lz for array and cube textures. d3d11/tests: Add test for sample_c_lz instruction. wined3d: Use wined3d_insert_bits(). wined3d: Use wined3d_extract_bits(). wined3d: Get rid of compute_shader_init(). wined3d: Get rid of domain_shader_init(). wined3d: Get rid of hull_shader_init(). wined3d: Disable pixel shader when rasterization is disabled. wined3d: Handle stream output components when rasterization is disabled. d3d11/tests: Add test for stream output components. wined3d: Invalidate pixel shader only when rasterization is toggled. Lauri Kenttä (1): po: Update Finnish translation. Marcus Meissner (4): user32/tests: Check GetClipboardFormatName length. ole32: Clipboard format in the datacache is with trailing \0. ieframe/tests: Avoid crash on missing IID_IWebBrowser2 interface. oleaut32/tests: Fixed 64-bit crash on tmarshal test. Martin Storsjo (1): msvcrt: Back up and restore the FPU state in setjmp/longjmp on ARM. Matteo Bruni (2): d3dx10: Remove redundant header include. d3dx10: Fix tracing of shader source data. Michael Müller (2): wined3d: Add support for start instance in draw_primitive_arrays(). advapi32: Added a stub for LsaLookupPrivilegeDisplayName(). Michael Stefaniuc (4): ddraw/tests: Use ARRAY_SIZE() in the ddraw1 tests. ddraw/tests: Use ARRAY_SIZE() in the ddraw2 tests. ddraw/tests: Use ARRAY_SIZE() in the ddraw4 tests. wined3d: Use ARRAY_SIZE(). Nikolay Sivov (22): dwrite: Set lfItalic style to get more compatible results for gdiinterop. gdiplus/metafile: Simplify EmfPlusARGB definition. gdiplus/metafile: Support hatch brushes in playback. gdiplus/metafile: Support texture brushes playback. gdiplus/metafile: Support hatch brushes for recording. gdiplus/metafile: Implement playback for EmfPlusRecordTypeDrawImage. advapi32/tests: Remove dynamic function binding from LSA tests. advapi32/tests: Merge some test code. advapi32: Partially implement LsaLookupPrivilegeName(). gdiplus/metafile: Implement EmfPlusRecordTypeDrawPie playback. gdiplus/metafile: Implement playback for EmfPlusRecordTypeDrawRects. gdiplus/metafile: Implement playback for EmfPlusRecordTypeFillEllipse. gdiplus/metafile: Implement playback for EmfPlusRecordTypeFillPie. gdiplus/metafile: Add brush object if needed in FillRectangles(). xmllite/tests: Fix clang warning. gdiplus/metafile: Implement playback for EmfPlusRecordTypeDrawArc. gdiplus/metafile: Implement playback for EmfPlusRecordTypeDrawEllipse. gdiplus/metafile: Implement playback for EmfPlusRecordTypeFillClosedCurve. gdiplus/metafile: Implement playback for EmfPlusRecordTypeSetCompositingMode. msvcrt: Implement _memicmp_l(). gdiplus/metafile: Support linear gradient brushes in playback. d3dx9: Implement D3DXFrameFind(). Paul Gofman (1): d3dx9: Zero constantinfo_reserved on error in get_constants_desc(). Piotr Caban (13): wine.inf: Add Windows Messaging Subsystem MAPI registry key. hhctrl.ocx: Set window owner in HtmlHelp function if WS_CHILD flag is not specified. vbscript: Add UBound implementation. oleaut32: Fix automatic value getting in ITypeInfo::Invoke. oleaut32: Ignore underflows in VarR8FromStr. vbscript: Add support for "for each" on arrays. vbscript: Add for each tests on array. vbscript: Don't return error on VBScript_SetScriptState(SCRIPTSTATE_DISCONNECTED) call. vbscript: Don't leak IEnumVARIANT in interp_enumnext. fusion: Respect buffer size in IAssemblyNameImpl_GetProperty. fusion: Add support for ASM_NAME_ARCHITECTURE in IAssemblyNameImpl_GetProperty. fusion: Fix IAssemblyNameImpl_GetDisplayName behavior on too small buffer. fusion: Fix IAssemblyNameImpl_GetDisplayName behavior on PublicKeyToken containing 0. Rafał Harabień (2): riched20: Protect read-only Richedit against pasting and cutting data. user32: Protect single-line edit against pasting new line character. Stefan Dösinger (1): d3d9/tests: Windows 10 17.09 added an undocumented query type. Vijay Kiran Kamuju (1): msvcp100: Add time_get::get function with format parameters. Vincent Povirk (1): tdh: Stub TdhLoadManifest. Zebediah Figura (10): regedit: Always start the GUI as 64-bit when on a 64-bit prefix. dinput/tests: Remove a no longer needed workaround. dinput/tests: Don't pump messages in test_acquire(). quartz/tests: GetDestinationPosition() returns the actual window width. quartz/tests: Avoid Sleep(). user32: Use the given string length when converting strings in WM_GETTEXT. user32/tests: Simplify test_SendMessage_other_thread(). quartz/tests: Remove thread-counting tests. quartz/tests: Skip tests if CLSID_NullRenderer is not available. quartz/tests: Add test AVI and MPG files. Zhiyi Zhang (2): kernel32/tests: Add more tests for LocaleNameToLCID and LCIDToLocalName. kernel32/nls: Add LOCALE_SPARENT entries. Ziqing Hui (3): mlang/tests: Add IMultiLanguage2_GetCodePageInfo tests. mlang: Fix font name of Chinese code pages. mlang: Add more Chinese code pages support. -- Alexandre Julliard julliard@winehq.org