1 * Sergey Chaban added thread-safe support to
2 System.Collections.SortedList.
4 * Fixes to the compiler by Andrew Birkett.
6 * Tim Coleman contributed the OleDb provider for System.Data and started
7 work on System.Web.Services.
9 * Radek fixed a lot of problems on the PPC side. [*]
11 * Miguel and Martin committed the new type lookup system.
13 * Dietmar rewrote the marshalling code. [*]
15 * Peter Williams and Martin contributed the new Makefiles, with help
16 from Alp Toker as well.
18 * Contributors to this release:
20 * Non-Ximian developers: Nick Drochak, Martin Baulig, Tim
21 Coleman, Mike Kestner, Alp Toker, Jonathan Pryor, Jaime
22 Anguiano, Piers Haken, Rafael Teixeira, Mark Crichton,
23 Sergey Chabon, Ajay Kumar Dwivedi, Andrew Birkett, Dennis
24 Hayes (SWF), Adam Treat, Johannes Roith and Lawrence Pit.
26 * Ximian developers: Duncan, Ravi, Dick, Dietmar, Paolo,
27 Gonzalo, Rachel, Radek, Rodrigo, Jeff, Peter Williams and
30 Special thanks to Duncan for helping me put this release together.
34 A new version of Mono (0.12), is out.
36 Mono is an open source implementation of the Microsoft.NET
37 Framework, and ships with a C# compiler, a runtime engine
38 (with a JIT on x86 cpus) and a set of class libraries.
40 Mono is know to work on a number of platforms:
41 x86/Linux, x86/Windows, x86/FreeBSD; sparc/solaris;
42 linuxppc/linux; strongarm/linux.
44 There have been many changes since the last release of Mono in
45 late April, thanks to Duncan for assembling the list of new
46 features, any omissions are my fault.
50 It is hard to keep track of the changes, as there are 1632
51 patches that were posted to the mailing list. One third of
52 the total number of patches since we opened mono-patches
53 list. I am sure I missed some stuff and probably missed some
54 contributors. I apologize in advance.
58 Paolo: New Reflection.Emit generation code generates
59 code that can be executed in Windows. Now binaries
60 generated by Mono/MCS will run on Windows.
62 Paolo got Activator.CreateInstance to work.
64 Sergey's CPU-optimization for CPBLK.
66 Many many bug fixes to the runtime from Dick, Dan
67 Lewis, Dietmar, Gonzalo, Martin, Paolo, Radek and Sergey,
71 Many bug fixes: The compiler can now compile Gtk#,
72 Vorbis#, System.Data assembly and System.Xml assembly
73 which previously did not work (Dietmar, Miguel, Paolo,
74 Piers, Ravi, Miguel). Thanks to all the bug
79 Mike started work on System.Xml.XPath
81 Christian, Dennis, Daniel and friends got more stubs
82 for System.Windows.Forms in.
84 Ajay revamped System.Xml.Schema. And Jason and Duncan
87 Daniel also checked in a working CodeDOM
88 implementation and a C# provider.
90 Many bug fixes by everyone. Thanks to Daniel, Duncan,
91 Jonathan, Lawrence, Martin Mike, Nick and Piers. I am
92 missing a lot of contributors that should be listed.
96 A lot of work from Gonzalo allows some small and
97 modest ASP.NET applications to run (you still need the
98 unreleased XSP code though).
102 Integrated the MySQL provider from Brad Merryl.
104 Lots of work by Dan, Rodrigo, Tim.
106 Microsoft.VisualBasic runtime support
108 Rafael and Chris have been working on the VisualBasic
115 This new version has new features:
119 * Ultrich Kunitz implemented the whole calendar set of
120 classes. Yes, thats right. The whole thing, with a
121 complete test suite. Thanks Ultrich!
123 * JIT/runtime features:
125 * Martin's debugging framework is included (see web
126 site for details on how to use it). (Martin)
128 * Transparent Proxy has been implemented for the
129 runtime (lets you run/debug/hack on remoting for Mono) (Dietmar)
131 * Inline and constant folding/propagation support
132 in the JIT engine (Dietmar)
134 * Profiling support for the JIT engine (--profile).
136 * Cool runtime hacks, that made our compiler twice as fast:
138 * New string rewrite: faster, speedier, leaner, cooler!
140 Paolo had been talking about a new string rewrite,
141 and super hacker Patrik Torstensson started the
142 implementation, Dietmar then switched the object
143 layout and the Mono team helped iron out a few of
146 * New array reprensetation: Dan Lewis contributed a new
147 faster and smaller array implementation.
149 * Improved Reflection.Emit: Paolo improved our
150 reflection emit code.
154 * Daniel Morgan, Rodrigo Moya have some pieces of the
155 Sql classes ready to run. he first signs of life
156 this week (we can connect, insert rows; do transactions:
157 commit/rollback; SQL errors and exceptions work).
161 * The HTTP runtime (to be used by our ASP.NET implementation)
162 was contributed by Patrik Torstensson. Patrik not only
163 contributed a massive ammount of classes, but he immediately
164 went on to implement ThreadPools and then helped out with the
169 * Kral Ferch and Duncan Mak contributed more
170 improvements to the XML implementation.
172 * Work on Xml Serialization from John Donagher.
176 * MonoDoc ships for the first time!
177 (John Barnette, Adam Treat and John Sohn)
179 * New documentation stubs ready to be filled, and translated
180 included (thanks to our doc team!)
184 * Piers Haken fixed many of our attributes and many
185 little problems that were exposed by his CorCompare tool
187 * Many Mono C# compiler bug fixes.
189 * Other improvements:
191 * NUnit works on Linux! (Patrik Torstensson)
193 * More NUnit tests (Nick Drochak)
195 * Windows.Forms progress: Dennis Hayes and Christian
196 Meyer have been contributing stubs for the
199 * Full Parse implementations and bug fixing by Gonzalo
201 * Dan Lewis contributed some missing classes for the
202 Regexp implementation.
204 * Jonathan's trace classes
206 * This Month's Mono is brought to you by:
208 Adam Treat, Chris Podugriel, Christian Meyer, Daniel Lewis,
209 Daniel Morgan, Dennis Hayes, Dick Porter, Dietmar Maurer,
210 Duncan Mak, Guarav Vaish, Gonzalo Paniagua, Jaime Anguiano,
211 Jason Diamond, Joe Shaw, John Barnette, John Donagher, John
212 Sohn, Jonathan Pryor, Kral Ferch, Martin Baulig, Miguel de
213 Icaza, Mike Kestner, Nick Drochak, Paolo Molaro, Patrik
214 Tostensson, Piers Haken, Ravi Pratap, Rodrigo Moya, Sergey
215 Chanben, Ultrich Kunitz, Wictor Wilen.
217 I know that I missed some features, there is a lot of work
218 that happens in a month. I apologize in advance for any
219 features I omited by accident.
221 Special thanks go to Duncan for helping out with all those
222 little details in the project. And also Nick who has been
223 keeping us in good shape by maintaining and helping new
224 contributors provide more test suites.
228 If you find a bug in Mono, please file a bug here:
230 http://bugzilla.ximian.com
232 That way we wont loose your bug report, and will be able to
233 follow up properly with it. Also try to provide simple test
234 cases whenever possible and try as hard as possible to
235 identify the root of a problem (compiler, runtime, class
240 The mono-list-request@ximian.com mailing list is open for
241 those of you who want to discuss the future of Mono.
245 Mono "Self Hosting" 0.10 is out! (Alex insisted I used the
246 <blink> tag for "Self Hosting", but was dissapointed when he
247 realized most mailers dont support this).
249 Too many things have happened since the the 0.9 release,
250 almost an entire month. The big news is that we are shipping
251 a the self-hosting Mono C# compiler. This has been tested on
254 Also, we delayed the release for one reason or other, but it
255 turns out that as a extra bonus, Paolo fixed the last
256 outstanding bug in the JIT engine, so the compiler now runs in
257 the JIT engine instead of the interpreter.
259 The mono-0.10 release includes the libraries required to run
260 the compiler as well as assorted .NET programs [1].
264 There is so much stuff in this release that is hard to keep
267 Jason, Kral and Duncan have done an amazing job with
268 System.Xml, up to the point that it is even being used by
269 gtk-sharp's code generator (and it all comes with great test
270 suites to verify that it works!). Ajay's XmlSchema code is
273 Martin worked on our debugging infrastructure (the JIT can
274 load dwarf files, and our class libraries now generate dwarf
275 debugging info; we are in the process of adding this to the
276 compiler, the patch did not make it to this release though).
278 For the first time the System.Web assembly has built without
279 all the excludes, so you can get your hands on Gaurav and
280 Lee's massive code base.
282 Lots of new tests to the runtime, class libraries and compiler
283 are included. As always, big thanks go to Nick for continued
284 guidance to new developers, and writing new tests.
286 Dan removed the System.PAL dependency, we now have moved to an
287 internalcall setup for all the System.IO calls, and dropped
288 the MonoWrapper shared library.
290 Porting wise: Sergey's StrongARM port is included now; Jeff's
291 SPARC port and Radek's PowerPC port have been updated to
292 reflect the new changes in the engine.
294 Runtime wise: Dietmar also got us asyncronous delegates
295 implemented. Dick continues his work on our foundation
296 classes, and has resumed his work on the IO layer.
298 Paolo is the hero behind self hosting on Linux. Send your
299 congrats (and wine) to him.
301 And without the help from Mike, Duco, David, Piers, Nick,
302 Sergey, Mark, Jonathan, John, Adam and Dennis this release
303 would have not been possible.
305 This release is mostly ECMA compatible. I did not expect this
306 to happen so soon. I am very grateful to everyone who has
311 The runtime sources and binaries to the compiler/libraries:
313 http://www.go-mono.com/archive/mono-0.10.tar.gz
315 The class and compiler sources:
317 http://www.go-mono.com/archive/mcs-0.10.tar.gz
321 You still need glib-2, and pkg-config. If you plan on
322 compiling large applications, getting the Boehm GC is a plus
323 (we will integrate this in a future version, for now it is an
324 external requirement).
326 Boehm GC is available in packaged format for Debian and Red
329 * To compile on Linux
331 Do your regular chores with mono-0.10.tar.gz, you know the
332 drill. In the end, after you reach the `make install' phase,
333 now you can do some cool stuff.
335 If you want to compile the compiler (just to try it out),
336 untar the sources to the compiler (mcs-0.10.tar.gz) and do
341 (cd mcs; make monomcs)
343 Now you will end up with a nice mcs4.exe in the mcs/mcs
344 directory, that is the compiler. If you want to use that,
345 replace the mcs.exe we distribute with the mcs4.exe you got.
349 Man pages for mcs, mono and mint are included for your
352 Particularly of interest is `mint --profile' which is awesome
353 to profile your application, the output is very useful.
355 Also, if you want to impress your friends, you might want to
356 run the JIT with the `-d' flag, that shows you how the JITer
357 compiles the code (and shows the basic blocks and the forst of
362 More classes are missing. These are required so we can run
363 nant and nunit natively. Once we achieve that, we will be
364 able to ship a complete environment that compiles on Linux.
366 Currently our makefiles still use csc, as we still need
369 [1] Of course, .NET programs that try to use classes we have not yet
370 implemented, will be left wondering `why did this happen to me?'.
374 I have just uploaded Mono 0.9 to the web server, you can get
377 http://www.go-mono.com/archive/mono-0.9.tar.gz
378 http://www.go-mono.com/archive/mcs-0.9.tar.gz
380 mono-0.9.tar.gz contains the source code to the runtime (JIT
381 and interpreter) as well as a pre-compiled version of the
382 compiler (mcs.exe) and the class libraries.
384 To compile the compiler and the class libraries, you still
385 need Windows with the .NET SDK, as our runtime can not host
386 the compiler completely yet.
388 * Improved Build System
390 You can check http://www.go-mono.com/download.html for the
391 new and fresh compilation instructions. Same requirements as
392 the last version (pkg-config, glib 1.3.xx need to be
397 Compiler can compile about 75% of our regression test suite
398 on Linux. Most of this work is on the class libraries and
399 Paolo has been the magician behind the work here.
401 JIT can run the compiler now (Dietmar)
403 Mint works on Windows now (Dick).
405 Application Domains have been implemented (Dietmar)
407 * Two modes of operation are available, depending on
408 your needs: share code, or maximize speed (does not
409 share code). This is described by the the
410 LoaderOptimization enumeration in .NET.
412 Corlib no longer has references to mscorlib (Daniel Lewis)
415 PowerPC has been updated (Radek Doulik)
416 New SPARC port (Jeffrey Stedfast)
418 Documentation system:
419 Adam Treat has been working on finishing the Doctools
420 to maintain the Mono class library documentation. We
421 still need a GUI editor though.
424 Nick's new tools to track progress are included in
427 Many new more regression tests for the class library
428 (David Brandt, Mark Crichton, Nick Drochak, Bob Doan,
432 Gaurav Vaish (the hacking god behind System.Web),
433 Chris Podugriel (System.Data) and Mark Crichton (Crypto)
436 Socket layer is finished (Dick Porter)
438 Compiler has full support for unsafe code now (Miguel)
439 Still a few things missing: constant folding is not
440 finished everywhere and access permissions are not
443 Many many many bug fixes everywhere from everyone on the team:
445 Paolo Molaro, Daniel Lewis, Daniel Stodden, Dietmar
446 Maurer, Jeff Stedfast, Nick Drochak, Duco Fijma, Ravi Pratap,
447 Dick Porter, Duncan Mak, Jeff Stedfast and Miguel de Icaza.
449 I am sorry if I left a major component out of the
450 announcement, this were some intense 11 days of work.
452 * What is obviously missing
454 Currently our System.Reflection.Emit is lacking array and
455 pointer support, which is why many programs still do not
456 compile, but this should be taken care of next week.
460 There are many ways to help the project, check the details
463 http://www.go-mono.com/contributing.html
465 You might also want to stop by our IRC channel on
466 irc.gnome.org, channel #mono if you are interested in
469 Have a happy weekend!
474 Mono 0.7 has been released.
476 It has been a long time since the last release of Mono (almost
477 three weeks). We have made an incredible ammount of work in the past
480 * Highlights of this release:
482 * The monoburg: BURS-instruction selector implemented (for our
483 portable JIT engine).
485 * JIT engine works for very simple programs (Fibonacci works
486 for instance). It is about 30% faster running than the
487 equivalent code compiled with Kaffe.
489 The interesting part is that this was accomplished with the
490 a minimum register allocator, and very simple monoburg
491 rules, so there is a *lot* of room to improve here.
493 * The Interpreter has madured a lot. Value Types are fully
494 supported now; We dropped the FFI dependency, as we now
495 have our own code generator.
497 * The runtime has been expanded and extended as to support
498 real file I/O (including console I/O). So Hello World works
501 * The compiler can generate code for most statements now; It
502 also performs semantic analysis on most expressions.
503 Creation of new objects is supported, access to parameters,
504 fields and local variables works. Method invocation works.
505 Implicit type conversions, assignments and much more.
507 Operator overloading is implemented, but broken on this
508 release, hopefully this will be fixed soon.
510 Delegates and Attributes are now declared and passed around,
511 but no code generation for those exist yet.
513 * More classes (look for details). Sergey and Paolo have been
514 working on various classes in System.Reflection.Emit to get
515 the compiler self-hosting.
517 * NUnit is now part of the distribution, so it should be
518 trivial to write test cases (and if you want to help out,
519 this is one way to do it, we really need more tests cases).
521 I am going to try to switch to Nick's JB for C# this week or next
522 week. But the excitement of having the compiler deal with real C#
523 programs is too much to be contained, and I can not keep my hands of
524 the code generation in the compiler.
528 http://www.go-mono.com/archive/mono-0.7.tar.gz
529 http://www.go-mono.com/archive/mcs-0.7.tar.gz
533 Class Library Changes:
535 Many enumerations have been revamped to have the same value
536 definitions as those in .NET as those cause problems. They were also
537 missing the [Flags] attributes, so we got that right too.
540 SerializableAttribute impl (Miguel)
541 String updates (Jeff)
544 * System.Configuration
545 ConfigurationSettings impl (Christopher Podurgiel)
546 SingleTagSectionHandler impl (Christopher Podurgiel)
547 DictionarySectionHandler impl (Christopher Podurgiel)
549 * System.Collections.Specialized
550 NameObjectCollectionBase impl (Nick Drochak)
553 StackFrame stubs (alexk)
554 StackTrace stubs (alexk)
557 File stubs (Jim Richardson)
558 IOException impl (Paolo)
559 StreamWriter impl (Dietmar)
560 StreamReader stubs (Dietmar)
563 ConnectionModes (Miguel)
564 ProxyUseType (Miguel)
568 Assembly (stubs) (Paolo)
572 * System.Reflection.Emit
576 ILGenerator (stubbed) (Paolo)
585 ParameterToken (Sergey)
586 PropertyToken (Sergey)
587 SignatureToken (Sergey)
588 StackBehaviour (Sergey)
594 Most classes stubbed out by Dick Porter (Dick)
597 HttpWorkerRequest stubs (Bob Smith)
599 * System.Web.Hosting (Bob Smith)
600 AppDomainFactory stubs (Bob Smith)
601 ApplicationHost stubs (Bob Smith)
602 IAppDomainFactory stubs (Bob Smith)
603 IISAPIRuntime stubs (Bob Smith)
604 ISAPIRuntime stubs (Bob Smith)
605 SimpleWorkerRequest stubs (Bob Smith)
608 LiteralControl implemented (Bob Smith)
609 HtmlContainerControl bugfixes (Bob Smith)
612 HtmlTextWriterAttribute
616 IDataBindingsAccessor
620 IPostBackEventHandler
625 ImageClickEventHandler
630 * System.Web.UI.HtmlControls
631 HtmlAnchor impl (Leen Teolen)
632 HtmlTextArea impl (Leen Teolen)
634 * System.Web.UI.WebControls
635 WebControl.cs (Gaurav Vaish)
638 Lots of enumerations (Miguel)
641 * Add loads of enumerations throughout (Sergey)
646 * Assignment (Miguel)
648 * expression semantic analysis (Miguel)
650 * constructor creation, chaining (Miguel)
652 * Unified error reporting (Ravi)
654 * initial attribute support (Ravi)
656 * calling convention support (Miguel)
658 * loop construct code generation (Miguel)
660 * conditional statement code generation (Miguel)
662 * indexer declarations (Ravi)
664 * event declarations (Ravi)
666 * try/catch parsing fixed (Ravi)
668 * initial delegate support (Ravi)
670 * operator overload (Ravi)
674 * Add NUnit windows binaries to distribution (Nick Drochak, Miguel)
678 * First JIT implementation (Dietmar, Paolo)
680 * value type size calculation (Dietmar)
682 * full value type support (Paolo)
684 * frequently used types cache (Paolo)
686 * FileStream support (Paolo)
688 * Console input/output support (Dietmar)
690 * print arguments and exception name in stack trace (Paolo)
692 * beginnings of virtual call support (Paolo)
694 * reimplement pinvoke support (Dietmar)
696 * remove libffi dependency (Dietmar)
698 * IBURG code generator implementation (Dietmar)
700 * new opcodes implemented: starg.s, ldobj, isinst, (Paolo, Miguel)
701 ldarg, starg, ldloc, ldloca, stloc, initobj,
702 cpblk, sizeof, conv.i, conv.i1, conv.i2, conv.i4,
703 conv.i8, conv.u1, conv.u2, conv.u4, conv.r4,
704 conv.r8, ldelema, ceq, cgt, clt.
708 Parts of this list of features were compiled by Alex by following
709 the CVS mailing list. My deepest thanks to Alex for helping me out
710 with this. I want to apologize for the missing features that I did
711 not document here, Mono is moving too fast to keep track of all the
714 2002-Feb-11 Miguel de Icaza <miguel@ximian.com>
716 New release, functional x86-JIT, x86 interpreter, ppc interpreter
718 Class libraries ship.
720 Limited compiler ships.
722 Too many changes to list
724 2001-07-12 Miguel de Icaza <miguel@ximian.com>
726 New XSLT file from Sergey Chaban for CIL opcodes
728 Paolo got the beginning of an interpreter in.
730 Further work on the dissasembler.
732 Fix various parts of the metadata library
734 2001-05-30 Miguel de Icaza <miguel@ximian.com>