2014-05-30 01:35:13 +02:00
|
|
|
# $NetBSD: Makefile,v 1.149 2014/05/29 23:36:43 wiz Exp $
|
2003-03-01 14:11:44 +01:00
|
|
|
|
Update to 3.0.10:
New in Mono 3.0.10
A hot-fix release.
Reverted parallel mkbundle.
Fixed duplicated debug symbol problem in the compiler.
New in Mono 3.0.9
Fix gtk+ copy & paste.
Fix debugger support for custom attributes.
Proper stack bounds calculation on windows.
Add partial generic methods to our C# compiler.
NaCL support for ARM.
Fix LLVM loading on OSX.
New in Mono 3.0.8
Multiple improvements to the BCL to reduce usage of non generic
collections and use faster string comparisons.
Optimize large object cloning and boxing.
Multiple changes to bring mono closer to full PCL compatibility.
Add System.WeakReference<T>
Sgen can now return memory to the system for
Many compiler fixes for async.
Improved FullAOT support for async.
NaCl build fixes and improvements.
WCF now has cookie support in .net 4.0.
Optimize Marshal.Read/Write methods to avoid a trip to unmanaged
when needed.
Optimize LINQ with arrays.
Multiple fixes to the sgen's concurrent collector.
New in Mono 3.0.7
Multiple fixes to the sgen's concurrent collector.
Performance improvements in primitive types parsing.
Add a configuration time option to disable remoting.
Optimize tls lookups on full-aot + arm.
Add a configuration option to disable remoting.
Multiple improvements and bug fixes in culture related code.
Runtime assembly mapping for PCL.
Fix Binder primitive conversion to make .net.
Optimize Activator.CreateInstance ().
Optimize icalls in FullAOT code.
Implement Volatile.Read/Write<T> and Interlocked.MemoryBarrier ().
Optimized unmanaged to managed string conversion.
New in Mono 3.0.6
This is another hotfix release. It reverses the visibility change
made to Mono.Runtime.GetDisplayName.
New in Mono 3.0.5
This is a hot-fix release. It fixes a crash in the runtime support
for generics, which could be triggered by Xamarin Studio. New in
Mono 3.0.4 Garbage Collector
Many changes went into our GC implementation. We added long links
support to our traditional Boehm collector. As for SGen, it is
finally a true concurrent GC, with cementing support. We also fixed
several bugs, such as #9928 pointer free deadlock problem and bugs
in mono_gc_weak_link_get. Async
Rewrite of async StreamReader/StreamWritter operations to not fail
on subsequent async call. Fixes #9761 ASP.NET
Updated encoding support.
Some minor bug fixes. Other improvements
New MONO_DISABLE_SHARED_AREA environment variable lets you turn of
the use of shared memory in Mono (used by performance counters and
optionally by the io-layer).
Updated EntityFramework version that ships with Mono.
Support for ConnectionLifetime parameter in SqlClient (contributed
by 7digital).
Fixed C# Evaluator Terse reader with loops
Don't report user operator error during probing user conversions.
Fixes #10170.
Add explicit interface GetType implementation to avoid object::GetType
become proxy. (C# compiler fix)
Implement use of __refvalue as an lvalue. Fixes #10034. Packaging
We no longer install a /usr/bin/pkg-config on OSX, to stop clashing
with Homebrew.
New in Mono 3.0.3
Mono garbage collectors now feature multiple dtrace probes for
users on MacOS and Solaris.
Many stability improvements and performance work on Mono's Async
support. Garbage Collector
Sgen now has a concurrent GC that can significantly reduce max
pauses. This is an experimental feature that is been continuously
developed. Click here for more details. Bug Fixes
#8401, #9247, #8903, #9087, #9225, #9186, #9118, #9137, #9133,
#9116, #1446, #2246, #6918, #8904, #8927, #2907, #8829, #8786 New
in Mono 3.0.2
We are now on a cadence to deliver new Mono features and updates
on a regular basis. A month after our last release we are now
bringing some 363 commits, with 3055 files changed, 171240
insertions(+), 179104 deletions(-) Major Features
'Reactive Extensions': Mono now bundles the open sourced Microsoft's
Reactive Extensions
F# 3.0: We have updated the bundled F# compiler on OSX to version
3.0 (tag 3.0.22 from the open source fsharp repository).
SGen Garbage Collector: new lazy sweep strategy in Mono's new GC
that reduces the GC times for major collections significantly. We
have also tuned and improved the collector.
System.Json: We reverted System.Json to Mono's version, as it was
lighter and tolerates more input than Microsoft's one. We ship
System.Json.Microsoft as well for users that want to use the
Microsoft stack.
Runtime: Many improvements to Mono, better x86 and ARM support
across the board.
NTLM: Large upgrade to our NTLM stack.
clang: Mono now builds with Clang.
monodoc: vast improvements to our documentation infrastructure.
Bug fixes in 3.0.2
#8566, #8565, #8549, #8646, #8592, #8561, #8559, #8557, #8553,
#8533, #8502, #8468, #8449, #8448, #8414, #8399, #8385, #8384,
#8383, #8366, #8334, #8320, #8312, #8285, #8283, #8263, #8232,
#8156, #8037, #7965, #6650, #5760, #4587, #3582, #3275, #2471 and
#2190
New in Mono 3.0 Major Highlights C# Compiler
Mono now has a complete C# 5.0 compiler with asynchronous programming
support.
Our C# compiler has now completed its migration from using
System.Reflection.Emit as its code generation backend to use the
IKVM.Reflection API. This functionality was previewed in Mono 2.10
and is now the default. With this functionality, developers can
use any mscorlib that they want (for example the MicroFramework
one, or a custom one) without having to build a custom compiler.
We were able to eliminate the multiple executables for the compiler,
and unify all the compilers into one as well as reducing our build
times significantly.
gmcs, dmcs and smcs are now merely aliases to call the mcs compiler
with the proper -sdk flag. Tool/Library Purpose Profile
New Backend 2.10 Backend gmcs C# Compiler 2.0
IKVM.Reflection System.Reflection 2.0 dmcs C# compiler
4.0 IVKM.Reflection System.Reflection 4.0 smcs C#
Compiler 2.1 (Silverlight, MonoTouch, MonoDroid)
IKVM.Reflection System.Reflection 2.0 mcs C# Compiler
Any profile, any mscorlib IKVM.Reflection IKVM.Reflection
csharp Interactive C# Shell/REPL 4.5 System.Reflection
4.5 System.Reflection 4.0 Mono.CSharp C# Compiler as a Service
2.0, 2.1 and 4.0. System.Reflection 4.0 System.Reflection
System.Reflection is still used as a backend for the compiler as
a service and the C# interactive shell. Evaluation can now Compile
Types
The Evaluator.Eval () API is no longer limited to expressions and
statements, you can now pass entire namespace, class, interface,
struct definitions as a string and have the result get compiled.
This extends to the csharp command:
csharp> class X { public int a; } csharp> var t = new X () { a =
1 }; csharp> print (t.a); 1 csharp>
Instance API
The compiler as a service exposed by the Mono.CSharp library is no
longer limited to be a global compiler, now you can instantiate
multiple scopes for the compiler, each having its own set of
localized types and global variables.
For example, the following sample assigns a string in one context
and an int in another one:
using System; using Mono.CSharp;
class MyWorld {
public Evaluator Evaluator;
public MyWorld (string [] args) {
var r = new Report (new ConsoleReportPrinter ());
var cmd = new CommandLineParser (r);
var settings = cmd.ParseArguments (args); if (settings
== null || r.Errors > 0)
Environment.Exit (1);
Evaluator = new Evaluator (settings, r); } }
class X {
static int Main (string [] args) {
var first = new MyWorld (args); var second = new
MyWorld (args);
first.Evaluator.Run ("var Demo = \"hello, world\";");
second.Evaluator.Run ("var Demo = 1;"); first.Evaluator.Run
("print (Demo);"); second.Evaluator.Run ("print
(Demo);"); return 0; } }
C# Interactive Shell
New convenience function print, can be used instead of Console.WriteLine
Additionally, the C# interactive shell will by default use a terse
syntax that does not require a semicolon at the end of an expression,
for example:
csharp> 1 + 2 3 csharp>
4.5 Profile
The 4.5 Profile is a strict superset of the 4.0 API and is now the
default profile.
Because 4.5 API is a strict superset of 4.0 API they both share
the same assembly version number, so we actually install the 4.5
library into the GAC.
Some of the changes in the 4.5 API family include:
New Async methods WinRT compatibility API Newly introduced
assemblies (System.Net.Http, System.Threading.Tasks.Dataflow)
New Microsoft Open Source Stacks
We now include the following assemblies as part of Mono from
Microsoft's ASP.NET WebStack:
System.Net.Http.Formatting.dll System.Web.Http.dll System.Web.Razor.dll
System.Web.WebPages.Deployment.dll System.Web.WebPages.Razor.dll
System.Web.WebPages.dll System.Web.Mvc.dll System.Json.dll
(Previously available in Mono, but now replaced with Microsoft's
implementation)
We also bundle the recently open sourced Entity Framework and
EntityFramework.dll
Garbage Collector
SGen now has a new task management system that allows it to easily
scale new GC-related tasks across multiple CPUs if available:
SGen on SMP systems is able to distribute more work across the
worker threads. Previously only the mark phase was distributed.
SGen is now able to perform parallel collection in the nursery.
SGen has been ported to Win32 SGen has been ported to the MIPS
platform Precise stack scanning has been improved considerably,
and it is now supported on x86 and ARM. On OSX, SGen now uses
Mach APIs directly to speedup some tasks in the garbage collector.
Runtime Optimizations
Implemented fast version of ThreadLocal<T> (it is now a low-level
intrinstic operation)
List<T> optimizations
Support for new attributes to force inlining.
Major change in Mono to support the full table of Unicode surrogate
characters. This code was written by Damien Diederen and David
Mitchell from Logos software.
Runtime supports deferred attaching to the process (when using
suspend=n,server=y the runtime collects metadata until a debugger
is attached).
Implement tail call optimizations on PowerPC for F# (Bug #664631)
New profiler that can be used with Intel's VTune Amplifier Profiler.
Support for System.Net.NetworkInformation.NetworkChanged events on
Linux.
New tool: crlupdate this is the Mono Certficate Revocation List
Downloader and Updater and can be used to download of new, or update
of existing, Certficate Revocation List (CRL) associated with the
certificates present in the user (default) or machine stores. The
CRL present in the stores are used to determine the validity of
unexpired, trusted X.509 certificates. ASP.NET
Bring the error page to the new millenium. CodeContracts
Alexander Chebaturkin has implemented initial version of static
Code Contract analyser as part of SoC 2011. Smaller Updates
Partial support for Portable Class Libraries (details)
Updated Unicode tables, fixes long-standing 480178 MacOS X
We continue to expand significantly our support for MacOS X and
iOS.
Mono can now be compiled by users as a 64-bit binary. Mono still
ships as a 32-bit binary, as most libraries that exist today for
Mono run only in 32 bits.
DriveInfo now returns correct information on OSX. Mono.Data.Sqlite
It is now possible to configure the threading model for SQLite
using the SetConfig method in the SQLiteConnection class.
Supports iOS crypto APIs. C5 Library
We have updated the venerable C5 library to the latest version.
Breaking Changes Since Mono 2.10
In order to be compatible with Microsoft .NET's behavior, exceptions
thrown in object finalizers now cause a full runtime abort. This
behavior was already present for thread pool threads, but hadn't
been enabled for the finalizer thread yet.
Generally, one should avoid exceptions in finalizers entirely. If
you must use them, catch them so that they do not terminate the
application. GDB
GDB support has been extended with a new gdb hook that is aware
of the SGenGC internals. Added pretty printers for more runtime
data structures like MonoVTable to the mono gdb mode.
MIPS port
The MIPS port is now complete, it can do a full bootstrap, and run
the runtime/corlib test suites. Soft Debugger
Single stepping is now implemented using breakpoints in most
cases, speeding it up considerably. Calls to
System.Diagnostics.Debugger:Log()/Break () are now routed to
the debugger using new UserLog/UserBreak event types. S390x
is now supported (Neale Ferguson). MIPS is now supported.
Added new methods to Mono.Debugger.Soft and the runtime to
decrease the amount of packets transmitted between the debugger
and the debuggee. This significantly improves performance over
high latency connections like USB. Many bug fixes.
Static Compiler (AOT)
Made changes to some AOT data structures to reduce their size,
especially when using generics. This reduces the size of an mscorlib
AOT image by about 1-2%.
Many changes to the class libraries allow more core Generics code
to run on systems that do not support JIT compilation.
2013-05-29 13:11:12 +02:00
|
|
|
DISTNAME= mono-3.0.10
|
2014-05-30 01:35:13 +02:00
|
|
|
PKGREVISION= 7
|
2003-03-01 14:11:44 +01:00
|
|
|
CATEGORIES= lang
|
2011-10-29 07:47:54 +02:00
|
|
|
MASTER_SITES= http://download.mono-project.com/sources/mono/
|
2008-02-13 15:16:43 +01:00
|
|
|
EXTRACT_SUFX= .tar.bz2
|
2003-03-01 14:11:44 +01:00
|
|
|
|
Update to 3.0.10:
New in Mono 3.0.10
A hot-fix release.
Reverted parallel mkbundle.
Fixed duplicated debug symbol problem in the compiler.
New in Mono 3.0.9
Fix gtk+ copy & paste.
Fix debugger support for custom attributes.
Proper stack bounds calculation on windows.
Add partial generic methods to our C# compiler.
NaCL support for ARM.
Fix LLVM loading on OSX.
New in Mono 3.0.8
Multiple improvements to the BCL to reduce usage of non generic
collections and use faster string comparisons.
Optimize large object cloning and boxing.
Multiple changes to bring mono closer to full PCL compatibility.
Add System.WeakReference<T>
Sgen can now return memory to the system for
Many compiler fixes for async.
Improved FullAOT support for async.
NaCl build fixes and improvements.
WCF now has cookie support in .net 4.0.
Optimize Marshal.Read/Write methods to avoid a trip to unmanaged
when needed.
Optimize LINQ with arrays.
Multiple fixes to the sgen's concurrent collector.
New in Mono 3.0.7
Multiple fixes to the sgen's concurrent collector.
Performance improvements in primitive types parsing.
Add a configuration time option to disable remoting.
Optimize tls lookups on full-aot + arm.
Add a configuration option to disable remoting.
Multiple improvements and bug fixes in culture related code.
Runtime assembly mapping for PCL.
Fix Binder primitive conversion to make .net.
Optimize Activator.CreateInstance ().
Optimize icalls in FullAOT code.
Implement Volatile.Read/Write<T> and Interlocked.MemoryBarrier ().
Optimized unmanaged to managed string conversion.
New in Mono 3.0.6
This is another hotfix release. It reverses the visibility change
made to Mono.Runtime.GetDisplayName.
New in Mono 3.0.5
This is a hot-fix release. It fixes a crash in the runtime support
for generics, which could be triggered by Xamarin Studio. New in
Mono 3.0.4 Garbage Collector
Many changes went into our GC implementation. We added long links
support to our traditional Boehm collector. As for SGen, it is
finally a true concurrent GC, with cementing support. We also fixed
several bugs, such as #9928 pointer free deadlock problem and bugs
in mono_gc_weak_link_get. Async
Rewrite of async StreamReader/StreamWritter operations to not fail
on subsequent async call. Fixes #9761 ASP.NET
Updated encoding support.
Some minor bug fixes. Other improvements
New MONO_DISABLE_SHARED_AREA environment variable lets you turn of
the use of shared memory in Mono (used by performance counters and
optionally by the io-layer).
Updated EntityFramework version that ships with Mono.
Support for ConnectionLifetime parameter in SqlClient (contributed
by 7digital).
Fixed C# Evaluator Terse reader with loops
Don't report user operator error during probing user conversions.
Fixes #10170.
Add explicit interface GetType implementation to avoid object::GetType
become proxy. (C# compiler fix)
Implement use of __refvalue as an lvalue. Fixes #10034. Packaging
We no longer install a /usr/bin/pkg-config on OSX, to stop clashing
with Homebrew.
New in Mono 3.0.3
Mono garbage collectors now feature multiple dtrace probes for
users on MacOS and Solaris.
Many stability improvements and performance work on Mono's Async
support. Garbage Collector
Sgen now has a concurrent GC that can significantly reduce max
pauses. This is an experimental feature that is been continuously
developed. Click here for more details. Bug Fixes
#8401, #9247, #8903, #9087, #9225, #9186, #9118, #9137, #9133,
#9116, #1446, #2246, #6918, #8904, #8927, #2907, #8829, #8786 New
in Mono 3.0.2
We are now on a cadence to deliver new Mono features and updates
on a regular basis. A month after our last release we are now
bringing some 363 commits, with 3055 files changed, 171240
insertions(+), 179104 deletions(-) Major Features
'Reactive Extensions': Mono now bundles the open sourced Microsoft's
Reactive Extensions
F# 3.0: We have updated the bundled F# compiler on OSX to version
3.0 (tag 3.0.22 from the open source fsharp repository).
SGen Garbage Collector: new lazy sweep strategy in Mono's new GC
that reduces the GC times for major collections significantly. We
have also tuned and improved the collector.
System.Json: We reverted System.Json to Mono's version, as it was
lighter and tolerates more input than Microsoft's one. We ship
System.Json.Microsoft as well for users that want to use the
Microsoft stack.
Runtime: Many improvements to Mono, better x86 and ARM support
across the board.
NTLM: Large upgrade to our NTLM stack.
clang: Mono now builds with Clang.
monodoc: vast improvements to our documentation infrastructure.
Bug fixes in 3.0.2
#8566, #8565, #8549, #8646, #8592, #8561, #8559, #8557, #8553,
#8533, #8502, #8468, #8449, #8448, #8414, #8399, #8385, #8384,
#8383, #8366, #8334, #8320, #8312, #8285, #8283, #8263, #8232,
#8156, #8037, #7965, #6650, #5760, #4587, #3582, #3275, #2471 and
#2190
New in Mono 3.0 Major Highlights C# Compiler
Mono now has a complete C# 5.0 compiler with asynchronous programming
support.
Our C# compiler has now completed its migration from using
System.Reflection.Emit as its code generation backend to use the
IKVM.Reflection API. This functionality was previewed in Mono 2.10
and is now the default. With this functionality, developers can
use any mscorlib that they want (for example the MicroFramework
one, or a custom one) without having to build a custom compiler.
We were able to eliminate the multiple executables for the compiler,
and unify all the compilers into one as well as reducing our build
times significantly.
gmcs, dmcs and smcs are now merely aliases to call the mcs compiler
with the proper -sdk flag. Tool/Library Purpose Profile
New Backend 2.10 Backend gmcs C# Compiler 2.0
IKVM.Reflection System.Reflection 2.0 dmcs C# compiler
4.0 IVKM.Reflection System.Reflection 4.0 smcs C#
Compiler 2.1 (Silverlight, MonoTouch, MonoDroid)
IKVM.Reflection System.Reflection 2.0 mcs C# Compiler
Any profile, any mscorlib IKVM.Reflection IKVM.Reflection
csharp Interactive C# Shell/REPL 4.5 System.Reflection
4.5 System.Reflection 4.0 Mono.CSharp C# Compiler as a Service
2.0, 2.1 and 4.0. System.Reflection 4.0 System.Reflection
System.Reflection is still used as a backend for the compiler as
a service and the C# interactive shell. Evaluation can now Compile
Types
The Evaluator.Eval () API is no longer limited to expressions and
statements, you can now pass entire namespace, class, interface,
struct definitions as a string and have the result get compiled.
This extends to the csharp command:
csharp> class X { public int a; } csharp> var t = new X () { a =
1 }; csharp> print (t.a); 1 csharp>
Instance API
The compiler as a service exposed by the Mono.CSharp library is no
longer limited to be a global compiler, now you can instantiate
multiple scopes for the compiler, each having its own set of
localized types and global variables.
For example, the following sample assigns a string in one context
and an int in another one:
using System; using Mono.CSharp;
class MyWorld {
public Evaluator Evaluator;
public MyWorld (string [] args) {
var r = new Report (new ConsoleReportPrinter ());
var cmd = new CommandLineParser (r);
var settings = cmd.ParseArguments (args); if (settings
== null || r.Errors > 0)
Environment.Exit (1);
Evaluator = new Evaluator (settings, r); } }
class X {
static int Main (string [] args) {
var first = new MyWorld (args); var second = new
MyWorld (args);
first.Evaluator.Run ("var Demo = \"hello, world\";");
second.Evaluator.Run ("var Demo = 1;"); first.Evaluator.Run
("print (Demo);"); second.Evaluator.Run ("print
(Demo);"); return 0; } }
C# Interactive Shell
New convenience function print, can be used instead of Console.WriteLine
Additionally, the C# interactive shell will by default use a terse
syntax that does not require a semicolon at the end of an expression,
for example:
csharp> 1 + 2 3 csharp>
4.5 Profile
The 4.5 Profile is a strict superset of the 4.0 API and is now the
default profile.
Because 4.5 API is a strict superset of 4.0 API they both share
the same assembly version number, so we actually install the 4.5
library into the GAC.
Some of the changes in the 4.5 API family include:
New Async methods WinRT compatibility API Newly introduced
assemblies (System.Net.Http, System.Threading.Tasks.Dataflow)
New Microsoft Open Source Stacks
We now include the following assemblies as part of Mono from
Microsoft's ASP.NET WebStack:
System.Net.Http.Formatting.dll System.Web.Http.dll System.Web.Razor.dll
System.Web.WebPages.Deployment.dll System.Web.WebPages.Razor.dll
System.Web.WebPages.dll System.Web.Mvc.dll System.Json.dll
(Previously available in Mono, but now replaced with Microsoft's
implementation)
We also bundle the recently open sourced Entity Framework and
EntityFramework.dll
Garbage Collector
SGen now has a new task management system that allows it to easily
scale new GC-related tasks across multiple CPUs if available:
SGen on SMP systems is able to distribute more work across the
worker threads. Previously only the mark phase was distributed.
SGen is now able to perform parallel collection in the nursery.
SGen has been ported to Win32 SGen has been ported to the MIPS
platform Precise stack scanning has been improved considerably,
and it is now supported on x86 and ARM. On OSX, SGen now uses
Mach APIs directly to speedup some tasks in the garbage collector.
Runtime Optimizations
Implemented fast version of ThreadLocal<T> (it is now a low-level
intrinstic operation)
List<T> optimizations
Support for new attributes to force inlining.
Major change in Mono to support the full table of Unicode surrogate
characters. This code was written by Damien Diederen and David
Mitchell from Logos software.
Runtime supports deferred attaching to the process (when using
suspend=n,server=y the runtime collects metadata until a debugger
is attached).
Implement tail call optimizations on PowerPC for F# (Bug #664631)
New profiler that can be used with Intel's VTune Amplifier Profiler.
Support for System.Net.NetworkInformation.NetworkChanged events on
Linux.
New tool: crlupdate this is the Mono Certficate Revocation List
Downloader and Updater and can be used to download of new, or update
of existing, Certficate Revocation List (CRL) associated with the
certificates present in the user (default) or machine stores. The
CRL present in the stores are used to determine the validity of
unexpired, trusted X.509 certificates. ASP.NET
Bring the error page to the new millenium. CodeContracts
Alexander Chebaturkin has implemented initial version of static
Code Contract analyser as part of SoC 2011. Smaller Updates
Partial support for Portable Class Libraries (details)
Updated Unicode tables, fixes long-standing 480178 MacOS X
We continue to expand significantly our support for MacOS X and
iOS.
Mono can now be compiled by users as a 64-bit binary. Mono still
ships as a 32-bit binary, as most libraries that exist today for
Mono run only in 32 bits.
DriveInfo now returns correct information on OSX. Mono.Data.Sqlite
It is now possible to configure the threading model for SQLite
using the SetConfig method in the SQLiteConnection class.
Supports iOS crypto APIs. C5 Library
We have updated the venerable C5 library to the latest version.
Breaking Changes Since Mono 2.10
In order to be compatible with Microsoft .NET's behavior, exceptions
thrown in object finalizers now cause a full runtime abort. This
behavior was already present for thread pool threads, but hadn't
been enabled for the finalizer thread yet.
Generally, one should avoid exceptions in finalizers entirely. If
you must use them, catch them so that they do not terminate the
application. GDB
GDB support has been extended with a new gdb hook that is aware
of the SGenGC internals. Added pretty printers for more runtime
data structures like MonoVTable to the mono gdb mode.
MIPS port
The MIPS port is now complete, it can do a full bootstrap, and run
the runtime/corlib test suites. Soft Debugger
Single stepping is now implemented using breakpoints in most
cases, speeding it up considerably. Calls to
System.Diagnostics.Debugger:Log()/Break () are now routed to
the debugger using new UserLog/UserBreak event types. S390x
is now supported (Neale Ferguson). MIPS is now supported.
Added new methods to Mono.Debugger.Soft and the runtime to
decrease the amount of packets transmitted between the debugger
and the debuggee. This significantly improves performance over
high latency connections like USB. Many bug fixes.
Static Compiler (AOT)
Made changes to some AOT data structures to reduce their size,
especially when using generics. This reduces the size of an mscorlib
AOT image by about 1-2%.
Many changes to the class libraries allow more core Generics code
to run on systems that do not support JIT compilation.
2013-05-29 13:11:12 +02:00
|
|
|
MAINTAINER= pkgsrc-users@NetBSD.org
|
2004-07-04 01:02:50 +02:00
|
|
|
HOMEPAGE= http://www.mono-project.com/
|
2013-06-17 14:44:53 +02:00
|
|
|
COMMENT= Open source implementation of the .NET Development Framework (v3)
|
Update to 3.0.10:
New in Mono 3.0.10
A hot-fix release.
Reverted parallel mkbundle.
Fixed duplicated debug symbol problem in the compiler.
New in Mono 3.0.9
Fix gtk+ copy & paste.
Fix debugger support for custom attributes.
Proper stack bounds calculation on windows.
Add partial generic methods to our C# compiler.
NaCL support for ARM.
Fix LLVM loading on OSX.
New in Mono 3.0.8
Multiple improvements to the BCL to reduce usage of non generic
collections and use faster string comparisons.
Optimize large object cloning and boxing.
Multiple changes to bring mono closer to full PCL compatibility.
Add System.WeakReference<T>
Sgen can now return memory to the system for
Many compiler fixes for async.
Improved FullAOT support for async.
NaCl build fixes and improvements.
WCF now has cookie support in .net 4.0.
Optimize Marshal.Read/Write methods to avoid a trip to unmanaged
when needed.
Optimize LINQ with arrays.
Multiple fixes to the sgen's concurrent collector.
New in Mono 3.0.7
Multiple fixes to the sgen's concurrent collector.
Performance improvements in primitive types parsing.
Add a configuration time option to disable remoting.
Optimize tls lookups on full-aot + arm.
Add a configuration option to disable remoting.
Multiple improvements and bug fixes in culture related code.
Runtime assembly mapping for PCL.
Fix Binder primitive conversion to make .net.
Optimize Activator.CreateInstance ().
Optimize icalls in FullAOT code.
Implement Volatile.Read/Write<T> and Interlocked.MemoryBarrier ().
Optimized unmanaged to managed string conversion.
New in Mono 3.0.6
This is another hotfix release. It reverses the visibility change
made to Mono.Runtime.GetDisplayName.
New in Mono 3.0.5
This is a hot-fix release. It fixes a crash in the runtime support
for generics, which could be triggered by Xamarin Studio. New in
Mono 3.0.4 Garbage Collector
Many changes went into our GC implementation. We added long links
support to our traditional Boehm collector. As for SGen, it is
finally a true concurrent GC, with cementing support. We also fixed
several bugs, such as #9928 pointer free deadlock problem and bugs
in mono_gc_weak_link_get. Async
Rewrite of async StreamReader/StreamWritter operations to not fail
on subsequent async call. Fixes #9761 ASP.NET
Updated encoding support.
Some minor bug fixes. Other improvements
New MONO_DISABLE_SHARED_AREA environment variable lets you turn of
the use of shared memory in Mono (used by performance counters and
optionally by the io-layer).
Updated EntityFramework version that ships with Mono.
Support for ConnectionLifetime parameter in SqlClient (contributed
by 7digital).
Fixed C# Evaluator Terse reader with loops
Don't report user operator error during probing user conversions.
Fixes #10170.
Add explicit interface GetType implementation to avoid object::GetType
become proxy. (C# compiler fix)
Implement use of __refvalue as an lvalue. Fixes #10034. Packaging
We no longer install a /usr/bin/pkg-config on OSX, to stop clashing
with Homebrew.
New in Mono 3.0.3
Mono garbage collectors now feature multiple dtrace probes for
users on MacOS and Solaris.
Many stability improvements and performance work on Mono's Async
support. Garbage Collector
Sgen now has a concurrent GC that can significantly reduce max
pauses. This is an experimental feature that is been continuously
developed. Click here for more details. Bug Fixes
#8401, #9247, #8903, #9087, #9225, #9186, #9118, #9137, #9133,
#9116, #1446, #2246, #6918, #8904, #8927, #2907, #8829, #8786 New
in Mono 3.0.2
We are now on a cadence to deliver new Mono features and updates
on a regular basis. A month after our last release we are now
bringing some 363 commits, with 3055 files changed, 171240
insertions(+), 179104 deletions(-) Major Features
'Reactive Extensions': Mono now bundles the open sourced Microsoft's
Reactive Extensions
F# 3.0: We have updated the bundled F# compiler on OSX to version
3.0 (tag 3.0.22 from the open source fsharp repository).
SGen Garbage Collector: new lazy sweep strategy in Mono's new GC
that reduces the GC times for major collections significantly. We
have also tuned and improved the collector.
System.Json: We reverted System.Json to Mono's version, as it was
lighter and tolerates more input than Microsoft's one. We ship
System.Json.Microsoft as well for users that want to use the
Microsoft stack.
Runtime: Many improvements to Mono, better x86 and ARM support
across the board.
NTLM: Large upgrade to our NTLM stack.
clang: Mono now builds with Clang.
monodoc: vast improvements to our documentation infrastructure.
Bug fixes in 3.0.2
#8566, #8565, #8549, #8646, #8592, #8561, #8559, #8557, #8553,
#8533, #8502, #8468, #8449, #8448, #8414, #8399, #8385, #8384,
#8383, #8366, #8334, #8320, #8312, #8285, #8283, #8263, #8232,
#8156, #8037, #7965, #6650, #5760, #4587, #3582, #3275, #2471 and
#2190
New in Mono 3.0 Major Highlights C# Compiler
Mono now has a complete C# 5.0 compiler with asynchronous programming
support.
Our C# compiler has now completed its migration from using
System.Reflection.Emit as its code generation backend to use the
IKVM.Reflection API. This functionality was previewed in Mono 2.10
and is now the default. With this functionality, developers can
use any mscorlib that they want (for example the MicroFramework
one, or a custom one) without having to build a custom compiler.
We were able to eliminate the multiple executables for the compiler,
and unify all the compilers into one as well as reducing our build
times significantly.
gmcs, dmcs and smcs are now merely aliases to call the mcs compiler
with the proper -sdk flag. Tool/Library Purpose Profile
New Backend 2.10 Backend gmcs C# Compiler 2.0
IKVM.Reflection System.Reflection 2.0 dmcs C# compiler
4.0 IVKM.Reflection System.Reflection 4.0 smcs C#
Compiler 2.1 (Silverlight, MonoTouch, MonoDroid)
IKVM.Reflection System.Reflection 2.0 mcs C# Compiler
Any profile, any mscorlib IKVM.Reflection IKVM.Reflection
csharp Interactive C# Shell/REPL 4.5 System.Reflection
4.5 System.Reflection 4.0 Mono.CSharp C# Compiler as a Service
2.0, 2.1 and 4.0. System.Reflection 4.0 System.Reflection
System.Reflection is still used as a backend for the compiler as
a service and the C# interactive shell. Evaluation can now Compile
Types
The Evaluator.Eval () API is no longer limited to expressions and
statements, you can now pass entire namespace, class, interface,
struct definitions as a string and have the result get compiled.
This extends to the csharp command:
csharp> class X { public int a; } csharp> var t = new X () { a =
1 }; csharp> print (t.a); 1 csharp>
Instance API
The compiler as a service exposed by the Mono.CSharp library is no
longer limited to be a global compiler, now you can instantiate
multiple scopes for the compiler, each having its own set of
localized types and global variables.
For example, the following sample assigns a string in one context
and an int in another one:
using System; using Mono.CSharp;
class MyWorld {
public Evaluator Evaluator;
public MyWorld (string [] args) {
var r = new Report (new ConsoleReportPrinter ());
var cmd = new CommandLineParser (r);
var settings = cmd.ParseArguments (args); if (settings
== null || r.Errors > 0)
Environment.Exit (1);
Evaluator = new Evaluator (settings, r); } }
class X {
static int Main (string [] args) {
var first = new MyWorld (args); var second = new
MyWorld (args);
first.Evaluator.Run ("var Demo = \"hello, world\";");
second.Evaluator.Run ("var Demo = 1;"); first.Evaluator.Run
("print (Demo);"); second.Evaluator.Run ("print
(Demo);"); return 0; } }
C# Interactive Shell
New convenience function print, can be used instead of Console.WriteLine
Additionally, the C# interactive shell will by default use a terse
syntax that does not require a semicolon at the end of an expression,
for example:
csharp> 1 + 2 3 csharp>
4.5 Profile
The 4.5 Profile is a strict superset of the 4.0 API and is now the
default profile.
Because 4.5 API is a strict superset of 4.0 API they both share
the same assembly version number, so we actually install the 4.5
library into the GAC.
Some of the changes in the 4.5 API family include:
New Async methods WinRT compatibility API Newly introduced
assemblies (System.Net.Http, System.Threading.Tasks.Dataflow)
New Microsoft Open Source Stacks
We now include the following assemblies as part of Mono from
Microsoft's ASP.NET WebStack:
System.Net.Http.Formatting.dll System.Web.Http.dll System.Web.Razor.dll
System.Web.WebPages.Deployment.dll System.Web.WebPages.Razor.dll
System.Web.WebPages.dll System.Web.Mvc.dll System.Json.dll
(Previously available in Mono, but now replaced with Microsoft's
implementation)
We also bundle the recently open sourced Entity Framework and
EntityFramework.dll
Garbage Collector
SGen now has a new task management system that allows it to easily
scale new GC-related tasks across multiple CPUs if available:
SGen on SMP systems is able to distribute more work across the
worker threads. Previously only the mark phase was distributed.
SGen is now able to perform parallel collection in the nursery.
SGen has been ported to Win32 SGen has been ported to the MIPS
platform Precise stack scanning has been improved considerably,
and it is now supported on x86 and ARM. On OSX, SGen now uses
Mach APIs directly to speedup some tasks in the garbage collector.
Runtime Optimizations
Implemented fast version of ThreadLocal<T> (it is now a low-level
intrinstic operation)
List<T> optimizations
Support for new attributes to force inlining.
Major change in Mono to support the full table of Unicode surrogate
characters. This code was written by Damien Diederen and David
Mitchell from Logos software.
Runtime supports deferred attaching to the process (when using
suspend=n,server=y the runtime collects metadata until a debugger
is attached).
Implement tail call optimizations on PowerPC for F# (Bug #664631)
New profiler that can be used with Intel's VTune Amplifier Profiler.
Support for System.Net.NetworkInformation.NetworkChanged events on
Linux.
New tool: crlupdate this is the Mono Certficate Revocation List
Downloader and Updater and can be used to download of new, or update
of existing, Certficate Revocation List (CRL) associated with the
certificates present in the user (default) or machine stores. The
CRL present in the stores are used to determine the validity of
unexpired, trusted X.509 certificates. ASP.NET
Bring the error page to the new millenium. CodeContracts
Alexander Chebaturkin has implemented initial version of static
Code Contract analyser as part of SoC 2011. Smaller Updates
Partial support for Portable Class Libraries (details)
Updated Unicode tables, fixes long-standing 480178 MacOS X
We continue to expand significantly our support for MacOS X and
iOS.
Mono can now be compiled by users as a 64-bit binary. Mono still
ships as a 32-bit binary, as most libraries that exist today for
Mono run only in 32 bits.
DriveInfo now returns correct information on OSX. Mono.Data.Sqlite
It is now possible to configure the threading model for SQLite
using the SetConfig method in the SQLiteConnection class.
Supports iOS crypto APIs. C5 Library
We have updated the venerable C5 library to the latest version.
Breaking Changes Since Mono 2.10
In order to be compatible with Microsoft .NET's behavior, exceptions
thrown in object finalizers now cause a full runtime abort. This
behavior was already present for thread pool threads, but hadn't
been enabled for the finalizer thread yet.
Generally, one should avoid exceptions in finalizers entirely. If
you must use them, catch them so that they do not terminate the
application. GDB
GDB support has been extended with a new gdb hook that is aware
of the SGenGC internals. Added pretty printers for more runtime
data structures like MonoVTable to the mono gdb mode.
MIPS port
The MIPS port is now complete, it can do a full bootstrap, and run
the runtime/corlib test suites. Soft Debugger
Single stepping is now implemented using breakpoints in most
cases, speeding it up considerably. Calls to
System.Diagnostics.Debugger:Log()/Break () are now routed to
the debugger using new UserLog/UserBreak event types. S390x
is now supported (Neale Ferguson). MIPS is now supported.
Added new methods to Mono.Debugger.Soft and the runtime to
decrease the amount of packets transmitted between the debugger
and the debuggee. This significantly improves performance over
high latency connections like USB. Many bug fixes.
Static Compiler (AOT)
Made changes to some AOT data structures to reduce their size,
especially when using generics. This reduces the size of an mscorlib
AOT image by about 1-2%.
Many changes to the class libraries allow more core Generics code
to run on systems that do not support JIT compilation.
2013-05-29 13:11:12 +02:00
|
|
|
LICENSE= mit AND gnu-gpl-v2 AND gnu-lgpl-v2 AND apache-2.0
|
2003-03-01 14:11:44 +01:00
|
|
|
|
Update to 3.0.10:
New in Mono 3.0.10
A hot-fix release.
Reverted parallel mkbundle.
Fixed duplicated debug symbol problem in the compiler.
New in Mono 3.0.9
Fix gtk+ copy & paste.
Fix debugger support for custom attributes.
Proper stack bounds calculation on windows.
Add partial generic methods to our C# compiler.
NaCL support for ARM.
Fix LLVM loading on OSX.
New in Mono 3.0.8
Multiple improvements to the BCL to reduce usage of non generic
collections and use faster string comparisons.
Optimize large object cloning and boxing.
Multiple changes to bring mono closer to full PCL compatibility.
Add System.WeakReference<T>
Sgen can now return memory to the system for
Many compiler fixes for async.
Improved FullAOT support for async.
NaCl build fixes and improvements.
WCF now has cookie support in .net 4.0.
Optimize Marshal.Read/Write methods to avoid a trip to unmanaged
when needed.
Optimize LINQ with arrays.
Multiple fixes to the sgen's concurrent collector.
New in Mono 3.0.7
Multiple fixes to the sgen's concurrent collector.
Performance improvements in primitive types parsing.
Add a configuration time option to disable remoting.
Optimize tls lookups on full-aot + arm.
Add a configuration option to disable remoting.
Multiple improvements and bug fixes in culture related code.
Runtime assembly mapping for PCL.
Fix Binder primitive conversion to make .net.
Optimize Activator.CreateInstance ().
Optimize icalls in FullAOT code.
Implement Volatile.Read/Write<T> and Interlocked.MemoryBarrier ().
Optimized unmanaged to managed string conversion.
New in Mono 3.0.6
This is another hotfix release. It reverses the visibility change
made to Mono.Runtime.GetDisplayName.
New in Mono 3.0.5
This is a hot-fix release. It fixes a crash in the runtime support
for generics, which could be triggered by Xamarin Studio. New in
Mono 3.0.4 Garbage Collector
Many changes went into our GC implementation. We added long links
support to our traditional Boehm collector. As for SGen, it is
finally a true concurrent GC, with cementing support. We also fixed
several bugs, such as #9928 pointer free deadlock problem and bugs
in mono_gc_weak_link_get. Async
Rewrite of async StreamReader/StreamWritter operations to not fail
on subsequent async call. Fixes #9761 ASP.NET
Updated encoding support.
Some minor bug fixes. Other improvements
New MONO_DISABLE_SHARED_AREA environment variable lets you turn of
the use of shared memory in Mono (used by performance counters and
optionally by the io-layer).
Updated EntityFramework version that ships with Mono.
Support for ConnectionLifetime parameter in SqlClient (contributed
by 7digital).
Fixed C# Evaluator Terse reader with loops
Don't report user operator error during probing user conversions.
Fixes #10170.
Add explicit interface GetType implementation to avoid object::GetType
become proxy. (C# compiler fix)
Implement use of __refvalue as an lvalue. Fixes #10034. Packaging
We no longer install a /usr/bin/pkg-config on OSX, to stop clashing
with Homebrew.
New in Mono 3.0.3
Mono garbage collectors now feature multiple dtrace probes for
users on MacOS and Solaris.
Many stability improvements and performance work on Mono's Async
support. Garbage Collector
Sgen now has a concurrent GC that can significantly reduce max
pauses. This is an experimental feature that is been continuously
developed. Click here for more details. Bug Fixes
#8401, #9247, #8903, #9087, #9225, #9186, #9118, #9137, #9133,
#9116, #1446, #2246, #6918, #8904, #8927, #2907, #8829, #8786 New
in Mono 3.0.2
We are now on a cadence to deliver new Mono features and updates
on a regular basis. A month after our last release we are now
bringing some 363 commits, with 3055 files changed, 171240
insertions(+), 179104 deletions(-) Major Features
'Reactive Extensions': Mono now bundles the open sourced Microsoft's
Reactive Extensions
F# 3.0: We have updated the bundled F# compiler on OSX to version
3.0 (tag 3.0.22 from the open source fsharp repository).
SGen Garbage Collector: new lazy sweep strategy in Mono's new GC
that reduces the GC times for major collections significantly. We
have also tuned and improved the collector.
System.Json: We reverted System.Json to Mono's version, as it was
lighter and tolerates more input than Microsoft's one. We ship
System.Json.Microsoft as well for users that want to use the
Microsoft stack.
Runtime: Many improvements to Mono, better x86 and ARM support
across the board.
NTLM: Large upgrade to our NTLM stack.
clang: Mono now builds with Clang.
monodoc: vast improvements to our documentation infrastructure.
Bug fixes in 3.0.2
#8566, #8565, #8549, #8646, #8592, #8561, #8559, #8557, #8553,
#8533, #8502, #8468, #8449, #8448, #8414, #8399, #8385, #8384,
#8383, #8366, #8334, #8320, #8312, #8285, #8283, #8263, #8232,
#8156, #8037, #7965, #6650, #5760, #4587, #3582, #3275, #2471 and
#2190
New in Mono 3.0 Major Highlights C# Compiler
Mono now has a complete C# 5.0 compiler with asynchronous programming
support.
Our C# compiler has now completed its migration from using
System.Reflection.Emit as its code generation backend to use the
IKVM.Reflection API. This functionality was previewed in Mono 2.10
and is now the default. With this functionality, developers can
use any mscorlib that they want (for example the MicroFramework
one, or a custom one) without having to build a custom compiler.
We were able to eliminate the multiple executables for the compiler,
and unify all the compilers into one as well as reducing our build
times significantly.
gmcs, dmcs and smcs are now merely aliases to call the mcs compiler
with the proper -sdk flag. Tool/Library Purpose Profile
New Backend 2.10 Backend gmcs C# Compiler 2.0
IKVM.Reflection System.Reflection 2.0 dmcs C# compiler
4.0 IVKM.Reflection System.Reflection 4.0 smcs C#
Compiler 2.1 (Silverlight, MonoTouch, MonoDroid)
IKVM.Reflection System.Reflection 2.0 mcs C# Compiler
Any profile, any mscorlib IKVM.Reflection IKVM.Reflection
csharp Interactive C# Shell/REPL 4.5 System.Reflection
4.5 System.Reflection 4.0 Mono.CSharp C# Compiler as a Service
2.0, 2.1 and 4.0. System.Reflection 4.0 System.Reflection
System.Reflection is still used as a backend for the compiler as
a service and the C# interactive shell. Evaluation can now Compile
Types
The Evaluator.Eval () API is no longer limited to expressions and
statements, you can now pass entire namespace, class, interface,
struct definitions as a string and have the result get compiled.
This extends to the csharp command:
csharp> class X { public int a; } csharp> var t = new X () { a =
1 }; csharp> print (t.a); 1 csharp>
Instance API
The compiler as a service exposed by the Mono.CSharp library is no
longer limited to be a global compiler, now you can instantiate
multiple scopes for the compiler, each having its own set of
localized types and global variables.
For example, the following sample assigns a string in one context
and an int in another one:
using System; using Mono.CSharp;
class MyWorld {
public Evaluator Evaluator;
public MyWorld (string [] args) {
var r = new Report (new ConsoleReportPrinter ());
var cmd = new CommandLineParser (r);
var settings = cmd.ParseArguments (args); if (settings
== null || r.Errors > 0)
Environment.Exit (1);
Evaluator = new Evaluator (settings, r); } }
class X {
static int Main (string [] args) {
var first = new MyWorld (args); var second = new
MyWorld (args);
first.Evaluator.Run ("var Demo = \"hello, world\";");
second.Evaluator.Run ("var Demo = 1;"); first.Evaluator.Run
("print (Demo);"); second.Evaluator.Run ("print
(Demo);"); return 0; } }
C# Interactive Shell
New convenience function print, can be used instead of Console.WriteLine
Additionally, the C# interactive shell will by default use a terse
syntax that does not require a semicolon at the end of an expression,
for example:
csharp> 1 + 2 3 csharp>
4.5 Profile
The 4.5 Profile is a strict superset of the 4.0 API and is now the
default profile.
Because 4.5 API is a strict superset of 4.0 API they both share
the same assembly version number, so we actually install the 4.5
library into the GAC.
Some of the changes in the 4.5 API family include:
New Async methods WinRT compatibility API Newly introduced
assemblies (System.Net.Http, System.Threading.Tasks.Dataflow)
New Microsoft Open Source Stacks
We now include the following assemblies as part of Mono from
Microsoft's ASP.NET WebStack:
System.Net.Http.Formatting.dll System.Web.Http.dll System.Web.Razor.dll
System.Web.WebPages.Deployment.dll System.Web.WebPages.Razor.dll
System.Web.WebPages.dll System.Web.Mvc.dll System.Json.dll
(Previously available in Mono, but now replaced with Microsoft's
implementation)
We also bundle the recently open sourced Entity Framework and
EntityFramework.dll
Garbage Collector
SGen now has a new task management system that allows it to easily
scale new GC-related tasks across multiple CPUs if available:
SGen on SMP systems is able to distribute more work across the
worker threads. Previously only the mark phase was distributed.
SGen is now able to perform parallel collection in the nursery.
SGen has been ported to Win32 SGen has been ported to the MIPS
platform Precise stack scanning has been improved considerably,
and it is now supported on x86 and ARM. On OSX, SGen now uses
Mach APIs directly to speedup some tasks in the garbage collector.
Runtime Optimizations
Implemented fast version of ThreadLocal<T> (it is now a low-level
intrinstic operation)
List<T> optimizations
Support for new attributes to force inlining.
Major change in Mono to support the full table of Unicode surrogate
characters. This code was written by Damien Diederen and David
Mitchell from Logos software.
Runtime supports deferred attaching to the process (when using
suspend=n,server=y the runtime collects metadata until a debugger
is attached).
Implement tail call optimizations on PowerPC for F# (Bug #664631)
New profiler that can be used with Intel's VTune Amplifier Profiler.
Support for System.Net.NetworkInformation.NetworkChanged events on
Linux.
New tool: crlupdate this is the Mono Certficate Revocation List
Downloader and Updater and can be used to download of new, or update
of existing, Certficate Revocation List (CRL) associated with the
certificates present in the user (default) or machine stores. The
CRL present in the stores are used to determine the validity of
unexpired, trusted X.509 certificates. ASP.NET
Bring the error page to the new millenium. CodeContracts
Alexander Chebaturkin has implemented initial version of static
Code Contract analyser as part of SoC 2011. Smaller Updates
Partial support for Portable Class Libraries (details)
Updated Unicode tables, fixes long-standing 480178 MacOS X
We continue to expand significantly our support for MacOS X and
iOS.
Mono can now be compiled by users as a 64-bit binary. Mono still
ships as a 32-bit binary, as most libraries that exist today for
Mono run only in 32 bits.
DriveInfo now returns correct information on OSX. Mono.Data.Sqlite
It is now possible to configure the threading model for SQLite
using the SetConfig method in the SQLiteConnection class.
Supports iOS crypto APIs. C5 Library
We have updated the venerable C5 library to the latest version.
Breaking Changes Since Mono 2.10
In order to be compatible with Microsoft .NET's behavior, exceptions
thrown in object finalizers now cause a full runtime abort. This
behavior was already present for thread pool threads, but hadn't
been enabled for the finalizer thread yet.
Generally, one should avoid exceptions in finalizers entirely. If
you must use them, catch them so that they do not terminate the
application. GDB
GDB support has been extended with a new gdb hook that is aware
of the SGenGC internals. Added pretty printers for more runtime
data structures like MonoVTable to the mono gdb mode.
MIPS port
The MIPS port is now complete, it can do a full bootstrap, and run
the runtime/corlib test suites. Soft Debugger
Single stepping is now implemented using breakpoints in most
cases, speeding it up considerably. Calls to
System.Diagnostics.Debugger:Log()/Break () are now routed to
the debugger using new UserLog/UserBreak event types. S390x
is now supported (Neale Ferguson). MIPS is now supported.
Added new methods to Mono.Debugger.Soft and the runtime to
decrease the amount of packets transmitted between the debugger
and the debuggee. This significantly improves performance over
high latency connections like USB. Many bug fixes.
Static Compiler (AOT)
Made changes to some AOT data structures to reduce their size,
especially when using generics. This reduces the size of an mscorlib
AOT image by about 1-2%.
Many changes to the class libraries allow more core Generics code
to run on systems that do not support JIT compilation.
2013-05-29 13:11:12 +02:00
|
|
|
MAKE_JOBS_SAFE= no
|
2005-04-04 09:22:34 +02:00
|
|
|
BUILD_DEPENDS+= p5-XML-Parser-[0-9]*:../../textproc/p5-XML-Parser
|
2012-09-16 17:27:03 +02:00
|
|
|
CONFLICTS= pnet-[0-9]* mcsim-[0-9]* lc-[0-9]*
|
2013-11-22 15:40:35 +01:00
|
|
|
ALL_ENV+= MONO_SHARED_DIR=${WRKDIR:Q} PLATFORM=
|
2004-01-16 07:40:50 +01:00
|
|
|
|
Update to 3.0.10:
New in Mono 3.0.10
A hot-fix release.
Reverted parallel mkbundle.
Fixed duplicated debug symbol problem in the compiler.
New in Mono 3.0.9
Fix gtk+ copy & paste.
Fix debugger support for custom attributes.
Proper stack bounds calculation on windows.
Add partial generic methods to our C# compiler.
NaCL support for ARM.
Fix LLVM loading on OSX.
New in Mono 3.0.8
Multiple improvements to the BCL to reduce usage of non generic
collections and use faster string comparisons.
Optimize large object cloning and boxing.
Multiple changes to bring mono closer to full PCL compatibility.
Add System.WeakReference<T>
Sgen can now return memory to the system for
Many compiler fixes for async.
Improved FullAOT support for async.
NaCl build fixes and improvements.
WCF now has cookie support in .net 4.0.
Optimize Marshal.Read/Write methods to avoid a trip to unmanaged
when needed.
Optimize LINQ with arrays.
Multiple fixes to the sgen's concurrent collector.
New in Mono 3.0.7
Multiple fixes to the sgen's concurrent collector.
Performance improvements in primitive types parsing.
Add a configuration time option to disable remoting.
Optimize tls lookups on full-aot + arm.
Add a configuration option to disable remoting.
Multiple improvements and bug fixes in culture related code.
Runtime assembly mapping for PCL.
Fix Binder primitive conversion to make .net.
Optimize Activator.CreateInstance ().
Optimize icalls in FullAOT code.
Implement Volatile.Read/Write<T> and Interlocked.MemoryBarrier ().
Optimized unmanaged to managed string conversion.
New in Mono 3.0.6
This is another hotfix release. It reverses the visibility change
made to Mono.Runtime.GetDisplayName.
New in Mono 3.0.5
This is a hot-fix release. It fixes a crash in the runtime support
for generics, which could be triggered by Xamarin Studio. New in
Mono 3.0.4 Garbage Collector
Many changes went into our GC implementation. We added long links
support to our traditional Boehm collector. As for SGen, it is
finally a true concurrent GC, with cementing support. We also fixed
several bugs, such as #9928 pointer free deadlock problem and bugs
in mono_gc_weak_link_get. Async
Rewrite of async StreamReader/StreamWritter operations to not fail
on subsequent async call. Fixes #9761 ASP.NET
Updated encoding support.
Some minor bug fixes. Other improvements
New MONO_DISABLE_SHARED_AREA environment variable lets you turn of
the use of shared memory in Mono (used by performance counters and
optionally by the io-layer).
Updated EntityFramework version that ships with Mono.
Support for ConnectionLifetime parameter in SqlClient (contributed
by 7digital).
Fixed C# Evaluator Terse reader with loops
Don't report user operator error during probing user conversions.
Fixes #10170.
Add explicit interface GetType implementation to avoid object::GetType
become proxy. (C# compiler fix)
Implement use of __refvalue as an lvalue. Fixes #10034. Packaging
We no longer install a /usr/bin/pkg-config on OSX, to stop clashing
with Homebrew.
New in Mono 3.0.3
Mono garbage collectors now feature multiple dtrace probes for
users on MacOS and Solaris.
Many stability improvements and performance work on Mono's Async
support. Garbage Collector
Sgen now has a concurrent GC that can significantly reduce max
pauses. This is an experimental feature that is been continuously
developed. Click here for more details. Bug Fixes
#8401, #9247, #8903, #9087, #9225, #9186, #9118, #9137, #9133,
#9116, #1446, #2246, #6918, #8904, #8927, #2907, #8829, #8786 New
in Mono 3.0.2
We are now on a cadence to deliver new Mono features and updates
on a regular basis. A month after our last release we are now
bringing some 363 commits, with 3055 files changed, 171240
insertions(+), 179104 deletions(-) Major Features
'Reactive Extensions': Mono now bundles the open sourced Microsoft's
Reactive Extensions
F# 3.0: We have updated the bundled F# compiler on OSX to version
3.0 (tag 3.0.22 from the open source fsharp repository).
SGen Garbage Collector: new lazy sweep strategy in Mono's new GC
that reduces the GC times for major collections significantly. We
have also tuned and improved the collector.
System.Json: We reverted System.Json to Mono's version, as it was
lighter and tolerates more input than Microsoft's one. We ship
System.Json.Microsoft as well for users that want to use the
Microsoft stack.
Runtime: Many improvements to Mono, better x86 and ARM support
across the board.
NTLM: Large upgrade to our NTLM stack.
clang: Mono now builds with Clang.
monodoc: vast improvements to our documentation infrastructure.
Bug fixes in 3.0.2
#8566, #8565, #8549, #8646, #8592, #8561, #8559, #8557, #8553,
#8533, #8502, #8468, #8449, #8448, #8414, #8399, #8385, #8384,
#8383, #8366, #8334, #8320, #8312, #8285, #8283, #8263, #8232,
#8156, #8037, #7965, #6650, #5760, #4587, #3582, #3275, #2471 and
#2190
New in Mono 3.0 Major Highlights C# Compiler
Mono now has a complete C# 5.0 compiler with asynchronous programming
support.
Our C# compiler has now completed its migration from using
System.Reflection.Emit as its code generation backend to use the
IKVM.Reflection API. This functionality was previewed in Mono 2.10
and is now the default. With this functionality, developers can
use any mscorlib that they want (for example the MicroFramework
one, or a custom one) without having to build a custom compiler.
We were able to eliminate the multiple executables for the compiler,
and unify all the compilers into one as well as reducing our build
times significantly.
gmcs, dmcs and smcs are now merely aliases to call the mcs compiler
with the proper -sdk flag. Tool/Library Purpose Profile
New Backend 2.10 Backend gmcs C# Compiler 2.0
IKVM.Reflection System.Reflection 2.0 dmcs C# compiler
4.0 IVKM.Reflection System.Reflection 4.0 smcs C#
Compiler 2.1 (Silverlight, MonoTouch, MonoDroid)
IKVM.Reflection System.Reflection 2.0 mcs C# Compiler
Any profile, any mscorlib IKVM.Reflection IKVM.Reflection
csharp Interactive C# Shell/REPL 4.5 System.Reflection
4.5 System.Reflection 4.0 Mono.CSharp C# Compiler as a Service
2.0, 2.1 and 4.0. System.Reflection 4.0 System.Reflection
System.Reflection is still used as a backend for the compiler as
a service and the C# interactive shell. Evaluation can now Compile
Types
The Evaluator.Eval () API is no longer limited to expressions and
statements, you can now pass entire namespace, class, interface,
struct definitions as a string and have the result get compiled.
This extends to the csharp command:
csharp> class X { public int a; } csharp> var t = new X () { a =
1 }; csharp> print (t.a); 1 csharp>
Instance API
The compiler as a service exposed by the Mono.CSharp library is no
longer limited to be a global compiler, now you can instantiate
multiple scopes for the compiler, each having its own set of
localized types and global variables.
For example, the following sample assigns a string in one context
and an int in another one:
using System; using Mono.CSharp;
class MyWorld {
public Evaluator Evaluator;
public MyWorld (string [] args) {
var r = new Report (new ConsoleReportPrinter ());
var cmd = new CommandLineParser (r);
var settings = cmd.ParseArguments (args); if (settings
== null || r.Errors > 0)
Environment.Exit (1);
Evaluator = new Evaluator (settings, r); } }
class X {
static int Main (string [] args) {
var first = new MyWorld (args); var second = new
MyWorld (args);
first.Evaluator.Run ("var Demo = \"hello, world\";");
second.Evaluator.Run ("var Demo = 1;"); first.Evaluator.Run
("print (Demo);"); second.Evaluator.Run ("print
(Demo);"); return 0; } }
C# Interactive Shell
New convenience function print, can be used instead of Console.WriteLine
Additionally, the C# interactive shell will by default use a terse
syntax that does not require a semicolon at the end of an expression,
for example:
csharp> 1 + 2 3 csharp>
4.5 Profile
The 4.5 Profile is a strict superset of the 4.0 API and is now the
default profile.
Because 4.5 API is a strict superset of 4.0 API they both share
the same assembly version number, so we actually install the 4.5
library into the GAC.
Some of the changes in the 4.5 API family include:
New Async methods WinRT compatibility API Newly introduced
assemblies (System.Net.Http, System.Threading.Tasks.Dataflow)
New Microsoft Open Source Stacks
We now include the following assemblies as part of Mono from
Microsoft's ASP.NET WebStack:
System.Net.Http.Formatting.dll System.Web.Http.dll System.Web.Razor.dll
System.Web.WebPages.Deployment.dll System.Web.WebPages.Razor.dll
System.Web.WebPages.dll System.Web.Mvc.dll System.Json.dll
(Previously available in Mono, but now replaced with Microsoft's
implementation)
We also bundle the recently open sourced Entity Framework and
EntityFramework.dll
Garbage Collector
SGen now has a new task management system that allows it to easily
scale new GC-related tasks across multiple CPUs if available:
SGen on SMP systems is able to distribute more work across the
worker threads. Previously only the mark phase was distributed.
SGen is now able to perform parallel collection in the nursery.
SGen has been ported to Win32 SGen has been ported to the MIPS
platform Precise stack scanning has been improved considerably,
and it is now supported on x86 and ARM. On OSX, SGen now uses
Mach APIs directly to speedup some tasks in the garbage collector.
Runtime Optimizations
Implemented fast version of ThreadLocal<T> (it is now a low-level
intrinstic operation)
List<T> optimizations
Support for new attributes to force inlining.
Major change in Mono to support the full table of Unicode surrogate
characters. This code was written by Damien Diederen and David
Mitchell from Logos software.
Runtime supports deferred attaching to the process (when using
suspend=n,server=y the runtime collects metadata until a debugger
is attached).
Implement tail call optimizations on PowerPC for F# (Bug #664631)
New profiler that can be used with Intel's VTune Amplifier Profiler.
Support for System.Net.NetworkInformation.NetworkChanged events on
Linux.
New tool: crlupdate this is the Mono Certficate Revocation List
Downloader and Updater and can be used to download of new, or update
of existing, Certficate Revocation List (CRL) associated with the
certificates present in the user (default) or machine stores. The
CRL present in the stores are used to determine the validity of
unexpired, trusted X.509 certificates. ASP.NET
Bring the error page to the new millenium. CodeContracts
Alexander Chebaturkin has implemented initial version of static
Code Contract analyser as part of SoC 2011. Smaller Updates
Partial support for Portable Class Libraries (details)
Updated Unicode tables, fixes long-standing 480178 MacOS X
We continue to expand significantly our support for MacOS X and
iOS.
Mono can now be compiled by users as a 64-bit binary. Mono still
ships as a 32-bit binary, as most libraries that exist today for
Mono run only in 32 bits.
DriveInfo now returns correct information on OSX. Mono.Data.Sqlite
It is now possible to configure the threading model for SQLite
using the SetConfig method in the SQLiteConnection class.
Supports iOS crypto APIs. C5 Library
We have updated the venerable C5 library to the latest version.
Breaking Changes Since Mono 2.10
In order to be compatible with Microsoft .NET's behavior, exceptions
thrown in object finalizers now cause a full runtime abort. This
behavior was already present for thread pool threads, but hadn't
been enabled for the finalizer thread yet.
Generally, one should avoid exceptions in finalizers entirely. If
you must use them, catch them so that they do not terminate the
application. GDB
GDB support has been extended with a new gdb hook that is aware
of the SGenGC internals. Added pretty printers for more runtime
data structures like MonoVTable to the mono gdb mode.
MIPS port
The MIPS port is now complete, it can do a full bootstrap, and run
the runtime/corlib test suites. Soft Debugger
Single stepping is now implemented using breakpoints in most
cases, speeding it up considerably. Calls to
System.Diagnostics.Debugger:Log()/Break () are now routed to
the debugger using new UserLog/UserBreak event types. S390x
is now supported (Neale Ferguson). MIPS is now supported.
Added new methods to Mono.Debugger.Soft and the runtime to
decrease the amount of packets transmitted between the debugger
and the debuggee. This significantly improves performance over
high latency connections like USB. Many bug fixes.
Static Compiler (AOT)
Made changes to some AOT data structures to reduce their size,
especially when using generics. This reduces the size of an mscorlib
AOT image by about 1-2%.
Many changes to the class libraries allow more core Generics code
to run on systems that do not support JIT compilation.
2013-05-29 13:11:12 +02:00
|
|
|
USE_TOOLS+= bash:run bison gmake gtar msgfmt perl:run pkg-config
|
|
|
|
USE_LIBTOOL= yes
|
|
|
|
USE_LANGUAGES+= c c++
|
|
|
|
EXTRACT_USING= gtar
|
2003-03-01 14:11:44 +01:00
|
|
|
|
2004-02-03 13:30:11 +01:00
|
|
|
GNU_CONFIGURE= yes
|
Update to 3.0.10:
New in Mono 3.0.10
A hot-fix release.
Reverted parallel mkbundle.
Fixed duplicated debug symbol problem in the compiler.
New in Mono 3.0.9
Fix gtk+ copy & paste.
Fix debugger support for custom attributes.
Proper stack bounds calculation on windows.
Add partial generic methods to our C# compiler.
NaCL support for ARM.
Fix LLVM loading on OSX.
New in Mono 3.0.8
Multiple improvements to the BCL to reduce usage of non generic
collections and use faster string comparisons.
Optimize large object cloning and boxing.
Multiple changes to bring mono closer to full PCL compatibility.
Add System.WeakReference<T>
Sgen can now return memory to the system for
Many compiler fixes for async.
Improved FullAOT support for async.
NaCl build fixes and improvements.
WCF now has cookie support in .net 4.0.
Optimize Marshal.Read/Write methods to avoid a trip to unmanaged
when needed.
Optimize LINQ with arrays.
Multiple fixes to the sgen's concurrent collector.
New in Mono 3.0.7
Multiple fixes to the sgen's concurrent collector.
Performance improvements in primitive types parsing.
Add a configuration time option to disable remoting.
Optimize tls lookups on full-aot + arm.
Add a configuration option to disable remoting.
Multiple improvements and bug fixes in culture related code.
Runtime assembly mapping for PCL.
Fix Binder primitive conversion to make .net.
Optimize Activator.CreateInstance ().
Optimize icalls in FullAOT code.
Implement Volatile.Read/Write<T> and Interlocked.MemoryBarrier ().
Optimized unmanaged to managed string conversion.
New in Mono 3.0.6
This is another hotfix release. It reverses the visibility change
made to Mono.Runtime.GetDisplayName.
New in Mono 3.0.5
This is a hot-fix release. It fixes a crash in the runtime support
for generics, which could be triggered by Xamarin Studio. New in
Mono 3.0.4 Garbage Collector
Many changes went into our GC implementation. We added long links
support to our traditional Boehm collector. As for SGen, it is
finally a true concurrent GC, with cementing support. We also fixed
several bugs, such as #9928 pointer free deadlock problem and bugs
in mono_gc_weak_link_get. Async
Rewrite of async StreamReader/StreamWritter operations to not fail
on subsequent async call. Fixes #9761 ASP.NET
Updated encoding support.
Some minor bug fixes. Other improvements
New MONO_DISABLE_SHARED_AREA environment variable lets you turn of
the use of shared memory in Mono (used by performance counters and
optionally by the io-layer).
Updated EntityFramework version that ships with Mono.
Support for ConnectionLifetime parameter in SqlClient (contributed
by 7digital).
Fixed C# Evaluator Terse reader with loops
Don't report user operator error during probing user conversions.
Fixes #10170.
Add explicit interface GetType implementation to avoid object::GetType
become proxy. (C# compiler fix)
Implement use of __refvalue as an lvalue. Fixes #10034. Packaging
We no longer install a /usr/bin/pkg-config on OSX, to stop clashing
with Homebrew.
New in Mono 3.0.3
Mono garbage collectors now feature multiple dtrace probes for
users on MacOS and Solaris.
Many stability improvements and performance work on Mono's Async
support. Garbage Collector
Sgen now has a concurrent GC that can significantly reduce max
pauses. This is an experimental feature that is been continuously
developed. Click here for more details. Bug Fixes
#8401, #9247, #8903, #9087, #9225, #9186, #9118, #9137, #9133,
#9116, #1446, #2246, #6918, #8904, #8927, #2907, #8829, #8786 New
in Mono 3.0.2
We are now on a cadence to deliver new Mono features and updates
on a regular basis. A month after our last release we are now
bringing some 363 commits, with 3055 files changed, 171240
insertions(+), 179104 deletions(-) Major Features
'Reactive Extensions': Mono now bundles the open sourced Microsoft's
Reactive Extensions
F# 3.0: We have updated the bundled F# compiler on OSX to version
3.0 (tag 3.0.22 from the open source fsharp repository).
SGen Garbage Collector: new lazy sweep strategy in Mono's new GC
that reduces the GC times for major collections significantly. We
have also tuned and improved the collector.
System.Json: We reverted System.Json to Mono's version, as it was
lighter and tolerates more input than Microsoft's one. We ship
System.Json.Microsoft as well for users that want to use the
Microsoft stack.
Runtime: Many improvements to Mono, better x86 and ARM support
across the board.
NTLM: Large upgrade to our NTLM stack.
clang: Mono now builds with Clang.
monodoc: vast improvements to our documentation infrastructure.
Bug fixes in 3.0.2
#8566, #8565, #8549, #8646, #8592, #8561, #8559, #8557, #8553,
#8533, #8502, #8468, #8449, #8448, #8414, #8399, #8385, #8384,
#8383, #8366, #8334, #8320, #8312, #8285, #8283, #8263, #8232,
#8156, #8037, #7965, #6650, #5760, #4587, #3582, #3275, #2471 and
#2190
New in Mono 3.0 Major Highlights C# Compiler
Mono now has a complete C# 5.0 compiler with asynchronous programming
support.
Our C# compiler has now completed its migration from using
System.Reflection.Emit as its code generation backend to use the
IKVM.Reflection API. This functionality was previewed in Mono 2.10
and is now the default. With this functionality, developers can
use any mscorlib that they want (for example the MicroFramework
one, or a custom one) without having to build a custom compiler.
We were able to eliminate the multiple executables for the compiler,
and unify all the compilers into one as well as reducing our build
times significantly.
gmcs, dmcs and smcs are now merely aliases to call the mcs compiler
with the proper -sdk flag. Tool/Library Purpose Profile
New Backend 2.10 Backend gmcs C# Compiler 2.0
IKVM.Reflection System.Reflection 2.0 dmcs C# compiler
4.0 IVKM.Reflection System.Reflection 4.0 smcs C#
Compiler 2.1 (Silverlight, MonoTouch, MonoDroid)
IKVM.Reflection System.Reflection 2.0 mcs C# Compiler
Any profile, any mscorlib IKVM.Reflection IKVM.Reflection
csharp Interactive C# Shell/REPL 4.5 System.Reflection
4.5 System.Reflection 4.0 Mono.CSharp C# Compiler as a Service
2.0, 2.1 and 4.0. System.Reflection 4.0 System.Reflection
System.Reflection is still used as a backend for the compiler as
a service and the C# interactive shell. Evaluation can now Compile
Types
The Evaluator.Eval () API is no longer limited to expressions and
statements, you can now pass entire namespace, class, interface,
struct definitions as a string and have the result get compiled.
This extends to the csharp command:
csharp> class X { public int a; } csharp> var t = new X () { a =
1 }; csharp> print (t.a); 1 csharp>
Instance API
The compiler as a service exposed by the Mono.CSharp library is no
longer limited to be a global compiler, now you can instantiate
multiple scopes for the compiler, each having its own set of
localized types and global variables.
For example, the following sample assigns a string in one context
and an int in another one:
using System; using Mono.CSharp;
class MyWorld {
public Evaluator Evaluator;
public MyWorld (string [] args) {
var r = new Report (new ConsoleReportPrinter ());
var cmd = new CommandLineParser (r);
var settings = cmd.ParseArguments (args); if (settings
== null || r.Errors > 0)
Environment.Exit (1);
Evaluator = new Evaluator (settings, r); } }
class X {
static int Main (string [] args) {
var first = new MyWorld (args); var second = new
MyWorld (args);
first.Evaluator.Run ("var Demo = \"hello, world\";");
second.Evaluator.Run ("var Demo = 1;"); first.Evaluator.Run
("print (Demo);"); second.Evaluator.Run ("print
(Demo);"); return 0; } }
C# Interactive Shell
New convenience function print, can be used instead of Console.WriteLine
Additionally, the C# interactive shell will by default use a terse
syntax that does not require a semicolon at the end of an expression,
for example:
csharp> 1 + 2 3 csharp>
4.5 Profile
The 4.5 Profile is a strict superset of the 4.0 API and is now the
default profile.
Because 4.5 API is a strict superset of 4.0 API they both share
the same assembly version number, so we actually install the 4.5
library into the GAC.
Some of the changes in the 4.5 API family include:
New Async methods WinRT compatibility API Newly introduced
assemblies (System.Net.Http, System.Threading.Tasks.Dataflow)
New Microsoft Open Source Stacks
We now include the following assemblies as part of Mono from
Microsoft's ASP.NET WebStack:
System.Net.Http.Formatting.dll System.Web.Http.dll System.Web.Razor.dll
System.Web.WebPages.Deployment.dll System.Web.WebPages.Razor.dll
System.Web.WebPages.dll System.Web.Mvc.dll System.Json.dll
(Previously available in Mono, but now replaced with Microsoft's
implementation)
We also bundle the recently open sourced Entity Framework and
EntityFramework.dll
Garbage Collector
SGen now has a new task management system that allows it to easily
scale new GC-related tasks across multiple CPUs if available:
SGen on SMP systems is able to distribute more work across the
worker threads. Previously only the mark phase was distributed.
SGen is now able to perform parallel collection in the nursery.
SGen has been ported to Win32 SGen has been ported to the MIPS
platform Precise stack scanning has been improved considerably,
and it is now supported on x86 and ARM. On OSX, SGen now uses
Mach APIs directly to speedup some tasks in the garbage collector.
Runtime Optimizations
Implemented fast version of ThreadLocal<T> (it is now a low-level
intrinstic operation)
List<T> optimizations
Support for new attributes to force inlining.
Major change in Mono to support the full table of Unicode surrogate
characters. This code was written by Damien Diederen and David
Mitchell from Logos software.
Runtime supports deferred attaching to the process (when using
suspend=n,server=y the runtime collects metadata until a debugger
is attached).
Implement tail call optimizations on PowerPC for F# (Bug #664631)
New profiler that can be used with Intel's VTune Amplifier Profiler.
Support for System.Net.NetworkInformation.NetworkChanged events on
Linux.
New tool: crlupdate this is the Mono Certficate Revocation List
Downloader and Updater and can be used to download of new, or update
of existing, Certficate Revocation List (CRL) associated with the
certificates present in the user (default) or machine stores. The
CRL present in the stores are used to determine the validity of
unexpired, trusted X.509 certificates. ASP.NET
Bring the error page to the new millenium. CodeContracts
Alexander Chebaturkin has implemented initial version of static
Code Contract analyser as part of SoC 2011. Smaller Updates
Partial support for Portable Class Libraries (details)
Updated Unicode tables, fixes long-standing 480178 MacOS X
We continue to expand significantly our support for MacOS X and
iOS.
Mono can now be compiled by users as a 64-bit binary. Mono still
ships as a 32-bit binary, as most libraries that exist today for
Mono run only in 32 bits.
DriveInfo now returns correct information on OSX. Mono.Data.Sqlite
It is now possible to configure the threading model for SQLite
using the SetConfig method in the SQLiteConnection class.
Supports iOS crypto APIs. C5 Library
We have updated the venerable C5 library to the latest version.
Breaking Changes Since Mono 2.10
In order to be compatible with Microsoft .NET's behavior, exceptions
thrown in object finalizers now cause a full runtime abort. This
behavior was already present for thread pool threads, but hadn't
been enabled for the finalizer thread yet.
Generally, one should avoid exceptions in finalizers entirely. If
you must use them, catch them so that they do not terminate the
application. GDB
GDB support has been extended with a new gdb hook that is aware
of the SGenGC internals. Added pretty printers for more runtime
data structures like MonoVTable to the mono gdb mode.
MIPS port
The MIPS port is now complete, it can do a full bootstrap, and run
the runtime/corlib test suites. Soft Debugger
Single stepping is now implemented using breakpoints in most
cases, speeding it up considerably. Calls to
System.Diagnostics.Debugger:Log()/Break () are now routed to
the debugger using new UserLog/UserBreak event types. S390x
is now supported (Neale Ferguson). MIPS is now supported.
Added new methods to Mono.Debugger.Soft and the runtime to
decrease the amount of packets transmitted between the debugger
and the debuggee. This significantly improves performance over
high latency connections like USB. Many bug fixes.
Static Compiler (AOT)
Made changes to some AOT data structures to reduce their size,
especially when using generics. This reduces the size of an mscorlib
AOT image by about 1-2%.
Many changes to the class libraries allow more core Generics code
to run on systems that do not support JIT compilation.
2013-05-29 13:11:12 +02:00
|
|
|
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR:Q} --with-icu=yes
|
|
|
|
CONFIGURE_ARGS+= --with-preview=yes --with-libgdiplus=installed
|
2013-06-05 19:03:55 +02:00
|
|
|
CONFIGURE_ARGS+= --disable-dtrace
|
2009-11-25 11:13:06 +01:00
|
|
|
|
|
|
|
.include "options.mk"
|
2004-06-26 22:19:16 +02:00
|
|
|
|
Update to 3.0.10:
New in Mono 3.0.10
A hot-fix release.
Reverted parallel mkbundle.
Fixed duplicated debug symbol problem in the compiler.
New in Mono 3.0.9
Fix gtk+ copy & paste.
Fix debugger support for custom attributes.
Proper stack bounds calculation on windows.
Add partial generic methods to our C# compiler.
NaCL support for ARM.
Fix LLVM loading on OSX.
New in Mono 3.0.8
Multiple improvements to the BCL to reduce usage of non generic
collections and use faster string comparisons.
Optimize large object cloning and boxing.
Multiple changes to bring mono closer to full PCL compatibility.
Add System.WeakReference<T>
Sgen can now return memory to the system for
Many compiler fixes for async.
Improved FullAOT support for async.
NaCl build fixes and improvements.
WCF now has cookie support in .net 4.0.
Optimize Marshal.Read/Write methods to avoid a trip to unmanaged
when needed.
Optimize LINQ with arrays.
Multiple fixes to the sgen's concurrent collector.
New in Mono 3.0.7
Multiple fixes to the sgen's concurrent collector.
Performance improvements in primitive types parsing.
Add a configuration time option to disable remoting.
Optimize tls lookups on full-aot + arm.
Add a configuration option to disable remoting.
Multiple improvements and bug fixes in culture related code.
Runtime assembly mapping for PCL.
Fix Binder primitive conversion to make .net.
Optimize Activator.CreateInstance ().
Optimize icalls in FullAOT code.
Implement Volatile.Read/Write<T> and Interlocked.MemoryBarrier ().
Optimized unmanaged to managed string conversion.
New in Mono 3.0.6
This is another hotfix release. It reverses the visibility change
made to Mono.Runtime.GetDisplayName.
New in Mono 3.0.5
This is a hot-fix release. It fixes a crash in the runtime support
for generics, which could be triggered by Xamarin Studio. New in
Mono 3.0.4 Garbage Collector
Many changes went into our GC implementation. We added long links
support to our traditional Boehm collector. As for SGen, it is
finally a true concurrent GC, with cementing support. We also fixed
several bugs, such as #9928 pointer free deadlock problem and bugs
in mono_gc_weak_link_get. Async
Rewrite of async StreamReader/StreamWritter operations to not fail
on subsequent async call. Fixes #9761 ASP.NET
Updated encoding support.
Some minor bug fixes. Other improvements
New MONO_DISABLE_SHARED_AREA environment variable lets you turn of
the use of shared memory in Mono (used by performance counters and
optionally by the io-layer).
Updated EntityFramework version that ships with Mono.
Support for ConnectionLifetime parameter in SqlClient (contributed
by 7digital).
Fixed C# Evaluator Terse reader with loops
Don't report user operator error during probing user conversions.
Fixes #10170.
Add explicit interface GetType implementation to avoid object::GetType
become proxy. (C# compiler fix)
Implement use of __refvalue as an lvalue. Fixes #10034. Packaging
We no longer install a /usr/bin/pkg-config on OSX, to stop clashing
with Homebrew.
New in Mono 3.0.3
Mono garbage collectors now feature multiple dtrace probes for
users on MacOS and Solaris.
Many stability improvements and performance work on Mono's Async
support. Garbage Collector
Sgen now has a concurrent GC that can significantly reduce max
pauses. This is an experimental feature that is been continuously
developed. Click here for more details. Bug Fixes
#8401, #9247, #8903, #9087, #9225, #9186, #9118, #9137, #9133,
#9116, #1446, #2246, #6918, #8904, #8927, #2907, #8829, #8786 New
in Mono 3.0.2
We are now on a cadence to deliver new Mono features and updates
on a regular basis. A month after our last release we are now
bringing some 363 commits, with 3055 files changed, 171240
insertions(+), 179104 deletions(-) Major Features
'Reactive Extensions': Mono now bundles the open sourced Microsoft's
Reactive Extensions
F# 3.0: We have updated the bundled F# compiler on OSX to version
3.0 (tag 3.0.22 from the open source fsharp repository).
SGen Garbage Collector: new lazy sweep strategy in Mono's new GC
that reduces the GC times for major collections significantly. We
have also tuned and improved the collector.
System.Json: We reverted System.Json to Mono's version, as it was
lighter and tolerates more input than Microsoft's one. We ship
System.Json.Microsoft as well for users that want to use the
Microsoft stack.
Runtime: Many improvements to Mono, better x86 and ARM support
across the board.
NTLM: Large upgrade to our NTLM stack.
clang: Mono now builds with Clang.
monodoc: vast improvements to our documentation infrastructure.
Bug fixes in 3.0.2
#8566, #8565, #8549, #8646, #8592, #8561, #8559, #8557, #8553,
#8533, #8502, #8468, #8449, #8448, #8414, #8399, #8385, #8384,
#8383, #8366, #8334, #8320, #8312, #8285, #8283, #8263, #8232,
#8156, #8037, #7965, #6650, #5760, #4587, #3582, #3275, #2471 and
#2190
New in Mono 3.0 Major Highlights C# Compiler
Mono now has a complete C# 5.0 compiler with asynchronous programming
support.
Our C# compiler has now completed its migration from using
System.Reflection.Emit as its code generation backend to use the
IKVM.Reflection API. This functionality was previewed in Mono 2.10
and is now the default. With this functionality, developers can
use any mscorlib that they want (for example the MicroFramework
one, or a custom one) without having to build a custom compiler.
We were able to eliminate the multiple executables for the compiler,
and unify all the compilers into one as well as reducing our build
times significantly.
gmcs, dmcs and smcs are now merely aliases to call the mcs compiler
with the proper -sdk flag. Tool/Library Purpose Profile
New Backend 2.10 Backend gmcs C# Compiler 2.0
IKVM.Reflection System.Reflection 2.0 dmcs C# compiler
4.0 IVKM.Reflection System.Reflection 4.0 smcs C#
Compiler 2.1 (Silverlight, MonoTouch, MonoDroid)
IKVM.Reflection System.Reflection 2.0 mcs C# Compiler
Any profile, any mscorlib IKVM.Reflection IKVM.Reflection
csharp Interactive C# Shell/REPL 4.5 System.Reflection
4.5 System.Reflection 4.0 Mono.CSharp C# Compiler as a Service
2.0, 2.1 and 4.0. System.Reflection 4.0 System.Reflection
System.Reflection is still used as a backend for the compiler as
a service and the C# interactive shell. Evaluation can now Compile
Types
The Evaluator.Eval () API is no longer limited to expressions and
statements, you can now pass entire namespace, class, interface,
struct definitions as a string and have the result get compiled.
This extends to the csharp command:
csharp> class X { public int a; } csharp> var t = new X () { a =
1 }; csharp> print (t.a); 1 csharp>
Instance API
The compiler as a service exposed by the Mono.CSharp library is no
longer limited to be a global compiler, now you can instantiate
multiple scopes for the compiler, each having its own set of
localized types and global variables.
For example, the following sample assigns a string in one context
and an int in another one:
using System; using Mono.CSharp;
class MyWorld {
public Evaluator Evaluator;
public MyWorld (string [] args) {
var r = new Report (new ConsoleReportPrinter ());
var cmd = new CommandLineParser (r);
var settings = cmd.ParseArguments (args); if (settings
== null || r.Errors > 0)
Environment.Exit (1);
Evaluator = new Evaluator (settings, r); } }
class X {
static int Main (string [] args) {
var first = new MyWorld (args); var second = new
MyWorld (args);
first.Evaluator.Run ("var Demo = \"hello, world\";");
second.Evaluator.Run ("var Demo = 1;"); first.Evaluator.Run
("print (Demo);"); second.Evaluator.Run ("print
(Demo);"); return 0; } }
C# Interactive Shell
New convenience function print, can be used instead of Console.WriteLine
Additionally, the C# interactive shell will by default use a terse
syntax that does not require a semicolon at the end of an expression,
for example:
csharp> 1 + 2 3 csharp>
4.5 Profile
The 4.5 Profile is a strict superset of the 4.0 API and is now the
default profile.
Because 4.5 API is a strict superset of 4.0 API they both share
the same assembly version number, so we actually install the 4.5
library into the GAC.
Some of the changes in the 4.5 API family include:
New Async methods WinRT compatibility API Newly introduced
assemblies (System.Net.Http, System.Threading.Tasks.Dataflow)
New Microsoft Open Source Stacks
We now include the following assemblies as part of Mono from
Microsoft's ASP.NET WebStack:
System.Net.Http.Formatting.dll System.Web.Http.dll System.Web.Razor.dll
System.Web.WebPages.Deployment.dll System.Web.WebPages.Razor.dll
System.Web.WebPages.dll System.Web.Mvc.dll System.Json.dll
(Previously available in Mono, but now replaced with Microsoft's
implementation)
We also bundle the recently open sourced Entity Framework and
EntityFramework.dll
Garbage Collector
SGen now has a new task management system that allows it to easily
scale new GC-related tasks across multiple CPUs if available:
SGen on SMP systems is able to distribute more work across the
worker threads. Previously only the mark phase was distributed.
SGen is now able to perform parallel collection in the nursery.
SGen has been ported to Win32 SGen has been ported to the MIPS
platform Precise stack scanning has been improved considerably,
and it is now supported on x86 and ARM. On OSX, SGen now uses
Mach APIs directly to speedup some tasks in the garbage collector.
Runtime Optimizations
Implemented fast version of ThreadLocal<T> (it is now a low-level
intrinstic operation)
List<T> optimizations
Support for new attributes to force inlining.
Major change in Mono to support the full table of Unicode surrogate
characters. This code was written by Damien Diederen and David
Mitchell from Logos software.
Runtime supports deferred attaching to the process (when using
suspend=n,server=y the runtime collects metadata until a debugger
is attached).
Implement tail call optimizations on PowerPC for F# (Bug #664631)
New profiler that can be used with Intel's VTune Amplifier Profiler.
Support for System.Net.NetworkInformation.NetworkChanged events on
Linux.
New tool: crlupdate this is the Mono Certficate Revocation List
Downloader and Updater and can be used to download of new, or update
of existing, Certficate Revocation List (CRL) associated with the
certificates present in the user (default) or machine stores. The
CRL present in the stores are used to determine the validity of
unexpired, trusted X.509 certificates. ASP.NET
Bring the error page to the new millenium. CodeContracts
Alexander Chebaturkin has implemented initial version of static
Code Contract analyser as part of SoC 2011. Smaller Updates
Partial support for Portable Class Libraries (details)
Updated Unicode tables, fixes long-standing 480178 MacOS X
We continue to expand significantly our support for MacOS X and
iOS.
Mono can now be compiled by users as a 64-bit binary. Mono still
ships as a 32-bit binary, as most libraries that exist today for
Mono run only in 32 bits.
DriveInfo now returns correct information on OSX. Mono.Data.Sqlite
It is now possible to configure the threading model for SQLite
using the SetConfig method in the SQLiteConnection class.
Supports iOS crypto APIs. C5 Library
We have updated the venerable C5 library to the latest version.
Breaking Changes Since Mono 2.10
In order to be compatible with Microsoft .NET's behavior, exceptions
thrown in object finalizers now cause a full runtime abort. This
behavior was already present for thread pool threads, but hadn't
been enabled for the finalizer thread yet.
Generally, one should avoid exceptions in finalizers entirely. If
you must use them, catch them so that they do not terminate the
application. GDB
GDB support has been extended with a new gdb hook that is aware
of the SGenGC internals. Added pretty printers for more runtime
data structures like MonoVTable to the mono gdb mode.
MIPS port
The MIPS port is now complete, it can do a full bootstrap, and run
the runtime/corlib test suites. Soft Debugger
Single stepping is now implemented using breakpoints in most
cases, speeding it up considerably. Calls to
System.Diagnostics.Debugger:Log()/Break () are now routed to
the debugger using new UserLog/UserBreak event types. S390x
is now supported (Neale Ferguson). MIPS is now supported.
Added new methods to Mono.Debugger.Soft and the runtime to
decrease the amount of packets transmitted between the debugger
and the debuggee. This significantly improves performance over
high latency connections like USB. Many bug fixes.
Static Compiler (AOT)
Made changes to some AOT data structures to reduce their size,
especially when using generics. This reduces the size of an mscorlib
AOT image by about 1-2%.
Many changes to the class libraries allow more core Generics code
to run on systems that do not support JIT compilation.
2013-05-29 13:11:12 +02:00
|
|
|
MAKE_FLAGS+= PERL=${PERL5:Q} mandir=${PREFIX}/${PKGMANDIR}
|
|
|
|
UNLIMIT_RESOURCES= datasize stacksize memorysize
|
|
|
|
|
|
|
|
PKGCONFIG_OVERRIDE+= mono-uninstalled.pc.in data/cecil.pc.in
|
|
|
|
PKGCONFIG_OVERRIDE+= data/dotnet.pc.in data/dotnet35.pc.in data/mint.pc.in
|
|
|
|
PKGCONFIG_OVERRIDE+= data/mono.web.pc.in data/monodoc.pc.in
|
|
|
|
PKGCONFIG_OVERRIDE+= data/mono-cairo.pc.in data/mono-lineeditor.pc.in
|
|
|
|
PKGCONFIG_OVERRIDE+= data/mono-nunit.pc.in data/mono-options.pc.in
|
2008-02-13 15:16:43 +01:00
|
|
|
PKGCONFIG_OVERRIDE+= data/mono.pc.in
|
Update to 3.0.10:
New in Mono 3.0.10
A hot-fix release.
Reverted parallel mkbundle.
Fixed duplicated debug symbol problem in the compiler.
New in Mono 3.0.9
Fix gtk+ copy & paste.
Fix debugger support for custom attributes.
Proper stack bounds calculation on windows.
Add partial generic methods to our C# compiler.
NaCL support for ARM.
Fix LLVM loading on OSX.
New in Mono 3.0.8
Multiple improvements to the BCL to reduce usage of non generic
collections and use faster string comparisons.
Optimize large object cloning and boxing.
Multiple changes to bring mono closer to full PCL compatibility.
Add System.WeakReference<T>
Sgen can now return memory to the system for
Many compiler fixes for async.
Improved FullAOT support for async.
NaCl build fixes and improvements.
WCF now has cookie support in .net 4.0.
Optimize Marshal.Read/Write methods to avoid a trip to unmanaged
when needed.
Optimize LINQ with arrays.
Multiple fixes to the sgen's concurrent collector.
New in Mono 3.0.7
Multiple fixes to the sgen's concurrent collector.
Performance improvements in primitive types parsing.
Add a configuration time option to disable remoting.
Optimize tls lookups on full-aot + arm.
Add a configuration option to disable remoting.
Multiple improvements and bug fixes in culture related code.
Runtime assembly mapping for PCL.
Fix Binder primitive conversion to make .net.
Optimize Activator.CreateInstance ().
Optimize icalls in FullAOT code.
Implement Volatile.Read/Write<T> and Interlocked.MemoryBarrier ().
Optimized unmanaged to managed string conversion.
New in Mono 3.0.6
This is another hotfix release. It reverses the visibility change
made to Mono.Runtime.GetDisplayName.
New in Mono 3.0.5
This is a hot-fix release. It fixes a crash in the runtime support
for generics, which could be triggered by Xamarin Studio. New in
Mono 3.0.4 Garbage Collector
Many changes went into our GC implementation. We added long links
support to our traditional Boehm collector. As for SGen, it is
finally a true concurrent GC, with cementing support. We also fixed
several bugs, such as #9928 pointer free deadlock problem and bugs
in mono_gc_weak_link_get. Async
Rewrite of async StreamReader/StreamWritter operations to not fail
on subsequent async call. Fixes #9761 ASP.NET
Updated encoding support.
Some minor bug fixes. Other improvements
New MONO_DISABLE_SHARED_AREA environment variable lets you turn of
the use of shared memory in Mono (used by performance counters and
optionally by the io-layer).
Updated EntityFramework version that ships with Mono.
Support for ConnectionLifetime parameter in SqlClient (contributed
by 7digital).
Fixed C# Evaluator Terse reader with loops
Don't report user operator error during probing user conversions.
Fixes #10170.
Add explicit interface GetType implementation to avoid object::GetType
become proxy. (C# compiler fix)
Implement use of __refvalue as an lvalue. Fixes #10034. Packaging
We no longer install a /usr/bin/pkg-config on OSX, to stop clashing
with Homebrew.
New in Mono 3.0.3
Mono garbage collectors now feature multiple dtrace probes for
users on MacOS and Solaris.
Many stability improvements and performance work on Mono's Async
support. Garbage Collector
Sgen now has a concurrent GC that can significantly reduce max
pauses. This is an experimental feature that is been continuously
developed. Click here for more details. Bug Fixes
#8401, #9247, #8903, #9087, #9225, #9186, #9118, #9137, #9133,
#9116, #1446, #2246, #6918, #8904, #8927, #2907, #8829, #8786 New
in Mono 3.0.2
We are now on a cadence to deliver new Mono features and updates
on a regular basis. A month after our last release we are now
bringing some 363 commits, with 3055 files changed, 171240
insertions(+), 179104 deletions(-) Major Features
'Reactive Extensions': Mono now bundles the open sourced Microsoft's
Reactive Extensions
F# 3.0: We have updated the bundled F# compiler on OSX to version
3.0 (tag 3.0.22 from the open source fsharp repository).
SGen Garbage Collector: new lazy sweep strategy in Mono's new GC
that reduces the GC times for major collections significantly. We
have also tuned and improved the collector.
System.Json: We reverted System.Json to Mono's version, as it was
lighter and tolerates more input than Microsoft's one. We ship
System.Json.Microsoft as well for users that want to use the
Microsoft stack.
Runtime: Many improvements to Mono, better x86 and ARM support
across the board.
NTLM: Large upgrade to our NTLM stack.
clang: Mono now builds with Clang.
monodoc: vast improvements to our documentation infrastructure.
Bug fixes in 3.0.2
#8566, #8565, #8549, #8646, #8592, #8561, #8559, #8557, #8553,
#8533, #8502, #8468, #8449, #8448, #8414, #8399, #8385, #8384,
#8383, #8366, #8334, #8320, #8312, #8285, #8283, #8263, #8232,
#8156, #8037, #7965, #6650, #5760, #4587, #3582, #3275, #2471 and
#2190
New in Mono 3.0 Major Highlights C# Compiler
Mono now has a complete C# 5.0 compiler with asynchronous programming
support.
Our C# compiler has now completed its migration from using
System.Reflection.Emit as its code generation backend to use the
IKVM.Reflection API. This functionality was previewed in Mono 2.10
and is now the default. With this functionality, developers can
use any mscorlib that they want (for example the MicroFramework
one, or a custom one) without having to build a custom compiler.
We were able to eliminate the multiple executables for the compiler,
and unify all the compilers into one as well as reducing our build
times significantly.
gmcs, dmcs and smcs are now merely aliases to call the mcs compiler
with the proper -sdk flag. Tool/Library Purpose Profile
New Backend 2.10 Backend gmcs C# Compiler 2.0
IKVM.Reflection System.Reflection 2.0 dmcs C# compiler
4.0 IVKM.Reflection System.Reflection 4.0 smcs C#
Compiler 2.1 (Silverlight, MonoTouch, MonoDroid)
IKVM.Reflection System.Reflection 2.0 mcs C# Compiler
Any profile, any mscorlib IKVM.Reflection IKVM.Reflection
csharp Interactive C# Shell/REPL 4.5 System.Reflection
4.5 System.Reflection 4.0 Mono.CSharp C# Compiler as a Service
2.0, 2.1 and 4.0. System.Reflection 4.0 System.Reflection
System.Reflection is still used as a backend for the compiler as
a service and the C# interactive shell. Evaluation can now Compile
Types
The Evaluator.Eval () API is no longer limited to expressions and
statements, you can now pass entire namespace, class, interface,
struct definitions as a string and have the result get compiled.
This extends to the csharp command:
csharp> class X { public int a; } csharp> var t = new X () { a =
1 }; csharp> print (t.a); 1 csharp>
Instance API
The compiler as a service exposed by the Mono.CSharp library is no
longer limited to be a global compiler, now you can instantiate
multiple scopes for the compiler, each having its own set of
localized types and global variables.
For example, the following sample assigns a string in one context
and an int in another one:
using System; using Mono.CSharp;
class MyWorld {
public Evaluator Evaluator;
public MyWorld (string [] args) {
var r = new Report (new ConsoleReportPrinter ());
var cmd = new CommandLineParser (r);
var settings = cmd.ParseArguments (args); if (settings
== null || r.Errors > 0)
Environment.Exit (1);
Evaluator = new Evaluator (settings, r); } }
class X {
static int Main (string [] args) {
var first = new MyWorld (args); var second = new
MyWorld (args);
first.Evaluator.Run ("var Demo = \"hello, world\";");
second.Evaluator.Run ("var Demo = 1;"); first.Evaluator.Run
("print (Demo);"); second.Evaluator.Run ("print
(Demo);"); return 0; } }
C# Interactive Shell
New convenience function print, can be used instead of Console.WriteLine
Additionally, the C# interactive shell will by default use a terse
syntax that does not require a semicolon at the end of an expression,
for example:
csharp> 1 + 2 3 csharp>
4.5 Profile
The 4.5 Profile is a strict superset of the 4.0 API and is now the
default profile.
Because 4.5 API is a strict superset of 4.0 API they both share
the same assembly version number, so we actually install the 4.5
library into the GAC.
Some of the changes in the 4.5 API family include:
New Async methods WinRT compatibility API Newly introduced
assemblies (System.Net.Http, System.Threading.Tasks.Dataflow)
New Microsoft Open Source Stacks
We now include the following assemblies as part of Mono from
Microsoft's ASP.NET WebStack:
System.Net.Http.Formatting.dll System.Web.Http.dll System.Web.Razor.dll
System.Web.WebPages.Deployment.dll System.Web.WebPages.Razor.dll
System.Web.WebPages.dll System.Web.Mvc.dll System.Json.dll
(Previously available in Mono, but now replaced with Microsoft's
implementation)
We also bundle the recently open sourced Entity Framework and
EntityFramework.dll
Garbage Collector
SGen now has a new task management system that allows it to easily
scale new GC-related tasks across multiple CPUs if available:
SGen on SMP systems is able to distribute more work across the
worker threads. Previously only the mark phase was distributed.
SGen is now able to perform parallel collection in the nursery.
SGen has been ported to Win32 SGen has been ported to the MIPS
platform Precise stack scanning has been improved considerably,
and it is now supported on x86 and ARM. On OSX, SGen now uses
Mach APIs directly to speedup some tasks in the garbage collector.
Runtime Optimizations
Implemented fast version of ThreadLocal<T> (it is now a low-level
intrinstic operation)
List<T> optimizations
Support for new attributes to force inlining.
Major change in Mono to support the full table of Unicode surrogate
characters. This code was written by Damien Diederen and David
Mitchell from Logos software.
Runtime supports deferred attaching to the process (when using
suspend=n,server=y the runtime collects metadata until a debugger
is attached).
Implement tail call optimizations on PowerPC for F# (Bug #664631)
New profiler that can be used with Intel's VTune Amplifier Profiler.
Support for System.Net.NetworkInformation.NetworkChanged events on
Linux.
New tool: crlupdate this is the Mono Certficate Revocation List
Downloader and Updater and can be used to download of new, or update
of existing, Certficate Revocation List (CRL) associated with the
certificates present in the user (default) or machine stores. The
CRL present in the stores are used to determine the validity of
unexpired, trusted X.509 certificates. ASP.NET
Bring the error page to the new millenium. CodeContracts
Alexander Chebaturkin has implemented initial version of static
Code Contract analyser as part of SoC 2011. Smaller Updates
Partial support for Portable Class Libraries (details)
Updated Unicode tables, fixes long-standing 480178 MacOS X
We continue to expand significantly our support for MacOS X and
iOS.
Mono can now be compiled by users as a 64-bit binary. Mono still
ships as a 32-bit binary, as most libraries that exist today for
Mono run only in 32 bits.
DriveInfo now returns correct information on OSX. Mono.Data.Sqlite
It is now possible to configure the threading model for SQLite
using the SetConfig method in the SQLiteConnection class.
Supports iOS crypto APIs. C5 Library
We have updated the venerable C5 library to the latest version.
Breaking Changes Since Mono 2.10
In order to be compatible with Microsoft .NET's behavior, exceptions
thrown in object finalizers now cause a full runtime abort. This
behavior was already present for thread pool threads, but hadn't
been enabled for the finalizer thread yet.
Generally, one should avoid exceptions in finalizers entirely. If
you must use them, catch them so that they do not terminate the
application. GDB
GDB support has been extended with a new gdb hook that is aware
of the SGenGC internals. Added pretty printers for more runtime
data structures like MonoVTable to the mono gdb mode.
MIPS port
The MIPS port is now complete, it can do a full bootstrap, and run
the runtime/corlib test suites. Soft Debugger
Single stepping is now implemented using breakpoints in most
cases, speeding it up considerably. Calls to
System.Diagnostics.Debugger:Log()/Break () are now routed to
the debugger using new UserLog/UserBreak event types. S390x
is now supported (Neale Ferguson). MIPS is now supported.
Added new methods to Mono.Debugger.Soft and the runtime to
decrease the amount of packets transmitted between the debugger
and the debuggee. This significantly improves performance over
high latency connections like USB. Many bug fixes.
Static Compiler (AOT)
Made changes to some AOT data structures to reduce their size,
especially when using generics. This reduces the size of an mscorlib
AOT image by about 1-2%.
Many changes to the class libraries allow more core Generics code
to run on systems that do not support JIT compilation.
2013-05-29 13:11:12 +02:00
|
|
|
PKGCONFIG_OVERRIDE+= data/reactive.pc.in
|
2009-01-19 23:35:53 +01:00
|
|
|
PKGCONFIG_OVERRIDE+= data/system.web.extensions_1.0.pc.in
|
|
|
|
PKGCONFIG_OVERRIDE+= data/system.web.extensions.design_1.0.pc.in
|
Update to 3.0.10:
New in Mono 3.0.10
A hot-fix release.
Reverted parallel mkbundle.
Fixed duplicated debug symbol problem in the compiler.
New in Mono 3.0.9
Fix gtk+ copy & paste.
Fix debugger support for custom attributes.
Proper stack bounds calculation on windows.
Add partial generic methods to our C# compiler.
NaCL support for ARM.
Fix LLVM loading on OSX.
New in Mono 3.0.8
Multiple improvements to the BCL to reduce usage of non generic
collections and use faster string comparisons.
Optimize large object cloning and boxing.
Multiple changes to bring mono closer to full PCL compatibility.
Add System.WeakReference<T>
Sgen can now return memory to the system for
Many compiler fixes for async.
Improved FullAOT support for async.
NaCl build fixes and improvements.
WCF now has cookie support in .net 4.0.
Optimize Marshal.Read/Write methods to avoid a trip to unmanaged
when needed.
Optimize LINQ with arrays.
Multiple fixes to the sgen's concurrent collector.
New in Mono 3.0.7
Multiple fixes to the sgen's concurrent collector.
Performance improvements in primitive types parsing.
Add a configuration time option to disable remoting.
Optimize tls lookups on full-aot + arm.
Add a configuration option to disable remoting.
Multiple improvements and bug fixes in culture related code.
Runtime assembly mapping for PCL.
Fix Binder primitive conversion to make .net.
Optimize Activator.CreateInstance ().
Optimize icalls in FullAOT code.
Implement Volatile.Read/Write<T> and Interlocked.MemoryBarrier ().
Optimized unmanaged to managed string conversion.
New in Mono 3.0.6
This is another hotfix release. It reverses the visibility change
made to Mono.Runtime.GetDisplayName.
New in Mono 3.0.5
This is a hot-fix release. It fixes a crash in the runtime support
for generics, which could be triggered by Xamarin Studio. New in
Mono 3.0.4 Garbage Collector
Many changes went into our GC implementation. We added long links
support to our traditional Boehm collector. As for SGen, it is
finally a true concurrent GC, with cementing support. We also fixed
several bugs, such as #9928 pointer free deadlock problem and bugs
in mono_gc_weak_link_get. Async
Rewrite of async StreamReader/StreamWritter operations to not fail
on subsequent async call. Fixes #9761 ASP.NET
Updated encoding support.
Some minor bug fixes. Other improvements
New MONO_DISABLE_SHARED_AREA environment variable lets you turn of
the use of shared memory in Mono (used by performance counters and
optionally by the io-layer).
Updated EntityFramework version that ships with Mono.
Support for ConnectionLifetime parameter in SqlClient (contributed
by 7digital).
Fixed C# Evaluator Terse reader with loops
Don't report user operator error during probing user conversions.
Fixes #10170.
Add explicit interface GetType implementation to avoid object::GetType
become proxy. (C# compiler fix)
Implement use of __refvalue as an lvalue. Fixes #10034. Packaging
We no longer install a /usr/bin/pkg-config on OSX, to stop clashing
with Homebrew.
New in Mono 3.0.3
Mono garbage collectors now feature multiple dtrace probes for
users on MacOS and Solaris.
Many stability improvements and performance work on Mono's Async
support. Garbage Collector
Sgen now has a concurrent GC that can significantly reduce max
pauses. This is an experimental feature that is been continuously
developed. Click here for more details. Bug Fixes
#8401, #9247, #8903, #9087, #9225, #9186, #9118, #9137, #9133,
#9116, #1446, #2246, #6918, #8904, #8927, #2907, #8829, #8786 New
in Mono 3.0.2
We are now on a cadence to deliver new Mono features and updates
on a regular basis. A month after our last release we are now
bringing some 363 commits, with 3055 files changed, 171240
insertions(+), 179104 deletions(-) Major Features
'Reactive Extensions': Mono now bundles the open sourced Microsoft's
Reactive Extensions
F# 3.0: We have updated the bundled F# compiler on OSX to version
3.0 (tag 3.0.22 from the open source fsharp repository).
SGen Garbage Collector: new lazy sweep strategy in Mono's new GC
that reduces the GC times for major collections significantly. We
have also tuned and improved the collector.
System.Json: We reverted System.Json to Mono's version, as it was
lighter and tolerates more input than Microsoft's one. We ship
System.Json.Microsoft as well for users that want to use the
Microsoft stack.
Runtime: Many improvements to Mono, better x86 and ARM support
across the board.
NTLM: Large upgrade to our NTLM stack.
clang: Mono now builds with Clang.
monodoc: vast improvements to our documentation infrastructure.
Bug fixes in 3.0.2
#8566, #8565, #8549, #8646, #8592, #8561, #8559, #8557, #8553,
#8533, #8502, #8468, #8449, #8448, #8414, #8399, #8385, #8384,
#8383, #8366, #8334, #8320, #8312, #8285, #8283, #8263, #8232,
#8156, #8037, #7965, #6650, #5760, #4587, #3582, #3275, #2471 and
#2190
New in Mono 3.0 Major Highlights C# Compiler
Mono now has a complete C# 5.0 compiler with asynchronous programming
support.
Our C# compiler has now completed its migration from using
System.Reflection.Emit as its code generation backend to use the
IKVM.Reflection API. This functionality was previewed in Mono 2.10
and is now the default. With this functionality, developers can
use any mscorlib that they want (for example the MicroFramework
one, or a custom one) without having to build a custom compiler.
We were able to eliminate the multiple executables for the compiler,
and unify all the compilers into one as well as reducing our build
times significantly.
gmcs, dmcs and smcs are now merely aliases to call the mcs compiler
with the proper -sdk flag. Tool/Library Purpose Profile
New Backend 2.10 Backend gmcs C# Compiler 2.0
IKVM.Reflection System.Reflection 2.0 dmcs C# compiler
4.0 IVKM.Reflection System.Reflection 4.0 smcs C#
Compiler 2.1 (Silverlight, MonoTouch, MonoDroid)
IKVM.Reflection System.Reflection 2.0 mcs C# Compiler
Any profile, any mscorlib IKVM.Reflection IKVM.Reflection
csharp Interactive C# Shell/REPL 4.5 System.Reflection
4.5 System.Reflection 4.0 Mono.CSharp C# Compiler as a Service
2.0, 2.1 and 4.0. System.Reflection 4.0 System.Reflection
System.Reflection is still used as a backend for the compiler as
a service and the C# interactive shell. Evaluation can now Compile
Types
The Evaluator.Eval () API is no longer limited to expressions and
statements, you can now pass entire namespace, class, interface,
struct definitions as a string and have the result get compiled.
This extends to the csharp command:
csharp> class X { public int a; } csharp> var t = new X () { a =
1 }; csharp> print (t.a); 1 csharp>
Instance API
The compiler as a service exposed by the Mono.CSharp library is no
longer limited to be a global compiler, now you can instantiate
multiple scopes for the compiler, each having its own set of
localized types and global variables.
For example, the following sample assigns a string in one context
and an int in another one:
using System; using Mono.CSharp;
class MyWorld {
public Evaluator Evaluator;
public MyWorld (string [] args) {
var r = new Report (new ConsoleReportPrinter ());
var cmd = new CommandLineParser (r);
var settings = cmd.ParseArguments (args); if (settings
== null || r.Errors > 0)
Environment.Exit (1);
Evaluator = new Evaluator (settings, r); } }
class X {
static int Main (string [] args) {
var first = new MyWorld (args); var second = new
MyWorld (args);
first.Evaluator.Run ("var Demo = \"hello, world\";");
second.Evaluator.Run ("var Demo = 1;"); first.Evaluator.Run
("print (Demo);"); second.Evaluator.Run ("print
(Demo);"); return 0; } }
C# Interactive Shell
New convenience function print, can be used instead of Console.WriteLine
Additionally, the C# interactive shell will by default use a terse
syntax that does not require a semicolon at the end of an expression,
for example:
csharp> 1 + 2 3 csharp>
4.5 Profile
The 4.5 Profile is a strict superset of the 4.0 API and is now the
default profile.
Because 4.5 API is a strict superset of 4.0 API they both share
the same assembly version number, so we actually install the 4.5
library into the GAC.
Some of the changes in the 4.5 API family include:
New Async methods WinRT compatibility API Newly introduced
assemblies (System.Net.Http, System.Threading.Tasks.Dataflow)
New Microsoft Open Source Stacks
We now include the following assemblies as part of Mono from
Microsoft's ASP.NET WebStack:
System.Net.Http.Formatting.dll System.Web.Http.dll System.Web.Razor.dll
System.Web.WebPages.Deployment.dll System.Web.WebPages.Razor.dll
System.Web.WebPages.dll System.Web.Mvc.dll System.Json.dll
(Previously available in Mono, but now replaced with Microsoft's
implementation)
We also bundle the recently open sourced Entity Framework and
EntityFramework.dll
Garbage Collector
SGen now has a new task management system that allows it to easily
scale new GC-related tasks across multiple CPUs if available:
SGen on SMP systems is able to distribute more work across the
worker threads. Previously only the mark phase was distributed.
SGen is now able to perform parallel collection in the nursery.
SGen has been ported to Win32 SGen has been ported to the MIPS
platform Precise stack scanning has been improved considerably,
and it is now supported on x86 and ARM. On OSX, SGen now uses
Mach APIs directly to speedup some tasks in the garbage collector.
Runtime Optimizations
Implemented fast version of ThreadLocal<T> (it is now a low-level
intrinstic operation)
List<T> optimizations
Support for new attributes to force inlining.
Major change in Mono to support the full table of Unicode surrogate
characters. This code was written by Damien Diederen and David
Mitchell from Logos software.
Runtime supports deferred attaching to the process (when using
suspend=n,server=y the runtime collects metadata until a debugger
is attached).
Implement tail call optimizations on PowerPC for F# (Bug #664631)
New profiler that can be used with Intel's VTune Amplifier Profiler.
Support for System.Net.NetworkInformation.NetworkChanged events on
Linux.
New tool: crlupdate this is the Mono Certficate Revocation List
Downloader and Updater and can be used to download of new, or update
of existing, Certficate Revocation List (CRL) associated with the
certificates present in the user (default) or machine stores. The
CRL present in the stores are used to determine the validity of
unexpired, trusted X.509 certificates. ASP.NET
Bring the error page to the new millenium. CodeContracts
Alexander Chebaturkin has implemented initial version of static
Code Contract analyser as part of SoC 2011. Smaller Updates
Partial support for Portable Class Libraries (details)
Updated Unicode tables, fixes long-standing 480178 MacOS X
We continue to expand significantly our support for MacOS X and
iOS.
Mono can now be compiled by users as a 64-bit binary. Mono still
ships as a 32-bit binary, as most libraries that exist today for
Mono run only in 32 bits.
DriveInfo now returns correct information on OSX. Mono.Data.Sqlite
It is now possible to configure the threading model for SQLite
using the SetConfig method in the SQLiteConnection class.
Supports iOS crypto APIs. C5 Library
We have updated the venerable C5 library to the latest version.
Breaking Changes Since Mono 2.10
In order to be compatible with Microsoft .NET's behavior, exceptions
thrown in object finalizers now cause a full runtime abort. This
behavior was already present for thread pool threads, but hadn't
been enabled for the finalizer thread yet.
Generally, one should avoid exceptions in finalizers entirely. If
you must use them, catch them so that they do not terminate the
application. GDB
GDB support has been extended with a new gdb hook that is aware
of the SGenGC internals. Added pretty printers for more runtime
data structures like MonoVTable to the mono gdb mode.
MIPS port
The MIPS port is now complete, it can do a full bootstrap, and run
the runtime/corlib test suites. Soft Debugger
Single stepping is now implemented using breakpoints in most
cases, speeding it up considerably. Calls to
System.Diagnostics.Debugger:Log()/Break () are now routed to
the debugger using new UserLog/UserBreak event types. S390x
is now supported (Neale Ferguson). MIPS is now supported.
Added new methods to Mono.Debugger.Soft and the runtime to
decrease the amount of packets transmitted between the debugger
and the debuggee. This significantly improves performance over
high latency connections like USB. Many bug fixes.
Static Compiler (AOT)
Made changes to some AOT data structures to reduce their size,
especially when using generics. This reduces the size of an mscorlib
AOT image by about 1-2%.
Many changes to the class libraries allow more core Generics code
to run on systems that do not support JIT compilation.
2013-05-29 13:11:12 +02:00
|
|
|
PKGCONFIG_OVERRIDE+= data/system.web.mvc.pc.in data/wcf.pc.in
|
|
|
|
|
|
|
|
REPLACE_PERL+= mcs/errors/do-tests.pl mcs/tools/scan-tests.pl
|
|
|
|
REPLACE_PERL+= msvc/create-windef.pl mono/benchmark/test-driver
|
|
|
|
REPLACE_PERL+= mono/cil/make-opcodes-def.pl mono/metadata/make-bundle.pl
|
|
|
|
REPLACE_PERL+= mono/mini/genmdesc.pl mono/tests/stress-runner.pl
|
2003-03-01 14:11:44 +01:00
|
|
|
|
2011-04-19 12:09:42 +02:00
|
|
|
REPLACE_PYTHON+= scripts/mono-heapviz
|
|
|
|
|
Update to 3.0.10:
New in Mono 3.0.10
A hot-fix release.
Reverted parallel mkbundle.
Fixed duplicated debug symbol problem in the compiler.
New in Mono 3.0.9
Fix gtk+ copy & paste.
Fix debugger support for custom attributes.
Proper stack bounds calculation on windows.
Add partial generic methods to our C# compiler.
NaCL support for ARM.
Fix LLVM loading on OSX.
New in Mono 3.0.8
Multiple improvements to the BCL to reduce usage of non generic
collections and use faster string comparisons.
Optimize large object cloning and boxing.
Multiple changes to bring mono closer to full PCL compatibility.
Add System.WeakReference<T>
Sgen can now return memory to the system for
Many compiler fixes for async.
Improved FullAOT support for async.
NaCl build fixes and improvements.
WCF now has cookie support in .net 4.0.
Optimize Marshal.Read/Write methods to avoid a trip to unmanaged
when needed.
Optimize LINQ with arrays.
Multiple fixes to the sgen's concurrent collector.
New in Mono 3.0.7
Multiple fixes to the sgen's concurrent collector.
Performance improvements in primitive types parsing.
Add a configuration time option to disable remoting.
Optimize tls lookups on full-aot + arm.
Add a configuration option to disable remoting.
Multiple improvements and bug fixes in culture related code.
Runtime assembly mapping for PCL.
Fix Binder primitive conversion to make .net.
Optimize Activator.CreateInstance ().
Optimize icalls in FullAOT code.
Implement Volatile.Read/Write<T> and Interlocked.MemoryBarrier ().
Optimized unmanaged to managed string conversion.
New in Mono 3.0.6
This is another hotfix release. It reverses the visibility change
made to Mono.Runtime.GetDisplayName.
New in Mono 3.0.5
This is a hot-fix release. It fixes a crash in the runtime support
for generics, which could be triggered by Xamarin Studio. New in
Mono 3.0.4 Garbage Collector
Many changes went into our GC implementation. We added long links
support to our traditional Boehm collector. As for SGen, it is
finally a true concurrent GC, with cementing support. We also fixed
several bugs, such as #9928 pointer free deadlock problem and bugs
in mono_gc_weak_link_get. Async
Rewrite of async StreamReader/StreamWritter operations to not fail
on subsequent async call. Fixes #9761 ASP.NET
Updated encoding support.
Some minor bug fixes. Other improvements
New MONO_DISABLE_SHARED_AREA environment variable lets you turn of
the use of shared memory in Mono (used by performance counters and
optionally by the io-layer).
Updated EntityFramework version that ships with Mono.
Support for ConnectionLifetime parameter in SqlClient (contributed
by 7digital).
Fixed C# Evaluator Terse reader with loops
Don't report user operator error during probing user conversions.
Fixes #10170.
Add explicit interface GetType implementation to avoid object::GetType
become proxy. (C# compiler fix)
Implement use of __refvalue as an lvalue. Fixes #10034. Packaging
We no longer install a /usr/bin/pkg-config on OSX, to stop clashing
with Homebrew.
New in Mono 3.0.3
Mono garbage collectors now feature multiple dtrace probes for
users on MacOS and Solaris.
Many stability improvements and performance work on Mono's Async
support. Garbage Collector
Sgen now has a concurrent GC that can significantly reduce max
pauses. This is an experimental feature that is been continuously
developed. Click here for more details. Bug Fixes
#8401, #9247, #8903, #9087, #9225, #9186, #9118, #9137, #9133,
#9116, #1446, #2246, #6918, #8904, #8927, #2907, #8829, #8786 New
in Mono 3.0.2
We are now on a cadence to deliver new Mono features and updates
on a regular basis. A month after our last release we are now
bringing some 363 commits, with 3055 files changed, 171240
insertions(+), 179104 deletions(-) Major Features
'Reactive Extensions': Mono now bundles the open sourced Microsoft's
Reactive Extensions
F# 3.0: We have updated the bundled F# compiler on OSX to version
3.0 (tag 3.0.22 from the open source fsharp repository).
SGen Garbage Collector: new lazy sweep strategy in Mono's new GC
that reduces the GC times for major collections significantly. We
have also tuned and improved the collector.
System.Json: We reverted System.Json to Mono's version, as it was
lighter and tolerates more input than Microsoft's one. We ship
System.Json.Microsoft as well for users that want to use the
Microsoft stack.
Runtime: Many improvements to Mono, better x86 and ARM support
across the board.
NTLM: Large upgrade to our NTLM stack.
clang: Mono now builds with Clang.
monodoc: vast improvements to our documentation infrastructure.
Bug fixes in 3.0.2
#8566, #8565, #8549, #8646, #8592, #8561, #8559, #8557, #8553,
#8533, #8502, #8468, #8449, #8448, #8414, #8399, #8385, #8384,
#8383, #8366, #8334, #8320, #8312, #8285, #8283, #8263, #8232,
#8156, #8037, #7965, #6650, #5760, #4587, #3582, #3275, #2471 and
#2190
New in Mono 3.0 Major Highlights C# Compiler
Mono now has a complete C# 5.0 compiler with asynchronous programming
support.
Our C# compiler has now completed its migration from using
System.Reflection.Emit as its code generation backend to use the
IKVM.Reflection API. This functionality was previewed in Mono 2.10
and is now the default. With this functionality, developers can
use any mscorlib that they want (for example the MicroFramework
one, or a custom one) without having to build a custom compiler.
We were able to eliminate the multiple executables for the compiler,
and unify all the compilers into one as well as reducing our build
times significantly.
gmcs, dmcs and smcs are now merely aliases to call the mcs compiler
with the proper -sdk flag. Tool/Library Purpose Profile
New Backend 2.10 Backend gmcs C# Compiler 2.0
IKVM.Reflection System.Reflection 2.0 dmcs C# compiler
4.0 IVKM.Reflection System.Reflection 4.0 smcs C#
Compiler 2.1 (Silverlight, MonoTouch, MonoDroid)
IKVM.Reflection System.Reflection 2.0 mcs C# Compiler
Any profile, any mscorlib IKVM.Reflection IKVM.Reflection
csharp Interactive C# Shell/REPL 4.5 System.Reflection
4.5 System.Reflection 4.0 Mono.CSharp C# Compiler as a Service
2.0, 2.1 and 4.0. System.Reflection 4.0 System.Reflection
System.Reflection is still used as a backend for the compiler as
a service and the C# interactive shell. Evaluation can now Compile
Types
The Evaluator.Eval () API is no longer limited to expressions and
statements, you can now pass entire namespace, class, interface,
struct definitions as a string and have the result get compiled.
This extends to the csharp command:
csharp> class X { public int a; } csharp> var t = new X () { a =
1 }; csharp> print (t.a); 1 csharp>
Instance API
The compiler as a service exposed by the Mono.CSharp library is no
longer limited to be a global compiler, now you can instantiate
multiple scopes for the compiler, each having its own set of
localized types and global variables.
For example, the following sample assigns a string in one context
and an int in another one:
using System; using Mono.CSharp;
class MyWorld {
public Evaluator Evaluator;
public MyWorld (string [] args) {
var r = new Report (new ConsoleReportPrinter ());
var cmd = new CommandLineParser (r);
var settings = cmd.ParseArguments (args); if (settings
== null || r.Errors > 0)
Environment.Exit (1);
Evaluator = new Evaluator (settings, r); } }
class X {
static int Main (string [] args) {
var first = new MyWorld (args); var second = new
MyWorld (args);
first.Evaluator.Run ("var Demo = \"hello, world\";");
second.Evaluator.Run ("var Demo = 1;"); first.Evaluator.Run
("print (Demo);"); second.Evaluator.Run ("print
(Demo);"); return 0; } }
C# Interactive Shell
New convenience function print, can be used instead of Console.WriteLine
Additionally, the C# interactive shell will by default use a terse
syntax that does not require a semicolon at the end of an expression,
for example:
csharp> 1 + 2 3 csharp>
4.5 Profile
The 4.5 Profile is a strict superset of the 4.0 API and is now the
default profile.
Because 4.5 API is a strict superset of 4.0 API they both share
the same assembly version number, so we actually install the 4.5
library into the GAC.
Some of the changes in the 4.5 API family include:
New Async methods WinRT compatibility API Newly introduced
assemblies (System.Net.Http, System.Threading.Tasks.Dataflow)
New Microsoft Open Source Stacks
We now include the following assemblies as part of Mono from
Microsoft's ASP.NET WebStack:
System.Net.Http.Formatting.dll System.Web.Http.dll System.Web.Razor.dll
System.Web.WebPages.Deployment.dll System.Web.WebPages.Razor.dll
System.Web.WebPages.dll System.Web.Mvc.dll System.Json.dll
(Previously available in Mono, but now replaced with Microsoft's
implementation)
We also bundle the recently open sourced Entity Framework and
EntityFramework.dll
Garbage Collector
SGen now has a new task management system that allows it to easily
scale new GC-related tasks across multiple CPUs if available:
SGen on SMP systems is able to distribute more work across the
worker threads. Previously only the mark phase was distributed.
SGen is now able to perform parallel collection in the nursery.
SGen has been ported to Win32 SGen has been ported to the MIPS
platform Precise stack scanning has been improved considerably,
and it is now supported on x86 and ARM. On OSX, SGen now uses
Mach APIs directly to speedup some tasks in the garbage collector.
Runtime Optimizations
Implemented fast version of ThreadLocal<T> (it is now a low-level
intrinstic operation)
List<T> optimizations
Support for new attributes to force inlining.
Major change in Mono to support the full table of Unicode surrogate
characters. This code was written by Damien Diederen and David
Mitchell from Logos software.
Runtime supports deferred attaching to the process (when using
suspend=n,server=y the runtime collects metadata until a debugger
is attached).
Implement tail call optimizations on PowerPC for F# (Bug #664631)
New profiler that can be used with Intel's VTune Amplifier Profiler.
Support for System.Net.NetworkInformation.NetworkChanged events on
Linux.
New tool: crlupdate this is the Mono Certficate Revocation List
Downloader and Updater and can be used to download of new, or update
of existing, Certficate Revocation List (CRL) associated with the
certificates present in the user (default) or machine stores. The
CRL present in the stores are used to determine the validity of
unexpired, trusted X.509 certificates. ASP.NET
Bring the error page to the new millenium. CodeContracts
Alexander Chebaturkin has implemented initial version of static
Code Contract analyser as part of SoC 2011. Smaller Updates
Partial support for Portable Class Libraries (details)
Updated Unicode tables, fixes long-standing 480178 MacOS X
We continue to expand significantly our support for MacOS X and
iOS.
Mono can now be compiled by users as a 64-bit binary. Mono still
ships as a 32-bit binary, as most libraries that exist today for
Mono run only in 32 bits.
DriveInfo now returns correct information on OSX. Mono.Data.Sqlite
It is now possible to configure the threading model for SQLite
using the SetConfig method in the SQLiteConnection class.
Supports iOS crypto APIs. C5 Library
We have updated the venerable C5 library to the latest version.
Breaking Changes Since Mono 2.10
In order to be compatible with Microsoft .NET's behavior, exceptions
thrown in object finalizers now cause a full runtime abort. This
behavior was already present for thread pool threads, but hadn't
been enabled for the finalizer thread yet.
Generally, one should avoid exceptions in finalizers entirely. If
you must use them, catch them so that they do not terminate the
application. GDB
GDB support has been extended with a new gdb hook that is aware
of the SGenGC internals. Added pretty printers for more runtime
data structures like MonoVTable to the mono gdb mode.
MIPS port
The MIPS port is now complete, it can do a full bootstrap, and run
the runtime/corlib test suites. Soft Debugger
Single stepping is now implemented using breakpoints in most
cases, speeding it up considerably. Calls to
System.Diagnostics.Debugger:Log()/Break () are now routed to
the debugger using new UserLog/UserBreak event types. S390x
is now supported (Neale Ferguson). MIPS is now supported.
Added new methods to Mono.Debugger.Soft and the runtime to
decrease the amount of packets transmitted between the debugger
and the debuggee. This significantly improves performance over
high latency connections like USB. Many bug fixes.
Static Compiler (AOT)
Made changes to some AOT data structures to reduce their size,
especially when using generics. This reduces the size of an mscorlib
AOT image by about 1-2%.
Many changes to the class libraries allow more core Generics code
to run on systems that do not support JIT compilation.
2013-05-29 13:11:12 +02:00
|
|
|
REPLACE_BASH+= build-mingw32.sh mono/arch/arm/dpiops.sh mono/arch/arm/fpaops.sh
|
|
|
|
REPLACE_BASH+= mono/arch/arm/vfpops.sh mono/tests/make_imt_test.sh
|
|
|
|
REPLACE_BASH+= scripts/mono-find-provides.in scripts/mono-find-requires.in
|
|
|
|
REPLACE_BASH+= scripts/mono-test-install web/mono-build-w32.sh
|
2008-10-07 15:22:32 +02:00
|
|
|
REPLACE_BASH+= mcs/class/Mono.WebBrowser/build-csproj2k5
|
2008-02-13 15:16:43 +01:00
|
|
|
REPLACE_BASH+= mcs/class/Managed.Windows.Forms/build-csproj
|
|
|
|
REPLACE_BASH+= mcs/class/Managed.Windows.Forms/build-csproj2k5
|
2008-02-16 16:53:14 +01:00
|
|
|
REPLACE_BASH+= mcs/class/Mono.Cairo/Samples/gtk/compile.sh
|
|
|
|
REPLACE_BASH+= mcs/class/Mono.Cairo/Samples/png/compile.sh
|
|
|
|
REPLACE_BASH+= mcs/class/Mono.Cairo/Samples/win32/compile.sh
|
|
|
|
REPLACE_BASH+= mcs/class/Mono.Cairo/Samples/x11/compile.sh
|
Update to 3.0.10:
New in Mono 3.0.10
A hot-fix release.
Reverted parallel mkbundle.
Fixed duplicated debug symbol problem in the compiler.
New in Mono 3.0.9
Fix gtk+ copy & paste.
Fix debugger support for custom attributes.
Proper stack bounds calculation on windows.
Add partial generic methods to our C# compiler.
NaCL support for ARM.
Fix LLVM loading on OSX.
New in Mono 3.0.8
Multiple improvements to the BCL to reduce usage of non generic
collections and use faster string comparisons.
Optimize large object cloning and boxing.
Multiple changes to bring mono closer to full PCL compatibility.
Add System.WeakReference<T>
Sgen can now return memory to the system for
Many compiler fixes for async.
Improved FullAOT support for async.
NaCl build fixes and improvements.
WCF now has cookie support in .net 4.0.
Optimize Marshal.Read/Write methods to avoid a trip to unmanaged
when needed.
Optimize LINQ with arrays.
Multiple fixes to the sgen's concurrent collector.
New in Mono 3.0.7
Multiple fixes to the sgen's concurrent collector.
Performance improvements in primitive types parsing.
Add a configuration time option to disable remoting.
Optimize tls lookups on full-aot + arm.
Add a configuration option to disable remoting.
Multiple improvements and bug fixes in culture related code.
Runtime assembly mapping for PCL.
Fix Binder primitive conversion to make .net.
Optimize Activator.CreateInstance ().
Optimize icalls in FullAOT code.
Implement Volatile.Read/Write<T> and Interlocked.MemoryBarrier ().
Optimized unmanaged to managed string conversion.
New in Mono 3.0.6
This is another hotfix release. It reverses the visibility change
made to Mono.Runtime.GetDisplayName.
New in Mono 3.0.5
This is a hot-fix release. It fixes a crash in the runtime support
for generics, which could be triggered by Xamarin Studio. New in
Mono 3.0.4 Garbage Collector
Many changes went into our GC implementation. We added long links
support to our traditional Boehm collector. As for SGen, it is
finally a true concurrent GC, with cementing support. We also fixed
several bugs, such as #9928 pointer free deadlock problem and bugs
in mono_gc_weak_link_get. Async
Rewrite of async StreamReader/StreamWritter operations to not fail
on subsequent async call. Fixes #9761 ASP.NET
Updated encoding support.
Some minor bug fixes. Other improvements
New MONO_DISABLE_SHARED_AREA environment variable lets you turn of
the use of shared memory in Mono (used by performance counters and
optionally by the io-layer).
Updated EntityFramework version that ships with Mono.
Support for ConnectionLifetime parameter in SqlClient (contributed
by 7digital).
Fixed C# Evaluator Terse reader with loops
Don't report user operator error during probing user conversions.
Fixes #10170.
Add explicit interface GetType implementation to avoid object::GetType
become proxy. (C# compiler fix)
Implement use of __refvalue as an lvalue. Fixes #10034. Packaging
We no longer install a /usr/bin/pkg-config on OSX, to stop clashing
with Homebrew.
New in Mono 3.0.3
Mono garbage collectors now feature multiple dtrace probes for
users on MacOS and Solaris.
Many stability improvements and performance work on Mono's Async
support. Garbage Collector
Sgen now has a concurrent GC that can significantly reduce max
pauses. This is an experimental feature that is been continuously
developed. Click here for more details. Bug Fixes
#8401, #9247, #8903, #9087, #9225, #9186, #9118, #9137, #9133,
#9116, #1446, #2246, #6918, #8904, #8927, #2907, #8829, #8786 New
in Mono 3.0.2
We are now on a cadence to deliver new Mono features and updates
on a regular basis. A month after our last release we are now
bringing some 363 commits, with 3055 files changed, 171240
insertions(+), 179104 deletions(-) Major Features
'Reactive Extensions': Mono now bundles the open sourced Microsoft's
Reactive Extensions
F# 3.0: We have updated the bundled F# compiler on OSX to version
3.0 (tag 3.0.22 from the open source fsharp repository).
SGen Garbage Collector: new lazy sweep strategy in Mono's new GC
that reduces the GC times for major collections significantly. We
have also tuned and improved the collector.
System.Json: We reverted System.Json to Mono's version, as it was
lighter and tolerates more input than Microsoft's one. We ship
System.Json.Microsoft as well for users that want to use the
Microsoft stack.
Runtime: Many improvements to Mono, better x86 and ARM support
across the board.
NTLM: Large upgrade to our NTLM stack.
clang: Mono now builds with Clang.
monodoc: vast improvements to our documentation infrastructure.
Bug fixes in 3.0.2
#8566, #8565, #8549, #8646, #8592, #8561, #8559, #8557, #8553,
#8533, #8502, #8468, #8449, #8448, #8414, #8399, #8385, #8384,
#8383, #8366, #8334, #8320, #8312, #8285, #8283, #8263, #8232,
#8156, #8037, #7965, #6650, #5760, #4587, #3582, #3275, #2471 and
#2190
New in Mono 3.0 Major Highlights C# Compiler
Mono now has a complete C# 5.0 compiler with asynchronous programming
support.
Our C# compiler has now completed its migration from using
System.Reflection.Emit as its code generation backend to use the
IKVM.Reflection API. This functionality was previewed in Mono 2.10
and is now the default. With this functionality, developers can
use any mscorlib that they want (for example the MicroFramework
one, or a custom one) without having to build a custom compiler.
We were able to eliminate the multiple executables for the compiler,
and unify all the compilers into one as well as reducing our build
times significantly.
gmcs, dmcs and smcs are now merely aliases to call the mcs compiler
with the proper -sdk flag. Tool/Library Purpose Profile
New Backend 2.10 Backend gmcs C# Compiler 2.0
IKVM.Reflection System.Reflection 2.0 dmcs C# compiler
4.0 IVKM.Reflection System.Reflection 4.0 smcs C#
Compiler 2.1 (Silverlight, MonoTouch, MonoDroid)
IKVM.Reflection System.Reflection 2.0 mcs C# Compiler
Any profile, any mscorlib IKVM.Reflection IKVM.Reflection
csharp Interactive C# Shell/REPL 4.5 System.Reflection
4.5 System.Reflection 4.0 Mono.CSharp C# Compiler as a Service
2.0, 2.1 and 4.0. System.Reflection 4.0 System.Reflection
System.Reflection is still used as a backend for the compiler as
a service and the C# interactive shell. Evaluation can now Compile
Types
The Evaluator.Eval () API is no longer limited to expressions and
statements, you can now pass entire namespace, class, interface,
struct definitions as a string and have the result get compiled.
This extends to the csharp command:
csharp> class X { public int a; } csharp> var t = new X () { a =
1 }; csharp> print (t.a); 1 csharp>
Instance API
The compiler as a service exposed by the Mono.CSharp library is no
longer limited to be a global compiler, now you can instantiate
multiple scopes for the compiler, each having its own set of
localized types and global variables.
For example, the following sample assigns a string in one context
and an int in another one:
using System; using Mono.CSharp;
class MyWorld {
public Evaluator Evaluator;
public MyWorld (string [] args) {
var r = new Report (new ConsoleReportPrinter ());
var cmd = new CommandLineParser (r);
var settings = cmd.ParseArguments (args); if (settings
== null || r.Errors > 0)
Environment.Exit (1);
Evaluator = new Evaluator (settings, r); } }
class X {
static int Main (string [] args) {
var first = new MyWorld (args); var second = new
MyWorld (args);
first.Evaluator.Run ("var Demo = \"hello, world\";");
second.Evaluator.Run ("var Demo = 1;"); first.Evaluator.Run
("print (Demo);"); second.Evaluator.Run ("print
(Demo);"); return 0; } }
C# Interactive Shell
New convenience function print, can be used instead of Console.WriteLine
Additionally, the C# interactive shell will by default use a terse
syntax that does not require a semicolon at the end of an expression,
for example:
csharp> 1 + 2 3 csharp>
4.5 Profile
The 4.5 Profile is a strict superset of the 4.0 API and is now the
default profile.
Because 4.5 API is a strict superset of 4.0 API they both share
the same assembly version number, so we actually install the 4.5
library into the GAC.
Some of the changes in the 4.5 API family include:
New Async methods WinRT compatibility API Newly introduced
assemblies (System.Net.Http, System.Threading.Tasks.Dataflow)
New Microsoft Open Source Stacks
We now include the following assemblies as part of Mono from
Microsoft's ASP.NET WebStack:
System.Net.Http.Formatting.dll System.Web.Http.dll System.Web.Razor.dll
System.Web.WebPages.Deployment.dll System.Web.WebPages.Razor.dll
System.Web.WebPages.dll System.Web.Mvc.dll System.Json.dll
(Previously available in Mono, but now replaced with Microsoft's
implementation)
We also bundle the recently open sourced Entity Framework and
EntityFramework.dll
Garbage Collector
SGen now has a new task management system that allows it to easily
scale new GC-related tasks across multiple CPUs if available:
SGen on SMP systems is able to distribute more work across the
worker threads. Previously only the mark phase was distributed.
SGen is now able to perform parallel collection in the nursery.
SGen has been ported to Win32 SGen has been ported to the MIPS
platform Precise stack scanning has been improved considerably,
and it is now supported on x86 and ARM. On OSX, SGen now uses
Mach APIs directly to speedup some tasks in the garbage collector.
Runtime Optimizations
Implemented fast version of ThreadLocal<T> (it is now a low-level
intrinstic operation)
List<T> optimizations
Support for new attributes to force inlining.
Major change in Mono to support the full table of Unicode surrogate
characters. This code was written by Damien Diederen and David
Mitchell from Logos software.
Runtime supports deferred attaching to the process (when using
suspend=n,server=y the runtime collects metadata until a debugger
is attached).
Implement tail call optimizations on PowerPC for F# (Bug #664631)
New profiler that can be used with Intel's VTune Amplifier Profiler.
Support for System.Net.NetworkInformation.NetworkChanged events on
Linux.
New tool: crlupdate this is the Mono Certficate Revocation List
Downloader and Updater and can be used to download of new, or update
of existing, Certficate Revocation List (CRL) associated with the
certificates present in the user (default) or machine stores. The
CRL present in the stores are used to determine the validity of
unexpired, trusted X.509 certificates. ASP.NET
Bring the error page to the new millenium. CodeContracts
Alexander Chebaturkin has implemented initial version of static
Code Contract analyser as part of SoC 2011. Smaller Updates
Partial support for Portable Class Libraries (details)
Updated Unicode tables, fixes long-standing 480178 MacOS X
We continue to expand significantly our support for MacOS X and
iOS.
Mono can now be compiled by users as a 64-bit binary. Mono still
ships as a 32-bit binary, as most libraries that exist today for
Mono run only in 32 bits.
DriveInfo now returns correct information on OSX. Mono.Data.Sqlite
It is now possible to configure the threading model for SQLite
using the SetConfig method in the SQLiteConnection class.
Supports iOS crypto APIs. C5 Library
We have updated the venerable C5 library to the latest version.
Breaking Changes Since Mono 2.10
In order to be compatible with Microsoft .NET's behavior, exceptions
thrown in object finalizers now cause a full runtime abort. This
behavior was already present for thread pool threads, but hadn't
been enabled for the finalizer thread yet.
Generally, one should avoid exceptions in finalizers entirely. If
you must use them, catch them so that they do not terminate the
application. GDB
GDB support has been extended with a new gdb hook that is aware
of the SGenGC internals. Added pretty printers for more runtime
data structures like MonoVTable to the mono gdb mode.
MIPS port
The MIPS port is now complete, it can do a full bootstrap, and run
the runtime/corlib test suites. Soft Debugger
Single stepping is now implemented using breakpoints in most
cases, speeding it up considerably. Calls to
System.Diagnostics.Debugger:Log()/Break () are now routed to
the debugger using new UserLog/UserBreak event types. S390x
is now supported (Neale Ferguson). MIPS is now supported.
Added new methods to Mono.Debugger.Soft and the runtime to
decrease the amount of packets transmitted between the debugger
and the debuggee. This significantly improves performance over
high latency connections like USB. Many bug fixes.
Static Compiler (AOT)
Made changes to some AOT data structures to reduce their size,
especially when using generics. This reduces the size of an mscorlib
AOT image by about 1-2%.
Many changes to the class libraries allow more core Generics code
to run on systems that do not support JIT compilation.
2013-05-29 13:11:12 +02:00
|
|
|
REPLACE_BASH+= mcs/tools/tinderbox/tinderbox.sh libgc/mkinstalldirs
|
|
|
|
REPLACE_BASH+= mcs/mkinstalldirs mkinstalldirs
|
2007-01-04 03:38:13 +01:00
|
|
|
|
2003-03-01 14:11:44 +01:00
|
|
|
EGDIR= ${PREFIX}/share/examples/mono
|
2008-02-13 15:16:43 +01:00
|
|
|
CONF_FILES= ${EGDIR}/config ${PKG_SYSCONFDIR}/mono/config
|
|
|
|
CONF_FILES+= ${EGDIR}/browscap.ini ${PKG_SYSCONFDIR}/mono/browscap.ini
|
2006-08-03 20:15:07 +02:00
|
|
|
CONF_FILES+= ${EGDIR}/2.0/DefaultWsdlHelpGenerator.aspx \
|
Update to 3.0.10:
New in Mono 3.0.10
A hot-fix release.
Reverted parallel mkbundle.
Fixed duplicated debug symbol problem in the compiler.
New in Mono 3.0.9
Fix gtk+ copy & paste.
Fix debugger support for custom attributes.
Proper stack bounds calculation on windows.
Add partial generic methods to our C# compiler.
NaCL support for ARM.
Fix LLVM loading on OSX.
New in Mono 3.0.8
Multiple improvements to the BCL to reduce usage of non generic
collections and use faster string comparisons.
Optimize large object cloning and boxing.
Multiple changes to bring mono closer to full PCL compatibility.
Add System.WeakReference<T>
Sgen can now return memory to the system for
Many compiler fixes for async.
Improved FullAOT support for async.
NaCl build fixes and improvements.
WCF now has cookie support in .net 4.0.
Optimize Marshal.Read/Write methods to avoid a trip to unmanaged
when needed.
Optimize LINQ with arrays.
Multiple fixes to the sgen's concurrent collector.
New in Mono 3.0.7
Multiple fixes to the sgen's concurrent collector.
Performance improvements in primitive types parsing.
Add a configuration time option to disable remoting.
Optimize tls lookups on full-aot + arm.
Add a configuration option to disable remoting.
Multiple improvements and bug fixes in culture related code.
Runtime assembly mapping for PCL.
Fix Binder primitive conversion to make .net.
Optimize Activator.CreateInstance ().
Optimize icalls in FullAOT code.
Implement Volatile.Read/Write<T> and Interlocked.MemoryBarrier ().
Optimized unmanaged to managed string conversion.
New in Mono 3.0.6
This is another hotfix release. It reverses the visibility change
made to Mono.Runtime.GetDisplayName.
New in Mono 3.0.5
This is a hot-fix release. It fixes a crash in the runtime support
for generics, which could be triggered by Xamarin Studio. New in
Mono 3.0.4 Garbage Collector
Many changes went into our GC implementation. We added long links
support to our traditional Boehm collector. As for SGen, it is
finally a true concurrent GC, with cementing support. We also fixed
several bugs, such as #9928 pointer free deadlock problem and bugs
in mono_gc_weak_link_get. Async
Rewrite of async StreamReader/StreamWritter operations to not fail
on subsequent async call. Fixes #9761 ASP.NET
Updated encoding support.
Some minor bug fixes. Other improvements
New MONO_DISABLE_SHARED_AREA environment variable lets you turn of
the use of shared memory in Mono (used by performance counters and
optionally by the io-layer).
Updated EntityFramework version that ships with Mono.
Support for ConnectionLifetime parameter in SqlClient (contributed
by 7digital).
Fixed C# Evaluator Terse reader with loops
Don't report user operator error during probing user conversions.
Fixes #10170.
Add explicit interface GetType implementation to avoid object::GetType
become proxy. (C# compiler fix)
Implement use of __refvalue as an lvalue. Fixes #10034. Packaging
We no longer install a /usr/bin/pkg-config on OSX, to stop clashing
with Homebrew.
New in Mono 3.0.3
Mono garbage collectors now feature multiple dtrace probes for
users on MacOS and Solaris.
Many stability improvements and performance work on Mono's Async
support. Garbage Collector
Sgen now has a concurrent GC that can significantly reduce max
pauses. This is an experimental feature that is been continuously
developed. Click here for more details. Bug Fixes
#8401, #9247, #8903, #9087, #9225, #9186, #9118, #9137, #9133,
#9116, #1446, #2246, #6918, #8904, #8927, #2907, #8829, #8786 New
in Mono 3.0.2
We are now on a cadence to deliver new Mono features and updates
on a regular basis. A month after our last release we are now
bringing some 363 commits, with 3055 files changed, 171240
insertions(+), 179104 deletions(-) Major Features
'Reactive Extensions': Mono now bundles the open sourced Microsoft's
Reactive Extensions
F# 3.0: We have updated the bundled F# compiler on OSX to version
3.0 (tag 3.0.22 from the open source fsharp repository).
SGen Garbage Collector: new lazy sweep strategy in Mono's new GC
that reduces the GC times for major collections significantly. We
have also tuned and improved the collector.
System.Json: We reverted System.Json to Mono's version, as it was
lighter and tolerates more input than Microsoft's one. We ship
System.Json.Microsoft as well for users that want to use the
Microsoft stack.
Runtime: Many improvements to Mono, better x86 and ARM support
across the board.
NTLM: Large upgrade to our NTLM stack.
clang: Mono now builds with Clang.
monodoc: vast improvements to our documentation infrastructure.
Bug fixes in 3.0.2
#8566, #8565, #8549, #8646, #8592, #8561, #8559, #8557, #8553,
#8533, #8502, #8468, #8449, #8448, #8414, #8399, #8385, #8384,
#8383, #8366, #8334, #8320, #8312, #8285, #8283, #8263, #8232,
#8156, #8037, #7965, #6650, #5760, #4587, #3582, #3275, #2471 and
#2190
New in Mono 3.0 Major Highlights C# Compiler
Mono now has a complete C# 5.0 compiler with asynchronous programming
support.
Our C# compiler has now completed its migration from using
System.Reflection.Emit as its code generation backend to use the
IKVM.Reflection API. This functionality was previewed in Mono 2.10
and is now the default. With this functionality, developers can
use any mscorlib that they want (for example the MicroFramework
one, or a custom one) without having to build a custom compiler.
We were able to eliminate the multiple executables for the compiler,
and unify all the compilers into one as well as reducing our build
times significantly.
gmcs, dmcs and smcs are now merely aliases to call the mcs compiler
with the proper -sdk flag. Tool/Library Purpose Profile
New Backend 2.10 Backend gmcs C# Compiler 2.0
IKVM.Reflection System.Reflection 2.0 dmcs C# compiler
4.0 IVKM.Reflection System.Reflection 4.0 smcs C#
Compiler 2.1 (Silverlight, MonoTouch, MonoDroid)
IKVM.Reflection System.Reflection 2.0 mcs C# Compiler
Any profile, any mscorlib IKVM.Reflection IKVM.Reflection
csharp Interactive C# Shell/REPL 4.5 System.Reflection
4.5 System.Reflection 4.0 Mono.CSharp C# Compiler as a Service
2.0, 2.1 and 4.0. System.Reflection 4.0 System.Reflection
System.Reflection is still used as a backend for the compiler as
a service and the C# interactive shell. Evaluation can now Compile
Types
The Evaluator.Eval () API is no longer limited to expressions and
statements, you can now pass entire namespace, class, interface,
struct definitions as a string and have the result get compiled.
This extends to the csharp command:
csharp> class X { public int a; } csharp> var t = new X () { a =
1 }; csharp> print (t.a); 1 csharp>
Instance API
The compiler as a service exposed by the Mono.CSharp library is no
longer limited to be a global compiler, now you can instantiate
multiple scopes for the compiler, each having its own set of
localized types and global variables.
For example, the following sample assigns a string in one context
and an int in another one:
using System; using Mono.CSharp;
class MyWorld {
public Evaluator Evaluator;
public MyWorld (string [] args) {
var r = new Report (new ConsoleReportPrinter ());
var cmd = new CommandLineParser (r);
var settings = cmd.ParseArguments (args); if (settings
== null || r.Errors > 0)
Environment.Exit (1);
Evaluator = new Evaluator (settings, r); } }
class X {
static int Main (string [] args) {
var first = new MyWorld (args); var second = new
MyWorld (args);
first.Evaluator.Run ("var Demo = \"hello, world\";");
second.Evaluator.Run ("var Demo = 1;"); first.Evaluator.Run
("print (Demo);"); second.Evaluator.Run ("print
(Demo);"); return 0; } }
C# Interactive Shell
New convenience function print, can be used instead of Console.WriteLine
Additionally, the C# interactive shell will by default use a terse
syntax that does not require a semicolon at the end of an expression,
for example:
csharp> 1 + 2 3 csharp>
4.5 Profile
The 4.5 Profile is a strict superset of the 4.0 API and is now the
default profile.
Because 4.5 API is a strict superset of 4.0 API they both share
the same assembly version number, so we actually install the 4.5
library into the GAC.
Some of the changes in the 4.5 API family include:
New Async methods WinRT compatibility API Newly introduced
assemblies (System.Net.Http, System.Threading.Tasks.Dataflow)
New Microsoft Open Source Stacks
We now include the following assemblies as part of Mono from
Microsoft's ASP.NET WebStack:
System.Net.Http.Formatting.dll System.Web.Http.dll System.Web.Razor.dll
System.Web.WebPages.Deployment.dll System.Web.WebPages.Razor.dll
System.Web.WebPages.dll System.Web.Mvc.dll System.Json.dll
(Previously available in Mono, but now replaced with Microsoft's
implementation)
We also bundle the recently open sourced Entity Framework and
EntityFramework.dll
Garbage Collector
SGen now has a new task management system that allows it to easily
scale new GC-related tasks across multiple CPUs if available:
SGen on SMP systems is able to distribute more work across the
worker threads. Previously only the mark phase was distributed.
SGen is now able to perform parallel collection in the nursery.
SGen has been ported to Win32 SGen has been ported to the MIPS
platform Precise stack scanning has been improved considerably,
and it is now supported on x86 and ARM. On OSX, SGen now uses
Mach APIs directly to speedup some tasks in the garbage collector.
Runtime Optimizations
Implemented fast version of ThreadLocal<T> (it is now a low-level
intrinstic operation)
List<T> optimizations
Support for new attributes to force inlining.
Major change in Mono to support the full table of Unicode surrogate
characters. This code was written by Damien Diederen and David
Mitchell from Logos software.
Runtime supports deferred attaching to the process (when using
suspend=n,server=y the runtime collects metadata until a debugger
is attached).
Implement tail call optimizations on PowerPC for F# (Bug #664631)
New profiler that can be used with Intel's VTune Amplifier Profiler.
Support for System.Net.NetworkInformation.NetworkChanged events on
Linux.
New tool: crlupdate this is the Mono Certficate Revocation List
Downloader and Updater and can be used to download of new, or update
of existing, Certficate Revocation List (CRL) associated with the
certificates present in the user (default) or machine stores. The
CRL present in the stores are used to determine the validity of
unexpired, trusted X.509 certificates. ASP.NET
Bring the error page to the new millenium. CodeContracts
Alexander Chebaturkin has implemented initial version of static
Code Contract analyser as part of SoC 2011. Smaller Updates
Partial support for Portable Class Libraries (details)
Updated Unicode tables, fixes long-standing 480178 MacOS X
We continue to expand significantly our support for MacOS X and
iOS.
Mono can now be compiled by users as a 64-bit binary. Mono still
ships as a 32-bit binary, as most libraries that exist today for
Mono run only in 32 bits.
DriveInfo now returns correct information on OSX. Mono.Data.Sqlite
It is now possible to configure the threading model for SQLite
using the SetConfig method in the SQLiteConnection class.
Supports iOS crypto APIs. C5 Library
We have updated the venerable C5 library to the latest version.
Breaking Changes Since Mono 2.10
In order to be compatible with Microsoft .NET's behavior, exceptions
thrown in object finalizers now cause a full runtime abort. This
behavior was already present for thread pool threads, but hadn't
been enabled for the finalizer thread yet.
Generally, one should avoid exceptions in finalizers entirely. If
you must use them, catch them so that they do not terminate the
application. GDB
GDB support has been extended with a new gdb hook that is aware
of the SGenGC internals. Added pretty printers for more runtime
data structures like MonoVTable to the mono gdb mode.
MIPS port
The MIPS port is now complete, it can do a full bootstrap, and run
the runtime/corlib test suites. Soft Debugger
Single stepping is now implemented using breakpoints in most
cases, speeding it up considerably. Calls to
System.Diagnostics.Debugger:Log()/Break () are now routed to
the debugger using new UserLog/UserBreak event types. S390x
is now supported (Neale Ferguson). MIPS is now supported.
Added new methods to Mono.Debugger.Soft and the runtime to
decrease the amount of packets transmitted between the debugger
and the debuggee. This significantly improves performance over
high latency connections like USB. Many bug fixes.
Static Compiler (AOT)
Made changes to some AOT data structures to reduce their size,
especially when using generics. This reduces the size of an mscorlib
AOT image by about 1-2%.
Many changes to the class libraries allow more core Generics code
to run on systems that do not support JIT compilation.
2013-05-29 13:11:12 +02:00
|
|
|
${PKG_SYSCONFDIR}/mono/2.0/DefaultWsdlHelpGenerator.aspx
|
2008-02-13 15:16:43 +01:00
|
|
|
CONF_FILES+= ${EGDIR}/2.0/machine.config \
|
Update to 3.0.10:
New in Mono 3.0.10
A hot-fix release.
Reverted parallel mkbundle.
Fixed duplicated debug symbol problem in the compiler.
New in Mono 3.0.9
Fix gtk+ copy & paste.
Fix debugger support for custom attributes.
Proper stack bounds calculation on windows.
Add partial generic methods to our C# compiler.
NaCL support for ARM.
Fix LLVM loading on OSX.
New in Mono 3.0.8
Multiple improvements to the BCL to reduce usage of non generic
collections and use faster string comparisons.
Optimize large object cloning and boxing.
Multiple changes to bring mono closer to full PCL compatibility.
Add System.WeakReference<T>
Sgen can now return memory to the system for
Many compiler fixes for async.
Improved FullAOT support for async.
NaCl build fixes and improvements.
WCF now has cookie support in .net 4.0.
Optimize Marshal.Read/Write methods to avoid a trip to unmanaged
when needed.
Optimize LINQ with arrays.
Multiple fixes to the sgen's concurrent collector.
New in Mono 3.0.7
Multiple fixes to the sgen's concurrent collector.
Performance improvements in primitive types parsing.
Add a configuration time option to disable remoting.
Optimize tls lookups on full-aot + arm.
Add a configuration option to disable remoting.
Multiple improvements and bug fixes in culture related code.
Runtime assembly mapping for PCL.
Fix Binder primitive conversion to make .net.
Optimize Activator.CreateInstance ().
Optimize icalls in FullAOT code.
Implement Volatile.Read/Write<T> and Interlocked.MemoryBarrier ().
Optimized unmanaged to managed string conversion.
New in Mono 3.0.6
This is another hotfix release. It reverses the visibility change
made to Mono.Runtime.GetDisplayName.
New in Mono 3.0.5
This is a hot-fix release. It fixes a crash in the runtime support
for generics, which could be triggered by Xamarin Studio. New in
Mono 3.0.4 Garbage Collector
Many changes went into our GC implementation. We added long links
support to our traditional Boehm collector. As for SGen, it is
finally a true concurrent GC, with cementing support. We also fixed
several bugs, such as #9928 pointer free deadlock problem and bugs
in mono_gc_weak_link_get. Async
Rewrite of async StreamReader/StreamWritter operations to not fail
on subsequent async call. Fixes #9761 ASP.NET
Updated encoding support.
Some minor bug fixes. Other improvements
New MONO_DISABLE_SHARED_AREA environment variable lets you turn of
the use of shared memory in Mono (used by performance counters and
optionally by the io-layer).
Updated EntityFramework version that ships with Mono.
Support for ConnectionLifetime parameter in SqlClient (contributed
by 7digital).
Fixed C# Evaluator Terse reader with loops
Don't report user operator error during probing user conversions.
Fixes #10170.
Add explicit interface GetType implementation to avoid object::GetType
become proxy. (C# compiler fix)
Implement use of __refvalue as an lvalue. Fixes #10034. Packaging
We no longer install a /usr/bin/pkg-config on OSX, to stop clashing
with Homebrew.
New in Mono 3.0.3
Mono garbage collectors now feature multiple dtrace probes for
users on MacOS and Solaris.
Many stability improvements and performance work on Mono's Async
support. Garbage Collector
Sgen now has a concurrent GC that can significantly reduce max
pauses. This is an experimental feature that is been continuously
developed. Click here for more details. Bug Fixes
#8401, #9247, #8903, #9087, #9225, #9186, #9118, #9137, #9133,
#9116, #1446, #2246, #6918, #8904, #8927, #2907, #8829, #8786 New
in Mono 3.0.2
We are now on a cadence to deliver new Mono features and updates
on a regular basis. A month after our last release we are now
bringing some 363 commits, with 3055 files changed, 171240
insertions(+), 179104 deletions(-) Major Features
'Reactive Extensions': Mono now bundles the open sourced Microsoft's
Reactive Extensions
F# 3.0: We have updated the bundled F# compiler on OSX to version
3.0 (tag 3.0.22 from the open source fsharp repository).
SGen Garbage Collector: new lazy sweep strategy in Mono's new GC
that reduces the GC times for major collections significantly. We
have also tuned and improved the collector.
System.Json: We reverted System.Json to Mono's version, as it was
lighter and tolerates more input than Microsoft's one. We ship
System.Json.Microsoft as well for users that want to use the
Microsoft stack.
Runtime: Many improvements to Mono, better x86 and ARM support
across the board.
NTLM: Large upgrade to our NTLM stack.
clang: Mono now builds with Clang.
monodoc: vast improvements to our documentation infrastructure.
Bug fixes in 3.0.2
#8566, #8565, #8549, #8646, #8592, #8561, #8559, #8557, #8553,
#8533, #8502, #8468, #8449, #8448, #8414, #8399, #8385, #8384,
#8383, #8366, #8334, #8320, #8312, #8285, #8283, #8263, #8232,
#8156, #8037, #7965, #6650, #5760, #4587, #3582, #3275, #2471 and
#2190
New in Mono 3.0 Major Highlights C# Compiler
Mono now has a complete C# 5.0 compiler with asynchronous programming
support.
Our C# compiler has now completed its migration from using
System.Reflection.Emit as its code generation backend to use the
IKVM.Reflection API. This functionality was previewed in Mono 2.10
and is now the default. With this functionality, developers can
use any mscorlib that they want (for example the MicroFramework
one, or a custom one) without having to build a custom compiler.
We were able to eliminate the multiple executables for the compiler,
and unify all the compilers into one as well as reducing our build
times significantly.
gmcs, dmcs and smcs are now merely aliases to call the mcs compiler
with the proper -sdk flag. Tool/Library Purpose Profile
New Backend 2.10 Backend gmcs C# Compiler 2.0
IKVM.Reflection System.Reflection 2.0 dmcs C# compiler
4.0 IVKM.Reflection System.Reflection 4.0 smcs C#
Compiler 2.1 (Silverlight, MonoTouch, MonoDroid)
IKVM.Reflection System.Reflection 2.0 mcs C# Compiler
Any profile, any mscorlib IKVM.Reflection IKVM.Reflection
csharp Interactive C# Shell/REPL 4.5 System.Reflection
4.5 System.Reflection 4.0 Mono.CSharp C# Compiler as a Service
2.0, 2.1 and 4.0. System.Reflection 4.0 System.Reflection
System.Reflection is still used as a backend for the compiler as
a service and the C# interactive shell. Evaluation can now Compile
Types
The Evaluator.Eval () API is no longer limited to expressions and
statements, you can now pass entire namespace, class, interface,
struct definitions as a string and have the result get compiled.
This extends to the csharp command:
csharp> class X { public int a; } csharp> var t = new X () { a =
1 }; csharp> print (t.a); 1 csharp>
Instance API
The compiler as a service exposed by the Mono.CSharp library is no
longer limited to be a global compiler, now you can instantiate
multiple scopes for the compiler, each having its own set of
localized types and global variables.
For example, the following sample assigns a string in one context
and an int in another one:
using System; using Mono.CSharp;
class MyWorld {
public Evaluator Evaluator;
public MyWorld (string [] args) {
var r = new Report (new ConsoleReportPrinter ());
var cmd = new CommandLineParser (r);
var settings = cmd.ParseArguments (args); if (settings
== null || r.Errors > 0)
Environment.Exit (1);
Evaluator = new Evaluator (settings, r); } }
class X {
static int Main (string [] args) {
var first = new MyWorld (args); var second = new
MyWorld (args);
first.Evaluator.Run ("var Demo = \"hello, world\";");
second.Evaluator.Run ("var Demo = 1;"); first.Evaluator.Run
("print (Demo);"); second.Evaluator.Run ("print
(Demo);"); return 0; } }
C# Interactive Shell
New convenience function print, can be used instead of Console.WriteLine
Additionally, the C# interactive shell will by default use a terse
syntax that does not require a semicolon at the end of an expression,
for example:
csharp> 1 + 2 3 csharp>
4.5 Profile
The 4.5 Profile is a strict superset of the 4.0 API and is now the
default profile.
Because 4.5 API is a strict superset of 4.0 API they both share
the same assembly version number, so we actually install the 4.5
library into the GAC.
Some of the changes in the 4.5 API family include:
New Async methods WinRT compatibility API Newly introduced
assemblies (System.Net.Http, System.Threading.Tasks.Dataflow)
New Microsoft Open Source Stacks
We now include the following assemblies as part of Mono from
Microsoft's ASP.NET WebStack:
System.Net.Http.Formatting.dll System.Web.Http.dll System.Web.Razor.dll
System.Web.WebPages.Deployment.dll System.Web.WebPages.Razor.dll
System.Web.WebPages.dll System.Web.Mvc.dll System.Json.dll
(Previously available in Mono, but now replaced with Microsoft's
implementation)
We also bundle the recently open sourced Entity Framework and
EntityFramework.dll
Garbage Collector
SGen now has a new task management system that allows it to easily
scale new GC-related tasks across multiple CPUs if available:
SGen on SMP systems is able to distribute more work across the
worker threads. Previously only the mark phase was distributed.
SGen is now able to perform parallel collection in the nursery.
SGen has been ported to Win32 SGen has been ported to the MIPS
platform Precise stack scanning has been improved considerably,
and it is now supported on x86 and ARM. On OSX, SGen now uses
Mach APIs directly to speedup some tasks in the garbage collector.
Runtime Optimizations
Implemented fast version of ThreadLocal<T> (it is now a low-level
intrinstic operation)
List<T> optimizations
Support for new attributes to force inlining.
Major change in Mono to support the full table of Unicode surrogate
characters. This code was written by Damien Diederen and David
Mitchell from Logos software.
Runtime supports deferred attaching to the process (when using
suspend=n,server=y the runtime collects metadata until a debugger
is attached).
Implement tail call optimizations on PowerPC for F# (Bug #664631)
New profiler that can be used with Intel's VTune Amplifier Profiler.
Support for System.Net.NetworkInformation.NetworkChanged events on
Linux.
New tool: crlupdate this is the Mono Certficate Revocation List
Downloader and Updater and can be used to download of new, or update
of existing, Certficate Revocation List (CRL) associated with the
certificates present in the user (default) or machine stores. The
CRL present in the stores are used to determine the validity of
unexpired, trusted X.509 certificates. ASP.NET
Bring the error page to the new millenium. CodeContracts
Alexander Chebaturkin has implemented initial version of static
Code Contract analyser as part of SoC 2011. Smaller Updates
Partial support for Portable Class Libraries (details)
Updated Unicode tables, fixes long-standing 480178 MacOS X
We continue to expand significantly our support for MacOS X and
iOS.
Mono can now be compiled by users as a 64-bit binary. Mono still
ships as a 32-bit binary, as most libraries that exist today for
Mono run only in 32 bits.
DriveInfo now returns correct information on OSX. Mono.Data.Sqlite
It is now possible to configure the threading model for SQLite
using the SetConfig method in the SQLiteConnection class.
Supports iOS crypto APIs. C5 Library
We have updated the venerable C5 library to the latest version.
Breaking Changes Since Mono 2.10
In order to be compatible with Microsoft .NET's behavior, exceptions
thrown in object finalizers now cause a full runtime abort. This
behavior was already present for thread pool threads, but hadn't
been enabled for the finalizer thread yet.
Generally, one should avoid exceptions in finalizers entirely. If
you must use them, catch them so that they do not terminate the
application. GDB
GDB support has been extended with a new gdb hook that is aware
of the SGenGC internals. Added pretty printers for more runtime
data structures like MonoVTable to the mono gdb mode.
MIPS port
The MIPS port is now complete, it can do a full bootstrap, and run
the runtime/corlib test suites. Soft Debugger
Single stepping is now implemented using breakpoints in most
cases, speeding it up considerably. Calls to
System.Diagnostics.Debugger:Log()/Break () are now routed to
the debugger using new UserLog/UserBreak event types. S390x
is now supported (Neale Ferguson). MIPS is now supported.
Added new methods to Mono.Debugger.Soft and the runtime to
decrease the amount of packets transmitted between the debugger
and the debuggee. This significantly improves performance over
high latency connections like USB. Many bug fixes.
Static Compiler (AOT)
Made changes to some AOT data structures to reduce their size,
especially when using generics. This reduces the size of an mscorlib
AOT image by about 1-2%.
Many changes to the class libraries allow more core Generics code
to run on systems that do not support JIT compilation.
2013-05-29 13:11:12 +02:00
|
|
|
${PKG_SYSCONFDIR}/mono/2.0/machine.config
|
2008-02-15 16:57:14 +01:00
|
|
|
CONF_FILES+= ${EGDIR}/mconfig/config.xml \
|
Update to 3.0.10:
New in Mono 3.0.10
A hot-fix release.
Reverted parallel mkbundle.
Fixed duplicated debug symbol problem in the compiler.
New in Mono 3.0.9
Fix gtk+ copy & paste.
Fix debugger support for custom attributes.
Proper stack bounds calculation on windows.
Add partial generic methods to our C# compiler.
NaCL support for ARM.
Fix LLVM loading on OSX.
New in Mono 3.0.8
Multiple improvements to the BCL to reduce usage of non generic
collections and use faster string comparisons.
Optimize large object cloning and boxing.
Multiple changes to bring mono closer to full PCL compatibility.
Add System.WeakReference<T>
Sgen can now return memory to the system for
Many compiler fixes for async.
Improved FullAOT support for async.
NaCl build fixes and improvements.
WCF now has cookie support in .net 4.0.
Optimize Marshal.Read/Write methods to avoid a trip to unmanaged
when needed.
Optimize LINQ with arrays.
Multiple fixes to the sgen's concurrent collector.
New in Mono 3.0.7
Multiple fixes to the sgen's concurrent collector.
Performance improvements in primitive types parsing.
Add a configuration time option to disable remoting.
Optimize tls lookups on full-aot + arm.
Add a configuration option to disable remoting.
Multiple improvements and bug fixes in culture related code.
Runtime assembly mapping for PCL.
Fix Binder primitive conversion to make .net.
Optimize Activator.CreateInstance ().
Optimize icalls in FullAOT code.
Implement Volatile.Read/Write<T> and Interlocked.MemoryBarrier ().
Optimized unmanaged to managed string conversion.
New in Mono 3.0.6
This is another hotfix release. It reverses the visibility change
made to Mono.Runtime.GetDisplayName.
New in Mono 3.0.5
This is a hot-fix release. It fixes a crash in the runtime support
for generics, which could be triggered by Xamarin Studio. New in
Mono 3.0.4 Garbage Collector
Many changes went into our GC implementation. We added long links
support to our traditional Boehm collector. As for SGen, it is
finally a true concurrent GC, with cementing support. We also fixed
several bugs, such as #9928 pointer free deadlock problem and bugs
in mono_gc_weak_link_get. Async
Rewrite of async StreamReader/StreamWritter operations to not fail
on subsequent async call. Fixes #9761 ASP.NET
Updated encoding support.
Some minor bug fixes. Other improvements
New MONO_DISABLE_SHARED_AREA environment variable lets you turn of
the use of shared memory in Mono (used by performance counters and
optionally by the io-layer).
Updated EntityFramework version that ships with Mono.
Support for ConnectionLifetime parameter in SqlClient (contributed
by 7digital).
Fixed C# Evaluator Terse reader with loops
Don't report user operator error during probing user conversions.
Fixes #10170.
Add explicit interface GetType implementation to avoid object::GetType
become proxy. (C# compiler fix)
Implement use of __refvalue as an lvalue. Fixes #10034. Packaging
We no longer install a /usr/bin/pkg-config on OSX, to stop clashing
with Homebrew.
New in Mono 3.0.3
Mono garbage collectors now feature multiple dtrace probes for
users on MacOS and Solaris.
Many stability improvements and performance work on Mono's Async
support. Garbage Collector
Sgen now has a concurrent GC that can significantly reduce max
pauses. This is an experimental feature that is been continuously
developed. Click here for more details. Bug Fixes
#8401, #9247, #8903, #9087, #9225, #9186, #9118, #9137, #9133,
#9116, #1446, #2246, #6918, #8904, #8927, #2907, #8829, #8786 New
in Mono 3.0.2
We are now on a cadence to deliver new Mono features and updates
on a regular basis. A month after our last release we are now
bringing some 363 commits, with 3055 files changed, 171240
insertions(+), 179104 deletions(-) Major Features
'Reactive Extensions': Mono now bundles the open sourced Microsoft's
Reactive Extensions
F# 3.0: We have updated the bundled F# compiler on OSX to version
3.0 (tag 3.0.22 from the open source fsharp repository).
SGen Garbage Collector: new lazy sweep strategy in Mono's new GC
that reduces the GC times for major collections significantly. We
have also tuned and improved the collector.
System.Json: We reverted System.Json to Mono's version, as it was
lighter and tolerates more input than Microsoft's one. We ship
System.Json.Microsoft as well for users that want to use the
Microsoft stack.
Runtime: Many improvements to Mono, better x86 and ARM support
across the board.
NTLM: Large upgrade to our NTLM stack.
clang: Mono now builds with Clang.
monodoc: vast improvements to our documentation infrastructure.
Bug fixes in 3.0.2
#8566, #8565, #8549, #8646, #8592, #8561, #8559, #8557, #8553,
#8533, #8502, #8468, #8449, #8448, #8414, #8399, #8385, #8384,
#8383, #8366, #8334, #8320, #8312, #8285, #8283, #8263, #8232,
#8156, #8037, #7965, #6650, #5760, #4587, #3582, #3275, #2471 and
#2190
New in Mono 3.0 Major Highlights C# Compiler
Mono now has a complete C# 5.0 compiler with asynchronous programming
support.
Our C# compiler has now completed its migration from using
System.Reflection.Emit as its code generation backend to use the
IKVM.Reflection API. This functionality was previewed in Mono 2.10
and is now the default. With this functionality, developers can
use any mscorlib that they want (for example the MicroFramework
one, or a custom one) without having to build a custom compiler.
We were able to eliminate the multiple executables for the compiler,
and unify all the compilers into one as well as reducing our build
times significantly.
gmcs, dmcs and smcs are now merely aliases to call the mcs compiler
with the proper -sdk flag. Tool/Library Purpose Profile
New Backend 2.10 Backend gmcs C# Compiler 2.0
IKVM.Reflection System.Reflection 2.0 dmcs C# compiler
4.0 IVKM.Reflection System.Reflection 4.0 smcs C#
Compiler 2.1 (Silverlight, MonoTouch, MonoDroid)
IKVM.Reflection System.Reflection 2.0 mcs C# Compiler
Any profile, any mscorlib IKVM.Reflection IKVM.Reflection
csharp Interactive C# Shell/REPL 4.5 System.Reflection
4.5 System.Reflection 4.0 Mono.CSharp C# Compiler as a Service
2.0, 2.1 and 4.0. System.Reflection 4.0 System.Reflection
System.Reflection is still used as a backend for the compiler as
a service and the C# interactive shell. Evaluation can now Compile
Types
The Evaluator.Eval () API is no longer limited to expressions and
statements, you can now pass entire namespace, class, interface,
struct definitions as a string and have the result get compiled.
This extends to the csharp command:
csharp> class X { public int a; } csharp> var t = new X () { a =
1 }; csharp> print (t.a); 1 csharp>
Instance API
The compiler as a service exposed by the Mono.CSharp library is no
longer limited to be a global compiler, now you can instantiate
multiple scopes for the compiler, each having its own set of
localized types and global variables.
For example, the following sample assigns a string in one context
and an int in another one:
using System; using Mono.CSharp;
class MyWorld {
public Evaluator Evaluator;
public MyWorld (string [] args) {
var r = new Report (new ConsoleReportPrinter ());
var cmd = new CommandLineParser (r);
var settings = cmd.ParseArguments (args); if (settings
== null || r.Errors > 0)
Environment.Exit (1);
Evaluator = new Evaluator (settings, r); } }
class X {
static int Main (string [] args) {
var first = new MyWorld (args); var second = new
MyWorld (args);
first.Evaluator.Run ("var Demo = \"hello, world\";");
second.Evaluator.Run ("var Demo = 1;"); first.Evaluator.Run
("print (Demo);"); second.Evaluator.Run ("print
(Demo);"); return 0; } }
C# Interactive Shell
New convenience function print, can be used instead of Console.WriteLine
Additionally, the C# interactive shell will by default use a terse
syntax that does not require a semicolon at the end of an expression,
for example:
csharp> 1 + 2 3 csharp>
4.5 Profile
The 4.5 Profile is a strict superset of the 4.0 API and is now the
default profile.
Because 4.5 API is a strict superset of 4.0 API they both share
the same assembly version number, so we actually install the 4.5
library into the GAC.
Some of the changes in the 4.5 API family include:
New Async methods WinRT compatibility API Newly introduced
assemblies (System.Net.Http, System.Threading.Tasks.Dataflow)
New Microsoft Open Source Stacks
We now include the following assemblies as part of Mono from
Microsoft's ASP.NET WebStack:
System.Net.Http.Formatting.dll System.Web.Http.dll System.Web.Razor.dll
System.Web.WebPages.Deployment.dll System.Web.WebPages.Razor.dll
System.Web.WebPages.dll System.Web.Mvc.dll System.Json.dll
(Previously available in Mono, but now replaced with Microsoft's
implementation)
We also bundle the recently open sourced Entity Framework and
EntityFramework.dll
Garbage Collector
SGen now has a new task management system that allows it to easily
scale new GC-related tasks across multiple CPUs if available:
SGen on SMP systems is able to distribute more work across the
worker threads. Previously only the mark phase was distributed.
SGen is now able to perform parallel collection in the nursery.
SGen has been ported to Win32 SGen has been ported to the MIPS
platform Precise stack scanning has been improved considerably,
and it is now supported on x86 and ARM. On OSX, SGen now uses
Mach APIs directly to speedup some tasks in the garbage collector.
Runtime Optimizations
Implemented fast version of ThreadLocal<T> (it is now a low-level
intrinstic operation)
List<T> optimizations
Support for new attributes to force inlining.
Major change in Mono to support the full table of Unicode surrogate
characters. This code was written by Damien Diederen and David
Mitchell from Logos software.
Runtime supports deferred attaching to the process (when using
suspend=n,server=y the runtime collects metadata until a debugger
is attached).
Implement tail call optimizations on PowerPC for F# (Bug #664631)
New profiler that can be used with Intel's VTune Amplifier Profiler.
Support for System.Net.NetworkInformation.NetworkChanged events on
Linux.
New tool: crlupdate this is the Mono Certficate Revocation List
Downloader and Updater and can be used to download of new, or update
of existing, Certficate Revocation List (CRL) associated with the
certificates present in the user (default) or machine stores. The
CRL present in the stores are used to determine the validity of
unexpired, trusted X.509 certificates. ASP.NET
Bring the error page to the new millenium. CodeContracts
Alexander Chebaturkin has implemented initial version of static
Code Contract analyser as part of SoC 2011. Smaller Updates
Partial support for Portable Class Libraries (details)
Updated Unicode tables, fixes long-standing 480178 MacOS X
We continue to expand significantly our support for MacOS X and
iOS.
Mono can now be compiled by users as a 64-bit binary. Mono still
ships as a 32-bit binary, as most libraries that exist today for
Mono run only in 32 bits.
DriveInfo now returns correct information on OSX. Mono.Data.Sqlite
It is now possible to configure the threading model for SQLite
using the SetConfig method in the SQLiteConnection class.
Supports iOS crypto APIs. C5 Library
We have updated the venerable C5 library to the latest version.
Breaking Changes Since Mono 2.10
In order to be compatible with Microsoft .NET's behavior, exceptions
thrown in object finalizers now cause a full runtime abort. This
behavior was already present for thread pool threads, but hadn't
been enabled for the finalizer thread yet.
Generally, one should avoid exceptions in finalizers entirely. If
you must use them, catch them so that they do not terminate the
application. GDB
GDB support has been extended with a new gdb hook that is aware
of the SGenGC internals. Added pretty printers for more runtime
data structures like MonoVTable to the mono gdb mode.
MIPS port
The MIPS port is now complete, it can do a full bootstrap, and run
the runtime/corlib test suites. Soft Debugger
Single stepping is now implemented using breakpoints in most
cases, speeding it up considerably. Calls to
System.Diagnostics.Debugger:Log()/Break () are now routed to
the debugger using new UserLog/UserBreak event types. S390x
is now supported (Neale Ferguson). MIPS is now supported.
Added new methods to Mono.Debugger.Soft and the runtime to
decrease the amount of packets transmitted between the debugger
and the debuggee. This significantly improves performance over
high latency connections like USB. Many bug fixes.
Static Compiler (AOT)
Made changes to some AOT data structures to reduce their size,
especially when using generics. This reduces the size of an mscorlib
AOT image by about 1-2%.
Many changes to the class libraries allow more core Generics code
to run on systems that do not support JIT compilation.
2013-05-29 13:11:12 +02:00
|
|
|
${PKG_SYSCONFDIR}/mono/mconfig/config.xml
|
2009-02-11 22:03:10 +01:00
|
|
|
CONF_FILES+= ${EGDIR}/2.0/settings.map \
|
Update to 3.0.10:
New in Mono 3.0.10
A hot-fix release.
Reverted parallel mkbundle.
Fixed duplicated debug symbol problem in the compiler.
New in Mono 3.0.9
Fix gtk+ copy & paste.
Fix debugger support for custom attributes.
Proper stack bounds calculation on windows.
Add partial generic methods to our C# compiler.
NaCL support for ARM.
Fix LLVM loading on OSX.
New in Mono 3.0.8
Multiple improvements to the BCL to reduce usage of non generic
collections and use faster string comparisons.
Optimize large object cloning and boxing.
Multiple changes to bring mono closer to full PCL compatibility.
Add System.WeakReference<T>
Sgen can now return memory to the system for
Many compiler fixes for async.
Improved FullAOT support for async.
NaCl build fixes and improvements.
WCF now has cookie support in .net 4.0.
Optimize Marshal.Read/Write methods to avoid a trip to unmanaged
when needed.
Optimize LINQ with arrays.
Multiple fixes to the sgen's concurrent collector.
New in Mono 3.0.7
Multiple fixes to the sgen's concurrent collector.
Performance improvements in primitive types parsing.
Add a configuration time option to disable remoting.
Optimize tls lookups on full-aot + arm.
Add a configuration option to disable remoting.
Multiple improvements and bug fixes in culture related code.
Runtime assembly mapping for PCL.
Fix Binder primitive conversion to make .net.
Optimize Activator.CreateInstance ().
Optimize icalls in FullAOT code.
Implement Volatile.Read/Write<T> and Interlocked.MemoryBarrier ().
Optimized unmanaged to managed string conversion.
New in Mono 3.0.6
This is another hotfix release. It reverses the visibility change
made to Mono.Runtime.GetDisplayName.
New in Mono 3.0.5
This is a hot-fix release. It fixes a crash in the runtime support
for generics, which could be triggered by Xamarin Studio. New in
Mono 3.0.4 Garbage Collector
Many changes went into our GC implementation. We added long links
support to our traditional Boehm collector. As for SGen, it is
finally a true concurrent GC, with cementing support. We also fixed
several bugs, such as #9928 pointer free deadlock problem and bugs
in mono_gc_weak_link_get. Async
Rewrite of async StreamReader/StreamWritter operations to not fail
on subsequent async call. Fixes #9761 ASP.NET
Updated encoding support.
Some minor bug fixes. Other improvements
New MONO_DISABLE_SHARED_AREA environment variable lets you turn of
the use of shared memory in Mono (used by performance counters and
optionally by the io-layer).
Updated EntityFramework version that ships with Mono.
Support for ConnectionLifetime parameter in SqlClient (contributed
by 7digital).
Fixed C# Evaluator Terse reader with loops
Don't report user operator error during probing user conversions.
Fixes #10170.
Add explicit interface GetType implementation to avoid object::GetType
become proxy. (C# compiler fix)
Implement use of __refvalue as an lvalue. Fixes #10034. Packaging
We no longer install a /usr/bin/pkg-config on OSX, to stop clashing
with Homebrew.
New in Mono 3.0.3
Mono garbage collectors now feature multiple dtrace probes for
users on MacOS and Solaris.
Many stability improvements and performance work on Mono's Async
support. Garbage Collector
Sgen now has a concurrent GC that can significantly reduce max
pauses. This is an experimental feature that is been continuously
developed. Click here for more details. Bug Fixes
#8401, #9247, #8903, #9087, #9225, #9186, #9118, #9137, #9133,
#9116, #1446, #2246, #6918, #8904, #8927, #2907, #8829, #8786 New
in Mono 3.0.2
We are now on a cadence to deliver new Mono features and updates
on a regular basis. A month after our last release we are now
bringing some 363 commits, with 3055 files changed, 171240
insertions(+), 179104 deletions(-) Major Features
'Reactive Extensions': Mono now bundles the open sourced Microsoft's
Reactive Extensions
F# 3.0: We have updated the bundled F# compiler on OSX to version
3.0 (tag 3.0.22 from the open source fsharp repository).
SGen Garbage Collector: new lazy sweep strategy in Mono's new GC
that reduces the GC times for major collections significantly. We
have also tuned and improved the collector.
System.Json: We reverted System.Json to Mono's version, as it was
lighter and tolerates more input than Microsoft's one. We ship
System.Json.Microsoft as well for users that want to use the
Microsoft stack.
Runtime: Many improvements to Mono, better x86 and ARM support
across the board.
NTLM: Large upgrade to our NTLM stack.
clang: Mono now builds with Clang.
monodoc: vast improvements to our documentation infrastructure.
Bug fixes in 3.0.2
#8566, #8565, #8549, #8646, #8592, #8561, #8559, #8557, #8553,
#8533, #8502, #8468, #8449, #8448, #8414, #8399, #8385, #8384,
#8383, #8366, #8334, #8320, #8312, #8285, #8283, #8263, #8232,
#8156, #8037, #7965, #6650, #5760, #4587, #3582, #3275, #2471 and
#2190
New in Mono 3.0 Major Highlights C# Compiler
Mono now has a complete C# 5.0 compiler with asynchronous programming
support.
Our C# compiler has now completed its migration from using
System.Reflection.Emit as its code generation backend to use the
IKVM.Reflection API. This functionality was previewed in Mono 2.10
and is now the default. With this functionality, developers can
use any mscorlib that they want (for example the MicroFramework
one, or a custom one) without having to build a custom compiler.
We were able to eliminate the multiple executables for the compiler,
and unify all the compilers into one as well as reducing our build
times significantly.
gmcs, dmcs and smcs are now merely aliases to call the mcs compiler
with the proper -sdk flag. Tool/Library Purpose Profile
New Backend 2.10 Backend gmcs C# Compiler 2.0
IKVM.Reflection System.Reflection 2.0 dmcs C# compiler
4.0 IVKM.Reflection System.Reflection 4.0 smcs C#
Compiler 2.1 (Silverlight, MonoTouch, MonoDroid)
IKVM.Reflection System.Reflection 2.0 mcs C# Compiler
Any profile, any mscorlib IKVM.Reflection IKVM.Reflection
csharp Interactive C# Shell/REPL 4.5 System.Reflection
4.5 System.Reflection 4.0 Mono.CSharp C# Compiler as a Service
2.0, 2.1 and 4.0. System.Reflection 4.0 System.Reflection
System.Reflection is still used as a backend for the compiler as
a service and the C# interactive shell. Evaluation can now Compile
Types
The Evaluator.Eval () API is no longer limited to expressions and
statements, you can now pass entire namespace, class, interface,
struct definitions as a string and have the result get compiled.
This extends to the csharp command:
csharp> class X { public int a; } csharp> var t = new X () { a =
1 }; csharp> print (t.a); 1 csharp>
Instance API
The compiler as a service exposed by the Mono.CSharp library is no
longer limited to be a global compiler, now you can instantiate
multiple scopes for the compiler, each having its own set of
localized types and global variables.
For example, the following sample assigns a string in one context
and an int in another one:
using System; using Mono.CSharp;
class MyWorld {
public Evaluator Evaluator;
public MyWorld (string [] args) {
var r = new Report (new ConsoleReportPrinter ());
var cmd = new CommandLineParser (r);
var settings = cmd.ParseArguments (args); if (settings
== null || r.Errors > 0)
Environment.Exit (1);
Evaluator = new Evaluator (settings, r); } }
class X {
static int Main (string [] args) {
var first = new MyWorld (args); var second = new
MyWorld (args);
first.Evaluator.Run ("var Demo = \"hello, world\";");
second.Evaluator.Run ("var Demo = 1;"); first.Evaluator.Run
("print (Demo);"); second.Evaluator.Run ("print
(Demo);"); return 0; } }
C# Interactive Shell
New convenience function print, can be used instead of Console.WriteLine
Additionally, the C# interactive shell will by default use a terse
syntax that does not require a semicolon at the end of an expression,
for example:
csharp> 1 + 2 3 csharp>
4.5 Profile
The 4.5 Profile is a strict superset of the 4.0 API and is now the
default profile.
Because 4.5 API is a strict superset of 4.0 API they both share
the same assembly version number, so we actually install the 4.5
library into the GAC.
Some of the changes in the 4.5 API family include:
New Async methods WinRT compatibility API Newly introduced
assemblies (System.Net.Http, System.Threading.Tasks.Dataflow)
New Microsoft Open Source Stacks
We now include the following assemblies as part of Mono from
Microsoft's ASP.NET WebStack:
System.Net.Http.Formatting.dll System.Web.Http.dll System.Web.Razor.dll
System.Web.WebPages.Deployment.dll System.Web.WebPages.Razor.dll
System.Web.WebPages.dll System.Web.Mvc.dll System.Json.dll
(Previously available in Mono, but now replaced with Microsoft's
implementation)
We also bundle the recently open sourced Entity Framework and
EntityFramework.dll
Garbage Collector
SGen now has a new task management system that allows it to easily
scale new GC-related tasks across multiple CPUs if available:
SGen on SMP systems is able to distribute more work across the
worker threads. Previously only the mark phase was distributed.
SGen is now able to perform parallel collection in the nursery.
SGen has been ported to Win32 SGen has been ported to the MIPS
platform Precise stack scanning has been improved considerably,
and it is now supported on x86 and ARM. On OSX, SGen now uses
Mach APIs directly to speedup some tasks in the garbage collector.
Runtime Optimizations
Implemented fast version of ThreadLocal<T> (it is now a low-level
intrinstic operation)
List<T> optimizations
Support for new attributes to force inlining.
Major change in Mono to support the full table of Unicode surrogate
characters. This code was written by Damien Diederen and David
Mitchell from Logos software.
Runtime supports deferred attaching to the process (when using
suspend=n,server=y the runtime collects metadata until a debugger
is attached).
Implement tail call optimizations on PowerPC for F# (Bug #664631)
New profiler that can be used with Intel's VTune Amplifier Profiler.
Support for System.Net.NetworkInformation.NetworkChanged events on
Linux.
New tool: crlupdate this is the Mono Certficate Revocation List
Downloader and Updater and can be used to download of new, or update
of existing, Certficate Revocation List (CRL) associated with the
certificates present in the user (default) or machine stores. The
CRL present in the stores are used to determine the validity of
unexpired, trusted X.509 certificates. ASP.NET
Bring the error page to the new millenium. CodeContracts
Alexander Chebaturkin has implemented initial version of static
Code Contract analyser as part of SoC 2011. Smaller Updates
Partial support for Portable Class Libraries (details)
Updated Unicode tables, fixes long-standing 480178 MacOS X
We continue to expand significantly our support for MacOS X and
iOS.
Mono can now be compiled by users as a 64-bit binary. Mono still
ships as a 32-bit binary, as most libraries that exist today for
Mono run only in 32 bits.
DriveInfo now returns correct information on OSX. Mono.Data.Sqlite
It is now possible to configure the threading model for SQLite
using the SetConfig method in the SQLiteConnection class.
Supports iOS crypto APIs. C5 Library
We have updated the venerable C5 library to the latest version.
Breaking Changes Since Mono 2.10
In order to be compatible with Microsoft .NET's behavior, exceptions
thrown in object finalizers now cause a full runtime abort. This
behavior was already present for thread pool threads, but hadn't
been enabled for the finalizer thread yet.
Generally, one should avoid exceptions in finalizers entirely. If
you must use them, catch them so that they do not terminate the
application. GDB
GDB support has been extended with a new gdb hook that is aware
of the SGenGC internals. Added pretty printers for more runtime
data structures like MonoVTable to the mono gdb mode.
MIPS port
The MIPS port is now complete, it can do a full bootstrap, and run
the runtime/corlib test suites. Soft Debugger
Single stepping is now implemented using breakpoints in most
cases, speeding it up considerably. Calls to
System.Diagnostics.Debugger:Log()/Break () are now routed to
the debugger using new UserLog/UserBreak event types. S390x
is now supported (Neale Ferguson). MIPS is now supported.
Added new methods to Mono.Debugger.Soft and the runtime to
decrease the amount of packets transmitted between the debugger
and the debuggee. This significantly improves performance over
high latency connections like USB. Many bug fixes.
Static Compiler (AOT)
Made changes to some AOT data structures to reduce their size,
especially when using generics. This reduces the size of an mscorlib
AOT image by about 1-2%.
Many changes to the class libraries allow more core Generics code
to run on systems that do not support JIT compilation.
2013-05-29 13:11:12 +02:00
|
|
|
${PKG_SYSCONFDIR}/mono/2.0/settings.map
|
2009-02-11 22:03:10 +01:00
|
|
|
CONF_FILES+= ${EGDIR}/2.0/web.config \
|
Update to 3.0.10:
New in Mono 3.0.10
A hot-fix release.
Reverted parallel mkbundle.
Fixed duplicated debug symbol problem in the compiler.
New in Mono 3.0.9
Fix gtk+ copy & paste.
Fix debugger support for custom attributes.
Proper stack bounds calculation on windows.
Add partial generic methods to our C# compiler.
NaCL support for ARM.
Fix LLVM loading on OSX.
New in Mono 3.0.8
Multiple improvements to the BCL to reduce usage of non generic
collections and use faster string comparisons.
Optimize large object cloning and boxing.
Multiple changes to bring mono closer to full PCL compatibility.
Add System.WeakReference<T>
Sgen can now return memory to the system for
Many compiler fixes for async.
Improved FullAOT support for async.
NaCl build fixes and improvements.
WCF now has cookie support in .net 4.0.
Optimize Marshal.Read/Write methods to avoid a trip to unmanaged
when needed.
Optimize LINQ with arrays.
Multiple fixes to the sgen's concurrent collector.
New in Mono 3.0.7
Multiple fixes to the sgen's concurrent collector.
Performance improvements in primitive types parsing.
Add a configuration time option to disable remoting.
Optimize tls lookups on full-aot + arm.
Add a configuration option to disable remoting.
Multiple improvements and bug fixes in culture related code.
Runtime assembly mapping for PCL.
Fix Binder primitive conversion to make .net.
Optimize Activator.CreateInstance ().
Optimize icalls in FullAOT code.
Implement Volatile.Read/Write<T> and Interlocked.MemoryBarrier ().
Optimized unmanaged to managed string conversion.
New in Mono 3.0.6
This is another hotfix release. It reverses the visibility change
made to Mono.Runtime.GetDisplayName.
New in Mono 3.0.5
This is a hot-fix release. It fixes a crash in the runtime support
for generics, which could be triggered by Xamarin Studio. New in
Mono 3.0.4 Garbage Collector
Many changes went into our GC implementation. We added long links
support to our traditional Boehm collector. As for SGen, it is
finally a true concurrent GC, with cementing support. We also fixed
several bugs, such as #9928 pointer free deadlock problem and bugs
in mono_gc_weak_link_get. Async
Rewrite of async StreamReader/StreamWritter operations to not fail
on subsequent async call. Fixes #9761 ASP.NET
Updated encoding support.
Some minor bug fixes. Other improvements
New MONO_DISABLE_SHARED_AREA environment variable lets you turn of
the use of shared memory in Mono (used by performance counters and
optionally by the io-layer).
Updated EntityFramework version that ships with Mono.
Support for ConnectionLifetime parameter in SqlClient (contributed
by 7digital).
Fixed C# Evaluator Terse reader with loops
Don't report user operator error during probing user conversions.
Fixes #10170.
Add explicit interface GetType implementation to avoid object::GetType
become proxy. (C# compiler fix)
Implement use of __refvalue as an lvalue. Fixes #10034. Packaging
We no longer install a /usr/bin/pkg-config on OSX, to stop clashing
with Homebrew.
New in Mono 3.0.3
Mono garbage collectors now feature multiple dtrace probes for
users on MacOS and Solaris.
Many stability improvements and performance work on Mono's Async
support. Garbage Collector
Sgen now has a concurrent GC that can significantly reduce max
pauses. This is an experimental feature that is been continuously
developed. Click here for more details. Bug Fixes
#8401, #9247, #8903, #9087, #9225, #9186, #9118, #9137, #9133,
#9116, #1446, #2246, #6918, #8904, #8927, #2907, #8829, #8786 New
in Mono 3.0.2
We are now on a cadence to deliver new Mono features and updates
on a regular basis. A month after our last release we are now
bringing some 363 commits, with 3055 files changed, 171240
insertions(+), 179104 deletions(-) Major Features
'Reactive Extensions': Mono now bundles the open sourced Microsoft's
Reactive Extensions
F# 3.0: We have updated the bundled F# compiler on OSX to version
3.0 (tag 3.0.22 from the open source fsharp repository).
SGen Garbage Collector: new lazy sweep strategy in Mono's new GC
that reduces the GC times for major collections significantly. We
have also tuned and improved the collector.
System.Json: We reverted System.Json to Mono's version, as it was
lighter and tolerates more input than Microsoft's one. We ship
System.Json.Microsoft as well for users that want to use the
Microsoft stack.
Runtime: Many improvements to Mono, better x86 and ARM support
across the board.
NTLM: Large upgrade to our NTLM stack.
clang: Mono now builds with Clang.
monodoc: vast improvements to our documentation infrastructure.
Bug fixes in 3.0.2
#8566, #8565, #8549, #8646, #8592, #8561, #8559, #8557, #8553,
#8533, #8502, #8468, #8449, #8448, #8414, #8399, #8385, #8384,
#8383, #8366, #8334, #8320, #8312, #8285, #8283, #8263, #8232,
#8156, #8037, #7965, #6650, #5760, #4587, #3582, #3275, #2471 and
#2190
New in Mono 3.0 Major Highlights C# Compiler
Mono now has a complete C# 5.0 compiler with asynchronous programming
support.
Our C# compiler has now completed its migration from using
System.Reflection.Emit as its code generation backend to use the
IKVM.Reflection API. This functionality was previewed in Mono 2.10
and is now the default. With this functionality, developers can
use any mscorlib that they want (for example the MicroFramework
one, or a custom one) without having to build a custom compiler.
We were able to eliminate the multiple executables for the compiler,
and unify all the compilers into one as well as reducing our build
times significantly.
gmcs, dmcs and smcs are now merely aliases to call the mcs compiler
with the proper -sdk flag. Tool/Library Purpose Profile
New Backend 2.10 Backend gmcs C# Compiler 2.0
IKVM.Reflection System.Reflection 2.0 dmcs C# compiler
4.0 IVKM.Reflection System.Reflection 4.0 smcs C#
Compiler 2.1 (Silverlight, MonoTouch, MonoDroid)
IKVM.Reflection System.Reflection 2.0 mcs C# Compiler
Any profile, any mscorlib IKVM.Reflection IKVM.Reflection
csharp Interactive C# Shell/REPL 4.5 System.Reflection
4.5 System.Reflection 4.0 Mono.CSharp C# Compiler as a Service
2.0, 2.1 and 4.0. System.Reflection 4.0 System.Reflection
System.Reflection is still used as a backend for the compiler as
a service and the C# interactive shell. Evaluation can now Compile
Types
The Evaluator.Eval () API is no longer limited to expressions and
statements, you can now pass entire namespace, class, interface,
struct definitions as a string and have the result get compiled.
This extends to the csharp command:
csharp> class X { public int a; } csharp> var t = new X () { a =
1 }; csharp> print (t.a); 1 csharp>
Instance API
The compiler as a service exposed by the Mono.CSharp library is no
longer limited to be a global compiler, now you can instantiate
multiple scopes for the compiler, each having its own set of
localized types and global variables.
For example, the following sample assigns a string in one context
and an int in another one:
using System; using Mono.CSharp;
class MyWorld {
public Evaluator Evaluator;
public MyWorld (string [] args) {
var r = new Report (new ConsoleReportPrinter ());
var cmd = new CommandLineParser (r);
var settings = cmd.ParseArguments (args); if (settings
== null || r.Errors > 0)
Environment.Exit (1);
Evaluator = new Evaluator (settings, r); } }
class X {
static int Main (string [] args) {
var first = new MyWorld (args); var second = new
MyWorld (args);
first.Evaluator.Run ("var Demo = \"hello, world\";");
second.Evaluator.Run ("var Demo = 1;"); first.Evaluator.Run
("print (Demo);"); second.Evaluator.Run ("print
(Demo);"); return 0; } }
C# Interactive Shell
New convenience function print, can be used instead of Console.WriteLine
Additionally, the C# interactive shell will by default use a terse
syntax that does not require a semicolon at the end of an expression,
for example:
csharp> 1 + 2 3 csharp>
4.5 Profile
The 4.5 Profile is a strict superset of the 4.0 API and is now the
default profile.
Because 4.5 API is a strict superset of 4.0 API they both share
the same assembly version number, so we actually install the 4.5
library into the GAC.
Some of the changes in the 4.5 API family include:
New Async methods WinRT compatibility API Newly introduced
assemblies (System.Net.Http, System.Threading.Tasks.Dataflow)
New Microsoft Open Source Stacks
We now include the following assemblies as part of Mono from
Microsoft's ASP.NET WebStack:
System.Net.Http.Formatting.dll System.Web.Http.dll System.Web.Razor.dll
System.Web.WebPages.Deployment.dll System.Web.WebPages.Razor.dll
System.Web.WebPages.dll System.Web.Mvc.dll System.Json.dll
(Previously available in Mono, but now replaced with Microsoft's
implementation)
We also bundle the recently open sourced Entity Framework and
EntityFramework.dll
Garbage Collector
SGen now has a new task management system that allows it to easily
scale new GC-related tasks across multiple CPUs if available:
SGen on SMP systems is able to distribute more work across the
worker threads. Previously only the mark phase was distributed.
SGen is now able to perform parallel collection in the nursery.
SGen has been ported to Win32 SGen has been ported to the MIPS
platform Precise stack scanning has been improved considerably,
and it is now supported on x86 and ARM. On OSX, SGen now uses
Mach APIs directly to speedup some tasks in the garbage collector.
Runtime Optimizations
Implemented fast version of ThreadLocal<T> (it is now a low-level
intrinstic operation)
List<T> optimizations
Support for new attributes to force inlining.
Major change in Mono to support the full table of Unicode surrogate
characters. This code was written by Damien Diederen and David
Mitchell from Logos software.
Runtime supports deferred attaching to the process (when using
suspend=n,server=y the runtime collects metadata until a debugger
is attached).
Implement tail call optimizations on PowerPC for F# (Bug #664631)
New profiler that can be used with Intel's VTune Amplifier Profiler.
Support for System.Net.NetworkInformation.NetworkChanged events on
Linux.
New tool: crlupdate this is the Mono Certficate Revocation List
Downloader and Updater and can be used to download of new, or update
of existing, Certficate Revocation List (CRL) associated with the
certificates present in the user (default) or machine stores. The
CRL present in the stores are used to determine the validity of
unexpired, trusted X.509 certificates. ASP.NET
Bring the error page to the new millenium. CodeContracts
Alexander Chebaturkin has implemented initial version of static
Code Contract analyser as part of SoC 2011. Smaller Updates
Partial support for Portable Class Libraries (details)
Updated Unicode tables, fixes long-standing 480178 MacOS X
We continue to expand significantly our support for MacOS X and
iOS.
Mono can now be compiled by users as a 64-bit binary. Mono still
ships as a 32-bit binary, as most libraries that exist today for
Mono run only in 32 bits.
DriveInfo now returns correct information on OSX. Mono.Data.Sqlite
It is now possible to configure the threading model for SQLite
using the SetConfig method in the SQLiteConnection class.
Supports iOS crypto APIs. C5 Library
We have updated the venerable C5 library to the latest version.
Breaking Changes Since Mono 2.10
In order to be compatible with Microsoft .NET's behavior, exceptions
thrown in object finalizers now cause a full runtime abort. This
behavior was already present for thread pool threads, but hadn't
been enabled for the finalizer thread yet.
Generally, one should avoid exceptions in finalizers entirely. If
you must use them, catch them so that they do not terminate the
application. GDB
GDB support has been extended with a new gdb hook that is aware
of the SGenGC internals. Added pretty printers for more runtime
data structures like MonoVTable to the mono gdb mode.
MIPS port
The MIPS port is now complete, it can do a full bootstrap, and run
the runtime/corlib test suites. Soft Debugger
Single stepping is now implemented using breakpoints in most
cases, speeding it up considerably. Calls to
System.Diagnostics.Debugger:Log()/Break () are now routed to
the debugger using new UserLog/UserBreak event types. S390x
is now supported (Neale Ferguson). MIPS is now supported.
Added new methods to Mono.Debugger.Soft and the runtime to
decrease the amount of packets transmitted between the debugger
and the debuggee. This significantly improves performance over
high latency connections like USB. Many bug fixes.
Static Compiler (AOT)
Made changes to some AOT data structures to reduce their size,
especially when using generics. This reduces the size of an mscorlib
AOT image by about 1-2%.
Many changes to the class libraries allow more core Generics code
to run on systems that do not support JIT compilation.
2013-05-29 13:11:12 +02:00
|
|
|
${PKG_SYSCONFDIR}/mono/2.0/web.config
|
2010-02-16 18:01:04 +01:00
|
|
|
CONF_FILES+= ${EGDIR}/2.0/Browsers/Compat.browser \
|
Update to 3.0.10:
New in Mono 3.0.10
A hot-fix release.
Reverted parallel mkbundle.
Fixed duplicated debug symbol problem in the compiler.
New in Mono 3.0.9
Fix gtk+ copy & paste.
Fix debugger support for custom attributes.
Proper stack bounds calculation on windows.
Add partial generic methods to our C# compiler.
NaCL support for ARM.
Fix LLVM loading on OSX.
New in Mono 3.0.8
Multiple improvements to the BCL to reduce usage of non generic
collections and use faster string comparisons.
Optimize large object cloning and boxing.
Multiple changes to bring mono closer to full PCL compatibility.
Add System.WeakReference<T>
Sgen can now return memory to the system for
Many compiler fixes for async.
Improved FullAOT support for async.
NaCl build fixes and improvements.
WCF now has cookie support in .net 4.0.
Optimize Marshal.Read/Write methods to avoid a trip to unmanaged
when needed.
Optimize LINQ with arrays.
Multiple fixes to the sgen's concurrent collector.
New in Mono 3.0.7
Multiple fixes to the sgen's concurrent collector.
Performance improvements in primitive types parsing.
Add a configuration time option to disable remoting.
Optimize tls lookups on full-aot + arm.
Add a configuration option to disable remoting.
Multiple improvements and bug fixes in culture related code.
Runtime assembly mapping for PCL.
Fix Binder primitive conversion to make .net.
Optimize Activator.CreateInstance ().
Optimize icalls in FullAOT code.
Implement Volatile.Read/Write<T> and Interlocked.MemoryBarrier ().
Optimized unmanaged to managed string conversion.
New in Mono 3.0.6
This is another hotfix release. It reverses the visibility change
made to Mono.Runtime.GetDisplayName.
New in Mono 3.0.5
This is a hot-fix release. It fixes a crash in the runtime support
for generics, which could be triggered by Xamarin Studio. New in
Mono 3.0.4 Garbage Collector
Many changes went into our GC implementation. We added long links
support to our traditional Boehm collector. As for SGen, it is
finally a true concurrent GC, with cementing support. We also fixed
several bugs, such as #9928 pointer free deadlock problem and bugs
in mono_gc_weak_link_get. Async
Rewrite of async StreamReader/StreamWritter operations to not fail
on subsequent async call. Fixes #9761 ASP.NET
Updated encoding support.
Some minor bug fixes. Other improvements
New MONO_DISABLE_SHARED_AREA environment variable lets you turn of
the use of shared memory in Mono (used by performance counters and
optionally by the io-layer).
Updated EntityFramework version that ships with Mono.
Support for ConnectionLifetime parameter in SqlClient (contributed
by 7digital).
Fixed C# Evaluator Terse reader with loops
Don't report user operator error during probing user conversions.
Fixes #10170.
Add explicit interface GetType implementation to avoid object::GetType
become proxy. (C# compiler fix)
Implement use of __refvalue as an lvalue. Fixes #10034. Packaging
We no longer install a /usr/bin/pkg-config on OSX, to stop clashing
with Homebrew.
New in Mono 3.0.3
Mono garbage collectors now feature multiple dtrace probes for
users on MacOS and Solaris.
Many stability improvements and performance work on Mono's Async
support. Garbage Collector
Sgen now has a concurrent GC that can significantly reduce max
pauses. This is an experimental feature that is been continuously
developed. Click here for more details. Bug Fixes
#8401, #9247, #8903, #9087, #9225, #9186, #9118, #9137, #9133,
#9116, #1446, #2246, #6918, #8904, #8927, #2907, #8829, #8786 New
in Mono 3.0.2
We are now on a cadence to deliver new Mono features and updates
on a regular basis. A month after our last release we are now
bringing some 363 commits, with 3055 files changed, 171240
insertions(+), 179104 deletions(-) Major Features
'Reactive Extensions': Mono now bundles the open sourced Microsoft's
Reactive Extensions
F# 3.0: We have updated the bundled F# compiler on OSX to version
3.0 (tag 3.0.22 from the open source fsharp repository).
SGen Garbage Collector: new lazy sweep strategy in Mono's new GC
that reduces the GC times for major collections significantly. We
have also tuned and improved the collector.
System.Json: We reverted System.Json to Mono's version, as it was
lighter and tolerates more input than Microsoft's one. We ship
System.Json.Microsoft as well for users that want to use the
Microsoft stack.
Runtime: Many improvements to Mono, better x86 and ARM support
across the board.
NTLM: Large upgrade to our NTLM stack.
clang: Mono now builds with Clang.
monodoc: vast improvements to our documentation infrastructure.
Bug fixes in 3.0.2
#8566, #8565, #8549, #8646, #8592, #8561, #8559, #8557, #8553,
#8533, #8502, #8468, #8449, #8448, #8414, #8399, #8385, #8384,
#8383, #8366, #8334, #8320, #8312, #8285, #8283, #8263, #8232,
#8156, #8037, #7965, #6650, #5760, #4587, #3582, #3275, #2471 and
#2190
New in Mono 3.0 Major Highlights C# Compiler
Mono now has a complete C# 5.0 compiler with asynchronous programming
support.
Our C# compiler has now completed its migration from using
System.Reflection.Emit as its code generation backend to use the
IKVM.Reflection API. This functionality was previewed in Mono 2.10
and is now the default. With this functionality, developers can
use any mscorlib that they want (for example the MicroFramework
one, or a custom one) without having to build a custom compiler.
We were able to eliminate the multiple executables for the compiler,
and unify all the compilers into one as well as reducing our build
times significantly.
gmcs, dmcs and smcs are now merely aliases to call the mcs compiler
with the proper -sdk flag. Tool/Library Purpose Profile
New Backend 2.10 Backend gmcs C# Compiler 2.0
IKVM.Reflection System.Reflection 2.0 dmcs C# compiler
4.0 IVKM.Reflection System.Reflection 4.0 smcs C#
Compiler 2.1 (Silverlight, MonoTouch, MonoDroid)
IKVM.Reflection System.Reflection 2.0 mcs C# Compiler
Any profile, any mscorlib IKVM.Reflection IKVM.Reflection
csharp Interactive C# Shell/REPL 4.5 System.Reflection
4.5 System.Reflection 4.0 Mono.CSharp C# Compiler as a Service
2.0, 2.1 and 4.0. System.Reflection 4.0 System.Reflection
System.Reflection is still used as a backend for the compiler as
a service and the C# interactive shell. Evaluation can now Compile
Types
The Evaluator.Eval () API is no longer limited to expressions and
statements, you can now pass entire namespace, class, interface,
struct definitions as a string and have the result get compiled.
This extends to the csharp command:
csharp> class X { public int a; } csharp> var t = new X () { a =
1 }; csharp> print (t.a); 1 csharp>
Instance API
The compiler as a service exposed by the Mono.CSharp library is no
longer limited to be a global compiler, now you can instantiate
multiple scopes for the compiler, each having its own set of
localized types and global variables.
For example, the following sample assigns a string in one context
and an int in another one:
using System; using Mono.CSharp;
class MyWorld {
public Evaluator Evaluator;
public MyWorld (string [] args) {
var r = new Report (new ConsoleReportPrinter ());
var cmd = new CommandLineParser (r);
var settings = cmd.ParseArguments (args); if (settings
== null || r.Errors > 0)
Environment.Exit (1);
Evaluator = new Evaluator (settings, r); } }
class X {
static int Main (string [] args) {
var first = new MyWorld (args); var second = new
MyWorld (args);
first.Evaluator.Run ("var Demo = \"hello, world\";");
second.Evaluator.Run ("var Demo = 1;"); first.Evaluator.Run
("print (Demo);"); second.Evaluator.Run ("print
(Demo);"); return 0; } }
C# Interactive Shell
New convenience function print, can be used instead of Console.WriteLine
Additionally, the C# interactive shell will by default use a terse
syntax that does not require a semicolon at the end of an expression,
for example:
csharp> 1 + 2 3 csharp>
4.5 Profile
The 4.5 Profile is a strict superset of the 4.0 API and is now the
default profile.
Because 4.5 API is a strict superset of 4.0 API they both share
the same assembly version number, so we actually install the 4.5
library into the GAC.
Some of the changes in the 4.5 API family include:
New Async methods WinRT compatibility API Newly introduced
assemblies (System.Net.Http, System.Threading.Tasks.Dataflow)
New Microsoft Open Source Stacks
We now include the following assemblies as part of Mono from
Microsoft's ASP.NET WebStack:
System.Net.Http.Formatting.dll System.Web.Http.dll System.Web.Razor.dll
System.Web.WebPages.Deployment.dll System.Web.WebPages.Razor.dll
System.Web.WebPages.dll System.Web.Mvc.dll System.Json.dll
(Previously available in Mono, but now replaced with Microsoft's
implementation)
We also bundle the recently open sourced Entity Framework and
EntityFramework.dll
Garbage Collector
SGen now has a new task management system that allows it to easily
scale new GC-related tasks across multiple CPUs if available:
SGen on SMP systems is able to distribute more work across the
worker threads. Previously only the mark phase was distributed.
SGen is now able to perform parallel collection in the nursery.
SGen has been ported to Win32 SGen has been ported to the MIPS
platform Precise stack scanning has been improved considerably,
and it is now supported on x86 and ARM. On OSX, SGen now uses
Mach APIs directly to speedup some tasks in the garbage collector.
Runtime Optimizations
Implemented fast version of ThreadLocal<T> (it is now a low-level
intrinstic operation)
List<T> optimizations
Support for new attributes to force inlining.
Major change in Mono to support the full table of Unicode surrogate
characters. This code was written by Damien Diederen and David
Mitchell from Logos software.
Runtime supports deferred attaching to the process (when using
suspend=n,server=y the runtime collects metadata until a debugger
is attached).
Implement tail call optimizations on PowerPC for F# (Bug #664631)
New profiler that can be used with Intel's VTune Amplifier Profiler.
Support for System.Net.NetworkInformation.NetworkChanged events on
Linux.
New tool: crlupdate this is the Mono Certficate Revocation List
Downloader and Updater and can be used to download of new, or update
of existing, Certficate Revocation List (CRL) associated with the
certificates present in the user (default) or machine stores. The
CRL present in the stores are used to determine the validity of
unexpired, trusted X.509 certificates. ASP.NET
Bring the error page to the new millenium. CodeContracts
Alexander Chebaturkin has implemented initial version of static
Code Contract analyser as part of SoC 2011. Smaller Updates
Partial support for Portable Class Libraries (details)
Updated Unicode tables, fixes long-standing 480178 MacOS X
We continue to expand significantly our support for MacOS X and
iOS.
Mono can now be compiled by users as a 64-bit binary. Mono still
ships as a 32-bit binary, as most libraries that exist today for
Mono run only in 32 bits.
DriveInfo now returns correct information on OSX. Mono.Data.Sqlite
It is now possible to configure the threading model for SQLite
using the SetConfig method in the SQLiteConnection class.
Supports iOS crypto APIs. C5 Library
We have updated the venerable C5 library to the latest version.
Breaking Changes Since Mono 2.10
In order to be compatible with Microsoft .NET's behavior, exceptions
thrown in object finalizers now cause a full runtime abort. This
behavior was already present for thread pool threads, but hadn't
been enabled for the finalizer thread yet.
Generally, one should avoid exceptions in finalizers entirely. If
you must use them, catch them so that they do not terminate the
application. GDB
GDB support has been extended with a new gdb hook that is aware
of the SGenGC internals. Added pretty printers for more runtime
data structures like MonoVTable to the mono gdb mode.
MIPS port
The MIPS port is now complete, it can do a full bootstrap, and run
the runtime/corlib test suites. Soft Debugger
Single stepping is now implemented using breakpoints in most
cases, speeding it up considerably. Calls to
System.Diagnostics.Debugger:Log()/Break () are now routed to
the debugger using new UserLog/UserBreak event types. S390x
is now supported (Neale Ferguson). MIPS is now supported.
Added new methods to Mono.Debugger.Soft and the runtime to
decrease the amount of packets transmitted between the debugger
and the debuggee. This significantly improves performance over
high latency connections like USB. Many bug fixes.
Static Compiler (AOT)
Made changes to some AOT data structures to reduce their size,
especially when using generics. This reduces the size of an mscorlib
AOT image by about 1-2%.
Many changes to the class libraries allow more core Generics code
to run on systems that do not support JIT compilation.
2013-05-29 13:11:12 +02:00
|
|
|
${PKG_SYSCONFDIR}/mono/2.0/Browsers/Compat.browser
|
|
|
|
CONF_FILES+= ${EGDIR}/4.0/DefaultWsdlHelpGenerator.aspx \
|
|
|
|
${PKG_SYSCONFDIR}/mono/4.0/DefaultWsdlHelpGenerator.aspx
|
|
|
|
CONF_FILES+= ${EGDIR}/4.0/machine.config \
|
|
|
|
${PKG_SYSCONFDIR}/mono/4.0/machine.config
|
|
|
|
CONF_FILES+= ${EGDIR}/4.0/settings.map \
|
|
|
|
${PKG_SYSCONFDIR}/mono/4.0/settings.map
|
|
|
|
CONF_FILES+= ${EGDIR}/4.0/web.config \
|
|
|
|
${PKG_SYSCONFDIR}/mono/4.0/web.config
|
|
|
|
CONF_FILES+= ${EGDIR}/4.5/DefaultWsdlHelpGenerator.aspx \
|
|
|
|
${PKG_SYSCONFDIR}/mono/4.5/DefaultWsdlHelpGenerator.aspx
|
|
|
|
CONF_FILES+= ${EGDIR}/4.5/machine.config \
|
|
|
|
${PKG_SYSCONFDIR}/mono/4.5/machine.config
|
|
|
|
CONF_FILES+= ${EGDIR}/4.5/settings.map \
|
|
|
|
${PKG_SYSCONFDIR}/mono/4.5/settings.map
|
|
|
|
CONF_FILES+= ${EGDIR}/4.5/web.config ${PKG_SYSCONFDIR}/mono/4.5/web.config
|
2003-03-01 14:11:44 +01:00
|
|
|
|
2008-02-18 12:58:56 +01:00
|
|
|
MAKE_DIRS+= ${PKG_SYSCONFDIR}/mono/2.0
|
2010-10-15 06:52:05 +02:00
|
|
|
MAKE_DIRS+= ${PKG_SYSCONFDIR}/mono/2.0/Browsers
|
2010-10-16 06:32:18 +02:00
|
|
|
MAKE_DIRS+= ${PKG_SYSCONFDIR}/mono/4.0
|
Update to 3.0.10:
New in Mono 3.0.10
A hot-fix release.
Reverted parallel mkbundle.
Fixed duplicated debug symbol problem in the compiler.
New in Mono 3.0.9
Fix gtk+ copy & paste.
Fix debugger support for custom attributes.
Proper stack bounds calculation on windows.
Add partial generic methods to our C# compiler.
NaCL support for ARM.
Fix LLVM loading on OSX.
New in Mono 3.0.8
Multiple improvements to the BCL to reduce usage of non generic
collections and use faster string comparisons.
Optimize large object cloning and boxing.
Multiple changes to bring mono closer to full PCL compatibility.
Add System.WeakReference<T>
Sgen can now return memory to the system for
Many compiler fixes for async.
Improved FullAOT support for async.
NaCl build fixes and improvements.
WCF now has cookie support in .net 4.0.
Optimize Marshal.Read/Write methods to avoid a trip to unmanaged
when needed.
Optimize LINQ with arrays.
Multiple fixes to the sgen's concurrent collector.
New in Mono 3.0.7
Multiple fixes to the sgen's concurrent collector.
Performance improvements in primitive types parsing.
Add a configuration time option to disable remoting.
Optimize tls lookups on full-aot + arm.
Add a configuration option to disable remoting.
Multiple improvements and bug fixes in culture related code.
Runtime assembly mapping for PCL.
Fix Binder primitive conversion to make .net.
Optimize Activator.CreateInstance ().
Optimize icalls in FullAOT code.
Implement Volatile.Read/Write<T> and Interlocked.MemoryBarrier ().
Optimized unmanaged to managed string conversion.
New in Mono 3.0.6
This is another hotfix release. It reverses the visibility change
made to Mono.Runtime.GetDisplayName.
New in Mono 3.0.5
This is a hot-fix release. It fixes a crash in the runtime support
for generics, which could be triggered by Xamarin Studio. New in
Mono 3.0.4 Garbage Collector
Many changes went into our GC implementation. We added long links
support to our traditional Boehm collector. As for SGen, it is
finally a true concurrent GC, with cementing support. We also fixed
several bugs, such as #9928 pointer free deadlock problem and bugs
in mono_gc_weak_link_get. Async
Rewrite of async StreamReader/StreamWritter operations to not fail
on subsequent async call. Fixes #9761 ASP.NET
Updated encoding support.
Some minor bug fixes. Other improvements
New MONO_DISABLE_SHARED_AREA environment variable lets you turn of
the use of shared memory in Mono (used by performance counters and
optionally by the io-layer).
Updated EntityFramework version that ships with Mono.
Support for ConnectionLifetime parameter in SqlClient (contributed
by 7digital).
Fixed C# Evaluator Terse reader with loops
Don't report user operator error during probing user conversions.
Fixes #10170.
Add explicit interface GetType implementation to avoid object::GetType
become proxy. (C# compiler fix)
Implement use of __refvalue as an lvalue. Fixes #10034. Packaging
We no longer install a /usr/bin/pkg-config on OSX, to stop clashing
with Homebrew.
New in Mono 3.0.3
Mono garbage collectors now feature multiple dtrace probes for
users on MacOS and Solaris.
Many stability improvements and performance work on Mono's Async
support. Garbage Collector
Sgen now has a concurrent GC that can significantly reduce max
pauses. This is an experimental feature that is been continuously
developed. Click here for more details. Bug Fixes
#8401, #9247, #8903, #9087, #9225, #9186, #9118, #9137, #9133,
#9116, #1446, #2246, #6918, #8904, #8927, #2907, #8829, #8786 New
in Mono 3.0.2
We are now on a cadence to deliver new Mono features and updates
on a regular basis. A month after our last release we are now
bringing some 363 commits, with 3055 files changed, 171240
insertions(+), 179104 deletions(-) Major Features
'Reactive Extensions': Mono now bundles the open sourced Microsoft's
Reactive Extensions
F# 3.0: We have updated the bundled F# compiler on OSX to version
3.0 (tag 3.0.22 from the open source fsharp repository).
SGen Garbage Collector: new lazy sweep strategy in Mono's new GC
that reduces the GC times for major collections significantly. We
have also tuned and improved the collector.
System.Json: We reverted System.Json to Mono's version, as it was
lighter and tolerates more input than Microsoft's one. We ship
System.Json.Microsoft as well for users that want to use the
Microsoft stack.
Runtime: Many improvements to Mono, better x86 and ARM support
across the board.
NTLM: Large upgrade to our NTLM stack.
clang: Mono now builds with Clang.
monodoc: vast improvements to our documentation infrastructure.
Bug fixes in 3.0.2
#8566, #8565, #8549, #8646, #8592, #8561, #8559, #8557, #8553,
#8533, #8502, #8468, #8449, #8448, #8414, #8399, #8385, #8384,
#8383, #8366, #8334, #8320, #8312, #8285, #8283, #8263, #8232,
#8156, #8037, #7965, #6650, #5760, #4587, #3582, #3275, #2471 and
#2190
New in Mono 3.0 Major Highlights C# Compiler
Mono now has a complete C# 5.0 compiler with asynchronous programming
support.
Our C# compiler has now completed its migration from using
System.Reflection.Emit as its code generation backend to use the
IKVM.Reflection API. This functionality was previewed in Mono 2.10
and is now the default. With this functionality, developers can
use any mscorlib that they want (for example the MicroFramework
one, or a custom one) without having to build a custom compiler.
We were able to eliminate the multiple executables for the compiler,
and unify all the compilers into one as well as reducing our build
times significantly.
gmcs, dmcs and smcs are now merely aliases to call the mcs compiler
with the proper -sdk flag. Tool/Library Purpose Profile
New Backend 2.10 Backend gmcs C# Compiler 2.0
IKVM.Reflection System.Reflection 2.0 dmcs C# compiler
4.0 IVKM.Reflection System.Reflection 4.0 smcs C#
Compiler 2.1 (Silverlight, MonoTouch, MonoDroid)
IKVM.Reflection System.Reflection 2.0 mcs C# Compiler
Any profile, any mscorlib IKVM.Reflection IKVM.Reflection
csharp Interactive C# Shell/REPL 4.5 System.Reflection
4.5 System.Reflection 4.0 Mono.CSharp C# Compiler as a Service
2.0, 2.1 and 4.0. System.Reflection 4.0 System.Reflection
System.Reflection is still used as a backend for the compiler as
a service and the C# interactive shell. Evaluation can now Compile
Types
The Evaluator.Eval () API is no longer limited to expressions and
statements, you can now pass entire namespace, class, interface,
struct definitions as a string and have the result get compiled.
This extends to the csharp command:
csharp> class X { public int a; } csharp> var t = new X () { a =
1 }; csharp> print (t.a); 1 csharp>
Instance API
The compiler as a service exposed by the Mono.CSharp library is no
longer limited to be a global compiler, now you can instantiate
multiple scopes for the compiler, each having its own set of
localized types and global variables.
For example, the following sample assigns a string in one context
and an int in another one:
using System; using Mono.CSharp;
class MyWorld {
public Evaluator Evaluator;
public MyWorld (string [] args) {
var r = new Report (new ConsoleReportPrinter ());
var cmd = new CommandLineParser (r);
var settings = cmd.ParseArguments (args); if (settings
== null || r.Errors > 0)
Environment.Exit (1);
Evaluator = new Evaluator (settings, r); } }
class X {
static int Main (string [] args) {
var first = new MyWorld (args); var second = new
MyWorld (args);
first.Evaluator.Run ("var Demo = \"hello, world\";");
second.Evaluator.Run ("var Demo = 1;"); first.Evaluator.Run
("print (Demo);"); second.Evaluator.Run ("print
(Demo);"); return 0; } }
C# Interactive Shell
New convenience function print, can be used instead of Console.WriteLine
Additionally, the C# interactive shell will by default use a terse
syntax that does not require a semicolon at the end of an expression,
for example:
csharp> 1 + 2 3 csharp>
4.5 Profile
The 4.5 Profile is a strict superset of the 4.0 API and is now the
default profile.
Because 4.5 API is a strict superset of 4.0 API they both share
the same assembly version number, so we actually install the 4.5
library into the GAC.
Some of the changes in the 4.5 API family include:
New Async methods WinRT compatibility API Newly introduced
assemblies (System.Net.Http, System.Threading.Tasks.Dataflow)
New Microsoft Open Source Stacks
We now include the following assemblies as part of Mono from
Microsoft's ASP.NET WebStack:
System.Net.Http.Formatting.dll System.Web.Http.dll System.Web.Razor.dll
System.Web.WebPages.Deployment.dll System.Web.WebPages.Razor.dll
System.Web.WebPages.dll System.Web.Mvc.dll System.Json.dll
(Previously available in Mono, but now replaced with Microsoft's
implementation)
We also bundle the recently open sourced Entity Framework and
EntityFramework.dll
Garbage Collector
SGen now has a new task management system that allows it to easily
scale new GC-related tasks across multiple CPUs if available:
SGen on SMP systems is able to distribute more work across the
worker threads. Previously only the mark phase was distributed.
SGen is now able to perform parallel collection in the nursery.
SGen has been ported to Win32 SGen has been ported to the MIPS
platform Precise stack scanning has been improved considerably,
and it is now supported on x86 and ARM. On OSX, SGen now uses
Mach APIs directly to speedup some tasks in the garbage collector.
Runtime Optimizations
Implemented fast version of ThreadLocal<T> (it is now a low-level
intrinstic operation)
List<T> optimizations
Support for new attributes to force inlining.
Major change in Mono to support the full table of Unicode surrogate
characters. This code was written by Damien Diederen and David
Mitchell from Logos software.
Runtime supports deferred attaching to the process (when using
suspend=n,server=y the runtime collects metadata until a debugger
is attached).
Implement tail call optimizations on PowerPC for F# (Bug #664631)
New profiler that can be used with Intel's VTune Amplifier Profiler.
Support for System.Net.NetworkInformation.NetworkChanged events on
Linux.
New tool: crlupdate this is the Mono Certficate Revocation List
Downloader and Updater and can be used to download of new, or update
of existing, Certficate Revocation List (CRL) associated with the
certificates present in the user (default) or machine stores. The
CRL present in the stores are used to determine the validity of
unexpired, trusted X.509 certificates. ASP.NET
Bring the error page to the new millenium. CodeContracts
Alexander Chebaturkin has implemented initial version of static
Code Contract analyser as part of SoC 2011. Smaller Updates
Partial support for Portable Class Libraries (details)
Updated Unicode tables, fixes long-standing 480178 MacOS X
We continue to expand significantly our support for MacOS X and
iOS.
Mono can now be compiled by users as a 64-bit binary. Mono still
ships as a 32-bit binary, as most libraries that exist today for
Mono run only in 32 bits.
DriveInfo now returns correct information on OSX. Mono.Data.Sqlite
It is now possible to configure the threading model for SQLite
using the SetConfig method in the SQLiteConnection class.
Supports iOS crypto APIs. C5 Library
We have updated the venerable C5 library to the latest version.
Breaking Changes Since Mono 2.10
In order to be compatible with Microsoft .NET's behavior, exceptions
thrown in object finalizers now cause a full runtime abort. This
behavior was already present for thread pool threads, but hadn't
been enabled for the finalizer thread yet.
Generally, one should avoid exceptions in finalizers entirely. If
you must use them, catch them so that they do not terminate the
application. GDB
GDB support has been extended with a new gdb hook that is aware
of the SGenGC internals. Added pretty printers for more runtime
data structures like MonoVTable to the mono gdb mode.
MIPS port
The MIPS port is now complete, it can do a full bootstrap, and run
the runtime/corlib test suites. Soft Debugger
Single stepping is now implemented using breakpoints in most
cases, speeding it up considerably. Calls to
System.Diagnostics.Debugger:Log()/Break () are now routed to
the debugger using new UserLog/UserBreak event types. S390x
is now supported (Neale Ferguson). MIPS is now supported.
Added new methods to Mono.Debugger.Soft and the runtime to
decrease the amount of packets transmitted between the debugger
and the debuggee. This significantly improves performance over
high latency connections like USB. Many bug fixes.
Static Compiler (AOT)
Made changes to some AOT data structures to reduce their size,
especially when using generics. This reduces the size of an mscorlib
AOT image by about 1-2%.
Many changes to the class libraries allow more core Generics code
to run on systems that do not support JIT compilation.
2013-05-29 13:11:12 +02:00
|
|
|
MAKE_DIRS+= ${PKG_SYSCONFDIR}/mono/4.5
|
2008-02-18 12:58:56 +01:00
|
|
|
MAKE_DIRS+= ${PKG_SYSCONFDIR}/mono/mconfig
|
|
|
|
|
Update to 3.0.10:
New in Mono 3.0.10
A hot-fix release.
Reverted parallel mkbundle.
Fixed duplicated debug symbol problem in the compiler.
New in Mono 3.0.9
Fix gtk+ copy & paste.
Fix debugger support for custom attributes.
Proper stack bounds calculation on windows.
Add partial generic methods to our C# compiler.
NaCL support for ARM.
Fix LLVM loading on OSX.
New in Mono 3.0.8
Multiple improvements to the BCL to reduce usage of non generic
collections and use faster string comparisons.
Optimize large object cloning and boxing.
Multiple changes to bring mono closer to full PCL compatibility.
Add System.WeakReference<T>
Sgen can now return memory to the system for
Many compiler fixes for async.
Improved FullAOT support for async.
NaCl build fixes and improvements.
WCF now has cookie support in .net 4.0.
Optimize Marshal.Read/Write methods to avoid a trip to unmanaged
when needed.
Optimize LINQ with arrays.
Multiple fixes to the sgen's concurrent collector.
New in Mono 3.0.7
Multiple fixes to the sgen's concurrent collector.
Performance improvements in primitive types parsing.
Add a configuration time option to disable remoting.
Optimize tls lookups on full-aot + arm.
Add a configuration option to disable remoting.
Multiple improvements and bug fixes in culture related code.
Runtime assembly mapping for PCL.
Fix Binder primitive conversion to make .net.
Optimize Activator.CreateInstance ().
Optimize icalls in FullAOT code.
Implement Volatile.Read/Write<T> and Interlocked.MemoryBarrier ().
Optimized unmanaged to managed string conversion.
New in Mono 3.0.6
This is another hotfix release. It reverses the visibility change
made to Mono.Runtime.GetDisplayName.
New in Mono 3.0.5
This is a hot-fix release. It fixes a crash in the runtime support
for generics, which could be triggered by Xamarin Studio. New in
Mono 3.0.4 Garbage Collector
Many changes went into our GC implementation. We added long links
support to our traditional Boehm collector. As for SGen, it is
finally a true concurrent GC, with cementing support. We also fixed
several bugs, such as #9928 pointer free deadlock problem and bugs
in mono_gc_weak_link_get. Async
Rewrite of async StreamReader/StreamWritter operations to not fail
on subsequent async call. Fixes #9761 ASP.NET
Updated encoding support.
Some minor bug fixes. Other improvements
New MONO_DISABLE_SHARED_AREA environment variable lets you turn of
the use of shared memory in Mono (used by performance counters and
optionally by the io-layer).
Updated EntityFramework version that ships with Mono.
Support for ConnectionLifetime parameter in SqlClient (contributed
by 7digital).
Fixed C# Evaluator Terse reader with loops
Don't report user operator error during probing user conversions.
Fixes #10170.
Add explicit interface GetType implementation to avoid object::GetType
become proxy. (C# compiler fix)
Implement use of __refvalue as an lvalue. Fixes #10034. Packaging
We no longer install a /usr/bin/pkg-config on OSX, to stop clashing
with Homebrew.
New in Mono 3.0.3
Mono garbage collectors now feature multiple dtrace probes for
users on MacOS and Solaris.
Many stability improvements and performance work on Mono's Async
support. Garbage Collector
Sgen now has a concurrent GC that can significantly reduce max
pauses. This is an experimental feature that is been continuously
developed. Click here for more details. Bug Fixes
#8401, #9247, #8903, #9087, #9225, #9186, #9118, #9137, #9133,
#9116, #1446, #2246, #6918, #8904, #8927, #2907, #8829, #8786 New
in Mono 3.0.2
We are now on a cadence to deliver new Mono features and updates
on a regular basis. A month after our last release we are now
bringing some 363 commits, with 3055 files changed, 171240
insertions(+), 179104 deletions(-) Major Features
'Reactive Extensions': Mono now bundles the open sourced Microsoft's
Reactive Extensions
F# 3.0: We have updated the bundled F# compiler on OSX to version
3.0 (tag 3.0.22 from the open source fsharp repository).
SGen Garbage Collector: new lazy sweep strategy in Mono's new GC
that reduces the GC times for major collections significantly. We
have also tuned and improved the collector.
System.Json: We reverted System.Json to Mono's version, as it was
lighter and tolerates more input than Microsoft's one. We ship
System.Json.Microsoft as well for users that want to use the
Microsoft stack.
Runtime: Many improvements to Mono, better x86 and ARM support
across the board.
NTLM: Large upgrade to our NTLM stack.
clang: Mono now builds with Clang.
monodoc: vast improvements to our documentation infrastructure.
Bug fixes in 3.0.2
#8566, #8565, #8549, #8646, #8592, #8561, #8559, #8557, #8553,
#8533, #8502, #8468, #8449, #8448, #8414, #8399, #8385, #8384,
#8383, #8366, #8334, #8320, #8312, #8285, #8283, #8263, #8232,
#8156, #8037, #7965, #6650, #5760, #4587, #3582, #3275, #2471 and
#2190
New in Mono 3.0 Major Highlights C# Compiler
Mono now has a complete C# 5.0 compiler with asynchronous programming
support.
Our C# compiler has now completed its migration from using
System.Reflection.Emit as its code generation backend to use the
IKVM.Reflection API. This functionality was previewed in Mono 2.10
and is now the default. With this functionality, developers can
use any mscorlib that they want (for example the MicroFramework
one, or a custom one) without having to build a custom compiler.
We were able to eliminate the multiple executables for the compiler,
and unify all the compilers into one as well as reducing our build
times significantly.
gmcs, dmcs and smcs are now merely aliases to call the mcs compiler
with the proper -sdk flag. Tool/Library Purpose Profile
New Backend 2.10 Backend gmcs C# Compiler 2.0
IKVM.Reflection System.Reflection 2.0 dmcs C# compiler
4.0 IVKM.Reflection System.Reflection 4.0 smcs C#
Compiler 2.1 (Silverlight, MonoTouch, MonoDroid)
IKVM.Reflection System.Reflection 2.0 mcs C# Compiler
Any profile, any mscorlib IKVM.Reflection IKVM.Reflection
csharp Interactive C# Shell/REPL 4.5 System.Reflection
4.5 System.Reflection 4.0 Mono.CSharp C# Compiler as a Service
2.0, 2.1 and 4.0. System.Reflection 4.0 System.Reflection
System.Reflection is still used as a backend for the compiler as
a service and the C# interactive shell. Evaluation can now Compile
Types
The Evaluator.Eval () API is no longer limited to expressions and
statements, you can now pass entire namespace, class, interface,
struct definitions as a string and have the result get compiled.
This extends to the csharp command:
csharp> class X { public int a; } csharp> var t = new X () { a =
1 }; csharp> print (t.a); 1 csharp>
Instance API
The compiler as a service exposed by the Mono.CSharp library is no
longer limited to be a global compiler, now you can instantiate
multiple scopes for the compiler, each having its own set of
localized types and global variables.
For example, the following sample assigns a string in one context
and an int in another one:
using System; using Mono.CSharp;
class MyWorld {
public Evaluator Evaluator;
public MyWorld (string [] args) {
var r = new Report (new ConsoleReportPrinter ());
var cmd = new CommandLineParser (r);
var settings = cmd.ParseArguments (args); if (settings
== null || r.Errors > 0)
Environment.Exit (1);
Evaluator = new Evaluator (settings, r); } }
class X {
static int Main (string [] args) {
var first = new MyWorld (args); var second = new
MyWorld (args);
first.Evaluator.Run ("var Demo = \"hello, world\";");
second.Evaluator.Run ("var Demo = 1;"); first.Evaluator.Run
("print (Demo);"); second.Evaluator.Run ("print
(Demo);"); return 0; } }
C# Interactive Shell
New convenience function print, can be used instead of Console.WriteLine
Additionally, the C# interactive shell will by default use a terse
syntax that does not require a semicolon at the end of an expression,
for example:
csharp> 1 + 2 3 csharp>
4.5 Profile
The 4.5 Profile is a strict superset of the 4.0 API and is now the
default profile.
Because 4.5 API is a strict superset of 4.0 API they both share
the same assembly version number, so we actually install the 4.5
library into the GAC.
Some of the changes in the 4.5 API family include:
New Async methods WinRT compatibility API Newly introduced
assemblies (System.Net.Http, System.Threading.Tasks.Dataflow)
New Microsoft Open Source Stacks
We now include the following assemblies as part of Mono from
Microsoft's ASP.NET WebStack:
System.Net.Http.Formatting.dll System.Web.Http.dll System.Web.Razor.dll
System.Web.WebPages.Deployment.dll System.Web.WebPages.Razor.dll
System.Web.WebPages.dll System.Web.Mvc.dll System.Json.dll
(Previously available in Mono, but now replaced with Microsoft's
implementation)
We also bundle the recently open sourced Entity Framework and
EntityFramework.dll
Garbage Collector
SGen now has a new task management system that allows it to easily
scale new GC-related tasks across multiple CPUs if available:
SGen on SMP systems is able to distribute more work across the
worker threads. Previously only the mark phase was distributed.
SGen is now able to perform parallel collection in the nursery.
SGen has been ported to Win32 SGen has been ported to the MIPS
platform Precise stack scanning has been improved considerably,
and it is now supported on x86 and ARM. On OSX, SGen now uses
Mach APIs directly to speedup some tasks in the garbage collector.
Runtime Optimizations
Implemented fast version of ThreadLocal<T> (it is now a low-level
intrinstic operation)
List<T> optimizations
Support for new attributes to force inlining.
Major change in Mono to support the full table of Unicode surrogate
characters. This code was written by Damien Diederen and David
Mitchell from Logos software.
Runtime supports deferred attaching to the process (when using
suspend=n,server=y the runtime collects metadata until a debugger
is attached).
Implement tail call optimizations on PowerPC for F# (Bug #664631)
New profiler that can be used with Intel's VTune Amplifier Profiler.
Support for System.Net.NetworkInformation.NetworkChanged events on
Linux.
New tool: crlupdate this is the Mono Certficate Revocation List
Downloader and Updater and can be used to download of new, or update
of existing, Certficate Revocation List (CRL) associated with the
certificates present in the user (default) or machine stores. The
CRL present in the stores are used to determine the validity of
unexpired, trusted X.509 certificates. ASP.NET
Bring the error page to the new millenium. CodeContracts
Alexander Chebaturkin has implemented initial version of static
Code Contract analyser as part of SoC 2011. Smaller Updates
Partial support for Portable Class Libraries (details)
Updated Unicode tables, fixes long-standing 480178 MacOS X
We continue to expand significantly our support for MacOS X and
iOS.
Mono can now be compiled by users as a 64-bit binary. Mono still
ships as a 32-bit binary, as most libraries that exist today for
Mono run only in 32 bits.
DriveInfo now returns correct information on OSX. Mono.Data.Sqlite
It is now possible to configure the threading model for SQLite
using the SetConfig method in the SQLiteConnection class.
Supports iOS crypto APIs. C5 Library
We have updated the venerable C5 library to the latest version.
Breaking Changes Since Mono 2.10
In order to be compatible with Microsoft .NET's behavior, exceptions
thrown in object finalizers now cause a full runtime abort. This
behavior was already present for thread pool threads, but hadn't
been enabled for the finalizer thread yet.
Generally, one should avoid exceptions in finalizers entirely. If
you must use them, catch them so that they do not terminate the
application. GDB
GDB support has been extended with a new gdb hook that is aware
of the SGenGC internals. Added pretty printers for more runtime
data structures like MonoVTable to the mono gdb mode.
MIPS port
The MIPS port is now complete, it can do a full bootstrap, and run
the runtime/corlib test suites. Soft Debugger
Single stepping is now implemented using breakpoints in most
cases, speeding it up considerably. Calls to
System.Diagnostics.Debugger:Log()/Break () are now routed to
the debugger using new UserLog/UserBreak event types. S390x
is now supported (Neale Ferguson). MIPS is now supported.
Added new methods to Mono.Debugger.Soft and the runtime to
decrease the amount of packets transmitted between the debugger
and the debuggee. This significantly improves performance over
high latency connections like USB. Many bug fixes.
Static Compiler (AOT)
Made changes to some AOT data structures to reduce their size,
especially when using generics. This reduces the size of an mscorlib
AOT image by about 1-2%.
Many changes to the class libraries allow more core Generics code
to run on systems that do not support JIT compilation.
2013-05-29 13:11:12 +02:00
|
|
|
INSTALLATION_DIRS+= share/examples/mono/4.5
|
|
|
|
|
2005-04-04 09:22:34 +02:00
|
|
|
TEST_TARGET= check
|
|
|
|
|
2008-02-13 15:16:43 +01:00
|
|
|
SUBST_CLASSES+= fix-prefix
|
|
|
|
SUBST_STAGE.fix-prefix= post-patch
|
|
|
|
SUBST_MESSAGE.fix-prefix= Fixing relative prefix
|
|
|
|
SUBST_FILES.fix-prefix= ${PKGCONFIG_OVERRIDE}
|
|
|
|
SUBST_SED.fix-prefix= -e 's,$${pcfiledir}/../..,\@prefix\@,g'
|
|
|
|
|
|
|
|
SUBST_CLASSES+= fix-mcs
|
|
|
|
SUBST_STAGE.fix-mcs= post-patch
|
|
|
|
SUBST_MESSAGE.fix-mcs= Fixing mcs default prefix
|
|
|
|
SUBST_FILES.fix-mcs= mcs/build/config-default.make
|
Update to 3.0.10:
New in Mono 3.0.10
A hot-fix release.
Reverted parallel mkbundle.
Fixed duplicated debug symbol problem in the compiler.
New in Mono 3.0.9
Fix gtk+ copy & paste.
Fix debugger support for custom attributes.
Proper stack bounds calculation on windows.
Add partial generic methods to our C# compiler.
NaCL support for ARM.
Fix LLVM loading on OSX.
New in Mono 3.0.8
Multiple improvements to the BCL to reduce usage of non generic
collections and use faster string comparisons.
Optimize large object cloning and boxing.
Multiple changes to bring mono closer to full PCL compatibility.
Add System.WeakReference<T>
Sgen can now return memory to the system for
Many compiler fixes for async.
Improved FullAOT support for async.
NaCl build fixes and improvements.
WCF now has cookie support in .net 4.0.
Optimize Marshal.Read/Write methods to avoid a trip to unmanaged
when needed.
Optimize LINQ with arrays.
Multiple fixes to the sgen's concurrent collector.
New in Mono 3.0.7
Multiple fixes to the sgen's concurrent collector.
Performance improvements in primitive types parsing.
Add a configuration time option to disable remoting.
Optimize tls lookups on full-aot + arm.
Add a configuration option to disable remoting.
Multiple improvements and bug fixes in culture related code.
Runtime assembly mapping for PCL.
Fix Binder primitive conversion to make .net.
Optimize Activator.CreateInstance ().
Optimize icalls in FullAOT code.
Implement Volatile.Read/Write<T> and Interlocked.MemoryBarrier ().
Optimized unmanaged to managed string conversion.
New in Mono 3.0.6
This is another hotfix release. It reverses the visibility change
made to Mono.Runtime.GetDisplayName.
New in Mono 3.0.5
This is a hot-fix release. It fixes a crash in the runtime support
for generics, which could be triggered by Xamarin Studio. New in
Mono 3.0.4 Garbage Collector
Many changes went into our GC implementation. We added long links
support to our traditional Boehm collector. As for SGen, it is
finally a true concurrent GC, with cementing support. We also fixed
several bugs, such as #9928 pointer free deadlock problem and bugs
in mono_gc_weak_link_get. Async
Rewrite of async StreamReader/StreamWritter operations to not fail
on subsequent async call. Fixes #9761 ASP.NET
Updated encoding support.
Some minor bug fixes. Other improvements
New MONO_DISABLE_SHARED_AREA environment variable lets you turn of
the use of shared memory in Mono (used by performance counters and
optionally by the io-layer).
Updated EntityFramework version that ships with Mono.
Support for ConnectionLifetime parameter in SqlClient (contributed
by 7digital).
Fixed C# Evaluator Terse reader with loops
Don't report user operator error during probing user conversions.
Fixes #10170.
Add explicit interface GetType implementation to avoid object::GetType
become proxy. (C# compiler fix)
Implement use of __refvalue as an lvalue. Fixes #10034. Packaging
We no longer install a /usr/bin/pkg-config on OSX, to stop clashing
with Homebrew.
New in Mono 3.0.3
Mono garbage collectors now feature multiple dtrace probes for
users on MacOS and Solaris.
Many stability improvements and performance work on Mono's Async
support. Garbage Collector
Sgen now has a concurrent GC that can significantly reduce max
pauses. This is an experimental feature that is been continuously
developed. Click here for more details. Bug Fixes
#8401, #9247, #8903, #9087, #9225, #9186, #9118, #9137, #9133,
#9116, #1446, #2246, #6918, #8904, #8927, #2907, #8829, #8786 New
in Mono 3.0.2
We are now on a cadence to deliver new Mono features and updates
on a regular basis. A month after our last release we are now
bringing some 363 commits, with 3055 files changed, 171240
insertions(+), 179104 deletions(-) Major Features
'Reactive Extensions': Mono now bundles the open sourced Microsoft's
Reactive Extensions
F# 3.0: We have updated the bundled F# compiler on OSX to version
3.0 (tag 3.0.22 from the open source fsharp repository).
SGen Garbage Collector: new lazy sweep strategy in Mono's new GC
that reduces the GC times for major collections significantly. We
have also tuned and improved the collector.
System.Json: We reverted System.Json to Mono's version, as it was
lighter and tolerates more input than Microsoft's one. We ship
System.Json.Microsoft as well for users that want to use the
Microsoft stack.
Runtime: Many improvements to Mono, better x86 and ARM support
across the board.
NTLM: Large upgrade to our NTLM stack.
clang: Mono now builds with Clang.
monodoc: vast improvements to our documentation infrastructure.
Bug fixes in 3.0.2
#8566, #8565, #8549, #8646, #8592, #8561, #8559, #8557, #8553,
#8533, #8502, #8468, #8449, #8448, #8414, #8399, #8385, #8384,
#8383, #8366, #8334, #8320, #8312, #8285, #8283, #8263, #8232,
#8156, #8037, #7965, #6650, #5760, #4587, #3582, #3275, #2471 and
#2190
New in Mono 3.0 Major Highlights C# Compiler
Mono now has a complete C# 5.0 compiler with asynchronous programming
support.
Our C# compiler has now completed its migration from using
System.Reflection.Emit as its code generation backend to use the
IKVM.Reflection API. This functionality was previewed in Mono 2.10
and is now the default. With this functionality, developers can
use any mscorlib that they want (for example the MicroFramework
one, or a custom one) without having to build a custom compiler.
We were able to eliminate the multiple executables for the compiler,
and unify all the compilers into one as well as reducing our build
times significantly.
gmcs, dmcs and smcs are now merely aliases to call the mcs compiler
with the proper -sdk flag. Tool/Library Purpose Profile
New Backend 2.10 Backend gmcs C# Compiler 2.0
IKVM.Reflection System.Reflection 2.0 dmcs C# compiler
4.0 IVKM.Reflection System.Reflection 4.0 smcs C#
Compiler 2.1 (Silverlight, MonoTouch, MonoDroid)
IKVM.Reflection System.Reflection 2.0 mcs C# Compiler
Any profile, any mscorlib IKVM.Reflection IKVM.Reflection
csharp Interactive C# Shell/REPL 4.5 System.Reflection
4.5 System.Reflection 4.0 Mono.CSharp C# Compiler as a Service
2.0, 2.1 and 4.0. System.Reflection 4.0 System.Reflection
System.Reflection is still used as a backend for the compiler as
a service and the C# interactive shell. Evaluation can now Compile
Types
The Evaluator.Eval () API is no longer limited to expressions and
statements, you can now pass entire namespace, class, interface,
struct definitions as a string and have the result get compiled.
This extends to the csharp command:
csharp> class X { public int a; } csharp> var t = new X () { a =
1 }; csharp> print (t.a); 1 csharp>
Instance API
The compiler as a service exposed by the Mono.CSharp library is no
longer limited to be a global compiler, now you can instantiate
multiple scopes for the compiler, each having its own set of
localized types and global variables.
For example, the following sample assigns a string in one context
and an int in another one:
using System; using Mono.CSharp;
class MyWorld {
public Evaluator Evaluator;
public MyWorld (string [] args) {
var r = new Report (new ConsoleReportPrinter ());
var cmd = new CommandLineParser (r);
var settings = cmd.ParseArguments (args); if (settings
== null || r.Errors > 0)
Environment.Exit (1);
Evaluator = new Evaluator (settings, r); } }
class X {
static int Main (string [] args) {
var first = new MyWorld (args); var second = new
MyWorld (args);
first.Evaluator.Run ("var Demo = \"hello, world\";");
second.Evaluator.Run ("var Demo = 1;"); first.Evaluator.Run
("print (Demo);"); second.Evaluator.Run ("print
(Demo);"); return 0; } }
C# Interactive Shell
New convenience function print, can be used instead of Console.WriteLine
Additionally, the C# interactive shell will by default use a terse
syntax that does not require a semicolon at the end of an expression,
for example:
csharp> 1 + 2 3 csharp>
4.5 Profile
The 4.5 Profile is a strict superset of the 4.0 API and is now the
default profile.
Because 4.5 API is a strict superset of 4.0 API they both share
the same assembly version number, so we actually install the 4.5
library into the GAC.
Some of the changes in the 4.5 API family include:
New Async methods WinRT compatibility API Newly introduced
assemblies (System.Net.Http, System.Threading.Tasks.Dataflow)
New Microsoft Open Source Stacks
We now include the following assemblies as part of Mono from
Microsoft's ASP.NET WebStack:
System.Net.Http.Formatting.dll System.Web.Http.dll System.Web.Razor.dll
System.Web.WebPages.Deployment.dll System.Web.WebPages.Razor.dll
System.Web.WebPages.dll System.Web.Mvc.dll System.Json.dll
(Previously available in Mono, but now replaced with Microsoft's
implementation)
We also bundle the recently open sourced Entity Framework and
EntityFramework.dll
Garbage Collector
SGen now has a new task management system that allows it to easily
scale new GC-related tasks across multiple CPUs if available:
SGen on SMP systems is able to distribute more work across the
worker threads. Previously only the mark phase was distributed.
SGen is now able to perform parallel collection in the nursery.
SGen has been ported to Win32 SGen has been ported to the MIPS
platform Precise stack scanning has been improved considerably,
and it is now supported on x86 and ARM. On OSX, SGen now uses
Mach APIs directly to speedup some tasks in the garbage collector.
Runtime Optimizations
Implemented fast version of ThreadLocal<T> (it is now a low-level
intrinstic operation)
List<T> optimizations
Support for new attributes to force inlining.
Major change in Mono to support the full table of Unicode surrogate
characters. This code was written by Damien Diederen and David
Mitchell from Logos software.
Runtime supports deferred attaching to the process (when using
suspend=n,server=y the runtime collects metadata until a debugger
is attached).
Implement tail call optimizations on PowerPC for F# (Bug #664631)
New profiler that can be used with Intel's VTune Amplifier Profiler.
Support for System.Net.NetworkInformation.NetworkChanged events on
Linux.
New tool: crlupdate this is the Mono Certficate Revocation List
Downloader and Updater and can be used to download of new, or update
of existing, Certficate Revocation List (CRL) associated with the
certificates present in the user (default) or machine stores. The
CRL present in the stores are used to determine the validity of
unexpired, trusted X.509 certificates. ASP.NET
Bring the error page to the new millenium. CodeContracts
Alexander Chebaturkin has implemented initial version of static
Code Contract analyser as part of SoC 2011. Smaller Updates
Partial support for Portable Class Libraries (details)
Updated Unicode tables, fixes long-standing 480178 MacOS X
We continue to expand significantly our support for MacOS X and
iOS.
Mono can now be compiled by users as a 64-bit binary. Mono still
ships as a 32-bit binary, as most libraries that exist today for
Mono run only in 32 bits.
DriveInfo now returns correct information on OSX. Mono.Data.Sqlite
It is now possible to configure the threading model for SQLite
using the SetConfig method in the SQLiteConnection class.
Supports iOS crypto APIs. C5 Library
We have updated the venerable C5 library to the latest version.
Breaking Changes Since Mono 2.10
In order to be compatible with Microsoft .NET's behavior, exceptions
thrown in object finalizers now cause a full runtime abort. This
behavior was already present for thread pool threads, but hadn't
been enabled for the finalizer thread yet.
Generally, one should avoid exceptions in finalizers entirely. If
you must use them, catch them so that they do not terminate the
application. GDB
GDB support has been extended with a new gdb hook that is aware
of the SGenGC internals. Added pretty printers for more runtime
data structures like MonoVTable to the mono gdb mode.
MIPS port
The MIPS port is now complete, it can do a full bootstrap, and run
the runtime/corlib test suites. Soft Debugger
Single stepping is now implemented using breakpoints in most
cases, speeding it up considerably. Calls to
System.Diagnostics.Debugger:Log()/Break () are now routed to
the debugger using new UserLog/UserBreak event types. S390x
is now supported (Neale Ferguson). MIPS is now supported.
Added new methods to Mono.Debugger.Soft and the runtime to
decrease the amount of packets transmitted between the debugger
and the debuggee. This significantly improves performance over
high latency connections like USB. Many bug fixes.
Static Compiler (AOT)
Made changes to some AOT data structures to reduce their size,
especially when using generics. This reduces the size of an mscorlib
AOT image by about 1-2%.
Many changes to the class libraries allow more core Generics code
to run on systems that do not support JIT compilation.
2013-05-29 13:11:12 +02:00
|
|
|
SUBST_SED.fix-mcs= -e 's,/usr/local,${PREFIX},1'
|
|
|
|
SUBST_SED.fix-mcs+= -e "s|MANDIR|${PKGMANDIR}|1"
|
2006-08-03 20:15:07 +02:00
|
|
|
|
2008-02-15 16:57:14 +01:00
|
|
|
SUBST_CLASSES+= fix-cfgdir
|
|
|
|
SUBST_STAGE.fix-cfgdir= post-patch
|
|
|
|
SUBST_MESSAGE.fix-cfgdir= Fixing configuration files install dir
|
|
|
|
SUBST_FILES.fix-cfgdir= mcs/tools/mconfig/Makefile
|
|
|
|
SUBST_SED.fix-cfgdir= -e 's,$$(sysconfdir)/mono,${EGDIR},g'
|
|
|
|
|
2009-06-21 23:37:47 +02:00
|
|
|
SUBST_CLASSES+= fix-libx11
|
2009-07-02 19:00:48 +02:00
|
|
|
SUBST_STAGE.fix-libx11= pre-configure
|
|
|
|
SUBST_MESSAGE.fix-libx11= Fixing libX11 search path configuration
|
|
|
|
SUBST_FILES.fix-libx11= configure
|
|
|
|
SUBST_SED.fix-libx11= -e 's,@X11BASE@,${X11BASE},g'
|
2009-06-21 23:37:47 +02:00
|
|
|
|
2013-06-06 21:05:45 +02:00
|
|
|
PLIST_VARS= monodoc
|
|
|
|
|
2013-06-05 19:03:55 +02:00
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
|
|
|
|
.if ${OPSYS} == "SunOS"
|
2013-06-06 21:05:45 +02:00
|
|
|
CONFIGURE_ARGS+= --with-mcs-docs=no
|
2013-06-06 18:49:23 +02:00
|
|
|
CONFIGURE_ENV+= ac_cv_func_getdomainname=no
|
|
|
|
CONFIGURE_ENV+= ac_cv_func_setdomainname=no
|
2013-09-13 22:47:55 +02:00
|
|
|
. if ${ABI} == "32"
|
2013-06-06 21:05:45 +02:00
|
|
|
ULIMIT_CMD_datasize= ulimit -d 262144
|
|
|
|
ULIMIT_CMD_stacksize= ulimit -s 10240
|
2013-09-13 22:47:55 +02:00
|
|
|
. else
|
|
|
|
CONFIGURE_ARGS+= --with-sigaltstack=no
|
|
|
|
ULIMIT_CMD_datasize= ulimit -d 524288
|
|
|
|
ULIMIT_CMD_stacksize= ulimit -s 10240
|
|
|
|
. endif
|
2013-08-18 11:42:31 +02:00
|
|
|
.elif ${OPSYS} == "NetBSD" && ${MACHINE_ARCH:M*arm*}
|
|
|
|
CONFIGURE_ARGS+= --with-mcs-docs=no
|
|
|
|
CONFIGURE_ARGS+= --disable-parallel-mark
|
2013-06-06 21:05:45 +02:00
|
|
|
.else
|
|
|
|
PLIST.monodoc= yes
|
2013-06-05 19:03:55 +02:00
|
|
|
.endif
|
|
|
|
|
Update to 3.0.10:
New in Mono 3.0.10
A hot-fix release.
Reverted parallel mkbundle.
Fixed duplicated debug symbol problem in the compiler.
New in Mono 3.0.9
Fix gtk+ copy & paste.
Fix debugger support for custom attributes.
Proper stack bounds calculation on windows.
Add partial generic methods to our C# compiler.
NaCL support for ARM.
Fix LLVM loading on OSX.
New in Mono 3.0.8
Multiple improvements to the BCL to reduce usage of non generic
collections and use faster string comparisons.
Optimize large object cloning and boxing.
Multiple changes to bring mono closer to full PCL compatibility.
Add System.WeakReference<T>
Sgen can now return memory to the system for
Many compiler fixes for async.
Improved FullAOT support for async.
NaCl build fixes and improvements.
WCF now has cookie support in .net 4.0.
Optimize Marshal.Read/Write methods to avoid a trip to unmanaged
when needed.
Optimize LINQ with arrays.
Multiple fixes to the sgen's concurrent collector.
New in Mono 3.0.7
Multiple fixes to the sgen's concurrent collector.
Performance improvements in primitive types parsing.
Add a configuration time option to disable remoting.
Optimize tls lookups on full-aot + arm.
Add a configuration option to disable remoting.
Multiple improvements and bug fixes in culture related code.
Runtime assembly mapping for PCL.
Fix Binder primitive conversion to make .net.
Optimize Activator.CreateInstance ().
Optimize icalls in FullAOT code.
Implement Volatile.Read/Write<T> and Interlocked.MemoryBarrier ().
Optimized unmanaged to managed string conversion.
New in Mono 3.0.6
This is another hotfix release. It reverses the visibility change
made to Mono.Runtime.GetDisplayName.
New in Mono 3.0.5
This is a hot-fix release. It fixes a crash in the runtime support
for generics, which could be triggered by Xamarin Studio. New in
Mono 3.0.4 Garbage Collector
Many changes went into our GC implementation. We added long links
support to our traditional Boehm collector. As for SGen, it is
finally a true concurrent GC, with cementing support. We also fixed
several bugs, such as #9928 pointer free deadlock problem and bugs
in mono_gc_weak_link_get. Async
Rewrite of async StreamReader/StreamWritter operations to not fail
on subsequent async call. Fixes #9761 ASP.NET
Updated encoding support.
Some minor bug fixes. Other improvements
New MONO_DISABLE_SHARED_AREA environment variable lets you turn of
the use of shared memory in Mono (used by performance counters and
optionally by the io-layer).
Updated EntityFramework version that ships with Mono.
Support for ConnectionLifetime parameter in SqlClient (contributed
by 7digital).
Fixed C# Evaluator Terse reader with loops
Don't report user operator error during probing user conversions.
Fixes #10170.
Add explicit interface GetType implementation to avoid object::GetType
become proxy. (C# compiler fix)
Implement use of __refvalue as an lvalue. Fixes #10034. Packaging
We no longer install a /usr/bin/pkg-config on OSX, to stop clashing
with Homebrew.
New in Mono 3.0.3
Mono garbage collectors now feature multiple dtrace probes for
users on MacOS and Solaris.
Many stability improvements and performance work on Mono's Async
support. Garbage Collector
Sgen now has a concurrent GC that can significantly reduce max
pauses. This is an experimental feature that is been continuously
developed. Click here for more details. Bug Fixes
#8401, #9247, #8903, #9087, #9225, #9186, #9118, #9137, #9133,
#9116, #1446, #2246, #6918, #8904, #8927, #2907, #8829, #8786 New
in Mono 3.0.2
We are now on a cadence to deliver new Mono features and updates
on a regular basis. A month after our last release we are now
bringing some 363 commits, with 3055 files changed, 171240
insertions(+), 179104 deletions(-) Major Features
'Reactive Extensions': Mono now bundles the open sourced Microsoft's
Reactive Extensions
F# 3.0: We have updated the bundled F# compiler on OSX to version
3.0 (tag 3.0.22 from the open source fsharp repository).
SGen Garbage Collector: new lazy sweep strategy in Mono's new GC
that reduces the GC times for major collections significantly. We
have also tuned and improved the collector.
System.Json: We reverted System.Json to Mono's version, as it was
lighter and tolerates more input than Microsoft's one. We ship
System.Json.Microsoft as well for users that want to use the
Microsoft stack.
Runtime: Many improvements to Mono, better x86 and ARM support
across the board.
NTLM: Large upgrade to our NTLM stack.
clang: Mono now builds with Clang.
monodoc: vast improvements to our documentation infrastructure.
Bug fixes in 3.0.2
#8566, #8565, #8549, #8646, #8592, #8561, #8559, #8557, #8553,
#8533, #8502, #8468, #8449, #8448, #8414, #8399, #8385, #8384,
#8383, #8366, #8334, #8320, #8312, #8285, #8283, #8263, #8232,
#8156, #8037, #7965, #6650, #5760, #4587, #3582, #3275, #2471 and
#2190
New in Mono 3.0 Major Highlights C# Compiler
Mono now has a complete C# 5.0 compiler with asynchronous programming
support.
Our C# compiler has now completed its migration from using
System.Reflection.Emit as its code generation backend to use the
IKVM.Reflection API. This functionality was previewed in Mono 2.10
and is now the default. With this functionality, developers can
use any mscorlib that they want (for example the MicroFramework
one, or a custom one) without having to build a custom compiler.
We were able to eliminate the multiple executables for the compiler,
and unify all the compilers into one as well as reducing our build
times significantly.
gmcs, dmcs and smcs are now merely aliases to call the mcs compiler
with the proper -sdk flag. Tool/Library Purpose Profile
New Backend 2.10 Backend gmcs C# Compiler 2.0
IKVM.Reflection System.Reflection 2.0 dmcs C# compiler
4.0 IVKM.Reflection System.Reflection 4.0 smcs C#
Compiler 2.1 (Silverlight, MonoTouch, MonoDroid)
IKVM.Reflection System.Reflection 2.0 mcs C# Compiler
Any profile, any mscorlib IKVM.Reflection IKVM.Reflection
csharp Interactive C# Shell/REPL 4.5 System.Reflection
4.5 System.Reflection 4.0 Mono.CSharp C# Compiler as a Service
2.0, 2.1 and 4.0. System.Reflection 4.0 System.Reflection
System.Reflection is still used as a backend for the compiler as
a service and the C# interactive shell. Evaluation can now Compile
Types
The Evaluator.Eval () API is no longer limited to expressions and
statements, you can now pass entire namespace, class, interface,
struct definitions as a string and have the result get compiled.
This extends to the csharp command:
csharp> class X { public int a; } csharp> var t = new X () { a =
1 }; csharp> print (t.a); 1 csharp>
Instance API
The compiler as a service exposed by the Mono.CSharp library is no
longer limited to be a global compiler, now you can instantiate
multiple scopes for the compiler, each having its own set of
localized types and global variables.
For example, the following sample assigns a string in one context
and an int in another one:
using System; using Mono.CSharp;
class MyWorld {
public Evaluator Evaluator;
public MyWorld (string [] args) {
var r = new Report (new ConsoleReportPrinter ());
var cmd = new CommandLineParser (r);
var settings = cmd.ParseArguments (args); if (settings
== null || r.Errors > 0)
Environment.Exit (1);
Evaluator = new Evaluator (settings, r); } }
class X {
static int Main (string [] args) {
var first = new MyWorld (args); var second = new
MyWorld (args);
first.Evaluator.Run ("var Demo = \"hello, world\";");
second.Evaluator.Run ("var Demo = 1;"); first.Evaluator.Run
("print (Demo);"); second.Evaluator.Run ("print
(Demo);"); return 0; } }
C# Interactive Shell
New convenience function print, can be used instead of Console.WriteLine
Additionally, the C# interactive shell will by default use a terse
syntax that does not require a semicolon at the end of an expression,
for example:
csharp> 1 + 2 3 csharp>
4.5 Profile
The 4.5 Profile is a strict superset of the 4.0 API and is now the
default profile.
Because 4.5 API is a strict superset of 4.0 API they both share
the same assembly version number, so we actually install the 4.5
library into the GAC.
Some of the changes in the 4.5 API family include:
New Async methods WinRT compatibility API Newly introduced
assemblies (System.Net.Http, System.Threading.Tasks.Dataflow)
New Microsoft Open Source Stacks
We now include the following assemblies as part of Mono from
Microsoft's ASP.NET WebStack:
System.Net.Http.Formatting.dll System.Web.Http.dll System.Web.Razor.dll
System.Web.WebPages.Deployment.dll System.Web.WebPages.Razor.dll
System.Web.WebPages.dll System.Web.Mvc.dll System.Json.dll
(Previously available in Mono, but now replaced with Microsoft's
implementation)
We also bundle the recently open sourced Entity Framework and
EntityFramework.dll
Garbage Collector
SGen now has a new task management system that allows it to easily
scale new GC-related tasks across multiple CPUs if available:
SGen on SMP systems is able to distribute more work across the
worker threads. Previously only the mark phase was distributed.
SGen is now able to perform parallel collection in the nursery.
SGen has been ported to Win32 SGen has been ported to the MIPS
platform Precise stack scanning has been improved considerably,
and it is now supported on x86 and ARM. On OSX, SGen now uses
Mach APIs directly to speedup some tasks in the garbage collector.
Runtime Optimizations
Implemented fast version of ThreadLocal<T> (it is now a low-level
intrinstic operation)
List<T> optimizations
Support for new attributes to force inlining.
Major change in Mono to support the full table of Unicode surrogate
characters. This code was written by Damien Diederen and David
Mitchell from Logos software.
Runtime supports deferred attaching to the process (when using
suspend=n,server=y the runtime collects metadata until a debugger
is attached).
Implement tail call optimizations on PowerPC for F# (Bug #664631)
New profiler that can be used with Intel's VTune Amplifier Profiler.
Support for System.Net.NetworkInformation.NetworkChanged events on
Linux.
New tool: crlupdate this is the Mono Certficate Revocation List
Downloader and Updater and can be used to download of new, or update
of existing, Certficate Revocation List (CRL) associated with the
certificates present in the user (default) or machine stores. The
CRL present in the stores are used to determine the validity of
unexpired, trusted X.509 certificates. ASP.NET
Bring the error page to the new millenium. CodeContracts
Alexander Chebaturkin has implemented initial version of static
Code Contract analyser as part of SoC 2011. Smaller Updates
Partial support for Portable Class Libraries (details)
Updated Unicode tables, fixes long-standing 480178 MacOS X
We continue to expand significantly our support for MacOS X and
iOS.
Mono can now be compiled by users as a 64-bit binary. Mono still
ships as a 32-bit binary, as most libraries that exist today for
Mono run only in 32 bits.
DriveInfo now returns correct information on OSX. Mono.Data.Sqlite
It is now possible to configure the threading model for SQLite
using the SetConfig method in the SQLiteConnection class.
Supports iOS crypto APIs. C5 Library
We have updated the venerable C5 library to the latest version.
Breaking Changes Since Mono 2.10
In order to be compatible with Microsoft .NET's behavior, exceptions
thrown in object finalizers now cause a full runtime abort. This
behavior was already present for thread pool threads, but hadn't
been enabled for the finalizer thread yet.
Generally, one should avoid exceptions in finalizers entirely. If
you must use them, catch them so that they do not terminate the
application. GDB
GDB support has been extended with a new gdb hook that is aware
of the SGenGC internals. Added pretty printers for more runtime
data structures like MonoVTable to the mono gdb mode.
MIPS port
The MIPS port is now complete, it can do a full bootstrap, and run
the runtime/corlib test suites. Soft Debugger
Single stepping is now implemented using breakpoints in most
cases, speeding it up considerably. Calls to
System.Diagnostics.Debugger:Log()/Break () are now routed to
the debugger using new UserLog/UserBreak event types. S390x
is now supported (Neale Ferguson). MIPS is now supported.
Added new methods to Mono.Debugger.Soft and the runtime to
decrease the amount of packets transmitted between the debugger
and the debuggee. This significantly improves performance over
high latency connections like USB. Many bug fixes.
Static Compiler (AOT)
Made changes to some AOT data structures to reduce their size,
especially when using generics. This reduces the size of an mscorlib
AOT image by about 1-2%.
Many changes to the class libraries allow more core Generics code
to run on systems that do not support JIT compilation.
2013-05-29 13:11:12 +02:00
|
|
|
post-install:
|
|
|
|
${INSTALL_DATA} ${WRKSRC}/data/net_4_5/DefaultWsdlHelpGenerator.aspx \
|
|
|
|
${DESTDIR}${EGDIR}/4.5/DefaultWsdlHelpGenerator.aspx
|
|
|
|
${INSTALL_DATA} ${WRKSRC}/data/net_4_5/machine.config \
|
|
|
|
${DESTDIR}${EGDIR}/4.5/machine.config
|
|
|
|
${INSTALL_DATA} ${WRKSRC}/data/net_4_5/settings.map \
|
|
|
|
${DESTDIR}${EGDIR}/4.5/settings.map
|
|
|
|
${INSTALL_DATA} ${WRKSRC}/data/net_4_5/web.config \
|
|
|
|
${DESTDIR}${EGDIR}/4.5/web.config
|
2013-02-19 23:34:09 +01:00
|
|
|
|
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"
|
2011-04-19 12:09:42 +02:00
|
|
|
.include "../../lang/python/application.mk"
|
2004-02-03 13:30:11 +01:00
|
|
|
.include "../../textproc/icu/buildlink3.mk"
|
2005-03-27 12:25:51 +02:00
|
|
|
.include "../../textproc/libxml2/buildlink3.mk"
|
|
|
|
.include "../../textproc/libxslt/buildlink3.mk"
|
2003-03-01 14:11:44 +01:00
|
|
|
.include "../../mk/bsd.pkg.mk"
|