summaryrefslogtreecommitdiff
path: root/lang/mono
AgeCommit message (Collapse)AuthorFilesLines
2015-09-14Add more MAKE_DIRS for config files.wiz1-1/+4
Bump PKGREVISION. ok jpergkin@
2015-09-13Update to 4.0.4.1:wiz2-7/+7
Improvements Various stability improvements Bug Fixes 31060: F# sprintf AOT bug happens still now. 30276: monotouch-test (classic) assert with Assertion at ../../../../../mono/mono/metadata/class.c:4818, condition `method->klass->generic_classâ not met 28777: GZipStream (DeflateStreamNative) native exception after Flush() with no buffer data: Internal error (no progress possible) Flush 30043: Disposing a FileSystemWatcher object causes ArgumentOutOfRangeException 30869: HttpClient authentication not working
2015-08-31Additional files installed on Darwin. Package still fails due to check-shlibsjperkin1-0/+6
but this gets us a step closer.
2015-08-25Update to 4.0.3.20:wiz4-23/+34
Mono 4.0.3 Release Notes Release date: 10 Aug 2015 4.0.3 is the third maintenance release of the 4.0 series Improvements 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 4.0.1.28, 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 Improvements 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
2015-06-19Fix path to mscorlibgdt1-2/+2
From Iain Morgan via pkgsrc-users, and confirmed via http://us-east.manta.joyent.com/pkgsrc/public/reports/Linux/trunk/i386/20150617.1602/mono-4.0.1nb3/install.log
2015-06-15Behave when address space limits are in place:joerg4-7/+65
(1) Default heap limit to 75% of available address space. (2) Limit GC marker threads to 4MB/8MB (32bit vs 64bit) stack space. As Mono tries to create 16 such threads by default, the default stack size on AMD64 would eat 2GB VA alone. Bump revision.
2015-06-12Recursive PKGREVISION bump for all packages mentioning 'perl',wiz1-2/+2
having a PKGNAME of p5-*, or depending such a package, for perl-5.22.0.
2015-06-04Fix 32-bit SunOS build, and fix variable expansion in patch-bd.jperkin4-18/+9
2015-05-28Add back static libmono-2.0 entries, the .la is a symlink to libmonoboehmjperkin1-1/+5
and cannot be handled by mk/plist/libtool-expand. Seen on both NetBSD and SmartOS.
2015-05-26Put back SunOS support, and update for 4.0. Build now completes butjperkin4-31/+36
install fails due to PLIST errors with the new libmono-2.0 handling. Need to verify this on other platforms before fixing.
2015-05-26Put back PLIST.monodoc handling.jperkin1-25/+25
2015-05-26MAKE_JOBS_SAFE=yes is a nop, only =no makes sense, remove it.jperkin1-2/+1
2015-05-26Add missing Compat.browser PLIST entries.jperkin1-1/+3
2015-05-23fix nunit path in pkg-config filekefren3-2/+16
2015-05-22Require -march=i586 on i386 for gcc atomic builtins. Fixes build on i386kefren1-1/+7
2015-05-22Include vmeter.h for struct vmtotalkefren2-7/+17
2015-05-21sync requirements and comment with realitykefren2-5/+5
2015-05-21Update to mono 4.0.1kefren22-444/+352
Changelist from the previous 3.10 may be found at: http://www.mono-project.com/docs/about-mono/releases/ Tested on NetBSD/amd64 6.1_STABLE There are still some hacks in patches that I'm not very happy about
2015-04-06Revbump after updating textproc/icuadam2-3/+4
2014-11-30dragonfly patch ought to ifdef __DragonFly__spz2-6/+5
2014-11-30Update of Mono to version 3.10.0spz54-223/+384
Also: general patch refresh Upstream release notes: Mono 3.10.0 is a bugfix release with a few features. Highlights 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. Performance 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: “System.TypeInitializationException: An exception was thrown by the type initializer for System.Drawing.GDIPlus —> System.Exception: GdiplusStartup” Bug fixes +++++++++ Runtime 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’t 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’t 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. ‘finally’ 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’t 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. MSBuild 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. Highlights Major performance and scalability improvements across the the whole runtime. Finished the Windows 64 port. Debugger wire protocol optimized for usb connections. Debugger 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. Performance 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 +++++++++ Runtime 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’t 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’t 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 kyleedwardsny@gmail.com. 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 MSBuild 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.
2014-10-07Revbump after updating libwebp and icuadam2-4/+4
2014-09-23fix arm buildjmcneill2-9/+18
2014-09-10PLIST libtool archive handling doesn't work for symlink aliases, so addjoerg2-2/+7
the entries manually. Bump revision.
2014-08-28Remove unused patch (after 3.6.0 update)wiz1-56/+0
2014-08-21Update to 3.6.0:wiz21-249/+325
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. Highlights Runtime performance counters have been integrated into the profiler allowing the performance counter information to be surfaced to profiling tools and in particular Xamarinâs upcoming profiler. The profiler now produces backtraces for statistical mode. The profilerâs tracing mode now works on ARM. We now distribute nuget on mac. Debugger 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 frame. 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). Performance 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. Profiler The profiler is now able to produces backtraces in statistical mode. 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âs man page. Misc Fixed the handling of the volatile. CIL prefix. We now distribute IKVMâs 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
2014-05-29Bump for perl-5.20.0.wiz1-2/+2
Do it for all packages that * mention perl, or * have a directory name starting with p5-*, or * depend on a package starting with p5- like last time, for 5.18, where this didn't lead to complaints. Let me know if you have any this time.
2014-05-17Bump applications PKGREVISIONs for python users that might be usingwiz1-2/+2
python3, since the default changed from python33 to python34. I probably bumped too many. I hope I got them all.
2014-04-09recursive bump from icu shlib major bump.obache2-4/+4
2014-03-11Remove lib/mono/2.0/mcs.exe.so.wiz1-2/+1
Reported crufty by Iain Morgan <Iain.Morgan@nasa.gov> on pkgsrc-users.
2014-01-01Recursive PKGREVISION bump for libgcrypt-1.6.0 shlib major bump.wiz1-2/+2
2013-11-22Revert -r1.144, which is wrong, and instead clear PLATFORM in ALL_ENV.dholland1-6/+2
Setting PLATFORM causes the build system to look for a ${PLATFORM}.make file; this leads to build failure if a PLATFORM environment variable leaks in from the outside environment.
2013-11-15Restore fragment from patch-dg that deals with not usingjoerg2-5/+41
pthread_setspecific with a deleted key.
2013-11-12Give this netbsd make rules (same as linux) -- this allows it to builddholland1-1/+5
for me.
2013-10-19Revbump after updating textproc/icuadam2-3/+4
2013-09-13Add support for 64-bit SunOS.jperkin6-24/+86
2013-08-18Some NetBSD arm build fixes. Still doesn't build yet.jmcneill5-11/+126
2013-06-17Make mono packages depend on lang/mono2 instead of lang/mono.wiz3-6/+7
The latter contains the unstable version 3 of mono, which breaks many mono packages. Bump dependencies and PKGREVISIONs. Ok during freeze: gdt@
2013-06-06Disable monodoc build and add OPSYS-specific PLIST on SunOS.jperkin3-28/+37
This gets us a working mono package on SmartOS, at least.
2013-06-06Limit the data and stack sizes on SunOS. This gets the build much furtherjperkin1-3/+5
and able to run the compiler, now failing in the documentation generator.
2013-06-05Add patch set for partial SunOS support. This gets us to the point ofjperkin10-19/+136
being able to run the bootstrap compiler, but for some as-yet unknown reason it fails during the build but works ok when executed manually.
2013-05-31Bump all packages for perl-5.18, thatwiz1-1/+2
a) refer 'perl' in their Makefile, or b) have a directory name of p5-*, or c) have any dependency on any p5-* package Like last time, where this caused no complaints.
2013-05-29Update to 3.0.10:wiz47-513/+713
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-09Massive revbump after updating graphics/ilmbase, graphics/openexr, textproc/icu.adam2-4/+4
2013-04-01Remove bogus entry.wiz1-2/+1
2013-04-01Fix assertions on NetBSD when trying to use a thread-specific storagejoerg3-8/+54
key after it has been removed. Bump revision.
2013-02-19NetBSD needs _KMEMUSER now.joerg1-1/+3
2013-01-26Revbump after graphics/jpeg and textproc/icuadam2-3/+4
2013-01-25Explicitly disable DTrace support, it does not build.jperkin1-1/+2
2013-01-19Fix build on NetBSD-current after Jan 2.wiz2-7/+10