This page is likely outdated (last edited on 02 Nov 2012). Visit the new documentation for updated content.

Roadmap History

This page contains the history of the Roadmap page. It is left here for historical purposes. For our current roadmap, please see Roadmap.

Notice that before Mono 2.0, every public release version that was available was a stable release (1.9, 1.9.1, 1.2.6, 1.2.6.1 and so on).

Table of contents

Release Archive

Mono 2.8

 Mono 2.8 Released: October 6th, 2010
  • Remove support for .NET 1.1 Framework
  • Remove deprecated libraries from previous iterations
  • Default to 4.0 Profile
  • Moonlight 3 Preview
  • MonoDevelop 2.4: released on June 16th, 2010
  • Generation Garbage Collector goes into Beta.
  • C# Compiler
    • Full C# 4.0 support
    • Refactored to run on Microsoft's System.Reflection.Emit
      • Allows the compiler to be embedded in Silverlight
      • Enables the use of Mono.CSharp.dll to be used on Windows
      • Run our CSharpRepl on .NET's runtime.
  • LINQ to SQL Beta
  • Mono Embedding API
    • Mono public ABI no longer depends on GLIB.
    • Various API entry point cleaned up.
  • Internals:
    • Mono drops eglib dependency, but it is still optional
  • Extended LLVM support
    • LLVM backend to the JIT is now able to compile 99% of our code.
  • WCF Upgrade
    • More WCF components supported
  • Microsoft Open Source Libraries integrated into Mono:
  • Parallel Frameworks:
    • New runtime ThreadPool implementation, increases scalability and performance of Mono on multi-core systems
    • New managed implementation of Parallel FX
  • ASP.NET 4.0 API supported

Mono 2.8 Release Notes

  • Oct 6th, 2010: First 2.8 release

Mono 2.6

 Mono 2.6 (LTS) Released: December 14th, 2009
  • Support for Silverlight 2.0 subset of WCF
  • LLVM support
  • Co-routine framework Mono.Tasklets
  • Preview of LINQ to SQL using DbLinq
  • New Soft Debugger, integrated with MonoDevelop
  • Joint release with MonoDevelop 2.2
  • System.IO.Packaging
  • csharp shell now supports auto-completion
  • xbuild can now build most msbuild projects
  • Support for CoreCLR security:
    • Mono debuts a full metadata and IL verifier
  • Moonlight 2.0 released
  • Core WCF support.

The 2.6 series replaced 2.4 as our Long Term Supported version in the SUSE Linux Enterprise Mono Extension product.

Mono 2.6 Release Notes

Mono 2.6-2.6.7 release notes

  • Dec 14th, 2009: First 2.6 release
  • Jul 20th, 2010: 2.6.7 released.

Mono 2.4

 Mono 2.4.3 (LTS) Released: Dec 8th, 2009
  • Bug Fixes
  • Upgraded xbuild, our msbuild implementation
  • Fine tuned memory usage

Mono 2.4.3 Release Notes

  • Nov 17th: Branched from the 2.4.x branch.
  • Dec 8th: Final release

This release was part of our long-term maintenance release for SUSE Linux Enterprise’s Mono Extension.

Mono 2.0

 Mono 2.0 Released: Oct 6th, 2008

Major new features in Mono 2.0 since Mono 1.2:

  • API status:
    • ASP.NET 2.0
      • Missing: WebParts, Mobile control rendering.
    • ADO.NET 2.0
    • Windows.Forms 2.0
  • C# 3.0
    • LINQ
    • LINQ to XML
  • Visual Basic.NET compiler (with Generics).
  • JIT
    • Generic code sharing
    • IL Verifier
  • Tools for Windows Developers
  • Mono Debugger, command line interface.

Mono 2.0 Release Notes

Mono 1.9

Since the release in November 9th of 2006 of Mono 1.2, we have made seven incremental updates to Mono (1.9), The highlights since then include:

  • VB.NET compiler and runtime were released.
  • Windows.Forms 2.0 feature-complete.
  • 2.0 support completed for Web Services (Generics).
  • ASP.NET WebForms are complete (except for WebParts).
    • Support for ASP.NET AJAX.
  • Release of Mono Migration Assistant.
  • C# 3.0 support and System.Core assembly
  • LINQ to Objects
  • LINQ to XML.
  • System.Media implemented.
  • HTTPS support in HttpListener.
  • 2.0 Socket API.
  • Improved fidelity and performance of System.Drawing, added support for Metafiles.
  • Mono’s MSBuild is able to build projects.
  • SafeHandles and HandleRef support.
  • MIPS, Alpha ports and Solaris/amd64 ports.
  • Mono can now run without shared memory segments.
  • New Mono.DataConvert library
  • ADO.NET 2.0 updates, and support for output parameters on stored procedures.
  • installvst tool for installing ASP.NET starter kits.
  • New Sqlite bindings.
  • COM/XpCOM support.
  • Packages available for many popular applications.

Release notes with all the details:

Mono 1.2

Mono 1.2 is a release that supports the .NET 1.1 APIs for all the areas supported in Mono (core, XML, ADO.NET, ASP.NET, Windows.Forms, compilers, tools). For details, see the Mono 1.2 Release Notes

Mono 1.2 is an incremental upgrade to Mono 1.0, and contains the following new features:

  • Generic types support: C# compiler, execution system and core class libraries (C# 2.0)

  • System.Windows.Forms 1.1 support (Track Progress)

  • Mono Debugger (new alpha available soon - see release notes)

  • gtk# 2.0 (includes support for gtk 2.12)

  • New platforms: ARM, Itanium, s390, s390x.

  • Numerous scalability and performance enhancements

Mono 1.2 also include assemblies from .NET 2.0 and these are available as technology previews:

  • XML 2.0

  • ASP.NET 2.0

  • ADO.NET 2.0

  • Most of mscorlib and System.dll

  • Console and Serial ports support

Released on: November 9, 2006.

There are various milestone branches in this release, see our Branches page for more details.

Previous Goals

Mono 1.0 goals

The Mono 1.0 release would include the following components:

  • C# compiler.

  • VM, with JIT and pre-compiler.

  • IL assembler, disassembler.

  • Development and security tools.

  • Core libraries: mscorlib, System, System.XML.

  • System.Data and Mono database providers.

  • System.Web: Web applications platform and Apache integration module.

  • System.Web.Services: client and server support.

  • System.Drawing.

  • System.DirectoryServices

  • JIT support: x86, SPARC and PPC architectures (interpreter available for other architectures).

  • ECMA profiles: special build options to build Mono as an implementation of the various ECMA profiles will be available.

  • Java integration through IKVM.

  • Embedding interface for the runtime.

Packaging:

  • mono: will contain the above features implementing the .NET 1.1 API.

  • mono-1.0-compat: Will include a build of the libraries with the .NET 1.0 API, this is a compatibility build for people running .NET 1.0 applications.

  • mono-unstable: Will contain a snapshot of the other technologies under development for developer’s convenience, but will be unsupported at this time. These include the Generics edition of the C# compiler.

  • mono-ecma: A build that only includes the ECMA components.

Released on June 30th, 2004.

Bug fix releases would be done on a monthly basis.

For a detailed list, see the Mono 1.0 feature list.

Roadmap Background

This document describes the high-level roadmap for Mono.

The Mono project started in 2001 as an effort to implement the .NET Framework to Unix. To bring both the new programming model based on the Common Language Infrastructure and C# as well as helping people migrate their existing knowledge and applications to Unix. Mono today supports a wide variety of operating systems, CPUs and a large chunk of the functionality available in the .NET Framework.

This document outlines the roadmap for the Mono project from my perspective: what we can effectively deliver on the dates outlined. Since Mono is a large open source project, things might change and new features can be incorporated into the plan if external sources devote enough attention to those problems.

Background

So far Microsoft has published five versions of the .NET Framework: 1.0, 1.1, 2.0, 3.0 and 3.5.

1.1 was an incremental update over 1.0.

2.0 was a considerable expansion on the features of it.

In addition, an “add-on” to the core of .NET has been released, called “.NET 3.0”, but it does not touch the core. It is a set of new APIs and extensions that run on top of a .NET 2.0 installation.

.NET 3.5 is the actual heir to .NET 2.0, and it contains updates to the core libraries (small bits) and new assemblies (like System.Core).

The Mono project has been tracking some of the improvements available in those releases, some of the highlights of our work so far are:

  • Core: mscorlib, System and System.XML assemblies. These support both the 1.x and 2.0 profiles. Work is underway to complete the 2.0 profile.

  • ADO.NET: System.Data and various other database providers, they are 1.x complete, and most of 2.x is complete

  • ASP.NET 1.x and 2.x: WebForms and Web Services are supported. Only WebParts are missing from our 2.x support.

  • System.Security support 1.1 features and has partial support for 2.0 (like XML encryption) but the S.S.C.Pkcs namespace is still imcomplete.

  • DirectoryServices implemented on top of Novell.LDAP

  • Windows.Forms 1.1 with almost complete 2.0 support.

  • System.Drawing supports both 1.x and 2.0 profiles.

  • Compilers: C# 1 and 2 as well as bits of 3, VB.NET 8 and various command line tools that are part of the SDK.

  • Transaction support, we have some partial support but currently no plans exist beyond the current implementation (see the notes on its implementation and limitations).

  • Open Source, Unix and Gnome specific libraries, see our Plans page for more details.

There are certain features that we are not planning on supporting and are available either as stubs (to allow other code to compile or to satisfy dependencies) or are not even present in Mono, these include:

Support for designers in Windows.Forms and ASP.NET for the majority of Mono provided controls does not exist. This is due to the lack of tools for designing Windows.Forms and ASP.NET components in Mono today. When designer surfaces are completed (there are work in progress for both of them) work on this areas will resume.

Designer support is only needed at development-time, this is not something that is required to run the applications on Unix. Many applications that are reported through the Mono Migration Analysis tool reports these problems and can be safely ignored.

Some components exist that were once developed but are no longer actively developed, these include:

See the following sections for more details on plans for 2.0, 3.0 and 3.5 APIs.

Mono release strategy

The levels of maturity of Mono fluctuate depending on the development effort we have put into it, and the use we have given to them. For example, the virtual machine and the C# compiler very mature, while less commonly used functionality in Mono like Windows.Forms or VB.NET are still under heavy development.

Our strategy is to release the mature components as Mono 1.0, and have upcoming versions of Mono add extra functionality.

Microsoft’s .NET 2.0

To understand post 1.0 editions of Mono, it is important to put it into perspective .NET 2.0 which was released in November 2005.

The new features in .NET 2.0 include:

  • Generic types These introduce changes to the compiler, runtime and class libraries.

  • C# 2.0 Many new additions to the language.

  • ASP.NET 2 Many tools to simplify web application development: Master pages, new controls for common operations, personalization and themes.

  • Remoting New security channels and version-resistant remoting (good news in the interop department).

  • XML Relatively small changes and improvements which Mono has currently. Mono in addition will ship an XQuery processor.

  • Networking FTP client, Ssl streams.

  • Console and Serial ports:</br> Console terminal input/output is available as well as serial port handling.

  • Windows.Forms Layout containers finally appeared on Windows.Forms as well as various new controls.