ole32: Create CF_DIB and CF_BITMAP entries when either is cached.
[wine.git] / ANNOUNCE
blob5daadb135d23d7f6e4d11de145229ecda3af9866
1 The Wine development release 2.8 is now available.
3 What's new in this release (see below for details):
4   - Direct3D command stream runs asynchronously.
5   - Better serial and parallel ports autodetection.
6   - Still more fixes for high DPI settings.
7   - System tray notifications on macOS.
8   - Various bug fixes.
10 The source is available from the following locations:
12   http://dl.winehq.org/wine/source/2.x/wine-2.8.tar.xz
13   http://mirrors.ibiblio.org/wine/source/2.x/wine-2.8.tar.xz
15 Binary packages for various distributions will be available from:
17   http://www.winehq.org/download
19 You will find documentation on http://www.winehq.org/documentation
21 You can also get the current source directly from the git
22 repository. Check http://www.winehq.org/git for details.
24 Wine is available thanks to the work of many people. See the file
25 AUTHORS in the distribution for the complete list.
27 ----------------------------------------------------------------
29 Bugs fixed in 2.8 (total 35):
31   11811  Multiple applications fail to enumerate serial ports ('HKLM\\HARDWARE\\DeviceMap\\Serialcomm' registry entries)(Coastal Explorer, GPS apps, HyperTerminal)
32   30105  Chessbase Ludwig 3: MS Visual C++ Runtime Error
33   32155  MS Office 2007 SP3 installation needs msi.dll.MsiGetPatchFileListW
34   34551  Necrovision demo sometimes crashes with builtin d3dx9
35   34977  WinDjView: missing checkbox in the set as default viewer dialog
36   36820  Multiple games (Rift, dynamarisa, ShipSimulator 2008 demo) crash on startup (ID3DXBaseEffect::GetPassDesc returns NULL ptr for vertex and pixel shader function)
37   37811  Xvid 1.3.x installer MPEG-4 Video Codec 'xvid.ax' registration fails (crash on unimplemented function mfplat.dll.MFTRegister)
38   39309  Prism Video Converter v2.48 crashes on unimplemented function mfplat.dll.MFTEnum
39   39314  WAtomic: Black OpenGL (wgl) components
40   39936  Toad Data Modeler v5.4.8.1 fails to install (needs 'Scriptlet.TypeLib' object, CLSID '{06290BD5-48AA-11D2-8432-006008C3FBFC}')
41   40955  Steam version of Left 4 Dead 2 v2.1.4.6 crashes randomly in Multiplayer because of a certificate problem in the MOTD
42   41796  Fill Up! (freely downloadable game) crashes when creating a player profile
43   42035  WindBot needs msvcp120.?_2@placeholders@std@@3V?$_Ph@$01@2@A
44   42478  Undeclared O_CLOEXEC use in qcap DLL
45   42605  B4J (Basic 4 Java) crashes when click menu
46   42652  CryptCreateHash error NTE_FAIL after CryptImportKey(public-key)
47   42712  Image-Bugs in Guild Wars 2 (Guild emblem)
48   42835  redefinition of typedef 'WSD*'
49   42838  Steuer-Spar-Erklärung 2017 crashes on launch
50   42905  Compile error Undefined GNUTLS_MAC_AEAD
51   42919  Witcher Enhanced Edition Director's Cut crashes (purist)
52   42923  Neverwinter Online new module crashes with wine-2.7-staging
53   42925  strftime() truncates output inappropriately when %z is used
54   42926  Cut-and-paste from Wine App to Linux App adds trailing hidden chars ^@^@
55   42935  Dawn of War III crashes with unimplemented function concrt140.dll.??0scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z,
56   42946  FFXIV fails to render (D3D11)
57   42962  Multiple games use unimplemented d3d11_immediate_context_ClearState() (FFXIV, Gauntlet)
58   42965  BeamNG.drive 0.9.x crashes on unimplemented function api-ms-win-core-memory-l1-1-2.d.CreateFileMappingW
59   42975  Graphical glitches on Age of Empires
60   42986  wine can't be compiled by gcc-2.95.4 (amstream/mediastream.c)
61   42990  wine can't be compiled by gcc-2.95.4 (d3dx9_36/effect.c)
62   42991  wine can't be compiled by gcc-2.95.4 (dmusic/port.c)
63   42992  wine can't be compiled by gcc-2.95.4 (dwrite/opentype.c)
64   42995  wine can't be compiled by gcc-2.95.4 (netprofm/list.c)
65   42996  wine can't be compiled by gcc-2.95.4 (programs/ipconfig/ipconfig.c)
67 ----------------------------------------------------------------
69 Changes since 2.7:
71 Akihiro Sagawa (2):
72       rsaenh/tests: Add CryptImportKey tests with a public key.
73       rsaenh: Don't import a public key to a key container.
75 Alex Henrie (3):
76       mountmgr: Create devices and registry entries for serial ports.
77       mountmgr: Create devices and registry entries for parallel ports.
78       ntdll: Implement ProcessVmCounters for Linux for other processes.
80 Alexandre Julliard (14):
81       preloader: Add a fallback to the old mmap syscall just in case.
82       mountmgr: Create the DEVICEMAP registry keys in their respective driver.
83       mountmgr: Create symbolic links in DosDevices for serial and parallel ports.
84       kernel32: Rely solely on the DosDevices symbolic links in QueryDosDevice.
85       configure: Check for the necessary data structure for if_nameindex().
86       server: Implement IOCTL_SERIAL_GET_TIMEOUTS as an ioctl on the server side.
87       server: Implement IOCTL_SERIAL_SET_TIMEOUTS as an ioctl on the server side.
88       server: Implement IOCTL_SERIAL_SET_WAIT_MASK as an ioctl on the server side.
89       server: Implement IOCTL_SERIAL_GET_WAIT_MASK as an ioctl on the server side.
90       server: Store the SERIAL_TIMEOUTS structure directly in the object.
91       qcap: Fix build when O_CLOEXEC isn't defined.
92       winex11: Simplify the clipboard HTML export function.
93       winex11: Remove all trailing nulls when exporting text strings.
94       user32/tests: Test resulting size of strings with trailing nulls.
96 Alistair Leslie-Hughes (3):
97       include: Add drmexternals.idl and wmdrmsdk.idl.
98       include/wmsdkidl.idl: Add more interfaces.
99       wmvcore/tests: Add more interface tests.
101 Andrew Wesie (1):
102       setupapi: Fix SetupDiGetDeviceRegistryProperty if property does not exist.
104 Andrey Gusev (2):
105       ext-ms-win-authz-context-l1-1-0: Add dll.
106       msi: Add MsiGetPatchFileListA/W stubs.
108 Björn Bidar (1):
109       wined3d: Add NVIDIA GTX 1080 Ti to the GPU list.
111 Bruno Jesus (2):
112       gdiplus: Use software mode to draw semi-transparent lines when necessary.
113       ws2_32: Use unsigned interface index on interface_bind_check.
115 Daniel Lehman (4):
116       msvcp140: Remove forwards for some _Thrd functions.
117       include: Remove references to SPARC.
118       dbghelp: Add support for char16_t type.
119       dbghelp: Add support for char32_t type.
121 Dmitry Kislyuk (1):
122       vbscript: Allow colons at the end of first line of loops.
124 Dmitry Timoshkov (2):
125       include: Fix the GUID_WICPixelFormat32bppCMYK definition.
126       include: Fix typos in WICPersistOptions enumeration names.
128 Hans Leidekker (6):
129       webservices: Allow listeners to be cancelled.
130       webservices: Don't trace output parameters in WsReadQualifiedName.
131       webservices: Implement WsReadAttribute.
132       iphlpapi: Return a fully initialized GUID from ConvertInterfaceLuidToGuid.
133       netprofm: Fix compilation on systems that don't support nameless unions.
134       iphlpapi: Adapter names returned from GetAdaptersAddresses are GUID strings.
136 Henri Verbeet (30):
137       ddraw/tests: Port test_texturemapblend() to ddraw4.c as well.
138       ddraw: Validate that non-fill blits have a source surface in ddraw_surface7_Blt().
139       wined3d: Print a FIXME if the view format doesn't match the resource format in surface_cpu_blt_colour_fill().
140       wined3d: Use the CPU blitter for clearing depth/stencil textures that are current in the map binding.
141       wined3d: Allow the command stream thread to run asynchronously.
142       d3dx9/tests: Use compare_float() in D3DXFresnelTest().
143       d3dx9/tests: Use compare_float() in D3DXMatrixTest().
144       d3dx9/tests: Use compare_float() in D3DXQuaternionTest().
145       d3dx9/tests: Use compare_float() in D3DXVector2Test().
146       d3dx9/tests: Use compare_float() in D3DXVector3Test().
147       d3dx9/tests: Use compare_float() in D3DXVector4Test().
148       d3dx9/tests: Use compare_float() in test_D3DXFloat_Array().
149       d3dx9/tests: Use compare_float() in test_D3DXSHAdd().
150       d3dx9/tests: Use compare_float() in test_D3DXSHDot().
151       d3dx9/tests: Use compare_float() in test_D3DXSHEvalConeLight().
152       d3dx9/tests: Use compare_float() in test_D3DXSHEvalDirection().
153       d3dx9/tests: Use compare_float() in test_D3DXSHEvalDirectionalLight().
154       d3dx9/tests: Use compare_float() in test_D3DXSHEvalHemisphereLight().
155       d3dx9/tests: Use compare_float() in test_D3DXSHMultiply2().
156       d3dx9/tests: Use compare_float() in test_D3DXSHMultiply3().
157       d3dx9/tests: Use compare_float() in test_D3DXSHMultiply4().
158       d3dx9/tests: Use compare_float() in test_D3DXSHRotate().
159       d3dx9/tests: Use compare_float() in test_D3DXSHRotateZ().
160       d3dx9/tests: Use compare_float() in test_D3DXSHEvalSphericalLight().
161       d3dx9/tests: Use compare_float() in test_D3DXSHScale().
162       d3dx9/tests: Use a more reasonable ARRAY_SIZE macro.
163       d3dx9/tests: Use ARRAY_SIZE in test_D3DXFloat_Array().
164       d3dx9/tests: Use ARRAY_SIZE in test_D3DXSHDot().
165       d3dx9/tests: Use ARRAY_SIZE in test_D3DXSHEvalConeLight().
166       d3dx9/tests: Use ARRAY_SIZE in test_D3DXSHEvalDirection().
168 Hugh McMaster (7):
169       regedit: Add a missing 'break' statement (Coverity).
170       regedit: Pass RegQueryValueEx() the actual buffer size (Coverity).
171       regedit: Simplify clean-up in get_lineA/W().
172       regedit: Return a Unicode line from get_lineA().
173       regedit: Use a function pointer to read each registry line instead of calling get_lineA/W() directly.
174       regedit: Merge header checks from processRegLinesA/W() to their caller.
175       regedit: Merge processRegLinesA/W() into their caller.
177 Huw D. M. Davies (12):
178       explorer: Set the rebar band height to match the combobox.
179       wordpad: Scale the comboboxes with font size and correctly set the rebar band height.
180       shell32: Fix the icon sizes of the shell imagelists.
181       shell32: Simplify imagelist handling.
182       shell32: Load icons with the correct size.
183       user32: Fix the calculation of system metrics icon sizes.
184       user32: Fix icon spacing minimium values.
185       user32: Change IsProcessDPIAware() to always return TRUE.
186       comdlg32: Scale the control size limits with dpi.
187       comdlg32: Use pixel sizes throughout.
188       comdlg32: Set the radiobuttons' font if they're part of a visual group.
189       comdlg32: Select the correct font before querying the extents.
191 Jacek Caban (15):
192       jscript: Simplify pop_to_stat implementation.
193       jscript: Added new opcode to enter catch block and use it to setup the scope.
194       jscript: Ensure that OP_pop_except is called with proper stack depth.
195       jscript: Pass finally offset instead of catch ident to OP_push_except.
196       jscript: Always jump to finally block from OP_pop_exept when available.
197       jscript/tests: Added more exception tests.
198       ntdll/tests: Added more completion port tests.
199       ieframe: Return DISP_E_UNKNOWNNAME in IShellUIHelper2::GetIDsOfNames.
200       jscript: Added new debug channel printing details and backtrace of unwinded exceptions.
201       mshtml: Don't expose doScroll in IE11 document mode.
202       mshtml: Added separated IE5 and quicks mode compatibility mode.
203       mshtml: Use IE version dependent on compatibility mode for conditional comments.
204       server: Allocate wait handle on async object in queue_irp.
205       ntdll/tests: Added FSCTL_PIPE_PEEK tests.
206       kernel32/tests: Use shorter timeout for wait that we expect to time out.
208 Józef Kucia (36):
209       wined3d: Introduce wined3d_device_get_hs_resource_view().
210       d3d11: Implement d3d11_immediate_context_HSGetShaderResources().
211       wined3d: Introduce wined3d_device_get_ds_resource_view().
212       d3d11: Implement d3d11_immediate_context_DSGetShaderResources().
213       wined3d: Introduce wined3d_device_get_hs_sampler().
214       d3d11: Implement d3d11_immediate_context_HSGetSamplers().
215       d3d10: Validate SDK version.
216       wined3d: Introduce wined3d_device_get_ds_sampler().
217       d3d11: Implement d3d11_immediate_context_DSGetSamplers().
218       wined3d: Rework geometry shader inputs/outputs handling.
219       wined3d: Pass correct input count to shader_glsl_setup_sm3_rasterizer_input().
220       wined3d: Use interface blocks for shader inputs and outputs in GLSL 1.50.
221       wined3d: Merge shader_glsl_generate_sm4_rasterizer_input_setup() into shader_glsl_generate_output_setup().
222       d3d11: Implement d3d11_immediate_context_OMGetRenderTargetsAndUnorderedAccessViews().
223       d3d11: Handle unsupported vertex buffer slots in better way.
224       d3d11: Implement d3d11_immediate_context_ClearState().
225       wined3d: Set geometry shader irrespective of vertex shader.
226       wined3d: Ignore unhandled shader data types.
227       d3d11: Implement d3d11_class_linkage_GetDevice().
228       amstream: Fix compilation on systems that don't support nameless unions.
229       ipconfig: Fix compilation on systems that don't support nameless unions.
230       dmusic: Fix compilation on systems that don't support nameless structs or unions.
231       wined3d: Disable only ARB_clip_control when ARB_viewport_array cannot be used for pixel center offsets.
232       wined3d: Implement floating-point viewports.
233       d3d11/tests: Add test for fractional viewports.
234       wined3d: Make "value" optional in wined3d_device_get_predication().
235       wined3d: Add "parent_ops" for query objects.
236       d3d11/tests: Add test for predication state refcounting.
237       d3dx9: Fix compilation on systems that don't support nameless unions.
238       mscoree: Fix compilation on systems that don't support nameless unions.
239       wined3d: Add support for patch constant signatures.
240       wined3d: Add ARB_clear_texture extension.
241       wined3d: Add ARB_clear_buffer_object extension.
242       wined3d: Implement clearing buffer unordered access views.
243       d3d11: Implement d3d11_immediate_context_ClearUnorderedAccessViewUint().
244       d3d11/tests: Add test for clearing buffer unordered access views.
246 Ken Thomases (2):
247       winemac: Move CVDisplayLink operations out of @synchronized blocks to avoid potential deadlock.
248       winemac: Track whether a view has ever had an OpenGL context attached.
250 Matteo Bruni (3):
251       wined3d: Release context on CPU blit failure.
252       wined3d: Fix specular lighting calculation.
253       wined3d: Ignore lights out of maximum range for legacy FFP lighting too.
255 Michael Müller (6):
256       ntdll/tests: Add tests for LdrEnumerateLoadedModules.
257       ntdll: Implement LdrEnumerateLoadedModules.
258       mfplat: Implement MFTRegister.
259       mfplat: Implement MFTUnregister.
260       mfplat: Implement MFTEnum.
261       mfplat/tests: Add tests.
263 Michael Stefaniuc (25):
264       dmusic: Use DMUS_EVENT_SIZE() to calculate the size of the message.
265       dmusic: Implement IDirectMusicBuffer::PackUnstructured().
266       dmusic: Avoid an intermediate copy in PackStructured().
267       dmime/tests: Use simpler variable names in test_InitAudio().
268       dmime/tests: Add more InitAudio() tests.
269       dmime: Properly use SetCooperativeLevel() on the dsound ifaces we create.
270       dmusic/tests: Add some IDirectMusic_SetDirectSound() tests.
271       dmusic/tests: Expand the dsound refcount testing with the port.
272       dmusic: Use more sensible and consistent field names for IDirectMusic8Impl.
273       dmusic: Implement IDirectMusic8::SetDirectSound().
274       dmusic: Pass only the needed stuff to the DMPort create functions.
275       dmusic: Partially implement the synth IDirectMusicPort::SetDirectSound().
276       dmusic: Add dsound handling to the synth port Activate() method.
277       dmime/tests: Add refcount test for generated dmusic/dsound.
278       dmime: Simplify the check if the performance was initialized.
279       dmime: Avoid a temporary variable in IDirectMusicPerformance8Impl_InitAudio().
280       dmime: Finish the reindentation in CloseDown().
281       dmime: Do not use Init() from InitAudio().
282       dmime: Finish the cleanup of InitAudio().
283       dmime: Forward Init() to InitAudio().
284       dmusic: Set the dsound pointer to NULL on an error path.
285       dmusic: Remove the port from the ports list on the port destruction.
286       dmime: Add proper error handling to InitAudio().
287       dmime: Initialize dmusic in InitAudio().
288       dmusic: Fail in CreatePort() if SetDirectSound() wasn't called.
290 Nikolay Sivov (26):
291       msxml3/tests: Consistently use non-null pointer value.
292       msxml3/tests: Initialize string pointer on default case too (Coverity).
293       comctl32/tests: Fully initialize message test data (Coverity).
294       dwrite/tests: Fully initialize call sequence test data (Coverity).
295       shell32: Move SHCreateShellFolderView/SHCreateShellFolderViewEx and tests to corresponding files.
296       shell32/tests: Don't trace all messages sent to listview.
297       shell32/shellview: Set provided callback in SHCreateShellFolderView().
298       shell32/shellview: Handle NULL folder pointer in SHCreateShellFolderViewEx().
299       shell32/shellview: Respond to special interface id CDefView.
300       comctl32/taskdialog: Remove superfluous title pointer check (Coverity).
301       inetcomm: Fixed buffer leak on error path (Coverity).
302       dpnet/tests: Fix free buffer access (Coverity).
303       dpnet/tests: Added missing break (Coverity).
304       mshtml/tests: Fix BSTR double-free (Coverity).
305       comctl32/listview: Remove internal autoarrange flag, it breaks positioning.
306       ntdll: Move EventEnabled() to ntdll.
307       ntdll: Move EventWrite() to ntdll.
308       api-ms-win-core-memory-l1-1-2: Update spec file.
309       user32/msgbox: Fix static control id.
310       user32: Added a helper to get screen dc.
311       dwrite: Update to IDWriteFactory5.
312       webservices/tests: Enable WsInitializeMessage() tests (Coverity).
313       comctl32/listview: Convert item text once when looking for insertion point.
314       dwrite: Initial support for number substitution.
315       dwrite: Fix compilation failure regarding nameless unions.
316       comdlg32: Use existing symbol for Help button id.
318 Owen Rudge (5):
319       wsdapi: Implement WSD LinkedMemory functions.
320       wsdapi: Implement WSDXMLAddChild, Sibling, BuildAnyForSingleElement, CleanupElement.
321       wsdapi/tests: Add tests for WSDXMLBuildAnyForSingleElement.
322       wsdapi/tests: Add tests for WSDXMLAddChild.
323       wsdapi/tests: Add tests for WSDXMLAddSibling.
325 Paul Gofman (11):
326       d3dx9/tests: Add test for D3DXFX_LARGEADDRESSAWARE effect creation flag.
327       d3dx9: Store effect creation flags in struct d3dx_base_effect.
328       d3dx9: Don't call get_parameter_by_name() from get_valid_parameter() if D3DXFX_LARGEADDRESSAWARE flag is set.
329       d3dx9/tests: Factor out test_effect_preshader_compare_shader_bytecode() function.
330       d3dx9/tests: Add test for GetPassDesc() function.
331       d3dx9: Return shader functions in d3dx9_base_effect_get_pass_desc().
332       d3dx9: Do not set active pass if BeginPass() failed.
333       d3dx9/tests: Add tests for setting strings in effect.
334       d3dx9: Support setting strings in effect.
335       d3dx9: Sort preshader opcode table.
336       d3dx9: Add 'log' preshader opcode.
338 Piotr Caban (6):
339       msvcrt: Fix '%z' format handling in strftime.
340       msvcp90: Don't overwrite pointers to class members in basic_streambuf:swap.
341       msvcr100: Add _invalid_parameter_noinfo_noreturn implementation.
342       msvcp90: Call invalid_parameter_handler on index out of range in basic_string::operator[].
343       msvcp110: Add placeholder::_Ph* exports.
344       msvcr100: Add reader_writer_lock::scoped_lock implementation.
346 Sebastian Lackner (3):
347       psapi/tests: Remove todo_wine from succeeding tests.
348       mfplat: Fix invalid memory access.
349       wined3d: Shutdown CS thread before deallocating resources.
351 Stefan Dösinger (1):
352       winemac.drv: Implement systray version 1-4 notifications.
354 Zebediah Figura (1):
355       kernel32: Use the full path as an argument to winevdm.exe.
358 Alexandre Julliard
359 julliard@winehq.org