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