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. Grab a <a
20 href="snapshots">snapshot</a> of our current work, or <a
21 href="http://cvs.hispalinux.es/cgi-bin/cvsweb/?hidenonreadable=1&f=u&logsort=date&sortby=file&hideattic=1&cvsroot=Mono">browse
25 href="mailing-lists.html">subscribe</a> to our mono-list
26 and mono-announce-list
28 You can contact the team at: <a
29 href="mailto:mono-list@ximian.com">mono-list@ximian.com</a>
32 <table border=1 bgcolor>
37 <b><a href="c-sharp.html">C# Compiler</a></b>
40 Self hosting on Linux and Windows.
57 Linux/x86, Linux/PPC<br>
58 In progress: StrongARM, SPARC.
63 <b><a href="class-status.html">Classes</a></b>
66 Corlib for self hosting mostly done
76 Martin has been working on our debugging infrastructure, both
77 on the JIT side of things (adding dward support) as well as on
78 the class libraries (so that MCS can start generating
79 debugging information).
81 Jason and Kral keep working on the System.Xml namespace,
82 allowing Mike to move more to self-hosting his Gtk# code.
84 The System.Web classes are now part of the build (and they are
85 also part of the class status now). Ajay contributed a large
86 chunk of code to the System.Xml.Schema namespace
88 Dan (of regex fame) has been working on internal calls
89 support: moving more code from the old monowrapper to become
92 Paolo and Dietmar are working steadily on our runtime
93 environment, fixing bugs, adding missing features and allowing
94 us to run the compiler on Linux.
96 Remember to post your bug reports.
98 The nice class status on the right is brought to you by
99 endless hacking hours from Piers and Nick. These status
100 report pages have been helping us track down various mistakes
101 in our classes (very useful, check it out for yourself)
105 At midnight, in Italy, Paolo got the Mono C# compiler to self
106 host on Linux, the last bug has been squashed to self
107 hostingness. We have now a fully self hosting compiler in Linux.
109 A release will follow up shortly.
113 Updated the <a href="class-status.html">class status</a>, now
114 it is possible to use the right-side menu to browse a specific
119 MCS compiles on Linux!
121 Today Paolo got the <a
122 href="http://lists.ximian.com/archives/public/mono-list/2002-March/003726.html">MCS
123 compiler compiling itself on Linux</a>
124 completely for the first time! The resulting image still contains
125 some errors, but the whole compiler process goes now.
127 We are very close to have a complete self hosting environment now.
129 Mono is temporarly using the Bohem GC garbage collector while
130 we deploy the more advanced ORP one.
134 The CVS repository <a href="http://cvs.hispalinux.es/cgi-bin/cvsweb/?hidenonreadable=1&f=u&logsort=date&sortby=file&hideattic=1&cvsroot=Mono">can be browsed</a>
136 Jason has got an incredible amount of work on the Xml
137 classes during the weekend, and Gaurav is very close to have
138 the complete System.Web.UI.WebControls namespace implemented.
140 Martin and Duco have been killing bugs by using the recently
141 revamped regression test suite.
143 Piers has updated our <a href="class-status.html">class
144 status</a> page again, with even more information available.
146 The C# compiler has full constant folding implemented now and Ravi
147 killed bugs of bugs in the <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FClass+Libraries&product=Mono%2FMCS&product=Mono%2FRuntime&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&order=%27Importance%27&form_name=query">Mono Bug List</a>
151 RPMs of Mono 0.9 are available at <a href="http://mono.baselabs.org/#download">mono.baselabs.com</a>
156 href="http://lists.ximian.com/archives/public/mono-list/2002-February/003464.html">Christophe</a>
157 has setup his <a href="http://mono.baselabs.org">First Steps in Mono</a> web site, which
158 shows you a step-by-step process on getting Mono running on your system.
160 RPMs of Mono 0.9 are available at <a href="http://mono.baselabs.org/index.php/software/">mono.baselabs.org</a>
164 New <a href="class-status.html">class status</a> engine that
165 provides detailed information about missing functionality in
166 our class libraries. Nick built the cormissing tool and Piers
167 did the XSLT and DHTML magic.
169 More compiler progress on Linux: our support runtime now
170 enables the compiler to compile `MIS' on Linux (MIS being
171 Dick's Mono sample HTTP server ;-)
175 Paolo posted a list of <a
176 href="http://lists.ximian.com/archives/public/mono-list/2002-February/003266.html">ways
177 you can help</a> if you do not have Windows right now. Sergey followed up with
178 <a href="http://lists.ximian.com/archives/public/mono-list/2002-February/003268.html">his</a>
183 StrongARM port from Sergey Chaban has been checked into CVS.
187 SPARC: 44 out of 74 tests pass now (Jeff)
189 Power PC: delegates are working now (Radek)
193 <b>Mono 0.9 has been released!</b>
195 A new version of the runtime, compiler and class libraries has
196 been packaged for your download pleasure. The <a
197 href="archive/mono-0.9">Release Notes</a>
200 href="download.html#feb-22">Here</a> (quick links: <a
201 href="archive/mono-0.9.tar.gz">runtime</a> and <a
202 href="archive/mcs-0.9.tar.gz">compiler/classes</a>).
206 Paolo got our compiler natively to compile 117 of our tests.
207 Self hosting is closer every day.
209 Unsafe support is finished in the C# compiler.
213 Gaurav got DataGrid and DataGridItemCollection done.
215 C# compiler: Unsafe support is mostly complete (only stackalloc is missing).
217 New easy to run scripts for compiling Mono on Unix and Windows
218 is <a href="download.html">available</a>. We can now easily compile
219 Mono on Windows and Linux. If you had trouble before, use the
220 above scripts which will get the setup right for you.
222 There are now three machines that can provide AnonCVS, just
223 use anoncvs.go-mono.com as the hostname for your CVSROOT and
224 you will get one of the machines.
228 Do you want to see what <a href="http://people.debian.org/~lupus/mono/">Mono Looks Like?</a>
232 Application Domains now support the two LoaderOptimization
233 modes: share code or do not share code, and you can control
234 this with the --share-code command line option.
236 Paolo has now 100+ test cases run on Linux now with our class
239 PowerPC and SPARC ports are moving along (Radek and Jeff)
243 Excellent news since the 11th, here is a quick rundown:
245 AppDomains have been deployed (Dietmar). Socket work is done
246 (Dick). Corlib compiled with no refs to mscorlib (Dan). New
247 comprehensive tests for colib bits (David). Nick is driving the
248 regression test suite efforts and class library completeness.
249 New System.Data work (Chris). Bug fixes (Paolo, Duncan, Ravi, Miguel)
251 Miguel is off to the <a
252 href="http://www.fosdem.org">FOSDEM</a> conference in Brussels.
256 <b>Mono 0.8 has been released!</b>
258 A new version of the runtime, compiler and class libraries has
259 been packaged for your download pleasure.
262 href="download.html#feb-11">Here</a> (quick links: <a
263 href="archive/mono-0.8.tar.gz">runtime</a> and <a
264 href="archive/mcs-0.8.tar.gz">compiler/classes</a>)
268 We would like to welcome all the new developers that have
269 joined the project in the last couple of days. The classes
272 An explanation of the relationship between <a
273 href="http://mail.gnome.org/archives/gnome-hackers/2002-February/msg00031.html">GNOME
276 Nick is still leading our test suite platform. I can not
277 stress how important it is to have a good regression test suite
278 for our platform, as buggy class libraries are what are
279 stopping the compiler from running completely on Linux.
281 We are of course psyched to see Mono run on
282 non-Linux systems. Work is moving on native code generation
283 for StrongARM, PowerPC, and SPARC as well as porting Mono to
286 There are a couple of debates on the Mono list on implementing
287 a set of web server classes for <a
288 href="http://lists.ximian.com/archives/public/mono-list/2002-February/002911.html">enabling
292 href="http://lists.ximian.com/archives/public/mono-list/2002-February/002944.html">
293 posted a list of pending tasks</a> to enable the compiler to run on Linux
297 Mike Kestner has posted an <a
298 href="http://lists.ximian.com/archives/public/gtk-sharp-list/2002-February/000024.html">Update
299 on his Gtk#</a> activities.
304 href="http://lists.ximian.com/archives/public/mono-list/2002-February/002808.html">Qt
305 bindings</a> for .NET. Adam is cool.
309 Dan Lewis has contributed a major missing set of classes to
311 href="http://lists.ximian.com/archives/public/mono-list/2002-January/002745.html">
312 System.Text.RegularExpressions</a>.
314 This is a fully .NET compatible implementation of the .NET regular expressions,
315 fully Unicode aware. This contribution is very appreciated, as implementing this
316 was not entirely trivial (supporting Unicode, plus a regex engine which is a super
317 set of the Perl regex engine).
321 The Mono contributors have relicensed the Class Libraries under
323 <a href="http://www.opensource.org/licenses/mit-license.html">MIT X11</a> license.
325 This license is an Open Source license, and is used by other projects
326 (most notably, the XFree86 project).
328 The runtime (JIT, metadata library, interpreter) remains under
329 the LGPL and the C# compiler remains under the GPL.
332 href="http://www.ximian.com/about_us/press_center/press_releases/mono_partners.html">Press
336 href="http://news.com.com/2100-1001-823734.html">CNet</a>, <a
337 href="http://www.wired.com/news/technology/0,1282,50037-2,00.html">Wired</a>,
338 <a href="http://www.infoworld.com/articles/hn/xml/02/01/28/020128hnopennet.xml">InfoWorld</a>,
339 <a href="http://www.newsforge.com/article.pl?sid=02/01/27/2232231">NewsForge</a>.
343 New mailing list: <a href="mailto:mono-patches-request@ximian.com">mono-patches@ximian.com</a>.
344 This mailing list will receive automatically the patches that are submitted
345 to the Mono CVS to any of its modules.
347 This allows anyone who wants to participate in the peer-review of the
348 code submitted to CVS to receive patches on e-mail. It should also
349 expose to everyone the changes that are being done by the team every day.
353 Dick has got a simple web server running with Mono (`MIS: Mono
354 Internet Server') that is mostly used to test our IO layer, a
355 <a href="http://primates.ximian.com/~miguel/dick-mis-server.png">screenshot</a>
357 Paolo and Dietmar are busy making our runtime self sufficient on
358 non-Windows platforms.
360 C# compiler front: A lot of focus in the past weeks after
361 the C# became self hosting has been in making the compiler a useful
362 tool for development: improve error handling, provide better error
363 reports, fixing all known bugs, and finally profiling of the compiler
368 Our compiler has been self-supporting since January 3rd. In
369 the meantime, we have been busy working on making it run on
370 Linux. Today Paolo got more work done on Reflection.Emit and
371 the compiler compiled `console.cs' (a sample Mono program) on
376 Dietmar landed the Unicode support patch. Class libraries and
377 runtimes are now fully Unicode aware. The details are <a href=
378 "http://lists.ximian.com/archives/public/mono-list/2002-January/002409.html">
381 Last minute breaking news: Paolo got our compiler in Linux to
382 compile fib.cs, patches are comming tomorrow once we have
387 Mike Kestner posted an update on Gtk# <a
388 href="http://lists.ximian.com/archives/public/gtk-sharp-list/2002-January/000021.html"><i>New
389 year, new direction</i></a>.
391 Gtk# will be our foundation on which we will be implementing
392 System.Windows.Forms.
396 Mono C# compiler becomes self-sufficient. We can now continue
397 development of the compiler with itself.
399 Work on the class libraries is still underway for having a full
400 self hosting system. We hope to achieve our goal of self-hosting
401 on Linux before the end of the month.
403 Join the fun by downloading either tonight's <a
404 href="snapshots">snapshot</a> or getting your sources from our
405 <a href="anoncvs.html">Anonymous CVS server</a>.
409 After a lot of work, the C# compiler can compile itself.
410 There are still errors in the generated image, but they are
413 We will soon have the first non-Microsoft C# implementation!
417 JIT: More work on our IO abstraction layer (Dick).
419 JIT: exception handling for unmanaged code (Dietmar)
421 System.Reflection: Support for PropertyInfo and
422 PropertyBuilder as well as the various queries for MethodBase.
424 C#: Pre-processor; Rewrite of MemberLookup which fixed many of
425 the outstanding issues. More bug fixing allows it to compile
430 Dietmar has improved the register allocation and now Mono performs
431 two to three times as fast as it did yesterday. Amazing.
433 The compiler keeps moving along, explicit interface
434 implementation is there.
438 The JIT engine can now run all the compiler regression tests as
439 well as assorted other programs, many more opcodes added
440 recently. Currently the JIT engine uses a very simplistic register
441 allocator (just enough to allow us to focus on feature completeness)
442 and that will be the next major task to improve performance and
443 reduce spills and reloads.
445 On the C# compiler front: language features are now pretty
446 much complete. The big missing tasks are unsafe code support,
447 visibility, explicit interface implementation plus static flow
448 analysis. There are many small bugs that need to be addressed.
450 You can get your copy of the <a href="snapshots">latest Mono</a>
452 More work is also required on fixing the foundation class
453 libraries, it is easy to find spots now since Nick got the
458 AnonCVS access to Mono is here (updated every hour). Thanks
459 to <a href="http://www.hispalinux.es">HispaLinux</a> and Jesus
460 Climent for helping to set this up.
464 All tests from the mono runtime work with the JIT engine now
467 Recursive enumeration definition in the C# compiler are
470 More work on the Web classes (Gaurav).
474 JIT land: Paolo got GDB support into the JIT engine while
475 Dietmar added exceptions support to it.
477 The C# compiler supports all array initializations now, and the
478 switch statement as well as fixing many existing bugs. Many
481 Nick keeps working on improving our class library test suite.
483 Dick has almost completed the Mono IO layer.
488 Mike Kestner has posted an <a
489 href="http://lists.ximian.com/archives/public/gtk-sharp-list/2001-November/000015.html">update</a>
496 Paolo today got the Mono C# compiler running <a
497 href="http://lists.ximian.com/archives/public/mono-list/2001-November/001941.html">on
498 Linux</a>. It compiles a sample program and then the sample
501 Mutator unary operators (++ and --) in the compiler are fully
502 functional, they used to only work on variables, and now they
505 To sum things up: The Mono C# compiler is written in C# and
506 uses the .NET classes to get its work done. To make this work
507 on Linux work has to happen in various fronts:
509 * The C# compiler is being worked on and can compile
510 many programs now (our test suite at this point is
511 made up of 40 tests).
513 * The class libraries need to be mature enough to support
514 the compiler, particularly System.Reflection.Emit (which is
515 what Paolo has been working on lately).
517 The compiler currently requires 103 classes from the
518 .NET runtime (you can get the list by running: <b>monodis --typeref mcs.exe</b>
520 * The interpreter should be mature enough to run the actual
521 compiler byte codes and the corlib bytecodes.
524 At the same time, Dietmar is working on the JIT engine which will
525 replace our interpreter in production.
531 Dietmar got value types working on the JIT engine. Sean has
532 got assembly loading in the runtime (required for NUnit).
534 More progress on enumerations and attributes from Ravi.
536 Nick keeps working on improving our class libraries.
542 Enumerations, array access and attributes for the C# compiler are into the CVS now.
544 Full array support is not complete, but moving along.
550 Dietmar's new set of patches to the JIT have 20 out of 33
557 Mike Kestner, main Gtk# contributor has posted a very interesting <a
558 href="http://lists.ximian.com/archives/public/gtk-sharp-list/2001-November/000013.html">
559 update</a> on his work on Gtk#.
561 Ravi commited the initial support for Attributes in the
564 Many HTML Controls from Leen checked into CVS.
566 Paolo checked in his new System.Reflection and
567 System.Reflection.Emit implementations. He has been working
568 steadily on this huge task for a few weeks now. This is the
569 foundation for the Mono C# compiler, and hence a very
570 important piece of the puzzle.
576 Many clean ups have been going into the class library by Nick Drochak.
578 Mega patch from Dietmar: he commited the flow analysis code
581 A lot of work has been going into the WebControls by Gaurav (4
582 new controls plus improved and bug fixed base classes).
588 Ravi commited the caller-side method selection of methods with
589 variable length arguments. Now he depends on Miguel finishing
590 the array handling support.
596 Lots of classes for System.Web from Gaurav were commited this
599 Some large recent developments:
601 The Decimal implementation from Martin Weindel has been
602 partially integrated (we need to put the internalcalls in
603 place now and compile and link the decimal code).
605 Derek Holden commited recently the IntegerFormatter code into
606 the CVS, so we got a pretty comprehensive integer formatting
607 engine that we can finally use all over the place.
609 Compiler got support for lock as well as assorted bug fixes.
610 Ravi is still working on array support (and then we can
611 optimize foreach for the array case).
613 Dietmar is busy working on flow analysis on the JITer, the
614 previous mechanism of generating the forest was wrong. Paolo
615 has been a busy bee reworking the System.Reflection.Emit
616 support code, and we should have some pretty nice stuff next
617 week. Dick on the other hand is still working on the
618 WaitOne/WaitAll emulation code. WaitAll is like select on
619 steroids: it can wait for different kinds of objects: files,
620 mutexes, events and a couple of others.
622 Mike Kestner is busy working on Gtk# which is now using the
623 .defs files to quickly wrap the API.
629 Reworking expressions to support cleanly indexers and
630 properties. <a href="http://www.nat.org/evolution.php3">11
631 days</a> until Evolution 1.0 ships.
633 Ximian users around the world <!--a
634 href="http://www.bez.it/IMAGES/nora.jpg"-->rejoice<!--/a--> with
635 recent C# compiler progress.
641 Delegate support has been checked into the compiler
642 (definition and invocation); break/continue implemented.
648 JIT engine supports many of the object constructs now (object
649 creation, vtable setup, interface table setup).
651 The C# compiler now has almost full property support (only
652 missing bit are pre-post increment/decrement operations),
653 delegates are now created (still missing delegate invocation).
654 try/catch/finally is also supported in the compiler now.
656 System.Decimal implementation is in, as well as many crypto
663 Sergey has released his first version of the <b>ilasm</b>
664 assembler written in C#. You can get it from his web page:
666 href="http://mono.eurosoft.od.ua">http://mono.eurosoft.od.ua</a>.
668 The plan is to integrate ildasm into the Mono CVS soon. This
669 component should in theory also be reusable for SharpDevelop
676 Our System.Reflection.Emit implementation created its first
677 executable today. This means that a very simple .NET program
678 that was compiled on Windows was able to generate a .NET program
679 while running on Linux using the Mono runtime.
681 The various piece of the puzzle are starting to get together:
682 the compiler can compile simple programs now and we are
683 basically focusing on completeness now.
690 href="http://www.icsharpcode.net/OpenSource/SD/default.asp">Sharp
691 Develop 0.80</a> was released today.
697 More progress: more opcodes are working (Paolo); The compiler
698 runs up to a point in Mint (Paolo); operator overloading works
699 (both unary and binary) all over the place (Miguel); Completed decimal
700 type conversions (Miguel); New build system in place based on
701 Ant (Sean and Sergey); Refactored and documented the
702 internals of the JIT engine (Dietmar); StatementExpressions
703 handled correctly (Miguel).
709 A couple of news-worthy items: Dick got the initial thread
710 support into mint; Paolo implemented many new opcodes; Dietmar
711 got long operations and mul/div working on the JITer; Ravi rewrote
712 the Method selector for expressions to be conformant; Miguel
713 got i++ working. All in tonight's snapshot
719 Paolo has written a section on <a href="porting.html">Porting
720 Mono</a> to othre architectures.
726 <A a href="download.html#sep-18">Mono 0.7</a> has been
727 released (runtime engine, class libraries
728 and C# compiler). Check the <a href="archive/mono-0.7">Mono
729 0.7 announcement</a> for details
735 Mike Kestner's Gtk# (Gtk-sharp) was checked into the CVS
736 repository. Gtk# can run a simple hello world application.
737 The binding is nice, as it maps Gtk+ signals to delegates in
738 C#. You can see the Gtk# Hello World program <a href="src/HelloWorld.cs">here</a>
740 Gtk-sharp should be available on the next snapshot set.
746 Dietmar checked in his CIL tree/forest regeneration and most
747 importantly, the x86 instruction selector burg grammar.
754 The MCS compiler <b>can compile the sample Hello World</b>
755 application and generate a Windows/CIL executable that runs!
757 This executable runs with the Mono Interpreter of course (see
764 Dietmar checked into CVS the `monoburg' architecture
765 independent instruction selector for the JIT engine.
771 <b>.NET Hello World is working under Mono!</b> The latest snapshots
774 Hello World consits of 1821 CIL instructions,
775 performs 66 subroutine calls and loads 12 classes from the corlib.dll
783 Lloyd Dupont has announced his OpenGL bindings for C#, they
784 are available here: <a
785 href="http://csgl.sourceforge.net">http://csgl.sourceforge.net</a>
791 New version of the Mono Runtime, Compiler and Classes has been
793 href="download.html#august-22">released.</a> Check the <a
794 href="archive/mono-0.6">0.6 announcement</a>.
800 A new <a href="contributing.html#compile-service">Compilation
801 service</a> has been made available by Derek to allow people
802 without access to the <a
803 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>
809 Daily snapshots of mcs and mono are now available, they will
810 run every night at 10pm Boston time.
816 Mono Runtime 0.5 has been <a
817 href="download.html#july-29">released.</a> Check the <a
818 href="archive/mono-0.5">release notes</a>
824 The slides for <A href="Presentations/O-Reilly">my
825 presentation</a> at <a href="http://www.oreilly.com">O'Reilly
826 Open Source Software Convention</a>
832 Another release of the class libraries is out, check the <a
833 href="archive/mcs-22">MCS 22-July Release Notes</a>. You can
834 get the new class libraries from <a
835 href="download.html#july-22">here</a>
841 Another release of the class libraries is out, check the <a
842 href="archive/mcs-19">MCS 19-July Release Notes</a>. You can
843 get the new class libraries from <a
844 href="download.html#july-19">here</a>
850 Another release of the class libraries is out, check the <a
851 href="archive/mcs-17">MCS 17-July Release Notes</a>. You can
852 get the new class libraries from <a
853 href="download.html#july-17">here</a>
855 Do not forget to check out the updated <a href="faq.html">FAQ</a>.
857 Got Sean's new <a href="class-status/index.html">Class
858 Status</a> web pages up. These are a lot better than mine, and
859 we are now keeping better track of contributors.
865 Another release of Mono is out, check the <a
866 href="archive/mono-0.4">Mono 0.4 Release Notes</a>. Get it <a
867 href="download.html#july-15">here</a>.
874 href="http://lists.ximian.com/archives/public/mono-list/2001-July/000399.html">new
876 runtime, compiler and classes has been made. Get it <a href="download.html#july-14">here</a>
882 I keep getting questions about my opinion on Passport, even when
883 Mono has <b>nothing</b> to do with it. I finally <a
884 href="passport.html">wrote something.</a>
896 Brian posted a story on <a
897 href="http://www.oreillynet.com/dotnet">O'Reilly Network .NET</a>