2007-11-05 12:28:50 +01:00
|
|
|
# $NetBSD: Makefile,v 1.59 2007/11/05 11:28:50 drochner Exp $
|
2003-03-01 14:11:44 +01:00
|
|
|
|
2006-10-17 21:33:47 +02:00
|
|
|
DISTNAME= mono-1.1.13.8.1
|
2007-11-05 12:28:50 +01:00
|
|
|
PKGREVISION= 3
|
2003-03-01 14:11:44 +01:00
|
|
|
CATEGORIES= lang
|
2005-08-03 07:45:22 +02:00
|
|
|
MASTER_SITES= http://go-mono.com/sources/mono-1.1/
|
2003-03-01 14:11:44 +01:00
|
|
|
|
2003-08-09 23:09:22 +02:00
|
|
|
MAINTAINER= recht@NetBSD.org
|
2004-07-04 01:02:50 +02:00
|
|
|
HOMEPAGE= http://www.mono-project.com/
|
2003-03-01 14:11:44 +01:00
|
|
|
COMMENT= Open source implementation of the .NET Development Framework
|
|
|
|
|
2005-04-04 09:22:34 +02:00
|
|
|
BUILD_DEPENDS+= p5-XML-Parser-[0-9]*:../../textproc/p5-XML-Parser
|
2003-08-09 23:09:22 +02:00
|
|
|
|
2004-02-03 13:30:11 +01:00
|
|
|
CONFLICTS= pnet-[0-9]*
|
2004-01-16 07:40:50 +01:00
|
|
|
|
2003-09-25 18:05:21 +02:00
|
|
|
# XXX please test
|
|
|
|
NOT_FOR_PLATFORM= NetBSD-1.[0-5]*-*
|
|
|
|
NOT_FOR_PLATFORM+= NetBSD-1.6-* NetBSD-1.6.*-*
|
|
|
|
NOT_FOR_PLATFORM+= NetBSD-1.6[A-Z]-* NetBSD-1.6Z[AB]-*
|
2004-02-29 00:41:32 +01:00
|
|
|
|
2005-01-15 00:40:16 +01:00
|
|
|
# LP64 problems
|
2006-11-03 08:01:06 +01:00
|
|
|
NOT_FOR_PLATFORM+= *-*-alpha *-*-sparc64 *-*-x86_64
|
2005-01-15 00:40:16 +01:00
|
|
|
|
2007-01-04 03:38:13 +01:00
|
|
|
USE_TOOLS+= bison gmake gtar perl:run pkg-config bash:run
|
2004-02-14 18:21:32 +01:00
|
|
|
USE_LIBTOOL= yes
|
2005-08-03 07:45:22 +02:00
|
|
|
EXTRACT_USING= gtar
|
2003-03-01 14:11:44 +01:00
|
|
|
|
2004-02-03 13:30:11 +01:00
|
|
|
GNU_CONFIGURE= yes
|
2004-06-26 22:19:16 +02:00
|
|
|
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR:Q}
|
update to mono 1.1.12
What is new in Mono 1.1.12
Ports
Neale updated the S390 JIT compiler to match the new cross platform register
allocator.
Paolo fixed a number PowerPC bugs that were exposed by new tests. He also
fixed floating point code generation on ARM.
IronPython
This version of Mono can run IronPython 0.9.6.
JIT Optimizations
An SSA-less Dead Code Elimination (fastdce) optimization was checked in by
Massi. This optimization will be more useful on the next release as we tune
some of the optimizations that produce dead code.
Registry
An implementation of the registry is now available on Unix.
2.0 profile updates.
TryParse methods are no longer wrappers for Parse, Parse is now implemented in
terms of Parse which will give us the performance associated with TryParse
(Carlos).
Implement the string compares from 2.0 (Atsushi).
Implemented System.Globalization and System.Text from 2.0 as well as updating
many of the CJK codecs (Atsushi).
Reflection updates from Zoltan.
Uri parsers from Sebastien.
System.XML 2.0: Most of 2.0 API has been fixed up except for Xml.Serialization
have been done. Atsushi continues to work on stabilizing the 2.0 API.
Ben added the initial support for the Nullable<T> boxing conventions. These
implement the last-minute changes that went into the Nullable<T> in .NET. It
is known to have some bugs, as well as incomplete support in parts of the
runtime.
Chris Toshok continues to work on the 2.0 System.Configuration assembly which
is a key component of many of the new ASP.NET classes.
Dick implemented the 2.0 Semaphore classes (named and unnamed).
Debugger
The Debugger works for the first time. It might still be a bit flaky, but I
have been using it.
Get it from: here.
The X-Develop 1.2 beta has GUI support for it as well.
Text Encoding
Atsushi implemented the 2.x support for text encodings: the new unmanaged APIs
and the fallback code.
SharpZipLib upgraded
We have upgraded SharpZipLib to the latest version, required to run the new
IKVM.
Monodoc
Improved the Web UI, based on code from Eric Butler.
Windows.Forms
Windows.Forms is moving into bug fixing mode. We need as many people as
possible testing their Windows.Forms applications and submit bug reports for
any issues found with it.
These are some of the highlights, as Windows.Forms is the piece that changed
the most in this release:
Alexander updates his "Nice" theme. He also checked in a new theme
"ClearLooks". Set the variable MONO_THEME to "nice" or "clearlooks" to select
these themes.
Jackson added MDI and toolwindow support, improved the TreeView and ListView
widgets.
Mike improved the Menu infrastructure and introduced shortcut and key
navigation support into Windows.Forms
Pedro contributed some updates to his summer of code DataGridView widget.
Peter added cut and paste support to the Textbox and RichTextBox widgets,
keybindings for it, drag and drop and undo support.
HttpListener
Gonzalo implemented the embeddable HttpListener web server. Very cute.
System.Drawing
Jordi has upgraded our System.Drawing stack to implement the 2.0 API.
Jonathan Gilbert fixed an important bug in GDI+ that prevented some
applications from running correctly (UnlockBitmap was busted).
Compilers
Ankit continues to improve the assembler and disassembler to support generics
and has updated the PEAPI accordingly.
Harinath Raja, Marek Safar and Martin Baulig and continued to fix bugs in the
C# compiler and improve the error and warning reporting of the compiler.
Basic compiler: Many bug fixes and improvements from Alexandre Rocha, Jelmer
Vernooij and Maverson Eduardo.
Atsushi fixed many bugs in the -doc: command line handling in the C# compiler.
Cesar continued to improve the JScript compiler, the Mozilla test suite now at
8577 successful tests out of 8866 (96.74%).
IO Layer
Dick did various improvements to the IO-layer: threads were moved back into
the shared handle space now that the leak bug is gone.
The main thread will now dispose all of its resources upon termination.
ShellExecute will now work properly on Windows.
Npgsql
Francisco upgraded Npgsql database driver to 1.0beta1.
Bug Fixes
Many bug fixes and tests everywhere. In particular CodeDOM got a large test
harness by Gert, many bug fixes by Gonzalo to System.Web. Gamin is now
correctly autodetected for the FileSystemWatcher.
Special thanks go to Robert Jordan which provided plenty of bug fixes and bug
reports for this release of Mono. We also want to thank Zoltan which continues
to fix bugs everywhere in the runtime.
John Luke updated and fixed various Mono.Cairo binding issues.
Jonathan Pryor updated the Mono.Unix namespace extensively.
Senganal is the new maintainer of System.Data and has been fixing many of the
System.Data bugs.
What is new in Mono 1.1.10
mod_mono Auto-Configuration
Mod_mono, the apache module for providing ASP.NET support has historically
been difficult to configure and it required system administrators to manually
register all the directories that contained an ASP.NET application. This was
troublesome for many and also stopped mod_mono from being adopted for
multi-user systems.
mod_mono 1.1.10 features a new auto-configuration system which allows ASP.NET
applications to work without having to make any configuration changes to
Apache.
The experience of the new auto-configuration system is similar to PHP: any
file that has one of the ASP.NET extensions will automatically be handled by
Mono.
The feature can be turned off if desired, see our documentation page for more
details.
mod_mono and virtual hosts
Mod_mono now works correctly with virtual hosts, and it is possible to use the
mod_mono control panel to restart individual servers.
Windows.Forms
Control drawing performance improved (background drawing handling).
libgdiplus now support turning off anti-aliasing.
Drag and Drop for X11 has been implemented.
Support for auto-sizing is implemented.
Menu improvements on X11.
Extensive bug fixes.
Kornél reimplemented the ImageList control.
DataGridView widget for 2.x: by Pedro Martínez Julia, made possible by the
Google Summer of Code and Jordi which acted as the mentor.
Code Access Security
System.Drawing doesn't require permissions to call unmanaged code to work (big
speedup when running with the security manager active).
Many CAS permissions (and tests) were added for System.dll and System.Webdll
(work in progress);
Class library / Security
ProtectedData is now working under Mono. It use a managed implementation on
Linux/POSIX and native DAPI (p/invoke) on Windows (requires Windows 2000);
ProtectedMemory is working on Windows (requires Windows 2000 SP3 or later);
MozRoots
MozRoots is a new command-line tool to download and import the list of
Mozilla's trusted root certificates into Mono's trust store.
Mono by default does not have any root certificates on its certificate store
and it is up to each deployment to add the certificates that they trust to the
store. This has caused some confussion with people using TLS and SSL with
Mono. The MozRoots tool makes it simple to import a set of root certificates
from Mozilla into the Mono store.
Security Tools
sn: assemblies can now be signed with RSA key pairs ranging from 384 to 16384
bits;
XSP
Sebastien added support to XSP for PKCS#12 private key/certificates;
JavaScript compiler
From Cesar and Florian:
Compiler: added support for: multiple file compilation and import statement.
Run-time: Florian Gross added support for performing late binding operations
in System.Object derived objects.
Status 6981 successful tests out of 7229 from Mozilla's test suite.
ASP.NET
Completed ViewState MAC, a cryptographic checksum to prevent tampering with
the view state.
Input/output filtering works again.
Many bug fixes and performance improvements are available in this version
thanks to Gonzalo.
LDAP
• Changes in Connection.cs regarding appropriate handling in method
ServerCertificateValidation.
• Added support for error code 113 SSL_HANDSHAKE_FAILED.
• Added two files ResultCodeMessages.txt and ExceptionMessages.txt in
Novell.Directory.Ldap.Utilclass
• Added support for subordinate subtree scope.
• Removed hard coded dependency on Mono Security
• Fix for a race condition in Connection.cs
• Updated with support for Interactiveness of SSL Handshake, Ldap
Events, Edir Events, Intermediate Response
• Connection.cs class is modified by synchronizing the stream threads
so as to avoid the memory consumption and handle consumption.
• Changed version from 2.1.1 to 2.1.4 in Connection.cs.
• Updated ChangeLog so that latest changes are on the top.
Mono.Posix assembly
Filenames exported from Mono.Unix and Mono.Unix.Native may be in a special
UnixEncoding format so that arbitrary filenames may be accessed (i.e.
filenames outside of UTF-8 or the MONO_EXTERNAL_ENCODINGS value). See the post
"Mono.Unix Filename Marshalling"
The Mono.Unix namespace is being reorganized for easier maintenance, easier
documentation, and CLS compliance. The low-level Syscall and Stdlib and
related types will move into the Mono.Unix.Native namespace. The UnixConvert,
UnixDirectory, UnixFile, UnixGroup, and UnixUser classes are obsolete and will
be removed in a future release. The types of existing members will change in
the next release.
This release is still 100% compatible with previous releases. Impacted members
have been marked [Obsolete] with messages to indicate the replacement method.
The next release will be an API break (changing the return type of effected
properties & methods), and obsolete types will be removed in the following
release.
Mono.Unix is targeting API stability for 1.2. If you have any suggestions for
improvement, I would love to hear them.
See also: "Mono.Unix Reorganization" and "Mono.Unix Future Directions,
Questions"
MonoDoc
Rafael contributed a hierarchical storage for bookmarks to the Monodoc GUI
browser.
GtkHTML# is now an optional dependency as well as GeckoSharp.
Relocatable
Mono is now relocatable. This means that a Mono package or RPM can be
relocated to any directory and will continue to work. This works on Linux
systems and Solaris 10.
Important: If you embed Mono, you must now call the can call instead
mono_assembly_setrootdir($libdir) and mono_set_config_dir ($sysconfdir) to set
the library directory and the system configuration directories.
Cairo bindings
Idan contributed some large changes to Mono.Cairo to polish the API:
Matrix:
• Removed Matrix_T struct and associated properties,
• Added ==, != operators
• Implemented ICloneable
• Overrode Equals, GetHashcode, ToString
• Made constructors a little simpler, New matrices are constructed as
the identity matrix.
• Added IsIdentity
• Fiddled a bit with Multiply, now there is void Multiply (Matrix b) --
multiplies this matrix by b static Matrix Multiply (Matrix a, Matrix b) --
multiplies a by b and returns the result.
• Threw out all references to "Identify", it's the "Identity".
CairoAPI: fix out/ref issues (it was previously segfaulting).
Graphics:
• convert [Inverse]Transform(Point/Distance) properties to methods so
you can transform arbitrary points/distances.
• Added Transform (Matrix m)
• Fixed Matrix {get; set;} to use updated CairoAPI.
• Fixed FontSetMatrix (this should be made into a property for
consistency)
C# compiler
The default encoding for the compiler has changed from the hardcoded ISO-28591
to be the default encoding used in your system. This will help developers
compile code that was written in the editor they are using.
The last two features of C# 2.0 have been completed by Carlos Alberto: Friend
Assemblies and External Alias qualifiers.
We are only missing the late semantics changes that were introduced for
nullable types and boxing in C# for a fully compatible implementation.
.NET 2.x updates
Chris Toshok continues to work on the System.Configuration framework for
ASP.NET 2.x on which many of the new features are built.
Roozbeh Pournader contributed a PersianCalendar implementation. Roozbeh
described the Persian calendar to Microsoft originally so we have a very good
implementation.
Our Calendars now support half of the new 2.x features.
Atsushi updated parts of System.XML method signatures to match RTM.
Various Changes
Support for contravariant and covariant delegates in the System.Delegate class
for 2.x operations.
Updated ICSharpCode.SharpZipLib to the latest version.
Runtime will no longer turn segfaults in unmanaged code into a
NullReferenceException. Now faults in unmanaged code will abort the program
execution and display the stack trace (managed/unmanaged). This was useful to
uncover a number of real bugs in a few applications and some of our own
libraries.
Performance, Memory Usage
Our quest to reduce memory consumption continues. Thanks to Jon Trowbridge for
implementing a new heap profiler (the heap-buddy module on SVN) which has
helped tremendously in identifying the fat in the class libraries and spots
for easy optimization.
Some areas that received attention: StreamReader.ReadLine is much more
efficient memory-wise.
Zoltan implemented a feature to track the page access to the executable
images. Which was used by Zoltan and Ben to reduce the number of page faults
required to run an application (AOT and regular uses). Paolo reduced the
amount of memory used by our internal data structures.
In this release region-locking of files has been turned off by default which
will improve IO for some applications, it can be turned on by setting the
MONO_STRICT_IO_EMULATION variable.
A new profiler: `mono-profiler-aot' has been created that tracks the usage
patterns for executables. The output of this profile can be fed back into
Mono's AOT compiler to order the functions on the disk to produce precompiled
images that have methods in sequential pages.
Zoltan implemented frame pointer elimination on x86-64 platforms.
Patrik Torstensson and Zoltan improved the performance of methods with
exception clauses when the exception object is not used (Bug #62150).
Patrik ported the mul_imm optimizations from the old JIT engine to mini.
Ben optimized DateTime parsing.
What is new in Mono 1.1.9
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.
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.
2006-01-03 09:03:53 +01:00
|
|
|
CONFIGURE_ARGS+= --with-icu=yes
|
|
|
|
CONFIGURE_ARGS+= --with-preview=yes
|
|
|
|
CONFIGURE_ARGS+= --with-libgdiplus=installed
|
2004-06-26 22:19:16 +02:00
|
|
|
|
2005-12-05 21:49:47 +01:00
|
|
|
MAKE_FLAGS+= PERL=${PERL5:Q}
|
2007-01-04 03:38:13 +01:00
|
|
|
MAKE_FLAGS+= mandir=${PREFIX}/${PKGMANDIR}
|
2005-04-04 09:22:34 +02:00
|
|
|
UNLIMIT_RESOURCES= datasize
|
|
|
|
UNLIMIT_RESOURCES+= stacksize
|
update to mono 1.1.8
Patch provided by Jerome Laban. The patch also includes improved also includes
improved NetBSD support (implemented by Jerome).
Hi
mono 1.1.8:
Debugger
The Mono Debugger is being released in sync for the first time with the
Mono runtime. We need testers to try it out (the command line debugger
is called `mdb').
Windows.Forms
Here a toplevel list of all things new for 1.1.8 MWF:
DomainUpDown and NumericUpDown implemented First version with DataGrid
support (still incomplete) First version with MDI support (still
incomplete) Drag & Drop implemented for X11 and Win32 Clipboard
implemented for X11 and Win32 HelpProvider implemented ErrorProvider
implemented Cursor class completed ResXWriter and ResXReader completed
SWF.Timers now working properly A bunch of compatibility fixes Image I/O
now working on Win32 (this is actually in System.Drawing) Scaling,
Performance
Harinath has been fine tuning our Regular Expressions class library to
reduce allocations which translate into an increase in performance
(about 10% on the output match). Regexp.Replace will now be O(number of
$s in the replacement string) instead of O(length of replacement
string). The
The 1024 limit on Socket.Select is gone, Mono will now use poll when
available.
System.Web will consume less memory as well (Gonzalo).
Code Access Security
Sebastien's progress in this release:
AppDomain based sandboxes are supported (limited by #74411); Stack
propagation for async code, threads and SWF; Default policies (like
LocalIntranet, Internet...) are now supported; The new features allows
NRobot 0.20 (http://home.gna.org/nrobot/) to "work" (as much as the
permissions are currently present in the class libraries) on Mono 1.1.8
with a single modification (change the imperative assert in
NRobot/Engine/GameArena.cs to a declarative assert).
ASP.NET 2.x controls
Lluis completed various new controls for ASP.NET 2.x: ImageMap, Wizard,
SiteMapDataSource and SiteMapPath.
Reflection
Lluis added support for producing debugging information from
Reflection.Emit. This means that all the Reflection-based compilers and
VMs will be able to produce debugging information and have the Mono
debugger step through the code.
Packaging
mono-ikvm has been merged into mono-core. Should make it easier for
people to get ikvm
mono-nunit is back with the nunit stuff. Needed for mono-tools
Mono-shlib-cop
Jonathan Pryor has contributed this tool to assist developers that use
P/Invoke.
mono-shlib-cop is a tool that inspects a managed assembly looking for
erroneous or suspecious behavior of shared libraries.
The tool takes one or more assembly filenames, and inspects each
assembly specified.
The errors checked for include:
Does the shared library exist? Does the requested symbol exist within
the shared library? It also checks if a program uses shared libraries
that are part of a -devel package.
VB.NET
New on this release: late binding, decimal, named arguments, optiona
byrefs,
Mono.Unix
The Mono.Unix namespace will be replacing the old Mono.Posix in Mono 1.2
and is still under development. In this release cleanups continued and a
few new features are present.
Changes since the last release:
Removed types: MapAttribute, IncludeAttribute, ErrorMarshal,
ErrorMarshal.ErrorTranslator Removed
UnixMarshal.IsErrorDescriptionThreadSafe property Renamed LockFlags enum
to LockfCommand Removed StdioFileStream.FilePosition property and
replaced with RestoreFilePosition() and SaveFilePosition() methods
Renamed UnixConvert.ToFilePermissions(string) to
UnixConvert.FromOctalPermissionString(string) Additions
Syscall.execv(), Syscall.execve(), Syscall.execvp(), Syscall.fexecve()
Syscall.fcntl (int, FcntlCommand, DirectoryNotifyFlags) Syscall.mmap,
Syscall.munmap, Syscall.msync, Syscall.mlock, Syscall.munlock,
Syscall.mlockall, Syscall.munlockall, Syscall.mremap, Syscall.mincore,
Syscall.remap_file_pages Syscall.mkstemp Thread safety for "obvious"
exports from Stdlib, Syscall UnixConvert.ToOctalPermissionString,
UnixConvert.FromUnixPermissionString, UnixConvert.ToUnixPermissionString
UnixFileInfo uses stat(2) now, not lstat(2), so a UnixFileInfo created
on a symlink will give information about the target, not the link. Lots
of documentation added
JScript
Cesar implemented access to local variables in nested functions in
JScript.
Bug fixes, scalability
There are plenty of bug fixes, performance and scalability improvements
that are too detailed to list on the release notes.
mono 1.1.7: The Mono core is pretty much complete for the 1.2 release,
at this point we are only waiting for Windows.Forms to be completed
before we can ship it. At this point we are scheduled to release Mono
1.2 in September.
In the meantime, Mono development has fallen into two categories:
New code: Windows.Forms, libraries from the 2.x profile (ASP.NET 2,
ADO.NET 2), new compilers (JScript, Basic, C# 2.0). ie, non-core
components. New VM features: cross-platform register allocator, new
string collation framework, precise garbage collector. These are being
developed on either branches or on separate trees and do not affect
trunk. The above setup allows us to continue development without
interfering with the stability of Mono 1.1.x.
New I/O Layer
In Mono 1.1.7 we are including Dick Porter's new IO-Layer, which is
daemon-less. Before 1.1.7 Mono would always launch an auxiliary process
that would be used by multiple Mono programs to share information like:
global mutexes (named mutexes), file sharing status per-file, process
and thread status.
Mono no longer requires a separate shared process to provide the
previous features, this has significantly improved Mono's I/O
performance. Beagle is three times as fast indexing files and xsp
tripled its speed.
Http Client Interactions
In the past the HttpWebRequest could starve the ThreadPool and it would
lead to deadlocks as documented on our web site.
Gonzalo deployed a new implementation that does not have these problems
and can take advantage of Linux epoll or kqueue.
This code not only eliminated the potential deadlocks, but also improved
the client http throughput by avoiding unnecessary context switches.
Also ReadWriteTimeout is supported and Abort works properly now.
FreeBSD support
Thanks to Bill Middleton support for i386 FreeBSD (tested against 5.4
and 6.x-CURRENT) is now available.
Windows.Forms
Extensive progress on the Windows.Forms support code since the March
18th release. Jackson wrote a new double-buffering framework to bring
our implementation in line with the expected behavior.
Databinding is now supported on this release (simple and complex data
binding), not all controls are ready though, controls that support it:
ListBox, CheckedListBox and ComboBox (Jackson and Jordi).
Alexander Olk implemented the file dialogs and did various touch-ups to
other dialogs and widgets.
Complete widgets: ImageListStreamer (Jackson),
Prototype widgets: DataGrid widget and data container widgets (Jordi)
and RichTextBox (Peter)
ASP.NET
New ASP.NET 2.0 controls completed: ButtonField, DetailsView, FormView,
GridView, CheckBoxField, HyperlinkField, ImageField, TemplateField by
Lluis.
Implemented support for two-way bindings in ASP.NET, ObjectDataSource
and various improvements to the Menu control.
Gonzalo added support for code render syntax inside non-server tags,
ie., <span <%= (firefox) ? class="cool" : "" %>>
C# Compiler
Hari and Marek continue the work on making the compiler comply more
strictly to the C# specification. In some areas the compiler is faster,
and consumes less memory, but it also provides better error messages and
includes many new warnings that before were ignored.
Martin synchronized the generics compiler codebase with our main
compiler codebase. Also all bug reported on the generics compiler
(except two parsing errors) have now been fixed and the generics class
libraries have been modified to match the Beta2 libraries.
Marek implemented C# 2.0 conditional attributes and DefaultCharSet
attribute.
SSL/TLS
Many important fixes from Sebastien:
Fixed asynchronous operations; Fixed support for client-side
certificates; Performance enhancements; Security
Continued work on the CAS from Sebastien (--security flag).
Exposed more of the Mono.Security libraries as the .NET 2.x framework
includes more features.
New Assemblies.
The following assemblies are now functional:
System.Configuration.Install Written by Muthu Kannan and Harinath Raja.
System.ServiceProcess: Joerg Rosenkranz Completed the support and
implemented the service host daemon.
JavaScript
Cesar's effort on JScript continue, not the compiler implements:
Strict-Equality operators Eval RegularExpressionLiteral For-in statement
Custom constructors Increment/Decrement operators First-class functions
Plus bug fixing.
The JScript's runtime support now supports:
ArrayConstructor's CreateInstance function ArrayPrototype's join method
JSFieldInfo's GetValue and SetValue functions JScriptException's
constructor Initial implementation of LateBinding's CallValue and
SetIndexedPropertyValueStatic Basic Language
Manjula, Sudha and Ankit continued working on the Basic compiler and the
Basic runtime:
Implemented "End statement" Support "Exit Function" Support declaration
of decimal numbers. Support 'Or' argument of AttributeTargets in
AttributeUsage Conditional Constant Directives Support expressions for
directives Support Reference Parameter when parameters and arguments are
different The runtime now features late binding: it is 75% complete. It
works with sub, functions, properties and fields, arrays. Late binding
fit in well with simple expressions (like in conditional expressions and
arithmatic expressions).
Finally, there is support for default values using an attribute by
round-tripping and patching the runtime.
ADO.NET
SQLServer: Added support for Asynchronous command execution (Ankit and
Suresh).
Various disconnected mode improvements: loading datatables.
Mono.Posix assembly
There is a new UnixListener and UnixClient classes in the Mono.Unix
namespace.
Build System
Users will have to do make at least once in Mono before they can do make
in any directory.
2005-07-31 17:26:58 +02:00
|
|
|
UNLIMIT_RESOURCES+= memorysize
|
2003-12-03 18:08:24 +01:00
|
|
|
|
update to mono 1.1.12
What is new in Mono 1.1.12
Ports
Neale updated the S390 JIT compiler to match the new cross platform register
allocator.
Paolo fixed a number PowerPC bugs that were exposed by new tests. He also
fixed floating point code generation on ARM.
IronPython
This version of Mono can run IronPython 0.9.6.
JIT Optimizations
An SSA-less Dead Code Elimination (fastdce) optimization was checked in by
Massi. This optimization will be more useful on the next release as we tune
some of the optimizations that produce dead code.
Registry
An implementation of the registry is now available on Unix.
2.0 profile updates.
TryParse methods are no longer wrappers for Parse, Parse is now implemented in
terms of Parse which will give us the performance associated with TryParse
(Carlos).
Implement the string compares from 2.0 (Atsushi).
Implemented System.Globalization and System.Text from 2.0 as well as updating
many of the CJK codecs (Atsushi).
Reflection updates from Zoltan.
Uri parsers from Sebastien.
System.XML 2.0: Most of 2.0 API has been fixed up except for Xml.Serialization
have been done. Atsushi continues to work on stabilizing the 2.0 API.
Ben added the initial support for the Nullable<T> boxing conventions. These
implement the last-minute changes that went into the Nullable<T> in .NET. It
is known to have some bugs, as well as incomplete support in parts of the
runtime.
Chris Toshok continues to work on the 2.0 System.Configuration assembly which
is a key component of many of the new ASP.NET classes.
Dick implemented the 2.0 Semaphore classes (named and unnamed).
Debugger
The Debugger works for the first time. It might still be a bit flaky, but I
have been using it.
Get it from: here.
The X-Develop 1.2 beta has GUI support for it as well.
Text Encoding
Atsushi implemented the 2.x support for text encodings: the new unmanaged APIs
and the fallback code.
SharpZipLib upgraded
We have upgraded SharpZipLib to the latest version, required to run the new
IKVM.
Monodoc
Improved the Web UI, based on code from Eric Butler.
Windows.Forms
Windows.Forms is moving into bug fixing mode. We need as many people as
possible testing their Windows.Forms applications and submit bug reports for
any issues found with it.
These are some of the highlights, as Windows.Forms is the piece that changed
the most in this release:
Alexander updates his "Nice" theme. He also checked in a new theme
"ClearLooks". Set the variable MONO_THEME to "nice" or "clearlooks" to select
these themes.
Jackson added MDI and toolwindow support, improved the TreeView and ListView
widgets.
Mike improved the Menu infrastructure and introduced shortcut and key
navigation support into Windows.Forms
Pedro contributed some updates to his summer of code DataGridView widget.
Peter added cut and paste support to the Textbox and RichTextBox widgets,
keybindings for it, drag and drop and undo support.
HttpListener
Gonzalo implemented the embeddable HttpListener web server. Very cute.
System.Drawing
Jordi has upgraded our System.Drawing stack to implement the 2.0 API.
Jonathan Gilbert fixed an important bug in GDI+ that prevented some
applications from running correctly (UnlockBitmap was busted).
Compilers
Ankit continues to improve the assembler and disassembler to support generics
and has updated the PEAPI accordingly.
Harinath Raja, Marek Safar and Martin Baulig and continued to fix bugs in the
C# compiler and improve the error and warning reporting of the compiler.
Basic compiler: Many bug fixes and improvements from Alexandre Rocha, Jelmer
Vernooij and Maverson Eduardo.
Atsushi fixed many bugs in the -doc: command line handling in the C# compiler.
Cesar continued to improve the JScript compiler, the Mozilla test suite now at
8577 successful tests out of 8866 (96.74%).
IO Layer
Dick did various improvements to the IO-layer: threads were moved back into
the shared handle space now that the leak bug is gone.
The main thread will now dispose all of its resources upon termination.
ShellExecute will now work properly on Windows.
Npgsql
Francisco upgraded Npgsql database driver to 1.0beta1.
Bug Fixes
Many bug fixes and tests everywhere. In particular CodeDOM got a large test
harness by Gert, many bug fixes by Gonzalo to System.Web. Gamin is now
correctly autodetected for the FileSystemWatcher.
Special thanks go to Robert Jordan which provided plenty of bug fixes and bug
reports for this release of Mono. We also want to thank Zoltan which continues
to fix bugs everywhere in the runtime.
John Luke updated and fixed various Mono.Cairo binding issues.
Jonathan Pryor updated the Mono.Unix namespace extensively.
Senganal is the new maintainer of System.Data and has been fixing many of the
System.Data bugs.
What is new in Mono 1.1.10
mod_mono Auto-Configuration
Mod_mono, the apache module for providing ASP.NET support has historically
been difficult to configure and it required system administrators to manually
register all the directories that contained an ASP.NET application. This was
troublesome for many and also stopped mod_mono from being adopted for
multi-user systems.
mod_mono 1.1.10 features a new auto-configuration system which allows ASP.NET
applications to work without having to make any configuration changes to
Apache.
The experience of the new auto-configuration system is similar to PHP: any
file that has one of the ASP.NET extensions will automatically be handled by
Mono.
The feature can be turned off if desired, see our documentation page for more
details.
mod_mono and virtual hosts
Mod_mono now works correctly with virtual hosts, and it is possible to use the
mod_mono control panel to restart individual servers.
Windows.Forms
Control drawing performance improved (background drawing handling).
libgdiplus now support turning off anti-aliasing.
Drag and Drop for X11 has been implemented.
Support for auto-sizing is implemented.
Menu improvements on X11.
Extensive bug fixes.
Kornél reimplemented the ImageList control.
DataGridView widget for 2.x: by Pedro Martínez Julia, made possible by the
Google Summer of Code and Jordi which acted as the mentor.
Code Access Security
System.Drawing doesn't require permissions to call unmanaged code to work (big
speedup when running with the security manager active).
Many CAS permissions (and tests) were added for System.dll and System.Webdll
(work in progress);
Class library / Security
ProtectedData is now working under Mono. It use a managed implementation on
Linux/POSIX and native DAPI (p/invoke) on Windows (requires Windows 2000);
ProtectedMemory is working on Windows (requires Windows 2000 SP3 or later);
MozRoots
MozRoots is a new command-line tool to download and import the list of
Mozilla's trusted root certificates into Mono's trust store.
Mono by default does not have any root certificates on its certificate store
and it is up to each deployment to add the certificates that they trust to the
store. This has caused some confussion with people using TLS and SSL with
Mono. The MozRoots tool makes it simple to import a set of root certificates
from Mozilla into the Mono store.
Security Tools
sn: assemblies can now be signed with RSA key pairs ranging from 384 to 16384
bits;
XSP
Sebastien added support to XSP for PKCS#12 private key/certificates;
JavaScript compiler
From Cesar and Florian:
Compiler: added support for: multiple file compilation and import statement.
Run-time: Florian Gross added support for performing late binding operations
in System.Object derived objects.
Status 6981 successful tests out of 7229 from Mozilla's test suite.
ASP.NET
Completed ViewState MAC, a cryptographic checksum to prevent tampering with
the view state.
Input/output filtering works again.
Many bug fixes and performance improvements are available in this version
thanks to Gonzalo.
LDAP
• Changes in Connection.cs regarding appropriate handling in method
ServerCertificateValidation.
• Added support for error code 113 SSL_HANDSHAKE_FAILED.
• Added two files ResultCodeMessages.txt and ExceptionMessages.txt in
Novell.Directory.Ldap.Utilclass
• Added support for subordinate subtree scope.
• Removed hard coded dependency on Mono Security
• Fix for a race condition in Connection.cs
• Updated with support for Interactiveness of SSL Handshake, Ldap
Events, Edir Events, Intermediate Response
• Connection.cs class is modified by synchronizing the stream threads
so as to avoid the memory consumption and handle consumption.
• Changed version from 2.1.1 to 2.1.4 in Connection.cs.
• Updated ChangeLog so that latest changes are on the top.
Mono.Posix assembly
Filenames exported from Mono.Unix and Mono.Unix.Native may be in a special
UnixEncoding format so that arbitrary filenames may be accessed (i.e.
filenames outside of UTF-8 or the MONO_EXTERNAL_ENCODINGS value). See the post
"Mono.Unix Filename Marshalling"
The Mono.Unix namespace is being reorganized for easier maintenance, easier
documentation, and CLS compliance. The low-level Syscall and Stdlib and
related types will move into the Mono.Unix.Native namespace. The UnixConvert,
UnixDirectory, UnixFile, UnixGroup, and UnixUser classes are obsolete and will
be removed in a future release. The types of existing members will change in
the next release.
This release is still 100% compatible with previous releases. Impacted members
have been marked [Obsolete] with messages to indicate the replacement method.
The next release will be an API break (changing the return type of effected
properties & methods), and obsolete types will be removed in the following
release.
Mono.Unix is targeting API stability for 1.2. If you have any suggestions for
improvement, I would love to hear them.
See also: "Mono.Unix Reorganization" and "Mono.Unix Future Directions,
Questions"
MonoDoc
Rafael contributed a hierarchical storage for bookmarks to the Monodoc GUI
browser.
GtkHTML# is now an optional dependency as well as GeckoSharp.
Relocatable
Mono is now relocatable. This means that a Mono package or RPM can be
relocated to any directory and will continue to work. This works on Linux
systems and Solaris 10.
Important: If you embed Mono, you must now call the can call instead
mono_assembly_setrootdir($libdir) and mono_set_config_dir ($sysconfdir) to set
the library directory and the system configuration directories.
Cairo bindings
Idan contributed some large changes to Mono.Cairo to polish the API:
Matrix:
• Removed Matrix_T struct and associated properties,
• Added ==, != operators
• Implemented ICloneable
• Overrode Equals, GetHashcode, ToString
• Made constructors a little simpler, New matrices are constructed as
the identity matrix.
• Added IsIdentity
• Fiddled a bit with Multiply, now there is void Multiply (Matrix b) --
multiplies this matrix by b static Matrix Multiply (Matrix a, Matrix b) --
multiplies a by b and returns the result.
• Threw out all references to "Identify", it's the "Identity".
CairoAPI: fix out/ref issues (it was previously segfaulting).
Graphics:
• convert [Inverse]Transform(Point/Distance) properties to methods so
you can transform arbitrary points/distances.
• Added Transform (Matrix m)
• Fixed Matrix {get; set;} to use updated CairoAPI.
• Fixed FontSetMatrix (this should be made into a property for
consistency)
C# compiler
The default encoding for the compiler has changed from the hardcoded ISO-28591
to be the default encoding used in your system. This will help developers
compile code that was written in the editor they are using.
The last two features of C# 2.0 have been completed by Carlos Alberto: Friend
Assemblies and External Alias qualifiers.
We are only missing the late semantics changes that were introduced for
nullable types and boxing in C# for a fully compatible implementation.
.NET 2.x updates
Chris Toshok continues to work on the System.Configuration framework for
ASP.NET 2.x on which many of the new features are built.
Roozbeh Pournader contributed a PersianCalendar implementation. Roozbeh
described the Persian calendar to Microsoft originally so we have a very good
implementation.
Our Calendars now support half of the new 2.x features.
Atsushi updated parts of System.XML method signatures to match RTM.
Various Changes
Support for contravariant and covariant delegates in the System.Delegate class
for 2.x operations.
Updated ICSharpCode.SharpZipLib to the latest version.
Runtime will no longer turn segfaults in unmanaged code into a
NullReferenceException. Now faults in unmanaged code will abort the program
execution and display the stack trace (managed/unmanaged). This was useful to
uncover a number of real bugs in a few applications and some of our own
libraries.
Performance, Memory Usage
Our quest to reduce memory consumption continues. Thanks to Jon Trowbridge for
implementing a new heap profiler (the heap-buddy module on SVN) which has
helped tremendously in identifying the fat in the class libraries and spots
for easy optimization.
Some areas that received attention: StreamReader.ReadLine is much more
efficient memory-wise.
Zoltan implemented a feature to track the page access to the executable
images. Which was used by Zoltan and Ben to reduce the number of page faults
required to run an application (AOT and regular uses). Paolo reduced the
amount of memory used by our internal data structures.
In this release region-locking of files has been turned off by default which
will improve IO for some applications, it can be turned on by setting the
MONO_STRICT_IO_EMULATION variable.
A new profiler: `mono-profiler-aot' has been created that tracks the usage
patterns for executables. The output of this profile can be fed back into
Mono's AOT compiler to order the functions on the disk to produce precompiled
images that have methods in sequential pages.
Zoltan implemented frame pointer elimination on x86-64 platforms.
Patrik Torstensson and Zoltan improved the performance of methods with
exception clauses when the exception object is not used (Bug #62150).
Patrik ported the mul_imm optimizations from the old JIT engine to mini.
Ben optimized DateTime parsing.
What is new in Mono 1.1.9
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.
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.
2006-01-03 09:03:53 +01:00
|
|
|
PKGCONFIG_OVERRIDE+= dotnet.pc.in
|
|
|
|
PKGCONFIG_OVERRIDE+= mint.pc.in
|
|
|
|
PKGCONFIG_OVERRIDE+= mono-cairo.pc.in
|
|
|
|
PKGCONFIG_OVERRIDE+= mono-uninstalled.pc.in
|
2005-03-27 12:25:51 +02:00
|
|
|
PKGCONFIG_OVERRIDE+= mono.pc.in
|
|
|
|
PKGCONFIG_OVERRIDE+= scripts/mono-nunit.pc.in
|
2003-03-01 14:11:44 +01:00
|
|
|
|
update to mono 1.1.12
What is new in Mono 1.1.12
Ports
Neale updated the S390 JIT compiler to match the new cross platform register
allocator.
Paolo fixed a number PowerPC bugs that were exposed by new tests. He also
fixed floating point code generation on ARM.
IronPython
This version of Mono can run IronPython 0.9.6.
JIT Optimizations
An SSA-less Dead Code Elimination (fastdce) optimization was checked in by
Massi. This optimization will be more useful on the next release as we tune
some of the optimizations that produce dead code.
Registry
An implementation of the registry is now available on Unix.
2.0 profile updates.
TryParse methods are no longer wrappers for Parse, Parse is now implemented in
terms of Parse which will give us the performance associated with TryParse
(Carlos).
Implement the string compares from 2.0 (Atsushi).
Implemented System.Globalization and System.Text from 2.0 as well as updating
many of the CJK codecs (Atsushi).
Reflection updates from Zoltan.
Uri parsers from Sebastien.
System.XML 2.0: Most of 2.0 API has been fixed up except for Xml.Serialization
have been done. Atsushi continues to work on stabilizing the 2.0 API.
Ben added the initial support for the Nullable<T> boxing conventions. These
implement the last-minute changes that went into the Nullable<T> in .NET. It
is known to have some bugs, as well as incomplete support in parts of the
runtime.
Chris Toshok continues to work on the 2.0 System.Configuration assembly which
is a key component of many of the new ASP.NET classes.
Dick implemented the 2.0 Semaphore classes (named and unnamed).
Debugger
The Debugger works for the first time. It might still be a bit flaky, but I
have been using it.
Get it from: here.
The X-Develop 1.2 beta has GUI support for it as well.
Text Encoding
Atsushi implemented the 2.x support for text encodings: the new unmanaged APIs
and the fallback code.
SharpZipLib upgraded
We have upgraded SharpZipLib to the latest version, required to run the new
IKVM.
Monodoc
Improved the Web UI, based on code from Eric Butler.
Windows.Forms
Windows.Forms is moving into bug fixing mode. We need as many people as
possible testing their Windows.Forms applications and submit bug reports for
any issues found with it.
These are some of the highlights, as Windows.Forms is the piece that changed
the most in this release:
Alexander updates his "Nice" theme. He also checked in a new theme
"ClearLooks". Set the variable MONO_THEME to "nice" or "clearlooks" to select
these themes.
Jackson added MDI and toolwindow support, improved the TreeView and ListView
widgets.
Mike improved the Menu infrastructure and introduced shortcut and key
navigation support into Windows.Forms
Pedro contributed some updates to his summer of code DataGridView widget.
Peter added cut and paste support to the Textbox and RichTextBox widgets,
keybindings for it, drag and drop and undo support.
HttpListener
Gonzalo implemented the embeddable HttpListener web server. Very cute.
System.Drawing
Jordi has upgraded our System.Drawing stack to implement the 2.0 API.
Jonathan Gilbert fixed an important bug in GDI+ that prevented some
applications from running correctly (UnlockBitmap was busted).
Compilers
Ankit continues to improve the assembler and disassembler to support generics
and has updated the PEAPI accordingly.
Harinath Raja, Marek Safar and Martin Baulig and continued to fix bugs in the
C# compiler and improve the error and warning reporting of the compiler.
Basic compiler: Many bug fixes and improvements from Alexandre Rocha, Jelmer
Vernooij and Maverson Eduardo.
Atsushi fixed many bugs in the -doc: command line handling in the C# compiler.
Cesar continued to improve the JScript compiler, the Mozilla test suite now at
8577 successful tests out of 8866 (96.74%).
IO Layer
Dick did various improvements to the IO-layer: threads were moved back into
the shared handle space now that the leak bug is gone.
The main thread will now dispose all of its resources upon termination.
ShellExecute will now work properly on Windows.
Npgsql
Francisco upgraded Npgsql database driver to 1.0beta1.
Bug Fixes
Many bug fixes and tests everywhere. In particular CodeDOM got a large test
harness by Gert, many bug fixes by Gonzalo to System.Web. Gamin is now
correctly autodetected for the FileSystemWatcher.
Special thanks go to Robert Jordan which provided plenty of bug fixes and bug
reports for this release of Mono. We also want to thank Zoltan which continues
to fix bugs everywhere in the runtime.
John Luke updated and fixed various Mono.Cairo binding issues.
Jonathan Pryor updated the Mono.Unix namespace extensively.
Senganal is the new maintainer of System.Data and has been fixing many of the
System.Data bugs.
What is new in Mono 1.1.10
mod_mono Auto-Configuration
Mod_mono, the apache module for providing ASP.NET support has historically
been difficult to configure and it required system administrators to manually
register all the directories that contained an ASP.NET application. This was
troublesome for many and also stopped mod_mono from being adopted for
multi-user systems.
mod_mono 1.1.10 features a new auto-configuration system which allows ASP.NET
applications to work without having to make any configuration changes to
Apache.
The experience of the new auto-configuration system is similar to PHP: any
file that has one of the ASP.NET extensions will automatically be handled by
Mono.
The feature can be turned off if desired, see our documentation page for more
details.
mod_mono and virtual hosts
Mod_mono now works correctly with virtual hosts, and it is possible to use the
mod_mono control panel to restart individual servers.
Windows.Forms
Control drawing performance improved (background drawing handling).
libgdiplus now support turning off anti-aliasing.
Drag and Drop for X11 has been implemented.
Support for auto-sizing is implemented.
Menu improvements on X11.
Extensive bug fixes.
Kornél reimplemented the ImageList control.
DataGridView widget for 2.x: by Pedro Martínez Julia, made possible by the
Google Summer of Code and Jordi which acted as the mentor.
Code Access Security
System.Drawing doesn't require permissions to call unmanaged code to work (big
speedup when running with the security manager active).
Many CAS permissions (and tests) were added for System.dll and System.Webdll
(work in progress);
Class library / Security
ProtectedData is now working under Mono. It use a managed implementation on
Linux/POSIX and native DAPI (p/invoke) on Windows (requires Windows 2000);
ProtectedMemory is working on Windows (requires Windows 2000 SP3 or later);
MozRoots
MozRoots is a new command-line tool to download and import the list of
Mozilla's trusted root certificates into Mono's trust store.
Mono by default does not have any root certificates on its certificate store
and it is up to each deployment to add the certificates that they trust to the
store. This has caused some confussion with people using TLS and SSL with
Mono. The MozRoots tool makes it simple to import a set of root certificates
from Mozilla into the Mono store.
Security Tools
sn: assemblies can now be signed with RSA key pairs ranging from 384 to 16384
bits;
XSP
Sebastien added support to XSP for PKCS#12 private key/certificates;
JavaScript compiler
From Cesar and Florian:
Compiler: added support for: multiple file compilation and import statement.
Run-time: Florian Gross added support for performing late binding operations
in System.Object derived objects.
Status 6981 successful tests out of 7229 from Mozilla's test suite.
ASP.NET
Completed ViewState MAC, a cryptographic checksum to prevent tampering with
the view state.
Input/output filtering works again.
Many bug fixes and performance improvements are available in this version
thanks to Gonzalo.
LDAP
• Changes in Connection.cs regarding appropriate handling in method
ServerCertificateValidation.
• Added support for error code 113 SSL_HANDSHAKE_FAILED.
• Added two files ResultCodeMessages.txt and ExceptionMessages.txt in
Novell.Directory.Ldap.Utilclass
• Added support for subordinate subtree scope.
• Removed hard coded dependency on Mono Security
• Fix for a race condition in Connection.cs
• Updated with support for Interactiveness of SSL Handshake, Ldap
Events, Edir Events, Intermediate Response
• Connection.cs class is modified by synchronizing the stream threads
so as to avoid the memory consumption and handle consumption.
• Changed version from 2.1.1 to 2.1.4 in Connection.cs.
• Updated ChangeLog so that latest changes are on the top.
Mono.Posix assembly
Filenames exported from Mono.Unix and Mono.Unix.Native may be in a special
UnixEncoding format so that arbitrary filenames may be accessed (i.e.
filenames outside of UTF-8 or the MONO_EXTERNAL_ENCODINGS value). See the post
"Mono.Unix Filename Marshalling"
The Mono.Unix namespace is being reorganized for easier maintenance, easier
documentation, and CLS compliance. The low-level Syscall and Stdlib and
related types will move into the Mono.Unix.Native namespace. The UnixConvert,
UnixDirectory, UnixFile, UnixGroup, and UnixUser classes are obsolete and will
be removed in a future release. The types of existing members will change in
the next release.
This release is still 100% compatible with previous releases. Impacted members
have been marked [Obsolete] with messages to indicate the replacement method.
The next release will be an API break (changing the return type of effected
properties & methods), and obsolete types will be removed in the following
release.
Mono.Unix is targeting API stability for 1.2. If you have any suggestions for
improvement, I would love to hear them.
See also: "Mono.Unix Reorganization" and "Mono.Unix Future Directions,
Questions"
MonoDoc
Rafael contributed a hierarchical storage for bookmarks to the Monodoc GUI
browser.
GtkHTML# is now an optional dependency as well as GeckoSharp.
Relocatable
Mono is now relocatable. This means that a Mono package or RPM can be
relocated to any directory and will continue to work. This works on Linux
systems and Solaris 10.
Important: If you embed Mono, you must now call the can call instead
mono_assembly_setrootdir($libdir) and mono_set_config_dir ($sysconfdir) to set
the library directory and the system configuration directories.
Cairo bindings
Idan contributed some large changes to Mono.Cairo to polish the API:
Matrix:
• Removed Matrix_T struct and associated properties,
• Added ==, != operators
• Implemented ICloneable
• Overrode Equals, GetHashcode, ToString
• Made constructors a little simpler, New matrices are constructed as
the identity matrix.
• Added IsIdentity
• Fiddled a bit with Multiply, now there is void Multiply (Matrix b) --
multiplies this matrix by b static Matrix Multiply (Matrix a, Matrix b) --
multiplies a by b and returns the result.
• Threw out all references to "Identify", it's the "Identity".
CairoAPI: fix out/ref issues (it was previously segfaulting).
Graphics:
• convert [Inverse]Transform(Point/Distance) properties to methods so
you can transform arbitrary points/distances.
• Added Transform (Matrix m)
• Fixed Matrix {get; set;} to use updated CairoAPI.
• Fixed FontSetMatrix (this should be made into a property for
consistency)
C# compiler
The default encoding for the compiler has changed from the hardcoded ISO-28591
to be the default encoding used in your system. This will help developers
compile code that was written in the editor they are using.
The last two features of C# 2.0 have been completed by Carlos Alberto: Friend
Assemblies and External Alias qualifiers.
We are only missing the late semantics changes that were introduced for
nullable types and boxing in C# for a fully compatible implementation.
.NET 2.x updates
Chris Toshok continues to work on the System.Configuration framework for
ASP.NET 2.x on which many of the new features are built.
Roozbeh Pournader contributed a PersianCalendar implementation. Roozbeh
described the Persian calendar to Microsoft originally so we have a very good
implementation.
Our Calendars now support half of the new 2.x features.
Atsushi updated parts of System.XML method signatures to match RTM.
Various Changes
Support for contravariant and covariant delegates in the System.Delegate class
for 2.x operations.
Updated ICSharpCode.SharpZipLib to the latest version.
Runtime will no longer turn segfaults in unmanaged code into a
NullReferenceException. Now faults in unmanaged code will abort the program
execution and display the stack trace (managed/unmanaged). This was useful to
uncover a number of real bugs in a few applications and some of our own
libraries.
Performance, Memory Usage
Our quest to reduce memory consumption continues. Thanks to Jon Trowbridge for
implementing a new heap profiler (the heap-buddy module on SVN) which has
helped tremendously in identifying the fat in the class libraries and spots
for easy optimization.
Some areas that received attention: StreamReader.ReadLine is much more
efficient memory-wise.
Zoltan implemented a feature to track the page access to the executable
images. Which was used by Zoltan and Ben to reduce the number of page faults
required to run an application (AOT and regular uses). Paolo reduced the
amount of memory used by our internal data structures.
In this release region-locking of files has been turned off by default which
will improve IO for some applications, it can be turned on by setting the
MONO_STRICT_IO_EMULATION variable.
A new profiler: `mono-profiler-aot' has been created that tracks the usage
patterns for executables. The output of this profile can be fed back into
Mono's AOT compiler to order the functions on the disk to produce precompiled
images that have methods in sequential pages.
Zoltan implemented frame pointer elimination on x86-64 platforms.
Patrik Torstensson and Zoltan improved the performance of methods with
exception clauses when the exception object is not used (Bug #62150).
Patrik ported the mul_imm optimizations from the old JIT engine to mini.
Ben optimized DateTime parsing.
What is new in Mono 1.1.9
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.
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.
2006-01-03 09:03:53 +01:00
|
|
|
REPLACE_PERL+= mcs/class/Microsoft.VisualBasic/fixup/fixup.pl
|
|
|
|
REPLACE_PERL+= mcs/errors/do-tests.pl
|
2005-03-27 12:25:51 +02:00
|
|
|
REPLACE_PERL+= mcs/tools/scan-tests.pl
|
2004-05-11 19:33:42 +02:00
|
|
|
REPLACE_PERL+= mono/benchmark/test-driver
|
2005-03-27 12:25:51 +02:00
|
|
|
REPLACE_PERL+= mono/cil/make-opcodes-def.pl
|
|
|
|
REPLACE_PERL+= mono/metadata/make-bundle.pl
|
|
|
|
REPLACE_PERL+= mono/tests/stress-runner.pl
|
2003-03-01 14:11:44 +01:00
|
|
|
|
2007-01-04 03:38:13 +01:00
|
|
|
REPLACE_BASH+= scripts/mono-find-provides.in
|
|
|
|
REPLACE_BASH+= scripts/mono-find-requires.in
|
|
|
|
|
2003-03-01 14:11:44 +01:00
|
|
|
EGDIR= ${PREFIX}/share/examples/mono
|
2006-08-03 20:15:07 +02:00
|
|
|
PKG_SYSCONFSUBDIR= mono
|
|
|
|
CONF_FILES= ${EGDIR}/config ${PKG_SYSCONFDIR}/config
|
|
|
|
CONF_FILES+= ${EGDIR}/browscap.ini ${PKG_SYSCONFDIR}/browscap.ini
|
|
|
|
CONF_FILES+= ${EGDIR}/1.0/DefaultWsdlHelpGenerator.aspx \
|
|
|
|
${PKG_SYSCONFDIR}/1.0/DefaultWsdlHelpGenerator.aspx
|
|
|
|
CONF_FILES+= ${EGDIR}/1.0/machine.config ${PKG_SYSCONFDIR}/1.0/machine.config
|
|
|
|
CONF_FILES+= ${EGDIR}/2.0/DefaultWsdlHelpGenerator.aspx \
|
|
|
|
${PKG_SYSCONFDIR}/2.0/DefaultWsdlHelpGenerator.aspx
|
|
|
|
CONF_FILES+= ${EGDIR}/2.0/machine.config ${PKG_SYSCONFDIR}/2.0/machine.confi
|
2003-03-01 14:11:44 +01:00
|
|
|
|
2005-04-04 09:22:34 +02:00
|
|
|
TEST_TARGET= check
|
|
|
|
|
2006-08-03 20:15:07 +02:00
|
|
|
post-patch: substpcprefix
|
|
|
|
# replace relative prefix in pkgconfig files
|
|
|
|
substpcprefix:
|
|
|
|
.for f in ${PKGCONFIG_OVERRIDE}
|
|
|
|
(cd ${WRKSRC}; \
|
2007-08-13 18:41:34 +02:00
|
|
|
${SED} 's|$${pcfiledir}/../..|@prefix@|g' <${f} >${f}.tmp; \
|
|
|
|
${MV} ${f}.tmp ${f} \
|
2006-08-03 20:15:07 +02:00
|
|
|
)
|
|
|
|
.endfor
|
|
|
|
|
update to mono 1.1.8
Patch provided by Jerome Laban. The patch also includes improved also includes
improved NetBSD support (implemented by Jerome).
Hi
mono 1.1.8:
Debugger
The Mono Debugger is being released in sync for the first time with the
Mono runtime. We need testers to try it out (the command line debugger
is called `mdb').
Windows.Forms
Here a toplevel list of all things new for 1.1.8 MWF:
DomainUpDown and NumericUpDown implemented First version with DataGrid
support (still incomplete) First version with MDI support (still
incomplete) Drag & Drop implemented for X11 and Win32 Clipboard
implemented for X11 and Win32 HelpProvider implemented ErrorProvider
implemented Cursor class completed ResXWriter and ResXReader completed
SWF.Timers now working properly A bunch of compatibility fixes Image I/O
now working on Win32 (this is actually in System.Drawing) Scaling,
Performance
Harinath has been fine tuning our Regular Expressions class library to
reduce allocations which translate into an increase in performance
(about 10% on the output match). Regexp.Replace will now be O(number of
$s in the replacement string) instead of O(length of replacement
string). The
The 1024 limit on Socket.Select is gone, Mono will now use poll when
available.
System.Web will consume less memory as well (Gonzalo).
Code Access Security
Sebastien's progress in this release:
AppDomain based sandboxes are supported (limited by #74411); Stack
propagation for async code, threads and SWF; Default policies (like
LocalIntranet, Internet...) are now supported; The new features allows
NRobot 0.20 (http://home.gna.org/nrobot/) to "work" (as much as the
permissions are currently present in the class libraries) on Mono 1.1.8
with a single modification (change the imperative assert in
NRobot/Engine/GameArena.cs to a declarative assert).
ASP.NET 2.x controls
Lluis completed various new controls for ASP.NET 2.x: ImageMap, Wizard,
SiteMapDataSource and SiteMapPath.
Reflection
Lluis added support for producing debugging information from
Reflection.Emit. This means that all the Reflection-based compilers and
VMs will be able to produce debugging information and have the Mono
debugger step through the code.
Packaging
mono-ikvm has been merged into mono-core. Should make it easier for
people to get ikvm
mono-nunit is back with the nunit stuff. Needed for mono-tools
Mono-shlib-cop
Jonathan Pryor has contributed this tool to assist developers that use
P/Invoke.
mono-shlib-cop is a tool that inspects a managed assembly looking for
erroneous or suspecious behavior of shared libraries.
The tool takes one or more assembly filenames, and inspects each
assembly specified.
The errors checked for include:
Does the shared library exist? Does the requested symbol exist within
the shared library? It also checks if a program uses shared libraries
that are part of a -devel package.
VB.NET
New on this release: late binding, decimal, named arguments, optiona
byrefs,
Mono.Unix
The Mono.Unix namespace will be replacing the old Mono.Posix in Mono 1.2
and is still under development. In this release cleanups continued and a
few new features are present.
Changes since the last release:
Removed types: MapAttribute, IncludeAttribute, ErrorMarshal,
ErrorMarshal.ErrorTranslator Removed
UnixMarshal.IsErrorDescriptionThreadSafe property Renamed LockFlags enum
to LockfCommand Removed StdioFileStream.FilePosition property and
replaced with RestoreFilePosition() and SaveFilePosition() methods
Renamed UnixConvert.ToFilePermissions(string) to
UnixConvert.FromOctalPermissionString(string) Additions
Syscall.execv(), Syscall.execve(), Syscall.execvp(), Syscall.fexecve()
Syscall.fcntl (int, FcntlCommand, DirectoryNotifyFlags) Syscall.mmap,
Syscall.munmap, Syscall.msync, Syscall.mlock, Syscall.munlock,
Syscall.mlockall, Syscall.munlockall, Syscall.mremap, Syscall.mincore,
Syscall.remap_file_pages Syscall.mkstemp Thread safety for "obvious"
exports from Stdlib, Syscall UnixConvert.ToOctalPermissionString,
UnixConvert.FromUnixPermissionString, UnixConvert.ToUnixPermissionString
UnixFileInfo uses stat(2) now, not lstat(2), so a UnixFileInfo created
on a symlink will give information about the target, not the link. Lots
of documentation added
JScript
Cesar implemented access to local variables in nested functions in
JScript.
Bug fixes, scalability
There are plenty of bug fixes, performance and scalability improvements
that are too detailed to list on the release notes.
mono 1.1.7: The Mono core is pretty much complete for the 1.2 release,
at this point we are only waiting for Windows.Forms to be completed
before we can ship it. At this point we are scheduled to release Mono
1.2 in September.
In the meantime, Mono development has fallen into two categories:
New code: Windows.Forms, libraries from the 2.x profile (ASP.NET 2,
ADO.NET 2), new compilers (JScript, Basic, C# 2.0). ie, non-core
components. New VM features: cross-platform register allocator, new
string collation framework, precise garbage collector. These are being
developed on either branches or on separate trees and do not affect
trunk. The above setup allows us to continue development without
interfering with the stability of Mono 1.1.x.
New I/O Layer
In Mono 1.1.7 we are including Dick Porter's new IO-Layer, which is
daemon-less. Before 1.1.7 Mono would always launch an auxiliary process
that would be used by multiple Mono programs to share information like:
global mutexes (named mutexes), file sharing status per-file, process
and thread status.
Mono no longer requires a separate shared process to provide the
previous features, this has significantly improved Mono's I/O
performance. Beagle is three times as fast indexing files and xsp
tripled its speed.
Http Client Interactions
In the past the HttpWebRequest could starve the ThreadPool and it would
lead to deadlocks as documented on our web site.
Gonzalo deployed a new implementation that does not have these problems
and can take advantage of Linux epoll or kqueue.
This code not only eliminated the potential deadlocks, but also improved
the client http throughput by avoiding unnecessary context switches.
Also ReadWriteTimeout is supported and Abort works properly now.
FreeBSD support
Thanks to Bill Middleton support for i386 FreeBSD (tested against 5.4
and 6.x-CURRENT) is now available.
Windows.Forms
Extensive progress on the Windows.Forms support code since the March
18th release. Jackson wrote a new double-buffering framework to bring
our implementation in line with the expected behavior.
Databinding is now supported on this release (simple and complex data
binding), not all controls are ready though, controls that support it:
ListBox, CheckedListBox and ComboBox (Jackson and Jordi).
Alexander Olk implemented the file dialogs and did various touch-ups to
other dialogs and widgets.
Complete widgets: ImageListStreamer (Jackson),
Prototype widgets: DataGrid widget and data container widgets (Jordi)
and RichTextBox (Peter)
ASP.NET
New ASP.NET 2.0 controls completed: ButtonField, DetailsView, FormView,
GridView, CheckBoxField, HyperlinkField, ImageField, TemplateField by
Lluis.
Implemented support for two-way bindings in ASP.NET, ObjectDataSource
and various improvements to the Menu control.
Gonzalo added support for code render syntax inside non-server tags,
ie., <span <%= (firefox) ? class="cool" : "" %>>
C# Compiler
Hari and Marek continue the work on making the compiler comply more
strictly to the C# specification. In some areas the compiler is faster,
and consumes less memory, but it also provides better error messages and
includes many new warnings that before were ignored.
Martin synchronized the generics compiler codebase with our main
compiler codebase. Also all bug reported on the generics compiler
(except two parsing errors) have now been fixed and the generics class
libraries have been modified to match the Beta2 libraries.
Marek implemented C# 2.0 conditional attributes and DefaultCharSet
attribute.
SSL/TLS
Many important fixes from Sebastien:
Fixed asynchronous operations; Fixed support for client-side
certificates; Performance enhancements; Security
Continued work on the CAS from Sebastien (--security flag).
Exposed more of the Mono.Security libraries as the .NET 2.x framework
includes more features.
New Assemblies.
The following assemblies are now functional:
System.Configuration.Install Written by Muthu Kannan and Harinath Raja.
System.ServiceProcess: Joerg Rosenkranz Completed the support and
implemented the service host daemon.
JavaScript
Cesar's effort on JScript continue, not the compiler implements:
Strict-Equality operators Eval RegularExpressionLiteral For-in statement
Custom constructors Increment/Decrement operators First-class functions
Plus bug fixing.
The JScript's runtime support now supports:
ArrayConstructor's CreateInstance function ArrayPrototype's join method
JSFieldInfo's GetValue and SetValue functions JScriptException's
constructor Initial implementation of LateBinding's CallValue and
SetIndexedPropertyValueStatic Basic Language
Manjula, Sudha and Ankit continued working on the Basic compiler and the
Basic runtime:
Implemented "End statement" Support "Exit Function" Support declaration
of decimal numbers. Support 'Or' argument of AttributeTargets in
AttributeUsage Conditional Constant Directives Support expressions for
directives Support Reference Parameter when parameters and arguments are
different The runtime now features late binding: it is 75% complete. It
works with sub, functions, properties and fields, arrays. Late binding
fit in well with simple expressions (like in conditional expressions and
arithmatic expressions).
Finally, there is support for default values using an attribute by
round-tripping and patching the runtime.
ADO.NET
SQLServer: Added support for Asynchronous command execution (Ankit and
Suresh).
Various disconnected mode improvements: loading datatables.
Mono.Posix assembly
There is a new UnixListener and UnixClient classes in the Mono.Unix
namespace.
Build System
Users will have to do make at least once in Mono before they can do make
in any directory.
2005-07-31 17:26:58 +02:00
|
|
|
.include "../../devel/gettext-lib/buildlink3.mk"
|
2004-02-03 13:30:11 +01:00
|
|
|
.include "../../devel/glib2/buildlink3.mk"
|
|
|
|
.include "../../textproc/icu/buildlink3.mk"
|
2005-03-27 12:25:51 +02:00
|
|
|
.include "../../textproc/libxml2/buildlink3.mk"
|
|
|
|
.include "../../textproc/libxslt/buildlink3.mk"
|
2004-02-03 13:30:11 +01:00
|
|
|
|
2003-03-01 14:11:44 +01:00
|
|
|
.include "../../mk/bsd.pkg.mk"
|