3 The Mono team is proud to release Mono 0.18, with plenty of bug
4 fixes and improvements. If you are a happy 0.17 user, this
5 release is a happiness extension release. Many bugs in the
6 runtime, class libraries and C# compiler have been fixed.
8 Also, our special envoy in Japan has reported that there is
9 some naming confussion about the naming of Mono, as can be
10 seen in the following documentary material:
12 Atsushi Enomoto shows the source of confussion:
14 http://primates.ximian.com/~duncan/gallery/Duncan-in-Tokyo/DSCN0702
16 Nick and Duncan echo it:
18 http://primates.ximian.com/~duncan/gallery/Duncan-in-Tokyo/DSCN0703
22 Mono 0.18 packages and source code is available for download from:
24 http://www.go-mono.com/download.html
26 Those using Red Carpet on Linux can install Mono 0.18 from
27 the Mono channel. The packages have already been pushed for
30 At release time we have packages for Red Hat 8.0, 7.3,
31 7.2 and 7.1 and Mandrake 8.2.
33 * Contributors to this release
35 This release is brought to you by:
37 Alejandro Sanchez, Alp Toker, Atsushi Enomoto, Cesar Octavio
38 Lopez Netaren, Daniel Lopez (mod_mono), Daniel Morgan, Dennis
39 Hayes, Dick Porter, Dietmar Maurer, Duncan Mak, Eduardo
40 Garcia, Gaurav Vaish, Gonzalo Paniagua, Jackson Harper, Jaime
41 Anguiano, Jeroen Janssen, Johannes Roith, Jonathan Pryor, Juli
42 Mallett, Lluis Sanchez, Marco Ridoni, Martin Baulig, Miguel de
43 Icaza, Nick Drochak, Paolo Molaro, Patrik Torstensson, Piers
44 Haken, Rachel Hestilow, Rafael Teixeira, Ravi Pratap,
45 Sebastian Pouliot, Tim Coleman, Tim Hayes, Ville Palo, Zoltan
52 Many improvements to the Mono VB.NET compiler.
56 Plenty of bug fixes in ASP.NET. Larger applications
57 can now be run with it. The authentication system has
58 been deployed, most changes are from Gonzalo.
60 We have a modified IBuySpy running (without Xslt)
62 If you want to run ASP.NET you can run it with either
63 our XSP proof-of-concept server, or with Daniel's
64 Apache module that can be fetched from CVS (module
69 A Console, Gtk# and Windows.Forms tool to browse
70 compiled assemblies and examine the types on it, from
75 Nick continues the work on moving our test suite to NUnit 2.0
79 Gaurav has started work on the Mobile controls, which
80 are required to run some of the reference applications
81 in full-mode like IBuySpy.
85 The remoting infrastructure has got a big boost from
86 Lluis in this release.
90 Ville has been working on improving our System.Data
91 classes in the XML assembly.
95 Plenty of new crypto from Sebastien as well. A new
96 web page in our site can be used to track this.
98 http://www.go-mono.com/crypto.html
101 ----------------------------------------------------------------------
104 Version 0.17 of Mono has been released.
106 There are plenty of new features, bug fixes, new classes,
107 performance improvements, optimizations and much more
108 available in this release.
112 2605 cvs commits to the Mono repository since October 1st, an
113 average of 37 commits per day including weekends.
115 212 commits to the Mono module.
116 1438 commits to the MCS module.
120 Work has begun to make the runtime run a finalizer thread and
121 invoke all the finalizers from this thread. This is the same
122 behavior as Java and the Microsoft runtime, but it is disabled
125 Integrated the s390 work from Neale Ferguson.
127 Beginning of the work for pre-compiling code (Ahead of time
128 compilation) for Mono (based on the early work of Zoltan).
130 New option `--noboundscheck' for benchmark purposes, it
131 disables array bound checks.
133 Uses mmap instead of SysV shared memory for the Windows API
136 Plenty of bug fixes, improvements and integration with the
137 upper layer class libraries.
139 New exception handling code uses the GCC native support for
140 stack-walking if available and gives big performance boost
141 (15% on mcs bootstrap).
143 A lot of the work in the new release of Mono is required for
144 the Mono Debugger (which will be released separately). The
145 Mono debugger is interesting, because it can debug both
146 managed and unmanaged applications, but it only supports the
149 Dick, Dietmar, Gonzalo, Martin and Paolo were in charge of
150 most of these changes.
152 * Compiler improvements:
154 Many bug fixes as usual, better C# compliancy.
156 Performance improvements. The new release of the Mono C#
157 compiler is 37% faster than the previous version (self-compile
158 is down to 8 seconds). On my P4 1.8Ghz machine, the Mono C#
159 compiler compiles (342,000 lines per minute).
161 Thanks to go Ravi and Martin for helping out with the bug
164 * Cryptography and Security classes
166 Sebastien Pouliot and Andrew Birkett were extremely busy
167 during the past two months working on the cryptography
168 classes, many of the crypto providers are now working
170 Jackson on the other hand helped us with the security
171 classes, he said about those:
173 `Writing security classes is the most exciting thing I have
174 ever done, I can not wait to write more of them'.
178 We have now moved the code from the XSP server (which was our
179 test bed for ASP.NET) into the right classes inside
180 System.Web, and now any web server that was built by using the
181 System.Web hosting interfaces can be used with Mono.
183 The sample XSP server still exists, but it is now just a
184 simple implementation of the WorkerRequest and ApplicationHost
185 classes and can be used to test drive ASP.NET. A big thanks
186 goes to Gonzalo who worked on this night and day (mostly
189 Gaurav keeps helping us with the Web.Design classes, and
190 improving the existing web controls.
194 New providers are available in this release. The relentless
195 System.Data team (Brian, Dan, Rodrigo, Tim and Ville) are
196 hacking non-stop on the databse code. Improving existing
197 providers, and new providers.
199 The new providers on this release:
205 * Sqlite (for embedded use).
207 Many regression tests have been added as well (Ville has been
208 doing a great job here).
210 Brian also created a DB provider multiplexor (The ProviderFactory)
212 Stuart Caborn contributed Writing XML from a DataSet.
213 Luis Fernandez contributed constraint handling code.
215 Also there is new a Gtk# GUI tool from Dan that can be used to
216 try out various providers.
220 Atsushi has taken the lead in fixing and plugging the missing
221 parts of the System.XML namespace, many fixes, many
224 * CodeDom and the C# provider.
226 Jackson Harper has been helping us with the various interface
227 classes from the CodeDOM to the C# compiler, in this release
228 a new assembly joins us: Cscompmgd. It is a simple assembly,
229 and hence Microsoft decided not to waste an entire "System"
234 Nick Drochak has integrated the new NUnit 2.0 system.
238 Monograph now has a --stats option to get statistics on
242 CVS Contributors to this release:
244 Alejandro Sanchez, Alp Toker, Andrew Birkett, Atsushi Enomoto,
245 Brian Ritchie, Cesar Octavio Lopez Nataren, Chris Toshok,
246 Daniel Morgan, Daniel Stodden, Dennis Hayes, Dick Porter,
247 Diego Sevilla, Dietmar Maurer, Duncan Mak, Eduardo Garcia,
248 Ettore Perazzoli, Gaurav Vaish, Gonzalo Paniagua, Jackson
249 Harper, Jaime Anguiano, Johannes Roith, John Sohn, Jonathan
250 Pryor, Kristian Rietveld, Mads Pultz, Mark Crichton, Martin
251 Baulig, Martin Willemoes Hansen, Miguel de Icaza, Mike
252 Kestner, Nick Drochak, Nick Zigarovich, Paolo Molaro, Patrik
253 Torstensson, Phillip Pearson, Piers Haken, Rachel Hestilow,
254 Radek Doulik, Rafael Teixeira, Ravi Pratap, Rodrigo Moya,
255 Sebastien Pouliot, Tim Coleman, Tim Haynes, Ville Palo,
256 Vladimir Vukicevic, and Zoltan Varga.
258 (Am sorry, I could not track everyone from the ChangeLog
259 messages, I apologize in advance for the missing
262 ------------------------------------------------------------------------
266 Version 0.16 of Mono has been released! This is mostly a bug
267 fix release, a lot of work has been going on to make existing
268 features more robust and less buggy. Also, contributions are
269 too varied, so it is hard to classify them in groups.
273 795 commits to mono and mcs since August 23rd.
277 The changes that got in this releases are mostly
278 bugfixes. Miguel, Martin and Ravi attacked lots of bugs in the
279 compiler, Dick fixed a bunch of bugs related to processes and
280 threads. Mark Crichton resumed his work on the SPARC port and
281 made lots of progress there. Juli Mallett has been working on
282 making sure Mono also builds on BSD systems. As usual, Dietmar
283 and Paolo supplied their continuous stream of fixes to the
286 Dietmar has completed the work on the runtime side for
287 remoting support and we ship now with a sample channel, the
288 System.Runtime.Remoting.Sample. This can be used as a
289 reference implementation for anyone interested in implementing
290 other channels (like a CORBA channel).
292 Duncan got preliminary XSLT support done by using
295 Gonzalo (with some help from Patrik) has been working hard
296 making our ASP.NET implementation work on both Mono and MS by
297 migrating the existing xsp code to the class library. Gaurav
298 started working on the classes in System.Design.dll and Chris
299 Toshok checked in Mono.Directory.LDAP, which will be the
300 foundation to implement the System.DirectoryServices assembly.
302 Various fixes from Kral, Jason, Piers and Gonzalo were
303 committed to System.Xml; Martin Algiers reports that the
304 upcoming NAnt release will be fully compatible with Mono.
306 Miguel imported Sergey Chaban's Mono.PEToolkit and ilasm code
307 to CVS. Nick, as always, continues to refine our testing
308 framework by improving our tests. Andrew Birkett continues to
309 improve the implementation of our security/cryptographic
310 classes. Jonathan Pryor contributed type-reflector the our
313 * Other News From Behind de Curtain.
315 While the above is pretty impressive on its own, various other
316 non-released portions of Mono have been undergoing: Adam Treat
317 has been leading the effort to document our class libraries
318 and produce the tools required for it.
320 Martin Baulig has been working on the Mono Debugger which is
321 not being released yet. This debugger allows both native
322 Linux application as well as CIL applications to be debugged
323 at the same time (and in fact, you can use this to debug the
324 JIT engine). The debugger is written in C# with some C glue
326 In the meant A new JIT engine is under development, focused on
327 adding more of the high-end optimizations which will be
328 integrated on an ahead-of-time-compiler. Dietmar and Paolo
329 have been working on this.
331 * Contributors to this release
333 * Non-Ximian developers: Adam Treat, Andrew Birkett, Dennis
334 Hayes, Diego Sevilla, Franklin Wise, Gaurav Vaish ,Jason
335 Diamond, Johannes Roith, John Sohn, Jonathan Pryor, Juli
336 Mallett, Kral Ferch, Mike Crichton, Nick Drochak, Nick
337 Zigarovich, Piers Haken, Rafael Teixeira, Ricardo Fernandez
338 Pascual, Sergey Chaban, Tim Coleman.
340 * Ximian developers: Dietmar, Paolo, Dick, Duncan, Ravi,
341 Miguel, Martin, Chris, Joe, Gonzalo, Rodrigo.
344 ---------------------------------------------------------------------------------
345 * Sergey Chaban added thread-safe support to
346 System.Collections.SortedList.
348 * Fixes to the compiler by Andrew Birkett.
350 * Tim Coleman contributed the OleDb provider for System.Data and started
351 work on System.Web.Services.
353 * Radek fixed a lot of problems on the PPC side. [*]
355 * Miguel and Martin committed the new type lookup system.
357 * Dietmar rewrote the marshalling code. [*]
359 * Peter Williams and Martin contributed the new Makefiles, with help
360 from Alp Toker as well.
362 * Contributors to this release:
364 * Non-Ximian developers: Nick Drochak, Martin Baulig, Tim
365 Coleman, Mike Kestner, Alp Toker, Jonathan Pryor, Jaime
366 Anguiano, Piers Haken, Rafael Teixeira, Mark Crichton,
367 Sergey Chabon, Ajay Kumar Dwivedi, Andrew Birkett, Dennis
368 Hayes (SWF), Adam Treat, Johannes Roith and Lawrence Pit.
370 * Ximian developers: Duncan, Ravi, Dick, Dietmar, Paolo,
371 Gonzalo, Rachel, Radek, Rodrigo, Jeff, Peter Williams and
374 Special thanks to Duncan for helping me put this release together.
378 A new version of Mono (0.12), is out.
380 Mono is an open source implementation of the Microsoft.NET
381 Framework, and ships with a C# compiler, a runtime engine
382 (with a JIT on x86 cpus) and a set of class libraries.
384 Mono is know to work on a number of platforms:
385 x86/Linux, x86/Windows, x86/FreeBSD; sparc/solaris;
386 linuxppc/linux; strongarm/linux.
388 There have been many changes since the last release of Mono in
389 late April, thanks to Duncan for assembling the list of new
390 features, any omissions are my fault.
394 It is hard to keep track of the changes, as there are 1632
395 patches that were posted to the mailing list. One third of
396 the total number of patches since we opened mono-patches
397 list. I am sure I missed some stuff and probably missed some
398 contributors. I apologize in advance.
402 Paolo: New Reflection.Emit generation code generates
403 code that can be executed in Windows. Now binaries
404 generated by Mono/MCS will run on Windows.
406 Paolo got Activator.CreateInstance to work.
408 Sergey's CPU-optimization for CPBLK.
410 Many many bug fixes to the runtime from Dick, Dan
411 Lewis, Dietmar, Gonzalo, Martin, Paolo, Radek and Sergey,
415 Many bug fixes: The compiler can now compile Gtk#,
416 Vorbis#, System.Data assembly and System.Xml assembly
417 which previously did not work (Dietmar, Miguel, Paolo,
418 Piers, Ravi, Miguel). Thanks to all the bug
423 Mike started work on System.Xml.XPath
425 Christian, Dennis, Daniel and friends got more stubs
426 for System.Windows.Forms in.
428 Ajay revamped System.Xml.Schema. And Jason and Duncan
431 Daniel also checked in a working CodeDOM
432 implementation and a C# provider.
434 Many bug fixes by everyone. Thanks to Daniel, Duncan,
435 Jonathan, Lawrence, Martin Mike, Nick and Piers. I am
436 missing a lot of contributors that should be listed.
440 A lot of work from Gonzalo allows some small and
441 modest ASP.NET applications to run (you still need the
442 unreleased XSP code though).
446 Integrated the MySQL provider from Brad Merryl.
448 Lots of work by Dan, Rodrigo, Tim.
450 Microsoft.VisualBasic runtime support
452 Rafael and Chris have been working on the VisualBasic
459 This new version has new features:
463 * Ultrich Kunitz implemented the whole calendar set of
464 classes. Yes, thats right. The whole thing, with a
465 complete test suite. Thanks Ultrich!
467 * JIT/runtime features:
469 * Martin's debugging framework is included (see web
470 site for details on how to use it). (Martin)
472 * Transparent Proxy has been implemented for the
473 runtime (lets you run/debug/hack on remoting for Mono) (Dietmar)
475 * Inline and constant folding/propagation support
476 in the JIT engine (Dietmar)
478 * Profiling support for the JIT engine (--profile).
480 * Cool runtime hacks, that made our compiler twice as fast:
482 * New string rewrite: faster, speedier, leaner, cooler!
484 Paolo had been talking about a new string rewrite,
485 and super hacker Patrik Torstensson started the
486 implementation, Dietmar then switched the object
487 layout and the Mono team helped iron out a few of
490 * New array reprensetation: Dan Lewis contributed a new
491 faster and smaller array implementation.
493 * Improved Reflection.Emit: Paolo improved our
494 reflection emit code.
498 * Daniel Morgan, Rodrigo Moya have some pieces of the
499 Sql classes ready to run. he first signs of life
500 this week (we can connect, insert rows; do transactions:
501 commit/rollback; SQL errors and exceptions work).
505 * The HTTP runtime (to be used by our ASP.NET implementation)
506 was contributed by Patrik Torstensson. Patrik not only
507 contributed a massive ammount of classes, but he immediately
508 went on to implement ThreadPools and then helped out with the
513 * Kral Ferch and Duncan Mak contributed more
514 improvements to the XML implementation.
516 * Work on Xml Serialization from John Donagher.
520 * MonoDoc ships for the first time!
521 (John Barnette, Adam Treat and John Sohn)
523 * New documentation stubs ready to be filled, and translated
524 included (thanks to our doc team!)
528 * Piers Haken fixed many of our attributes and many
529 little problems that were exposed by his CorCompare tool
531 * Many Mono C# compiler bug fixes.
533 * Other improvements:
535 * NUnit works on Linux! (Patrik Torstensson)
537 * More NUnit tests (Nick Drochak)
539 * Windows.Forms progress: Dennis Hayes and Christian
540 Meyer have been contributing stubs for the
543 * Full Parse implementations and bug fixing by Gonzalo
545 * Dan Lewis contributed some missing classes for the
546 Regexp implementation.
548 * Jonathan's trace classes
550 * This Month's Mono is brought to you by:
552 Adam Treat, Chris Podugriel, Christian Meyer, Daniel Lewis,
553 Daniel Morgan, Dennis Hayes, Dick Porter, Dietmar Maurer,
554 Duncan Mak, Guarav Vaish, Gonzalo Paniagua, Jaime Anguiano,
555 Jason Diamond, Joe Shaw, John Barnette, John Donagher, John
556 Sohn, Jonathan Pryor, Kral Ferch, Martin Baulig, Miguel de
557 Icaza, Mike Kestner, Nick Drochak, Paolo Molaro, Patrik
558 Tostensson, Piers Haken, Ravi Pratap, Rodrigo Moya, Sergey
559 Chanben, Ultrich Kunitz, Wictor Wilen.
561 I know that I missed some features, there is a lot of work
562 that happens in a month. I apologize in advance for any
563 features I omited by accident.
565 Special thanks go to Duncan for helping out with all those
566 little details in the project. And also Nick who has been
567 keeping us in good shape by maintaining and helping new
568 contributors provide more test suites.
572 If you find a bug in Mono, please file a bug here:
574 http://bugzilla.ximian.com
576 That way we wont loose your bug report, and will be able to
577 follow up properly with it. Also try to provide simple test
578 cases whenever possible and try as hard as possible to
579 identify the root of a problem (compiler, runtime, class
584 The mono-list-request@ximian.com mailing list is open for
585 those of you who want to discuss the future of Mono.
589 Mono "Self Hosting" 0.10 is out! (Alex insisted I used the
590 <blink> tag for "Self Hosting", but was dissapointed when he
591 realized most mailers dont support this).
593 Too many things have happened since the the 0.9 release,
594 almost an entire month. The big news is that we are shipping
595 a the self-hosting Mono C# compiler. This has been tested on
598 Also, we delayed the release for one reason or other, but it
599 turns out that as a extra bonus, Paolo fixed the last
600 outstanding bug in the JIT engine, so the compiler now runs in
601 the JIT engine instead of the interpreter.
603 The mono-0.10 release includes the libraries required to run
604 the compiler as well as assorted .NET programs [1].
608 There is so much stuff in this release that is hard to keep
611 Jason, Kral and Duncan have done an amazing job with
612 System.Xml, up to the point that it is even being used by
613 gtk-sharp's code generator (and it all comes with great test
614 suites to verify that it works!). Ajay's XmlSchema code is
617 Martin worked on our debugging infrastructure (the JIT can
618 load dwarf files, and our class libraries now generate dwarf
619 debugging info; we are in the process of adding this to the
620 compiler, the patch did not make it to this release though).
622 For the first time the System.Web assembly has built without
623 all the excludes, so you can get your hands on Gaurav and
624 Lee's massive code base.
626 Lots of new tests to the runtime, class libraries and compiler
627 are included. As always, big thanks go to Nick for continued
628 guidance to new developers, and writing new tests.
630 Dan removed the System.PAL dependency, we now have moved to an
631 internalcall setup for all the System.IO calls, and dropped
632 the MonoWrapper shared library.
634 Porting wise: Sergey's StrongARM port is included now; Jeff's
635 SPARC port and Radek's PowerPC port have been updated to
636 reflect the new changes in the engine.
638 Runtime wise: Dietmar also got us asyncronous delegates
639 implemented. Dick continues his work on our foundation
640 classes, and has resumed his work on the IO layer.
642 Paolo is the hero behind self hosting on Linux. Send your
643 congrats (and wine) to him.
645 And without the help from Mike, Duco, David, Piers, Nick,
646 Sergey, Mark, Jonathan, John, Adam and Dennis this release
647 would have not been possible.
649 This release is mostly ECMA compatible. I did not expect this
650 to happen so soon. I am very grateful to everyone who has
655 The runtime sources and binaries to the compiler/libraries:
657 http://www.go-mono.com/archive/mono-0.10.tar.gz
659 The class and compiler sources:
661 http://www.go-mono.com/archive/mcs-0.10.tar.gz
665 You still need glib-2, and pkg-config. If you plan on
666 compiling large applications, getting the Boehm GC is a plus
667 (we will integrate this in a future version, for now it is an
668 external requirement).
670 Boehm GC is available in packaged format for Debian and Red
673 * To compile on Linux
675 Do your regular chores with mono-0.10.tar.gz, you know the
676 drill. In the end, after you reach the `make install' phase,
677 now you can do some cool stuff.
679 If you want to compile the compiler (just to try it out),
680 untar the sources to the compiler (mcs-0.10.tar.gz) and do
685 (cd mcs; make monomcs)
687 Now you will end up with a nice mcs4.exe in the mcs/mcs
688 directory, that is the compiler. If you want to use that,
689 replace the mcs.exe we distribute with the mcs4.exe you got.
693 Man pages for mcs, mono and mint are included for your
696 Particularly of interest is `mint --profile' which is awesome
697 to profile your application, the output is very useful.
699 Also, if you want to impress your friends, you might want to
700 run the JIT with the `-d' flag, that shows you how the JITer
701 compiles the code (and shows the basic blocks and the forst of
706 More classes are missing. These are required so we can run
707 nant and nunit natively. Once we achieve that, we will be
708 able to ship a complete environment that compiles on Linux.
710 Currently our makefiles still use csc, as we still need
713 [1] Of course, .NET programs that try to use classes we have not yet
714 implemented, will be left wondering `why did this happen to me?'.
718 I have just uploaded Mono 0.9 to the web server, you can get
721 http://www.go-mono.com/archive/mono-0.9.tar.gz
722 http://www.go-mono.com/archive/mcs-0.9.tar.gz
724 mono-0.9.tar.gz contains the source code to the runtime (JIT
725 and interpreter) as well as a pre-compiled version of the
726 compiler (mcs.exe) and the class libraries.
728 To compile the compiler and the class libraries, you still
729 need Windows with the .NET SDK, as our runtime can not host
730 the compiler completely yet.
732 * Improved Build System
734 You can check http://www.go-mono.com/download.html for the
735 new and fresh compilation instructions. Same requirements as
736 the last version (pkg-config, glib 1.3.xx need to be
741 Compiler can compile about 75% of our regression test suite
742 on Linux. Most of this work is on the class libraries and
743 Paolo has been the magician behind the work here.
745 JIT can run the compiler now (Dietmar)
747 Mint works on Windows now (Dick).
749 Application Domains have been implemented (Dietmar)
751 * Two modes of operation are available, depending on
752 your needs: share code, or maximize speed (does not
753 share code). This is described by the the
754 LoaderOptimization enumeration in .NET.
756 Corlib no longer has references to mscorlib (Daniel Lewis)
759 PowerPC has been updated (Radek Doulik)
760 New SPARC port (Jeffrey Stedfast)
762 Documentation system:
763 Adam Treat has been working on finishing the Doctools
764 to maintain the Mono class library documentation. We
765 still need a GUI editor though.
768 Nick's new tools to track progress are included in
771 Many new more regression tests for the class library
772 (David Brandt, Mark Crichton, Nick Drochak, Bob Doan,
776 Gaurav Vaish (the hacking god behind System.Web),
777 Chris Podugriel (System.Data) and Mark Crichton (Crypto)
780 Socket layer is finished (Dick Porter)
782 Compiler has full support for unsafe code now (Miguel)
783 Still a few things missing: constant folding is not
784 finished everywhere and access permissions are not
787 Many many many bug fixes everywhere from everyone on the team:
789 Paolo Molaro, Daniel Lewis, Daniel Stodden, Dietmar
790 Maurer, Jeff Stedfast, Nick Drochak, Duco Fijma, Ravi Pratap,
791 Dick Porter, Duncan Mak, Jeff Stedfast and Miguel de Icaza.
793 I am sorry if I left a major component out of the
794 announcement, this were some intense 11 days of work.
796 * What is obviously missing
798 Currently our System.Reflection.Emit is lacking array and
799 pointer support, which is why many programs still do not
800 compile, but this should be taken care of next week.
804 There are many ways to help the project, check the details
807 http://www.go-mono.com/contributing.html
809 You might also want to stop by our IRC channel on
810 irc.gnome.org, channel #mono if you are interested in
813 Have a happy weekend!
818 Mono 0.7 has been released.
820 It has been a long time since the last release of Mono (almost
821 three weeks). We have made an incredible ammount of work in the past
824 * Highlights of this release:
826 * The monoburg: BURS-instruction selector implemented (for our
827 portable JIT engine).
829 * JIT engine works for very simple programs (Fibonacci works
830 for instance). It is about 30% faster running than the
831 equivalent code compiled with Kaffe.
833 The interesting part is that this was accomplished with the
834 a minimum register allocator, and very simple monoburg
835 rules, so there is a *lot* of room to improve here.
837 * The Interpreter has madured a lot. Value Types are fully
838 supported now; We dropped the FFI dependency, as we now
839 have our own code generator.
841 * The runtime has been expanded and extended as to support
842 real file I/O (including console I/O). So Hello World works
845 * The compiler can generate code for most statements now; It
846 also performs semantic analysis on most expressions.
847 Creation of new objects is supported, access to parameters,
848 fields and local variables works. Method invocation works.
849 Implicit type conversions, assignments and much more.
851 Operator overloading is implemented, but broken on this
852 release, hopefully this will be fixed soon.
854 Delegates and Attributes are now declared and passed around,
855 but no code generation for those exist yet.
857 * More classes (look for details). Sergey and Paolo have been
858 working on various classes in System.Reflection.Emit to get
859 the compiler self-hosting.
861 * NUnit is now part of the distribution, so it should be
862 trivial to write test cases (and if you want to help out,
863 this is one way to do it, we really need more tests cases).
865 I am going to try to switch to Nick's JB for C# this week or next
866 week. But the excitement of having the compiler deal with real C#
867 programs is too much to be contained, and I can not keep my hands of
868 the code generation in the compiler.
872 http://www.go-mono.com/archive/mono-0.7.tar.gz
873 http://www.go-mono.com/archive/mcs-0.7.tar.gz
877 Class Library Changes:
879 Many enumerations have been revamped to have the same value
880 definitions as those in .NET as those cause problems. They were also
881 missing the [Flags] attributes, so we got that right too.
884 SerializableAttribute impl (Miguel)
885 String updates (Jeff)
888 * System.Configuration
889 ConfigurationSettings impl (Christopher Podurgiel)
890 SingleTagSectionHandler impl (Christopher Podurgiel)
891 DictionarySectionHandler impl (Christopher Podurgiel)
893 * System.Collections.Specialized
894 NameObjectCollectionBase impl (Nick Drochak)
897 StackFrame stubs (alexk)
898 StackTrace stubs (alexk)
901 File stubs (Jim Richardson)
902 IOException impl (Paolo)
903 StreamWriter impl (Dietmar)
904 StreamReader stubs (Dietmar)
907 ConnectionModes (Miguel)
908 ProxyUseType (Miguel)
912 Assembly (stubs) (Paolo)
916 * System.Reflection.Emit
920 ILGenerator (stubbed) (Paolo)
929 ParameterToken (Sergey)
930 PropertyToken (Sergey)
931 SignatureToken (Sergey)
932 StackBehaviour (Sergey)
938 Most classes stubbed out by Dick Porter (Dick)
941 HttpWorkerRequest stubs (Bob Smith)
943 * System.Web.Hosting (Bob Smith)
944 AppDomainFactory stubs (Bob Smith)
945 ApplicationHost stubs (Bob Smith)
946 IAppDomainFactory stubs (Bob Smith)
947 IISAPIRuntime stubs (Bob Smith)
948 ISAPIRuntime stubs (Bob Smith)
949 SimpleWorkerRequest stubs (Bob Smith)
952 LiteralControl implemented (Bob Smith)
953 HtmlContainerControl bugfixes (Bob Smith)
956 HtmlTextWriterAttribute
960 IDataBindingsAccessor
964 IPostBackEventHandler
969 ImageClickEventHandler
974 * System.Web.UI.HtmlControls
975 HtmlAnchor impl (Leen Teolen)
976 HtmlTextArea impl (Leen Teolen)
978 * System.Web.UI.WebControls
979 WebControl.cs (Gaurav Vaish)
982 Lots of enumerations (Miguel)
985 * Add loads of enumerations throughout (Sergey)
990 * Assignment (Miguel)
992 * expression semantic analysis (Miguel)
994 * constructor creation, chaining (Miguel)
996 * Unified error reporting (Ravi)
998 * initial attribute support (Ravi)
1000 * calling convention support (Miguel)
1002 * loop construct code generation (Miguel)
1004 * conditional statement code generation (Miguel)
1006 * indexer declarations (Ravi)
1008 * event declarations (Ravi)
1010 * try/catch parsing fixed (Ravi)
1012 * initial delegate support (Ravi)
1014 * operator overload (Ravi)
1018 * Add NUnit windows binaries to distribution (Nick Drochak, Miguel)
1022 * First JIT implementation (Dietmar, Paolo)
1024 * value type size calculation (Dietmar)
1026 * full value type support (Paolo)
1028 * frequently used types cache (Paolo)
1030 * FileStream support (Paolo)
1032 * Console input/output support (Dietmar)
1034 * print arguments and exception name in stack trace (Paolo)
1036 * beginnings of virtual call support (Paolo)
1038 * reimplement pinvoke support (Dietmar)
1040 * remove libffi dependency (Dietmar)
1042 * IBURG code generator implementation (Dietmar)
1044 * new opcodes implemented: starg.s, ldobj, isinst, (Paolo, Miguel)
1045 ldarg, starg, ldloc, ldloca, stloc, initobj,
1046 cpblk, sizeof, conv.i, conv.i1, conv.i2, conv.i4,
1047 conv.i8, conv.u1, conv.u2, conv.u4, conv.r4,
1048 conv.r8, ldelema, ceq, cgt, clt.
1052 Parts of this list of features were compiled by Alex by following
1053 the CVS mailing list. My deepest thanks to Alex for helping me out
1054 with this. I want to apologize for the missing features that I did
1055 not document here, Mono is moving too fast to keep track of all the
1058 2002-Feb-11 Miguel de Icaza <miguel@ximian.com>
1060 New release, functional x86-JIT, x86 interpreter, ppc interpreter
1062 Class libraries ship.
1064 Limited compiler ships.
1066 Too many changes to list
1068 2001-07-12 Miguel de Icaza <miguel@ximian.com>
1070 New XSLT file from Sergey Chaban for CIL opcodes
1072 Paolo got the beginning of an interpreter in.
1074 Further work on the dissasembler.
1076 Fix various parts of the metadata library
1078 2001-05-30 Miguel de Icaza <miguel@ximian.com>