ddraw: Validate the primary surface format in ddraw_surface7_Restore().
[wine.git] / ANNOUNCE
blobd46293518eaf3fe1fc6a26269eb55d48ea60062a
1 The Wine team is proud to announce that the stable release Wine 2.0
2 is now available.
4 This release represents over a year of development effort and around
5 6,600 individual changes. The main highlights are the support for
6 Microsoft Office 2013, and the 64-bit support on macOS.
8 It also contains a lot of improvements across the board, as well as
9 support for many new applications and games. See the release notes
10 below for a summary of the major changes.
12 This is the first release made on the new time-based, annual release
13 schedule. This implies that some features that are being worked on but
14 couldn't be finished in time have been deferred to the next
15 development cycle. This includes in particular the Direct3D command
16 stream, the full HID support, the Android graphics driver, and
17 message-mode pipes.
19 The source is available from the following locations:
21   http://dl.winehq.org/wine/source/2.0/wine-2.0.tar.bz2
22   http://mirrors.ibiblio.org/wine/source/2.0/wine-2.0.tar.bz2
24 Binary packages for various distributions will be available from:
26   http://www.winehq.org/download
28 You will find documentation on http://www.winehq.org/documentation
30 You can also get the current source directly from the git
31 repository. Check http://www.winehq.org/git for details.
33 Wine is available thanks to the work of many people. See the file
34 AUTHORS in the distribution for the complete list.
36 ----------------------------------------------------------------
38 What's new in Wine 2.0
39 ======================
42 *** Text and fonts
44 - More DirectWrite features are implemented, including:
45   - Drawing of underlines.
46   - Renderer sees drawing effect associated with text segment.
47   - Support for color fonts in COLR/CPAL format.
48   - Initial font fallback support, builtin data for some of CJK ranges.
49   - Support for Wine-specific font replacement registry settings.
50   - Improved font metrics resolution in case of incomplete or
51     ambiguous font data.
52   - Support for EUDC font collection based on current registry
53     settings.
55 - Font embedding in PDF files is supported.
57 - The RichEdit control supports bulleted and numbered lists.
59 - Bold glyphs can be synthesized also for bitmap fonts.
61 - Character tables are based on version 9.0.0 of the Unicode Standard.
64 *** Graphics
66 - Window, bitmap and GDI DC render targets are implemented in Direct2D.
68 - A wide range of optimizations make the DIB engine noticeably faster.
70 - GDI graphic paths are reimplemented for better compatibility; they
71   are also supported with enhanced metafiles.
73 - Gradients are supported in GDI enhanced metafiles.
75 - Metafiles are better supported in GdiPlus.
77 - The macOS graphics driver supports a high-resolution ("Retina")
78   rendering mode. It can be enabled by setting "RetinaMode" to "Y"
79   under HKCU\Software\Wine\Mac Driver.
82 *** User interface
84 - The clipboard support is reimplemented for better compatibility;
85   copy & paste of HTML text is also improved. Drag & drop works more
86   smoothly.
88 - In desktop mode, the taskbar displays running applications and
89   allows switching between them.
91 - Version 4 of the system tray notification protocol is implemented.
93 - In desktop mode, some less common display resolutions like 640x400
94   and 1280x960 are supported.
96 - More user interface elements scale correctly with high-DPI screens.
99 *** Direct3D
101 - More Direct3D 10 and 11 features are implemented, including:
102   - Several more shader model 4 and 5 shader instructions.
103   - Several more resource formats.
104   - Integer vertex shader inputs.
105   - Typeless resources.
106   - sRGB read/write support.
107   - Depth and stencil clears.
108   - Depth-only draws.
109   - Array textures.
110   - Index buffer offsets.
111   - Unordered access views.
112   - Primitive restart.
114 - The WineD3D graphics card database recognizes more graphics
115   cards. When available, the GLX_MESA_query_renderer GLX extension is
116   used to provide more accurate information about the graphics card.
118 - The (system) memory layout of texture resources more closely matches
119   Windows. This affects applications that write beyond the bounds of a
120   MIP-level, like for example League of Legends.
122 - The implementation of non-maskable multisample anti-aliasing is more
123   correct. In particular, when the ARB_internalformat_query extension
124   is available, only quality levels corresponding to specific sample
125   counts supported by the OpenGL implementation are reported to the
126   application.  Previously, reporting a large number of non-maskable
127   multisample anti-aliasing quality levels would break some
128   applications.
130 - Direct3D 11 feature levels are supported.
132 - Retrieving a GDI device context from DXGI surfaces is
133   implemented. This is used for rendering to DXGI surfaces using GDI.
135 - More DXGI swapchain methods are implemented, particularly those
136   relating to switching display modes and switching to and from
137   fullscreen.
139 - When ARB_clip_control and ARB_viewport_array are both supported,
140   position fixups are slightly more efficient.
142 - The APPLE_client_storage extension is no longer used. It caused more
143   problems than it solved.
145 - New HKCU\Software\Wine\Direct3D registry keys:
146   - "CheckFloatConstants" (REG_SZ).
147     Setting this to "enabled" enables additional run-time bounds
148     checking on relatively addressed shader constant access. This
149     helps some (broken) applications, but comes at a performance cost.
150   - "MaxShaderModelHS", "MaxShaderModelDS" and "MaxShaderModelCS" (REG_DWORD).
151     These limit the maximum supported shader model for hull, domain,
152     and compute shaders respectively, analogous to the existing
153     "MaxShaderModelVS", "MaxShaderModelGS", "MaxShaderModelPS"
154     keys. Note that these shader types are new in shader model 5, so
155     setting this to anything lower than 5 will effectively disable
156     them.
157   - "SampleCount" (REG_DWORD).
158     Setting this registry key will force the multisample anti-aliasing
159     sample count to the specified value for swapchain render
160     targets. This allows anti-aliasing to be forced on applications
161     that do not otherwise support anti-aliasing themselves, but may
162     have no effect or break the application depending on the specific
163     application.
166 *** DirectDraw
168 - Retrieving a GDI device context from a DirectDraw surface is
169   implemented in a more accurate way. In particular, retrieving a GDI
170   device context for a "client memory" surface will retrieve a GDI
171   device context that's backed by that same client memory.
173 - A number of fixes related to vertex transformation in early
174   DirectDraw versions have been made.
177 *** D3DX
179 - The support for the D3DX 9 effect framework is more complete, in
180   particular:
181   - There is initial support for preshaders.
182   - Many more effect states are correctly applied.
184 - D3DX 10 and 11 asynchronous data loaders are implemented.
186 - The d3dx9 DLLs no longer forward to d3dx9_36, but are built from the
187   same source instead.
189 - The d3dcompiler DLLs no longer forward to d3dcompiler_43, but are
190   built from the same source instead.
193 *** Sound and video
195 - GStreamer version 1.0 is supported for audio and video streams.
197 - DirectSound supports downmixing from 5.1 and 4.0 formats to stereo.
200 *** Internet and networking
202 - The Web Services API is supported. The XML reader and writer are
203   implemented, along with support for serializing many common data
204   types. Basic support for making SOAP calls is also included. This
205   enables Microsoft Office 2013 online activation.
207 - The Gecko engine is updated to the version from Firefox 47.
209 - IDN name resolution is supported.
211 - Various SHA hashes are supported using GnuTLS.
213 - Looking up the host address prioritizes non-loopback interfaces,
214   which fixes a number of networked games.
216 - XML writing is faster for large files.
218 - Winsock supports the IP_DONTFRAGMENT socket option.
220 - Long URLs are handled correctly.
222 - JavaScript performance is improved. JSON is also supported.
225 *** Internationalization
227 - There is proper support for the Persian locale.
229 - Uniscribe better supports right-to-left languages.
231 - Japanese Hiragana, Katakana and full-width/half-width character
232   mapping is implemented.
235 *** 64-bit support
237 - 64-bit applications are supported on macOS.
239 - The Mono engine has 64-bit support.
241 - C++ exceptions are handled correctly on x86-64, including nested
242   exceptions and collided unwinds.
244 - The debug registers are supported on x86-64.
247 *** Built-in applications
249 - The 'winebrowser' helper application supports multiple arguments to
250   invoke the host browser or mailer.
252 - The 'reg' command-line registry utility supports the 'query'
253   command, all registry data types, and has more robust command line
254   handling.
256 - The 'winhlp32' help viewer properly displays tables and images.
258 - The 'wineconsole' tool better supports East-Asian fonts. Color
259   handling is also improved.
262 *** Build environment
264 - Import libraries can optionally be built as static libraries
265   similarly to Windows, instead of .def files. This avoids the need
266   for a separate .def.a library file.
268 - The IDL compiler supports "midl_pragma warning" directives.
270 - Cross-compilation with the Mingw-w64 Clang and ARM toolchains is
271   supported.
274 *** Kernel
276 - A new driver architecture is in place for supporting HID devices.
277   This follows the Windows model, with platform-specific bus drivers
278   and HID minidrivers. It will be used in future releases to unify
279   support for HID devices, and potentially also for USB device
280   support.
282 - Loading multiple kernel drivers inside the same user-mode process is
283   supported. This is used for HID drivers.
285 - A directory cache is implemented, to allow returning files in the
286   expected order and avoid relying on platform-specific system calls.
288 - Many more API Set libraries (the oddly-named api-ms-win-* dlls) are
289   implemented.
291 - Interrupt 0x2d (used for debugger checks) is emulated.
294 *** Miscellaneous
296 - Read interval timeouts are supported for serial ports.
298 - Variables starting with 'QT_' are filtered from the Unix environment
299   since they may have unwanted effects on Qt-based Windows
300   applications.
302 - Support for joystick button mapping and force feedback effects is
303   improved.
305 - Many stream classes are implemented in MSVCIRT, the old I/O stream
306   C++ runtime.
308 - Windows Management Instrumentation (WMI) implements some more WBEM
309   classes.
311 - Most remaining OpenMP functions are implemented.
313 - Uninstallation support in MSI is improved.
316 *** New external dependencies
318 - libudev is used for HID device support.
320 - GStreamer version 1.0 is used instead of version 0.10.
322 - GnuTLS version 2.10 or higher is required for the SHA hashing
323   functions to be supported.
326 *** Configuration changes
328 - A number of DLLs are now built separately from a common source,
329   instead of forwarding to a master DLL. This means that native DLL
330   overrides need to be set on the specific version of the DLL being
331   loaded, instead of the master one. This applies to the d3dx9_*,
332   d3dcompiler_*, xaudio2_*, xapofx1_* and x3daudio1_* DLLs.
335 *** Release numbering
337 - Starting with 2.0, version numbering will change: stable release
338   updates will follow the existing scheme: 2.0.1, 2.0.2, 2.0.3, etc.
339   but the developemnt branch will drop the intermediate number: the
340   releases will be numbered 2.1, 2.2, 2.3, etc. leading to the next
341   stable release, which will be called 3.0.
344 Alexandre Julliard
345 julliard@winehq.org