3 The Mono Team introduces the best Mono release so far we have
4 done. Thanks to everyone who contributed fixes, code, ideas, and bug
7 Mono 0.20 has been released, it is available at the usual location:
9 http://www.go-mono.com/download.html
11 This is a truly heroic release of Mono. Major architectural
12 chunks that were missing, or were miss-implemented have been fixed in
13 this release, and we are very proud of it. Please see the list of
14 features, because there is no short way of introducing just how good
15 this release is. A big thanks goes to Piers for setting up a
16 Tinderbox that monitors problems with the Mono CVS repository.
18 We released packages for SuSE 8.0, Mandrake 8.2, and various
19 Red Hat releases. It is also available from Red Carpet on the Mono
22 Source code for Mono, MCS, the Mono Debugger, XSP is available as
23 well from that web page. The sources are:
25 MCS package (Class Libraries, C# and VB.NET compiler and managed tools):
27 http://www.go-mono.com/archive/mcs-0.20.tar.gz
29 Mono package (Runtime engine, JIT compiler):
31 http://www.go-mono.com/archive/mono-0.20.tar.gz
33 XSP package (XSP test web server for ASP.NET webforms):
35 http://www.go-mono.com/archive/xsp-0.3.tar.gz
37 This release is brought to you by: Alvaro del Castillo, Alan Tam,
38 Alp Toker, Alejandro Sánchez, Alexandre Pigolkin, Atsushi Enomoto,
39 Brian Ritchie, Christopher Bockner, Daniel Lopez, Daniel Morgan,
40 Dennis Hayes, Dick Porter, Dietmar Maurer, Duncan Mak, Gaurav Vaish,
41 Gonzalo Paniagua, Jackson Harper, Jaime Anguiano, Jeff Stedfast,
42 Johannes Roith, John Sohn, Jonathan Pryor, "Lee Mallabone, "Lluis
43 Sanchez, "Marco Ridoni, Mark Crichton, Martin Baulig, Martin Willemoes
44 Hansen, Miguel de Icaza, Mike Kestner, Nick Drochak, Paolo Molaro,
45 Patrik Torstensson, Pedro Martinez, Per Arneng, Peter Williams, Petr
46 Danecek, Piers Haken, Radek Doulik, Rafael Teixeira, Rodrigo Moya,
47 Sebastien Pouliot, Tim Coleman, Ville Palo, and Zoltan Varga.
49 They commited 1810 changes to CVS patches in the past 33 days.
55 Zoltan's patches to run Jeroen's IKVM (the Java VM that
56 translates JVM bytecodes into .NET bytecodes) are in.
60 The remoting team's patches that were held off on the previous
61 release are here. Lluis and Patrik have done a fantastic job
62 in getting remoting to work. Many low-level runtime engine
63 changes, and plenty of work on the class-library stuff.
65 Lluis has posted a couple of sample applications to the
66 mailing list, you can try those out.
68 The new release includes a working BinaryFormatter and
69 BinaryFormatterSink. It means that together with TcpChannel
70 it is possible to make remote calls with any type of
71 parameters and return values, including value types,
72 MarshalByRefObject types (that are properly
73 marshalled/unmarshalled), delegates, enums, etc.
75 RemotingConfiguration is partially implemented. It cannot read
76 from config files, but manual configuration using the api is
79 Implemented full support for client activated types and for
80 well known objects (both singleton and single call).
82 Lease manager fully working (it manages the lifetime of server
85 Implemented interception of the new operator, so it is
86 possible to create a remote object using "new", if the type is
87 properly registered in RemotingConfiguration.
89 In Lluis' words: `Basically, 0.20 will have almost all needed
90 for a distributed application with Remoting'
92 * New threading semantics, IO-layer
94 Dick Porter in a couple of weeks has heroically redone much of
95 the threading support to match the .NET behavior (details are
96 on the .NET threading book as posted on the Mono site).
98 He also did a lot of bug fixes in the IO/threading space. The
99 threading implementation now contains a new and faster Monitor
100 implementation, as well as a correct Pulse()/Wait()
103 GC thread finalization has been re-enabled. This means that
104 finalizers will be ran on a separate thread, as done in the
105 Microsoft.NET Framework. This might expose some bugs on
106 existing finalizer code.
110 Nick and Gonzalo helped us move to the new NUnit2 platform for
111 all of our tests. A big applause goes to them.
113 * Cross Appdomain invocations work now.
115 ASP.NET and NUnit2 both used cross appdomain invocations, we
116 have fixed a number of problems, and they are now functional.
118 The AppDomain fixes and the Remoting fixes have allowed us to
119 remove a number of hacks in the ASP.NET implementation that
120 were previously there.
122 Implemented CrossAppDomainChannel, for calls between domains.
124 * C# Compiler and Debugging.
126 When generating debugging information in the compiler (with
127 -debug, -g or -debug+) the compiler will embed the debugging
128 information into the resulting executable instead of
129 generating a separate file. Very nice.
131 Generating debugging information has also improved vastly
132 performance-wise, and now it is possible to always use
133 debugging builds for software development.
135 A number of bugs were fixed on the compiler as well and
136 by using the Mono profiler we have reduced the memory
137 consumption and accelerated the compiler.
139 Thanks to Jackson, Martin, Paolo and for helping here.
143 Plenty of new features are included in the compiler in our
144 path to conformance. See <FIXME:get-url-for-posting> for
145 details on the status of the compiler, and the pieces missing.
147 * ILasm and Mono.PEToolkit.
149 Work on the IL assembler has resumed, but it is not yet ready
150 for production use. The Mono IL Assembler uses the
151 Mono.PEToolkit library done by Sergey and Jackson to
152 manipulate CIL image files.
154 * Cryptographic work.
156 Sebastien has provided a cert2spc and secutil tools for
157 certificate management. This is the first release that ships
158 an assembly for System.Security
160 Also a new internal assembly used only on Windows allows Mono
161 users to use the unmanaged crypto providers.
165 Atsushi has continued to improve the work on our XML
166 implementation: fixing bugs and more closely matching the
167 Microsoft implementation.
169 * More PowerPC/Alpha support.
171 Taylor Christopher has contributed more code generation macros
172 for PPC and Laramie Leavitt for Alpha.
176 Gonzalo continued the implementation of our XSLT transformation
177 API (custom .NET functions are still missing though). It no
178 longer uses temporary files to apply transformations. Thanks
179 to an idea from Zdravko Tashev. Xslt Web controls work as
184 Gonzalo has cleaned up a lot the code base, and now our test
185 server supports a --root and --virtual command line options
188 Also, now we generate a much nicer error page on errors. We
189 are looking for volunteers to improve the default look of this
192 Authentication is now supported
196 Gaurav Vaish continues on his quest to complete the
197 implementation of the Mobile controls. These controls are
198 required to run a stock IBuySpy application.
202 New Mono.Posix class library that contains classes for working
203 on a Posix systems. Things like Unix domain sockets are here.
205 * System.Windows.Forms
207 Alexandre Pigolkine continues to contribute more code to our
208 Windows.Forms implementation. Currently it only runs on
209 Windows (or in Linux without GC enabled, due to the
210 pthread/Wine threading library mismatch. This is being
211 actively addressed as part of the Wine work due to the
212 movement to the new thread implementation available in RH 8.1).
216 Christopher Bockner has updated his DB2 database provider (now
217 with prepared statement functionality) and Tim Coleman has
218 continued work on the Oracle database provider (welcome back
223 Dan Morgan continues to develop core components in System.Data
224 (and now we welcome Alan Tam to the System.Data core hackers)
226 The SQL# tool now supports MySQLNet, Npgsql, DB2Client, and
231 mono --profile now performs memory allocation profiling too.
235 We now support multi-module with external file reference
238 The above in English means that we can now run Eiffel.NET code
243 More statistics supported now.
247 Per has contributed the code for this namespace.
251 Plenty of bugs were closed.
252 -------------------------------------------------------------------------
255 We have made a new release of Mono available. Despite the fact
256 that we just did Mono 0.18, this release is packed with new features.
260 Mono 0.19 is available in package format from:
262 http://www.go-mono.com/download.html
264 We released packages for SuSE 8.0, Mandrake 8.2, Debian and various
265 Red Hat releases. It is also available from Red Carpet on the Mono
268 Source code for Mono, MCS, the Mono Debugger, XSP is available as
269 well from that web page.
271 * New in this release
275 Lluis has implemented and documented the Binary formatter
276 Woohoo! He has done a lot of work as well to support
279 Patrik has also been working heavily on fixing a
280 number of remoting related bugs and missing features.
282 Ajay also implemented 1-d array serialization in System.Xml
284 * New database provider: IBM DB2
286 Christopher Bockner has contributed a DB2 data
287 provider for System.Data. We have a very complete
288 range of data providers.
292 Gaurav has started work on this assembly, this will
293 allow us to run the unmodified reference ASP.NET
294 applications that were designed to support Mobile
297 * System.Data and System.XML:
299 More implementation work on XmlDataDocument from Ville
300 and plenty of fixes from Atsushi.
304 Paolo integrated John Duncan's and Benjamin Reed
305 patches to make Mono run on MacOS X out of the box.
309 The initial implementation of it was done by Jonathan
310 Pryor and included in this release.
314 More work on the Mono Visual Basic compiler (it is now
315 included in the packages).
317 Plenty of bug fixes from Jackson, Miguel to the C#
320 Patches from Francesco and Daniel to the VB.NET
325 Plenty of updates to run the new Mono Debugger from Martin.
329 Some of everyone's favorite patches or code chunks have not yet
330 been integrated, hopefully Mono 0.20 will have them:
332 * Zoltan's patch to run IKVM is not yet on this release
334 * Some parts of Patrik's remoting code did not make it to the
337 * Reggie's MySQL native provider is also missing.
341 -------------------------------------------------------------------------
344 We have made a new release of Mono available. Despite the fact
345 that we just did Mono 0.18, this release is packed with new features.
349 Mono 0.19 is available in package format from:
351 http://www.go-mono.com/download.html
353 We released packages for SuSE 8.0, Mandrake 8.2, Debian and various
354 Red Hat releases. It is also available from Red Carpet on the Mono
357 Source code for Mono, MCS, the Mono Debugger, XSP is available as
358 well from that web page.
360 * New in this release
364 Lluis has implemented and documented the Binary formatter
365 Woohoo! He has done a lot of work as well to support
368 Patrik has also been working heavily on fixing a
369 number of remoting related bugs and missing features.
371 Ajay also implemented 1-d array serialization in System.Xml
373 * New database provider: IBM DB2
375 Christopher Bockner has contributed a DB2 data
376 provider for System.Data. We have a very complete
377 range of data providers.
381 Gaurav has started work on this assembly, this will
382 allow us to run the unmodified reference ASP.NET
383 applications that were designed to support Mobile
386 * System.Data and System.XML:
388 More implementation work on XmlDataDocument from Ville
389 and plenty of fixes from Atsushi.
393 Paolo integrated John Duncan's and Benjamin Reed
394 patches to make Mono run on MacOS X out of the box.
398 The initial implementation of it was done by Jonathan
399 Pryor and included in this release.
403 More work on the Mono Visual Basic compiler (it is now
404 included in the packages).
406 Plenty of bug fixes from Jackson, Miguel to the C#
409 Patches from Francesco and Daniel to the VB.NET
414 Plenty of updates to run the new Mono Debugger from Martin.
418 Some of everyone's favorite patches or code chunks have not yet
419 been integrated, hopefully Mono 0.20 will have them:
421 * Zoltan's patch to run IKVM is not yet on this release
423 * Some parts of Patrik's remoting code did not make it to the
426 * Reggie's MySQL native provider is also missing.
430 ------------------------------------------------------------------------------
433 The Mono team is proud to release Mono 0.18, with plenty of bug
434 fixes and improvements. If you are a happy 0.17 user, this
435 release is a happiness extension release. Many bugs in the
436 runtime, class libraries and C# compiler have been fixed.
438 Also, our special envoy in Japan has reported that there is
439 some naming confussion about the naming of Mono, as can be
440 seen in the following documentary material:
442 Atsushi Enomoto shows the source of confussion:
444 http://primates.ximian.com/~duncan/gallery/Duncan-in-Tokyo/DSCN0702
446 Nick and Duncan echo it:
448 http://primates.ximian.com/~duncan/gallery/Duncan-in-Tokyo/DSCN0703
452 Mono 0.18 packages and source code is available for download from:
454 http://www.go-mono.com/download.html
456 Those using Red Carpet on Linux can install Mono 0.18 from
457 the Mono channel. The packages have already been pushed for
460 At release time we have packages for Red Hat 8.0, 7.3,
461 7.2 and 7.1 and Mandrake 8.2.
463 * Contributors to this release
465 This release is brought to you by:
467 Alejandro Sanchez, Alp Toker, Atsushi Enomoto, Cesar Octavio
468 Lopez Netaren, Daniel Lopez (mod_mono), Daniel Morgan, Dennis
469 Hayes, Dick Porter, Dietmar Maurer, Duncan Mak, Eduardo
470 Garcia, Gaurav Vaish, Gonzalo Paniagua, Jackson Harper, Jaime
471 Anguiano, Jeroen Janssen, Johannes Roith, Jonathan Pryor, Juli
472 Mallett, Lluis Sanchez, Marco Ridoni, Martin Baulig, Miguel de
473 Icaza, Nick Drochak, Paolo Molaro, Patrik Torstensson, Piers
474 Haken, Rachel Hestilow, Rafael Teixeira, Ravi Pratap,
475 Sebastian Pouliot, Tim Coleman, Tim Hayes, Ville Palo, Zoltan
478 * New in this release
482 Many improvements to the Mono VB.NET compiler.
486 Plenty of bug fixes in ASP.NET. Larger applications
487 can now be run with it. The authentication system has
488 been deployed, most changes are from Gonzalo.
490 We have a modified IBuySpy running (without Xslt)
492 If you want to run ASP.NET you can run it with either
493 our XSP proof-of-concept server, or with Daniel's
494 Apache module that can be fetched from CVS (module
499 A Console, Gtk# and Windows.Forms tool to browse
500 compiled assemblies and examine the types on it, from
505 Nick continues the work on moving our test suite to NUnit 2.0
509 Gaurav has started work on the Mobile controls, which
510 are required to run some of the reference applications
511 in full-mode like IBuySpy.
515 The remoting infrastructure has got a big boost from
516 Lluis in this release.
520 Ville has been working on improving our System.Data
521 classes in the XML assembly.
525 Plenty of new crypto from Sebastien as well. A new
526 web page in our site can be used to track this.
528 http://www.go-mono.com/crypto.html
531 ----------------------------------------------------------------------
534 Version 0.17 of Mono has been released.
536 There are plenty of new features, bug fixes, new classes,
537 performance improvements, optimizations and much more
538 available in this release.
542 2605 cvs commits to the Mono repository since October 1st, an
543 average of 37 commits per day including weekends.
545 212 commits to the Mono module.
546 1438 commits to the MCS module.
550 Work has begun to make the runtime run a finalizer thread and
551 invoke all the finalizers from this thread. This is the same
552 behavior as Java and the Microsoft runtime, but it is disabled
555 Integrated the s390 work from Neale Ferguson.
557 Beginning of the work for pre-compiling code (Ahead of time
558 compilation) for Mono (based on the early work of Zoltan).
560 New option `--noboundscheck' for benchmark purposes, it
561 disables array bound checks.
563 Uses mmap instead of SysV shared memory for the Windows API
566 Plenty of bug fixes, improvements and integration with the
567 upper layer class libraries.
569 New exception handling code uses the GCC native support for
570 stack-walking if available and gives big performance boost
571 (15% on mcs bootstrap).
573 A lot of the work in the new release of Mono is required for
574 the Mono Debugger (which will be released separately). The
575 Mono debugger is interesting, because it can debug both
576 managed and unmanaged applications, but it only supports the
579 Dick, Dietmar, Gonzalo, Martin and Paolo were in charge of
580 most of these changes.
582 * Compiler improvements:
584 Many bug fixes as usual, better C# compliancy.
586 Performance improvements. The new release of the Mono C#
587 compiler is 37% faster than the previous version (self-compile
588 is down to 8 seconds). On my P4 1.8Ghz machine, the Mono C#
589 compiler compiles (342,000 lines per minute).
591 Thanks to go Ravi and Martin for helping out with the bug
594 * Cryptography and Security classes
596 Sebastien Pouliot and Andrew Birkett were extremely busy
597 during the past two months working on the cryptography
598 classes, many of the crypto providers are now working
600 Jackson on the other hand helped us with the security
601 classes, he said about those:
603 `Writing security classes is the most exciting thing I have
604 ever done, I can not wait to write more of them'.
608 We have now moved the code from the XSP server (which was our
609 test bed for ASP.NET) into the right classes inside
610 System.Web, and now any web server that was built by using the
611 System.Web hosting interfaces can be used with Mono.
613 The sample XSP server still exists, but it is now just a
614 simple implementation of the WorkerRequest and ApplicationHost
615 classes and can be used to test drive ASP.NET. A big thanks
616 goes to Gonzalo who worked on this night and day (mostly
619 Gaurav keeps helping us with the Web.Design classes, and
620 improving the existing web controls.
624 New providers are available in this release. The relentless
625 System.Data team (Brian, Dan, Rodrigo, Tim and Ville) are
626 hacking non-stop on the databse code. Improving existing
627 providers, and new providers.
629 The new providers on this release:
635 * Sqlite (for embedded use).
637 Many regression tests have been added as well (Ville has been
638 doing a great job here).
640 Brian also created a DB provider multiplexor (The ProviderFactory)
642 Stuart Caborn contributed Writing XML from a DataSet.
643 Luis Fernandez contributed constraint handling code.
645 Also there is new a Gtk# GUI tool from Dan that can be used to
646 try out various providers.
650 Atsushi has taken the lead in fixing and plugging the missing
651 parts of the System.XML namespace, many fixes, many
654 * CodeDom and the C# provider.
656 Jackson Harper has been helping us with the various interface
657 classes from the CodeDOM to the C# compiler, in this release
658 a new assembly joins us: Cscompmgd. It is a simple assembly,
659 and hence Microsoft decided not to waste an entire "System"
664 Nick Drochak has integrated the new NUnit 2.0 system.
668 Monograph now has a --stats option to get statistics on
672 CVS Contributors to this release:
674 Alejandro Sanchez, Alp Toker, Andrew Birkett, Atsushi Enomoto,
675 Brian Ritchie, Cesar Octavio Lopez Nataren, Chris Toshok,
676 Daniel Morgan, Daniel Stodden, Dennis Hayes, Dick Porter,
677 Diego Sevilla, Dietmar Maurer, Duncan Mak, Eduardo Garcia,
678 Ettore Perazzoli, Gaurav Vaish, Gonzalo Paniagua, Jackson
679 Harper, Jaime Anguiano, Johannes Roith, John Sohn, Jonathan
680 Pryor, Kristian Rietveld, Mads Pultz, Mark Crichton, Martin
681 Baulig, Martin Willemoes Hansen, Miguel de Icaza, Mike
682 Kestner, Nick Drochak, Nick Zigarovich, Paolo Molaro, Patrik
683 Torstensson, Phillip Pearson, Piers Haken, Rachel Hestilow,
684 Radek Doulik, Rafael Teixeira, Ravi Pratap, Rodrigo Moya,
685 Sebastien Pouliot, Tim Coleman, Tim Haynes, Ville Palo,
686 Vladimir Vukicevic, and Zoltan Varga.
688 (Am sorry, I could not track everyone from the ChangeLog
689 messages, I apologize in advance for the missing
692 ------------------------------------------------------------------------
696 Version 0.16 of Mono has been released! This is mostly a bug
697 fix release, a lot of work has been going on to make existing
698 features more robust and less buggy. Also, contributions are
699 too varied, so it is hard to classify them in groups.
703 795 commits to mono and mcs since August 23rd.
707 The changes that got in this releases are mostly
708 bugfixes. Miguel, Martin and Ravi attacked lots of bugs in the
709 compiler, Dick fixed a bunch of bugs related to processes and
710 threads. Mark Crichton resumed his work on the SPARC port and
711 made lots of progress there. Juli Mallett has been working on
712 making sure Mono also builds on BSD systems. As usual, Dietmar
713 and Paolo supplied their continuous stream of fixes to the
716 Dietmar has completed the work on the runtime side for
717 remoting support and we ship now with a sample channel, the
718 System.Runtime.Remoting.Sample. This can be used as a
719 reference implementation for anyone interested in implementing
720 other channels (like a CORBA channel).
722 Duncan got preliminary XSLT support done by using
725 Gonzalo (with some help from Patrik) has been working hard
726 making our ASP.NET implementation work on both Mono and MS by
727 migrating the existing xsp code to the class library. Gaurav
728 started working on the classes in System.Design.dll and Chris
729 Toshok checked in Mono.Directory.LDAP, which will be the
730 foundation to implement the System.DirectoryServices assembly.
732 Various fixes from Kral, Jason, Piers and Gonzalo were
733 committed to System.Xml; Martin Algiers reports that the
734 upcoming NAnt release will be fully compatible with Mono.
736 Miguel imported Sergey Chaban's Mono.PEToolkit and ilasm code
737 to CVS. Nick, as always, continues to refine our testing
738 framework by improving our tests. Andrew Birkett continues to
739 improve the implementation of our security/cryptographic
740 classes. Jonathan Pryor contributed type-reflector the our
743 * Other News From Behind de Curtain.
745 While the above is pretty impressive on its own, various other
746 non-released portions of Mono have been undergoing: Adam Treat
747 has been leading the effort to document our class libraries
748 and produce the tools required for it.
750 Martin Baulig has been working on the Mono Debugger which is
751 not being released yet. This debugger allows both native
752 Linux application as well as CIL applications to be debugged
753 at the same time (and in fact, you can use this to debug the
754 JIT engine). The debugger is written in C# with some C glue
756 In the meant A new JIT engine is under development, focused on
757 adding more of the high-end optimizations which will be
758 integrated on an ahead-of-time-compiler. Dietmar and Paolo
759 have been working on this.
761 * Contributors to this release
763 * Non-Ximian developers: Adam Treat, Andrew Birkett, Dennis
764 Hayes, Diego Sevilla, Franklin Wise, Gaurav Vaish ,Jason
765 Diamond, Johannes Roith, John Sohn, Jonathan Pryor, Juli
766 Mallett, Kral Ferch, Mike Crichton, Nick Drochak, Nick
767 Zigarovich, Piers Haken, Rafael Teixeira, Ricardo Fernandez
768 Pascual, Sergey Chaban, Tim Coleman.
770 * Ximian developers: Dietmar, Paolo, Dick, Duncan, Ravi,
771 Miguel, Martin, Chris, Joe, Gonzalo, Rodrigo.
774 ---------------------------------------------------------------------------------
775 * Sergey Chaban added thread-safe support to
776 System.Collections.SortedList.
778 * Fixes to the compiler by Andrew Birkett.
780 * Tim Coleman contributed the OleDb provider for System.Data and started
781 work on System.Web.Services.
783 * Radek fixed a lot of problems on the PPC side. [*]
785 * Miguel and Martin committed the new type lookup system.
787 * Dietmar rewrote the marshalling code. [*]
789 * Peter Williams and Martin contributed the new Makefiles, with help
790 from Alp Toker as well.
792 * Contributors to this release:
794 * Non-Ximian developers: Nick Drochak, Martin Baulig, Tim
795 Coleman, Mike Kestner, Alp Toker, Jonathan Pryor, Jaime
796 Anguiano, Piers Haken, Rafael Teixeira, Mark Crichton,
797 Sergey Chabon, Ajay Kumar Dwivedi, Andrew Birkett, Dennis
798 Hayes (SWF), Adam Treat, Johannes Roith and Lawrence Pit.
800 * Ximian developers: Duncan, Ravi, Dick, Dietmar, Paolo,
801 Gonzalo, Rachel, Radek, Rodrigo, Jeff, Peter Williams and
804 Special thanks to Duncan for helping me put this release together.
808 A new version of Mono (0.12), is out.
810 Mono is an open source implementation of the Microsoft.NET
811 Framework, and ships with a C# compiler, a runtime engine
812 (with a JIT on x86 cpus) and a set of class libraries.
814 Mono is know to work on a number of platforms:
815 x86/Linux, x86/Windows, x86/FreeBSD; sparc/solaris;
816 linuxppc/linux; strongarm/linux.
818 There have been many changes since the last release of Mono in
819 late April, thanks to Duncan for assembling the list of new
820 features, any omissions are my fault.
824 It is hard to keep track of the changes, as there are 1632
825 patches that were posted to the mailing list. One third of
826 the total number of patches since we opened mono-patches
827 list. I am sure I missed some stuff and probably missed some
828 contributors. I apologize in advance.
832 Paolo: New Reflection.Emit generation code generates
833 code that can be executed in Windows. Now binaries
834 generated by Mono/MCS will run on Windows.
836 Paolo got Activator.CreateInstance to work.
838 Sergey's CPU-optimization for CPBLK.
840 Many many bug fixes to the runtime from Dick, Dan
841 Lewis, Dietmar, Gonzalo, Martin, Paolo, Radek and Sergey,
845 Many bug fixes: The compiler can now compile Gtk#,
846 Vorbis#, System.Data assembly and System.Xml assembly
847 which previously did not work (Dietmar, Miguel, Paolo,
848 Piers, Ravi, Miguel). Thanks to all the bug
853 Mike started work on System.Xml.XPath
855 Christian, Dennis, Daniel and friends got more stubs
856 for System.Windows.Forms in.
858 Ajay revamped System.Xml.Schema. And Jason and Duncan
861 Daniel also checked in a working CodeDOM
862 implementation and a C# provider.
864 Many bug fixes by everyone. Thanks to Daniel, Duncan,
865 Jonathan, Lawrence, Martin Mike, Nick and Piers. I am
866 missing a lot of contributors that should be listed.
870 A lot of work from Gonzalo allows some small and
871 modest ASP.NET applications to run (you still need the
872 unreleased XSP code though).
876 Integrated the MySQL provider from Brad Merryl.
878 Lots of work by Dan, Rodrigo, Tim.
880 Microsoft.VisualBasic runtime support
882 Rafael and Chris have been working on the VisualBasic
889 This new version has new features:
893 * Ultrich Kunitz implemented the whole calendar set of
894 classes. Yes, thats right. The whole thing, with a
895 complete test suite. Thanks Ultrich!
897 * JIT/runtime features:
899 * Martin's debugging framework is included (see web
900 site for details on how to use it). (Martin)
902 * Transparent Proxy has been implemented for the
903 runtime (lets you run/debug/hack on remoting for Mono) (Dietmar)
905 * Inline and constant folding/propagation support
906 in the JIT engine (Dietmar)
908 * Profiling support for the JIT engine (--profile).
910 * Cool runtime hacks, that made our compiler twice as fast:
912 * New string rewrite: faster, speedier, leaner, cooler!
914 Paolo had been talking about a new string rewrite,
915 and super hacker Patrik Torstensson started the
916 implementation, Dietmar then switched the object
917 layout and the Mono team helped iron out a few of
920 * New array reprensetation: Dan Lewis contributed a new
921 faster and smaller array implementation.
923 * Improved Reflection.Emit: Paolo improved our
924 reflection emit code.
928 * Daniel Morgan, Rodrigo Moya have some pieces of the
929 Sql classes ready to run. he first signs of life
930 this week (we can connect, insert rows; do transactions:
931 commit/rollback; SQL errors and exceptions work).
935 * The HTTP runtime (to be used by our ASP.NET implementation)
936 was contributed by Patrik Torstensson. Patrik not only
937 contributed a massive ammount of classes, but he immediately
938 went on to implement ThreadPools and then helped out with the
943 * Kral Ferch and Duncan Mak contributed more
944 improvements to the XML implementation.
946 * Work on Xml Serialization from John Donagher.
950 * MonoDoc ships for the first time!
951 (John Barnette, Adam Treat and John Sohn)
953 * New documentation stubs ready to be filled, and translated
954 included (thanks to our doc team!)
958 * Piers Haken fixed many of our attributes and many
959 little problems that were exposed by his CorCompare tool
961 * Many Mono C# compiler bug fixes.
963 * Other improvements:
965 * NUnit works on Linux! (Patrik Torstensson)
967 * More NUnit tests (Nick Drochak)
969 * Windows.Forms progress: Dennis Hayes and Christian
970 Meyer have been contributing stubs for the
973 * Full Parse implementations and bug fixing by Gonzalo
975 * Dan Lewis contributed some missing classes for the
976 Regexp implementation.
978 * Jonathan's trace classes
980 * This Month's Mono is brought to you by:
982 Adam Treat, Chris Podugriel, Christian Meyer, Daniel Lewis,
983 Daniel Morgan, Dennis Hayes, Dick Porter, Dietmar Maurer,
984 Duncan Mak, Guarav Vaish, Gonzalo Paniagua, Jaime Anguiano,
985 Jason Diamond, Joe Shaw, John Barnette, John Donagher, John
986 Sohn, Jonathan Pryor, Kral Ferch, Martin Baulig, Miguel de
987 Icaza, Mike Kestner, Nick Drochak, Paolo Molaro, Patrik
988 Tostensson, Piers Haken, Ravi Pratap, Rodrigo Moya, Sergey
989 Chanben, Ultrich Kunitz, Wictor Wilen.
991 I know that I missed some features, there is a lot of work
992 that happens in a month. I apologize in advance for any
993 features I omited by accident.
995 Special thanks go to Duncan for helping out with all those
996 little details in the project. And also Nick who has been
997 keeping us in good shape by maintaining and helping new
998 contributors provide more test suites.
1002 If you find a bug in Mono, please file a bug here:
1004 http://bugzilla.ximian.com
1006 That way we wont loose your bug report, and will be able to
1007 follow up properly with it. Also try to provide simple test
1008 cases whenever possible and try as hard as possible to
1009 identify the root of a problem (compiler, runtime, class
1014 The mono-list-request@ximian.com mailing list is open for
1015 those of you who want to discuss the future of Mono.
1019 Mono "Self Hosting" 0.10 is out! (Alex insisted I used the
1020 <blink> tag for "Self Hosting", but was dissapointed when he
1021 realized most mailers dont support this).
1023 Too many things have happened since the the 0.9 release,
1024 almost an entire month. The big news is that we are shipping
1025 a the self-hosting Mono C# compiler. This has been tested on
1028 Also, we delayed the release for one reason or other, but it
1029 turns out that as a extra bonus, Paolo fixed the last
1030 outstanding bug in the JIT engine, so the compiler now runs in
1031 the JIT engine instead of the interpreter.
1033 The mono-0.10 release includes the libraries required to run
1034 the compiler as well as assorted .NET programs [1].
1038 There is so much stuff in this release that is hard to keep
1041 Jason, Kral and Duncan have done an amazing job with
1042 System.Xml, up to the point that it is even being used by
1043 gtk-sharp's code generator (and it all comes with great test
1044 suites to verify that it works!). Ajay's XmlSchema code is
1047 Martin worked on our debugging infrastructure (the JIT can
1048 load dwarf files, and our class libraries now generate dwarf
1049 debugging info; we are in the process of adding this to the
1050 compiler, the patch did not make it to this release though).
1052 For the first time the System.Web assembly has built without
1053 all the excludes, so you can get your hands on Gaurav and
1054 Lee's massive code base.
1056 Lots of new tests to the runtime, class libraries and compiler
1057 are included. As always, big thanks go to Nick for continued
1058 guidance to new developers, and writing new tests.
1060 Dan removed the System.PAL dependency, we now have moved to an
1061 internalcall setup for all the System.IO calls, and dropped
1062 the MonoWrapper shared library.
1064 Porting wise: Sergey's StrongARM port is included now; Jeff's
1065 SPARC port and Radek's PowerPC port have been updated to
1066 reflect the new changes in the engine.
1068 Runtime wise: Dietmar also got us asyncronous delegates
1069 implemented. Dick continues his work on our foundation
1070 classes, and has resumed his work on the IO layer.
1072 Paolo is the hero behind self hosting on Linux. Send your
1073 congrats (and wine) to him.
1075 And without the help from Mike, Duco, David, Piers, Nick,
1076 Sergey, Mark, Jonathan, John, Adam and Dennis this release
1077 would have not been possible.
1079 This release is mostly ECMA compatible. I did not expect this
1080 to happen so soon. I am very grateful to everyone who has
1085 The runtime sources and binaries to the compiler/libraries:
1087 http://www.go-mono.com/archive/mono-0.10.tar.gz
1089 The class and compiler sources:
1091 http://www.go-mono.com/archive/mcs-0.10.tar.gz
1095 You still need glib-2, and pkg-config. If you plan on
1096 compiling large applications, getting the Boehm GC is a plus
1097 (we will integrate this in a future version, for now it is an
1098 external requirement).
1100 Boehm GC is available in packaged format for Debian and Red
1103 * To compile on Linux
1105 Do your regular chores with mono-0.10.tar.gz, you know the
1106 drill. In the end, after you reach the `make install' phase,
1107 now you can do some cool stuff.
1109 If you want to compile the compiler (just to try it out),
1110 untar the sources to the compiler (mcs-0.10.tar.gz) and do
1115 (cd mcs; make monomcs)
1117 Now you will end up with a nice mcs4.exe in the mcs/mcs
1118 directory, that is the compiler. If you want to use that,
1119 replace the mcs.exe we distribute with the mcs4.exe you got.
1123 Man pages for mcs, mono and mint are included for your
1126 Particularly of interest is `mint --profile' which is awesome
1127 to profile your application, the output is very useful.
1129 Also, if you want to impress your friends, you might want to
1130 run the JIT with the `-d' flag, that shows you how the JITer
1131 compiles the code (and shows the basic blocks and the forst of
1136 More classes are missing. These are required so we can run
1137 nant and nunit natively. Once we achieve that, we will be
1138 able to ship a complete environment that compiles on Linux.
1140 Currently our makefiles still use csc, as we still need
1143 [1] Of course, .NET programs that try to use classes we have not yet
1144 implemented, will be left wondering `why did this happen to me?'.
1148 I have just uploaded Mono 0.9 to the web server, you can get
1151 http://www.go-mono.com/archive/mono-0.9.tar.gz
1152 http://www.go-mono.com/archive/mcs-0.9.tar.gz
1154 mono-0.9.tar.gz contains the source code to the runtime (JIT
1155 and interpreter) as well as a pre-compiled version of the
1156 compiler (mcs.exe) and the class libraries.
1158 To compile the compiler and the class libraries, you still
1159 need Windows with the .NET SDK, as our runtime can not host
1160 the compiler completely yet.
1162 * Improved Build System
1164 You can check http://www.go-mono.com/download.html for the
1165 new and fresh compilation instructions. Same requirements as
1166 the last version (pkg-config, glib 1.3.xx need to be
1171 Compiler can compile about 75% of our regression test suite
1172 on Linux. Most of this work is on the class libraries and
1173 Paolo has been the magician behind the work here.
1175 JIT can run the compiler now (Dietmar)
1177 Mint works on Windows now (Dick).
1179 Application Domains have been implemented (Dietmar)
1181 * Two modes of operation are available, depending on
1182 your needs: share code, or maximize speed (does not
1183 share code). This is described by the the
1184 LoaderOptimization enumeration in .NET.
1186 Corlib no longer has references to mscorlib (Daniel Lewis)
1189 PowerPC has been updated (Radek Doulik)
1190 New SPARC port (Jeffrey Stedfast)
1192 Documentation system:
1193 Adam Treat has been working on finishing the Doctools
1194 to maintain the Mono class library documentation. We
1195 still need a GUI editor though.
1198 Nick's new tools to track progress are included in
1201 Many new more regression tests for the class library
1202 (David Brandt, Mark Crichton, Nick Drochak, Bob Doan,
1206 Gaurav Vaish (the hacking god behind System.Web),
1207 Chris Podugriel (System.Data) and Mark Crichton (Crypto)
1210 Socket layer is finished (Dick Porter)
1212 Compiler has full support for unsafe code now (Miguel)
1213 Still a few things missing: constant folding is not
1214 finished everywhere and access permissions are not
1217 Many many many bug fixes everywhere from everyone on the team:
1219 Paolo Molaro, Daniel Lewis, Daniel Stodden, Dietmar
1220 Maurer, Jeff Stedfast, Nick Drochak, Duco Fijma, Ravi Pratap,
1221 Dick Porter, Duncan Mak, Jeff Stedfast and Miguel de Icaza.
1223 I am sorry if I left a major component out of the
1224 announcement, this were some intense 11 days of work.
1226 * What is obviously missing
1228 Currently our System.Reflection.Emit is lacking array and
1229 pointer support, which is why many programs still do not
1230 compile, but this should be taken care of next week.
1234 There are many ways to help the project, check the details
1237 http://www.go-mono.com/contributing.html
1239 You might also want to stop by our IRC channel on
1240 irc.gnome.org, channel #mono if you are interested in
1243 Have a happy weekend!
1248 Mono 0.7 has been released.
1250 It has been a long time since the last release of Mono (almost
1251 three weeks). We have made an incredible ammount of work in the past
1254 * Highlights of this release:
1256 * The monoburg: BURS-instruction selector implemented (for our
1257 portable JIT engine).
1259 * JIT engine works for very simple programs (Fibonacci works
1260 for instance). It is about 30% faster running than the
1261 equivalent code compiled with Kaffe.
1263 The interesting part is that this was accomplished with the
1264 a minimum register allocator, and very simple monoburg
1265 rules, so there is a *lot* of room to improve here.
1267 * The Interpreter has madured a lot. Value Types are fully
1268 supported now; We dropped the FFI dependency, as we now
1269 have our own code generator.
1271 * The runtime has been expanded and extended as to support
1272 real file I/O (including console I/O). So Hello World works
1275 * The compiler can generate code for most statements now; It
1276 also performs semantic analysis on most expressions.
1277 Creation of new objects is supported, access to parameters,
1278 fields and local variables works. Method invocation works.
1279 Implicit type conversions, assignments and much more.
1281 Operator overloading is implemented, but broken on this
1282 release, hopefully this will be fixed soon.
1284 Delegates and Attributes are now declared and passed around,
1285 but no code generation for those exist yet.
1287 * More classes (look for details). Sergey and Paolo have been
1288 working on various classes in System.Reflection.Emit to get
1289 the compiler self-hosting.
1291 * NUnit is now part of the distribution, so it should be
1292 trivial to write test cases (and if you want to help out,
1293 this is one way to do it, we really need more tests cases).
1295 I am going to try to switch to Nick's JB for C# this week or next
1296 week. But the excitement of having the compiler deal with real C#
1297 programs is too much to be contained, and I can not keep my hands of
1298 the code generation in the compiler.
1302 http://www.go-mono.com/archive/mono-0.7.tar.gz
1303 http://www.go-mono.com/archive/mcs-0.7.tar.gz
1307 Class Library Changes:
1309 Many enumerations have been revamped to have the same value
1310 definitions as those in .NET as those cause problems. They were also
1311 missing the [Flags] attributes, so we got that right too.
1314 SerializableAttribute impl (Miguel)
1315 String updates (Jeff)
1318 * System.Configuration
1319 ConfigurationSettings impl (Christopher Podurgiel)
1320 SingleTagSectionHandler impl (Christopher Podurgiel)
1321 DictionarySectionHandler impl (Christopher Podurgiel)
1323 * System.Collections.Specialized
1324 NameObjectCollectionBase impl (Nick Drochak)
1326 * System.Diagnostics
1327 StackFrame stubs (alexk)
1328 StackTrace stubs (alexk)
1331 File stubs (Jim Richardson)
1332 IOException impl (Paolo)
1333 StreamWriter impl (Dietmar)
1334 StreamReader stubs (Dietmar)
1337 ConnectionModes (Miguel)
1338 ProxyUseType (Miguel)
1342 Assembly (stubs) (Paolo)
1346 * System.Reflection.Emit
1349 FlowControl (Sergey)
1350 ILGenerator (stubbed) (Paolo)
1352 MethodToken (Sergey)
1356 OperandType (Sergey)
1358 PackingSize (Sergey)
1359 ParameterToken (Sergey)
1360 PropertyToken (Sergey)
1361 SignatureToken (Sergey)
1362 StackBehaviour (Sergey)
1363 StringToken (Sergey)
1368 Most classes stubbed out by Dick Porter (Dick)
1371 HttpWorkerRequest stubs (Bob Smith)
1373 * System.Web.Hosting (Bob Smith)
1374 AppDomainFactory stubs (Bob Smith)
1375 ApplicationHost stubs (Bob Smith)
1376 IAppDomainFactory stubs (Bob Smith)
1377 IISAPIRuntime stubs (Bob Smith)
1378 ISAPIRuntime stubs (Bob Smith)
1379 SimpleWorkerRequest stubs (Bob Smith)
1382 LiteralControl implemented (Bob Smith)
1383 HtmlContainerControl bugfixes (Bob Smith)
1386 HtmlTextWriterAttribute
1390 IDataBindingsAccessor
1393 IPostBackDataHandler
1394 IPostBackEventHandler
1396 ITagNameToTypeMapper
1399 ImageClickEventHandler
1404 * System.Web.UI.HtmlControls
1405 HtmlAnchor impl (Leen Teolen)
1406 HtmlTextArea impl (Leen Teolen)
1408 * System.Web.UI.WebControls
1409 WebControl.cs (Gaurav Vaish)
1412 Lots of enumerations (Miguel)
1415 * Add loads of enumerations throughout (Sergey)
1420 * Assignment (Miguel)
1422 * expression semantic analysis (Miguel)
1424 * constructor creation, chaining (Miguel)
1426 * Unified error reporting (Ravi)
1428 * initial attribute support (Ravi)
1430 * calling convention support (Miguel)
1432 * loop construct code generation (Miguel)
1434 * conditional statement code generation (Miguel)
1436 * indexer declarations (Ravi)
1438 * event declarations (Ravi)
1440 * try/catch parsing fixed (Ravi)
1442 * initial delegate support (Ravi)
1444 * operator overload (Ravi)
1448 * Add NUnit windows binaries to distribution (Nick Drochak, Miguel)
1452 * First JIT implementation (Dietmar, Paolo)
1454 * value type size calculation (Dietmar)
1456 * full value type support (Paolo)
1458 * frequently used types cache (Paolo)
1460 * FileStream support (Paolo)
1462 * Console input/output support (Dietmar)
1464 * print arguments and exception name in stack trace (Paolo)
1466 * beginnings of virtual call support (Paolo)
1468 * reimplement pinvoke support (Dietmar)
1470 * remove libffi dependency (Dietmar)
1472 * IBURG code generator implementation (Dietmar)
1474 * new opcodes implemented: starg.s, ldobj, isinst, (Paolo, Miguel)
1475 ldarg, starg, ldloc, ldloca, stloc, initobj,
1476 cpblk, sizeof, conv.i, conv.i1, conv.i2, conv.i4,
1477 conv.i8, conv.u1, conv.u2, conv.u4, conv.r4,
1478 conv.r8, ldelema, ceq, cgt, clt.
1482 Parts of this list of features were compiled by Alex by following
1483 the CVS mailing list. My deepest thanks to Alex for helping me out
1484 with this. I want to apologize for the missing features that I did
1485 not document here, Mono is moving too fast to keep track of all the
1488 2002-Feb-11 Miguel de Icaza <miguel@ximian.com>
1490 New release, functional x86-JIT, x86 interpreter, ppc interpreter
1492 Class libraries ship.
1494 Limited compiler ships.
1496 Too many changes to list
1498 2001-07-12 Miguel de Icaza <miguel@ximian.com>
1500 New XSLT file from Sergey Chaban for CIL opcodes
1502 Paolo got the beginning of an interpreter in.
1504 Further work on the dissasembler.
1506 Fix various parts of the metadata library
1508 2001-05-30 Miguel de Icaza <miguel@ximian.com>