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 New <a href="class-status.html">class status</a> engine that
75 provides detailed information about missing functionality in
76 our class libraries. Nick built the cormissing tool and Piers
77 did the XSLT and DHTML magic.
79 More compiler progress on Linux: our support runtime now
80 enables the compiler to compile `MIS' on Linux (MIS being
81 Dick's Mono sample HTTP server ;-)
85 Paolo posted a list of <a
86 href="http://lists.ximian.com/archives/public/mono-list/2002-February/003266.html">ways
87 you can help</a> if you do not have Windows right now. Sergey followed up with
88 <a href="http://lists.ximian.com/archives/public/mono-list/2002-February/003268.html">his</a>
93 StrongARM port from Sergey Chaban has been checked into CVS.
97 SPARC: 44 out of 74 tests pass now (Jeff)
99 Power PC: delegates are working now (Radek)
103 <b>Mono 0.9 has been released!</b>
105 A new version of the runtime, compiler and class libraries has
106 been packaged for your download pleasure. The <a
107 href="archive/mono-0.9">Release Notes</a>
110 href="download.html#feb-22">Here</a> (quick links: <a
111 href="archive/mono-0.9.tar.gz">runtime</a> and <a
112 href="archive/mcs-0.9.tar.gz">compiler/classes</a>).
116 Paolo got our compiler natively to compile 117 of our tests.
117 Self hosting is closer every day.
119 Unsafe support is finished in the C# compiler.
123 Gaurav got DataGrid and DataGridItemCollection done.
125 C# compiler: Unsafe support is mostly complete (only stackalloc is missing).
127 New easy to run scripts for compiling Mono on Unix and Windows
128 is <a href="download.html">available</a>. We can now easily compile
129 Mono on Windows and Linux. If you had trouble before, use the
130 above scripts which will get the setup right for you.
132 There are now three machines that can provide AnonCVS, just
133 use anoncvs.go-mono.com as the hostname for your CVSROOT and
134 you will get one of the machines.
138 Do you want to see what <a href="http://people.debian.org/~lupus/mono/">Mono Looks Like?</a>
142 Application Domains now support the two LoaderOptimization
143 modes: share code or do not share code, and you can control
144 this with the --share-code command line option.
146 Paolo has now 100+ test cases run on Linux now with our class
149 PowerPC and SPARC ports are moving along (Radek and Jeff)
153 Excellent news since the 11th, here is a quick rundown:
155 AppDomains have been deployed (Dietmar). Socket work is done
156 (Dick). Corlib compiled with no refs to mscorlib (Dan). New
157 comprehensive tests for colib bits (David). Nick is driving the
158 regression test suite efforts and class library completeness.
159 New System.Data work (Chris). Bug fixes (Paolo, Duncan, Ravi, Miguel)
161 Miguel is off to the <a
162 href="http://www.fosdem.org">FOSDEM</a> conference in Brussels.
166 <b>Mono 0.8 has been released!</b>
168 A new version of the runtime, compiler and class libraries has
169 been packaged for your download pleasure.
172 href="download.html#feb-11">Here</a> (quick links: <a
173 href="archive/mono-0.8.tar.gz">runtime</a> and <a
174 href="archive/mcs-0.8.tar.gz">compiler/classes</a>)
178 We would like to welcome all the new developers that have
179 joined the project in the last couple of days. The classes
182 An explanation of the relationship between <a
183 href="http://mail.gnome.org/archives/gnome-hackers/2002-February/msg00031.html">GNOME
186 Nick is still leading our test suite platform. I can not
187 stress how important it is to have a good regression test suite
188 for our platform, as buggy class libraries are what are
189 stopping the compiler from running completely on Linux.
191 We are of course psyched to see Mono run on
192 non-Linux systems. Work is moving on native code generation
193 for StrongARM, PowerPC, and SPARC as well as porting Mono to
196 There are a couple of debates on the Mono list on implementing
197 a set of web server classes for <a
198 href="http://lists.ximian.com/archives/public/mono-list/2002-February/002911.html">enabling
202 href="http://lists.ximian.com/archives/public/mono-list/2002-February/002944.html">
203 posted a list of pending tasks</a> to enable the compiler to run on Linux
207 Mike Kestner has posted an <a
208 href="http://lists.ximian.com/archives/public/gtk-sharp-list/2002-February/000024.html">Update
209 on his Gtk#</a> activities.
214 href="http://lists.ximian.com/archives/public/mono-list/2002-February/002808.html">Qt
215 bindings</a> for .NET. Adam is cool.
219 Dan Lewis has contributed a major missing set of classes to
221 href="http://lists.ximian.com/archives/public/mono-list/2002-January/002745.html">
222 System.Text.RegularExpressions</a>.
224 This is a fully .NET compatible implementation of the .NET regular expressions,
225 fully Unicode aware. This contribution is very appreciated, as implementing this
226 was not entirely trivial (supporting Unicode, plus a regex engine which is a super
227 set of the Perl regex engine).
231 The Mono contributors have relicensed the Class Libraries under
233 <a href="http://www.opensource.org/licenses/mit-license.html">MIT X11</a> license.
235 This license is an Open Source license, and is used by other projects
236 (most notably, the XFree86 project).
238 The runtime (JIT, metadata library, interpreter) remains under
239 the LGPL and the C# compiler remains under the GPL.
242 href="http://www.ximian.com/about_us/press_center/press_releases/mono_partners.html">Press
246 href="http://news.com.com/2100-1001-823734.html">CNet</a>, <a
247 href="http://www.wired.com/news/technology/0,1282,50037-2,00.html">Wired</a>,
248 <a href="http://www.infoworld.com/articles/hn/xml/02/01/28/020128hnopennet.xml">InfoWorld</a>,
249 <a href="http://www.newsforge.com/article.pl?sid=02/01/27/2232231">NewsForge</a>.
253 New mailing list: <a href="mailto:mono-patches-request@ximian.com">mono-patches@ximian.com</a>.
254 This mailing list will receive automatically the patches that are submitted
255 to the Mono CVS to any of its modules.
257 This allows anyone who wants to participate in the peer-review of the
258 code submitted to CVS to receive patches on e-mail. It should also
259 expose to everyone the changes that are being done by the team every day.
263 Dick has got a simple web server running with Mono (`MIS: Mono
264 Internet Server') that is mostly used to test our IO layer, a
265 <a href="http://primates.ximian.com/~miguel/dick-mis-server.png">screenshot</a>
267 Paolo and Dietmar are busy making our runtime self sufficient on
268 non-Windows platforms.
270 C# compiler front: A lot of focus in the past weeks after
271 the C# became self hosting has been in making the compiler a useful
272 tool for development: improve error handling, provide better error
273 reports, fixing all known bugs, and finally profiling of the compiler
278 Our compiler has been self-supporting since January 3rd. In
279 the meantime, we have been busy working on making it run on
280 Linux. Today Paolo got more work done on Reflection.Emit and
281 the compiler compiled `console.cs' (a sample Mono program) on
286 Dietmar landed the Unicode support patch. Class libraries and
287 runtimes are now fully Unicode aware. The details are <a href=
288 "http://lists.ximian.com/archives/public/mono-list/2002-January/002409.html">
291 Last minute breaking news: Paolo got our compiler in Linux to
292 compile fib.cs, patches are comming tomorrow once we have
297 Mike Kestner posted an update on Gtk# <a
298 href="http://lists.ximian.com/archives/public/gtk-sharp-list/2002-January/000021.html"><i>New
299 year, new direction</i></a>.
301 Gtk# will be our foundation on which we will be implementing
302 System.Windows.Forms.
306 Mono C# compiler becomes self-sufficient. We can now continue
307 development of the compiler with itself.
309 Work on the class libraries is still underway for having a full
310 self hosting system. We hope to achieve our goal of self-hosting
311 on Linux before the end of the month.
313 Join the fun by downloading either tonight's <a
314 href="snapshots">snapshot</a> or getting your sources from our
315 <a href="anoncvs.html">Anonymous CVS server</a>.
319 After a lot of work, the C# compiler can compile itself.
320 There are still errors in the generated image, but they are
323 We will soon have the first non-Microsoft C# implementation!
327 JIT: More work on our IO abstraction layer (Dick).
329 JIT: exception handling for unmanaged code (Dietmar)
331 System.Reflection: Support for PropertyInfo and
332 PropertyBuilder as well as the various queries for MethodBase.
334 C#: Pre-processor; Rewrite of MemberLookup which fixed many of
335 the outstanding issues. More bug fixing allows it to compile
340 Dietmar has improved the register allocation and now Mono performs
341 two to three times as fast as it did yesterday. Amazing.
343 The compiler keeps moving along, explicit interface
344 implementation is there.
348 The JIT engine can now run all the compiler regression tests as
349 well as assorted other programs, many more opcodes added
350 recently. Currently the JIT engine uses a very simplistic register
351 allocator (just enough to allow us to focus on feature completeness)
352 and that will be the next major task to improve performance and
353 reduce spills and reloads.
355 On the C# compiler front: language features are now pretty
356 much complete. The big missing tasks are unsafe code support,
357 visibility, explicit interface implementation plus static flow
358 analysis. There are many small bugs that need to be addressed.
360 You can get your copy of the <a href="snapshots">latest Mono</a>
362 More work is also required on fixing the foundation class
363 libraries, it is easy to find spots now since Nick got the
368 AnonCVS access to Mono is here (updated every hour). Thanks
369 to <a href="http://www.hispalinux.es">HispaLinux</a> and Jesus
370 Climent for helping to set this up.
374 All tests from the mono runtime work with the JIT engine now
377 Recursive enumeration definition in the C# compiler are
380 More work on the Web classes (Gaurav).
384 JIT land: Paolo got GDB support into the JIT engine while
385 Dietmar added exceptions support to it.
387 The C# compiler supports all array initializations now, and the
388 switch statement as well as fixing many existing bugs. Many
391 Nick keeps working on improving our class library test suite.
393 Dick has almost completed the Mono IO layer.
398 Mike Kestner has posted an <a
399 href="http://lists.ximian.com/archives/public/gtk-sharp-list/2001-November/000015.html">update</a>
406 Paolo today got the Mono C# compiler running <a
407 href="http://lists.ximian.com/archives/public/mono-list/2001-November/001941.html">on
408 Linux</a>. It compiles a sample program and then the sample
411 Mutator unary operators (++ and --) in the compiler are fully
412 functional, they used to only work on variables, and now they
415 To sum things up: The Mono C# compiler is written in C# and
416 uses the .NET classes to get its work done. To make this work
417 on Linux work has to happen in various fronts:
419 * The C# compiler is being worked on and can compile
420 many programs now (our test suite at this point is
421 made up of 40 tests).
423 * The class libraries need to be mature enough to support
424 the compiler, particularly System.Reflection.Emit (which is
425 what Paolo has been working on lately).
427 The compiler currently requires 103 classes from the
428 .NET runtime (you can get the list by running: <b>monodis --typeref mcs.exe</b>
430 * The interpreter should be mature enough to run the actual
431 compiler byte codes and the corlib bytecodes.
434 At the same time, Dietmar is working on the JIT engine which will
435 replace our interpreter in production.
441 Dietmar got value types working on the JIT engine. Sean has
442 got assembly loading in the runtime (required for NUnit).
444 More progress on enumerations and attributes from Ravi.
446 Nick keeps working on improving our class libraries.
452 Enumerations, array access and attributes for the C# compiler are into the CVS now.
454 Full array support is not complete, but moving along.
460 Dietmar's new set of patches to the JIT have 20 out of 33
467 Mike Kestner, main Gtk# contributor has posted a very interesting <a
468 href="http://lists.ximian.com/archives/public/gtk-sharp-list/2001-November/000013.html">
469 update</a> on his work on Gtk#.
471 Ravi commited the initial support for Attributes in the
474 Many HTML Controls from Leen checked into CVS.
476 Paolo checked in his new System.Reflection and
477 System.Reflection.Emit implementations. He has been working
478 steadily on this huge task for a few weeks now. This is the
479 foundation for the Mono C# compiler, and hence a very
480 important piece of the puzzle.
486 Many clean ups have been going into the class library by Nick Drochak.
488 Mega patch from Dietmar: he commited the flow analysis code
491 A lot of work has been going into the WebControls by Gaurav (4
492 new controls plus improved and bug fixed base classes).
498 Ravi commited the caller-side method selection of methods with
499 variable length arguments. Now he depends on Miguel finishing
500 the array handling support.
506 Lots of classes for System.Web from Gaurav were commited this
509 Some large recent developments:
511 The Decimal implementation from Martin Weindel has been
512 partially integrated (we need to put the internalcalls in
513 place now and compile and link the decimal code).
515 Derek Holden commited recently the IntegerFormatter code into
516 the CVS, so we got a pretty comprehensive integer formatting
517 engine that we can finally use all over the place.
519 Compiler got support for lock as well as assorted bug fixes.
520 Ravi is still working on array support (and then we can
521 optimize foreach for the array case).
523 Dietmar is busy working on flow analysis on the JITer, the
524 previous mechanism of generating the forest was wrong. Paolo
525 has been a busy bee reworking the System.Reflection.Emit
526 support code, and we should have some pretty nice stuff next
527 week. Dick on the other hand is still working on the
528 WaitOne/WaitAll emulation code. WaitAll is like select on
529 steroids: it can wait for different kinds of objects: files,
530 mutexes, events and a couple of others.
532 Mike Kestner is busy working on Gtk# which is now using the
533 .defs files to quickly wrap the API.
539 Reworking expressions to support cleanly indexers and
540 properties. <a href="http://www.nat.org/evolution.php3">11
541 days</a> until Evolution 1.0 ships.
543 Ximian users around the world <!--a
544 href="http://www.bez.it/IMAGES/nora.jpg"-->rejoice<!--/a--> with
545 recent C# compiler progress.
551 Delegate support has been checked into the compiler
552 (definition and invocation); break/continue implemented.
558 JIT engine supports many of the object constructs now (object
559 creation, vtable setup, interface table setup).
561 The C# compiler now has almost full property support (only
562 missing bit are pre-post increment/decrement operations),
563 delegates are now created (still missing delegate invocation).
564 try/catch/finally is also supported in the compiler now.
566 System.Decimal implementation is in, as well as many crypto
573 Sergey has released his first version of the <b>ilasm</b>
574 assembler written in C#. You can get it from his web page:
576 href="http://mono.eurosoft.od.ua">http://mono.eurosoft.od.ua</a>.
578 The plan is to integrate ildasm into the Mono CVS soon. This
579 component should in theory also be reusable for SharpDevelop
586 Our System.Reflection.Emit implementation created its first
587 executable today. This means that a very simple .NET program
588 that was compiled on Windows was able to generate a .NET program
589 while running on Linux using the Mono runtime.
591 The various piece of the puzzle are starting to get together:
592 the compiler can compile simple programs now and we are
593 basically focusing on completeness now.
600 href="http://www.icsharpcode.net/OpenSource/SD/default.asp">Sharp
601 Develop 0.80</a> was released today.
607 More progress: more opcodes are working (Paolo); The compiler
608 runs up to a point in Mint (Paolo); operator overloading works
609 (both unary and binary) all over the place (Miguel); Completed decimal
610 type conversions (Miguel); New build system in place based on
611 Ant (Sean and Sergey); Refactored and documented the
612 internals of the JIT engine (Dietmar); StatementExpressions
613 handled correctly (Miguel).
619 A couple of news-worthy items: Dick got the initial thread
620 support into mint; Paolo implemented many new opcodes; Dietmar
621 got long operations and mul/div working on the JITer; Ravi rewrote
622 the Method selector for expressions to be conformant; Miguel
623 got i++ working. All in tonight's snapshot
629 Paolo has written a section on <a href="porting.html">Porting
630 Mono</a> to othre architectures.
636 <A a href="download.html#sep-18">Mono 0.7</a> has been
637 released (runtime engine, class libraries
638 and C# compiler). Check the <a href="archive/mono-0.7">Mono
639 0.7 announcement</a> for details
645 Mike Kestner's Gtk# (Gtk-sharp) was checked into the CVS
646 repository. Gtk# can run a simple hello world application.
647 The binding is nice, as it maps Gtk+ signals to delegates in
648 C#. You can see the Gtk# Hello World program <a href="src/HelloWorld.cs">here</a>
650 Gtk-sharp should be available on the next snapshot set.
656 Dietmar checked in his CIL tree/forest regeneration and most
657 importantly, the x86 instruction selector burg grammar.
664 The MCS compiler <b>can compile the sample Hello World</b>
665 application and generate a Windows/CIL executable that runs!
667 This executable runs with the Mono Interpreter of course (see
674 Dietmar checked into CVS the `monoburg' architecture
675 independent instruction selector for the JIT engine.
681 <b>.NET Hello World is working under Mono!</b> The latest snapshots
684 Hello World consits of 1821 CIL instructions,
685 performs 66 subroutine calls and loads 12 classes from the corlib.dll
693 Lloyd Dupont has announced his OpenGL bindings for C#, they
694 are available here: <a
695 href="http://csgl.sourceforge.net">http://csgl.sourceforge.net</a>
701 New version of the Mono Runtime, Compiler and Classes has been
703 href="download.html#august-22">released.</a> Check the <a
704 href="archive/mono-0.6">0.6 announcement</a>.
710 A new <a href="contributing.html#compile-service">Compilation
711 service</a> has been made available by Derek to allow people
712 without access to the <a
713 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>
719 Daily snapshots of mcs and mono are now available, they will
720 run every night at 10pm Boston time.
726 Mono Runtime 0.5 has been <a
727 href="download.html#july-29">released.</a> Check the <a
728 href="archive/mono-0.5">release notes</a>
734 The slides for <A href="Presentations/O-Reilly">my
735 presentation</a> at <a href="http://www.oreilly.com">O'Reilly
736 Open Source Software Convention</a>
742 Another release of the class libraries is out, check the <a
743 href="archive/mcs-22">MCS 22-July Release Notes</a>. You can
744 get the new class libraries from <a
745 href="download.html#july-22">here</a>
751 Another release of the class libraries is out, check the <a
752 href="archive/mcs-19">MCS 19-July Release Notes</a>. You can
753 get the new class libraries from <a
754 href="download.html#july-19">here</a>
760 Another release of the class libraries is out, check the <a
761 href="archive/mcs-17">MCS 17-July Release Notes</a>. You can
762 get the new class libraries from <a
763 href="download.html#july-17">here</a>
765 Do not forget to check out the updated <a href="faq.html">FAQ</a>.
767 Got Sean's new <a href="class-status/index.html">Class
768 Status</a> web pages up. These are a lot better than mine, and
769 we are now keeping better track of contributors.
775 Another release of Mono is out, check the <a
776 href="archive/mono-0.4">Mono 0.4 Release Notes</a>. Get it <a
777 href="download.html#july-15">here</a>.
784 href="http://lists.ximian.com/archives/public/mono-list/2001-July/000399.html">new
786 runtime, compiler and classes has been made. Get it <a href="download.html#july-14">here</a>
792 I keep getting questions about my opinion on Passport, even when
793 Mono has <b>nothing</b> to do with it. I finally <a
794 href="passport.html">wrote something.</a>
806 Brian posted a story on <a
807 href="http://www.oreillynet.com/dotnet">O'Reilly Network .NET</a>