Mono 1.1.1 Development Release

Mono 1.1.1 is the first 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 production 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.

Important: Mono 1.1.1 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.1.

Installing Mono 1.1.1

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:


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.


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

Optional Packages

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


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

Changes since the Mono 1.0 release

The following is a high-level description of the changes in the development release of Mono since the original Mono 1.0 release.

Mono Ports

The Mono JIT has been ported to two new architectures, and another port has reached completion stage.

The engine is now 64-bit ready: the two new ports ports are 64-bit ports. Existing applications will automatically take advantage of the larger address space on these systems.

Neale has also started a 64 bit port to the S390x architecture, the code is included but it is not ready yet.



Plenty of optimizations have been implemented at every level: from low-level JIT optimizations to tuning and stress testing the higher class libraries. For example, the C# compiler in the 1.1.x series is 20% faster over the 1.0.x series while doing more work.

Some details:

Atsushi, Ben, Dick, Gonzalo, Paolo and Zoltan contributed to many other tuneups.

Web Services

There are many improvements and bug fixes to the existing core, in addition work has started on features from the .NET 2.0 stack:

In addition there is a new model for asynchronous calls and a the new tool `sgen' to pre-generate serializers debuts, but is still under development.


Work on Code Access Security (CAS) from Sebastien has started:

SHA224 has been added to the Mono.Security assembly. The certmgr tool is now able to manage the machine's store certificates in addition to the user certificates.

monodis now support declarative security attributes in it's IL output.

C# language updates

We continue to ship two compilers: mcs and gmcs. The only difference between those compilers is that the latter has support for generics, but they share the rest of the features.

We continue to improve the compiler to flag more errors for incorrect constructs or provide more useful information to the developer.

On this new release of the compiler, we have made the warning level default to 4 from the regular 3.

Postgress: Npgsql

This update comes from Francisco: Added support for point, box, lseg, path, polygon and circle datatypes. Added NpgsqlDbType enumeration with all supported types.

They are mapped to NpgsqlPoint, NpgsqlBox, NpgsqlLSeg, NpgsqlPolygon and NpgsqlCircle respectively. Thanks Glen Parker for help.

The following bugs have been fixed:


System.XML 2.0 development has started. Most of the new classes are checked in. They are mostly based on .NET FX 2.0 beta 1. There are many "partly implemented and untested" new 2.0 stuff:

This work was done by Atsushi.

Basic Compiler

Anirban, Bernie, Jambunathan and Rafael have been making great progress on the Basic compiler, at this point it is possible to run ASP.NET applications, but work continues to refine the compiler.

Unlike the C# case where we had a large body of code to test against (the compiler, and later our class libraries), there is less Visual Basic code to test against, so we depend more on language tests for it, Sachin has been contributing to this area.

Since the last release, the mbas compiler supports: interfaces, inheritance definition, event handlers, implements clause, cross-assembly compilation, properties, enumerations, conditional compilation directives.

Jochen Wezel provided quick feedback on the changes and Rob Tillie helped with the VisualBasic.dll runtime.

C5 Class Library

We now distribute the C5 generics library created by Peter Sestoft and Niels Jørgen. This library is currently used mostly as large test case for the Generics edition of the C# compiler as it is the largest body of template code for C# available to this date.

We want to thank Peter and Niels for making their work available under the MIT X11 license.

For more details about it, see the C5 home page.


Sanjay added support for multiple frames (gif and tiff) and graphic control extension (gif). Animation along with reduction in size of gif files saved.


Suresh and Uma continued to fix the existing 1-0 API and also have started on the 2.x API features:


A new implementation of Windows.Forms is in progress. This new implementation is a completely managed implementation and only uses a thin driver for interfacing with the host windowing system. Two drivers are currently supported: Win32 and X11, volunteers are welcome to implement a driver for Mac's CoreGraphics.

This team is currently composed of Jackson, Jordi, Peter and Ravindra who are working exclusively on it.

Although the souce code is part of the distribution, no binaries of the library can be distributed yet as it is not complete enough to provide the APIs that other parts of the class libraries require (this is only a build time issue for us, it will be addressed in an upcoming version of the 1.1.x series).

If you are interested in trying out the new version of Windows.Forms, you should download the mcs package, configure, and then do:

	$ cd mcs-1.1.1
	$ ./configure --prefix=/YOURPREFIX
	$ cd mcs/class/Managed.Windows.Forms
	$ make clean
	$ make install

Notice that this is not complete, and it is not finished, contributors are welcome. To discuss this, please join the mono-winforms-list

For details on how to contribute, see Peter's update on the effort and the details on how it supports native toolkit themes. For some screenshots see: Jackson's blog


The parser and lexer of Java Script have been rewritten by Cesar by porting the code from Rhino.

General .NET 2.x updates

Tim Coleman, Sebastien Poulliot, Carlos Alberto, [FIXME: FULL LIST]

Bug fixes

All the bug fixes from the 1.0.x release are available on the development version of Mono as well.