3 Version 0.16 of Mono has been released! This is mostly a bug
4 fix release, a lot of work has been going on to make existing
5 features more robust and less buggy. Also, contributions are
6 too varied, so it is hard to classify them in groups.
10 795 commits to mono and mcs since August 23rd.
14 The changes that got in this releases are mostly
15 bugfixes. Miguel, Martin and Ravi attacked lots of bugs in the
16 compiler, Dick fixed a bunch of bugs related to processes and
17 threads. Mark Crichton resumed his work on the SPARC port and
18 made lots of progress there. Juli Mallett has been working on
19 making sure Mono also builds on BSD systems. As usual, Dietmar
20 and Paolo supplied their continuous stream of fixes to the
23 Dietmar has completed the work on the runtime side for
24 remoting support and we ship now with a sample channel, the
25 System.Runtime.Remoting.Sample. This can be used as a
26 reference implementation for anyone interested in implementing
27 other channels (like a CORBA channel).
29 Duncan got preliminary XSLT support done by using
32 Gonzalo (with some help from Patrik) has been working hard
33 making our ASP.NET implementation work on both Mono and MS by
34 migrating the existing xsp code to the class library. Gaurav
35 started working on the classes in System.Design.dll and Chris
36 Toshok checked in Mono.Directory.LDAP, which will be the
37 foundation to implement the System.DirectoryServices assembly.
39 Various fixes from Kral, Jason, Piers and Gonzalo were
40 committed to System.Xml; Martin Algiers reports that the
41 upcoming NAnt release will be fully compatible with Mono.
43 Miguel imported Sergey Chaban's Mono.PEToolkit and ilasm code
44 to CVS. Nick, as always, continues to refine our testing
45 framework by improving our tests. Andrew Birkett continues to
46 improve the implementation of our security/cryptographic
47 classes. Jonathan Pryor contributed type-reflector the our
50 * Other News From Behind de Curtain.
52 While the above is pretty impressive on its own, various other
53 non-released portions of Mono have been undergoing: Adam Treat
54 has been leading the effort to document our class libraries
55 and produce the tools required for it.
57 Martin Baulig has been working on the Mono Debugger which is
58 not being released yet. This debugger allows both native
59 Linux application as well as CIL applications to be debugged
60 at the same time (and in fact, you can use this to debug the
61 JIT engine). The debugger is written in C# with some C glue
63 In the meant A new JIT engine is under development, focused on
64 adding more of the high-end optimizations which will be
65 integrated on an ahead-of-time-compiler. Dietmar and Paolo
66 have been working on this.
68 * Contributors to this release
70 * Non-Ximian developers: Adam Treat, Andrew Birkett, Dennis
71 Hayes, Diego Sevilla, Franklin Wise, Gaurav Vaish ,Jason
72 Diamond, Johannes Roith, John Sohn, Jonathan Pryor, Juli
73 Mallett, Kral Ferch, Mike Crichton, Nick Drochak, Nick
74 Zigarovich, Piers Haken, Rafael Teixeira, Ricardo Fernandez
75 Pascual, Sergey Chaban, Tim Coleman.
77 * Ximian developers: Dietmar, Paolo, Dick, Duncan, Ravi,
78 Miguel, Martin, Chris, Joe, Gonzalo, Rodrigo.
81 ---------------------------------------------------------------------------------
82 * Sergey Chaban added thread-safe support to
83 System.Collections.SortedList.
85 * Fixes to the compiler by Andrew Birkett.
87 * Tim Coleman contributed the OleDb provider for System.Data and started
88 work on System.Web.Services.
90 * Radek fixed a lot of problems on the PPC side. [*]
92 * Miguel and Martin committed the new type lookup system.
94 * Dietmar rewrote the marshalling code. [*]
96 * Peter Williams and Martin contributed the new Makefiles, with help
97 from Alp Toker as well.
99 * Contributors to this release:
101 * Non-Ximian developers: Nick Drochak, Martin Baulig, Tim
102 Coleman, Mike Kestner, Alp Toker, Jonathan Pryor, Jaime
103 Anguiano, Piers Haken, Rafael Teixeira, Mark Crichton,
104 Sergey Chabon, Ajay Kumar Dwivedi, Andrew Birkett, Dennis
105 Hayes (SWF), Adam Treat, Johannes Roith and Lawrence Pit.
107 * Ximian developers: Duncan, Ravi, Dick, Dietmar, Paolo,
108 Gonzalo, Rachel, Radek, Rodrigo, Jeff, Peter Williams and
111 Special thanks to Duncan for helping me put this release together.
115 A new version of Mono (0.12), is out.
117 Mono is an open source implementation of the Microsoft.NET
118 Framework, and ships with a C# compiler, a runtime engine
119 (with a JIT on x86 cpus) and a set of class libraries.
121 Mono is know to work on a number of platforms:
122 x86/Linux, x86/Windows, x86/FreeBSD; sparc/solaris;
123 linuxppc/linux; strongarm/linux.
125 There have been many changes since the last release of Mono in
126 late April, thanks to Duncan for assembling the list of new
127 features, any omissions are my fault.
131 It is hard to keep track of the changes, as there are 1632
132 patches that were posted to the mailing list. One third of
133 the total number of patches since we opened mono-patches
134 list. I am sure I missed some stuff and probably missed some
135 contributors. I apologize in advance.
139 Paolo: New Reflection.Emit generation code generates
140 code that can be executed in Windows. Now binaries
141 generated by Mono/MCS will run on Windows.
143 Paolo got Activator.CreateInstance to work.
145 Sergey's CPU-optimization for CPBLK.
147 Many many bug fixes to the runtime from Dick, Dan
148 Lewis, Dietmar, Gonzalo, Martin, Paolo, Radek and Sergey,
152 Many bug fixes: The compiler can now compile Gtk#,
153 Vorbis#, System.Data assembly and System.Xml assembly
154 which previously did not work (Dietmar, Miguel, Paolo,
155 Piers, Ravi, Miguel). Thanks to all the bug
160 Mike started work on System.Xml.XPath
162 Christian, Dennis, Daniel and friends got more stubs
163 for System.Windows.Forms in.
165 Ajay revamped System.Xml.Schema. And Jason and Duncan
168 Daniel also checked in a working CodeDOM
169 implementation and a C# provider.
171 Many bug fixes by everyone. Thanks to Daniel, Duncan,
172 Jonathan, Lawrence, Martin Mike, Nick and Piers. I am
173 missing a lot of contributors that should be listed.
177 A lot of work from Gonzalo allows some small and
178 modest ASP.NET applications to run (you still need the
179 unreleased XSP code though).
183 Integrated the MySQL provider from Brad Merryl.
185 Lots of work by Dan, Rodrigo, Tim.
187 Microsoft.VisualBasic runtime support
189 Rafael and Chris have been working on the VisualBasic
196 This new version has new features:
200 * Ultrich Kunitz implemented the whole calendar set of
201 classes. Yes, thats right. The whole thing, with a
202 complete test suite. Thanks Ultrich!
204 * JIT/runtime features:
206 * Martin's debugging framework is included (see web
207 site for details on how to use it). (Martin)
209 * Transparent Proxy has been implemented for the
210 runtime (lets you run/debug/hack on remoting for Mono) (Dietmar)
212 * Inline and constant folding/propagation support
213 in the JIT engine (Dietmar)
215 * Profiling support for the JIT engine (--profile).
217 * Cool runtime hacks, that made our compiler twice as fast:
219 * New string rewrite: faster, speedier, leaner, cooler!
221 Paolo had been talking about a new string rewrite,
222 and super hacker Patrik Torstensson started the
223 implementation, Dietmar then switched the object
224 layout and the Mono team helped iron out a few of
227 * New array reprensetation: Dan Lewis contributed a new
228 faster and smaller array implementation.
230 * Improved Reflection.Emit: Paolo improved our
231 reflection emit code.
235 * Daniel Morgan, Rodrigo Moya have some pieces of the
236 Sql classes ready to run. he first signs of life
237 this week (we can connect, insert rows; do transactions:
238 commit/rollback; SQL errors and exceptions work).
242 * The HTTP runtime (to be used by our ASP.NET implementation)
243 was contributed by Patrik Torstensson. Patrik not only
244 contributed a massive ammount of classes, but he immediately
245 went on to implement ThreadPools and then helped out with the
250 * Kral Ferch and Duncan Mak contributed more
251 improvements to the XML implementation.
253 * Work on Xml Serialization from John Donagher.
257 * MonoDoc ships for the first time!
258 (John Barnette, Adam Treat and John Sohn)
260 * New documentation stubs ready to be filled, and translated
261 included (thanks to our doc team!)
265 * Piers Haken fixed many of our attributes and many
266 little problems that were exposed by his CorCompare tool
268 * Many Mono C# compiler bug fixes.
270 * Other improvements:
272 * NUnit works on Linux! (Patrik Torstensson)
274 * More NUnit tests (Nick Drochak)
276 * Windows.Forms progress: Dennis Hayes and Christian
277 Meyer have been contributing stubs for the
280 * Full Parse implementations and bug fixing by Gonzalo
282 * Dan Lewis contributed some missing classes for the
283 Regexp implementation.
285 * Jonathan's trace classes
287 * This Month's Mono is brought to you by:
289 Adam Treat, Chris Podugriel, Christian Meyer, Daniel Lewis,
290 Daniel Morgan, Dennis Hayes, Dick Porter, Dietmar Maurer,
291 Duncan Mak, Guarav Vaish, Gonzalo Paniagua, Jaime Anguiano,
292 Jason Diamond, Joe Shaw, John Barnette, John Donagher, John
293 Sohn, Jonathan Pryor, Kral Ferch, Martin Baulig, Miguel de
294 Icaza, Mike Kestner, Nick Drochak, Paolo Molaro, Patrik
295 Tostensson, Piers Haken, Ravi Pratap, Rodrigo Moya, Sergey
296 Chanben, Ultrich Kunitz, Wictor Wilen.
298 I know that I missed some features, there is a lot of work
299 that happens in a month. I apologize in advance for any
300 features I omited by accident.
302 Special thanks go to Duncan for helping out with all those
303 little details in the project. And also Nick who has been
304 keeping us in good shape by maintaining and helping new
305 contributors provide more test suites.
309 If you find a bug in Mono, please file a bug here:
311 http://bugzilla.ximian.com
313 That way we wont loose your bug report, and will be able to
314 follow up properly with it. Also try to provide simple test
315 cases whenever possible and try as hard as possible to
316 identify the root of a problem (compiler, runtime, class
321 The mono-list-request@ximian.com mailing list is open for
322 those of you who want to discuss the future of Mono.
326 Mono "Self Hosting" 0.10 is out! (Alex insisted I used the
327 <blink> tag for "Self Hosting", but was dissapointed when he
328 realized most mailers dont support this).
330 Too many things have happened since the the 0.9 release,
331 almost an entire month. The big news is that we are shipping
332 a the self-hosting Mono C# compiler. This has been tested on
335 Also, we delayed the release for one reason or other, but it
336 turns out that as a extra bonus, Paolo fixed the last
337 outstanding bug in the JIT engine, so the compiler now runs in
338 the JIT engine instead of the interpreter.
340 The mono-0.10 release includes the libraries required to run
341 the compiler as well as assorted .NET programs [1].
345 There is so much stuff in this release that is hard to keep
348 Jason, Kral and Duncan have done an amazing job with
349 System.Xml, up to the point that it is even being used by
350 gtk-sharp's code generator (and it all comes with great test
351 suites to verify that it works!). Ajay's XmlSchema code is
354 Martin worked on our debugging infrastructure (the JIT can
355 load dwarf files, and our class libraries now generate dwarf
356 debugging info; we are in the process of adding this to the
357 compiler, the patch did not make it to this release though).
359 For the first time the System.Web assembly has built without
360 all the excludes, so you can get your hands on Gaurav and
361 Lee's massive code base.
363 Lots of new tests to the runtime, class libraries and compiler
364 are included. As always, big thanks go to Nick for continued
365 guidance to new developers, and writing new tests.
367 Dan removed the System.PAL dependency, we now have moved to an
368 internalcall setup for all the System.IO calls, and dropped
369 the MonoWrapper shared library.
371 Porting wise: Sergey's StrongARM port is included now; Jeff's
372 SPARC port and Radek's PowerPC port have been updated to
373 reflect the new changes in the engine.
375 Runtime wise: Dietmar also got us asyncronous delegates
376 implemented. Dick continues his work on our foundation
377 classes, and has resumed his work on the IO layer.
379 Paolo is the hero behind self hosting on Linux. Send your
380 congrats (and wine) to him.
382 And without the help from Mike, Duco, David, Piers, Nick,
383 Sergey, Mark, Jonathan, John, Adam and Dennis this release
384 would have not been possible.
386 This release is mostly ECMA compatible. I did not expect this
387 to happen so soon. I am very grateful to everyone who has
392 The runtime sources and binaries to the compiler/libraries:
394 http://www.go-mono.com/archive/mono-0.10.tar.gz
396 The class and compiler sources:
398 http://www.go-mono.com/archive/mcs-0.10.tar.gz
402 You still need glib-2, and pkg-config. If you plan on
403 compiling large applications, getting the Boehm GC is a plus
404 (we will integrate this in a future version, for now it is an
405 external requirement).
407 Boehm GC is available in packaged format for Debian and Red
410 * To compile on Linux
412 Do your regular chores with mono-0.10.tar.gz, you know the
413 drill. In the end, after you reach the `make install' phase,
414 now you can do some cool stuff.
416 If you want to compile the compiler (just to try it out),
417 untar the sources to the compiler (mcs-0.10.tar.gz) and do
422 (cd mcs; make monomcs)
424 Now you will end up with a nice mcs4.exe in the mcs/mcs
425 directory, that is the compiler. If you want to use that,
426 replace the mcs.exe we distribute with the mcs4.exe you got.
430 Man pages for mcs, mono and mint are included for your
433 Particularly of interest is `mint --profile' which is awesome
434 to profile your application, the output is very useful.
436 Also, if you want to impress your friends, you might want to
437 run the JIT with the `-d' flag, that shows you how the JITer
438 compiles the code (and shows the basic blocks and the forst of
443 More classes are missing. These are required so we can run
444 nant and nunit natively. Once we achieve that, we will be
445 able to ship a complete environment that compiles on Linux.
447 Currently our makefiles still use csc, as we still need
450 [1] Of course, .NET programs that try to use classes we have not yet
451 implemented, will be left wondering `why did this happen to me?'.
455 I have just uploaded Mono 0.9 to the web server, you can get
458 http://www.go-mono.com/archive/mono-0.9.tar.gz
459 http://www.go-mono.com/archive/mcs-0.9.tar.gz
461 mono-0.9.tar.gz contains the source code to the runtime (JIT
462 and interpreter) as well as a pre-compiled version of the
463 compiler (mcs.exe) and the class libraries.
465 To compile the compiler and the class libraries, you still
466 need Windows with the .NET SDK, as our runtime can not host
467 the compiler completely yet.
469 * Improved Build System
471 You can check http://www.go-mono.com/download.html for the
472 new and fresh compilation instructions. Same requirements as
473 the last version (pkg-config, glib 1.3.xx need to be
478 Compiler can compile about 75% of our regression test suite
479 on Linux. Most of this work is on the class libraries and
480 Paolo has been the magician behind the work here.
482 JIT can run the compiler now (Dietmar)
484 Mint works on Windows now (Dick).
486 Application Domains have been implemented (Dietmar)
488 * Two modes of operation are available, depending on
489 your needs: share code, or maximize speed (does not
490 share code). This is described by the the
491 LoaderOptimization enumeration in .NET.
493 Corlib no longer has references to mscorlib (Daniel Lewis)
496 PowerPC has been updated (Radek Doulik)
497 New SPARC port (Jeffrey Stedfast)
499 Documentation system:
500 Adam Treat has been working on finishing the Doctools
501 to maintain the Mono class library documentation. We
502 still need a GUI editor though.
505 Nick's new tools to track progress are included in
508 Many new more regression tests for the class library
509 (David Brandt, Mark Crichton, Nick Drochak, Bob Doan,
513 Gaurav Vaish (the hacking god behind System.Web),
514 Chris Podugriel (System.Data) and Mark Crichton (Crypto)
517 Socket layer is finished (Dick Porter)
519 Compiler has full support for unsafe code now (Miguel)
520 Still a few things missing: constant folding is not
521 finished everywhere and access permissions are not
524 Many many many bug fixes everywhere from everyone on the team:
526 Paolo Molaro, Daniel Lewis, Daniel Stodden, Dietmar
527 Maurer, Jeff Stedfast, Nick Drochak, Duco Fijma, Ravi Pratap,
528 Dick Porter, Duncan Mak, Jeff Stedfast and Miguel de Icaza.
530 I am sorry if I left a major component out of the
531 announcement, this were some intense 11 days of work.
533 * What is obviously missing
535 Currently our System.Reflection.Emit is lacking array and
536 pointer support, which is why many programs still do not
537 compile, but this should be taken care of next week.
541 There are many ways to help the project, check the details
544 http://www.go-mono.com/contributing.html
546 You might also want to stop by our IRC channel on
547 irc.gnome.org, channel #mono if you are interested in
550 Have a happy weekend!
555 Mono 0.7 has been released.
557 It has been a long time since the last release of Mono (almost
558 three weeks). We have made an incredible ammount of work in the past
561 * Highlights of this release:
563 * The monoburg: BURS-instruction selector implemented (for our
564 portable JIT engine).
566 * JIT engine works for very simple programs (Fibonacci works
567 for instance). It is about 30% faster running than the
568 equivalent code compiled with Kaffe.
570 The interesting part is that this was accomplished with the
571 a minimum register allocator, and very simple monoburg
572 rules, so there is a *lot* of room to improve here.
574 * The Interpreter has madured a lot. Value Types are fully
575 supported now; We dropped the FFI dependency, as we now
576 have our own code generator.
578 * The runtime has been expanded and extended as to support
579 real file I/O (including console I/O). So Hello World works
582 * The compiler can generate code for most statements now; It
583 also performs semantic analysis on most expressions.
584 Creation of new objects is supported, access to parameters,
585 fields and local variables works. Method invocation works.
586 Implicit type conversions, assignments and much more.
588 Operator overloading is implemented, but broken on this
589 release, hopefully this will be fixed soon.
591 Delegates and Attributes are now declared and passed around,
592 but no code generation for those exist yet.
594 * More classes (look for details). Sergey and Paolo have been
595 working on various classes in System.Reflection.Emit to get
596 the compiler self-hosting.
598 * NUnit is now part of the distribution, so it should be
599 trivial to write test cases (and if you want to help out,
600 this is one way to do it, we really need more tests cases).
602 I am going to try to switch to Nick's JB for C# this week or next
603 week. But the excitement of having the compiler deal with real C#
604 programs is too much to be contained, and I can not keep my hands of
605 the code generation in the compiler.
609 http://www.go-mono.com/archive/mono-0.7.tar.gz
610 http://www.go-mono.com/archive/mcs-0.7.tar.gz
614 Class Library Changes:
616 Many enumerations have been revamped to have the same value
617 definitions as those in .NET as those cause problems. They were also
618 missing the [Flags] attributes, so we got that right too.
621 SerializableAttribute impl (Miguel)
622 String updates (Jeff)
625 * System.Configuration
626 ConfigurationSettings impl (Christopher Podurgiel)
627 SingleTagSectionHandler impl (Christopher Podurgiel)
628 DictionarySectionHandler impl (Christopher Podurgiel)
630 * System.Collections.Specialized
631 NameObjectCollectionBase impl (Nick Drochak)
634 StackFrame stubs (alexk)
635 StackTrace stubs (alexk)
638 File stubs (Jim Richardson)
639 IOException impl (Paolo)
640 StreamWriter impl (Dietmar)
641 StreamReader stubs (Dietmar)
644 ConnectionModes (Miguel)
645 ProxyUseType (Miguel)
649 Assembly (stubs) (Paolo)
653 * System.Reflection.Emit
657 ILGenerator (stubbed) (Paolo)
666 ParameterToken (Sergey)
667 PropertyToken (Sergey)
668 SignatureToken (Sergey)
669 StackBehaviour (Sergey)
675 Most classes stubbed out by Dick Porter (Dick)
678 HttpWorkerRequest stubs (Bob Smith)
680 * System.Web.Hosting (Bob Smith)
681 AppDomainFactory stubs (Bob Smith)
682 ApplicationHost stubs (Bob Smith)
683 IAppDomainFactory stubs (Bob Smith)
684 IISAPIRuntime stubs (Bob Smith)
685 ISAPIRuntime stubs (Bob Smith)
686 SimpleWorkerRequest stubs (Bob Smith)
689 LiteralControl implemented (Bob Smith)
690 HtmlContainerControl bugfixes (Bob Smith)
693 HtmlTextWriterAttribute
697 IDataBindingsAccessor
701 IPostBackEventHandler
706 ImageClickEventHandler
711 * System.Web.UI.HtmlControls
712 HtmlAnchor impl (Leen Teolen)
713 HtmlTextArea impl (Leen Teolen)
715 * System.Web.UI.WebControls
716 WebControl.cs (Gaurav Vaish)
719 Lots of enumerations (Miguel)
722 * Add loads of enumerations throughout (Sergey)
727 * Assignment (Miguel)
729 * expression semantic analysis (Miguel)
731 * constructor creation, chaining (Miguel)
733 * Unified error reporting (Ravi)
735 * initial attribute support (Ravi)
737 * calling convention support (Miguel)
739 * loop construct code generation (Miguel)
741 * conditional statement code generation (Miguel)
743 * indexer declarations (Ravi)
745 * event declarations (Ravi)
747 * try/catch parsing fixed (Ravi)
749 * initial delegate support (Ravi)
751 * operator overload (Ravi)
755 * Add NUnit windows binaries to distribution (Nick Drochak, Miguel)
759 * First JIT implementation (Dietmar, Paolo)
761 * value type size calculation (Dietmar)
763 * full value type support (Paolo)
765 * frequently used types cache (Paolo)
767 * FileStream support (Paolo)
769 * Console input/output support (Dietmar)
771 * print arguments and exception name in stack trace (Paolo)
773 * beginnings of virtual call support (Paolo)
775 * reimplement pinvoke support (Dietmar)
777 * remove libffi dependency (Dietmar)
779 * IBURG code generator implementation (Dietmar)
781 * new opcodes implemented: starg.s, ldobj, isinst, (Paolo, Miguel)
782 ldarg, starg, ldloc, ldloca, stloc, initobj,
783 cpblk, sizeof, conv.i, conv.i1, conv.i2, conv.i4,
784 conv.i8, conv.u1, conv.u2, conv.u4, conv.r4,
785 conv.r8, ldelema, ceq, cgt, clt.
789 Parts of this list of features were compiled by Alex by following
790 the CVS mailing list. My deepest thanks to Alex for helping me out
791 with this. I want to apologize for the missing features that I did
792 not document here, Mono is moving too fast to keep track of all the
795 2002-Feb-11 Miguel de Icaza <miguel@ximian.com>
797 New release, functional x86-JIT, x86 interpreter, ppc interpreter
799 Class libraries ship.
801 Limited compiler ships.
803 Too many changes to list
805 2001-07-12 Miguel de Icaza <miguel@ximian.com>
807 New XSLT file from Sergey Chaban for CIL opcodes
809 Paolo got the beginning of an interpreter in.
811 Further work on the dissasembler.
813 Fix various parts of the metadata library
815 2001-05-30 Miguel de Icaza <miguel@ximian.com>