The list of files is generated via find(1) and contains each file
individually. Some of these files are modified, some aren't. Those
files that aren't modified are redundant, but since they are not listed
explicitly in the package Makefile, there is no superfluous code.
Avoiding such superfluous code is the whole goal of SUBST_NOOP_OK.
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.
Bump PKGREVISION.
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
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
(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.
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.
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
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.