Mono 1.1.2 Development Release

Mono 1.1.2 is the second release on the development series of Mono and it is not intended to be used for production as it is undergoing internal changes. Those interested in a stable release should use the Mono 1.0.xx series.

The Mono 1.1.xx series will eventually lead to the next stable milestone: Mono 1.2.

Changes since the Mono 1.1.1 release

The following is a high-level description of the changes in the development release of Mono since the previous development release in September 22nd.

Although this a development version, this release contains mostly bug fixes, speedups and tuning in every subsystem of Mono. In addition to that, some key new changes are:

C# Compiler

The C# compiler now supports anonymous methods, you can now write code like this:


        Button b = new Button ();
        b.Clicked += delegate {
                Console.WriteLine ("I got clicked");
        }
        
        

For more information on anonymous methods, you can read this introduction or read the C# 2.0 specification (Miguel).

Today Mono 1.1.2's C# compiler supports anonymous methods, iterators, partial classes, static classes and inline warning control from the 2.0 specification. Generics are supported as well on the branched `gmcs' compiler (included).

Added support for encoding security permission attributes as part of the ongoing CAS support in Mono (Marek).

Still missing for full 2.0 support: nullable types, namespace alias qualifier, external assembly alias, property accessor accessibility, covariance and contravariance, fixed size buffers and friend assemblies.

Many new errors and warnings reported.

Basic Compiler

Improved the compiler performance by back porting some improvements from mcs to mbas, compilations that used to take thirty seconds now take one second (Jambunathan).

Anirban continued making improvements to the language support and Jambu redesigned the test suite layout.

libgdiplus and System.Drawing

We no longer depend on Cairo internals.

Windows.Forms and System.Drawing

Work on the new managed implementation of Windows.Forms continues, we hope that by the next release the new implementation completely replaces the existing version during the build process.

Although there is a lot of progress in this area, Windows.Forms is not yet ready for most people testing it.

Folks interested in helping with the implementation might want to go to the #mono-winforms channel on the irc network at irc.gnome.org.

Debugger

Chris and Martin worked on the debugger support, the runtime now contains some of the new hooks required by the new debugger. The debugger currently can only be obtained from CVS.

The debugger is available from CVS, in the module `debugger'.

2.0 features

Zoltan has added various Reflection.Emit features from the 2.0 API.

Extensive changes to the Mono runtime for improving our generics support.

System.Web

The web support has been fine tuned and optimized, the number of requests per second went from 70 to 550.

A big memory leak that would show up on long running servers has been plugged.

Xml World

The Mono XQuery implementation has moved to a separate assembly Mono.Xml.Ext in lieu and will be available for both the 1.x and 2.x profiles.

JIT Ports

Updated the PowerPC, SPARC, AMD64 ports of Mono.

S390 port by Neale got its exception handling and prologs fixed.

JScript

Cesar has implemented late binding support for the JScript compiler.

Installing Mono 1.1.2

Important: Mono 1.1.2 can not be installed in parallel with Mono 1.0.x series on the same prefix. To work around this issue, you must use a different prefix at configure time, for example:

        
        $ ./configure --prefix=/devel
        

You can then setup your PATH to include /devel/bin to access the Mono 1.1. Alternatively you can replace your Mono installation with 1.1.2.

Binary Packages:

Pre-compiled packages for SUSE 9, SUSE 9.1, Red Hat 9, SLES 8, Fedora Core 1, Fedora Core 2 and MacOS X are available from our web site from the download section. A Red Carpet Mono channel is also available on these platforms.

Source code:

Dependencies

If you are installing from source code, there are a few optional dependencies that you will want to consider installing.

icu 2.6.1 or later Optional: for supporting string collation.

Cairo 0.1.23 Required to install libgdiplus.

Quick source code installation:

If we have no packages for your platform, installing from source code is very simple.

mono:

        
    $ tar xzf mono-1.1.2.tar.gz
    $ cd mono-1.1.2
    $ ./configure
    $ make install
        

Optional Packages

Libgdiplus is an optional packages, you only need those if you intent to use System.Drawing or Windows.Forms.

libgdiplus:

        
    $ tar xzf libgdiplus-1.1.2.tar.gz
    $ cd libgdiplus-1.1.2
    $ /configure
    $ make install
        

Contributors

The changes in Mono 1.1.2 were brought to you by:

Adhamh Findlay, B Anirban, Atsushi Enomoto, Ben Maurer, Bernie Solomon, Carlos Guzmán, César Natarén, Chris Lahey, Daniel Morgan, Dan Winship, David Sheldon, David Hudson, Dick Porter, Duncan Mak, Fawad Halim, Francisco Figueiredo Jr., Gert Driesen, Geoff Norton, Gonzalo Paniagua, Jackson Harper, Jambunathan Jambunathan, John Luke, Jochen Wezel, Joe Shaw, Jörg Rosenkranz, Jonathan Pryor, Jordi Mas, Juraj Skripsky, Lluis Sanchez, Paolo Molaro, Marek Safar, Martin Baulig, Massimiliano Mantione, Miguel de Icaza, Mike Kestner, Martin Willemoes, Neale Ferguson, Alex Graveley, Peter Bartok, Peter Williams, Rafael Teixeira, Raja R Harinath, Ravindra Kumar, Randy Ridge, Sanjay Gupta, Shane Landrum, Sebastien Pouliot, Sudha, suresh, Todd Berman, Chris Toshok, S Umadevi, Vladimir Vukicevic and Zoltan Varga.