Ximian announced the launch of the Mono project, an effort to create an open source implementation of the .NET Development Framework. Mono includes: a compiler for the C# language, a runtime for the Common Language Infrastructure (also refered as the CLR) and a set of class libraries. You can read our rationale for this project. If you have questions about the project, please read our list of Frequently Asked Questions or contact us. You might also want to Download the source for our work so far. Grab a snapshot of our current work, or browse the sources You might want to subscribe to our mono-list and mono-announce-list You can contact the team at: mono-list@ximian.com
Mono Status
C# Compiler Self hosting on Linux
Self hosting on .NET.
JIT Linux/x86 working.
Interpreter Working:
Linux/x86, Linux/PPC
In progress:
StrongARM, SPARC.
Classes Corlib is self hosting.
RSS feed:

Events

@item Sep 16th, 2002: Documentation Tools, ILASM, Debugger, Mono LDAP, Winforms Adam Treat has started moving the documentation universe again. We have a new strategy to document our APIs (given that we have chosen not to document the code inline). This includes the use of a master reference file that will hold the entry points to document. All master files for our assemblies have been checked into CVS now. Sergey Panov's Mono.PEToolkit and ILASM tools have been checked into CVS. Although ILASM is old and will soon be updated, we wanted to get the build issues sorted out. Martin Baulig's Mono Debugger is still on its early stages, but you can run and run step by step your C# code and C code (including the Mono runtime). Dwarf-2 is required to compile your code. The regular step, step-into, and assembly-level step and step-into are supported. And comes with a Gtk# UI. The debugger is written mostly in C# with some C glue code. Most of the work is on the engine, we will be working on making a good UI in the future. Chris Toshok of the Hungry Programmer's fame has checked in Mono.Directory.LDAP, a C# wrapper for the LDAP libraries. This is the substrate for implementing the System.DirectoryServices assembly. Andrew has also continued with some of the cryptographic classes implemetation. After much public debate, we have chosen a new strategy to implement winforms. Implementing a Gtk, Qt or Aqua based version of Winforms was going to be almost as complex as implementing Wine itself. So the new strategy is to only roll out a WineLib-based implementation. @item Sep 4th, 2002: .NET One 2002 Program available The .NET ONE 2002 conference in Frankfurt is now available. Paolo will be talking about the Mono JIT and embedding the Mono runtime in your Windows and Linux applications. Mike Kestner will talk about Gtk# and the automatic binding generator used by Gtk# and Miguel will be talking about the Mono project on Monday's keynote and on the Mono C# compiler on Tuesday. @item Sep 3rd, 2002: Apache integration Sterling announced an Apache module that hosts Mono, and allows CIL code to run from within Apache, giving the module access to the Apache runtime. This uses the Mono embedding API. @item Aug 24th, 2002: Gtk# 0.4 released Shortly after Mono 0.15 was released a fresh version of Gtk# was announced. @item Aug 23rd, 2002: Mono 0.15 released Mono 0.15 has been released. Source and RPMs are available. The release notes are here @item Aug 21th, 2002: Portable.NET encodings integrated into Mono. Rhys Weatherley has contributed the Portable.NET encoders to the Mono class libraries. This is a great step towards cooperation between these projects. Thanks to Paolo for doing the merger on our side. His encoders are more complete than the iconv-based approach that mono used, which was unreliable under certain circumstances. @item Aug 20th, 2002: Remoting work, Resources, SPARC checkins, ADO.NET Mark Crichton has checked in his patches to get the SPARC port on par with the PPC port. Dick has checked-in the resource reader and resource writers to the class libraries, and Dietmar checked in the C# support code for the remoting infrastructure. More work on System.Data: the LibGDA (our OleDB backend) based providers are quickly maturing, and recently they executed their first query. @item Aug 13th, 2002: MCS news, Gtk# progress, Windows.Forms, ADO.NET Martin Baulig has been fixing all the known bugs in the C# compiler and now has moved into improving the compilation speed and the generated code quality of MCS. Today we got a 50% speedup in the bootstrap of MCS going from 24 seconds to 12 seconds. Gtk# has been making a lot of progress, some interesting corner cases are now supported:, you can now create canvas items as well as using the tree widget. Here is a shot of MonoCIL. On the runtime front, focus has been on improving remoting support, exception handling, as well as completing the support for structure marshaling. Patrik is also back in action: the HttpRuntime infrastructure is rapidly improving, and Gonzalo is working into moving XSP into our main class library and providing the missing pieces to integrate with Patrik's code. Dennis and his team are working on a WineLib-based implementation of Windows Forms to guarantee that the corner cases of Windows.Forms can be handled, and we are back on track again. A lot more work on the ADO.NET and WebServices has also been checked into CVS. @item Aug 1st, 2002: Mono Hackers Hall of Fame The Mono Hackers Hall Of Fame has been started to show our appreciation to the excellent contributors that made mono:: a successful free software project. The first, deserved, entry goes to Nick Drochak, who joined us in the first days of Mono and built the testing infrastructure for the C# assemblies, fixed tons of bugs and even adventured himself in the lands of the C runtime. His work is invaluable for keeping Mono on the right track through the daily changes in the codebase. @item Looking for volunteers We are looking for volunteers to help complete various pieces of Mono and help move the project forward, we need contributions to: @item July 31st, 2002: Flow Analysis Martin has checked into CVS the data flow analysis patch for MCS, this means that we now correctly implement definite assignment in the C# language. @item Jul 31st, 2002: Most ASP.NET controls render, Gtk# structs. Gonzalo posted an update on the ASP.NET widgets that are still pending. Patrik is back, and he is working with Gonzalo to streamline the pipeline Rachel quietly commited to Gtk-Sharp support for marshaling structures (very important for Gtk#). This uses extensively the new marshaling code that Dietmar added to the runtime. Dietmar is also now sharing more code for P/Invoke using his intermediate representation. Another step to share more code, and simplify the porting and maintenance process. @item Jul 27th, 2002: NGEN tool for Mono. Zoltan announced the availability of his CIL to C compiler. This allows your Mono assemblies to be pre-compiled and optimized by GCC in your platform, increasing the speed significantly of your code. @item Jul 26th, 2002: Mono 0.13 has been released. Mono 0.13 has been released! (details here). Get your sources for the runtime and compiler and class libraries.

Alp made Debian packages and they are here. Cristophe made packages for Red Hat and they are here. And Windows packages have been contributed @item Jul 23rd, 2002: Mono Verifier, System.Web.Services, ASP.NET samples. Mono now has a verifier. It is used by the runtime, or you can invoke it manually to verify an image by using the `pedump' tool. Tim Coleman has started work on the System.Web.Services assembly (you can also track the status here on the web page). Contact him if you want to help in this assembly or with the associated web service tools. Various samples for ASP.NET have landed in CVS. @item Jul 20th, 2002: Spanish Mono Tutorial. A spanish tutorial on using Mono is here. Also the FAQ has been translated as well. @item Jul 19th, 2002: File handle redirection, Embeddable Mono and Mono Linux compilation. Dick's code for file handle redirection is complete and has now landed on the CVS repository. The Mono runtime can now be embedded into your application (also known as "CLR hosting"). See the sample in mono/samples/embed. This allows your application to link with the Mono runtime, then your C code can call into the C#/CIL universe and back. Peter Williams and Martin contributed some Makefiles to compile all of Mono on Linux. Details are here. @item Jul 17th, 2002 The first documentary on Ximian's development team is now available online, from young director Erik Pukinskis: "Code Monkey At Work". A Tutorial on getting Mono installed from sources is now online. More progress on the ASP.NET front: user defined controls are now being rendered, as well as many of the sample programs from www.asp.net. Gonzalo's work can be found on module XSP (this implements the .aspx compiler). Sergey Chaban has got Gtk# working on Windows, you can see some screenshots: sample apps and running with a russian charset. @item Jul 16th, 2002 Paolo today got mono to complete host itself on Linux. This means that we can now compile the `corlib' using the Mono C# compiler and the Mono runtime. Compiling the corlib was rather tricky, because the types that the compiler uses during the compilation process will come from the source code it is compiling. After a few months of work, we have finally fleshed out all the remaining bugs. Now the next step is to update the makefiles to compile with the Mono tool-chain. A recapitulation:

In the meantime, Dietmar has quietly implemented the remaining pieces of Marshalling in the Mono runtime. This is very important for the Gtk# guys to move on with their bindings. To make things more interesting, he replaced most of the architecture specific code generation for trampolines (delegates, invocations, function and p/invoke trampolines) to use CIL. This CIL is then compiled on the flight by the JIT Compiler engine. By doing this, we have reduced the burden to port the JITer to new architectures, and that our trampoline code is cross platform. @item Jul 9th, 2002 Ajay was the first to notice Mono's first birthday. In a year, we have achieved plenty: Thanks to everyone who has made Mono possible with their feedback, regression tests, their comments, their help on the mailing list, code contributions, complete classes, bug reporting, the countless hours of bug hunting. This project would not have been possible without every contribution. It has been a great year for everyone involved in the project. I think we have built a new and exciting community. Now we have a solid foundation to build on, so this next year looks even more exciting: not only because we will see more Mono applications, but we will begin using Mono as an `library' to be linked with applications that want to get scripting-like features; Gtk# is our ticket to create nice GNOME applications; And we will be developing CORBA bindings to integrate with other object systems. Also, for those interested in optimizations and tuning, this year we will get to play with more advanced optimizations and all kinds of interesting research ideas for improving Mono code generation. A special thanks to the Mono developers at Ximian for managing to survive their manager and a special thanks to our regression test marshal Nick Drochak, who has been hunting down, and fixing code in our class libraries and keeping us on track for so long. @item Jul 8th, 2002 Radek today fixed the last bugs to get Mono to self host on Linux/PowerPC. Alp Toker has released version 0.5 of Phonic, a media player for .NET. Phonic makes extensive use of Mono-developed technologies such as Gtk# and csvorbis (Ogg player ported by Mark). Hopefully we will be seeing many more exciting applications like these in the near future. Dietmar has been moving a lot of the architecture specific code in the JIT engine to our internal representation. This means that porting the JIT is simpler now, as there is less architecture-specific code to maintain. The inliner, constant folder and constant propagation are also done at the architecture independent layer. Gonzalo is now running the sample ASP.NET applications on Linux with the Mono runtime. It still needs polishing though, and help with the various ASP.NET controls would be appreciated. The ASP.NET community seems more poor than the PHP community, we need to have a few open source controls to do things dynamic rendering (libart+gdk-pixbuf again can do most of the work), charts and components like the kind of thing you see in the PHP universe: to bring nice GPL code to the masses of Windows developers, lure them into the world of Linux. Dick has also got us the new Process implementation that implements the Win32 semantics. Now only redirection is missing. @item Jul 3rd, 2002 Listen to Paolo Molaro do a talk on Mono at the WebIT conference in Padova, Italy this coming friday. Details are here You can also see a trip report from the Gnome in the South trip: here Miguel will be doing a couple of talks at the O'Reilly conference about Mono: status update, progress and developing applications with it. Details are here and here @item Jun 30, 2002 Martin Baulig fixed the remaining bugs that prevented MCS to compile our corlib. The compilation was tricky because of the way MCS bootstraps the compile (internally mcs uses the types that are being defined at that point to perform compares). Martin and Paolo have been working hard on fixing the remaining issues. Currently 102 test pass and 15 fail with our resulting corlib. Jesus' SoapFormatter classes are now in CVS. I have been redoing the type lookup system for MCS. The interesting bit is that I did most of this work on an airplane using MCS itself. Which is a good test that the compiler is now a good development tool. Duncan, Mike and Rachel have been hard at work with Gtk#, now there are bindings for the GtkHTML widget (the one used by Evolution's composer). And Rachel also got the beginning of GNOME bindings, that should simplify application development. A big thanks goes to Dennis Hayes for getting the Windows.Forms work together, and commiting so many stubs for Windows.Forms. @item Jun 25, 2002 I am updating the Mono site from the Unesco offices in Uruguay, the South-America trip to promote free software is going very well. Many news in Mono-land this week so far: Mike Kestner got bindings for GtkHTML last night for Gtk#, this is using GtkHTML 2.0. On Monday Piers Haken contributed the core to support XPath in Mono: most of the w3c spec is implemented (modulo a few pending bits). Dick checked in his implementation of the Process classes: process forking and waiting support committed, with some functions to query status. This was complex as we had to emulate the Win32 environment, but this is another step to be fully compatible. This means for example that any process can check on the status of any other process (without the parent/child relationship) Of course, those interested in only the Unix semantics can always P/Invoke the Unix calls. @item Jun 24, 2002 Duncan has written a few sample Gtk# demo applications (screen shot, another) Rachel also got the beginning of Gnome bindings (screenshot). She also got some documentation up now. @item Jun 22, 2002 Mono's ASP.NET has rendered its first page on Linxu for the first time (Gonzalo and Paolo). Also, we are getting close to self hosting. Paolo posted a list of pending issues which are now very small. Steam is picking up in Gtk# as the bindings become more complete and small applications are starting to emerge. Gtk# now compiles completely on Linux. This uses a lot of the XML libraries, which is nice to see. @item Jun 20, 2002 Gonzalo has got the Mono ASP.NET implementation can now render all Html Controls, and 21 out of the 26 Web Controls. Session tracking is next. Look in xsp/test for a collection of tests that render with Mono. Ajay has been very busy improving and extending the XmlSerialization code. All fields had to be re-ordered to match the Microsoft implementation. @item Jun 19, 2002 You can now download a fresh tarball of the libraries and the MCS compiler daily from Alp Toker's website. New libgc RPMS for Redhat 7.3 are available on Richard Torkar's site. @item Jun 10, 2002 Ajay announced today that the reading code for XmlSchemas is almost complete. @item Jun 7, 2002 Mono 0.12 is out! More classes! More working code! Better compiler! Faster runtime! Less bugs! You can get it Here (quick links: runtime and compiler/classes). @item Jun 3rd, 2002 CodeDOM implementation from Daniel Stodden has got C# output support. @item May 31, 2002 Gonzalo got the Mono XSP page parser to render its first ASP.NET .aspx file today without using MS System.Web.Hosting classes. It is currently on its infancy. But very good news, now we need to upgrade our System.Web runtime to run natively on Linux. Sergey's code for architecture and size-specific CPBLK has been checked into CVS. Paolo has checked the configuration code for Mono (to map PInvoke dlls to other libraries). ADO support: Daniel has checked in a modified version of the MySQL data provider from Brad. And Rodrigo started the OleDB using LibGDA. @item May 27, 2002 An RSS feed is now available for the Mono news. I find it surprising that there are so many tools that process this data. Binaries for Windows are now location independent, do not require Cygwin and come with a Wizard. @item May 26, 2002 Daniel Morgan checked in his Sql# Cli tool into the System.Data class library. @item May 24, 2002 Ajay has checked in a major update to the System.Xml.Schema namespace. Gonzalo moved XSP along this week: Added support for templates, columns inside DataGrid, HTML comments, code render and data binding tags, style properties in style tags, ListItem inside list controls, float and double properties. @item May 22, 2002 MonoLogo runs on the Mono runtime. This screenshot shows MonoLogo running Gtk#. @item May 21, 2002 Martin has improved the debugging infrastructure in Mono, now it is possible to get line number information on stack traces. @item May 20, 2002 XSP our ASP.NET .aspx page parser is now available on the AnonCVS servers. This is part of the ASP.NET support in Mono. Gonzalo is the developer on charge of it. Many updates to the ADO.NET implementation from Dan, Tim and Rodrigo. Radek got the Mono C# compiler running on Linux/PPC and compiling most of our regression test suite. Lawrence has been working really hard in fixing, improving and polishing the underlying network infrastructure. The Rafael and Chris have commited the beginning of the VisualBasic.NET runtime support to CVS. Jesus has contributed the beginning of the SoapFormatter @item May 9, 2002 Linear register allocator has been deployed in the Mono JIT engine. Read about it @item May 5, 2002 We are able to retrieve simple data from the database using our ADO.NET like functionality. Only string and integer data types are supported right now but more are in the works. You can find more information at The Mono ADO-NET Page Thanks goes to Chris, Daniel, Duncan, Gonzalo, Miguel, Rodrigo, Tim, and others for these bits. @item May 4th, 2002 Rodrigo Moya announced new LibGDA: LibGDA is an ADO-like library for Unix systems. This one removes all the CORBA and GConf dependencies, which should make it easier to use and compile. This is another milestone for our ADO.NET implementation plans We have a little surprise for everyone tracking the news on tuesday ;-) @item May 2nd, 2002 Mark Crichton csvorbis port (C# port of Vorbis player) and Richard Hestilow's MonoLogo compiler are now on the CVS, and you can get them from AnonCVS. Dick implemented inter-process sharing of handles as well as simplifying the implementation of WaitForMultipleObjects, now we have a `handles' subsystem in Mono. This is needed to fully emulate the handle behavior that Win32 exposes, and that the .NET API expose to applications. News from the Gtk# front: Menu support, Mike tells the story @item May 1st, 2002 Daily packages for Debian are available here @item Apr 26, 2002 Binary packages of Mono 0.11 are available for Windows (Thanks to Johannes Roith) and for Linux (thanks to BaseLabs). @item Apr 24, 2002 Mono 0.11 is out! Mostly performance improvements, bug fixes and more classes are included. A new version of the runtime, compiler and class libraries has been packaged for your download pleasure. Binaries are included. The Release Notes are available. You can get it Here (quick links: runtime and compiler/classes). @item Apr 23, 2002 SharpDevelop 0.88a is out! Congratulations to the developers behind SharpDevelop for their new release. @item Apr 20, 2002 Some updates from the hacking lines: The web: Patrik Torstensson last week contributed the http runtime support and started work on thread pools. This is part of the ASP.NET support. Docs: John Barnette, John Sohn and Adam Treat have been hacking on MonoDoc. ADO.NET: Daniel Morgan and Rodrigo Moya have been working on the ADO.NET support, and got the first signs of life this week (we can connect, insert rows; do transactions: commit/rollback; SQL errors and exceptions work). Check mono-patches for all the goodies. Optimizations: A number of optimizations in the runtime made the compiler twice as fast this week: Early this week Patrik started the string rewrite in the runtime. Today Dietmar finished the constructors and deployed the new layout. Paolo got the JIT engine to generate profiles, which were in turn used to find hot spots in Reflection, which he improved. Daniel Lewis (of Regex fame) noticed the performance issues with our current array layout, and contributed a new array representation. At the same time Dietmar started the the JIT inline code and implemented constant propagation. These two optimizations together are very powerful. Bug fixing: And of course everyone has been helping out with the bug fixing (Duncan, Gonzalo, Jonathan, Miguel, Nick, Ravi, Sergey) @item Apr 18, 2002 Dietmar's inlining for the JIT engine just landed into CVS. This is only a first cut and more improvements will come later. Patrik, Paolo, Dietmar and Gonzalo have been busy optimizing our class libraries and runtime engine to become faster. Many changes on CVS as well. @item Apr 11, 2002 Gtk# 0.1 "ButtonHook" has been released Binaries for the Mono Regression Test Suite are available for people porting the Mono Runtime to new platforms. @item Apr 6, 2002 Advanced .NET Remoting from Ingo Rammer is now available. Ingo helped us to implement the proxy support and the book is a valuable resource for anyone interested in remoting. @item Apr 5, 2002 Transparent proxy support has been finished, congrats to Dietmar. Our JIT engine on CVS contains the implementation. This should enable people to test the remoting framework on Mono. @item Mar 28, 2002 Debugging information is now generated by the compiler thanks to Martin's work. The resulting dwarf file can be used to single step C# code in GDB. A document will be shortly published with the details. @item Mar 27, 2002 Mono 0.10 is out! The self hosting release of Mono has been released. A new version of the runtime, compiler and class libraries has been packaged for your download pleasure. Binaries are included. The Release Notes are available. You can get it Here (quick links: runtime and compiler/classes). @item Mar 26, 2002 Paolo finally fixed the last bug in the JITer that stopped us from using it to run the Mono C# compiler. Goodies are on CVS. Gtk# runs Hello World. Mike posted some details. @item Mar 19, 2002 Martin has been working on our debugging infrastructure, both on the JIT side of things (adding dward support) as well as on the class libraries (so that MCS can start generating debugging information). Jason and Kral keep working on the System.Xml namespace, allowing Mike to move more to self-hosting his Gtk# code. The System.Web classes are now part of the build (and they are also part of the class status now). Ajay contributed a large chunk of code to the System.Xml.Schema namespace Dan (of regex fame) has been working on internal calls support: moving more code from the old monowrapper to become internal calls. Paolo and Dietmar are working steadily on our runtime environment, fixing bugs, adding missing features and allowing us to run the compiler on Linux. Remember to post your bug reports. The nice class status on the right is brought to you by endless hacking hours from Piers and Nick. These status report pages have been helping us track down various mistakes in our classes (very useful, check it out for yourself) @item Mar 12, 2002 At midnight, in Italy, Paolo got the Mono C# compiler to self host on Linux, the last bug has been squashed to self hostingness. We have now a fully self hosting compiler in Linux. A release will follow up shortly. @item Mar 9, 2002 Updated the class status, now it is possible to use the right-side menu to browse a specific assembly. @item Mar 7, 2002 MCS compiles on Linux! Today Paolo got the MCS compiler compiling itself on Linux completely for the first time! The resulting image still contains some errors, but the whole compiler process goes now. Later in the day and a couple of small optimizations and bug fixes, the compile speed was improved in 400% We are very close to have a complete self hosting environment now. Mono is temporarly using the Bohem GC garbage collector while we deploy the more advanced ORP one. @item Mar 5, 2002 The CVS repository can be browsed Jason has got an incredible amount of work on the Xml classes during the weekend, and Gaurav is very close to have the complete System.Web.UI.WebControls namespace implemented. Martin and Duco have been killing bugs by using the recently revamped regression test suite. Piers has updated our class status page again, with even more information available. The C# compiler has full constant folding implemented now and Ravi killed bugs of bugs in the Mono Bug List @item Mar 1, 2002 RPMs of Mono 0.9 are available at mono.baselabs.com @item Feb 28, 2002 Christophe has setup his First Steps in Mono web site, which shows you a step-by-step process on getting Mono running on your system. RPMs of Mono 0.9 are available at mono.baselabs.org @item Feb 27, 2002 New class status engine that provides detailed information about missing functionality in our class libraries. Nick built the cormissing tool and Piers did the XSLT and DHTML magic. More compiler progress on Linux: our support runtime now enables the compiler to compile `MIS' on Linux (MIS being Dick's Mono sample HTTP server ;-) @item Feb 26, 2002 Paolo posted a list of ways you can help if you do not have Windows right now. Sergey followed up with his suggestions. @item Feb 25, 2002 StrongARM port from Sergey Chaban has been checked into CVS. @item Feb 24, 2002 SPARC: 44 out of 74 tests pass now (Jeff) Power PC: delegates are working now (Radek) @item Feb 22, 2002 Mono 0.9 has been released! A new version of the runtime, compiler and class libraries has been packaged for your download pleasure. The Release Notes You can get it Here (quick links: runtime and compiler/classes). @item Feb 21, 2002 Paolo got our compiler natively to compile 117 of our tests. Self hosting is closer every day. Unsafe support is finished in the C# compiler. @item Feb 20, 2002 Gaurav got DataGrid and DataGridItemCollection done. C# compiler: Unsafe support is mostly complete (only stackalloc is missing). New easy to run scripts for compiling Mono on Unix and Windows is available. We can now easily compile Mono on Windows and Linux. If you had trouble before, use the above scripts which will get the setup right for you. There are now three machines that can provide AnonCVS, just use anoncvs.go-mono.com as the hostname for your CVSROOT and you will get one of the machines. @item Feb 19, 2002 Do you want to see what Mono Looks Like? @item Feb 18, 2002 Application Domains now support the two LoaderOptimization modes: share code or do not share code, and you can control this with the --share-code command line option. Paolo has now 100+ test cases run on Linux now with our class libraries. PowerPC and SPARC ports are moving along (Radek and Jeff) @item Feb 13, 2002 Excellent news since the 11th, here is a quick rundown: AppDomains have been deployed (Dietmar). Socket work is done (Dick). Corlib compiled with no refs to mscorlib (Dan). New comprehensive tests for colib bits (David). Nick is driving the regression test suite efforts and class library completeness. New System.Data work (Chris). Bug fixes (Paolo, Duncan, Ravi, Miguel) Miguel is off to the FOSDEM conference in Brussels. @item Feb 11, 2002 Mono 0.8 has been released! A new version of the runtime, compiler and class libraries has been packaged for your download pleasure. You can get it Here (quick links: runtime and compiler/classes) @item Feb 11, 2002 We would like to welcome all the new developers that have joined the project in the last couple of days. The classes are rapidly moving. An explanation of the relationship between GNOME and Mono. Nick is still leading our test suite platform. I can not stress how important it is to have a good regression test suite for our platform, as buggy class libraries are what are stopping the compiler from running completely on Linux. We are of course psyched to see Mono run on non-Linux systems. Work is moving on native code generation for StrongARM, PowerPC, and SPARC as well as porting Mono to other systems. There are a couple of debates on the Mono list on implementing a set of web server classes for enabling ASP.NET on Mono. Paolo also posted a list of pending tasks to enable the compiler to run on Linux @item Feb 10, 2002 Mike Kestner has posted an Update on his Gtk# activities. @item Feb 4, 2002 Adam has done Qt bindings for .NET. Adam is cool. @item Jan 29, 2002 Dan Lewis has contributed a major missing set of classes to Mono: System.Text.RegularExpressions. This is a fully .NET compatible implementation of the .NET regular expressions, fully Unicode aware. This contribution is very appreciated, as implementing this was not entirely trivial (supporting Unicode, plus a regex engine which is a super set of the Perl regex engine). @item Jan 28, 2002 The Mono contributors have relicensed the Class Libraries under the terms of the MIT X11 license. This license is an Open Source license, and is used by other projects (most notably, the XFree86 project). The runtime (JIT, metadata library, interpreter) remains under the LGPL and the C# compiler remains under the GPL. Our Press Release Press coverage: CNet, Wired, InfoWorld, NewsForge. @item Jan 23, 2002 New mailing list: mono-patches@ximian.com. This mailing list will receive automatically the patches that are submitted to the Mono CVS to any of its modules. This allows anyone who wants to participate in the peer-review of the code submitted to CVS to receive patches on e-mail. It should also expose to everyone the changes that are being done by the team every day. @item Jan 21, 2002 Dick has got a simple web server running with Mono (`MIS: Mono Internet Server') that is mostly used to test our IO layer, a screenshot Paolo and Dietmar are busy making our runtime self sufficient on non-Windows platforms. C# compiler front: A lot of focus in the past weeks after the C# became self hosting has been in making the compiler a useful tool for development: improve error handling, provide better error reports, fixing all known bugs, and finally profiling of the compiler has begun. @item Jan 8, 2002 Our compiler has been self-supporting since January 3rd. In the meantime, we have been busy working on making it run on Linux. Today Paolo got more work done on Reflection.Emit and the compiler compiled `console.cs' (a sample Mono program) on Linux. @item Jan 4, 2002 Dietmar landed the Unicode support patch. Class libraries and runtimes are now fully Unicode aware. The details are here Last minute breaking news: Paolo got our compiler in Linux to compile fib.cs, patches are comming tomorrow once we have ChangeLog entries. @item Jan 4, 2002 Mike Kestner posted an update on Gtk# New year, new direction. Gtk# will be our foundation on which we will be implementing System.Windows.Forms. @item Jan 3, 2002 Mono C# compiler becomes self-sufficient. We can now continue development of the compiler with itself. Work on the class libraries is still underway for having a full self hosting system. We hope to achieve our goal of self-hosting on Linux before the end of the month. Join the fun by downloading either tonight's snapshot or getting your sources from our Anonymous CVS server. @item Dec 28, 2001 After a lot of work, the C# compiler can compile itself. There are still errors in the generated image, but they are being fixed quickly. We will soon have the first non-Microsoft C# implementation! @item Dec 18, 2001 JIT: More work on our IO abstraction layer (Dick). JIT: exception handling for unmanaged code (Dietmar) System.Reflection: Support for PropertyInfo and PropertyBuilder as well as the various queries for MethodBase. C#: Pre-processor; Rewrite of MemberLookup which fixed many of the outstanding issues. More bug fixing allows it to compile more programs. @item Dec 14, 2001 Dietmar has improved the register allocation and now Mono performs two to three times as fast as it did yesterday. Amazing. The compiler keeps moving along, explicit interface implementation is there. @item Dec 11, 2001 The JIT engine can now run all the compiler regression tests as well as assorted other programs, many more opcodes added recently. Currently the JIT engine uses a very simplistic register allocator (just enough to allow us to focus on feature completeness) and that will be the next major task to improve performance and reduce spills and reloads. On the C# compiler front: language features are now pretty much complete. The big missing tasks are unsafe code support, visibility, explicit interface implementation plus static flow analysis. There are many small bugs that need to be addressed. You can get your copy of the latest Mono More work is also required on fixing the foundation class libraries, it is easy to find spots now since Nick got the `make test' going. @item Dec 1, 2001 AnonCVS access to Mono is here (updated every hour). Thanks to HispaLinux and Jesus Climent for helping to set this up. @item Nov 30, 2001 All tests from the mono runtime work with the JIT engine now (Dietmar). Recursive enumeration definition in the C# compiler are working now (Ravi). More work on the Web classes (Gaurav). @item Nov 28, 2001 JIT land: Paolo got GDB support into the JIT engine while Dietmar added exceptions support to it. The C# compiler supports all array initializations now, and the switch statement as well as fixing many existing bugs. Many new more tests. Nick keeps working on improving our class library test suite. Dick has almost completed the Mono IO layer. @item Nov 16, 2001
Mike Kestner has posted an update on Gtk# development.
@item Nov 14, 2001
Paolo today got the Mono C# compiler running on Linux. It compiles a sample program and then the sample program is executed. Mutator unary operators (++ and --) in the compiler are fully functional, they used to only work on variables, and now they are complete. To sum things up: The Mono C# compiler is written in C# and uses the .NET classes to get its work done. To make this work on Linux work has to happen in various fronts: At the same time, Dietmar is working on the JIT engine which will replace our interpreter in production.
@item Nov 12, 2001
Dietmar got value types working on the JIT engine. Sean has got assembly loading in the runtime (required for NUnit). More progress on enumerations and attributes from Ravi. Nick keeps working on improving our class libraries.
@item Nov 8, 2001
Enumerations, array access and attributes for the C# compiler are into the CVS now. Full array support is not complete, but moving along.
@item Nov 5, 2001
Dietmar's new set of patches to the JIT have 20 out of 33 tests running now.
@item Nov 4, 2001
Mike Kestner, main Gtk# contributor has posted a very interesting update on his work on Gtk#. Ravi commited the initial support for Attributes in the compiler. Many HTML Controls from Leen checked into CVS. Paolo checked in his new System.Reflection and System.Reflection.Emit implementations. He has been working steadily on this huge task for a few weeks now. This is the foundation for the Mono C# compiler, and hence a very important piece of the puzzle.
@item Nov 3, 2001
Many clean ups have been going into the class library by Nick Drochak. Mega patch from Dietmar: he commited the flow analysis code for the JITer. A lot of work has been going into the WebControls by Gaurav (4 new controls plus improved and bug fixed base classes).
@item Nov 1, 2001
Ravi commited the caller-side method selection of methods with variable length arguments. Now he depends on Miguel finishing the array handling support.
@item Oct 27, 2001
Lots of classes for System.Web from Gaurav were commited this morning. Some large recent developments: The Decimal implementation from Martin Weindel has been partially integrated (we need to put the internalcalls in place now and compile and link the decimal code). Derek Holden commited recently the IntegerFormatter code into the CVS, so we got a pretty comprehensive integer formatting engine that we can finally use all over the place. Compiler got support for lock as well as assorted bug fixes. Ravi is still working on array support (and then we can optimize foreach for the array case). Dietmar is busy working on flow analysis on the JITer, the previous mechanism of generating the forest was wrong. Paolo has been a busy bee reworking the System.Reflection.Emit support code, and we should have some pretty nice stuff next week. Dick on the other hand is still working on the WaitOne/WaitAll emulation code. WaitAll is like select on steroids: it can wait for different kinds of objects: files, mutexes, events and a couple of others. Mike Kestner is busy working on Gtk# which is now using the .defs files to quickly wrap the API.
@item Oct 18, 2001
Reworking expressions to support cleanly indexers and properties. 11 days until Evolution 1.0 ships. Ximian users around the world rejoice with recent C# compiler progress.
@item Oct 17, 2001
Delegate support has been checked into the compiler (definition and invocation); break/continue implemented.
@item Oct 15, 2001
JIT engine supports many of the object constructs now (object creation, vtable setup, interface table setup). The C# compiler now has almost full property support (only missing bit are pre-post increment/decrement operations), delegates are now created (still missing delegate invocation). try/catch/finally is also supported in the compiler now. System.Decimal implementation is in, as well as many crypto classes.
@item Oct 5, 2001
Sergey has released his first version of the ilasm assembler written in C#. You can get it from his web page: http://mono.eurosoft.od.ua. The plan is to integrate ildasm into the Mono CVS soon. This component should in theory also be reusable for SharpDevelop eventually.
@item Oct 4, 2001
Our System.Reflection.Emit implementation created its first executable today. This means that a very simple .NET program that was compiled on Windows was able to generate a .NET program while running on Linux using the Mono runtime. The various piece of the puzzle are starting to get together: the compiler can compile simple programs now and we are basically focusing on completeness now.
@item Sep 28, 2001
Sharp Develop 0.80 was released today.
@item Sep 26, 2001
More progress: more opcodes are working (Paolo); The compiler runs up to a point in Mint (Paolo); operator overloading works (both unary and binary) all over the place (Miguel); Completed decimal type conversions (Miguel); New build system in place based on Ant (Sean and Sergey); Refactored and documented the internals of the JIT engine (Dietmar); StatementExpressions handled correctly (Miguel).
@item Sep 21, 2001
A couple of news-worthy items: Dick got the initial thread support into mint; Paolo implemented many new opcodes; Dietmar got long operations and mul/div working on the JITer; Ravi rewrote the Method selector for expressions to be conformant; Miguel got i++ working. All in tonight's snapshot
@item Sep 19, 2001
Paolo has written a section on Porting Mono to othre architectures.
@item Sep 18, 2001
Mono 0.7 has been released (runtime engine, class libraries and C# compiler). Check the Mono 0.7 announcement for details
@item Sep 17, 2001
Mike Kestner's Gtk# (Gtk-sharp) was checked into the CVS repository. Gtk# can run a simple hello world application. The binding is nice, as it maps Gtk+ signals to delegates in C#. You can see the Gtk# Hello World program here Gtk-sharp should be available on the next snapshot set.
@item Sep 10, 2001
Dietmar checked in his CIL tree/forest regeneration and most importantly, the x86 instruction selector burg grammar.
@item Sep 5, 2001
The MCS compiler can compile the sample Hello World application and generate a Windows/CIL executable that runs! This executable runs with the Mono Interpreter of course (see August 28)
@item Sep 4, 2001
Dietmar checked into CVS the `monoburg' architecture independent instruction selector for the JIT engine.
@item Aug 28, 2001
.NET Hello World is working under Mono! The latest snapshots will let you run it. Hello World consits of 1821 CIL instructions, performs 66 subroutine calls and loads 12 classes from the corlib.dll Good work Mono team!
@item Aug 23, 2001
Lloyd Dupont has announced his OpenGL bindings for C#, they are available here: http://csgl.sourceforge.net
@item Aug 22, 2001
New version of the Mono Runtime, Compiler and Classes has been released. Check the 0.6 announcement.
@item Aug 20, 2001
A new Compilation service has been made available by Derek to allow people without access to the .NET SDK
@item Aug 3, 2001
Daily snapshots of mcs and mono are now available, they will run every night at 10pm Boston time.
@item Jul 29, 2001
Mono Runtime 0.5 has been released. Check the release notes
@item Jul 25, 2001
The slides for my presentation at O'Reilly Open Source Software Convention
@item Jul 22, 2001
Another release of the class libraries is out, check the MCS 22-July Release Notes. You can get the new class libraries from here
@item Jul 19, 2001
Another release of the class libraries is out, check the MCS 19-July Release Notes. You can get the new class libraries from here
@item Jul 17, 2001
Another release of the class libraries is out, check the MCS 17-July Release Notes. You can get the new class libraries from here Do not forget to check out the updated FAQ. Got Sean's new Class Status web pages up. These are a lot better than mine, and we are now keeping better track of contributors.
@item Jul 15, 2001
Another release of Mono is out, check the Mono 0.4 Release Notes. Get it here.
@item Jul 14, 2001
A new release of the runtime, compiler and classes has been made. Get it here
@item Jul 12, 2001
I keep getting questions about my opinion on Passport, even when Mono has nothing to do with it. I finally wrote something.
@item Jul 9, 2001
Project launched.
@item O'Reilly
Brian posted a story on O'Reilly Network .NET