Mono 1.2.2 is an update to Mono 1.2.1 in the Mono 1.2 series, it is a bug fix release for all the supported components, but also includes updates on the 2.0 stack.
Jonathan Pobst released the Mono Migration Analysis tool as part of the Mono 1.2 launch, and we were able to get a tremendous amount of feedback on what features people depended on.
Both features that were known to have limitations in Mono (they are called "MonoTODOs") as well as APIs that we have not yet implemented.
Some early results from the submissions we have received are here and here.
This release addresses many of the issues that were reported: implementation of many APIs that developers needed, removal of incorrect MonoTODOs that we had accumulated over the years and clarifications to many of the MonoTODOs to actually describe the limitations found.
Specifically, this release:
This release contains many bug fixes to the C# compiler, Windows.Forms and ASP.NET. Developers and users are encouraged to upgrade to this release.
This release also includes a critical fixe to the runtime startup. Heavily multi-threaded applications would have crashed otherwise.
A new version of Moma, available with this release has been prepared: it has been updated to use the 1.2.2 API, contains an updating mechanism (so we can update the APIs without releasing new Momas) and we optionally allow developers to enter information that you want to send to the Mono team [Jonathan Pobst].
Jonathan Pobst implemented many new classes from Windows.Forms 2.x. Mono now supports ContextMenuStrips, ToolStripContainers, ToolStripDropDownButtons, ToolStripManager, and ToolStripSplitButtons.
Many updates and bug fixes, specially to MDI code.
We found another series of problems with anonymous methods. Martin fixed all the known problems.
We strongly encourage developers to upgrade to this version of Mono and the C# compiler as the code generated between 1.1.18 and 1.2.1 would not have the proper activation semantics for variables captured by anonymous methods [Martin Baulig].
In addition, the merging of the MCS and GMCS compilers continued. The tokenizer is now shared, which only leaves the parser and the generics support as a difference between the two compilers [Marek Safar].
We continue to improve the ASP.NET 2.x implementation.
Support for registering controls from within
Web.config (if that went into the release), several improvements to
handling of App_Code and fixed support for Our internal cairo implementation has been upgraded to
version 1.2.6.
mkbundle now can generate code that can be embedded into an
application (in addition to generating standalone
applications) [Joshua Tauberer].
Under the 2.0 profile, we now do lazy initialization of the
Console, so the new code is only activated if the user
actually needs some of the new features, reducing memory
consumption, but also keeping the semantics of 2.0 compiled
applications inline with Unix unless new features are
requested (Gonzalo).
Many improvements and bug fixes to the VB runtime, and it
is now running IBuySpy, DevZone (Based on DotNetNuke)
The ASP.NET sites were tested with Grasshopper, as Mono
does not yet have a complete VB compiler available to compile
Visual Basic applications on the server.
Anil Bhatia, Atsushi Enomoto, Vladimir Krasnov, Chris
Toshok, Ben Maurer, Paolo Molaro, Sebastien Pouliot, Rolf
Bjarne, Andreia Gaita, Marek Habersack, Gonzalo Paniagua,
Lluis Sanchez, Dick Porter, Ankit Jain, Miguel de Icaza,
Jonathan Pobst, Jonathan Chambers, Jackson Harper, Alexander
Olk, Igor Zalmanovich, Klain Yoni, Raja Harinath, Nagappan,
Everaldo Canuto, Mike Kestner, Gert Driesen, Konstantin
Triger, Andrew Skiba, Mark Mason, Robert Jordan, Jonathan
Pryor, Rafael Mizrahi, Wade Berrier, Zoltan Varga, Joshua
Tauberer, Vladislav Spivak, Joe Shaw, Neale Ferguson, Carlos
Cortes
Binary Packages and Source Code Downloads:
Source code and pre-compiled packages for SUSE, SLES,
Fedora Core 3, 4, Solaris, RHEL, MacOS and Windows in a variety of
platforms available from our web site from the download
section.
Quick source code installation:
If we have no packages for your platform, installing from
source code is very simple.
mono: Then compile libgdiplus:
GDI+
Security
Improvements to 2.0 classes dealing with X.509 certificates [Sebastien].
Tools
Console
Visual Basic
Contributors to this Release
Installing Mono 1.2.2
$ ./configure --prefix=/devel
$ tar xzf mono-1.2.2.tar.gz
$ cd mono-1.2.2
$ ./configure
$ make
$ make install
$ tar xzf libgdiplus-1.2.2.tar.gz
$ cd libgdiplus-1.2.2
$ ./configure
$ make
$ make install