Software 42719 Published by

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.
  Wine 2.8 released