|  | The Wine team is proud to announce that the stable release Wine 1.2 is | 
|  | now available. | 
|  |  | 
|  | This release represents two years of development effort and over | 
|  | 23,000 changes. The main highlights are the support for 64-bit | 
|  | applications, and the new graphics based on the Tango standard. | 
|  |  | 
|  | It also contains a lot of improvements across the board, and over | 
|  | 3,000 bug fixes. See the release notes below for a summary of the | 
|  | major changes. | 
|  |  | 
|  | The source is available from the following locations: | 
|  |  | 
|  | http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.2.tar.bz2 | 
|  | http://prdownloads.sourceforge.net/wine/wine-1.2.tar.bz2 | 
|  |  | 
|  | 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. | 
|  |  | 
|  | ---------------------------------------------------------------- | 
|  |  | 
|  | What's new in Wine 1.2 | 
|  | ====================== | 
|  |  | 
|  | *** Core functionality | 
|  |  | 
|  | - Loading and running 64-bit Windows applications is now supported on | 
|  | x86-64 processors (only on Linux at this point). | 
|  |  | 
|  | - There are now two flavors of Wine prefixes, 32-bit and | 
|  | 64-bit. 32-bit prefixes only support 32-bit applications, while | 
|  | 64-bit prefixes support both 32-bit and 64-bit applications. The | 
|  | prefix flavor is set at prefix creation time and cannot be changed | 
|  | afterwards, since all the files and registry entries are in | 
|  | different locations. Backwards compatibility is ensured by | 
|  | considering all prefixes created with older Wine versions to be | 
|  | 32-bit. | 
|  |  | 
|  | - WoW64 file system redirection is supported now. When running a | 
|  | 32-bit application in a 64-bit prefix, accesses to the | 
|  | window/system32 directory are automatically redirected to | 
|  | windows/syswow64. | 
|  |  | 
|  | - WoW64 registry redirection is now supported in 64-bit prefixes. This | 
|  | allows both 32-bit and 64-bit applications to set platform-specific | 
|  | registry keys without stepping on each other. | 
|  |  | 
|  | - All the 16-bit support code has been moved to a set of independent | 
|  | 16-bit modules. No 16-bit code is loaded or initialized when running | 
|  | a standard Win32 application, unless it starts making 16-bit calls. | 
|  |  | 
|  | - The mount manager now reports the actual UUID for disk devices that | 
|  | support it instead of a hard-coded one. | 
|  |  | 
|  | - Symbolic links are now supported in the registry. | 
|  |  | 
|  | - The C runtime libraries msvcr80, msvcr90 and msvcr100 used by recent | 
|  | Visual C++ versions are now partially implemented. | 
|  |  | 
|  | - Some functions now use a Microsoft-compatible function prologue when | 
|  | building with a recent enough gcc. This allows Steam overlays to | 
|  | work. | 
|  |  | 
|  |  | 
|  | *** User interface | 
|  |  | 
|  | - There are new icons for all the built-in applications, as well as | 
|  | for the standard toolbars and images. The icons are based on the | 
|  | Tango set for a nicer integration with the native Unix desktop look. | 
|  |  | 
|  | - Animated cursors can now be loaded, though only the first frame of | 
|  | the animation is used as a static cursor. | 
|  |  | 
|  | - The mouse cursor is now updated correctly in applications that | 
|  | create windows from different threads, like Internet Explorer. | 
|  |  | 
|  | - The standard print and page setup dialogs are working much better | 
|  | now. | 
|  |  | 
|  | - There is now an application wizard control panel to manage installed | 
|  | applications. | 
|  |  | 
|  | - Rendering of bi-directional text is now supported reasonably | 
|  | well. There is also some support for Arabic text shaping. | 
|  |  | 
|  | - Many features of the RichEdit control are improved, particularly | 
|  | support for tables, URL detection, cursor positioning, scrollbar | 
|  | management, and support for windowless controls. | 
|  |  | 
|  | - Many common controls work better now, particularly the listview, | 
|  | calendar and tab controls. | 
|  |  | 
|  | - There is now a partial implementation of the Microsoft Text Services | 
|  | framework, which provides better input method support in modern | 
|  | applications. | 
|  |  | 
|  | - There is now a proper user interface for importing, exporting and | 
|  | managing cryptographic keys and certificates. | 
|  |  | 
|  | - Wine is now fully translated to French, German, Dutch, Italian, | 
|  | Portuguese, Romanian, Polish, Lithuanian, Norwegian, and Korean. It | 
|  | has partial translations for another twenty languages. | 
|  |  | 
|  |  | 
|  | *** Desktop integration | 
|  |  | 
|  | - The XDG standard for application startup notification is now | 
|  | implemented. | 
|  |  | 
|  | - The NET_WORKAREA property is now supported to let applications take | 
|  | into account the size of the Unix desktop task bars. | 
|  |  | 
|  | - File associations created by a Windows applications are now | 
|  | registered with the Unix desktop. | 
|  |  | 
|  | - Application icons are now set with the NET_WM_ICON hint, which | 
|  | enables alpha channel transparency under window managers that | 
|  | support it. | 
|  |  | 
|  | - Maximizing a window from the Unix window manager is now detected and | 
|  | the state is correctly reflected on the Windows application side. | 
|  |  | 
|  | - The XDG desktop screen saver is now launched when a Windows | 
|  | application makes a request to start the screen saver. | 
|  |  | 
|  | - Start Menu entries are now properly removed when an application is | 
|  | uninstalled. | 
|  |  | 
|  | - Copying and pasting images between Windows and Unix applications | 
|  | works more reliably now, and more image formats are supported. | 
|  |  | 
|  | - Launching an external Unix Web browser from a Windows application | 
|  | now works correctly. | 
|  |  | 
|  | - MSI files are now associated with Wine to enable launching them | 
|  | directly from the desktop. | 
|  |  | 
|  | - The virtual desktop window now switches to full-screen mode when its | 
|  | size matches that of the screen. | 
|  |  | 
|  | - The strange window management behavior used by Delphi-generated | 
|  | applications is better supported now. | 
|  |  | 
|  |  | 
|  | *** Graphics | 
|  |  | 
|  | - Subpixel font rendering is now supported, which greatly improves | 
|  | text appearance on LCD screens. The subpixel configuration is | 
|  | derived from the system fontconfig and Xft settings. | 
|  |  | 
|  | - Icons with alpha channels are now properly blended in, for a much | 
|  | nicer appearance. | 
|  |  | 
|  | - Image lists now properly store the alpha channel of images and use | 
|  | it when displaying them. | 
|  |  | 
|  | - The windowscodecs dll has been added, with codecs for the JPEG, GIF, | 
|  | PNG, BMP, ICO, and TIFF image formats. | 
|  |  | 
|  | - Many functions are now implemented in GDIPlus. The gdiplus dll is | 
|  | now considered good enough to load the built-in version by default. | 
|  |  | 
|  | - Overlays are now supported in DirectDraw. | 
|  |  | 
|  | - Many more capabilities are now supported in the SANE scanner | 
|  | backend. This improves scanning support in Acrobat. | 
|  |  | 
|  |  | 
|  | *** Audio | 
|  |  | 
|  | - The openal32 dll is now implemented, as a wrapper around the Unix | 
|  | OpenAL library. | 
|  |  | 
|  | - There is now an initial implementation of the mmdevapi dll (part of | 
|  | the new Vista sound architecture), using OpenAL for sound I/O. | 
|  |  | 
|  | - The msgsm32.acm GSM codec is now supported. | 
|  |  | 
|  | - The ALSA sound driver now works better with PulseAudio's ALSA | 
|  | emulation. | 
|  |  | 
|  | - Digital playback of audio CDs is now supported. | 
|  |  | 
|  |  | 
|  | *** Internet and networking | 
|  |  | 
|  | - The HTTP protocol implementation has seen many improvements, in | 
|  | particular better handling of proxies and redirects, better cookie | 
|  | management, support for gzip encoding, fixes for chunked transfer | 
|  | mode, support for IPv6 addresses, and better certificate validation | 
|  | on secure connections. | 
|  |  | 
|  | - The Gecko HTML engine has been updated to a more recent upstream | 
|  | version. Many more HTML objects are now implemented. | 
|  |  | 
|  | - The RPC layer now properly supports server-side authentication and | 
|  | impersonation. The COM marshalling/unmarshalling is also more | 
|  | compatible. RPC is now supported over the HTTP protocol too. | 
|  |  | 
|  | - There is now an essentially complete implementation of the | 
|  | JavaScript language. | 
|  |  | 
|  | - The IRDA network protocol is now supported by the socket layer. | 
|  |  | 
|  | - The inetmib1 dll is now implemented, with support for the standard | 
|  | SNMP MIB tables. | 
|  |  | 
|  | - The inetcomm dll now implements the POP3 and SMTP protocols, as well | 
|  | as better MIME support. | 
|  |  | 
|  | - Extended mail providers are now better supported, particularly the | 
|  | native Outlook provider. Mail attachments are also supported now. | 
|  |  | 
|  | - Many undocumented functions in the shlwapi dll have been implemented | 
|  | for improved Internet Explorer support. | 
|  |  | 
|  |  | 
|  | *** Direct3D | 
|  |  | 
|  | - FBOs are now used by default for off-screen rendering in Direct3D. | 
|  |  | 
|  | - Backbuffers larger/smaller than their associated window are now | 
|  | correctly stretched. | 
|  |  | 
|  | - A large portion of the d3dx9 dlls is now implemented, most notably | 
|  | the shader assembler, .x file support, functions for fonts, general | 
|  | 3D math, mesh handling, and sprites. A start has been made with the | 
|  | texture and effect functions. | 
|  |  | 
|  | - Fog handling has improved a lot. | 
|  |  | 
|  | - Various YUV texture formats are now supported. | 
|  |  | 
|  | - wined3d contexts are now managed per-thread, and play nice both with | 
|  | other wined3d instances and opengl32 GL contexts. Contexts are | 
|  | checked for validity before being used (e.g. if the associated | 
|  | window is destroyed.) | 
|  |  | 
|  | - Point sprite handling has improved a lot. | 
|  |  | 
|  | - The shader source is now dumped on GLSL compile/link failures. This | 
|  | is mostly to help driver developers, like Mesa, with investigating | 
|  | GLSL bugs triggered by Wine. | 
|  |  | 
|  | - The graphics card detection code is improved, and many more graphics | 
|  | cards are now recognized. | 
|  |  | 
|  | - User clip planes are now supported in shaders. This allows proper | 
|  | water reflections in Half-Life 2. | 
|  |  | 
|  | - There is now an initial implementation of Direct3D 10, including the | 
|  | dxgi, d3d10core and d3d10 dlls.  Most of the work so far has gone | 
|  | into parsing d3d10 effects and SM4 shaders. | 
|  |  | 
|  | - Shadow samplers are now properly supported. This fixes shadows in | 
|  | StarCraft 2. | 
|  |  | 
|  | - There is now a shader based implementation of D3D fixed function | 
|  | fragment processing. This avoids some limitations of the previous | 
|  | OpenGL fixed function based approach. | 
|  |  | 
|  | - Partial updates of surfaces with compressed formats are now properly | 
|  | supported. | 
|  |  | 
|  | - Many new OpenGL extensions are now supported. These include: | 
|  |  | 
|  | - EXT_provoking_vertex/ARB_provoking_vertex. This allows the | 
|  | correct vertex color to be used when flat shading is enabled, and | 
|  | helps Civilization IV in particular. | 
|  |  | 
|  | - EXT_vertex_array_bgra/ARB_vertex_array_bgra. This allows for more | 
|  | efficient handling of BGRA (D3DCOLOR) data in the fixed function | 
|  | pipeline. | 
|  |  | 
|  | - EXT_draw_buffers2. This enables independent color write masks | 
|  | when multiple (simultaneous) render targets are in use. | 
|  |  | 
|  | - Various nVidia extensions to ARB vertex/fragment programs. These | 
|  | allow SM3 support with the ARB vertex/fragment program shader | 
|  | backend. | 
|  |  | 
|  | - EXT_texture_compression_rgtc. This adds support for the ATI2N | 
|  | (also known as 3Dc) compressed texture format. | 
|  |  | 
|  | - ARB_texture_rg. This allows for more efficient support of the | 
|  | R16F, G16R16F, R32F and G32R32F texture formats. | 
|  |  | 
|  | - ARB_framebuffer_object. This is mostly the same as the existing | 
|  | support for EXT_framebuffer_object, but improves rendering with a | 
|  | depth/stencil buffer larger than the color buffer(s). It helps | 
|  | (among others) Splinter Cell, | 
|  |  | 
|  | - ARB_sync. This adds support for multi-threaded / cross GL context | 
|  | event queries used by Dragon Age: Origins. | 
|  |  | 
|  | - ARB_half_float_vertex. This adds support for 16-bit floating | 
|  | point vertex formats on cards that don't already support | 
|  | NV_half_float. It helps Supreme Commander. | 
|  |  | 
|  | - There is now a general framework for supporting variations/quirks in | 
|  | GL drivers. | 
|  |  | 
|  |  | 
|  | *** Built-in applications | 
|  |  | 
|  | - The Wine debugger now displays a crash dialog to let the user know | 
|  | that a crash happened before dumping the backtrace information. | 
|  |  | 
|  | - The Wine debugger now uses the Dwarf exception unwinding data for | 
|  | more reliable backtraces. | 
|  |  | 
|  | - The file dialogs in built-in applications are now resizable. | 
|  |  | 
|  | - Regedit can now import from and export to files in Unicode format. | 
|  |  | 
|  | - Wineboot now displays a dialog while creating or updating the prefix | 
|  | directory to let the user know that something is happening, since | 
|  | the update can take some time, particularly with 64-bit prefixes. | 
|  |  | 
|  | - Text replacement is now implemented in Notepad. | 
|  |  | 
|  | - The print preview feature in Wordpad now works much better. | 
|  |  | 
|  | - Navigation in help files now works better in Winhelp. Many graphical | 
|  | glitches have also been fixed. | 
|  |  | 
|  | - The Winecfg dialogs have been tweaked so that the application is | 
|  | usable in a 640x480 desktop. The About panel has been redesigned | 
|  | with better graphics. | 
|  |  | 
|  | - The command-line parser in cmd.exe is more compatible now, which | 
|  | should enable more Windows batch files to execute correctly. There | 
|  | is also a regression test suite for it. | 
|  |  | 
|  | - Rpcss now implements a proper RPC endpoint mapper. | 
|  |  | 
|  |  | 
|  | *** Build environment | 
|  |  | 
|  | - The Wine IDL compiler can now generate correct code for all the | 
|  | standard IDL files, including proper exception handling. A large | 
|  | number of COM proxies and servers are now automatically generated | 
|  | from their IDL definitions. | 
|  |  | 
|  | - The fake dll placeholders are now built at compile time, instead of | 
|  | being generated every time a Wine prefix is created. This makes it | 
|  | possible to install a placeholder for every supported dll, which | 
|  | should avoid many failures in installers that check dll versions. | 
|  |  | 
|  | - configure now supports the --disable-tests option to prevent | 
|  | building the test suite. This allows for faster compile times, | 
|  | particularly when bisecting a regression. | 
|  |  | 
|  | - The cross-compiled tests are now built against the Wine import | 
|  | libraries instead of the Mingw ones. The latter are not compatible | 
|  | enough for our needs. | 
|  |  | 
|  | - winegcc now handles resource files just like normal object files and | 
|  | links them into the final binary without requiring special build | 
|  | rules. | 
|  |  | 
|  | - winebuild and winegcc now fully support Solaris. | 
|  |  | 
|  | - Wine now builds properly on Cygwin, though some of the resulting | 
|  | binaries do not work correctly. | 
|  |  | 
|  | - Makefiles are now created as needed during the build process, | 
|  | instead of being all created together at configure time. This makes | 
|  | it unnecessary to run 'make depend' in most cases. | 
|  |  | 
|  | - winemaker now has better support for Visual C++ project files. | 
|  |  | 
|  |  | 
|  | *** Miscellaneous | 
|  |  | 
|  | - The OLE storage implementation now supports transacted storage, with | 
|  | proper commits and rollbacks. This enables support for Microsoft | 
|  | Office documents containing macros. | 
|  |  | 
|  | - The MSI installer now supports patches, which enables the | 
|  | installation of service packs for many applications. Many more MSI | 
|  | standard actions are also supported now. | 
|  |  | 
|  | - The rsaenh dll now supports the SHA-256, SHA-384, and SHA-512 | 
|  | encryption algorithms, as well as CALG_SSL3_SHAMD5 hashing. | 
|  |  | 
|  | - OLE database objects are now implemented, which fixes the clipart | 
|  | functionality in Microsoft Office 2007. | 
|  |  | 
|  | - Copying and pasting OLE objects across applications works better now. | 
|  |  | 
|  | - Support for cryptographic signatures and certificates is improved, | 
|  | including support for certificate trust lists. | 
|  |  | 
|  | - The Task Scheduler service is now implemented. | 
|  |  | 
|  |  | 
|  | *** Performance | 
|  |  | 
|  | - Bitmap stretching and alpha blending is now done through Xrender | 
|  | when possible, which avoids a time-consuming round-trip of the | 
|  | bitmap bits from the X server. | 
|  |  | 
|  | - Startup time for MSI installers that contain a large amount of | 
|  | strings is much improved. | 
|  |  | 
|  | - Setting the processor affinity for threads or processes is now | 
|  | supported, which improves multi-core performance for applications | 
|  | that take advantage of it. | 
|  |  | 
|  | - Loading large symbol tables in the Wine debugger is much faster | 
|  | now. | 
|  |  | 
|  | - FBO handling has improved significantly. Recently used FBO | 
|  | configurations are now cached, which is a major performance | 
|  | improvement. | 
|  |  | 
|  | - Loading shader constants is more efficient now. This improves | 
|  | performance for (among others) Half-Life 2, Counter Strike: Source, | 
|  | and Source Engine games in general. | 
|  |  | 
|  | - The performance of sRGB samples is improved, this particularly helps | 
|  | Source Engine games. | 
|  |  | 
|  |  | 
|  | *** Platform-specific changes | 
|  |  | 
|  | - Joysticks POV switch and axis remapping are now better supported on | 
|  | Linux. Joysticks are now supported on Mac OS X too. | 
|  |  | 
|  | - The various DVD I/O controls are now implemented on Mac OS X. | 
|  |  | 
|  | - The network routing and statistics functions in iphlpapi are now | 
|  | implemented on Solaris and FreeBSD. | 
|  |  | 
|  | - Mach-O debugging symbols (the format used by Mac OS X) are now | 
|  | supported in the debugger. | 
|  |  | 
|  | - Event ports are now used on Solaris for improved wineserver | 
|  | performance. | 
|  |  | 
|  |  | 
|  | *** New library dependencies | 
|  |  | 
|  | - The libgnutls library is now used for encryption and certificate | 
|  | validation in secur32. | 
|  |  | 
|  | - The libgsm library is now used for the GSM codec support. | 
|  |  | 
|  | - The libmpg123 library is now used for mp3 decoding (except on Mac OS | 
|  | X where CoreAudio functions are used instead). | 
|  |  | 
|  | - The libopenal library is now used for the openal32 dll | 
|  | implementation, as well as for the mmdevapi dll (Vista sound | 
|  | support). | 
|  |  | 
|  | - The libtiff library is now used for TIFF image decoding in the | 
|  | windowscodecs dll. | 
|  |  | 
|  | - The libv4l1 library is now used for video capture in DirectShow. | 
|  |  | 
|  |  | 
|  | *** Backwards compatibility | 
|  |  | 
|  | - The wineshelllink helper script has been removed. All the menu and | 
|  | desktop integration is now handled by winemenubuilder. | 
|  |  | 
|  | - The deprecated wineprefixcreate script has been removed. Wine prefix | 
|  | directories are created automatically as needed. | 
|  |  | 
|  | - Old LinuxThreads setups are no longer supported. Wine now requires | 
|  | the modern NPTL threading that has been standard on Linux for many | 
|  | years now. | 
|  |  | 
|  | - The PBuffer option for off-screen rendering has been removed from | 
|  | Direct3D. This code was unmaintained, and offered little advantage | 
|  | over the "fbo" or "backbuffer" modes. | 
|  |  | 
|  |  | 
|  | *** Known issues with recent 1.2 changes | 
|  |  | 
|  | - The subpixel font rendering doesn't yet look quite as nice as that | 
|  | used by the rest of the Unix desktop. | 
|  |  | 
|  | - The OLE storage performance can degrade pretty badly on files with a | 
|  | particular layout. | 
|  |  | 
|  | - There is no 64-bit version of the Gecko engine yet, so 64-bit | 
|  | applications that use a browser control won't work correctly. | 
|  |  | 
|  | -- | 
|  | Alexandre Julliard | 
|  | julliard@winehq.org |