[Mono-list] Mono 0.20 has been released

revision17 revision17@phreaker.net
Mon, 24 Feb 2003 08:54:10 -0500

Hash: SHA1

Wow, nice.  It now runs all the large programs I wrote thanks to
Double.Parse being fixed :)

- ----- Original Message ----- 
From: "Miguel de Icaza" <miguel@ximian.com>
To: <mono-list@ximian.com>; "Mono Announce"
Sent: Sunday, February 23, 2003 10:03 PM
Subject: [Mono-list] Mono 0.20 has been released

Hello everyone!

    The Mono Team introduces the best Mono release so far we have
done.  Thanks to everyone who contributed fixes, code, ideas, and bug

    Mono 0.20 has been released, it is available at the usual


    This is a truly heroic release of Mono.  Major architectural
chunks that were missing, or were miss-implemented have been fixed in
this release, and we are very proud of it.  Please see the list of
features, because there is no short way of introducing just how good
this release is.  A big thanks goes to Piers for setting up a
Tinderbox that monitors problems with the Mono CVS repository.

    We released packages for SuSE 8.0, Mandrake 8.2, and various
Red Hat releases.  It will be made available on the Red Carpet Mono
Channel tomorrow Monday.

   Source code for Mono, MCS, the Mono Debugger, XSP is available as
well from that web page.  The sources are:

     MCS package (Class Libraries, C# and VB.NET compiler and managed


     Mono package (Runtime engine, JIT compiler):


     XSP package (XSP test web server for ASP.NET webforms):


    This release is brought to you by: Alvaro del Castillo, Alan Tam,
Alp Toker, Alejandro Sánchez, Alexandre Pigolkin, Atsushi Enomoto,
Brian Ritchie, Christopher Bockner, Daniel Lopez, Daniel Morgan,
Dennis Hayes, Dick Porter, Dietmar Maurer, Duncan Mak, Gaurav Vaish,
Gonzalo Paniagua, Jackson Harper, Jaime Anguiano, Jeff Stedfast,
Johannes Roith, John Sohn, Jonathan Pryor, "Lee Mallabone, "Lluis
Sanchez, "Marco Ridoni, Mark Crichton, Martin Baulig, Martin
Hansen, Miguel de Icaza, Mike Kestner, Nick Drochak, Paolo Molaro,
Patrik Torstensson, Pedro Martinez, Per Arneng, Peter Williams, Petr
Danecek, Piers Haken, Radek Doulik, Rafael Teixeira, Rodrigo Moya,
Sebastien Pouliot, Tim Coleman, Ville Palo, and Zoltan Varga.

   They commited 1810 changes to CVS patches in the past 33 days.

* New in this release

      * Zoltan and IKVM

Zoltan's patches to run Jeroen's IKVM (the Java VM that
translates JVM bytecodes into .NET bytecodes) are in.

      * Remoting.

The remoting team's patches that were held off on the previous
release are here.  Lluis and Patrik have done a fantastic job
in getting remoting to work.  Many low-level runtime engine
changes, and plenty of work on the class-library stuff.

Lluis has posted a couple of sample applications to the
mailing list, you can try those out.

The new release includes a working BinaryFormatter and
BinaryFormatterSink.  It means that together with TcpChannel
it is possible to make remote calls with any type of
parameters and return values, including value types,
MarshalByRefObject types (that are properly
marshalled/unmarshalled), delegates, enums, etc.

RemotingConfiguration is partially implemented. It cannot read
from config files, but manual configuration using the api is
fully working.

Implemented full support for client activated types and for
well known objects (both singleton and single call).

Lease manager fully working (it manages the lifetime of server

Implemented interception of the new operator, so it is
possible to create a remote object using "new", if the type is
properly registered in RemotingConfiguration.

In Lluis' words: `Basically, 0.20 will have almost all needed
for a distributed application with Remoting'

      * New threading semantics, IO-layer

Dick Porter in a couple of weeks has heroically redone much of
the threading support to match the .NET behavior (details are
on the .NET threading book as posted on the Mono site).

He also did a lot of bug fixes in the IO/threading space.  The
threading implementation now contains a new and faster Monitor
implementation, as well as a correct Pulse()/Wait()

GC thread finalization has been re-enabled.  This means that
finalizers will be ran on a separate thread, as done in the
Microsoft.NET Framework.  This might expose some bugs on
existing finalizer code.

      * Moved to NUnit2

Nick and Gonzalo helped us move to the new NUnit2 platform for
all of our tests.   A big applause goes to them.

     * Cross Appdomain invocations work now.

        ASP.NET and NUnit2 both used cross appdomain invocations, we
        have fixed a number of problems, and they are now functional.

The AppDomain fixes and the Remoting fixes have allowed us to
remove a number of hacks in the ASP.NET implementation that
        were previously there.

Implemented CrossAppDomainChannel, for calls between domains.

     * C# Compiler and Debugging.

When generating debugging information in the compiler (with
        -debug, -g or -debug+) the compiler will embed the debugging
        information into the resulting executable instead of
        generating a separate file.  Very nice.

Generating debugging information has also improved vastly
        performance-wise, and now it is possible to always use
        debugging builds for software development.

A number of bugs were fixed on the compiler as well and
by using the Mono profiler we have reduced the memory
consumption and accelerated the compiler.

Thanks to Jackson, Martin, Paolo and for helping here.

      * VB.NET Compiler.

Plenty of new features are included in the compiler in our
        path to conformance.  See <FIXME:get-url-for-posting> for
        details on the status of the compiler, and the pieces

      * ILasm and Mono.PEToolkit.

Work on the IL assembler has resumed, but it is not yet ready
        for production use.  The Mono IL Assembler uses the
        Mono.PEToolkit library done by Sergey and Jackson to
        manipulate CIL image files.

      * Cryptographic work.

Sebastien has provided a cert2spc and secutil tools for
certificate management.  This is the first release that ships
an assembly for System.Security

Also a new internal assembly used only on Windows allows Mono
users to use the unmanaged crypto providers.

      * System.XML

Atsushi has continued to improve the work on our XML
        implementation: fixing bugs and more closely matching the
        Microsoft implementation.

      * More PowerPC/Alpha support.

Taylor Christopher has contributed more code generation macros
for PPC and Laramie Leavitt for Alpha.

      * System.XML.Xsl

Gonzalo continued the implementation of our XSLT transformation
        API (custom .NET functions are still missing though).  It no
        longer uses temporary files to apply transformations.  Thanks
        to an idea from Zdravko Tashev.  Xslt Web controls work as
        part of this fix.

      * ASP.NET

Gonzalo has cleaned up a lot the code base, and now our test
server supports a --root and --virtual command line options
for better control.

Also, now we generate a much nicer error page on errors.  We
are looking for volunteers to improve the default look of this

Authentication is now supported

      * Mobile Controls.

Gaurav Vaish continues on his quest to complete the
implementation of the Mobile controls.  These controls are
required to run a stock IBuySpy application.

      * Class Libraries:

New Mono.Posix class library that contains classes for working
on a Posix systems.  Things like Unix domain sockets are here.

      * System.Windows.Forms

Alexandre Pigolkine continues to contribute more code to our
Windows.Forms implementation.  Currently it only runs on
Windows (or in Linux without GC enabled, due to the
pthread/Wine threading library mismatch.  This is being
actively addressed as part of the Wine work due to the
movement to the new thread implementation available in RH 8.1).

      * Database providers

Christopher Bockner has updated his DB2 database provider (now
with prepared statement functionality) and Tim Coleman has
continued work on the Oracle database provider (welcome back

      * Database code.

Dan Morgan continues to develop core components in System.Data
(and now we welcome Alan Tam to the System.Data core hackers)

The SQL# tool now supports MySQLNet, Npgsql, DB2Client, and
Oracle clients.

      * Runtime

mono --profile now performs memory allocation profiling too.

      * Runtime fixes.

We now support multi-module with external file reference

The above in English means that we can now run Eiffel.NET code
in Mono.

      * Monograph:

More statistics supported now.

      * System.Web.Mail

Per has contributed the code for this namespace.

* Bugs

Plenty of bugs were closed.

Mono-list maillist  -  Mono-list@lists.ximian.com

Version: PGP 8.0 - not licensed for commercial use: www.pgp.com