Math.Min and Math.Max are now inlined for signed integers
and String.OrdinalCompare has been tuned to use these, which
results in a 2-3% performance increase in running PyStone with
IronPython.

Massi and Paolo implemented a mechanism that reduces
virtual table sizes for interface method invocations.
The most visible change is in significant memory reduction
for applications loading many interfaces (this happens for many 2.0
apps because of the many additional interfaces arrays implement).

It is now possible to force Mono to use a single CPU by
using the MONO_NO_SMP flag.

Security

Rodrigo Kumpera has added an IL verifier to Mono.
IL verifiers are not very useful for applications that run
at full-trust level (their only use is to help in compiler
development and sanity checking). But we are now working
towards supporting
Silverlight in Mono which needs to provide limitations on
what code can do, and cope with malicious code.

HttpWebRequest can now be used with X.509 client certificates
(only possible in the 2.0 profile) [Sebastien]

Corlib

Completed support for RegionInfo.

Dictionary: Optimize and add implementation notes. Use a
"mini-heap" to store the linked lists instead of the regular
heap. Split arrays of structs into separate arrays to make the GC's
life simpler (see bug 81879 for details). Make class serialization
compatible with MS.NET.

Environment.GetFolderPath: Now checks for the existance of
the XDG_DESKTOP_DIR, XDG_MUSIC_DIR and XDG_PICTURES_DIR environment
variables when trying to find the requested path.

System

LocalFileSettingsProvider implementation is contributed
[Noriaki Okimoto]. With this code, ApplicationSettingsBase now works
like .NET (per-user settings are created in the user's (local)
application data directory.

System.Core

Fresh implementation of TimeZoneInfo [Stephane Delcroix].

System.Data

System.Data.SqlClient: 99% of API's is now compatible with
MS.NET 2.0 profile [Nagappan]

Implemented SqlBulkCopy in SqlClient. With this the data
can be imported in bulk from client to MS-SQL server
[Nagappan].

System.Windows.Forms

New 2.0 controls:

MaskedTextBox implementation [Rolf Bjarne].

BindingNavigator [Alan, Olivier]

2.0 version of many controls are now complete.

AutoSize is now supported [Jonathan]

ToolStripPainter, ToolStripSystemRenderer [Jonathan Pobst]

Roughly 150 submitted bugs were resolved.

System.Drawing / Libgdiplus

Libgdiplus has been updated to use Cairo 1.4.6 [Sebastien]

Libgdiplus header, types and enums names are now much closer to
MS GDI+. This should make it easier to use from C/C++ even if this
was not the primary goal. [Sebastien, Yves Bastide]

Added support for 2bpp PNG and fixes for 4bpp PNG image palettes
[Sebastien]

Added support for interlaced GIF bitmaps [Sebastien]

Added support for ColorMatrixFlag and Gray ColorMatrix in
ImageAttributes [Sebastien]

Cairo

The Mono Cairo API has been updated (Alp Toker), it will
now expose Cairo 1.2 API entry points. Application code
should call CairoAPI.Version to obtain the version and
determine if the needed features are available.

Visual Basic.NET

Added support for late binding in vbnc (Option Strict Off and
Option Explicit Off) [Rolf Bjarne].

Several bug fixes in vbnc and vbruntime [Rolf Bjarne].

Better error reporting (it's now possible to get line numbers
in stack traces) [Rolf Bjarne].