History From Mono

Here are some historical data points about Mono: Table of contents [showhide] 1 Early Posts 2 Milestones

2.1 2001 2.2 2002 2.3 2004 Early Posts

   * Mono and GNOME, the long reply ( Local Copy
   * Mono early history ( Local Copy 


2001 Edit

   * June 30: the Mono project is announced. 
   * Aug 21: a remote compilation service is setup so that people who are contributing to Mono can submit their code over a web page and compile the code with the Microsoft C# compiler. 
   * Aug 28: the Mono runtime runs "Hello World" for the first time. Hello World consists of 1821 CIL instructions, performs 66 subroutine calls and loads 12 classes from the corlib.dll 
   * Sep 4: the monoburg tree pattern matching instruction selector is checked into CVS, this is the beginning of the Mono native code generator engine. 
   * Sep 5: Mono's C# compiler which is written in C# compiles its first program: "Hello world" on Windows using the .NET runtime. The resulting executable runs on Linux as well with the runtime from August 28th. 
   * Sep 10: Dietmar Maurer checks the x86 code generation rules for monoburg. 
   * Sep 17: the first version of Gtk# is checked into Mono's CVS repository. 
   * Sep 18: Mono 0.7 is released (release notes ( 
   * Sep 21: Dick Porter gets the initial thread support into Mono's interpreter; Paolo Molaro implemented many new opcodes; Dietmar Maurer got long operations and mul/div working on the JIT engine; Ravi rewrote the Method selector for expressions to be conformant; Miguel gets i++ working in the compiler. 
   * Sep 26: A build system based on Ant is contributed by Sergey and Sean. We will be maintaining a dual build system based on Makefiles and Ant for quite some time. 
   * Oct 4th: The reflection support is complete enough to generate a sample program. 
   * Oct 5th: Sergey publishes his IL assembler. 
   * Nov 4th: Mike posts an update on Gtk# ( 
   * Nov 14th: Paolo Molaro checks in the code that makes the C# compiler run and compile "Hello world" on Linux for the first time. 
   * Nov 30th: Dietmar gets the JIT in good shape: All the tests that we had with the Mono interpreter now pass and execute with the Mono JIT engine. 
   * Dec 11st: the JIT engine is able to host the Mono C# compiler and run all of its regression tests. 
   * Dec 28th: The Mono C# compiler compiles itself, but the code generated is not correct yet. 

2002 Edit

   * Jan 3: Mono's C# compiler can bootstrap itself using the .NET runtime. The next stage is to get it bootstrapping with the Mono runtime. 
   * Jan 4: Mono gains Unicode support. 
   * Jan 21: Dick posts a screenshot of a simple web server running on Mono: here ( This web server is used to test and exercise our IO layer. 
   * Jan 23: the mono-patches mailing list debuts. Each patch is mailed to people in this mailing list. The era of asynchronous reviews begins. 
   * Jan 28: Mono class libraries are relicensed from the LGPL to the MIT X11 ( license. 
   * Jan 29: Dan Lewis contributes System.Text.RegularExpressions. 
   * Feb 11: Initial ports of the Mono interpreter to SPARC and PowerPC. 
   * Feb 13: Dietmar checks-in the code to support AppDomains, Nick Drochak has lead the group to use NUnit for testing the current implementation of our class libraries. 
   * Feb 22: Mono 0.9 is released ( 
   * Feb 25: Sergey's StrongARM port of Mono's interpreter is checked in. 
   * Mar 7: First time the Mono's C# compiler compiles on Linux. 
   * Mar 12: Paolo managed to make Mono's C# compiler self-hosting on Linux. 
   * June 25: Piers Haken contributes the initial XPath implementation to Mono and Dick Porter contributes the Process class and its related infrastructure to Mono. 
   * June 30: The Mono C# compiler is able to build mscorlib, the last piece to achieve self-hosting of the Mono runtime. 

// to do!

2004 Edit

   * June 30th: Mono 1.0 is released. 

External linksEdit