Update NEWS
[mono.git] / NEWS
1 Hello!
2
3         Version 0.17 of Mono has been released.
4
5         There are plenty of new features, bug fixes, new classes, 
6         performance improvements, optimizations and much more
7         available in this release.
8
9 * Stats
10
11         2605 cvs commits to the Mono repository since October 1st, an
12         average of 37 commits per day including weekends.  
13
14         212 commits to the Mono module.
15         1438 commits to the MCS module.
16
17 * Mono Improvements:
18
19         Work has begun to make the runtime run a finalizer thread and
20         invoke all the finalizers from this thread.  This is the same
21         behavior as Java and the Microsoft runtime, but it is disabled
22         on this build.
23
24         Integrated the s390 work from Neale Ferguson.
25
26         Beginning of the work for pre-compiling code (Ahead of time
27         compilation) for Mono (based on the early work of Zoltan).
28
29         New option `--noboundscheck' for benchmark purposes, it
30         disables array bound checks.
31         
32         Uses mmap instead of SysV shared memory for the Windows API
33         emulation layer.
34
35         Plenty of bug fixes, improvements and integration with the
36         upper layer class libraries.
37
38         New exception handling code uses the GCC native support for
39         stack-walking if available and gives big performance boost
40         (15% on mcs bootstrap).
41
42         A lot of the work in the new release of Mono is required for
43         the Mono Debugger (which will be released separately).  The
44         Mono debugger is interesting, because it can debug both
45         managed and unmanaged applications, but it only supports the
46         JITer for debugging.
47
48         Dick, Dietmar, Gonzalo, Martin and Paolo were in charge of
49         most of these changes.
50
51 * Compiler improvements:
52
53         Many bug fixes as usual, better C# compliancy.
54
55         Performance improvements.  The new release of the Mono C#
56         compiler is 37% faster than the previous version (self-compile
57         is down to 8 seconds).  On my P4 1.8Ghz machine, the Mono C#
58         compiler compiles (342,000 lines per minute).
59
60         Thanks to go Ravi and Martin for helping out with the bug
61         fixing hunt.
62
63 * Cryptography and Security classes
64
65         Sebastien Pouliot and Andrew Birkett were extremely busy
66         during the past two months working on the cryptography
67         classes, many of the crypto providers are now working
68
69         Jackson on the other hand helped us with the security
70         classes, he said about those:
71
72         `Writing security classes is the most exciting thing I have
73         ever done, I can not wait to write more of them'.
74
75 * ASP.NET:
76
77         We have now moved the code from the XSP server (which was our
78         test bed for ASP.NET) into the right classes inside
79         System.Web, and now any web server that was built by using the
80         System.Web hosting interfaces can be used with Mono.
81
82         The sample XSP server still exists, but it is now just a
83         simple implementation of the WorkerRequest and ApplicationHost
84         classes and can be used to test drive ASP.NET.  A big thanks
85         goes to Gonzalo who worked on this night and day (mostly
86         night).
87
88         Gaurav keeps helping us with the Web.Design classes, and
89         improving the existing web controls. 
90
91 * ADO.NET:
92
93         New providers are available in this release.  The relentless
94         System.Data team (Brian, Dan, Rodrigo, Tim and Ville) are
95         hacking non-stop on the databse code.  Improving existing
96         providers, and also providing new ones: Oracle, MS SQL, ODBC
97         and Sybase are the big names on this release.  Many regression
98         tests have been added as well.
99
100 * System.XML:
101
102         Atsushi has taken the lead in fixing and plugging the missing
103         parts of the System.XML namespace, many fixes, many
104         improvements.
105
106 * CodeDom and the C# provider.
107
108         Jackson Harper has been helping us with the various interface
109         classes from the CodeDOM to the C# compiler, in this release
110         a new assembly joins us: Cscompmgd.  It is a simple assembly,
111         and hence Microsoft decided not to waste an entire "System"
112         "dot" on it.  
113
114 * Testing
115
116         Nick Drochak has integrated the new NUnit 2.0 system.
117
118 * Monograph:
119
120         Monograph now has a --stats option to get statistics on
121         assembly code.
122         
123
124 CVS Contributors to this release:
125
126         Alejandro Sanchez, Alp Toker, Andrew Birkett, Atsushi Enomoto,
127         Brian Ritchie, Cesar Octavio Lopez Nataren, Chris Toshok,
128         Daniel Morgan, Daniel Stodden, Dennis Hayes, Dick Porter,
129         Diego Sevilla, Dietmar Maurer, Duncan Mak, Eduardo Garcia,
130         Ettore Perazzoli, Gaurav Vaish, Gonzalo Paniagua, Jackson
131         Harper, Jaime Anguiano, Johannes Roith, John Sohn, Jonathan
132         Pryor, Kristian Rietveld, Mads Pultz, Mark Crichton, Martin
133         Baulig, Martin Willemoes Hansen, Miguel de Icaza, Mike
134         Kestner, Nick Drochak, Nick Zigarovich, Paolo Molaro, Patrik
135         Torstensson, Phillip Pearson, Piers Haken, Rachel Hestilow,
136         Radek Doulik, Rafael Teixeira, Ravi Pratap, Rodrigo Moya,
137         Sebastien Pouliot, Tim Coleman, Tim Haynes, Ville Palo,
138         Vladimir Vukicevic, and Zoltan Varga.
139
140         (Am sorry, I could not track everyone from the ChangeLog
141         messages, I apologize in advance for the missing
142         contributors).
143
144 ------------------------------------------------------------------------
145
146 Hello!
147
148         Version 0.16 of Mono has been released!  This is mostly a bug
149         fix release, a lot of work has been going on to make existing
150         features more robust and less buggy.   Also, contributions are
151         too varied, so it is hard to classify them in groups.
152
153 * Stats
154
155         795 commits to mono and mcs since August 23rd.
156
157 * News
158
159         The changes that got in this releases are mostly
160         bugfixes.  Miguel, Martin and Ravi attacked lots of bugs in the
161         compiler, Dick fixed a bunch of bugs related to processes and
162         threads.  Mark Crichton resumed his work on the SPARC port and
163         made lots of progress there.  Juli Mallett has been working on
164         making sure Mono also builds on BSD systems.  As usual, Dietmar
165         and Paolo supplied their continuous stream of fixes to the
166         runtime.
167
168         Dietmar has completed the work on the runtime side for
169         remoting support and we ship now with a sample channel, the
170         System.Runtime.Remoting.Sample.  This can be used as a
171         reference implementation for anyone interested in implementing
172         other channels (like a CORBA channel).  
173
174         Duncan got preliminary XSLT support done by using
175         libxslt.  
176
177         Gonzalo (with some help from Patrik) has been working hard
178         making our ASP.NET implementation work on both Mono and MS by
179         migrating the existing xsp code to the class library.  Gaurav
180         started working on the classes in System.Design.dll and Chris
181         Toshok checked in Mono.Directory.LDAP, which will be the
182         foundation to implement the System.DirectoryServices assembly.
183
184         Various fixes from Kral, Jason, Piers and Gonzalo were
185         committed to System.Xml; Martin Algiers reports that the
186         upcoming NAnt release will be fully compatible with Mono.
187
188         Miguel imported Sergey Chaban's Mono.PEToolkit and ilasm code
189         to CVS.  Nick, as always, continues to refine our testing
190         framework by improving our tests.  Andrew Birkett continues to
191         improve the implementation of our security/cryptographic
192         classes.  Jonathan Pryor contributed type-reflector the our
193         list of tools.
194
195 * Other News From Behind de Curtain.
196
197         While the above is pretty impressive on its own, various other
198         non-released portions of Mono have been undergoing: Adam Treat
199         has been leading the effort to document our class libraries
200         and produce the tools required for it.
201
202         Martin Baulig has been working on the Mono Debugger which is
203         not being released yet.  This debugger allows both native
204         Linux application as well as CIL applications to be debugged
205         at the same time (and in fact, you can use this to debug the
206         JIT engine).  The debugger is written in C# with some C glue
207
208         In the meant A new JIT engine is under development, focused on
209         adding more of the high-end optimizations which will be
210         integrated on an ahead-of-time-compiler.   Dietmar and Paolo
211         have been working on this.
212
213 * Contributors to this release
214
215       * Non-Ximian developers: Adam Treat, Andrew Birkett, Dennis
216         Hayes, Diego Sevilla, Franklin Wise, Gaurav Vaish ,Jason
217         Diamond, Johannes Roith, John Sohn, Jonathan Pryor, Juli
218         Mallett, Kral Ferch, Mike Crichton, Nick Drochak, Nick
219         Zigarovich, Piers Haken, Rafael Teixeira, Ricardo Fernandez
220         Pascual, Sergey Chaban, Tim Coleman.
221
222       * Ximian developers: Dietmar, Paolo, Dick, Duncan, Ravi,
223         Miguel, Martin, Chris, Joe, Gonzalo, Rodrigo.
224
225
226 ---------------------------------------------------------------------------------
227         * Sergey Chaban added thread-safe support to
228           System.Collections.SortedList.
229         
230         * Fixes to the compiler by Andrew Birkett.
231         
232         * Tim Coleman contributed the OleDb provider for System.Data and started
233           work on System.Web.Services.
234         
235         * Radek fixed a lot of problems on the PPC side. [*]
236         
237         * Miguel and Martin committed the new type lookup system.
238         
239         * Dietmar rewrote the marshalling code. [*]
240         
241         * Peter Williams and Martin contributed the new Makefiles, with help
242         from Alp Toker as well.
243         
244 * Contributors to this release:
245
246         * Non-Ximian developers: Nick Drochak, Martin Baulig, Tim
247           Coleman, Mike Kestner, Alp Toker, Jonathan Pryor, Jaime
248           Anguiano, Piers Haken, Rafael Teixeira, Mark Crichton,
249           Sergey Chabon, Ajay Kumar Dwivedi, Andrew Birkett, Dennis
250           Hayes (SWF), Adam Treat, Johannes Roith and Lawrence Pit.
251
252         * Ximian developers: Duncan, Ravi, Dick, Dietmar, Paolo,
253           Gonzalo, Rachel, Radek, Rodrigo, Jeff, Peter Williams and
254           Miguel.
255
256 Special thanks to Duncan for helping me put this release together.
257
258 Hello!
259
260         A new version of Mono (0.12), is out.
261
262         Mono is an open source implementation of the Microsoft.NET
263         Framework, and ships with a C# compiler, a runtime engine
264         (with a JIT on x86 cpus) and a set of class libraries.
265
266         Mono is know to work on a number of platforms:
267         x86/Linux, x86/Windows, x86/FreeBSD; sparc/solaris;
268         linuxppc/linux; strongarm/linux.
269
270         There have been many changes since the last release of Mono in
271         late April, thanks to Duncan for assembling the list of new
272         features, any omissions are my fault.
273
274 Changes since 0.11:
275
276         It is hard to keep track of the changes, as there are 1632
277         patches that were posted to the mailing list.  One third of
278         the total number of patches since we opened mono-patches
279         list.  I am sure I missed some stuff and probably missed some
280         contributors.  I apologize in advance.
281
282         Runtime:
283
284                 Paolo: New Reflection.Emit generation code generates
285                 code that can be executed in Windows.  Now binaries
286                 generated by Mono/MCS will run on Windows.
287
288                 Paolo got Activator.CreateInstance to work.
289
290                 Sergey's CPU-optimization for CPBLK.
291
292                 Many many bug fixes to the runtime from Dick, Dan
293                 Lewis, Dietmar, Gonzalo, Martin, Paolo, Radek and Sergey,
294
295         Compiler:
296
297                 Many bug fixes: The compiler can now compile Gtk#,
298                 Vorbis#, System.Data assembly and System.Xml assembly
299                 which previously did not work (Dietmar, Miguel, Paolo,
300                 Piers, Ravi, Miguel).  Thanks to all the bug
301                 reporters.
302
303         Class Libraries:
304
305                 Mike started work on System.Xml.XPath
306
307                 Christian, Dennis, Daniel and friends got more stubs
308                 for System.Windows.Forms in.
309
310                 Ajay revamped System.Xml.Schema.  And Jason and Duncan
311                 updated System.Xml
312
313                 Daniel also checked in a working CodeDOM
314                 implementation and a C# provider.
315
316                 Many bug fixes by everyone.  Thanks to Daniel, Duncan,
317                 Jonathan, Lawrence, Martin Mike, Nick and Piers.  I am
318                 missing a lot of contributors that should be listed.
319
320         ASP.NET support
321
322                 A lot of work from Gonzalo allows some small and
323                 modest ASP.NET applications to run (you still need the
324                 unreleased XSP code though).
325
326         System.Data:
327
328                 Integrated the MySQL provider from Brad Merryl.
329
330                 Lots of work by Dan, Rodrigo, Tim.
331
332         Microsoft.VisualBasic runtime support
333
334                 Rafael and Chris have been working on the VisualBasic
335                 runtime support DLLs
336
337 Hello everyone!
338
339         Mono 0.11 is out!
340
341         This new version has new features:
342
343         * Massive:
344
345                 * Ultrich Kunitz implemented the whole calendar set of
346                   classes.  Yes, thats right.  The whole thing, with a
347                   complete test suite.  Thanks Ultrich!
348
349         * JIT/runtime features:
350
351                 * Martin's debugging framework is included (see web
352                   site for details on how to use it). (Martin)
353
354                 * Transparent Proxy has been implemented for the
355                   runtime (lets you run/debug/hack on remoting for Mono) (Dietmar)
356
357                 * Inline and constant folding/propagation support
358                   in the JIT engine (Dietmar)
359
360                 * Profiling support for the JIT engine (--profile).
361
362         * Cool runtime hacks, that made our compiler twice as fast:
363
364                 * New string rewrite: faster, speedier, leaner, cooler!
365
366                   Paolo had been talking about a new string rewrite,
367                   and super hacker Patrik Torstensson started the
368                   implementation, Dietmar then switched the object
369                   layout and the Mono team helped iron out a few of
370                   the details.
371
372                 * New array reprensetation: Dan Lewis contributed a new
373                   faster and smaller array implementation.
374
375                 * Improved Reflection.Emit: Paolo improved our
376                   reflection emit code.
377
378         * ADO.NET
379
380                 * Daniel Morgan, Rodrigo Moya have some pieces of the
381                   Sql classes ready to run.  he first signs of life
382                   this week (we can connect, insert rows; do transactions:
383                   commit/rollback; SQL errors and exceptions work).
384
385         * Http Runtime
386
387                 * The HTTP runtime (to be used by our ASP.NET implementation)
388                   was contributed by Patrik Torstensson.  Patrik not only
389                   contributed a massive ammount of classes, but he immediately
390                   went on to implement ThreadPools and then helped out with the
391                   new String rewrite.
392
393         * XML improvements:
394
395                 * Kral Ferch and Duncan Mak contributed more
396                   improvements to the XML implementation.
397
398                 * Work on Xml Serialization from John Donagher.
399         
400         * Documentation:
401
402                 * MonoDoc ships for the first time!
403                   (John Barnette, Adam Treat and John Sohn)
404
405                 * New documentation stubs ready to be filled, and translated
406                   included (thanks to our doc team!)
407
408         * General fixes:
409
410                 * Piers Haken fixed many of our attributes and many
411                   little problems that were exposed by his CorCompare tool
412
413                 * Many Mono C# compiler bug fixes.
414
415         * Other improvements:
416
417                 * NUnit works on Linux! (Patrik Torstensson)
418
419                 * More NUnit tests (Nick Drochak)
420
421                 * Windows.Forms progress: Dennis Hayes and Christian
422                   Meyer have been contributing stubs for the
423                   Windows.Forms work.
424
425                 * Full Parse implementations and bug fixing by Gonzalo
426
427                 * Dan Lewis contributed some missing classes for the
428                   Regexp implementation.
429
430                 * Jonathan's trace classes
431
432 * This Month's Mono is brought to you by:
433
434         Adam Treat, Chris Podugriel, Christian Meyer, Daniel Lewis,
435         Daniel Morgan, Dennis Hayes, Dick Porter, Dietmar Maurer,
436         Duncan Mak, Guarav Vaish, Gonzalo Paniagua, Jaime Anguiano,
437         Jason Diamond, Joe Shaw, John Barnette, John Donagher, John
438         Sohn, Jonathan Pryor, Kral Ferch, Martin Baulig, Miguel de
439         Icaza, Mike Kestner, Nick Drochak, Paolo Molaro, Patrik
440         Tostensson, Piers Haken, Ravi Pratap, Rodrigo Moya, Sergey
441         Chanben, Ultrich Kunitz, Wictor Wilen.
442
443         I know that I missed some features, there is a lot of work
444         that happens in a month.  I apologize in advance for any
445         features I omited by accident.  
446
447         Special thanks go to Duncan for helping out with all those
448         little details in the project.  And also Nick who has been
449         keeping us in good shape by maintaining and helping new
450         contributors provide more test suites.
451
452 * Reporting bugs
453
454         If you find a bug in Mono, please file a bug here:
455
456                 http://bugzilla.ximian.com
457
458         That way we wont loose your bug report, and will be able to
459         follow up properly with it.  Also try to provide simple test
460         cases whenever possible and try as hard as possible to
461         identify the root of a problem (compiler, runtime, class
462         libraries).
463
464 * Forum
465
466         The mono-list-request@ximian.com mailing list is open for
467         those of you who want to discuss the future of Mono.
468
469 Hello everyone!  
470
471         Mono "Self Hosting" 0.10 is out!  (Alex insisted I used the
472         <blink> tag for "Self Hosting", but was dissapointed when he
473         realized most mailers dont support this).
474
475         Too many things have happened since the the 0.9 release,
476         almost an entire month.  The big news is that we are shipping
477         a the self-hosting Mono C# compiler.  This has been tested on
478         Linux/x86 only.
479
480         Also, we delayed the release for one reason or other, but it
481         turns out that as a extra bonus, Paolo fixed the last
482         outstanding bug in the JIT engine, so the compiler now runs in
483         the JIT engine instead of the interpreter.
484
485         The mono-0.10 release includes the libraries required to run
486         the compiler as well as assorted .NET programs [1].
487
488 * What is new
489
490         There is so much stuff in this release that is hard to keep
491         track of it.  
492
493         Jason, Kral and Duncan have done an amazing job with
494         System.Xml, up to the point that it is even being used by
495         gtk-sharp's code generator (and it all comes with great test
496         suites to verify that it works!).  Ajay's XmlSchema code is
497         also shipped.
498
499         Martin worked on our debugging infrastructure (the JIT can
500         load dwarf files, and our class libraries now generate dwarf
501         debugging info;  we are in the process of adding this to the
502         compiler, the patch did not make it to this release though).
503
504         For the first time the System.Web assembly has built without
505         all the excludes, so you can get your hands on Gaurav and
506         Lee's massive code base.
507
508         Lots of new tests to the runtime, class libraries and compiler
509         are included.  As always, big thanks go to Nick for continued
510         guidance to new developers, and writing new tests.
511
512         Dan removed the System.PAL dependency, we now have moved to an
513         internalcall setup for all the System.IO calls, and dropped
514         the MonoWrapper shared library.
515
516         Porting wise: Sergey's StrongARM port is included now; Jeff's
517         SPARC port and Radek's PowerPC port have been updated to
518         reflect the new changes in the engine.
519
520         Runtime wise: Dietmar also got us asyncronous delegates
521         implemented.  Dick continues his work on our foundation
522         classes, and has resumed his work on the IO layer.  
523
524         Paolo is the hero behind self hosting on Linux.  Send your
525         congrats (and wine) to him.
526
527         And without the help from Mike, Duco, David, Piers, Nick,
528         Sergey, Mark, Jonathan, John, Adam and Dennis this release
529         would have not been possible.
530
531         This release is mostly ECMA compatible.  I did not expect this
532         to happen so soon.  I am very grateful to everyone who has
533         made this happen
534
535 * The goods
536
537         The runtime sources and binaries to the compiler/libraries:
538
539                 http://www.go-mono.com/archive/mono-0.10.tar.gz
540
541         The class and compiler sources:
542
543                 http://www.go-mono.com/archive/mcs-0.10.tar.gz
544
545 * Requirements:
546
547         You still need glib-2, and pkg-config.  If you plan on
548         compiling large applications, getting the Boehm GC is a plus
549         (we will integrate this in a future version, for now it is an
550         external requirement).
551
552         Boehm GC is available in packaged format for Debian and Red
553         Hat systems.
554
555 * To compile on Linux
556
557         Do your regular chores with mono-0.10.tar.gz, you know the
558         drill.  In the end, after you reach the `make install' phase,
559         now you can do some cool stuff.
560
561         If you want to compile the compiler (just to try it out),
562         untar the sources to the compiler (mcs-0.10.tar.gz) and do
563         manually:
564         
565                 cd mcs-0.10
566                 (cd jay; make)
567                 (cd mcs; make monomcs)
568
569         Now you will end up with a nice mcs4.exe in the mcs/mcs
570         directory, that is the compiler.  If you want to use that,
571         replace the mcs.exe we distribute with the mcs4.exe you got.
572
573 * Gadgets
574
575         Man pages for mcs, mono and mint are included for your
576         enjoyment.  
577
578         Particularly of interest is `mint --profile' which is awesome
579         to profile your application, the output is very useful.
580
581         Also, if you want to impress your friends, you might want to
582         run the JIT with the `-d' flag, that shows you how the JITer
583         compiles the code (and shows the basic blocks and the forst of
584         trees as it goes).
585
586 * Next steps
587
588         More classes are missing.  These are required so we can run
589         nant and nunit natively.  Once we achieve that, we will be
590         able to ship a complete environment that compiles on Linux.
591         
592         Currently our makefiles still use csc, as we still need
593         nunit/nant to work.
594
595 [1] Of course, .NET programs that try to use classes we have not yet
596 implemented, will be left wondering `why did this happen to me?'.  
597
598 Hello!
599
600         I have just uploaded Mono 0.9 to the web server, you can get
601         the goodies here:
602
603                 http://www.go-mono.com/archive/mono-0.9.tar.gz
604                 http://www.go-mono.com/archive/mcs-0.9.tar.gz
605
606         mono-0.9.tar.gz contains the source code to the runtime (JIT
607         and interpreter) as well as a pre-compiled version of the
608         compiler (mcs.exe) and the class libraries.
609
610         To compile the compiler and the class libraries, you still
611         need Windows with the .NET SDK, as our runtime can not host
612         the compiler completely yet.
613
614 * Improved Build System
615
616         You can check http://www.go-mono.com/download.html for the
617         new and fresh compilation instructions.  Same requirements as
618         the last version (pkg-config, glib 1.3.xx need to be
619         installed). 
620
621 * What is new:
622
623         Compiler can compile about 75% of our regression test suite
624         on Linux.  Most of this work is on the class libraries and
625         Paolo has been the magician behind the work here.
626
627         JIT can run the compiler now (Dietmar)
628         
629         Mint works on Windows now (Dick).
630
631         Application Domains have been implemented (Dietmar)
632
633                 * Two modes of operation are available, depending on
634                   your needs: share code, or maximize speed (does not
635                   share code).  This is described by the the
636                   LoaderOptimization enumeration in .NET.
637
638         Corlib no longer has references to mscorlib (Daniel Lewis)
639
640         Ports:
641                 PowerPC has been updated (Radek Doulik)
642                 New SPARC port (Jeffrey Stedfast)
643
644         Documentation system:
645                 Adam Treat has been working on finishing the Doctools
646                 to maintain the Mono class library documentation.  We
647                 still need a GUI editor though.
648
649         Tracking progress:
650                 Nick's new tools to track progress are included in
651                 this release.
652
653         Many new more regression tests for the class library
654                 (David Brandt, Mark Crichton, Nick Drochak, Bob Doan,
655                  Duco Fijma).
656
657         Lots of new code:
658                 Gaurav Vaish (the hacking god behind System.Web),
659                 Chris Podugriel (System.Data) and Mark Crichton (Crypto)
660
661         Runtime:
662                 Socket layer is finished (Dick Porter)
663
664         Compiler has full support for unsafe code now (Miguel)
665                 Still a few things missing: constant folding is not 
666                 finished everywhere and access permissions are not
667                 enforced yet.
668         
669         Many many many bug fixes everywhere from everyone on the team:
670
671                 Paolo Molaro, Daniel Lewis, Daniel Stodden, Dietmar
672                 Maurer, Jeff Stedfast, Nick Drochak, Duco Fijma, Ravi Pratap,
673                 Dick Porter, Duncan Mak, Jeff Stedfast and Miguel de Icaza.
674
675         I am sorry if I left a major component out of the
676         announcement, this were some intense 11 days of work.
677
678 * What is obviously missing
679
680         Currently our System.Reflection.Emit is lacking array and
681         pointer support, which is why many programs still do not
682         compile, but this should be taken care of next week.
683
684 * How can you help
685
686         There are many ways to help the project, check the details
687         documentation in:
688
689                 http://www.go-mono.com/contributing.html
690
691         You might also want to stop by our IRC channel on
692         irc.gnome.org, channel #mono if you are interested in
693         contributing.
694
695 Have a happy weekend!
696 Miguel.
697
698 Hey guys!
699
700    Mono 0.7 has been released. 
701
702    It has been a long time since the last release of Mono (almost
703 three weeks).  We have made an incredible ammount of work in the past
704 three weeks.  
705
706 * Highlights of this release:
707
708         * The monoburg: BURS-instruction selector implemented (for our
709           portable JIT engine).
710
711         * JIT engine works for very simple programs (Fibonacci works
712           for instance).  It is about 30% faster running than the
713           equivalent code compiled with Kaffe.
714
715           The interesting part is that this was accomplished with the
716           a minimum register allocator, and very simple monoburg
717           rules, so there is a *lot* of room to improve here.
718
719         * The Interpreter has madured a lot.  Value Types are fully
720           supported now;  We dropped the FFI dependency, as we now
721           have our own code generator.
722
723         * The runtime has been expanded and extended as to support
724           real file I/O (including console I/O).  So Hello World works
725           in there. 
726
727         * The compiler can generate code for most statements now; It
728           also performs semantic analysis on most expressions.
729           Creation of new objects is supported, access to parameters,
730           fields and local variables works.  Method invocation works.
731           Implicit type conversions, assignments and much more.
732
733           Operator overloading is implemented, but broken on this
734           release, hopefully this will be fixed soon.
735
736           Delegates and Attributes are now declared and passed around,
737           but no code generation for those exist yet.
738
739         * More classes (look for details).  Sergey and Paolo have been
740           working on various classes in System.Reflection.Emit to get
741           the compiler self-hosting.
742
743         * NUnit is now part of the distribution, so it should be
744           trivial to write test cases (and if you want to help out,
745           this is one way to do it, we really need more tests cases).
746
747     I am going to try to switch to Nick's JB for C# this week or next
748 week.  But the excitement of having the compiler deal with real C#
749 programs is too much to be contained, and I can not keep my hands of
750 the code generation in the compiler.
751
752 * Availability:
753
754           http://www.go-mono.com/archive/mono-0.7.tar.gz
755           http://www.go-mono.com/archive/mcs-0.7.tar.gz
756
757 * Details
758
759   Class Library Changes:
760
761   Many enumerations have been revamped to have the same value
762 definitions as those in .NET as those cause problems.  They were also
763 missing the [Flags] attributes, so we got that right too. 
764
765     * System
766           SerializableAttribute impl                     (Miguel)
767           String updates                                 (Jeff)
768           System.Char                                    (Ravi)
769
770     * System.Configuration
771           ConfigurationSettings impl                     (Christopher Podurgiel)
772           SingleTagSectionHandler impl                   (Christopher Podurgiel)
773           DictionarySectionHandler impl                  (Christopher Podurgiel)
774
775     * System.Collections.Specialized
776           NameObjectCollectionBase impl                  (Nick Drochak)
777
778     * System.Diagnostics
779           StackFrame stubs                               (alexk)
780           StackTrace stubs                               (alexk)
781
782     * System.IO
783           File stubs                                     (Jim Richardson)
784           IOException impl                               (Paolo)        
785           StreamWriter impl                              (Dietmar)
786           StreamReader stubs                             (Dietmar)
787
788     * System.Net
789           ConnectionModes                                (Miguel)
790           ProxyUseType                                   (Miguel)
791           WebStatus                                      (Miguel)
792
793     * System.Reflection
794           Assembly (stubs)                               (Paolo)
795           MethodBase                                     (Paolo)
796           MethodInfo                                     (Paolo)
797
798     * System.Reflection.Emit
799           EventToken                                     (Sergey)
800           FieldToken                                     (Sergey)
801           FlowControl                                    (Sergey)
802           ILGenerator (stubbed)                          (Paolo)
803           Label                                          (Paolo)
804           MethodToken                                    (Sergey)
805           OpCode.cs                                      (Sergey)
806           OpCodeType                                     (Sergey)
807           OpCodes.cs                                     (Sergey)
808           OperandType                                    (Sergey)
809           PEFileKinds                                    (Paolo)
810           PackingSize                                    (Sergey)
811           ParameterToken                                 (Sergey)
812           PropertyToken                                  (Sergey)
813           SignatureToken                                 (Sergey)
814           StackBehaviour                                 (Sergey)
815           StringToken                                    (Sergey)
816           TypeToken                                      (Sergey)
817
818     * System.Threading
819
820           Most classes stubbed out by Dick Porter        (Dick)
821
822     * System.Web
823           HttpWorkerRequest stubs                        (Bob Smith)
824
825     * System.Web.Hosting                                 (Bob Smith)
826           AppDomainFactory stubs                         (Bob Smith)
827           ApplicationHost stubs                          (Bob Smith)
828           IAppDomainFactory stubs                        (Bob Smith)
829           IISAPIRuntime stubs                            (Bob Smith)
830           ISAPIRuntime stubs                             (Bob Smith)
831           SimpleWorkerRequest stubs                      (Bob Smith)
832
833     * System.Web.UI
834           LiteralControl implemented                     (Bob Smith)
835           HtmlContainerControl bugfixes                  (Bob Smith)
836           BuildMethod 
837           BuildTemplateMethod 
838           HtmlTextWriterAttribute 
839           HtmlTextWriterStyle 
840           HtmlTextWriterTag 
841           IAttributeAccessor 
842           IDataBindingsAccessor 
843           INamingContainer 
844           IParserAccessor 
845           IPostBackDataHandler 
846           IPostBackEventHandler 
847           IStateManager 
848           ITagNameToTypeMapper 
849           ITemplate 
850           IValidator 
851           ImageClickEventHandler 
852           OutputCacheLocation 
853           PersistanceMode 
854           StateItem 
855
856     * System.Web.UI.HtmlControls
857           HtmlAnchor impl                                (Leen Teolen)
858           HtmlTextArea impl                              (Leen Teolen)
859
860     * System.Web.UI.WebControls
861           WebControl.cs                                  (Gaurav Vaish)
862
863     * System.XML
864           Lots of enumerations                           (Miguel)
865           (will add later)
866
867     * Add loads of enumerations throughout               (Sergey)
868       (will add later)
869
870 Compiler Changes:
871
872     * Assignment                                         (Miguel)
873
874     * expression semantic analysis                       (Miguel)
875
876     * constructor creation, chaining                     (Miguel)
877
878     * Unified error reporting                            (Ravi)
879
880     * initial attribute support                          (Ravi)
881
882     * calling convention support                         (Miguel)
883
884     * loop construct code generation                     (Miguel)
885
886     * conditional statement code generation              (Miguel)
887
888     * indexer declarations                               (Ravi)
889
890     * event declarations                                 (Ravi)
891
892     * try/catch parsing fixed                            (Ravi)
893
894     * initial delegate support                           (Ravi)
895
896     * operator overload                                  (Ravi)
897
898 Tools Changes:
899
900     * Add NUnit windows binaries to distribution         (Nick Drochak, Miguel)
901
902 Runtime Changes:
903
904     * First JIT implementation                           (Dietmar, Paolo)
905
906     * value type size calculation                        (Dietmar)
907
908     * full value type support                            (Paolo)
909
910     * frequently used types cache                        (Paolo)
911
912     * FileStream support                                 (Paolo)
913
914     * Console input/output support                       (Dietmar)
915
916     * print arguments and exception name in stack trace  (Paolo)
917
918     * beginnings of virtual call support                 (Paolo)
919
920     * reimplement pinvoke support                        (Dietmar)
921
922     * remove libffi dependency                           (Dietmar)
923
924     * IBURG code generator implementation                (Dietmar)
925
926     * new opcodes implemented: starg.s, ldobj, isinst,   (Paolo, Miguel)
927       ldarg, starg, ldloc, ldloca, stloc, initobj, 
928       cpblk, sizeof, conv.i, conv.i1, conv.i2, conv.i4, 
929       conv.i8, conv.u1, conv.u2, conv.u4, conv.r4, 
930       conv.r8, ldelema, ceq, cgt, clt.
931
932 * This list
933
934     Parts of this list of features were compiled by Alex by following
935 the CVS mailing list.  My deepest thanks to Alex for helping me out
936 with this.  I want to apologize for the missing features that I did
937 not document here, Mono is moving too fast to keep track of all the
938 changes. 
939
940 2002-Feb-11 Miguel de Icaza  <miguel@ximian.com>
941
942         New release, functional x86-JIT, x86 interpreter, ppc interpreter 
943
944         Class libraries ship.
945
946         Limited compiler ships.
947
948         Too many changes to list
949
950 2001-07-12  Miguel de Icaza  <miguel@ximian.com>
951
952         New XSLT file from Sergey Chaban for CIL opcodes
953
954         Paolo got the beginning of an interpreter in.
955
956         Further work on the dissasembler.
957
958         Fix various parts of the metadata library
959
960 2001-05-30  Miguel de Icaza  <miguel@ximian.com>
961
962         Project started