The NetBSD Project

CVS log for pkgsrc/lang/mono/PLIST.common

[BACK] Up to [] / pkgsrc / lang / mono

Request diff between arbitrary revisions

Default branch: MAIN

Revision 1.27 / (download) - annotate - [select for diffs], Fri Jul 27 20:02:40 2018 UTC (3 months, 3 weeks ago) by jperkin
Branch: MAIN
CVS Tags: pkgsrc-2018Q3-base, pkgsrc-2018Q3, HEAD
Changes since 1.26: +33 -33 lines
Diff to previous 1.26 (colored)

mono: Switch to pkgsrc boehm-gc on SunOS.

The bundled one has issues with newer GCCs, and the pkgsrc one is newer and
optimised, so switching is simpler than trying to retro-fit an old version.

Fix --with-gc, this appears to have always been broken, and our --with-gc=none
argument actually ended up as --with-gc=included, so make that now explicit.


Revision 1.26 / (download) - annotate - [select for diffs], Tue Aug 25 12:22:59 2015 UTC (3 years, 2 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2018Q2-base, pkgsrc-2018Q2, pkgsrc-2018Q1-base, pkgsrc-2018Q1, pkgsrc-2017Q4-base, pkgsrc-2017Q4, pkgsrc-2017Q3-base, pkgsrc-2017Q3, pkgsrc-2017Q2-base, pkgsrc-2017Q2, pkgsrc-2017Q1-base, pkgsrc-2017Q1, pkgsrc-2016Q4-base, pkgsrc-2016Q4, pkgsrc-2016Q3-base, pkgsrc-2016Q3, pkgsrc-2016Q2-base, pkgsrc-2016Q2, pkgsrc-2016Q1-base, pkgsrc-2016Q1, pkgsrc-2015Q4-base, pkgsrc-2015Q4, pkgsrc-2015Q3-base, pkgsrc-2015Q3, pkgsrc-
Changes since 1.25: +3 -1 lines
Diff to previous 1.25 (colored)

Update to

Mono 4.0.3 Release Notes

Release date: 10 Aug 2015

4.0.3 is the third maintenance release of the 4.0 series

    Various stability improvements

Bug Fixes

    28600: Some LLVM artifacts are being written to the base project dir rather than obj/$Config/
    26205: System.IO.Package.LoadRelationships throws null reference for some NuGet packages with PCLs generated on Windows
    30868: ObjectDisposedException in mono, but not mono 3.12.1
    31582: iOS -O=float32 fails for some operations on ARM7
    30043: Disposing a FileSystemWatcher object causes ArgumentOutOfRangeException
    31060: F# sprintf AOT bug happens still now

Mono 4.0.2 Release Notes

Release date: 30 Jun 2015

4.0.2 is the second maintenance release of the 4.0 series


    XBuild fixes (MonoDevelop no longer fails to build if Gtk#3 is installed)

Bug Fixes

    29639: Moq related Nunit tests fail with RemoteException (Unix transport error) since Mono 4.0
    29898: Bump Mono NuGet to 2.8.5
    29935: XAttribute.ToString() outputs wrong result if attribute contains namespace

Revision 1.25 / (download) - annotate - [select for diffs], Thu May 28 07:33:56 2015 UTC (3 years, 5 months ago) by jperkin
Branch: MAIN
CVS Tags: pkgsrc-2015Q2-base, pkgsrc-2015Q2
Changes since 1.24: +5 -1 lines
Diff to previous 1.24 (colored)

Add back static libmono-2.0 entries, the .la is a symlink to libmonoboehm
and cannot be handled by mk/plist/libtool-expand.  Seen on both NetBSD and

Revision 1.24 / (download) - annotate - [select for diffs], Tue May 26 12:17:02 2015 UTC (3 years, 5 months ago) by jperkin
Branch: MAIN
Changes since 1.23: +25 -25 lines
Diff to previous 1.23 (colored)

Put back PLIST.monodoc handling.

Revision 1.23 / (download) - annotate - [select for diffs], Tue May 26 12:14:49 2015 UTC (3 years, 5 months ago) by jperkin
Branch: MAIN
Changes since 1.22: +3 -1 lines
Diff to previous 1.22 (colored)

Add missing Compat.browser PLIST entries.

Revision 1.22 / (download) - annotate - [select for diffs], Thu May 21 14:38:08 2015 UTC (3 years, 5 months ago) by kefren
Branch: MAIN
Changes since 1.21: +68 -296 lines
Diff to previous 1.21 (colored)

Update to mono 4.0.1

Changelist from the previous 3.10 may be found at:

Tested on NetBSD/amd64 6.1_STABLE
There are still some hacks in patches that I'm not very happy about

Revision 1.21 / (download) - annotate - [select for diffs], Sun Nov 30 08:40:50 2014 UTC (3 years, 11 months ago) by spz
Branch: MAIN
CVS Tags: pkgsrc-2015Q1-base, pkgsrc-2015Q1, pkgsrc-2014Q4-base, pkgsrc-2014Q4
Changes since 1.20: +2 -1 lines
Diff to previous 1.20 (colored)

Update of Mono to version 3.10.0

Also: general patch refresh

Upstream release notes:

Mono 3.10.0 is a bugfix release with a few features.


    Implemented System.IO.Compression.FileSystem.
    Uri now implements the .NET 4.5 behavior, it can be reverted to
    the old behavior in the same way by setting the System.Uri::s_IriParsing
    static field to false.


    Remove unnecessary locking from core metadata parsing functions.
    Avoid cache thrashing of locals array when looping over enumerator.

Known Issues

    The OSX packages have an invalid libgdiplus library that affects
    users of System.Drawing that requires it to work.
    This specially affects Xamarin.Mac users that fit the following criteria:

    Uses Xamarin.Mac Classic (Unified is unaffected).
    Uses the subsets of System.Drawing that use libgdiplus.dylib internally
    - System.Drawing.RectangleF, PointF, Colors are unaffected
    - System.Drawing.Bitmap, and font for example are affected

    The symptom of the problem is your application failing with:
    „ŗ◊īystem.TypeInitializationException: An exception was thrown by
    the type initializer for
    System.Drawing.GDIPlus „ŗ System.Exception: GdiplusStartup„ŗ
Bug fixes

    Fix support for unaligned offsets in the store_membase_imm opcodes.
    Fixes #23267.
    Fix the lookup of nested types which have a namespace. Fixes #21653.
    Increase some opcode sizes. Fixes #23026.
    Always pass the imt arg to interface calls in gsharedvt methods.
    Fixes #22624.
    Store the epilog length in MonoArchEHJitInfo instead of encoding
    it in jinfo->unwind_desc, since the latter can overflow for methods
    with large epilogs. Fixes #22685.
    Add a mono_thread_detach_if_exiting () public api function which
    can be called by embedding code to detach the runtime if the code
    is running from a pthread dtor. Fixes #21164.
    Fix yet another native types problem. Fixes #22053.
    Fix the leaking of mach ports introduced by
    98bbf8512aec0fa01b4426583280f6d231d22187. Fixes #22068.
    Add support for constrained calls with vtype return types in
    gsharedvt code. Fixes #22109.
    Fix the PLATFORM_GNU check so it works with gnueabi etc. as well.
    Fixes #21520.
    Don„ŗ—’ make runtime invoke signatures generic. Fixes #21973.
    Allow v8..v15 in unwind info on arm64. Fixes part of #21615.
    Fix Process.PrivateMemorySize64 etc. on ios. Fixes #21882.
    Fix enum->int casts in gsharedvt code. Fixes #21893.
    Don„ŗ—’ assert when loading a generic methodspec with 0 arity. Fixes #19097.
    Avoid asserting when a cattr cannot be loaded. Fixes #21653.
    Avoid making generic calls from gsharedvt methods normally, go
    through the rgctx infrastructure instead. Fixes #21677.

Class Libraries

    Fix Uri UserInfo parsing. Fixes 23246.
    Update RequestMessage.RequestUri.AbsoluteUri after redirect. Fixes #22383.
    Fixes XContainer attempt to create a XNode from a null value. Fixes #20151.
    Changed XObject OnChanged and OnChanging to use Owner. When
    XObject.Owner is not a XElement XObject.Parent returns null and the
    owner would not be notified of changing and changed events. Fixes #18772.
    Process XslLiteralElements with only child attributes as empty ones.
    Fixes #14751.
    „ŗŌ«inally„ŗprotect ClientRuntimeChannel.Begin/EndProcess(). Fixes #22179.
    WebClient.OpenWrite() must get the response on close. Fixes #10163.
    Fix WebClient.UploadValuesTaskAsync(); Fixes #20359.
    Improve System.Security.Claims. Fixes #22282.
    Fixed serialization of XmlNode field with attribute XmlAnyElement.
    Fixes #3211.
    Handle String::Format with escaped closing }. Fixes #22114
    Add a missing check to TypeBuilder.CreateType (). Fixes #22059.
    Xml Serialization of Base class w/o a parameterless constructor.
    Removed validation code that did not allowed serialization of
    base classes without a parameterless constructor. Fixes #6913.
    Fixed XmlSerializer to handle attribute XmlSchemePrivider.IsAny.
    XmlSerializer no longer outputs a root element with class name when
    the class has the attribute XmlSchemeProvider and IsAny is true.
    Fixes #11916
    Test that DeflateStream.Read does read an empty stream. Covers #19313.
    Reseting all private key values to null is required because a new
    import may not overwrite existing values. Fixes #18482.
    Handle quoted filename value. Fixes #21960.
    Dispose XmlReader using correct value. Fixes #21771.

C# Compiler

    Don„ŗ—’ use `1 naming for compiler generated second level and deeper
    nested types. Fixes #22893.
    Extend missing type check to type lookups. Fixes #20933.
    Fix copy and paste error in constraints checker. Fixes #22131.
    Speed up nullable tokenizer. Fixes #20195.
    Coalescing operator if the lhs of a null is a integer type that is
    larger than the integer type on the rhs. Fixes #22054.
    Check for duplicate destructors. Fixes #21983.
    Switch statement with constant block at first label. Fixes #21805.
    Decimal constants modulo folding. Fixes #21743.
    Update codegen for boolean loads. Fixes #21685.


    Workaround for issues with CreateItem task where metadata are
    not generated due to up-to-data inputs. Fixes #23022.
    Add KeepDuplicates etc. to 4.0 as internal. Fixes #20961.

Mono 3.8.0 has 711 commits since the last release.
This is the work of 61 contributors since May 28. 58 bugs were fixed.


    Major performance and scalability improvements across the the whole runtime.
    Finished the Windows 64 port.
    Debugger wire protocol optimized for usb connections.


    Updated wire protocol better handles high latency connections such
    as those found when doing USB debugging.
    Client library now aggressively caches information and batches
    requests. Under one test scenario single stepping packets
    transmitted dropped from 2233 to only 16, with the latency going
    from seconds to 20 milliseconds.


    The JIT now better handles long remainders by powers of two,
    generating significantly better code.
    Over 10x faster code is generated for delegates that are only
    invoked once. C# features such as async and LINQ produce a lot of
    those delegates, so this improvement will impact everyone.
    Improved alias analysis can now handle second order aliases and
    eliminate null checks.
    The runtime now has a concurrently readable hashtable that can
    makes reflection heavy workloads significantly faster and more scalable.

Garbage Collection

    Optimized one of the core data structures of the garbage collector;
    should result in 5-10% reduction in collection times.

Bug fixes

    Fix the leaking of mach ports introduced by
    98bbf8512aec0fa01b4426583280f6d231d22187. Fixes #22068
    Fix Process.PrivateMemorySize64 etc. on ios. Fixes #21882
    Fix enum->int casts in gsharedvt code. Fixes #21893
    Avoid making generic calls from gsharedvt methods normally, go
    through the rgctx infrastructure instead. Fixes #21677
    Fix another native-types problem. Hopefully fixes #21670 and #21636
    Use alias information to eliminate explicit null checks. Fixes #21645
    Initialize fields in MonoField:GetFieldOffset () if needed.
    Fixes part of #21604
    Properly handle rethrow outside of catch blocks. Fixes #20412
    Disable runtime unit tests on linux, because it cannot be linked
    due to circular dependencies between libraries. Fixes #21520
    When parsing a method header, ensure we pass any available generic
    context. Fixes #21388
    Added new mono_domain_set_config function; used to fix
    ConfigurationErrorsException in #10468
    Only apply the maverick stack size hack to the main thread. Fixes #10096
    Don„ŗ—’ hardcode the temp dir to /tmp, use g_get_tmp_dir instead.
    Fixes #20894
    Explicit thread GC data around instead of relying on TLS storage.
    Fixes #20360
    Make WaitForPendingFinalizers () really wait for the finalizers
    added by a previous GC. Fixes #20503
    Fix the marshal7.cs test, longs can be aligned to 4 bytes on
    32 bit linux, and the runtime no longer aligns structure sizes
    to 8 bytes. Fixes #20788
    Fix the popping of LMF frames during unwinding. Fixes #20616
    Fix the marshalling of ByValTStr types which have a size specified.
    Fixes #20674
    Fix the decoding of MonoJitInfo. Fixes #16439
    Make it possible to create views to magic zero size files such as
    /dev/zero. Fixes #19460
    Free static bound delegate wrappers of dynamic methods. Fixes #19058
    Don„ŗ—’ perform double accounting of offset for named memory segments.
    Fixes #20591
    Avoid joining attached threads. Fixes #19343
    Fix support for custom marshallers defined in other assemblies.
    Fixes #20020
    Fix a jit assertion on a class which contains an empty struct as
    a static field. Fixes #20349
    Applied patch from Kyle Edwards
    Fix isinf () check with clang. Fixes #20244
    Fix constrained type unwrap for enum types. Fixes #18371

Class Libraries

    Handle quoted filename value. Fixes #21960
    Correctly handle partial chunk sizes. Fixes #20583
    Tweak Dictionary initial capacity to be more conservative. Fixes #21375
    Handle closed-over-null delegates created with IL when using
    InvokeDynamic. Fixes #21196
    Fix a race in a Task test. Fixes #20921
    Contract the values array when decoding an array with a negative
    number and a trailer that evals to zero. Fixes #20456
    Fixes issue with expression columns and IsNull. Fixes #20925
    Array qsort without head allocation. Fixes #20922
    Enum::TryParse ignores leading whitespaces. Fixes #20870
    Fix disposing of DelegatingHandler. Fixes #20818
    Fix digest authentication (bug #18799)
    Only recycle ServicePoints from the idle timer (fixes #19823)
    Changed ConcurrentDictionary.Contains(KeyValuePair<TKey, TValue>)
    to also compare value. Fixes #16990
    Add System.ServiceModel.Security assembly. Fixes #20108
    Removed NET_2_1 conditional blocks from FileInfo. Fixes #19862

C# Compiler

    Update codegen for boolean loads. Fixes #21685
    Effective base class can include inherited types. Fixes #21390
    Handle duplicate resume point registration. Fixes #21387
    Arguments can be empty when reporting missing params argument. Fixes #21215
    Flow analysis of moved arguments. Fixes #20983
    Run new initializer await checks only in async context. Fixes #20614
    Parse numeric expressions using invariant culture. Fixes #20582
    Reachability analysis should ignore local variables declarations.
    Fixes #20603
    Check for missing dependencies of container types. Fixes #20382
    Resolve event expression when testing left side expression. Fixes #20493
    Flow analysis of binary expressions not using logical operators.
    Fixes #20515


    Add 4.5.1 framework. Fixes #20827
    Parsing conditions with property references. Fixes #20634
    Implements property functions using constructor syntax. Fixes #12999

Mono Debugger

    Avoid clearning event requests if they reference an assembly which
    is unloaded. Instead, remove the assembly reference from the event
    request so it stays active. Fixes #9924.

Revision 1.20 / (download) - annotate - [select for diffs], Wed Sep 10 12:17:15 2014 UTC (4 years, 2 months ago) by joerg
Branch: MAIN
CVS Tags: pkgsrc-2014Q3-base, pkgsrc-2014Q3
Changes since 1.19: +5 -1 lines
Diff to previous 1.19 (colored)

PLIST libtool archive handling doesn't work for symlink aliases, so add
the entries manually. Bump revision.

Revision 1.19 / (download) - annotate - [select for diffs], Thu Aug 21 07:49:56 2014 UTC (4 years, 2 months ago) by wiz
Branch: MAIN
Changes since 1.18: +163 -55 lines
Diff to previous 1.18 (colored)

Update to 3.6.0:

Mono 3.6.0 has 878 commits since the last release. This is the work
of 66 contributors since March 10 2014. Out of those, 22 have done
their first contribution. 112 bugs were fixed.


    Runtime performance counters have been integrated into the
    profiler allowing the performance counter information to be
    surfaced to profiling tools and in particular Xamarin„‘ upcoming
    The profiler now produces backtraces for statistical mode. The
    profiler„‘ tracing mode now works on ARM.
    We now distribute nuget on mac.


    The debugger now support line and column ranges. pdb2mdb supports
    it. Note: the rest of our toolchain still needs to be updated.
    The debugger now supports changing the current line in the top
    Lots of bugfixes and performance improvements.
    The debugger now support reading simple properties without
    calling their getter, this is done by having a lightweight IL
    interpreter for small pieces of code. This allows more properties
    to be inspected while the process is completely stopped and
    without having to temporarily resume execution of the target
    to execute the property code.
    Added buffered response mode to improve network efficiency on
    high latency links such as USB.

Garbage Collection

    The GC bridge got a lot of performance work. There are now two
    new modes that can significantly improve some workloads.

Class libraries

    Multiple http stack improvements: some leaks in the stack have
    been fixed, as well as solving some long-standing bugs involving
    asynchronous operations and proxies. We have introduced a more
    comprehensive test harness to ensure that those bugs do not
    surface again.
    System.IO.Compression is now implemented
    System.Security.Claims is now implemented. It resides in the
    System assembly (existed before in the Identity stack, but now
    we track the new home from the .NET 4.5 API).


    Reworked locking to drop a hot lock in method lookup.
    Use fine grained locking instead of a big hot lock.
    Better hashing of some runtime internal items to avoid some
    corner-case slowdowns with generics.


    The profiler is now able to produces backtraces in statistical
    Added periodical flushing that should help interactive users.
    This means that the profiling will send data over the profiling
    even if the application is not currently sending data (this is
    there to support the upcoming new profiler UI).
    It now collects and reports performance counter information.
    See mprof-report„‘ man page.


    Fixed the handling of the volatile. CIL prefix.
    We now distribute IKVM„‘ ikdasm tool. This is a reliable
    disassembler that does not have the limitation of monodis of
    requiring a complete set of assemblies that are compatible to
    disassemble. This will disassemble even files that do not have
    their dependencies available.
    Optimized EqualityComparer for more types.
    Mono.Unix.Native.Syscall.getxattr() can now return Errno.ENOATTR
    on OS X.
    Our msbuild implementation can now build Project K and Roslyn
    Optimized EqualityComparer for more types.

As well as lots of bug fixes

Revision 1.18 / (download) - annotate - [select for diffs], Thu Jun 6 19:05:45 2013 UTC (5 years, 5 months ago) by jperkin
Branch: MAIN
CVS Tags: pkgsrc-2014Q2-base, pkgsrc-2014Q2, pkgsrc-2014Q1-base, pkgsrc-2014Q1, pkgsrc-2013Q4-base, pkgsrc-2013Q4, pkgsrc-2013Q3-base, pkgsrc-2013Q3, pkgsrc-2013Q2-base, pkgsrc-2013Q2
Changes since 1.17: +25 -25 lines
Diff to previous 1.17 (colored)

Disable monodoc build and add OPSYS-specific PLIST on SunOS.

This gets us a working mono package on SmartOS, at least.

Revision 1.17 / (download) - annotate - [select for diffs], Wed May 29 11:11:12 2013 UTC (5 years, 5 months ago) by wiz
Branch: MAIN
Changes since 1.16: +340 -142 lines
Diff to previous 1.16 (colored)

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

New in Mono 3.0 Major Highlights C# Compiler

Mono now has a complete C# 5.0 compiler with asynchronous programming

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

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

We also bundle the recently open sourced Entity Framework and


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

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

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.

Revision 1.16 / (download) - annotate - [select for diffs], Sun Oct 21 21:21:40 2012 UTC (6 years ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2013Q1-base, pkgsrc-2013Q1, pkgsrc-2012Q4-base, pkgsrc-2012Q4
Changes since 1.15: +10 -7 lines
Diff to previous 1.15 (colored)

Update to 2.10.9:


Fix a libgdiplus issue that had forced linking against Apple's X11 stack for text rendering.
Fix issue where a native crash causes MonoDevelop to hang and neither Force Quit nor kill -9 would terminate it (Xamarin #2548).
Fix sgen failing with Assertion at sgen-gc.c:2506, condition `mono_sgen_need_bridge_processing ()' not met.



    Updated the Task Parallel Library to include the latest fixes from our main development branch.
    SQLiteConnection can now set the threading mode (Xamarin #652)
    Improved the debugger protocol to speed up debugging and value lookup
    Added basic support for MSBuild 4.0 (Leszek Ciesielski, Paul Selormey)
    NuGet now runs on Mono
    Phalanger 3.0 now runs with Mono
    Adds support for some Azure libraries
    Added support for bundling profilers in a static binary
    The profiler can now log its data to any file descriptor (for over-the-net profile logging)
    SGen now has native support for object systems that implement ToggleRefs
    Mobile Profile now contains System.IO.MemoryMappedFiles
    Added PerformanceCounters for JIT statistics
    Add support for Android CPU count.
    HashSet<T> can now be serialized (Neale Ferguson)

Bug Fixes

    The --profile loader will now work on MacOS X without setting any environment variables
    Fixes slow start on threads (Xamarin #1036)
    Fixed the SGen interaction between weak references and ephemerons
    Fixes --profile=log on x64 systems (Xamarin #971)
    Fixes crash on some debugging configurations (Xamarin #1093)
    Fixes timezone race condition (Xamarin #1055)
    Fixes SendAsync reporting the wrong number of bytes sent (Xamarin #531)
    Plug a managed leak in the ASP.NET stack (HttpResponse)
    Fix an infinite loop in Path.GetTempFileName
    Fixes Soap12 message serialisation incorrect for ReplyTo header value (Xamarin #1244)
    Linked away exception on AsyncWaitHandle.WaitOne() on device (Xamarin #1144)
    Fixed MonoDoc to avoid loading the same documentation more than once (fixes MonoDoc browser)
    Fixes regression in System.Diagnostics.Process.PrivateMemorySize64 (Xamarin #1459)
    ASP.NET fix for WebResource.axd and hashes containing /
    ServiceModel now allows https endpoints (Xamarin #1203)
    ServiceModel now allow requests with no headers (Xamarin #1205 and #1207 by Mario Kosmiskaso)
    Fix for WebOperationContext.IncomingResponse (Xamarin #1209 by Mario Kosmiskaso)
    Fix for propagating operation context (Xamarin #1210 by Mario Kosmiskaso)
    Fix WebConnectionStream to return the correct length for input streams
    Fix serialization reader (Xamarin #1462)
    Various fixes to System.IO.Packaging
    mono-service now passes the command line arguments to the services
    Alternate path separator on Unix improves compatibility with Windows software
    Fixes xsi:nil handling (Xamarin #1198)
    Fixes hang caused by gdb attaching to the wrong process when Mono hard-crashes
    Fixes the handling of XmlSchemaFrom importing, which is exposed by WebSphere WSDL tools
    Fixes crash on inlined code that contained some patterns of exception throwing (Xamarin #1835)
    Fixes monotonic clock on OSX and iOS (Xamarin #1366)
    Fixes leak in Process class if WaitForExit was not called (Xamarin #1682)
    Fixes typo in ASP.NET's SQLServer SessionState
    Fixes marshaling of IPv6 addresses in Win32
    Fixes race in ServiceModel.Logger
    Fixes string truncation in Tds protocol (Xamarin #1916, Neale Ferguson)
    Fixes System.Data DataView sorting
    Fixes Debug information for dynamic methods (Novell #731579)
    On Android, stdout/stderr become the logcat
    Fixes ConditionalWeakTable behavior with SGen (Xamarin #1175)
    Fixes SIGSEGV during GC when write barrier is set to cardtable (Xamarin #1917)
    Added JSonSerializer support for nullables (Xamarin #163)
    Fixes deadlock on SDB (Xamarin #2190)
    Fixes heuristics for inserting breakpoints (Xamarin #407)
    Fixes Array.Containsfor null items via ICollection<T> (Xamarin #2260)
    Fixes scanning of complex values in SGen (Xamarin #228)
    Fixes assignability of arrays with generic interfaces (Xamarin #2304)
    Fixes FullAOT support for iterating Linq.OrderedEnumerable (Xamarin #2155)
    Fix a libgdiplus issue that had forced linking against Apple's X11 stack for text rendering on MacOS.
    Fix issue on Mac where a native crash causes MonoDevelop to hang and neither Force Quit nor kill -9 would terminate it (Xamarin #2548).

Mobile Profile Fixes

    Xamarin 233: support commit/rollback/update events in iOS/Sqlite
    Xamarin 154: Support Dispose on BinaryReader on the Mobile Profile
    SGen bridge processing is now a two-step process (used for Mono/Android)
    Xamarin 1999: all threads are now wrapped in NSAutoreleasePools.

Revision 1.15 / (download) - annotate - [select for diffs], Fri Jun 10 04:11:29 2011 UTC (7 years, 5 months ago) by kefren
Branch: MAIN
CVS Tags: pkgsrc-2012Q3-base, pkgsrc-2012Q3, pkgsrc-2012Q2-base, pkgsrc-2012Q2, pkgsrc-2012Q1-base, pkgsrc-2012Q1, pkgsrc-2011Q4-base, pkgsrc-2011Q4, pkgsrc-2011Q3-base, pkgsrc-2011Q3, pkgsrc-2011Q2-base, pkgsrc-2011Q2
Changes since 1.14: +9 -3 lines
Diff to previous 1.14 (colored)

Update to mono-2.10.2, a bugfix release on 2.10 branch. Full bugfixes list

Revision 1.14 / (download) - annotate - [select for diffs], Mon Apr 25 14:01:40 2011 UTC (7 years, 6 months ago) by kefren
Branch: MAIN
Changes since 1.13: +36 -11 lines
Diff to previous 1.13 (colored)

Update to mono 2.10.1. Major Highlights:

    * Google Native Client Support
    * New Profiler engine
    * Faster socket stack
    * Improved Parallel Framework
    * SGen Precise Stack Scanning and Many performance improvements.
    * Unified MonoTouch/Monodroid runtime support
    * Cecil/Light
    * New C# Compiler backend (can now use any custom mscorlib)
    * VB Compiler can now compile to both 2.0 and 4.0 profiles.
    * Supports ASP.NET MVC3, Razor and new WebPages.
    * New WebMatrix.Data database API.
    * Improved OSX Mono
    * F# and IronRuby

Revision 1.13 / (download) - annotate - [select for diffs], Wed Dec 1 16:49:13 2010 UTC (7 years, 11 months ago) by kefren
Branch: MAIN
CVS Tags: pkgsrc-2011Q1-base, pkgsrc-2011Q1, pkgsrc-2010Q4-base, pkgsrc-2010Q4
Changes since 1.12: +4 -3 lines
Diff to previous 1.12 (colored)

Update to 2.8.1, a bug fix release on 2.8 branch.
Full Changelog:

Revision 1.12 / (download) - annotate - [select for diffs], Sat Oct 16 04:32:18 2010 UTC (8 years, 1 month ago) by kefren
Branch: MAIN
Changes since 1.11: +459 -418 lines
Diff to previous 1.11 (colored)

Update to mono 2.8 featuring: C# 4.0, new garbage collector, exception
tracing, LLVM integration.

Full Release Notes at:

Revision 1.11 / (download) - annotate - [select for diffs], Sat Jul 31 08:40:37 2010 UTC (8 years, 3 months ago) by kefren
Branch: MAIN
CVS Tags: pkgsrc-2010Q3-base, pkgsrc-2010Q3
Changes since 1.10: +20 -7 lines
Diff to previous 1.10 (colored)

Update to 2.6.7 - XXX: need to make moonlight profile work
Full update list:

Revision 1.10 / (download) - annotate - [select for diffs], Fri Apr 9 15:35:21 2010 UTC (8 years, 7 months ago) by kefren
Branch: MAIN
CVS Tags: pkgsrc-2010Q2-base, pkgsrc-2010Q2
Changes since 1.9: +5 -1 lines
Diff to previous 1.9 (colored)

Update to 2.6.3, a bugfix release on 2.6 branch.
For full changelog see

Revision 1.9 / (download) - annotate - [select for diffs], Tue Feb 16 17:01:04 2010 UTC (8 years, 9 months ago) by kefren
Branch: MAIN
CVS Tags: pkgsrc-2010Q1-base, pkgsrc-2010Q1
Changes since 1.8: +56 -51 lines
Diff to previous 1.8 (colored)

Update to mono 2.6.1

Changes since version 2.4 are documented at:

Revision 1.8 / (download) - annotate - [select for diffs], Fri Jan 15 19:41:23 2010 UTC (8 years, 10 months ago) by drochner
Branch: MAIN
Changes since 1.7: +7 -1 lines
Diff to previous 1.7 (colored)

update to
this is a bugfix release on the 2.4 branch

Revision 1.7 / (download) - annotate - [select for diffs], Wed Nov 25 10:13:06 2009 UTC (8 years, 11 months ago) by kefren
Branch: MAIN
CVS Tags: pkgsrc-2009Q4-base, pkgsrc-2009Q4
Changes since 1.6: +32 -1 lines
Diff to previous 1.6 (colored)

build with moonlight support. Added as a default option. Bump pkgrevision

Revision / (download) - annotate - [select for diffs], Tue Jul 21 10:50:58 2009 UTC (9 years, 3 months ago) by tron
Branch: pkgsrc-2009Q2
Changes since 1.5: +4 -1 lines
Diff to previous 1.5 (colored) next main 1.6 (colored)

Pullup ticket #2826 - requested by kefren
mono: security update

Revisions pulled up:
- lang/mono/Makefile			1.89-1.90
- lang/mono/PLIST.common		1.6
- lang/mono/		1.34
- lang/mono/distinfo			1.52-1.53
- lang/mono/patches/patch-dj		1.1
Module Name:	pkgsrc
Committed By:	kefren
Date:		Wed Jul 15 11:37:16 UTC 2009

Modified Files:
	pkgsrc/lang/mono: Makefile PLIST.common distinfo

Log Message:
Update to
This version is the first version to integrate Microsoft's open source
ASP.NET MVC stack. More than 140 bug fixed. Check for more changes.
Module Name:	pkgsrc
Committed By:	hasso
Date:		Fri Jul 17 02:53:52 UTC 2009

Modified Files:
	pkgsrc/lang/mono: distinfo
Added Files:
	pkgsrc/lang/mono/patches: patch-dj

Log Message:
Make it build again on DragonFly.
Module Name:	pkgsrc
Committed By:	kefren
Date:		Sun Jul 19 07:53:53 UTC 2009

Modified Files:
	pkgsrc/lang/mono: Makefile distinfo

Log Message:
Update to - Contains fixes for CVE-2009-0217

Revision 1.6 / (download) - annotate - [select for diffs], Wed Jul 15 11:37:16 2009 UTC (9 years, 4 months ago) by kefren
Branch: MAIN
CVS Tags: pkgsrc-2009Q3-base, pkgsrc-2009Q3
Changes since 1.5: +4 -1 lines
Diff to previous 1.5 (colored)

Update to
This version is the first version to integrate Microsoft's open source
ASP.NET MVC stack. More than 140 bug fixed. Check for more changes.

Revision 1.5 / (download) - annotate - [select for diffs], Sun Jun 14 18:03:36 2009 UTC (9 years, 5 months ago) by joerg
Branch: MAIN
CVS Tags: pkgsrc-2009Q2-base
Branch point for: pkgsrc-2009Q2
Changes since 1.4: +1 -279 lines
Diff to previous 1.4 (colored)

Remove @dirrm entries from PLISTs

Revision 1.4 / (download) - annotate - [select for diffs], Tue Apr 7 08:20:42 2009 UTC (9 years, 7 months ago) by kefren
Branch: MAIN
Changes since 1.3: +322 -253 lines
Diff to previous 1.3 (colored)

Welcome to mono 2.4

Changelist available at

Note: Enabled for now generics on amd64, as they look to work

Revision 1.3 / (download) - annotate - [select for diffs], Wed Jan 21 18:20:28 2009 UTC (9 years, 9 months ago) by kefren
Branch: MAIN
CVS Tags: pkgsrc-2009Q1-base, pkgsrc-2009Q1
Changes since 1.2: +23 -1 lines
Diff to previous 1.2 (colored)

Fix PLIST by adding monodoc entries. From abs@

Revision 1.2 / (download) - annotate - [select for diffs], Mon Jan 19 22:35:53 2009 UTC (9 years, 9 months ago) by kefren
Branch: MAIN
Changes since 1.1: +103 -11 lines
Diff to previous 1.1 (colored)

Welcome to Mono 2.2.
Changes since version 2.0 include improved performance, Full AOT and SIMD

For full changelist see:

Revision 1.1 / (download) - annotate - [select for diffs], Sat Oct 25 05:27:58 2008 UTC (10 years ago) by kefren
Branch: MAIN
CVS Tags: pkgsrc-2008Q4-base, pkgsrc-2008Q4

* Update to mono 2.0.1
* Add linux PLIST

Mono 2.0.1 is a minor bugfix update to Mono 2.0. For full release notes
please consult:

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

CVSweb <>