[Mono-list] Mono: Post 1.0 plans and development update.
Miguel de Icaza
Wed, 14 Jul 2004 18:41:11 -0400
Well, this release was fairly intense, thanks to everyone that
contributed, the time has come to plan for the new features in Mono.
Mono has been branched on the CVS repository and today we have
two development tracks: the mono-1-0 branches and the HEAD
branch. The mono-1-0 is only getting bug fixes and no new
developments are happening there. The HEAD branch is where all
the new features are being developed and where we are landing
many of the patches that we did not get into the 1.0 release for
We will follow the Linux kernel model for release numbering,
which means that we will release bug fixes and updates to the
Mono 1.0 distribution, and those will be named 1.0.1, 1.0.2 and
The development versions of Mono will be released as well and
will be named Mono 1.1.0, 1.1.1 and so on.
* Updated Mono Roadmap.
I am working on an updated version of the Mono roadmap to plan
our upcoming releases, at this point we are completing the
feature list of the things that my team inside Novell will be
Since Mono is developed by a large community outside of Novell
the release will likely contain more than what my team is
commited to do, purely based on external contributors, but the
roadmap will try to be as conservative as possible in our time
and feature estimates.
I would like to make a release of Mono 1.2 (the next stable
release) by February of next year, which means that we have
roughly six months of development before we go into pure bug
* Focus of the Novell team.
There are a number of areas in which we are focusing for the
Mono 1.2 release:
* C# 2.1 implementation
* AMD64 JIT port.
* Visual Basic compiler.
* Improved IO-Layer and Internationalization framework.
* Gtk# improvement and GUI designer.
* Mono Debugger.
* Windows.Forms support.
* JIT performance work.
* Integration of patches that were too big to make
it into the 1.0 release.
* Code Access Security Framework.
* Continued bug fixing of major and critical bugs.
Those are the areas that people have expressed their most
interest. Notice also that the above is still pretty much work
aimed at the .NET 1.1 framework.
Only a couple of developers are working on new features from the
.NET 2.0 platform, but we do not believe that we can complete
the .NET 2.0 API in time for the 1.2 release, so it is best to
only deliver the bits listed above.
As usual, a preview of the .NET 2.0 API will be available, but
wont be complete.
* .NET 2.0 work
The Framework almost doubled in size in some parts of the
framework. A handful of the Novell developers (Atsushi, Gonzalo
and Lluis) will be working on the .NET 2.0 APIs in parallel,
hopefully we can release some of the .NET 2.0 features a few
months after the 1.2 release comes out.
If you want to help, this is an area where we could use your
contributions. Details about the large areas that need work are
available on the CVS module called `release', look in the
directory called mono_2_0.
If enough people want, we can transform that list into something
An early ran of the API difference is available here:
We will automate this process and upload to mono-project.com on
a constant basis.
* Tinderbox setup
Duncan has setup a tinderbox setup that keeps a close eye on
both the stable and unstable branches of Mono, you can see the
state of the build here:
* Some recent developments
A few interesting developments have happened recently on the
HEAD version of Mono:
* A new, more robust, more complete, more aggressive
Arrays Bounds Check Elimination.
* Many x86 code generation peephole optimizations.
* A new mechanism that removes static roots from the GC
to scan, and it already gave some nice performance
improvements to mcs and specially small applications.
This work is part of an ongoing effort to implement
a precise collector.
* Mod_Mono reduced latency with a new protocol, more
options to control the child process.
* Work has started on Web.Services 2 and XML 2.
* More work on the Mono Debugger.
* S390 JIT improvements from Neale.
* JIT 64 bit cleanup (in preparation for SPARC v9 and