We consider Mono 1.1.9 stable enough 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.8 and 1.1.9. 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.
Zoltan completed the IA64 (Itanium) port of Mono. The Itanium port is a full 64 bit port of the Mono JIT compiler.
Paolo completed the ARM port of Mono, it works on little endian and big endian ARM systems.
Dick added support for 64 bit thread ids to the io-layer.
Mono can run the IronPython test suite
Carlos implemented publisher policies
The generics code performance was largely improved by Michal Moskal and various bugs in the implementation have been fixed thanks to the Nemerle Programming Language team that is making extensive use of it.
Iron Python 0.9 works as well as all of its regression tests (Zoltan and Martin). Notice that the IronPython regression tests need various Makefile fixes and some symlinks to cope with filename casing to work.
David Waite contributed LinkedList<T> implementation.
Hisham, Jordi and Peter have adapted GDI+ to use Cairo 1.0 instead of Cairo 0.3 which we were previously using. This upgraded version of GDI+ is much faster and Windows.Forms application feel faster and smoother on Linux as a result.
As part of this upgrade numerous bugs were fixed and memory management was audited by Jordi and Peter to eliminate memory leaks.
Rectangle drawing operations are faster by 30% now, blitting large images is 50% faster.
There are now 500 nunit tests for the library and many new contributions from Mainsoft.
Alexander Olk contributed a new theme, the "nice" theme, a screenshot can be seen here.
The first version of RichTextBox from Peter debuts in this release and includes an RTF parser.
More news on Winforms development are here.
We have a completely new reimplementation of the CompareInfo infrastructure in this release of Mono, a managed implementation of string collation that is compatible with Windows collation.
Atsushi Enomoto worked on this project for the past four months before we merged it on this release. Currently the code has to be turned on by setting the MONO_USE_MANAGED_COLLATION environment variable to "yes"
In the past we had used ICU but this approach had two problems: the code lived in the C world and the cost of transitioning from managed to unmanaged code for string collation was fairly high.
ICU also implemented different semantics than those exposed by .NET and a mapping of one system into the other was not really possible.
Atsushi has also contributed a new framework and updated the RegionInfo information.
Encodings: Two new encodings are implemented: GB18030 and iso-2022-jp.
Suresh deployed a new NUnit and Mono.Data-based testing framework for the System.Data namespace.
Suresh implemented OdbcCommandBuilder and fixed various bugs in System.Data.Odbc and SqlClient Providers.
Dan implemented OracleCommandBulder based on SqlCommandBulder so you can do inserts, updates, deletes in a DataTable without having to create the SQL to do the inserts, updates, and deletes as well as adding support for OUTPUT parameters and the TIMESTAMP Oracle 9i data type.
implemented a quick-and-dirty way to get primary key info and table info (Schema Info support in OracleDataReader) neccessary to support OracleCommandBulder
Dan implemented SybaseCommandBuilder; however, it does not work since the SybaseDataReader needs to have SchemaInfo command behavior implemented
Fixes to SqlCommandBuilder to get updates to work based on what Suresh did
Thomas Zoechling, Jeroen Zwartepoorte and Dan Morgan created various bugfixes and a patch to add named parameters.
Joshua made it so several commands can be executed in a single invocation, instead of just the first one (semicolon delimited commands).
A major rewrite to ASP.NET is now available as part of this release, the highlights of the new code include:
The new ASP.NET stack is brought to you by Eyal Alaluf, Peter Bartok, Jackson Harper, Miguel de Icaza, Ben Maurer, Jordi Mas, Gonzalo Paniagua, Dick Porter, Sebastien Pouliot and Chris Toshok.
The System.Configuration assembly has been mostly implemented and integrated into ASP.NET. Now it is possible to read web configuration files using the new configuration object model (Lluis).
XSP has been split up in two: Mono.WebServer.dll and xsp.exe. XSP only handles command line parsing and Mono.WebServer.dll is the assembly that implements the functionality.
Mono.WebServer.dll is an embeddable library that can be used to host ASP.NET in your own applications. In the past people resorted to making a replica of XSP in their applications if they wanted to host ASP.NET. This was contributed by Brian Ritchie a few months back, and its finally on the main trunk.
The Mono.WebServer.dll deployment model follows the new Guidelines for Library Deployment and there are versions available for running on the 1.x and 2.x profiles.
XSP now also takes advantage of certain Linux features like sendfile and TCP Cork to improve performance.
XSP also contains support for HTTPS connections using the --https flag by Brian Ritchie.
Progress: JScript now passes 4586 tests of the Mozilla ECMAScript test suite out of 5994 (76.51%)
Cesar added various new features to the compiler:
Support for value types and reference types.
Support for conversions and boxing.
Exact support for numeric values.
Optimization when accessing literal's methods that belong its prototype.
Port Mozilla's decompiler for infrastructure that's used in closure's construction.
Report filename and line number on errors.
Marek implemented JScriptCodeProvider and stubbed JScriptCodeGenerator.
Florian contributed many updates to the JScript runtime as part of his collaboration in Google's Summer of Code project:
As part of the new ASP.NET testing framework Chris Toshok developed JSUnit: a new JavaScript unit test framework to automate running the tests for various web controls and validate that they do the right thing.
Monodoc now defaults to use the Mozilla rendering engine to display its values, thanks to Mario Sopena and the Google Summer of Code effort and it also uses CSS to render its pages.
Monodoc will now also show pending contributions that you might have in your file system as well as including search support.
Sebastien continued his work on CAS:
Improvements to the asynchronous methods in SslClientStream and SslServerStream were contributed by JD Conley: they are now thread safe, support asynchronous handshaking plus various important fixes.
Support for _optional_ client-side mutual authentication (Sebastien).
Support for server-side mutual authentication (Sebastien)
Rewritten async support for Ssl[Client|Server]Stream (JD Conley);
Hisham and John Luke have upgraded the Mono.Cairo API to match the recently released Cairo 1.0 as well as providing documentation for the new API in Monodoc.
There are new Gtk and X11 samples included in the distribution.
Mono.Posix: This assembly now provides a remoting channel based on Unix sockets. It is a standalone channel and does not require the System.Runtime.Remoting assembly to work (Lluis).
Due to popular request, the C# compiler now reports precise error/warning location with both line and column numbers (Atsushi).
Support for the Namespace Alias Qualifier to the C# compiler was added by Hari.
The compiler went through many bug fixes and a few internal structural changes as anonymous methods, iterators and partial classes start to get used by developers. Contributors include Martin, Harinath, Marek, Miguel and Atsushi which has been on a bug fixing quest on this release.
Still missing for full 2.x support: external assembly alias and friend assemblies.
Our IL assembler and disassembler for the first time are able to round trip all the Mono assemblies and we consider them finally complete for real use.
Thanks to Ankit for fixing all the remaining issues.
Manjula and Sudha upgraded various pieces of the Basic compiler and its runtime.
Updates from Francisco Figueiredo:
Better metadata support. Thanks Josh Cooley (jbnpgsql at tuxinthebox dot net).
Added refcursor parameter support. Now, refcursors can be passed as arguments for functions.
Npgsql now can handle functions which return refcursor and setof refcursor. Now, results are returned as NpgsqlDataReader resultsets. There is no need to explicitly call "fetch all ..."
Critical bug fixed with ConnectorPool when creating MinPoolSize connections. Connections weren't properly handled. Thanks Josh Cooley (jbnpgsql at tuxinthebox dot net)
From Carlos:
Added support to the new CREATE SEQUENCE and SET GENERATOR
statements to the FbBatchExecution class.
Add parameter information for DML statements and allow the
configuration of quoted identifiers usage to the DataAdapter
Configuration Wizard.
Important: Mono 1.1.9 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:
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.9
Binary Packages:
Pre-compiled packages for SUSE, SLES, Fedora Core, RHEL,
MacOS and Windows in a variety of platforms
available from our web site from the
download
section.
Source code:
Quick source code installation:
If we have no packages for your platform, installing from
source code is very simple.
mono: Then compile libgdiplus:
The following list is a partial list of contributors to the
1.1.9 release, 118 developers total:
Aaron Bockover, Adrian Johnson, Aleksandar Dezelin,
Alexander Olk, Alois Bělaška., Alp Toker, Andrew Skiba, Ankit
Jain, Atsushi Enomoto, Behdad Esfahbod, Ben Maurer, Ben
Motmans, Billy Biggs, Blagovest Dachev, Boris Kirzner, Brion
Vibber, Bryan Worth, Carlos Alberto Cortes, Carlos Guzmán,
Cesar Octavio Lopez Nataren, chastamar@yahoo.com, Chris
Micacchi, Christian Biesinger, Christian Hergert, Chris
Toshok, Chris Turchin, Daniel Drake, Daniel Granath, Daniel
Morgan, Dan Winship, David Hudson, David Waite,
denys@gnome.cl, dezelin@gmail.com, Dick Porter, Duncan Mak,
Eric Butler, Erik Dasque, Eyal Alaluf, Florian Gross,
Francisco Figueiredo Jr., Gary Ekker, Geoff Norton, Gert
Driesen, gildur@gmail.com, Gonzalo Paniagua, Greg Lonnon,
Hisham Mardam Bey, Hubert FONGARNAND, Iain McCoy, Ilya
Kharmatsky, Itamar Rogel, Jackson Harper, Jacob Ilsø
Christensen, Jaen Saul, James Wilcox, Jb Evain, Jeroen
Zwartepoorte, Joe Shaw, John Ehresman, John Luke, Jonathan
Chambers, Jonathan Pryor, Jonathan S. Chambers, Jordi Mas,
Jörg Rosenkranz, Josh Cooley, Joshua Tauberer,
jsinger@eggmouse.com, Julien Puydt, Juraj Skripsky, Kamil
Skalski, Konstantin Triger, Kornél Pál, Lluis Sanchez, Maksim
Vorobiev, Manjula, Marc Haisenko, Marek Safar, Marek
Sieradzki, Mario Sopena Novales, Martin Baulig, Martin
Kretzschmar, Mart Raudsepp, Matthew Wright, meebey
(mail@meebey.net), Michael Hutchinson, Michal Moskal, Miguel
de Icaza, Mike Kestner, Paolo Molaro, Patrick Michel, Pedro
Kiefer, Pedro Martinez, Peter Bartok, Peter Johanson, Peter
Williams, Rafael Teixeira, Raja R Harinath, Raphael Slinckx,
Ritvik Mayank, rodrigobamboo@gmail.com, Sathya Sudha,
Sebastien Pouliot, shoehn@web.de (Sebastian), Sridhar
Kulkarni, S Umadevi, suresh, Tambet Ingo, Thomas Zoechling,
Todd Berman, Tomasz Cholewo, Tor Lillqvist, Vladimir Krasnov,
Vladimir Vukicevic, Wade Berrier and Zoltan Varga
Installing
Mono 1.1.9
$ ./configure --prefix=/devel
$ tar xzf mono-1.1.9.tar.gz
$ cd mono-1.1.9
$ ./configure
$ make
$ make install
$ tar xzf libgdiplus-1.1.9.tar.gz
$ cd libgdiplus-1.1.9
$ ./configure
$ make
$ make install
Contributors