msvcp90: Added char_traits<unsigned short> implementation.
[wine] / ANNOUNCE
1 The Wine team is proud to announce that the stable release Wine 1.2 is
2 now available.
3
4 This release represents two years of development effort and over
5 23,000 changes. The main highlights are the support for 64-bit
6 applications, and the new graphics based on the Tango standard.
7
8 It also contains a lot of improvements across the board, and over
9 3,000 bug fixes. See the release notes below for a summary of the
10 major changes.
11
12 The source is available from the following locations:
13
14   http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.2.tar.bz2
15   http://prdownloads.sourceforge.net/wine/wine-1.2.tar.bz2
16
17 Binary packages for various distributions will be available from:
18
19   http://www.winehq.org/download
20
21 You will find documentation on http://www.winehq.org/documentation
22
23 You can also get the current source directly from the git
24 repository. Check http://www.winehq.org/git for details.
25
26 Wine is available thanks to the work of many people. See the file
27 AUTHORS in the distribution for the complete list.
28
29 ----------------------------------------------------------------
30
31 What's new in Wine 1.2
32 ======================
33
34 *** Core functionality
35
36 - Loading and running 64-bit Windows applications is now supported on
37   x86-64 processors (only on Linux at this point).
38
39 - There are now two flavors of Wine prefixes, 32-bit and
40   64-bit. 32-bit prefixes only support 32-bit applications, while
41   64-bit prefixes support both 32-bit and 64-bit applications. The
42   prefix flavor is set at prefix creation time and cannot be changed
43   afterwards, since all the files and registry entries are in
44   different locations. Backwards compatibility is ensured by
45   considering all prefixes created with older Wine versions to be
46   32-bit.
47
48 - WoW64 file system redirection is supported now. When running a
49   32-bit application in a 64-bit prefix, accesses to the
50   window/system32 directory are automatically redirected to
51   windows/syswow64.
52
53 - WoW64 registry redirection is now supported in 64-bit prefixes. This
54   allows both 32-bit and 64-bit applications to set platform-specific
55   registry keys without stepping on each other.
56
57 - All the 16-bit support code has been moved to a set of independent
58   16-bit modules. No 16-bit code is loaded or initialized when running
59   a standard Win32 application, unless it starts making 16-bit calls.
60
61 - The mount manager now reports the actual UUID for disk devices that
62   support it instead of a hard-coded one.
63
64 - Symbolic links are now supported in the registry.
65
66 - The C runtime libraries msvcr80, msvcr90 and msvcr100 used by recent
67   Visual C++ versions are now partially implemented.
68
69 - Some functions now use a Microsoft-compatible function prologue when
70   building with a recent enough gcc. This allows Steam overlays to
71   work.
72
73
74 *** User interface
75
76 - There are new icons for all the built-in applications, as well as
77   for the standard toolbars and images. The icons are based on the
78   Tango set for a nicer integration with the native Unix desktop look.
79
80 - Animated cursors can now be loaded, though only the first frame of
81   the animation is used as a static cursor.
82
83 - The mouse cursor is now updated correctly in applications that
84   create windows from different threads, like Internet Explorer.
85
86 - The standard print and page setup dialogs are working much better
87   now.
88
89 - There is now an application wizard control panel to manage installed
90   applications.
91
92 - Rendering of bi-directional text is now supported reasonably
93   well. There is also some support for Arabic text shaping.
94
95 - Many features of the RichEdit control are improved, particularly
96   support for tables, URL detection, cursor positioning, scrollbar
97   management, and support for windowless controls.
98
99 - Many common controls work better now, particularly the listview,
100   calendar and tab controls.
101
102 - There is now a partial implementation of the Microsoft Text Services
103   framework, which provides better input method support in modern
104   applications.
105
106 - There is now a proper user interface for importing, exporting and
107   managing cryptographic keys and certificates.
108
109 - Wine is now fully translated to French, German, Dutch, Italian,
110   Portuguese, Romanian, Polish, Lithuanian, Norwegian, and Korean. It
111   has partial translations for another twenty languages.
112
113
114 *** Desktop integration
115
116 - The XDG standard for application startup notification is now
117   implemented.
118
119 - The NET_WORKAREA property is now supported to let applications take
120   into account the size of the Unix desktop task bars.
121
122 - File associations created by a Windows applications are now
123   registered with the Unix desktop.
124
125 - Application icons are now set with the NET_WM_ICON hint, which
126   enables alpha channel transparency under window managers that
127   support it.
128
129 - Maximizing a window from the Unix window manager is now detected and
130   the state is correctly reflected on the Windows application side.
131
132 - The XDG desktop screen saver is now launched when a Windows
133   application makes a request to start the screen saver.
134
135 - Start Menu entries are now properly removed when an application is
136   uninstalled.
137
138 - Copying and pasting images between Windows and Unix applications
139   works more reliably now, and more image formats are supported.
140
141 - Launching an external Unix Web browser from a Windows application
142   now works correctly.
143
144 - MSI files are now associated with Wine to enable launching them
145   directly from the desktop.
146
147 - The virtual desktop window now switches to full-screen mode when its
148   size matches that of the screen.
149
150 - The strange window management behavior used by Delphi-generated
151   applications is better supported now.
152
153
154 *** Graphics
155
156 - Subpixel font rendering is now supported, which greatly improves
157   text appearance on LCD screens. The subpixel configuration is
158   derived from the system fontconfig and Xft settings.
159
160 - Icons with alpha channels are now properly blended in, for a much
161   nicer appearance.
162
163 - Image lists now properly store the alpha channel of images and use
164   it when displaying them.
165
166 - The windowscodecs dll has been added, with codecs for the JPEG, GIF,
167   PNG, BMP, ICO, and TIFF image formats.
168
169 - Many functions are now implemented in GDIPlus. The gdiplus dll is
170   now considered good enough to load the built-in version by default.
171
172 - Overlays are now supported in DirectDraw.
173
174 - Many more capabilities are now supported in the SANE scanner
175   backend. This improves scanning support in Acrobat.
176
177
178 *** Audio
179
180 - The openal32 dll is now implemented, as a wrapper around the Unix
181   OpenAL library.
182
183 - There is now an initial implementation of the mmdevapi dll (part of
184   the new Vista sound architecture), using OpenAL for sound I/O.
185
186 - The msgsm32.acm GSM codec is now supported.
187
188 - The ALSA sound driver now works better with PulseAudio's ALSA
189   emulation.
190
191 - Digital playback of audio CDs is now supported.
192
193
194 *** Internet and networking
195
196 - The HTTP protocol implementation has seen many improvements, in
197   particular better handling of proxies and redirects, better cookie
198   management, support for gzip encoding, fixes for chunked transfer
199   mode, support for IPv6 addresses, and better certificate validation
200   on secure connections.
201
202 - The Gecko HTML engine has been updated to a more recent upstream
203   version. Many more HTML objects are now implemented.
204
205 - The RPC layer now properly supports server-side authentication and
206   impersonation. The COM marshalling/unmarshalling is also more
207   compatible. RPC is now supported over the HTTP protocol too.
208
209 - There is now an essentially complete implementation of the
210   JavaScript language.
211
212 - The IRDA network protocol is now supported by the socket layer.
213
214 - The inetmib1 dll is now implemented, with support for the standard
215   SNMP MIB tables.
216
217 - The inetcomm dll now implements the POP3 and SMTP protocols, as well
218   as better MIME support.
219
220 - Extended mail providers are now better supported, particularly the
221   native Outlook provider. Mail attachments are also supported now.
222
223 - Many undocumented functions in the shlwapi dll have been implemented
224   for improved Internet Explorer support.
225
226
227 *** Direct3D
228
229 - FBOs are now used by default for off-screen rendering in Direct3D.
230
231 - Backbuffers larger/smaller than their associated window are now
232   correctly stretched.
233
234 - A large portion of the d3dx9 dlls is now implemented, most notably
235   the shader assembler, .x file support, functions for fonts, general
236   3D math, mesh handling, and sprites. A start has been made with the
237   texture and effect functions.
238
239 - Fog handling has improved a lot.
240
241 - Various YUV texture formats are now supported.
242
243 - wined3d contexts are now managed per-thread, and play nice both with
244   other wined3d instances and opengl32 GL contexts. Contexts are
245   checked for validity before being used (e.g. if the associated
246   window is destroyed.)
247
248 - Point sprite handling has improved a lot.
249
250 - The shader source is now dumped on GLSL compile/link failures. This
251   is mostly to help driver developers, like Mesa, with investigating
252   GLSL bugs triggered by Wine.
253
254 - The graphics card detection code is improved, and many more graphics
255   cards are now recognized.
256
257 - User clip planes are now supported in shaders. This allows proper
258   water reflections in Half-Life 2.
259
260 - There is now an initial implementation of Direct3D 10, including the
261   dxgi, d3d10core and d3d10 dlls.  Most of the work so far has gone
262   into parsing d3d10 effects and SM4 shaders.
263
264 - Shadow samplers are now properly supported. This fixes shadows in
265   StarCraft 2.
266
267 - There is now a shader based implementation of D3D fixed function
268   fragment processing. This avoids some limitations of the previous
269   OpenGL fixed function based approach.
270
271 - Partial updates of surfaces with compressed formats are now properly
272   supported.
273
274 - Many new OpenGL extensions are now supported. These include:
275
276    - EXT_provoking_vertex/ARB_provoking_vertex. This allows the
277      correct vertex color to be used when flat shading is enabled, and
278      helps Civilization IV in particular.
279
280    - EXT_vertex_array_bgra/ARB_vertex_array_bgra. This allows for more
281      efficient handling of BGRA (D3DCOLOR) data in the fixed function
282      pipeline.
283
284    - EXT_draw_buffers2. This enables independent color write masks
285      when multiple (simultaneous) render targets are in use.
286
287    - Various nVidia extensions to ARB vertex/fragment programs. These
288      allow SM3 support with the ARB vertex/fragment program shader
289      backend.
290
291    - EXT_texture_compression_rgtc. This adds support for the ATI2N
292      (also known as 3Dc) compressed texture format.
293
294    - ARB_texture_rg. This allows for more efficient support of the
295      R16F, G16R16F, R32F and G32R32F texture formats.
296
297    - ARB_framebuffer_object. This is mostly the same as the existing
298      support for EXT_framebuffer_object, but improves rendering with a
299      depth/stencil buffer larger than the color buffer(s). It helps
300      (among others) Splinter Cell,
301
302    - ARB_sync. This adds support for multi-threaded / cross GL context
303      event queries used by Dragon Age: Origins.
304
305    - ARB_half_float_vertex. This adds support for 16-bit floating
306      point vertex formats on cards that don't already support
307      NV_half_float. It helps Supreme Commander.
308
309 - There is now a general framework for supporting variations/quirks in
310   GL drivers.
311
312
313 *** Built-in applications
314
315 - The Wine debugger now displays a crash dialog to let the user know
316   that a crash happened before dumping the backtrace information.
317
318 - The Wine debugger now uses the Dwarf exception unwinding data for
319   more reliable backtraces.
320
321 - The file dialogs in built-in applications are now resizable.
322
323 - Regedit can now import from and export to files in Unicode format.
324
325 - Wineboot now displays a dialog while creating or updating the prefix
326   directory to let the user know that something is happening, since
327   the update can take some time, particularly with 64-bit prefixes.
328
329 - Text replacement is now implemented in Notepad.
330
331 - The print preview feature in Wordpad now works much better.
332
333 - Navigation in help files now works better in Winhelp. Many graphical
334   glitches have also been fixed.
335
336 - The Winecfg dialogs have been tweaked so that the application is
337   usable in a 640x480 desktop. The About panel has been redesigned
338   with better graphics.
339
340 - The command-line parser in cmd.exe is more compatible now, which
341   should enable more Windows batch files to execute correctly. There
342   is also a regression test suite for it.
343
344 - Rpcss now implements a proper RPC endpoint mapper.
345
346
347 *** Build environment
348
349 - The Wine IDL compiler can now generate correct code for all the
350   standard IDL files, including proper exception handling. A large
351   number of COM proxies and servers are now automatically generated
352   from their IDL definitions.
353
354 - The fake dll placeholders are now built at compile time, instead of
355   being generated every time a Wine prefix is created. This makes it
356   possible to install a placeholder for every supported dll, which
357   should avoid many failures in installers that check dll versions.
358
359 - configure now supports the --disable-tests option to prevent
360   building the test suite. This allows for faster compile times,
361   particularly when bisecting a regression.
362
363 - The cross-compiled tests are now built against the Wine import
364   libraries instead of the Mingw ones. The latter are not compatible
365   enough for our needs.
366
367 - winegcc now handles resource files just like normal object files and
368   links them into the final binary without requiring special build
369   rules.
370
371 - winebuild and winegcc now fully support Solaris.
372
373 - Wine now builds properly on Cygwin, though some of the resulting
374   binaries do not work correctly.
375
376 - Makefiles are now created as needed during the build process,
377   instead of being all created together at configure time. This makes
378   it unnecessary to run 'make depend' in most cases.
379
380 - winemaker now has better support for Visual C++ project files.
381
382
383 *** Miscellaneous
384
385 - The OLE storage implementation now supports transacted storage, with
386   proper commits and rollbacks. This enables support for Microsoft
387   Office documents containing macros.
388
389 - The MSI installer now supports patches, which enables the
390   installation of service packs for many applications. Many more MSI
391   standard actions are also supported now.
392
393 - The rsaenh dll now supports the SHA-256, SHA-384, and SHA-512
394   encryption algorithms, as well as CALG_SSL3_SHAMD5 hashing.
395
396 - OLE database objects are now implemented, which fixes the clipart
397   functionality in Microsoft Office 2007.
398
399 - Copying and pasting OLE objects across applications works better now.
400
401 - Support for cryptographic signatures and certificates is improved,
402   including support for certificate trust lists.
403
404 - The Task Scheduler service is now implemented.
405
406
407 *** Performance
408
409 - Bitmap stretching and alpha blending is now done through Xrender
410   when possible, which avoids a time-consuming round-trip of the
411   bitmap bits from the X server.
412
413 - Startup time for MSI installers that contain a large amount of
414   strings is much improved.
415
416 - Setting the processor affinity for threads or processes is now
417   supported, which improves multi-core performance for applications
418   that take advantage of it.
419
420 - Loading large symbol tables in the Wine debugger is much faster
421   now.
422
423 - FBO handling has improved significantly. Recently used FBO
424   configurations are now cached, which is a major performance
425   improvement.
426
427 - Loading shader constants is more efficient now. This improves
428   performance for (among others) Half-Life 2, Counter Strike: Source,
429   and Source Engine games in general.
430
431 - The performance of sRGB samples is improved, this particularly helps
432   Source Engine games.
433
434
435 *** Platform-specific changes
436
437 - Joysticks POV switch and axis remapping are now better supported on
438   Linux. Joysticks are now supported on Mac OS X too.
439
440 - The various DVD I/O controls are now implemented on Mac OS X.
441
442 - The network routing and statistics functions in iphlpapi are now
443   implemented on Solaris and FreeBSD.
444
445 - Mach-O debugging symbols (the format used by Mac OS X) are now
446   supported in the debugger.
447
448 - Event ports are now used on Solaris for improved wineserver
449   performance.
450
451
452 *** New library dependencies
453
454 - The libgnutls library is now used for encryption and certificate
455   validation in secur32.
456
457 - The libgsm library is now used for the GSM codec support.
458
459 - The libmpg123 library is now used for mp3 decoding (except on Mac OS
460   X where CoreAudio functions are used instead).
461
462 - The libopenal library is now used for the openal32 dll
463   implementation, as well as for the mmdevapi dll (Vista sound
464   support).
465
466 - The libtiff library is now used for TIFF image decoding in the
467   windowscodecs dll.
468
469 - The libv4l1 library is now used for video capture in DirectShow.
470
471
472 *** Backwards compatibility
473
474 - The wineshelllink helper script has been removed. All the menu and
475   desktop integration is now handled by winemenubuilder.
476
477 - The deprecated wineprefixcreate script has been removed. Wine prefix
478   directories are created automatically as needed.
479
480 - Old LinuxThreads setups are no longer supported. Wine now requires
481   the modern NPTL threading that has been standard on Linux for many
482   years now.
483
484 - The PBuffer option for off-screen rendering has been removed from
485   Direct3D. This code was unmaintained, and offered little advantage
486   over the "fbo" or "backbuffer" modes.
487
488
489 *** Known issues with recent 1.2 changes
490
491 - The subpixel font rendering doesn't yet look quite as nice as that
492   used by the rest of the Unix desktop.
493
494 - The OLE storage performance can degrade pretty badly on files with a
495   particular layout.
496
497 - There is no 64-bit version of the Gecko engine yet, so 64-bit
498   applications that use a browser control won't work correctly.
499
500 --
501 Alexandre Julliard
502 julliard@winehq.org