Mono 1.1.13 Release

We consider Mono 1.1.13 stable to recommend it for all users. Those upgrading from the 1.0.x series should note that these notes only contain the differences between 1.1.11 and 1.1.13.

These release notes include the 1.1.12 changes as we did not distribute the 1.1.12 announcement.

All of the changes since 1.0 are documented in the following release notes: 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.1.6, 1.1.7, 1.1.8, 1.1.9 and 1.1.10.

This release is mostly a bug-fix release, there are very few new developments.

Important

The Mono 1.1.13 release marks a feature freeze point for Mono in preparation for Mono 1.2. At this point the core of Mono has been frozen and only bug fixes will be applied to it.

A few libraries remain under development as they are internal to Mono operation or have not been completed: PEAPI (only used for the assembler), libgdiplus (for System.Drawing) and System.Windows.Forms.

In particular, Mono 1.1.13 is the release that we will be maintaining for the upcoming SUSE enterprise products until Mono 1.2 is released.

What is new in Mono 1.1.13

Also see our next section Mono 1.1.12.

New port: S390x

Neale from Sinenomine has completed his 64-bit port of Mono to the S390x platform.

Obsoleted classes

Various classes from Mono.Posix that had been marked obsolete for the last few months have been removed (Jonathan Pryor).

These classes did not exist in Mono 1.0, they only existed for a little while during the development process of Mono 1.1 and they have been replaced now with classes and methods that follow the .NET Framework Programming Guidelines.

.NET updates

Dick Porter implemented the new 2.0 System.Threading primitives.

John Luke updates the System.Net.Mail and .Net.Mime namespaces.

Windows.Forms updates

Many Windows.Forms updates, in particular Jordi Más contributed the printing framework for System.Windows.Forms. We need to upgrade Cairo before it will become fully functional.

Peter Bartok, Jackson Harper and Alexander Olk fixed hundreds of bugs in Windows.Forms.

Sqlite

Joshua Tauberer made the Sqlite provider return typed data if Sqlite3 is being used.

What is new in Mono 1.1.12

Ports

Neale updated the S390 JIT compiler to match the new cross platform register allocator.

Paolo fixed a number PowerPC bugs that were exposed by new tests. He also fixed floating point code generation on ARM.

IronPython

This version of Mono can run IronPython 0.9.6.

JIT Optimizations

An SSA-less Dead Code Elimination (fastdce) optimization was checked in by Massi. This optimization will be more useful on the next release as we tune some of the optimizations that produce dead code.

Registry

An implementation of the registry is now available on Unix.

2.0 profile updates.

TryParse methods are no longer wrappers for Parse, Parse is now implemented in terms of Parse which will give us the performance associated with TryParse (Carlos).

Implement the string compares from 2.0 (Atsushi).

Implemented System.Globalization and System.Text from 2.0 as well as updating many of the CJK codecs (Atsushi).

Reflection updates from Zoltan.

Uri parsers from Sebastien.

System.XML 2.0: Most of 2.0 API has been fixed up except for Xml.Serialization have been done. Atsushi continues to work on stabilizing the 2.0 API.

Ben added the initial support for the Nullable<T> boxing conventions. These implement the last-minute changes that went into the Nullable<T> in .NET. It is known to have some bugs, as well as incomplete support in parts of the runtime.

Chris Toshok continues to work on the 2.0 System.Configuration assembly which is a key component of many of the new ASP.NET classes.

Dick implemented the 2.0 Semaphore classes (named and unnamed).

Debugger

The Debugger works for the first time. It might still be a bit flaky, but I have been using it.

Get it from: here.

The X-Develop 1.2 beta has GUI support for it as well.

Text Encoding

Atsushi implemented the 2.x support for text encodings: the new unmanaged APIs and the fallback code.

SharpZipLib upgraded

We have upgraded SharpZipLib to the latest version, required to run the new IKVM.

Monodoc

Improved the Web UI, based on code from Eric Butler.

Windows.Forms

Windows.Forms is moving into bug fixing mode. We need as many people as possible testing their Windows.Forms applications and submit bug reports for any issues found with it.

These are some of the highlights, as Windows.Forms is the piece that changed the most in this release:

Alexander updates his "Nice" theme. He also checked in a new theme "ClearLooks". Set the variable MONO_THEME to "nice" or "clearlooks" to select these themes.

Jackson added MDI and toolwindow support, improved the TreeView and ListView widgets.

Mike improved the Menu infrastructure and introduced shortcut and key navigation support into Windows.Forms

Pedro contributed some updates to his summer of code DataGridView widget.

Peter added cut and paste support to the Textbox and RichTextBox widgets, keybindings for it, drag and drop and undo support.

HttpListener

Gonzalo implemented the embeddable HttpListener web server. Very cute.

System.Drawing

Jordi has upgraded our System.Drawing stack to implement the 2.0 API.

Jonathan Gilbert fixed an important bug in GDI+ that prevented some applications from running correctly (UnlockBitmap was busted).

Compilers

Ankit continues to improve the assembler and disassembler to support generics and has updated the PEAPI accordingly.

Harinath Raja, Marek Safar and Martin Baulig and continued to fix bugs in the C# compiler and improve the error and warning reporting of the compiler.

Basic compiler: Many bug fixes and improvements from Alexandre Rocha, Jelmer Vernooij and Maverson Eduardo.

Atsushi fixed many bugs in the -doc: command line handling in the C# compiler.

Cesar continued to improve the JScript compiler, the Mozilla test suite now at 8577 successful tests out of 8866 (96.74%).

IO Layer

Dick did various improvements to the IO-layer: threads were moved back into the shared handle space now that the leak bug is gone.

The main thread will now dispose all of its resources upon termination.

ShellExecute will now work properly on Windows.

Npgsql

Francisco upgraded Npgsql database driver to 1.0beta1.

Bug Fixes

Many bug fixes and tests everywhere. In particular CodeDOM got a large test harness by Gert, many bug fixes by Gonzalo to System.Web. Gamin is now correctly autodetected for the FileSystemWatcher.

Special thanks go to Robert Jordan which provided plenty of bug fixes and bug reports for this release of Mono. We also want to thank Zoltan which continues to fix bugs everywhere in the runtime.

John Luke updated and fixed various Mono.Cairo binding issues.

Jonathan Pryor updated the Mono.Unix namespace extensively.

Senganal is the new maintainer of System.Data and has been fixing many of the System.Data bugs.

Installing Mono 1.1.13

	
	$ ./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.13

Source Code and Binary Packages:

Source code and pre-compiled packages for SUSE, SLES, Fedora Core 3, 4, 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:

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

Then compile libgdiplus:

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

Contributors to Mono 1.1.12 and Mono 1.1.13

A partial list of contributors to this release:

Aaron Bockover, Aaron Flynt, Aaron Tomb, Alexander Olk, Alexandre Rocha Lima e Marcondes, Alp Toker, Andrew Skiba, Ankit Jain, Atsushi Enomoto, Ben Maurer, Boris Kirzner, Carlos Alberto Cortes, Cesar Octavio Lopez Nataren, Chris Toshok, C.J. Collier, Daniel Drake, Daniel Morgan, David Hudson, Dick Porter, Duncan Mak, Eyal Alaluf, Felipe Lessa, Francisco Figueiredo Jr, Geoff Norton, Gert Driesen, Gonzalo Paniagua, Ingmar Schuster, Jackson Harper, Jacob Ilsř Christensen, James Willcox, Jb Evain, Jelmer Vernooij, Joe Shaw, John Luke, Jonathan Gilbert, Jonathan Pryor, Jonathan S. Chambers, Jordi Mas, Josh Cooley, Joshua Tauberer, Konstantin Triger, Kornél Pál, Lluis Sanchez, Marek Safar, Martin Baulig, Massimiliano Mantione, Maverson Eduardo Schulze Rosa, Michael Hutchinson, Miguel de Icaza, Mike Kestner, Neale Ferguson, Oleg Mihailik, Paolo Molaro, Pedro Kiefer, Pedro Martinez, Peter Bartok, Peter Johanson, Peter Williams, Rafael Teixeira, Raja R Harinath, Raphael Slinckx, Robert Jordan, Sebastien Pouliot, T Senganal, Todd Berman, Vladimir Krasnov, Vladislav Spivak, Wade Berrier and Zoltan Varga.