[Mono-list] Mono: Post 1.0 plans and development update.

Miguel de Icaza miguel@novell.com
Wed, 14 Jul 2004 18:41:11 -0400


Hello,

    Well, this release was fairly intense, thanks to everyone that
contributed, the time has come to plan for the new features in Mono.   

* Releases

        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
        various reasons.
        
        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
        so on.
        
        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
        working on.
        
        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
        fixing mode.
        
* 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
        Web-browsable.
        
        An early ran of the API difference is available here:
        
        http://primates.ximian.com/~jackson/net_2_0/class-status.html
        
        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:

		http://www.go-mono.com:8008/

* 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
		  AMD64)


Miguel.