[Mono-announce-list] Mono 1.1.9 has been released.

Miguel de Icaza miguel at novell.com
Sat Sep 10 13:20:56 EDT 2005


Mono 1.1.9 Release
We consider Mono 1.1.9 stable enough to recommend it for all users.
Those upgrading from the 1.0.x series should note that these notes only
contain the differences between 1.1.8 and 1.1.9. All of the changes
since 1.0 are documented in the following release notes: 1.1.1, 1.1.2,
1.1.3, 1.1.4, 1.1.5, 1.1.6, 1.1.7. 1.1.8. 

        
      * What is new since the last release. 
      * Download and installation. 
        

New Ports

Zoltan completed the IA64 (Itanium) port of Mono. The Itanium port is a
full 64 bit port of the Mono JIT compiler. 

Paolo completed the ARM port of Mono, it works on little endian and big
endian ARM systems. 

Dick added support for 64 bit thread ids to the io-layer. 

Mono can run the IronPython test suite 



Runtime

Carlos implemented publisher policies 

The generics code performance was largely improved by Michal Moskal and
various bugs in the implementation have been fixed thanks to the Nemerle
Programming Language team that is making extensive use of it. 

Iron Python 0.9 works as well as all of its regression tests (Zoltan and
Martin). Notice that the IronPython regression tests need various
Makefile fixes and some symlinks to cope with filename casing to work. 

David Waite contributed LinkedList<T> implementation. 



GDI+

Hisham, Jordi and Peter have adapted GDI+ to use Cairo 1.0 instead of
Cairo 0.3 which we were previously using. This upgraded version of GDI+
is much faster and Windows.Forms application feel faster and smoother on
Linux as a result. 

As part of this upgrade numerous bugs were fixed and memory management
was audited by Jordi and Peter to eliminate memory leaks. 

Rectangle drawing operations are faster by 30% now, blitting large
images is 50% faster. 

There are now 500 nunit tests for the library and many new contributions
from Mainsoft. 



Winforms progress

Alexander Olk contributed a new theme, the "nice" theme, a screenshot
can be seen here. 

The first version of RichTextBox from Peter debuts in this release and
includes an RTF parser. 

More news on Winforms development are here. 



Globalization/Internationalization: String Collation.

We have a completely new reimplementation of the CompareInfo
infrastructure in this release of Mono, a managed implementation of
string collation that is compatible with Windows collation. 

Atsushi Enomoto worked on this project for the past four months before
we merged it on this release. Currently the code has to be turned on by
setting the MONO_USE_MANAGED_COLLATION environment variable to "yes" 

In the past we had used ICU but this approach had two problems: the code
lived in the C world and the cost of transitioning from managed to
unmanaged code for string collation was fairly high. 

ICU also implemented different semantics than those exposed by .NET and
a mapping of one system into the other was not really possible. 



Globalization/Internationalization: Region information.

Atsushi has also contributed a new framework and updated the RegionInfo
information. 

Encodings: Two new encodings are implemented: GB18030 and iso-2022-jp. 



ADO.NET

Suresh deployed a new NUnit and Mono.Data-based testing framework for
the System.Data namespace. 

Suresh implemented OdbcCommandBuilder and fixed various bugs in
System.Data.Odbc and SqlClient Providers. 

Dan implemented OracleCommandBulder based on SqlCommandBulder so you can
do inserts, updates, deletes in a DataTable without having to create the
SQL to do the inserts, updates, and deletes as well as adding support
for OUTPUT parameters and the TIMESTAMP Oracle 9i data type. 

implemented a quick-and-dirty way to get primary key info and table info
(Schema Info support in OracleDataReader) neccessary to support
OracleCommandBulder 

Dan implemented SybaseCommandBuilder; however, it does not work since
the SybaseDataReader needs to have SchemaInfo command behavior
implemented 

Fixes to SqlCommandBuilder to get updates to work based on what Suresh
did 



Mono.Data.Sqlite

Thomas Zoechling, Jeroen Zwartepoorte and Dan Morgan created various
bugfixes and a patch to add named parameters. 

Joshua made it so several commands can be executed in a single
invocation, instead of just the first one (semicolon delimited
commands). 



Assembly Version Numbers

Mono assemblies version now default to the beta version numbers (2.0.0.0
and 8.0.0.0 series, by Kornel Pal). 

ASP.NET

A major rewrite to ASP.NET is now available as part of this release, the
highlights of the new code include: 

        
      * Tests: 67,700 lines of new tests: 
              * NUnit test suite for about 50% of the controls. 
              * Extensive standalone tests. 
              * JSUnit (see section later). 
      * Unmanaged I/O: the new implementation uses unmanaged buffers for
        uploads (HTTP POST for example) and content generation as
        opposed to the managed buffers that we have today, which greatly
        reduces the pressure on Mono's GC and also avoids redundant
        copies of data by sharing buffers as much as possible improving
        performance. 
      * Use of TCP Cork on Linux to avoid TCP glitches and delays, this
        reduces the latency to get a full page. 
      * Support for Linux sendfile to transfer static pages (support for
        more platforms will come later). 
      * XSP now transfers Socket ownership to the AppDomain to avoid
        round trips and expensive AppDomain boundary crossing increasing
        performance. 
      * New controls: about 40% of the existing controls were rewritten
        from scratch with test suites to validate their output. 
      * New application pipeline: a new iterators-based design reduces
        the complexity and increases the maintainability of the old
        version. 
      * Support for HttpClientCertificate on XSP, soon to come to
        Apache. 
      * Improved tracing support. 
      * Latency has been reduced in various key places and the new
        unmanaged buffers accelerate the processing of medium and large
        sized pages (small pages remain about the same speed) and large
        uploads wont disrupt your Mono process. 


The new ASP.NET stack is brought to you by Eyal Alaluf, Peter Bartok,
Jackson Harper, Miguel de Icaza, Ben Maurer, Jordi Mas, Gonzalo
Paniagua, Dick Porter, Sebastien Pouliot and Chris Toshok. 



ASP.NET Configuration

The System.Configuration assembly has been mostly implemented and
integrated into ASP.NET. Now it is possible to read web configuration
files using the new configuration object model (Lluis). 



XSP Web Server

XSP has been split up in two: Mono.WebServer.dll and xsp.exe. XSP only
handles command line parsing and Mono.WebServer.dll is the assembly that
implements the functionality. 

Mono.WebServer.dll is an embeddable library that can be used to host
ASP.NET in your own applications. In the past people resorted to making
a replica of XSP in their applications if they wanted to host ASP.NET.
This was contributed by Brian Ritchie a few months back, and its finally
on the main trunk. 

The Mono.WebServer.dll deployment model follows the new Guidelines for
Library Deployment and there are versions available for running on the
1.x and 2.x profiles. 

XSP now also takes advantage of certain Linux features like sendfile and
TCP Cork to improve performance. 

XSP also contains support for HTTPS connections using the --https flag
by Brian Ritchie. 



JScript.NET Compiler

Progress: JScript now passes 4586 tests of the Mozilla ECMAScript test
suite out of 5994 (76.51%) 

Cesar added various new features to the compiler: 

        
        Support for value types and reference types. 
        
        Support for conversions and boxing. 
        
        Exact support for numeric values. 
        
        Optimization when accessing literal's methods that belong its
        prototype. 
        
        Port Mozilla's decompiler for infrastructure that's used in
        closure's construction. 
        
        Report filename and line number on errors. 
        


Marek implemented JScriptCodeProvider and stubbed JScriptCodeGenerator. 

Florian contributed many updates to the JScript runtime as part of his
collaboration in Google's Summer of Code project: 

        
      * Library functions: Array.prototype, Number.prototype,
        String.prototype and many more. 
      * Integrated the Mozilla test suite into Mono. 
      * LateBinding logic including prototype chain look up. 
      * Anonymous functions. 
      * Decompilation of functions to their source code. 
      * delete and other operators. 

New: JSUnit

As part of the new ASP.NET testing framework Chris Toshok developed
JSUnit: a new JavaScript unit test framework to automate running the
tests for various web controls and validate that they do the right
thing. 



Monodoc

Monodoc now defaults to use the Mozilla rendering engine to display its
values, thanks to Mario Sopena and the Google Summer of Code effort and
it also uses CSS to render its pages. 

Monodoc will now also show pending contributions that you might have in
your file system as well as including search support. 

Support for printing in Monodoc was contributed by Rafael Ferreira. 



Tools

AL (assembly linker) can now sign, and delay-sign, assemblies and
makecert can now generate PKCS#12 files (Sebastien); 

Code Access Security

Sebastien continued his work on CAS: 

        
      * Support for FullTrustAssemblies in policy resolution; 
      * IsolatedStorage now supports user quotas (when the security
        manager is enabled); 
      * PermissionRequestEvidence is now part of the evidences during
        policy resolution; 
      * Many bugs and corner cases were fixed. 

Mono's SSL Stack

Improvements to the asynchronous methods in SslClientStream and
SslServerStream were contributed by JD Conley: they are now thread safe,
support asynchronous handshaking plus various important fixes. 

Support for _optional_ client-side mutual authentication (Sebastien). 

Support for server-side mutual authentication (Sebastien) 

Rewritten async support for Ssl[Client|Server]Stream (JD Conley); 



Mono.Cairo

Hisham and John Luke have upgraded the Mono.Cairo API to match the
recently released Cairo 1.0 as well as providing documentation for the
new API in Monodoc. 

There are new Gtk and X11 samples included in the distribution. 



Mono.Posix

Mono.Posix: This assembly now provides a remoting channel based on Unix
sockets. It is a standalone channel and does not require the
System.Runtime.Remoting assembly to work (Lluis). 



C#

Due to popular request, the C# compiler now reports precise
error/warning location with both line and column numbers (Atsushi). 

Support for the Namespace Alias Qualifier to the C# compiler was added
by Hari. 

The compiler went through many bug fixes and a few internal structural
changes as anonymous methods, iterators and partial classes start to get
used by developers. Contributors include Martin, Harinath, Marek, Miguel
and Atsushi which has been on a bug fixing quest on this release. 

Still missing for full 2.x support: external assembly alias and friend
assemblies. 



ilasm/monodis

Our IL assembler and disassembler for the first time are able to round
trip all the Mono assemblies and we consider them finally complete for
real use. 

Thanks to Ankit for fixing all the remaining issues. 



VB.NET

Manjula and Sudha upgraded various pieces of the Basic compiler and its
runtime. 



Npgsql: Postgress provider.

Updates from Francisco Figueiredo: 

Better metadata support. Thanks Josh Cooley (jbnpgsql at tuxinthebox dot
net). 

Added refcursor parameter support. Now, refcursors can be passed as
arguments for functions. 

Npgsql now can handle functions which return refcursor and setof
refcursor. Now, results are returned as NpgsqlDataReader resultsets.
There is no need to explicitly call "fetch all ..." 

Critical bug fixed with ConnectorPool when creating MinPoolSize
connections. Connections weren't properly handled. Thanks Josh Cooley
(jbnpgsql at tuxinthebox dot net) 



Firebird provider

>From Carlos: Support for the new INSERT ... RETURNING statement of
Firebird v2.0 

Added support to the new CREATE SEQUENCE and SET GENERATOR statements to
the FbBatchExecution class. 

Add parameter information for DML statements and allow the configuration
of quoted identifiers usage to the DataAdapter Configuration Wizard. 



Installing Mono 1.1.9

Important: Mono 1.1.9 can not be installed in parallel with Mono 1.0.x
series on the same prefix. To work around this issue, you must use a
different prefix at configure time, for example: 


	
	$ ./configure --prefix=/devel
	


You can then setup your PATH to include /devel/bin to access the Mono
1.1. Alternatively you can replace your Mono installation with 1.1.9 

Binary Packages: 

        
        Pre-compiled packages for SUSE, SLES, Fedora Core, RHEL, MacOS
        and Windows in a variety of platforms available from our web
        site from the download section. 
        


Source code: 

        
              * Mono Source Code: mono-1.1.9.tar.gz 


Quick source code installation: 

        
        If we have no packages for your platform, installing from source
        code is very simple. 
        
        mono:
        
        
        	
            $ tar xzf mono-1.1.9.tar.gz
            $ cd mono-1.1.9
            $ ./configure
            $ make
            $ make install
        
        
        
        Then compile libgdiplus: 
        
        
        	
            $ tar xzf libgdiplus-1.1.9.tar.gz
            $ cd libgdiplus-1.1.9
            $ ./configure
            $ make
            $ make install
        

-- 
Miguel de Icaza <miguel at novell.com>
Novell, Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-announce-list/attachments/20050910/55dba839/attachment-0001.html


More information about the Mono-announce-list mailing list