The Wine development release 2.8 is now available. What's new in this release (see below for details): - Direct3D command stream runs asynchronously. - Better serial and parallel ports autodetection. - Still more fixes for high DPI settings. - System tray notifications on macOS. - Various bug fixes. The source is available from the following locations: http://dl.winehq.org/wine/source/2.x/wine-2.8.tar.xz http://mirrors.ibiblio.org/wine/source/2.x/wine-2.8.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.8 (total 35): 11811 Multiple applications fail to enumerate serial ports ('HKLM\\HARDWARE\\DeviceMap\\Serialcomm' registry entries)(Coastal Explorer, GPS apps, HyperTerminal) 30105 Chessbase Ludwig 3: MS Visual C++ Runtime Error 32155 MS Office 2007 SP3 installation needs msi.dll.MsiGetPatchFileListW 34551 Necrovision demo sometimes crashes with builtin d3dx9 34977 WinDjView: missing checkbox in the set as default viewer dialog 36820 Multiple games (Rift, dynamarisa, ShipSimulator 2008 demo) crash on startup (ID3DXBaseEffect::GetPassDesc returns NULL ptr for vertex and pixel shader function) 37811 Xvid 1.3.x installer MPEG-4 Video Codec 'xvid.ax' registration fails (crash on unimplemented function mfplat.dll.MFTRegister) 39309 Prism Video Converter v2.48 crashes on unimplemented function mfplat.dll.MFTEnum 39314 WAtomic: Black OpenGL (wgl) components 39936 Toad Data Modeler v5.4.8.1 fails to install (needs 'Scriptlet.TypeLib' object, CLSID '{06290BD5-48AA-11D2-8432-006008C3FBFC}') 40955 Steam version of Left 4 Dead 2 v2.1.4.6 crashes randomly in Multiplayer because of a certificate problem in the MOTD 41796 Fill Up! (freely downloadable game) crashes when creating a player profile 42035 WindBot needs msvcp120.?_2@placeholders@std@@3V?$_Ph@$01@2@A 42478 Undeclared O_CLOEXEC use in qcap DLL 42605 B4J (Basic 4 Java) crashes when click menu 42652 CryptCreateHash error NTE_FAIL after CryptImportKey(public-key) 42712 Image-Bugs in Guild Wars 2 (Guild emblem) 42835 redefinition of typedef 'WSD*' 42838 Steuer-Spar-Erklärung 2017 crashes on launch 42905 Compile error Undefined GNUTLS_MAC_AEAD 42919 Witcher Enhanced Edition Director's Cut crashes (purist) 42923 Neverwinter Online new module crashes with wine-2.7-staging 42925 strftime() truncates output inappropriately when %z is used 42926 Cut-and-paste from Wine App to Linux App adds trailing hidden chars ^@^@ 42935 Dawn of War III crashes with unimplemented function concrt140.dll.??0scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z, 42946 FFXIV fails to render (D3D11) 42962 Multiple games use unimplemented d3d11_immediate_context_ClearState() (FFXIV, Gauntlet) 42965 BeamNG.drive 0.9.x crashes on unimplemented function api-ms-win-core-memory-l1-1-2.d.CreateFileMappingW 42975 Graphical glitches on Age of Empires 42986 wine can't be compiled by gcc-2.95.4 (amstream/mediastream.c) 42990 wine can't be compiled by gcc-2.95.4 (d3dx9_36/effect.c) 42991 wine can't be compiled by gcc-2.95.4 (dmusic/port.c) 42992 wine can't be compiled by gcc-2.95.4 (dwrite/opentype.c) 42995 wine can't be compiled by gcc-2.95.4 (netprofm/list.c) 42996 wine can't be compiled by gcc-2.95.4 (programs/ipconfig/ipconfig.c) ---------------------------------------------------------------- Changes since 2.7: Akihiro Sagawa (2): rsaenh/tests: Add CryptImportKey tests with a public key. rsaenh: Don't import a public key to a key container. Alex Henrie (3): mountmgr: Create devices and registry entries for serial ports. mountmgr: Create devices and registry entries for parallel ports. ntdll: Implement ProcessVmCounters for Linux for other processes. Alexandre Julliard (14): preloader: Add a fallback to the old mmap syscall just in case. mountmgr: Create the DEVICEMAP registry keys in their respective driver. mountmgr: Create symbolic links in DosDevices for serial and parallel ports. kernel32: Rely solely on the DosDevices symbolic links in QueryDosDevice. configure: Check for the necessary data structure for if_nameindex(). server: Implement IOCTL_SERIAL_GET_TIMEOUTS as an ioctl on the server side. server: Implement IOCTL_SERIAL_SET_TIMEOUTS as an ioctl on the server side. server: Implement IOCTL_SERIAL_SET_WAIT_MASK as an ioctl on the server side. server: Implement IOCTL_SERIAL_GET_WAIT_MASK as an ioctl on the server side. server: Store the SERIAL_TIMEOUTS structure directly in the object. qcap: Fix build when O_CLOEXEC isn't defined. winex11: Simplify the clipboard HTML export function. winex11: Remove all trailing nulls when exporting text strings. user32/tests: Test resulting size of strings with trailing nulls. Alistair Leslie-Hughes (3): include: Add drmexternals.idl and wmdrmsdk.idl. include/wmsdkidl.idl: Add more interfaces. wmvcore/tests: Add more interface tests. Andrew Wesie (1): setupapi: Fix SetupDiGetDeviceRegistryProperty if property does not exist. Andrey Gusev (2): ext-ms-win-authz-context-l1-1-0: Add dll. msi: Add MsiGetPatchFileListA/W stubs. Björn Bidar (1): wined3d: Add NVIDIA GTX 1080 Ti to the GPU list. Bruno Jesus (2): gdiplus: Use software mode to draw semi-transparent lines when necessary. ws2_32: Use unsigned interface index on interface_bind_check. Daniel Lehman (4): msvcp140: Remove forwards for some _Thrd functions. include: Remove references to SPARC. dbghelp: Add support for char16_t type. dbghelp: Add support for char32_t type. Dmitry Kislyuk (1): vbscript: Allow colons at the end of first line of loops. Dmitry Timoshkov (2): include: Fix the GUID_WICPixelFormat32bppCMYK definition. include: Fix typos in WICPersistOptions enumeration names. Hans Leidekker (6): webservices: Allow listeners to be cancelled. webservices: Don't trace output parameters in WsReadQualifiedName. webservices: Implement WsReadAttribute. iphlpapi: Return a fully initialized GUID from ConvertInterfaceLuidToGuid. netprofm: Fix compilation on systems that don't support nameless unions. iphlpapi: Adapter names returned from GetAdaptersAddresses are GUID strings. Henri Verbeet (30): ddraw/tests: Port test_texturemapblend() to ddraw4.c as well. ddraw: Validate that non-fill blits have a source surface in ddraw_surface7_Blt(). wined3d: Print a FIXME if the view format doesn't match the resource format in surface_cpu_blt_colour_fill(). wined3d: Use the CPU blitter for clearing depth/stencil textures that are current in the map binding. wined3d: Allow the command stream thread to run asynchronously. d3dx9/tests: Use compare_float() in D3DXFresnelTest(). d3dx9/tests: Use compare_float() in D3DXMatrixTest(). d3dx9/tests: Use compare_float() in D3DXQuaternionTest(). d3dx9/tests: Use compare_float() in D3DXVector2Test(). d3dx9/tests: Use compare_float() in D3DXVector3Test(). d3dx9/tests: Use compare_float() in D3DXVector4Test(). d3dx9/tests: Use compare_float() in test_D3DXFloat_Array(). d3dx9/tests: Use compare_float() in test_D3DXSHAdd(). d3dx9/tests: Use compare_float() in test_D3DXSHDot(). d3dx9/tests: Use compare_float() in test_D3DXSHEvalConeLight(). d3dx9/tests: Use compare_float() in test_D3DXSHEvalDirection(). d3dx9/tests: Use compare_float() in test_D3DXSHEvalDirectionalLight(). d3dx9/tests: Use compare_float() in test_D3DXSHEvalHemisphereLight(). d3dx9/tests: Use compare_float() in test_D3DXSHMultiply2(). d3dx9/tests: Use compare_float() in test_D3DXSHMultiply3(). d3dx9/tests: Use compare_float() in test_D3DXSHMultiply4(). d3dx9/tests: Use compare_float() in test_D3DXSHRotate(). d3dx9/tests: Use compare_float() in test_D3DXSHRotateZ(). d3dx9/tests: Use compare_float() in test_D3DXSHEvalSphericalLight(). d3dx9/tests: Use compare_float() in test_D3DXSHScale(). d3dx9/tests: Use a more reasonable ARRAY_SIZE macro. d3dx9/tests: Use ARRAY_SIZE in test_D3DXFloat_Array(). d3dx9/tests: Use ARRAY_SIZE in test_D3DXSHDot(). d3dx9/tests: Use ARRAY_SIZE in test_D3DXSHEvalConeLight(). d3dx9/tests: Use ARRAY_SIZE in test_D3DXSHEvalDirection(). Hugh McMaster (7): regedit: Add a missing 'break' statement (Coverity). regedit: Pass RegQueryValueEx() the actual buffer size (Coverity). regedit: Simplify clean-up in get_lineA/W(). regedit: Return a Unicode line from get_lineA(). regedit: Use a function pointer to read each registry line instead of calling get_lineA/W() directly. regedit: Merge header checks from processRegLinesA/W() to their caller. regedit: Merge processRegLinesA/W() into their caller. Huw D. M. Davies (12): explorer: Set the rebar band height to match the combobox. wordpad: Scale the comboboxes with font size and correctly set the rebar band height. shell32: Fix the icon sizes of the shell imagelists. shell32: Simplify imagelist handling. shell32: Load icons with the correct size. user32: Fix the calculation of system metrics icon sizes. user32: Fix icon spacing minimium values. user32: Change IsProcessDPIAware() to always return TRUE. comdlg32: Scale the control size limits with dpi. comdlg32: Use pixel sizes throughout. comdlg32: Set the radiobuttons' font if they're part of a visual group. comdlg32: Select the correct font before querying the extents. Jacek Caban (15): jscript: Simplify pop_to_stat implementation. jscript: Added new opcode to enter catch block and use it to setup the scope. jscript: Ensure that OP_pop_except is called with proper stack depth. jscript: Pass finally offset instead of catch ident to OP_push_except. jscript: Always jump to finally block from OP_pop_exept when available. jscript/tests: Added more exception tests. ntdll/tests: Added more completion port tests. ieframe: Return DISP_E_UNKNOWNNAME in IShellUIHelper2::GetIDsOfNames. jscript: Added new debug channel printing details and backtrace of unwinded exceptions. mshtml: Don't expose doScroll in IE11 document mode. mshtml: Added separated IE5 and quicks mode compatibility mode. mshtml: Use IE version dependent on compatibility mode for conditional comments. server: Allocate wait handle on async object in queue_irp. ntdll/tests: Added FSCTL_PIPE_PEEK tests. kernel32/tests: Use shorter timeout for wait that we expect to time out. Józef Kucia (36): wined3d: Introduce wined3d_device_get_hs_resource_view(). d3d11: Implement d3d11_immediate_context_HSGetShaderResources(). wined3d: Introduce wined3d_device_get_ds_resource_view(). d3d11: Implement d3d11_immediate_context_DSGetShaderResources(). wined3d: Introduce wined3d_device_get_hs_sampler(). d3d11: Implement d3d11_immediate_context_HSGetSamplers(). d3d10: Validate SDK version. wined3d: Introduce wined3d_device_get_ds_sampler(). d3d11: Implement d3d11_immediate_context_DSGetSamplers(). wined3d: Rework geometry shader inputs/outputs handling. wined3d: Pass correct input count to shader_glsl_setup_sm3_rasterizer_input(). wined3d: Use interface blocks for shader inputs and outputs in GLSL 1.50. wined3d: Merge shader_glsl_generate_sm4_rasterizer_input_setup() into shader_glsl_generate_output_setup(). d3d11: Implement d3d11_immediate_context_OMGetRenderTargetsAndUnorderedAccessViews(). d3d11: Handle unsupported vertex buffer slots in better way. d3d11: Implement d3d11_immediate_context_ClearState(). wined3d: Set geometry shader irrespective of vertex shader. wined3d: Ignore unhandled shader data types. d3d11: Implement d3d11_class_linkage_GetDevice(). amstream: Fix compilation on systems that don't support nameless unions. ipconfig: Fix compilation on systems that don't support nameless unions. dmusic: Fix compilation on systems that don't support nameless structs or unions. wined3d: Disable only ARB_clip_control when ARB_viewport_array cannot be used for pixel center offsets. wined3d: Implement floating-point viewports. d3d11/tests: Add test for fractional viewports. wined3d: Make "value" optional in wined3d_device_get_predication(). wined3d: Add "parent_ops" for query objects. d3d11/tests: Add test for predication state refcounting. d3dx9: Fix compilation on systems that don't support nameless unions. mscoree: Fix compilation on systems that don't support nameless unions. wined3d: Add support for patch constant signatures. wined3d: Add ARB_clear_texture extension. wined3d: Add ARB_clear_buffer_object extension. wined3d: Implement clearing buffer unordered access views. d3d11: Implement d3d11_immediate_context_ClearUnorderedAccessViewUint(). d3d11/tests: Add test for clearing buffer unordered access views. Ken Thomases (2): winemac: Move CVDisplayLink operations out of @synchronized blocks to avoid potential deadlock. winemac: Track whether a view has ever had an OpenGL context attached. Matteo Bruni (3): wined3d: Release context on CPU blit failure. wined3d: Fix specular lighting calculation. wined3d: Ignore lights out of maximum range for legacy FFP lighting too. Michael Müller (6): ntdll/tests: Add tests for LdrEnumerateLoadedModules. ntdll: Implement LdrEnumerateLoadedModules. mfplat: Implement MFTRegister. mfplat: Implement MFTUnregister. mfplat: Implement MFTEnum. mfplat/tests: Add tests. Michael Stefaniuc (25): dmusic: Use DMUS_EVENT_SIZE() to calculate the size of the message. dmusic: Implement IDirectMusicBuffer::PackUnstructured(). dmusic: Avoid an intermediate copy in PackStructured(). dmime/tests: Use simpler variable names in test_InitAudio(). dmime/tests: Add more InitAudio() tests. dmime: Properly use SetCooperativeLevel() on the dsound ifaces we create. dmusic/tests: Add some IDirectMusic_SetDirectSound() tests. dmusic/tests: Expand the dsound refcount testing with the port. dmusic: Use more sensible and consistent field names for IDirectMusic8Impl. dmusic: Implement IDirectMusic8::SetDirectSound(). dmusic: Pass only the needed stuff to the DMPort create functions. dmusic: Partially implement the synth IDirectMusicPort::SetDirectSound(). dmusic: Add dsound handling to the synth port Activate() method. dmime/tests: Add refcount test for generated dmusic/dsound. dmime: Simplify the check if the performance was initialized. dmime: Avoid a temporary variable in IDirectMusicPerformance8Impl_InitAudio(). dmime: Finish the reindentation in CloseDown(). dmime: Do not use Init() from InitAudio(). dmime: Finish the cleanup of InitAudio(). dmime: Forward Init() to InitAudio(). dmusic: Set the dsound pointer to NULL on an error path. dmusic: Remove the port from the ports list on the port destruction. dmime: Add proper error handling to InitAudio(). dmime: Initialize dmusic in InitAudio(). dmusic: Fail in CreatePort() if SetDirectSound() wasn't called. Nikolay Sivov (26): msxml3/tests: Consistently use non-null pointer value. msxml3/tests: Initialize string pointer on default case too (Coverity). comctl32/tests: Fully initialize message test data (Coverity). dwrite/tests: Fully initialize call sequence test data (Coverity). shell32: Move SHCreateShellFolderView/SHCreateShellFolderViewEx and tests to corresponding files. shell32/tests: Don't trace all messages sent to listview. shell32/shellview: Set provided callback in SHCreateShellFolderView(). shell32/shellview: Handle NULL folder pointer in SHCreateShellFolderViewEx(). shell32/shellview: Respond to special interface id CDefView. comctl32/taskdialog: Remove superfluous title pointer check (Coverity). inetcomm: Fixed buffer leak on error path (Coverity). dpnet/tests: Fix free buffer access (Coverity). dpnet/tests: Added missing break (Coverity). mshtml/tests: Fix BSTR double-free (Coverity). comctl32/listview: Remove internal autoarrange flag, it breaks positioning. ntdll: Move EventEnabled() to ntdll. ntdll: Move EventWrite() to ntdll. api-ms-win-core-memory-l1-1-2: Update spec file. user32/msgbox: Fix static control id. user32: Added a helper to get screen dc. dwrite: Update to IDWriteFactory5. webservices/tests: Enable WsInitializeMessage() tests (Coverity). comctl32/listview: Convert item text once when looking for insertion point. dwrite: Initial support for number substitution. dwrite: Fix compilation failure regarding nameless unions. comdlg32: Use existing symbol for Help button id. Owen Rudge (5): wsdapi: Implement WSD LinkedMemory functions. wsdapi: Implement WSDXMLAddChild, Sibling, BuildAnyForSingleElement, CleanupElement. wsdapi/tests: Add tests for WSDXMLBuildAnyForSingleElement. wsdapi/tests: Add tests for WSDXMLAddChild. wsdapi/tests: Add tests for WSDXMLAddSibling. Paul Gofman (11): d3dx9/tests: Add test for D3DXFX_LARGEADDRESSAWARE effect creation flag. d3dx9: Store effect creation flags in struct d3dx_base_effect. d3dx9: Don't call get_parameter_by_name() from get_valid_parameter() if D3DXFX_LARGEADDRESSAWARE flag is set. d3dx9/tests: Factor out test_effect_preshader_compare_shader_bytecode() function. d3dx9/tests: Add test for GetPassDesc() function. d3dx9: Return shader functions in d3dx9_base_effect_get_pass_desc(). d3dx9: Do not set active pass if BeginPass() failed. d3dx9/tests: Add tests for setting strings in effect. d3dx9: Support setting strings in effect. d3dx9: Sort preshader opcode table. d3dx9: Add 'log' preshader opcode. Piotr Caban (6): msvcrt: Fix '%z' format handling in strftime. msvcp90: Don't overwrite pointers to class members in basic_streambuf:swap. msvcr100: Add _invalid_parameter_noinfo_noreturn implementation. msvcp90: Call invalid_parameter_handler on index out of range in basic_string::operator[]. msvcp110: Add placeholder::_Ph* exports. msvcr100: Add reader_writer_lock::scoped_lock implementation. Sebastian Lackner (3): psapi/tests: Remove todo_wine from succeeding tests. mfplat: Fix invalid memory access. wined3d: Shutdown CS thread before deallocating resources. Stefan Dösinger (1): winemac.drv: Implement systray version 1-4 notifications. Zebediah Figura (1): kernel32: Use the full path as an argument to winevdm.exe. -- Alexandre Julliard julliard@winehq.org