4 <a href="http://www.ximian.com">Ximian</a> announced the
5 launch of the Mono project, an effort to create an Open Source
6 implementation of the .NET Development Framework.
8 Mono includes: <a href="c-sharp.html">a compiler</a> for the
9 C# language, a <a href="runtime.html">runtime</a> for the
10 Common Language Infrastructure and a set of <a
11 href="class-library.html">class libraries</a>.
13 You can read our <a href="rationale.html">rationale</a> for
14 this project. If you have questions about the project, please
15 read our list of <a href="faq.html">Frequently Asked
16 Questions</a> or <a href="mailto:mono-list@ximian.com">contact us.</a>
18 You might also want to <a href="download.html">Download the
19 source</a> for our work so far. Or you can grab a <a
20 href="snapshots">snapshot</a> of our current work.
23 href="mailing-lists.html">subscribe</a> to our mono-list
24 and mono-announce-list
26 You can contact the team at: <a
27 href="mailto:mono-list@ximian.com">mono-list@ximian.com</a>
30 <table border=1 bgcolor>
35 <b><a href="c-sharp.html">Compiler</a></b>
38 Self hosting on .NET.<br>
39 Classes need work to run on Mono.
56 In progress: StrongARM, SPARC.
61 <b><a href="class-status.html">Classes</a></b>
64 Corlib for self hosting mostly done
74 RPMs of Mono 0.9 are available at <a href="http://mono.baselabs.org/#download">mono.baselabs.com</a>
78 New <a href="class-status.html">class status</a> engine that
79 provides detailed information about missing functionality in
80 our class libraries. Nick built the cormissing tool and Piers
81 did the XSLT and DHTML magic.
83 More compiler progress on Linux: our support runtime now
84 enables the compiler to compile `MIS' on Linux (MIS being
85 Dick's Mono sample HTTP server ;-)
89 Paolo posted a list of <a
90 href="http://lists.ximian.com/archives/public/mono-list/2002-February/003266.html">ways
91 you can help</a> if you do not have Windows right now. Sergey followed up with
92 <a href="http://lists.ximian.com/archives/public/mono-list/2002-February/003268.html">his</a>
97 StrongARM port from Sergey Chaban has been checked into CVS.
101 SPARC: 44 out of 74 tests pass now (Jeff)
103 Power PC: delegates are working now (Radek)
107 <b>Mono 0.9 has been released!</b>
109 A new version of the runtime, compiler and class libraries has
110 been packaged for your download pleasure. The <a
111 href="archive/mono-0.9">Release Notes</a>
114 href="download.html#feb-22">Here</a> (quick links: <a
115 href="archive/mono-0.9.tar.gz">runtime</a> and <a
116 href="archive/mcs-0.9.tar.gz">compiler/classes</a>).
120 Paolo got our compiler natively to compile 117 of our tests.
121 Self hosting is closer every day.
123 Unsafe support is finished in the C# compiler.
127 Gaurav got DataGrid and DataGridItemCollection done.
129 C# compiler: Unsafe support is mostly complete (only stackalloc is missing).
131 New easy to run scripts for compiling Mono on Unix and Windows
132 is <a href="download.html">available</a>. We can now easily compile
133 Mono on Windows and Linux. If you had trouble before, use the
134 above scripts which will get the setup right for you.
136 There are now three machines that can provide AnonCVS, just
137 use anoncvs.go-mono.com as the hostname for your CVSROOT and
138 you will get one of the machines.
142 Do you want to see what <a href="http://people.debian.org/~lupus/mono/">Mono Looks Like?</a>
146 Application Domains now support the two LoaderOptimization
147 modes: share code or do not share code, and you can control
148 this with the --share-code command line option.
150 Paolo has now 100+ test cases run on Linux now with our class
153 PowerPC and SPARC ports are moving along (Radek and Jeff)
157 Excellent news since the 11th, here is a quick rundown:
159 AppDomains have been deployed (Dietmar). Socket work is done
160 (Dick). Corlib compiled with no refs to mscorlib (Dan). New
161 comprehensive tests for colib bits (David). Nick is driving the
162 regression test suite efforts and class library completeness.
163 New System.Data work (Chris). Bug fixes (Paolo, Duncan, Ravi, Miguel)
165 Miguel is off to the <a
166 href="http://www.fosdem.org">FOSDEM</a> conference in Brussels.
170 <b>Mono 0.8 has been released!</b>
172 A new version of the runtime, compiler and class libraries has
173 been packaged for your download pleasure.
176 href="download.html#feb-11">Here</a> (quick links: <a
177 href="archive/mono-0.8.tar.gz">runtime</a> and <a
178 href="archive/mcs-0.8.tar.gz">compiler/classes</a>)
182 We would like to welcome all the new developers that have
183 joined the project in the last couple of days. The classes
186 An explanation of the relationship between <a
187 href="http://mail.gnome.org/archives/gnome-hackers/2002-February/msg00031.html">GNOME
190 Nick is still leading our test suite platform. I can not
191 stress how important it is to have a good regression test suite
192 for our platform, as buggy class libraries are what are
193 stopping the compiler from running completely on Linux.
195 We are of course psyched to see Mono run on
196 non-Linux systems. Work is moving on native code generation
197 for StrongARM, PowerPC, and SPARC as well as porting Mono to
200 There are a couple of debates on the Mono list on implementing
201 a set of web server classes for <a
202 href="http://lists.ximian.com/archives/public/mono-list/2002-February/002911.html">enabling
206 href="http://lists.ximian.com/archives/public/mono-list/2002-February/002944.html">
207 posted a list of pending tasks</a> to enable the compiler to run on Linux
211 Mike Kestner has posted an <a
212 href="http://lists.ximian.com/archives/public/gtk-sharp-list/2002-February/000024.html">Update
213 on his Gtk#</a> activities.
218 href="http://lists.ximian.com/archives/public/mono-list/2002-February/002808.html">Qt
219 bindings</a> for .NET. Adam is cool.
223 Dan Lewis has contributed a major missing set of classes to
225 href="http://lists.ximian.com/archives/public/mono-list/2002-January/002745.html">
226 System.Text.RegularExpressions</a>.
228 This is a fully .NET compatible implementation of the .NET regular expressions,
229 fully Unicode aware. This contribution is very appreciated, as implementing this
230 was not entirely trivial (supporting Unicode, plus a regex engine which is a super
231 set of the Perl regex engine).
235 The Mono contributors have relicensed the Class Libraries under
237 <a href="http://www.opensource.org/licenses/mit-license.html">MIT X11</a> license.
239 This license is an Open Source license, and is used by other projects
240 (most notably, the XFree86 project).
242 The runtime (JIT, metadata library, interpreter) remains under
243 the LGPL and the C# compiler remains under the GPL.
246 href="http://www.ximian.com/about_us/press_center/press_releases/mono_partners.html">Press
250 href="http://news.com.com/2100-1001-823734.html">CNet</a>, <a
251 href="http://www.wired.com/news/technology/0,1282,50037-2,00.html">Wired</a>,
252 <a href="http://www.infoworld.com/articles/hn/xml/02/01/28/020128hnopennet.xml">InfoWorld</a>,
253 <a href="http://www.newsforge.com/article.pl?sid=02/01/27/2232231">NewsForge</a>.
257 New mailing list: <a href="mailto:mono-patches-request@ximian.com">mono-patches@ximian.com</a>.
258 This mailing list will receive automatically the patches that are submitted
259 to the Mono CVS to any of its modules.
261 This allows anyone who wants to participate in the peer-review of the
262 code submitted to CVS to receive patches on e-mail. It should also
263 expose to everyone the changes that are being done by the team every day.
267 Dick has got a simple web server running with Mono (`MIS: Mono
268 Internet Server') that is mostly used to test our IO layer, a
269 <a href="http://primates.ximian.com/~miguel/dick-mis-server.png">screenshot</a>
271 Paolo and Dietmar are busy making our runtime self sufficient on
272 non-Windows platforms.
274 C# compiler front: A lot of focus in the past weeks after
275 the C# became self hosting has been in making the compiler a useful
276 tool for development: improve error handling, provide better error
277 reports, fixing all known bugs, and finally profiling of the compiler
282 Our compiler has been self-supporting since January 3rd. In
283 the meantime, we have been busy working on making it run on
284 Linux. Today Paolo got more work done on Reflection.Emit and
285 the compiler compiled `console.cs' (a sample Mono program) on
290 Dietmar landed the Unicode support patch. Class libraries and
291 runtimes are now fully Unicode aware. The details are <a href=
292 "http://lists.ximian.com/archives/public/mono-list/2002-January/002409.html">
295 Last minute breaking news: Paolo got our compiler in Linux to
296 compile fib.cs, patches are comming tomorrow once we have
301 Mike Kestner posted an update on Gtk# <a
302 href="http://lists.ximian.com/archives/public/gtk-sharp-list/2002-January/000021.html"><i>New
303 year, new direction</i></a>.
305 Gtk# will be our foundation on which we will be implementing
306 System.Windows.Forms.
310 Mono C# compiler becomes self-sufficient. We can now continue
311 development of the compiler with itself.
313 Work on the class libraries is still underway for having a full
314 self hosting system. We hope to achieve our goal of self-hosting
315 on Linux before the end of the month.
317 Join the fun by downloading either tonight's <a
318 href="snapshots">snapshot</a> or getting your sources from our
319 <a href="anoncvs.html">Anonymous CVS server</a>.
323 After a lot of work, the C# compiler can compile itself.
324 There are still errors in the generated image, but they are
327 We will soon have the first non-Microsoft C# implementation!
331 JIT: More work on our IO abstraction layer (Dick).
333 JIT: exception handling for unmanaged code (Dietmar)
335 System.Reflection: Support for PropertyInfo and
336 PropertyBuilder as well as the various queries for MethodBase.
338 C#: Pre-processor; Rewrite of MemberLookup which fixed many of
339 the outstanding issues. More bug fixing allows it to compile
344 Dietmar has improved the register allocation and now Mono performs
345 two to three times as fast as it did yesterday. Amazing.
347 The compiler keeps moving along, explicit interface
348 implementation is there.
352 The JIT engine can now run all the compiler regression tests as
353 well as assorted other programs, many more opcodes added
354 recently. Currently the JIT engine uses a very simplistic register
355 allocator (just enough to allow us to focus on feature completeness)
356 and that will be the next major task to improve performance and
357 reduce spills and reloads.
359 On the C# compiler front: language features are now pretty
360 much complete. The big missing tasks are unsafe code support,
361 visibility, explicit interface implementation plus static flow
362 analysis. There are many small bugs that need to be addressed.
364 You can get your copy of the <a href="snapshots">latest Mono</a>
366 More work is also required on fixing the foundation class
367 libraries, it is easy to find spots now since Nick got the
372 AnonCVS access to Mono is here (updated every hour). Thanks
373 to <a href="http://www.hispalinux.es">HispaLinux</a> and Jesus
374 Climent for helping to set this up.
378 All tests from the mono runtime work with the JIT engine now
381 Recursive enumeration definition in the C# compiler are
384 More work on the Web classes (Gaurav).
388 JIT land: Paolo got GDB support into the JIT engine while
389 Dietmar added exceptions support to it.
391 The C# compiler supports all array initializations now, and the
392 switch statement as well as fixing many existing bugs. Many
395 Nick keeps working on improving our class library test suite.
397 Dick has almost completed the Mono IO layer.
402 Mike Kestner has posted an <a
403 href="http://lists.ximian.com/archives/public/gtk-sharp-list/2001-November/000015.html">update</a>
410 Paolo today got the Mono C# compiler running <a
411 href="http://lists.ximian.com/archives/public/mono-list/2001-November/001941.html">on
412 Linux</a>. It compiles a sample program and then the sample
415 Mutator unary operators (++ and --) in the compiler are fully
416 functional, they used to only work on variables, and now they
419 To sum things up: The Mono C# compiler is written in C# and
420 uses the .NET classes to get its work done. To make this work
421 on Linux work has to happen in various fronts:
423 * The C# compiler is being worked on and can compile
424 many programs now (our test suite at this point is
425 made up of 40 tests).
427 * The class libraries need to be mature enough to support
428 the compiler, particularly System.Reflection.Emit (which is
429 what Paolo has been working on lately).
431 The compiler currently requires 103 classes from the
432 .NET runtime (you can get the list by running: <b>monodis --typeref mcs.exe</b>
434 * The interpreter should be mature enough to run the actual
435 compiler byte codes and the corlib bytecodes.
438 At the same time, Dietmar is working on the JIT engine which will
439 replace our interpreter in production.
445 Dietmar got value types working on the JIT engine. Sean has
446 got assembly loading in the runtime (required for NUnit).
448 More progress on enumerations and attributes from Ravi.
450 Nick keeps working on improving our class libraries.
456 Enumerations, array access and attributes for the C# compiler are into the CVS now.
458 Full array support is not complete, but moving along.
464 Dietmar's new set of patches to the JIT have 20 out of 33
471 Mike Kestner, main Gtk# contributor has posted a very interesting <a
472 href="http://lists.ximian.com/archives/public/gtk-sharp-list/2001-November/000013.html">
473 update</a> on his work on Gtk#.
475 Ravi commited the initial support for Attributes in the
478 Many HTML Controls from Leen checked into CVS.
480 Paolo checked in his new System.Reflection and
481 System.Reflection.Emit implementations. He has been working
482 steadily on this huge task for a few weeks now. This is the
483 foundation for the Mono C# compiler, and hence a very
484 important piece of the puzzle.
490 Many clean ups have been going into the class library by Nick Drochak.
492 Mega patch from Dietmar: he commited the flow analysis code
495 A lot of work has been going into the WebControls by Gaurav (4
496 new controls plus improved and bug fixed base classes).
502 Ravi commited the caller-side method selection of methods with
503 variable length arguments. Now he depends on Miguel finishing
504 the array handling support.
510 Lots of classes for System.Web from Gaurav were commited this
513 Some large recent developments:
515 The Decimal implementation from Martin Weindel has been
516 partially integrated (we need to put the internalcalls in
517 place now and compile and link the decimal code).
519 Derek Holden commited recently the IntegerFormatter code into
520 the CVS, so we got a pretty comprehensive integer formatting
521 engine that we can finally use all over the place.
523 Compiler got support for lock as well as assorted bug fixes.
524 Ravi is still working on array support (and then we can
525 optimize foreach for the array case).
527 Dietmar is busy working on flow analysis on the JITer, the
528 previous mechanism of generating the forest was wrong. Paolo
529 has been a busy bee reworking the System.Reflection.Emit
530 support code, and we should have some pretty nice stuff next
531 week. Dick on the other hand is still working on the
532 WaitOne/WaitAll emulation code. WaitAll is like select on
533 steroids: it can wait for different kinds of objects: files,
534 mutexes, events and a couple of others.
536 Mike Kestner is busy working on Gtk# which is now using the
537 .defs files to quickly wrap the API.
543 Reworking expressions to support cleanly indexers and
544 properties. <a href="http://www.nat.org/evolution.php3">11
545 days</a> until Evolution 1.0 ships.
547 Ximian users around the world <!--a
548 href="http://www.bez.it/IMAGES/nora.jpg"-->rejoice<!--/a--> with
549 recent C# compiler progress.
555 Delegate support has been checked into the compiler
556 (definition and invocation); break/continue implemented.
562 JIT engine supports many of the object constructs now (object
563 creation, vtable setup, interface table setup).
565 The C# compiler now has almost full property support (only
566 missing bit are pre-post increment/decrement operations),
567 delegates are now created (still missing delegate invocation).
568 try/catch/finally is also supported in the compiler now.
570 System.Decimal implementation is in, as well as many crypto
577 Sergey has released his first version of the <b>ilasm</b>
578 assembler written in C#. You can get it from his web page:
580 href="http://mono.eurosoft.od.ua">http://mono.eurosoft.od.ua</a>.
582 The plan is to integrate ildasm into the Mono CVS soon. This
583 component should in theory also be reusable for SharpDevelop
590 Our System.Reflection.Emit implementation created its first
591 executable today. This means that a very simple .NET program
592 that was compiled on Windows was able to generate a .NET program
593 while running on Linux using the Mono runtime.
595 The various piece of the puzzle are starting to get together:
596 the compiler can compile simple programs now and we are
597 basically focusing on completeness now.
604 href="http://www.icsharpcode.net/OpenSource/SD/default.asp">Sharp
605 Develop 0.80</a> was released today.
611 More progress: more opcodes are working (Paolo); The compiler
612 runs up to a point in Mint (Paolo); operator overloading works
613 (both unary and binary) all over the place (Miguel); Completed decimal
614 type conversions (Miguel); New build system in place based on
615 Ant (Sean and Sergey); Refactored and documented the
616 internals of the JIT engine (Dietmar); StatementExpressions
617 handled correctly (Miguel).
623 A couple of news-worthy items: Dick got the initial thread
624 support into mint; Paolo implemented many new opcodes; Dietmar
625 got long operations and mul/div working on the JITer; Ravi rewrote
626 the Method selector for expressions to be conformant; Miguel
627 got i++ working. All in tonight's snapshot
633 Paolo has written a section on <a href="porting.html">Porting
634 Mono</a> to othre architectures.
640 <A a href="download.html#sep-18">Mono 0.7</a> has been
641 released (runtime engine, class libraries
642 and C# compiler). Check the <a href="archive/mono-0.7">Mono
643 0.7 announcement</a> for details
649 Mike Kestner's Gtk# (Gtk-sharp) was checked into the CVS
650 repository. Gtk# can run a simple hello world application.
651 The binding is nice, as it maps Gtk+ signals to delegates in
652 C#. You can see the Gtk# Hello World program <a href="src/HelloWorld.cs">here</a>
654 Gtk-sharp should be available on the next snapshot set.
660 Dietmar checked in his CIL tree/forest regeneration and most
661 importantly, the x86 instruction selector burg grammar.
668 The MCS compiler <b>can compile the sample Hello World</b>
669 application and generate a Windows/CIL executable that runs!
671 This executable runs with the Mono Interpreter of course (see
678 Dietmar checked into CVS the `monoburg' architecture
679 independent instruction selector for the JIT engine.
685 <b>.NET Hello World is working under Mono!</b> The latest snapshots
688 Hello World consits of 1821 CIL instructions,
689 performs 66 subroutine calls and loads 12 classes from the corlib.dll
697 Lloyd Dupont has announced his OpenGL bindings for C#, they
698 are available here: <a
699 href="http://csgl.sourceforge.net">http://csgl.sourceforge.net</a>
705 New version of the Mono Runtime, Compiler and Classes has been
707 href="download.html#august-22">released.</a> Check the <a
708 href="archive/mono-0.6">0.6 announcement</a>.
714 A new <a href="contributing.html#compile-service">Compilation
715 service</a> has been made available by Derek to allow people
716 without access to the <a
717 href="http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/000/976/msdncompositedoc.xml&frame=true">.NET SDK</a>
723 Daily snapshots of mcs and mono are now available, they will
724 run every night at 10pm Boston time.
730 Mono Runtime 0.5 has been <a
731 href="download.html#july-29">released.</a> Check the <a
732 href="archive/mono-0.5">release notes</a>
738 The slides for <A href="Presentations/O-Reilly">my
739 presentation</a> at <a href="http://www.oreilly.com">O'Reilly
740 Open Source Software Convention</a>
746 Another release of the class libraries is out, check the <a
747 href="archive/mcs-22">MCS 22-July Release Notes</a>. You can
748 get the new class libraries from <a
749 href="download.html#july-22">here</a>
755 Another release of the class libraries is out, check the <a
756 href="archive/mcs-19">MCS 19-July Release Notes</a>. You can
757 get the new class libraries from <a
758 href="download.html#july-19">here</a>
764 Another release of the class libraries is out, check the <a
765 href="archive/mcs-17">MCS 17-July Release Notes</a>. You can
766 get the new class libraries from <a
767 href="download.html#july-17">here</a>
769 Do not forget to check out the updated <a href="faq.html">FAQ</a>.
771 Got Sean's new <a href="class-status/index.html">Class
772 Status</a> web pages up. These are a lot better than mine, and
773 we are now keeping better track of contributors.
779 Another release of Mono is out, check the <a
780 href="archive/mono-0.4">Mono 0.4 Release Notes</a>. Get it <a
781 href="download.html#july-15">here</a>.
788 href="http://lists.ximian.com/archives/public/mono-list/2001-July/000399.html">new
790 runtime, compiler and classes has been made. Get it <a href="download.html#july-14">here</a>
796 I keep getting questions about my opinion on Passport, even when
797 Mono has <b>nothing</b> to do with it. I finally <a
798 href="passport.html">wrote something.</a>
810 Brian posted a story on <a
811 href="http://www.oreillynet.com/dotnet">O'Reilly Network .NET</a>