pkgsrc/lang/mono/Makefile

88 lines
2.7 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.59 2007/11/05 11:28:50 drochner Exp $
DISTNAME= mono-1.1.13.8.1
PKGREVISION= 3
CATEGORIES= lang
MASTER_SITES= http://go-mono.com/sources/mono-1.1/
MAINTAINER= recht@NetBSD.org
HOMEPAGE= http://www.mono-project.com/
COMMENT= Open source implementation of the .NET Development Framework
BUILD_DEPENDS+= p5-XML-Parser-[0-9]*:../../textproc/p5-XML-Parser
CONFLICTS= pnet-[0-9]*
# 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]-*
# LP64 problems
NOT_FOR_PLATFORM+= *-*-alpha *-*-sparc64 *-*-x86_64
USE_TOOLS+= bison gmake gtar perl:run pkg-config bash:run
USE_LIBTOOL= yes
EXTRACT_USING= gtar
GNU_CONFIGURE= yes
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
MAKE_FLAGS+= PERL=${PERL5:Q}
MAKE_FLAGS+= mandir=${PREFIX}/${PKGMANDIR}
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
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
PKGCONFIG_OVERRIDE+= mono.pc.in
PKGCONFIG_OVERRIDE+= scripts/mono-nunit.pc.in
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
REPLACE_PERL+= mcs/tools/scan-tests.pl
REPLACE_PERL+= mono/benchmark/test-driver
REPLACE_PERL+= mono/cil/make-opcodes-def.pl
REPLACE_PERL+= mono/metadata/make-bundle.pl
REPLACE_PERL+= mono/tests/stress-runner.pl
REPLACE_BASH+= scripts/mono-find-provides.in
REPLACE_BASH+= scripts/mono-find-requires.in
EGDIR= ${PREFIX}/share/examples/mono
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
TEST_TARGET= check
post-patch: substpcprefix
# replace relative prefix in pkgconfig files
substpcprefix:
.for f in ${PKGCONFIG_OVERRIDE}
(cd ${WRKSRC}; \
${SED} 's|$${pcfiledir}/../..|@prefix@|g' <${f} >${f}.tmp; \
${MV} ${f}.tmp ${f} \
)
.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"
.include "../../devel/glib2/buildlink3.mk"
.include "../../textproc/icu/buildlink3.mk"
.include "../../textproc/libxml2/buildlink3.mk"
.include "../../textproc/libxslt/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"