* WebAssembly: it should be possible to build both the runtime and class libraries targeting WebAssembly
* Profiler: added a new "quiet" mode; added Mono.Profiler.Log.dll, which provides an API to the profiler
* Verifier: the runtime verifier now supports C# 7.0 byref returns
* Modes for the SGen GC: sgen garbage collector now has support for so called "modes", check out the mode parameter documentation for the MONO_GC_PARAMS environment variable in the man page
* Other changes: improved compatibily with alternative languages that depend on implicit widening of locals
* Class Libraries: more classes was replaced by CoreFX codebase
* MCS changes: mcs now has better support for C# 7 syntax
* csi: You are now able to use Roslyn’s csi (C# interactive) REPL tool from the command line
* Roslyn: roslyn was updated to the 2.3.2 release
* ilasm: ilasm gained support for the AggressiveInlining keyword
- Bugfixes:
* bxc#4786 - After failed call to SqlConnection.Open (due to invalid password), subsequent invalid password attempts result in wrong exception
* bxc#5798 - Thread abort can lead to locks not being released
* bxc#5804 - Thread.ResetAbort can prevent appdomain unloading
* bxc#6339 - Headers not being populated in SoapExtension
* bxc#10074 - Error while updating status of command: MonoDevelop.Ide.Commands.ViewCommands.LayoutList
* bxc#11696 - Missing MethodImpl has a duplicate
* bxc#12157 - Missing: Init state for this differs depending on path
* bxc#17325 - RealProxy returns MarshalByRefObject for an Interface instead of the real interface type
* bxc#25755 - HttpClient.Timeout does not throw ArgumentOutOfRangeException when setting Timeout property to 0
* bxc#31507 - ObjectDisposedException when canceling postAsync
* bxc#36053 - Broken enum values conversion
* bxc#36634 - IpcChannelTest.Bug609381 hangs on Linux
* bxc#40556 - Output pad no longer displays unicode characters
* bxc#41279 - Wrong syntax used for nested types in MethodAccessException (and similar)
* bxc#43172 - Failure when alerting threads waiting on a socket that closes
* bxc#43563 - Crash when struct Foo contains static field of type Foo[][]
* bxc#44255 - Inconsistent results in the serialization of TimeZoneInfo.
* bxc#44266 - Unable to change variable values whilst debugging
* bxc#46683 - Recurring hang in System.Xaml on CI
* bxc#52157 - SocketTest.ConnectedProperty test fails in FullAOT Linux runs
* bxc#52621 - Typo in exception message in PKCS12.cs
* bxc#55603 - Follow-up to bug 52845: Satellite assemblies not loaded by app when using “Bundle assemblies into native code” even though they are now successfully mkbundled
* bxc#55697 - .NET 2.0 style web services fail to build under msbuild in Release but work with xbuild
* bxc#56111 - Hitting assertion after enabling AOT+LLVM on x86 devices in tramp-x86.c:124
* bxc#56242 - TypeTest.GetGenericMethodDefinitionOverInflatedMethodOnGTD throws NRE on Android in Release mode
* bxc#57505 - Missing error CS0165 in presence of commented line
* bxc#57528 - [THIS WEEK] Nested streams using SslStream cause ObjectDisposedException when disposed
* bxc#57629 - [io-layer] File.Delete () throws System.UnauthorizedAccessException on non-existing files on a read-only path
* bxc#57691 - InternalsVisibleTo doesn’t work with 2048-bit SNK files
* bxc#57744 - ReflectionTypeLoadException.LoaderExceptions has null exceptions
* bxc#57771 - F#.NET Core 2.0 projects do not compile
* bxc#57796 - Compiler Crash instead of CS1621
* bxc#57850 - Mono assertion when ResolveEventHandler returns a reflection-only assembly
* bxc#57851 - Assertion if using ResolveEventHandler to find custom attributes
* bxc#57887 - Console.Error.WriteLine in System.Net.NetworkInformation
* bxc#57918 - System.Net.Sockets.EndSend returns incorrect value
* bxc#57930 - Building netstandard 2.0 project throws DllNotFoundException: hostfxr during msbuild
* bxc#57936 - Race conditions of mempool.c
* bxc#57959 - SIGSEGV in roslyn with corrupted stack
* bxc#58100 - mono_w32socket_convert_error: no translation into winsock error for (6) “Device not configured”
* bxc#58114 - [llvm] csc (Rolsyn) produce fault clauses that the llvm backend does not support
* bxc#58168 - pedump incorrectly reports mscorlib as invalid
* bxc#58291 - Mono.CSharp Evaluator does not compile enums and throws an exception
* bxc#58317 - Leaking threads: SGen worker and Finalizer
* bxc#58344 - SIMD crash using System.Numerics.Vector
* bxc#58361 - EnumBuilder can no longer be used to generate IL code
* bxc#58379 - Mono jit gives different results that .net for simple il
* bxc#58411 - System.Security.Cryptography.CryptographicException: Store root doesn’t exist
* bxc#58421 - sre-save.c asserts in fixup_method () if TypeBuilder token is used across assemblies
* bxc#58423 - Race condition of metadata.c (mono_metadata_get_canonical_generic_inst)
* bxc#58454 - Cannot resolve method Subscription`1 Subscribe[TSelection](System.Func`2[TState,TSelection], System.Action`2[TSelection,TState]) because the declaring type of the method handle FSI_0002+Store`1[TState] is generic. Explicitly provide the declaring type to
* bxc#58612 - When 2 breakpoints are hit at “same time” 2nd thread frames count==0
* bxc#58621 - CS1703: An assembly `gactestlib’ with the same identity has already been imported. Consider removing one of the references
* bxc#58637 - Heap overflow when using GetAssemblyName
* bxc#58738 - System.IO.MonoIO.Read - Native Crash when device file is gone
* bxc#58770 - * Assertion at ..\mono\utils\mono-threads.c:707, condition `info’ not met
* bxc#58782 - Exception stack traces are deleted when reaching the native-to-managed wrapper in a reverse invoke
* bxc#58793 - Fix pedump to use normal runtime init sequence
* bxc#58809 - Return result of Type.IsAssignableFrom with the generic parameters differs from MS.NET one
* bxc#58829 - Application Output Window being flooded with “[Mono] worker parking, [Mono] worker unparking” messages when debugging agasint Android Emulator.
* bxc#58877 - MonoTests.System.Threading.Tasks.TaskTests.Delay_Simple fails randomly after upgrade to Xcode 8.3
* bxc#58901 - Breaking ABI change on 32 bits with xcode 8.3 or newer
* bxc#58911 - performance degradation with linq expressions
* bxc#58965 - csi fails with “type Object is defined in an assembly that is not referenced”
* bxc#59039 - bug-18026.exe test times out on armel/armhf
* When using deprecated MCS compiler to build Mono, convert incompatible C#6\C#7 code to C#5 analog in order to fix build errors.
- New features and changes:
* JIT Job Control: improve Roslyn performance
* Array element store optimization
* Load scalability improvements
* ValueType write barrier optimization
* Make jit method table resizing more scalable
* Reflection queries scalability improvements
* Intrisificy Marshal.PtrToStruct for blitable types
* Revamped unaligned memory access support
* Interpreter works in JIT restricted environments
* Interpreter supports ARM and ARM64
* Class Libraries: integrated AppContextSwitch code from reference sources which allows all of its compat switches to be used, added reference assemblies for .NET Framework 4.7 to support builds targetting .NET 4.7.
* Tools: bundled nuget binary was updated to version 4.3.0, added packaging for roslyn-parts of msbuild.
- Bugfixes:
* bxc#580 - Type.Load loads strong type despite version mismatch
* bxc#17325 - RealProxy returns MarshalByRefObject for an Interface instead of the real interface type
* bxc#44907 - Applications crash on Nexus 9 devices only since Xamarin.Android 7.0.0.18
* bxc#46482 - SIGSEGV at random code lines after application start on Nexus 9 with Xamarin Android 7
* bxc#53038 - SRE should fail more gracefully when SymbolWriter is missing
* bxc#53202 - Number minus Enum gives wrong value
* bxc#53244 - mcs generates ParamArrayAttribute when specifying “params” in overridden method where base doesn’t have it
* bxc#53792 - CFNetworkHandler reports correct download when internet connection is lost during request
* bxc#54159 - Compiler crashes when calling method named Finalize
* bxc#54322 - await in catch-block inside a loop causes the same exception to be caught multiple times
* bxc#54388 - InternalsVisibleTo is case sensitive
* bxc#54448 - Unable to revert to thread-local storage for CurrentThread.CultureInfo
* bxc#54485 - Creating an open generic type with recurrent constraint fails
* bxc#54658 - [iOS]BCL test failed with Assertion failures error: * Assertion at /Users/builder/data/lanes/4691/6bea7a5b/source/xamarin-macios/external/mono/mono/mini/aot-runtime.c:2924, condition `!async’ not met and condition `unwind_options == MONO_UNWIND_NONE’ not
* bxc#54976 - [iOS]fsharp test failing on iOS device with Assertion at /Users/builder/data/lanes/4691/9245c1c0/source/xamarin-macios/external/mono/mono/mini/mini-arm-gsharedvt.c:220, condition `src_slot < 16’ not met
* bxc#54991 - Cannot compile get => _text
* bxc#55041 - Stripping mscorlib in simple example changes IntPtr (5) behavior?
* bxc#55083 - coreclr test b353858.il fails after 6f33b62f39a273fccb78f71513cb5e0dfb987c70
* bxc#55095 - Breakpoints not hit for ASP.NET MVC Project
* bxc#55348 - “using static” results in invalid compiler errors
* bxc#55400 - MCS produces incorrect code for generic instantiated with a gtd
* bxc#55436 - System.Runtime refuses to load with strict naming
* bxc#55577 - SIMD instructions with System.Numerics.Vectors do not work
* bxc#55603 - Follow-up to bug 52845: Satellite assemblies not loaded by app when using “Bundle assemblies into native code” even though they are now successfully mkbundled
* bxc#55604 - Incorrect struct size when using property setter
* bxc#55697 - .NET 2.0 style web services fail to build under msbuild in Release but work with xbuild
* bxc#56081 - Returning a valuetype from an async method with an awaited parameter yields a Mono.CSharp.InternalErrorException: Await yields with non-empty stack
* bxc#56111 - Hitting assertion after enabling AOT+LLVM on x86 devices in tramp-x86.c:124
* bxc#56202 - [mono-2017-04]Apps fail to launch on 32 bit device with error EXC_ARM_DA_ALIGN at 0x0142ccec
* bxc#56240 - Performance Degradation When Using Expressions
* bxc#56242 - TypeTest.GetGenericMethodDefinitionOverInflatedMethodOnGTD throws NRE on Android in Release mode
* bxc#56247 - Enumerable.OrderByDescending behaves differently on LLVM FullAOT
* bxc#57505 - Missing error CS0165 in presence of commented line
* bxc#57629 - [io-layer] File.Delete () throws System.UnauthorizedAccessException on non-existing files on a read-only path
* bxc#57691 - InternalsVisibleTo doesn’t work with 2048-bit SNK files
* bxc#57744 - ReflectionTypeLoadException.LoaderExceptions has null exceptions
* bxc#57771 - F#.NET Core 2.0 projects do not compile
* bxc#57796 - Compiler Crash instead of CS1621
* bxc#57850 - Mono assertion when ResolveEventHandler returns a reflection-only assembly
* bxc#57851 - Assertion if using ResolveEventHandler to find custom attributes
* bxc#57930 - Building netstandard 2.0 project throws DllNotFoundException: hostfxr during msbuild
* bxc#57959 - SIGSEGV in roslyn with corrupted stack
* bxc#58114 - [llvm] csc (Rolsyn) produce fault clauses that the llvm backend does not support
* bxc#58210 - “* Assertion at metadata.c:1048, condition `index < meta->heap_strings.size’ not met” is output on startup - works fine on Windows
* bxc#58344 - SIMD crash using System.Numerics.Vector
* bxc#58361 - EnumBuilder can no longer be used to generate IL code
* bxc#58399 - Delegates as collection key are ~500x slower than previously
* bxc#58421 - sre-save.c asserts in fixup_method () if TypeBuilder token is used across assemblies
* bxc#58446 - [iOS]EnumerableMoreTest.ConcatArgumentNullTest crash on tvOS device
* bxc#58454 - Cannot resolve method Subscription`1 Subscribe[TSelection](System.Func`2[TState,TSelection], System.Action`2[TSelection,TState]) because the declaring type of the method handle FSI_0002+Store`1[TState] is generic. Explicitly provide the declaring type to
* bxc#58738 - System.IO.MonoIO.Read - Native Crash when device file is gone
* bxc#58782 - Exception stack traces are deleted when reaching the native-to-managed wrapper in a reverse invoke
* bxc#58829 - Application Output Window being flooded with “[Mono] worker parking, [Mono] worker unparking” messages when debugging agasint Android Emulator
* bxc#52086 - Nullable structs with implicit operators generate invalid IL code when compiling with Mono
* bxc#52294 - C# compiler reports an incorrect error in a lambda with generic constraints
* bxc#52340 - Compiler crashes with FATAL UNHANDLED EXCEPTION (nullref)
* bxc#52345 - Process has exited, so the requested information is not available
* bxc#52429 - Shutdown hang then crash in Finalizer thread
* bxc#52437 - Random NullReferenceExceptions in StringBuilder.ThreadSafeCopy
* bxc#52448 - StreamContent apparently needs to rewind stream before sending it
* bxc#52475 - MTOUCH: error MT3001: Could not AOT the assembly
* bxc#52511 - configure script doen’t detect bad configuration
* bxc#52549 - error: mono_w32socket_convert_error: no translation into winsock error for (41) "Protocol wrong type for socket"
* bxc#52590 - Cannot compile for iOS, TypeBuilder exists in two places.
* bxc#52599 - await in finally clause prevents disposal of enclosing using statement
* bxc#52600 - Full AOT: Strange combination of structs, generics, and enums causes runtime failure
* bxc#52743 - denied loading problems
* bxc#52845 - [Cycle 9] Satellite assemblies not bundled when using "Bundle assemblies into native code" due to "unknown escape sequence" error from gcc during mkbundle step
* bxc#52866 - F# sprintf AOT bug still exists
* bxc#52899 - mprof-report missing filenames in coverage xml output when using portable pdbs
* bxc#53066 - Can’t Build Project in Debug with "Could not AOT the assembly"
* bxc#53131 - Calling MakeArray() on a type with a rank that is too big does not throw an exception.
* bxc#53166 - Application crashes when setting a get-only property in constructor
* bxc#53196 - List<>.Sort() using insertion sort does not sort all values when equality isn’t checked.
* bxc#53202 - Number minus Enum gives wrong value
* bxc#53231 - csc doesn’t unify same file passed multiple times when one path is relative
* bxc#53278 - Two coreclr SIMD test failures (one regression from 4.8)
* bxc#53334 - es-US Culture wrong number formatting
* bxc#53684 - Crash when enumerating directory and selecting the first file
* bxc#53689 - [Test] Certificate7 disabled due to SecCertificateCreateWithData does different things on 10.11 vs 10.12 with invalid certificates
* bxc#53792 - CFNetworkHandler reports correct download when internet connection is lost during request
* bxc#53843 - Mono deadlocks on shutdown while waiting for a process which has died
* bxc#53890 - Regression: Native crash while running tests with xunit with mono 2017-02 branch, works with 4.8.0.520
* bxc#54212 - Mono allows casts of non-zero bound array to zero bound array
* bxc#54322 - await in catch-block inside a loop causes the same exception to be caught multiple times
* bxc#54448 - Unable to revert to thread-local storage for CurrentThread.CultureInfo
* bxc#54485 - Creating an open generic type with recurrent constraint fails
* bxc#54991 - Cannot compile get => _text
* bxc#55041 - Stripping mscorlib in simple example changes IntPtr (5) behavior?
* bxc#55083 - coreclr test b353858.il fails after 6f33b62f39a273fccb78f71513cb5e0dfb987c70
* bxc#55436 - System.Runtime refuses to load with strict naming
* bxc#55577 - SIMD instructions with System.Numerics.Vectors do not work
* bxc#55603 - Follow-up to bug 52845: Satellite assemblies not loaded by app when using "Bundle assemblies into native code" even though they are now successfully mkbundled
* bxc#55681 - System.Reflection.Emit.ModuleBuilder.build_metadata bug when running FAKE’s test suite
* bxc#56081 - Returning a valuetype from an async method with an awaited parameter yields a Mono.CSharp.InternalErrorException: Await yields with non-empty stack
* bxc#56240 - Performance Degradation When Using Expressions
* bxc#56247 - Enumerable.OrderByDescending behaves differently on LLVM FullAOT
* bxc#56275 - Unable to copy appname.dll from obj to bin because it is being used by another process
* bxc#56493 - Windows MMAP doesn’t release file
* bxc#56567 - Passing large struct into exception filter method crashes runtime with SIGSEGV
* bxc#56611 - Regression: ArrayTypeMismatchException when running F# script
* bxc#56694 - Assertion: should not be reached at d:\j\workspace\v\repos\mono\mono\sgen\sgen-scan-object.h:91
* bxc#56821 - Static ctor of MarshalByRefObject runs in primary AppDomain
* bxc#56824 - Runtime crash with VSMEF
* bxc#57222 - System.Reflection.AmbiguousMatchException for two fields with same name but different types
* bxc#57744 - ReflectionTypeLoadException.LoaderExceptions has null exceptions
* bxc#55988 - Apps using Roslyn crash when trying to load Roslyn
* bxc#56260 - "This stream does not support writing at System.IO.Compression.DeflateStream.BeginWrite" message
* bxc#55087 - "System.NotSupportedException: Stack walks are not supported on this platform - System.Reflection.MethodBase.GetCurrentMethod" message on Android
- New features (see http://www.mono-project.com/docs/about-mono/releases/4.8.0 for more info):
* Some API additions for .NET Standard 2.0
* Mono now ships with TLS 1.2, powered by Google’s BoringSSL project
* The MKBundle tool has been updated to easily support cross-compilation
* Runtime Logging: the new MONO_LOG_DEST environment variable can set to instruct the runtime where to write the tracing messages to
* Concurrent SGen mode improved
* More code have been adopted from Reference Source
- Bugfixes:
* bxc#3323: Assertion when deleting global namespace inside method
* bxc#3399: [PATCH] pending_exception support is incomplete
* bxc#3434: Mono Compiler crashes when using a DelegateType as a method call
* bxc#3706: generics aot jit problem
* bxc#3735: Attempting to JIT compile method: using Linq’s “Any” fails on the device
* bxc#3767: Unit test UI table cell extends beyond cell bounds for failed test
* bxc#3811: DataContractJsonSerializer deserialization fails with subclass of List as known type
* bxc#3850: ScrollEventArgs in Form_Scroll method has invalid values
* bxc#3960: DismissModalViewControllerAnimated() crashes on 5.2.9
* bxc#4006: MonoDevelop fails to start with no warning if Gtk# is not installed on windows
* bxc#5644: Mono allows to access not accessible method
* bxc#7467: DefaultNonPersistentConnectionLimit is to low
* bxc#12571: Usage of XElement with XmlAnyElementAttribute is not supported by XmlSerializer
* bxc#19594: WebException.Response is null when https request needs proxy authentication
* bxc#29189: Compiling class referencing corefx facade/contract assemblies raises error “Reference to type System.SByte claims it is defined assembly mscorlib,.. but couldn’t be found”
* bxc#30686: ZipArchive ctor throws InvalidDataException for WebConnectionStream
* bxc#30821: Compilation generates CS1701 warning
* bxc#32374: WebRequest::BeginGetRequestStream incorrectly sets IAsyncResult::CompletedSynchronously to always true
* bxc#33571: Mono crashes when marshalling fixed arrays
* bxc#34802: Debugger crash on break-all, step into sequence.
* bxc#35536: Dns.GetHostEntry no longer supports IPv6
* bxc#35662: Type System.ServiceModel.Security.Tokens.BinarySecretSecurityToken is missing in assembly System.IdentityModel
* bxc#39282: [System.IO.Compression] issues with ZipArchiveEntry streams
* bxc#39859: Xamarin.Android apps on the Samsung Galaxy S7 fails to start with the error System.ExecutionEngineException SIGILL
* bxc#40603: Mono can’t parse Date in DB wich is in format: “2016-02-04 10:39:11Z”
* bxc#40916: [System.IO.Compression] ZipArchive can create an ZipArchiveEntry that has a modified time of DateTime.MinValue
* bxc#41035: DataViewTest2.DataView_ListChangedEventTest occasionally fails with llvm+sgen
* bxc#41349: System.TimeZoneInfo.IsDaylightSavingTime (DateTimeOffset dateTimeOffset) Not Implemented Exception
* bxc#41509: DLR crashes when trying to convert a object to null.
* bxc#41530: [iOS]TimerTest failing randomly on devices,
* bxc#41552: HttpResponseMessage does not support multiple Links header entries
* bxc#41575: A Method That Accepts a FormattableString Object Is Not Called
* bxc#3323: Assertion when deleting global namespace inside method
* bxc#3399: [PATCH] pending_exception support is incomplete
* bxc#3434: Mono Compiler crashes when using a DelegateType as a method call
* bxc#3706: generics aot jit problem
* bxc#3735: Attempting to JIT compile method: using Linq’s “Any” fails on the device
* bxc#3767: Unit test UI table cell extends beyond cell bounds for failed test
* bxc#3811: DataContractJsonSerializer deserialization fails with subclass of List as known type
* bxc#3850: ScrollEventArgs in Form_Scroll method has invalid values
* bxc#3960: DismissModalViewControllerAnimated() crashes on 5.2.9
* bxc#4006: MonoDevelop fails to start with no warning if Gtk# is not installed on windows
* bxc#5644: Mono allows to access not accessible method
* bxc#7467: DefaultNonPersistentConnectionLimit is to low
* bxc#12571: Usage of XElement with XmlAnyElementAttribute is not supported by XmlSerializer
* bxc#19594: WebException.Response is null when https request needs proxy authentication
* bxc#29189: Compiling class referencing corefx facade/contract assemblies raises error “Reference to type ‘System.SByte’ claims it is defined assembly ‘mscorlib,..’ but couldn’t be found”
* bxc#30686: ZipArchive ctor throws InvalidDataException for WebConnectionStream
* bxc#30821: Compilation generates CS1701 warning
* bxc#32374: WebRequest::BeginGetRequestStream incorrectly sets IAsyncResult::CompletedSynchronously to always true
* bxc#33571: Mono crashes when marshalling fixed arrays
* bxc#34802: Debugger crash on break-all, step into sequence.
* bxc#35536: Dns.GetHostEntry no longer supports IPv6
* bxc#35662: Type System.ServiceModel.Security.Tokens.BinarySecretSecurityToken is missing in assembly System.IdentityModel
* bxc#39282: [System.IO.Compression] issues with ZipArchiveEntry streams
* bxc#39859: Xamarin.Android apps on the Samsung Galaxy S7 fails to start with the error System.ExecutionEngineException SIGILL
* bxc#40603: Mono can’t parse Date in DB wich is in format: “2016-02-04 10:39:11Z”
* bxc#40916: [System.IO.Compression] ZipArchive can create an ZipArchiveEntry that has a modified time of DateTime.MinValue
* bxc#41035: DataViewTest2.DataView_ListChangedEventTest occasionally fails with llvm+sgen
* bxc#41349: System.TimeZoneInfo.IsDaylightSavingTime (DateTimeOffset dateTimeOffset) Not Implemented Exception
* bxc#43636: [Cycle 8] “Index was out of range. Must be non-negative and less than the size of the collection” in System.Collections.Generic.List1[T].set_Item() when attempting to compile certain C# code involving tasks, async/await, and try/catch/finally
* bxc#43695: Nuget resolves .netstandard <= 1.3 when Xamarin.IOS does not support it
* bxc#43696: Delegate caching can invoke unrelated implementation leading to strange results
* bxc#43718: mcs crashes when unable to resolve type inside lambda using the ‘as’ operator
* bxc#43786: peverify is broken again
* bxc#43921: System.Threading.ThreadHelper.ThreadStart_Context tries to allocate, crashes
* bxc#44025: FTP download issue with IPv6
* bxc#44109: NetworkCredential does not convert SecureString
* bxc#44164: gosharp-regexp benchmark triggers unwinding crash when profiling
* bxc#44168: Can use non-accessible member with nameof
* bxc#44381: Debugger crash with domain unloading and VSTU
Tue Sep 27 18:00:00 UTC 2016 - fwdsbs.to.11df@xoxy.net
- Update source tarball from 4.6.0.243 to v4.6.0.245
* fixes in mcs/class/Microsoft.NuGet.Build.Tasks/Makefile
- added bxc-44402.patch: bxc#44402 - Array doesn’t implement non-generic IEnumerable. See https://bugzilla.xamarin.com/show_bug.cgi?id=44402 for more details
* bxc#32020 - Don’t default to –with-tls=pthread on Solaris/x86
* bxc#32315 - Inspecting a variable gives information from the incorrect symbol
* bxc#32374 - WebRequest::BeginGetRequestStream incorrectly sets IAsyncResult::CompletedSynchronously to always true
* bxc#32561 - Could not load file or assembly Microsoft.Build.Utilities
* bxc#32768 - New bcl-tests crashing due to System.ObjectDisposedException: Cannot access a disposed object
* bxc#33551 - System.Net.SmtpClient uses an invalid HELO name
* bxc#33553 - System.IO.Compression.ZipArchive produces bad archive files
* bxc#33809 - Exception with SignalR 2.2 and Mono 4.2.0
* bxc#34133 - [iOS]System test failures on iOS devices with cycle6 build
* bxc#34314 - libgdiplus.so without API suffix is referenced by System.Imaging
* bxc#34413 - SOAP header within the SOAP envelope is not being serialized correctly
* bxc#34498 - AOT task fails if project path has a space in it
* bxc#34883 - bcl-test failure in PingTest.PingSuccess on Samsung Galaxy S3
* bxc#34916 - GZipStream fails on iOS
* bxc#35004 - Filename returned by LocalEndpoint of UnixListener has null characters appended to the end which causes the socket file to not be deleted when the UnixListener is disposed
* bxc#35872 - Cultureinfo -> numinfo internal field is NonSerialized on Mono, but not on Windows
* bxc#35876 - Incorrect return of DateTime.ToUniversalTime method for DateTime.MaxValue.
* bxc#36080 - [Mono 4.2] “‘System.ServiceModel.EndpointAddress10’ does not have a static method ‘GetSchema’ that takes a parameter of type ‘System.Xml.Schema.XmlSchemaSet’” when using the Xamarin Mobile profile with some WCF client apps
* bxc#36116 - Mono 4.2 generates incorrect “Reference.map”, causing “Could not find file ‘/TempConvert.wsdl’” when adding or updating a Web Reference in Xamarin Studio
* bxc#36183 - Since upgrading to Xamarin Android 6 get error error MSB3733: Input file “obj\Android\Debug\android\AndroidManifest.xml” cannot be opened
* bxc#36192 - Error binding Socket to Loopback
* bxc#36388 - Application settings produce extra XML headers during saving
* bxc#36401 - [XM 2.4] “System.Configuration.ConfigurationErrorsException: Failed to load configuration section for dataContractSerializer” when using ChannelFactory with the “Xamarin.Mac .NET 4.5 Framework”
* bxc#36723 - [iOS][llvm/thumb] Linksdk “Linker_RuntimeWrappedException” test crash on iOS device with master build * Assertion at ../../../../../mono/mono/mini/aot-runtime.c:4733, condition `plt_entry’ not met
* bxc#36786 - Dictionary constructed with StringComparer.OrdinalIgnoreCase malfunctions if culture is changed after adding values
* bxc#36829 - XmlSerializer does not support subclasses when serializing sequences of items
* bxc#36852 - Update to latest Xamarin.Android (6.0.0.34) causes random application crashes with no information
* bxc#36988 - stderr is not redirected correctly
* bxc#37116 - [iOS] Application.Current.Properties does not persist on iOS with Forms
* bxc#37246 - [tvOS]System test failure on device
* bxc#37414 - Environment.Is64BitOperatingSystem returns false on OS X
* bxc#37582 - Latest master crashes when trying to set breakpoint on async anonymous method
* bxc#37583 - MAJOR performance decrease between 4.0.5.1 and 4.2.1
* bxc#37681 - Fails to parse negative integers with Hebrew region set
* bxc#37695 - Delegate references an overridden method in derived class misbehaves when marshalled as a parameter to native C function.
* bxc#37732 - [iOS] HttpWebRequestTest.NtlmAuthentication failed on iOS device with mono 4.3.2
* bxc#37801 - C * bxc# 6: Compiler crashed with code: 1 - FATAL UNHANDLED EXCEPTION
* bxc#37834 - GetFileAttributes does not return FileAttributes.ReadOnly for locked file on OSX
* bxc#37848 - CultureInfo.GetCultureInfo(0) should throw ArgumentOutOfRangeException instead of CultureNotFoundException
* bxc#37886 - mcs 4.2.2 generates bad IL when string-interpolating a dynamic object
* bxc#39042 - appdomain-unload.exe sometimes hangs in CI
* bxc#39077 - AppDomain.CurrentDomain.UnhandledException prevents exceptions in ThreadPool from crashing the application
* bxc#39153 - return wrong value if async/await used in finally block
* bxc#39200 - Console app crashes with 4.4.0, assertion
* bxc#39266 - C * bxc#6 null conditional operator does not appear to work with async when using mono/xbuild
* bxc#39279 - Thread pool sizes are incorrect on linux when processor affinity is set, which complicates running mono applications in docker containers
* bxc#39282 - [System.IO.Compression] issues with ZipArchiveEntry streams
* bxc#39305 - [iOS]Signal Current failure in mscorlib tests
* bxc#39347 - Assertion when passing delegate of icall method to p/invoke
* bxc#39420 - [iOS]mini test failures when Armv7s+LLVM is enabled in release config
* bxc#39459 - Corrupted async result when returning new struct directly
* bxc#39528 - [iOS] [Private] Assertion: should not be reached at tramp-arm64-gsharedvt.c:78
* bxc#39568 - Unmanaged crash: icall.c:5484: Could not resolve type with token 01000008 assembly:System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 type:System.IdentityModel.Tokens.IssuerTokenResolver member:
* bxc#39569 - Validation of ETag by HttpHeaders.Add is too strict
* bxc#39574 - Compilattion Error CS0842 thrown on Expression Body getter property with explicit StructLayout
* bxc#39631 - PPDB support fails to load any pdb when verifier is involved
* bxc#39644 - * Assertion at image.c:512, condition `image->heap_guid.size >= 16’ not met
* bxc#39669 - When using XML configuration files, a broader set of configuration section types is now available, including System.Configuration.DictionarySectionHandler.
* bxc#39715 - ppdb support causes crash at shutdown
* bxc#39746 - Assertion at method-to-ir.c:11652 when using mono master/ca7b692f4 and nuget
* bxc#39824 - Exceptions can now be serialized using SerializeObjectState.
* bxc#39866 - Await + finally produces exe that causes InvalidProgramException on Windows
* bxc#39911 - System.Reflection.Emit.DerivedType isn’t an IReflectableType so GetTypeInfo throws
* bxc#40040 - * Assertion: should not be reached at mini.c:4403
* bxc#40060 - System.TypeSpec.Parse cannot parse generics + anonymous type name
* bxc#40088 - Call in lamda of static method with dynamic parameter fails in constructor argument
* bxc#40108 - ConditionalWeakTable collects values when the key is kept alive as toggle-ref
* bxc#40144 - checking for __sync_bool_compare_and_swap… no
* bxc#40175 - Runtime crashes on ‘-v –version’
* bxc#40187 - System.IO.Directory.CreateDirectory on Linux does not handle /.. in the path
* bxc#40239 - SIGSEGV 27408 repro
* bxc#40368 - Setting FileInfo.LastWriteTime has different results with mono32 and mono64
* bxc#40462 - [ios] FileStreamTest.OpenCharDeviceRepeatedly(mscorlib) failure in ios device
* bxc#40493 - Invalid IL when using ?. operator on a Func parameter in a generic function when T is unconstrained
* bxc#40536 - Compiler crash when attaching an event of a templated delegate with wrong template type
* bxc#40568 - Runtime crashing on System.Enum.GetValues on char enums with F * bxc#
* bxc#40570 - [tvos]Crypto test failures (linksdk) due to secure channel fialure on AppleTV
* bxc#40574 - [iOS tvOS]SystemRuntimeSerialization test failure with master build
* bxc#40603 - Mono can’t parse Date in DB wich is in format: “2016-02-04 10:39:11Z”
* bxc#40624 - mscorlib tests fails on master
* bxc#40643 - Process leaking handles leads to “too many open files”
* bxc#40646 - Oid and FriendlyName for sha384
* bxc#40697 - Some NumberFormat have wrong GroupSeparator
* bxc#40758 - [Regression] Remoting instance is not proxied
* bxc#40860 - MT2001 Could not link assemblies Value does not fall within the expected range
* bxc#40886 - pdb is always prefered over mdb
* bxc#40899 - InvalidCastException using AppleTLS
* bxc#40916 - [System.IO.Compression] ZipArchive can create an ZipArchiveEntry that has a modified time of DateTime.MinValue
* bxc#40945 - NREX when modifying project/solution properties
* bxc#40953 - Bad performance using TypeBuilder
* bxc#41035 - DataViewTest2.DataView_ListChangedEventTest occasionally fails with llvm+sgen
* bxc#41961 - [watchOS] [LLVM] Exceptions in Delegate.BeginInvoke callbacks are not handled on the threadpool thread, causing process to exit due to unhandled exception
* bxc#41979 - CodeDom cannot call mcs because of invalid encoding configuration
* bxc#42057 - error CS0121: The call is ambiguous
* bxc#42169 - (managed_alloc) Fatal: Managed allocator missing for (mkbundle) in Mono 4.4.X
* bxc#42191 - sdb deadlocks all the time while XS debugs XS
* bxc#42198 - error CS0529: Inherited interface causes a cycle in the interface hierarchy.
* bxc#42219 - [System.IO.Compression] Cannot create ZipArchive with duplicate entries with same name
* bxc#42224 - Compiler crashed with code: 1, “Await yields with non-empty stack” from AssertEmptyStack ()
* bxc#42274 - System.IO.Compression.ZipArchive vs System.Xml.XmlReader
* bxc#42408 - WebClient.DownloadString returns 401 Unauthorized when using Basic authentication
* bxc#42410 - String Interpolation available even when langversion < 6
* bxc#42413 - Volatile fields don’t enforce acquire - release semantics like Volatile.Read() and Volatile.Write()
* bxc#42584 - InternalError / Crash when using System.Net.Http and PCL library
* bxc#42585 - Switch fall-through not rejected
* bxc#42606 - [Regression] Compact seq point enabled by default causes 100% CPU usage
* bxc#42611 - wrong compiler error when using IEnumerable.Sum
* bxc#42625 - coop: crash with watchos system tests
* bxc#42688 - Can’t wait for more than 429496 ms (429s)
* bxc#42702 - Unnecessary dependency checks
* bxc#42750 - Deploying an iOS app to iPhone 6S crashes when a breakpoint is set
* bxc#42864 - [Cycle 7] “System.Net.WebException: Error: NameResolutionFailure” on second web request to certain raw IP addresses with HttpClient
* bxc#43636 - [Cycle 8] “Index was out of range. Must be non-negative and less than the size of the collection” in System.Collections.Generic.List1[T].set_Item()` when attempting to compile certain C * bxc# code involving tasks, async/await, and try/catch/finally
* bxc#43645 - Items and properties not emitted for up to date targets
* bxc#43718 - mcs crashes when unable to resolve type inside lambda using the ‘as’ operator
- drop libgdiplus0-un-devel.patch (included upstream)
Sun Jun 12 00:00:00 UTC 2016 - fwdsbs.to.11df@xoxy.net
- Added mono-config-fix-monoposixhelper-libdir.patch to fix incorrect substitution of $mono_libdir (only for libMonoPosixHelper.so) in mono config file:
* Fix incorrect replacement of $mono_libdir in config file for libMonoPosixHelper native library, when system libdir (/usr/lib64 on x86_64 builds) differs from mono install dir (/usr/lib)
Sat Jun 11 00:00:00 UTC 2016 - fwdsbs.to.11df@xoxy.net
- Update to mono 4.4.0.182, new major release v4.4. Short changelog since v4.2:
* Class Libraries now tracking .NET 4.6.1 APIs, folder structure is updated. Support for older APIs via reference assemblies
* WCF: WebHttpBinding must use http scheme in case when SecurityMode == WebHttpSecurityMode.TransportCredentialOnly
* Embedding API: mini_parse_debug_option allows embedders to set debug options programatically, without going through the MONO_DEBUG environment variable.
* Unmanaged Thin Locks: improved performance for locks and thin locks in some cases, decrease in performance for the case of repetitive nesting of a lock
* libmono now defaults to SGen
* FullAOT: Generic Value Type Sharing improvements
* Cooperative Mode for SGen GC by using MONO_ENABLE_COOP environment variable
* Thread Priority Setting: Implement a SetPriority/GetPriority facility for real-time threads
* Other improvements to garbage collector: concurrent capabilities, lock-free GC handles, performance and memory optimizations
* Profiler: annotate GC roots, so the profiler can get better visibility into the nature of objects that keep objects alive
* Threadpool: no longer using the sparse array for the threadpool, as for many thread it would slow down some operations
* Debugger: the soft debugger now allows nested invocations to take place
* PowerPC: the PowerPC backend has been updated to support big endian systems
* C# Compiler: null operator (?.) has been implemented for dynamic expressions
* Named events and semaphores: the support for sharing named events/semaphores etc. between processes (MONO_ENABLE_SHM) has been removed. Use Mono.Posix instead
* Reflection: major upgrade to Reflection APIs for Roslyn support
* Tools updated: csharp, mdoc, mkbundle, xbuild
More information at: http://www.mono-project.com/docs/about-mono/releases/4.4.0
* fix incorrect requires for libmono-2_0-devel package: it should require libmonosgen-2_0-devel when building with %{sgen} flag enabled, fix broken symlinks to libmonosgen lib
Thu Jun 2 00:00:00 UTC 2016 - fwdsbs.to.11df@xoxy.net
- added find-deps-fix.patch: remove libmono library check from mono-find-requires and mono-find-provides scrits to fix custom dependencies generator in other mono packages (that invoke this scripts directly)
- added missing provide-dependencies from /usr/lib/mono/4.5/Facades dir (that was removed at Nov 17 2015 changes)
- added System.Transactions and System.Configuration.Install provide-dependencies to mono-devel
* [System.Runtime.Serialization] Static serializer calls directly into internal APIs to fix 4.2.1
* [corlib] Fix multicast delegate remove behavior
* [corlib] Fix multicast Method property
* [System.XML] Fix endless recursion in XmlCompiledTransform on mobile
Runtime
* bxc#35828 - [runtime] Fix Thread.CurrentThread in non-root appdomains by setting the tls slot in start_wrapper, otherwise Thread.CurrentThread would create a new Thread object so there would be two
* bxc#20186 - [runtime] Make sure ptr-to-structure and structure-and-ptr wrappers are unique, this is needed by full aot
* bxc#36292 - [jit] Avoid a verification error in gsharedvt code with ldarga + gshared types
* bxc#36256 - [aot] Cache inflated methods loaded from aot images to avoid repeating an expensive search
Tue Nov 17 00:00:00 UTC 2015 - fwdsbs.to.11df@xoxy.net, martin.liska@suse.com
- Update to version 4.2.1.102:
* More adoption of Microsoft's open source code
* Support for PPDB debugging format
* New threadpool implementation
* Runtime optimizations
* Extensive bug fixing (see http://www.mono-project.com/docs/about-mono/releases/4.2.0 for complete list)
- Temporary fixes for old incorrect dependencies. See this link for more details: https://github.com/mono/mono/commit/1f4133a06f252ec1b78637dd91e49f50836cf570
- Added authors.patch to fix missing authors file
- Added strncat-process-c.patch - fix insecure use of strncat at process.c:383 to fix OBS build
Sat Jan 24 09:41:00 UTC 2015 - mailaender@opensuse.org
- update 3.12.0
* Major performance and memory consumption improvements on SGen.
* Improve the heuristic of the ThreadPool to maximize efficiency and minimize the number of Threads.
* New cert-sync tool automatically syncs Mono’s certificate store against the OS certificate store on Linux
* X86 code now generate pushless code. This is faster on modern CPUs.
* Multiple fixes in the profiler to make statistical sampling reliable and functional without kernel assisted sampling.
* Mono users no longer need to run mozroots to get SSL working.
* Switched to adaptative hill climbing for sizing the pool.
* The supervisor thread now goes into deep sleep when no new jobs are submitted for a while. This should save power on targets running on batteries.
* Reorganized how major heap blocks are manipulated for increased efficiency of the major collection.
* Reduced memory consumption by better sizing of allocation buckets.
* Switched to a simpler heuristics for major heap sizing that is more stable and avoid unexpected spikes.
* Removed the parallel collector, it was an experimental feature that did not provide an effective speedup. It will be brought back in the future with a functioning design.
* Removed the fixed heap configuration, it was an experimental feature that did not deliver enough of a performance improvement.
* Avoid asserts on shutdown when the appdomain unload callbacks are called on the debugger thread during shutdown. Fixes bxc#24342.
* Fix the calculation of the epilog size for EH info. Fixes bxc#24577.
* Fix a class initialization race which happens if a class initializer initializes a got slot before it finishes running. Fixes bxc#23242.
* Fix OP_LOCALLOC on arm so it correctly adjusts sp with the param area size even if the size is large. Fixes bxc#24221.
* Disable the extension of i8/i16 arguments to i32 on arm64, since the ios calling convention passes them differently than i32. Fixes bxc#22800.
* Use NULLIFY_INS () to nullify instructions and use MONO_INST_NEW to create phi node instructions to avoid asserts in the spill pass. Fixes bxc#24006.
* Rewrite the way direct calls are made between llvm methods. Previously all calls were made to plt entries and the plt entry symbols were aliased to point to the corresponding method if the method was directly callable using the .set assembler directive. This doesn’t seem to work with newer LLVM/CLANG versions, so do this completely on the LLVM side using Value::replaceAllUsesWith (). Fixes bxc#23976.
* Make process handles non-shared. Fixes bxc#23423.
* Fix the return of vtypes containing a single fp member from pinvoke methods on OS X/x86. Fixes bxc#23813.
* Fix an SRE assert. Fixes bxc#19039.
* Implement 5dbf97e66057f8626c53fcea30f1988d6627e5a2 for calls made from NEWOBJ too. Fixes bxc#23557.
* Make each CASTCLASS_CACHE patch unique by generating a unique identifier from the method index and an per-method counter. Fixes bxc#23478.
* Disallow generic classes with explicit layout. Fixes bxc#23438.
* Add an option to make debugger invokes virtual. Part of the fix for #23385.
* Allow renaming of threadpool threads. Fixes bxc#23206.
* Fix the unregistration of our exception handler on Windows. Fixes bxc#23221.
* Make calls from gshared to gsharedvt sharable methods indirect since otherwise at runtime we might find an instantiation and we cannot patch the call, leading to performance problems. Fixes bxc#23021.
* Allow the SIZEOF opcode in gsharedvt code if it doesn’t reference a gsharedvt type. Fixes bxc#22711.
* Fix mono_marshal_free_ccw (). Fixes bxc#22414.
* Fixes DbEnumerator current property to clone read data. Fixes bxc#24452
* Allow sending of text data longer than 4000 characters by using a different column type. Fixes bxc#21172.
* Implement MonoGenericClass:GetCustomAttributes () for created types. Fixes bxc#23769.
* Improved Json deserialization of floating-point numbers. When DataContractJsonSerializer was created from type object, deserialization of floating.point numbers was not possible. Fixes 21583.
* Test Json deserialization of a floating-point number as object. Covers bxc#21583.
* Rss20ItemFormatter.ReadFrom now sets Id when guid is PermaLink. Fixes bxc#23262.
* Uri made from UNIX path and RelativeOrAbsolute is now relative. Fixes bxc#22954.
* UriParseComponents no longer decodes ‘@’ in UserInfo. Fixes bxc#23246.
* Update en-NZ designators. Fixes bxc#22212
* Update to my last fix for bxc#22129.
* Copy out/ref parameters on async call; bxc#22129.
* If not specified assume that array items are nullable. Fixes bxc#19012.
* Added optional serialization based on ShouldSerialize{V}. SerializationCodeGenerator and XmlSerializationWriterInterpreter will no longer serialize an attribute named {V} if its object has a method named ShouldSerialize{V}() that returns false. {V}Specified now is also checked to be true before serializating the attribute even if it is a property that is not settable. Fixes bxc#1852.
* GMT DateTimeOffset is now properly parsed. Fixes bxc#22851. GMT date formats set useutc to true, so now useutc is checked to init DateTimeOffset with a zero offset.
* Improved CalendricalCalculations fixed_from_dmy methods. Fixes bxc#21930. In some cases fixed_from_dmy is used with the month parameter greater than the number of months of that year. Year is now incremented until month parameter is valid.
* Enumerate all subdirectories including the first one. Fixes bxc#22857
* Encode ContentDisposition name. Fixes bxc#18422
* When needed serialized objects are now implicitly converted. Fixes bxc#20403.
* Fix ClientWebSocket.ReceiveAsync() with small buffer; bxc#22704.
* Tokenize dash only in range values. Fixes bxc#22764
* Added time format with only offset. Fixes bxc#22558.
* Added support for UriComponents.SerializationInfoString. Fixes bxc#21571.
* Unify handling of default ctor and zero. Fixes bxc#22591
* Make SendAsync state free to handle recursive calls. Fixes bxc#22724
* Actually fix #22179 to allow concurrent requests.
* DateTime.Parse now handles unlimited number of fractional digits. This change was made because .NET can parse ISO8601 format with an unlimited number of fractional digits. Fixes bxc#22417.
* Added test ISO8601FractionalDigits. Covers #22417.
* Delay reflection hit to actual execution point. Workarounds #22522
* Update RequestMessage.RequestUri.AbsoluteUri after redirect. Fixes bxc#22383
* Catch exceptions thrown by SerialPortStream.Dispose () when called from the finalizer. Fixes bxc#15514
* KeyPairPersistence now tries to fix folder permissions. An exception is no longer thrown if the folder permissions can be fixed. Fixes bug bxc#19274.
* A pointer-type may be used as the type of a volatile field. Fixes bxc#23770
* Correctly identify constant switch section when value match is not section start. Fixes bxc#23475
* Check for true/false user operators on unwrapped nullable type. Fixes bxc#23199
* More tweaks to conditional tokenizer. Fixes bxc#23319
* Populate inherited constraints member cache from types not only base types. Fixes bxc#23017
+ 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.
+ Fix support for unaligned offsets in the store_membase_imm opcodes. bxc#23267.
+ Fix the lookup of nested types which have a namespace. bxc#21653.
+ Increase some opcode sizes. bxc#23026.
+ Always pass the imt arg to interface calls in gsharedvt methods. bxc#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. bxc#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. bxc#21164.
+ Fix yet another native types problem. bxc#22053.
+ Fix the leaking of mach ports introduced by 98bbf8512aec0fa01b4426583280f6d231d22187. bxc#22068.
+ Add support for constrained calls with vtype return types in gsharedvt code. bxc#22109.
+ Fix the PLATFORM_GNU check so it works with gnueabi etc. as well. bxc#21520.
+ Don’t make runtime invoke signatures generic. bxc#21973.
+ Allow v8..v15 in unwind info on arm64. Fixes part of #21615.
+ Fix Process.PrivateMemorySize64 etc. on ios. bxc#21882.
+ Fix enum->int casts in gsharedvt code. bxc#21893.
+ Don’t assert when loading a generic methodspec with 0 arity. bxc#19097.
+ Avoid asserting when a cattr cannot be loaded. bxc#21653.
+ Avoid making generic calls from gsharedvt methods normally, go through the rgctx infrastructure instead. bxc#21677.
+ Fix Uri UserInfo parsing. Fixes 23246.
+ Update RequestMessage.RequestUri.AbsoluteUri after redirect. bxc#22383.
+ Fixes XContainer attempt to create a XNode from a null value. bxc#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. bxc#18772.
+ Process XslLiteralElements with only child attributes as empty ones. bxc#14751.
+ Fixed serialization of XmlNode field with attribute XmlAnyElement. bxc#3211.
+ Handle String::Format with escaped closing }. bxc#22114
+ Add a missing check to TypeBuilder.CreateType (). bxc#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. bxc#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. bxc#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. bxc#18482.
+ Handle quoted filename value. bxc#21960.
+ Dispose XmlReader using correct value. bxc#21771.
+ Don’t use `1 naming for compiler generated second level and deeper nested types. bxc#22893.
+ Extend missing type check to type lookups. bxc#20933.
+ Fix copy and paste error in constraints checker. bxc#22131.
+ Speed up nullable tokenizer. bxc#20195.
+ Coalescing operator if the lhs of a null is a integer type that is larger than the integer type on the rhs. bxc#22054.
+ Check for duplicate destructors. bxc#21983.
+ Switch statement with constant block at first label. bxc#21805.
+ Decimal constants modulo folding. bxc#21743.
+ Update codegen for boolean loads. bxc#21685.
+ Workaround for issues with CreateItem task where metadata are not generated due to up-to-data inputs. bxc#23022.
+ Add KeepDuplicates etc. to 4.0 as internal. bxc#20961.
Sat Sep 6 15:12:18 UTC 2014 - mailaender@opensuse.org
- Removed upstreamed ppc.patch
- Updated to 3.8.0
+ The JIT now better handle long remainers by powers of two, generating significantly better code.
+ Over 10x faster code is generated for delegates that only invoked once. C# features such as async and LINQ produces 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.
+ Optimized one of the core data structures of the garbage collector should result in 5 to 10% reduction in collection times.
+ Fix the leaking of mach ports introduced by 98bbf8512aec0fa01b4426583280f6d231d22187. bxc#22068
+ Fix Process.PrivateMemorySize64 etc. on ios. bxc#21882
+ Fix enum->int casts in gsharedvt code. bxc#21893
+ Avoid making generic calls from gsharedvt methods normally, go through the rgctx infrastructure instead. bxc#21677
+ Fix another native-types problem. Hopefully fixes #21670 and #21636
+ Use alias information to eliminate explicit null checks. bxc#21645
+ Initialize fields in MonoField:GetFieldOffset () if needed. Fixes part of #21604
+ Properly handle rethrow outside of catch blocks. bxc#20412
+ Disable runtime unit tests on linux, because it cannot be linked due to circular dependencies between libraries. bxc#21520
+ When parsing a method header, ensure we pass any available generic context. bxc#21388
+ Added new mono_domain_set_config function; used to fix ConfigurationErrorsException in bxc#10468
+ Only apply the maverick stack size hack to the main thread. bxc#10096
+ Don’t hardcode the temp dir to /tmp, use g_get_tmp_dir instead. bxc#20894
+ Explicit thread GC data around instead of relying on TLS storage. bxc#20360
+ Make WaitForPendingFinalizers () really wait for the finalizers added by a previous GC. bxc#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. bxc#20788
+ Fix the popping of LMF frames during unwinding. bxc#20616
+ Fix the marshalling of ByValTStr types which have a size specified. bxc#20674
+ Fix the decoding of MonoJitInfo. bxc#16439
+ Make it possible to create views to magic zero size files such as /dev/zero. bxc#19460
+ Free static bound delegate wrappers of dynamic methods. bxc#19058
+ Don’t perform double accounting of offset for named memory segments. bxc#20591
+ Avoid joining attached threads. bxc#19343
+ Fix support for custom marshallers defined in other assemblies. bxc#20020
+ Fix a jit assertion on a class which contains an empty struct as a static field. bxc#20349
+ Applied patch from Kyle Edwards kyleedwardsny@gmail.com. Fix isinf () check with clang. bxc#20244
+ Fix constrained type unwrap for enum types. bxc#18371
+ Handle quoted filename value. bxc#21960
+ Correctly handle partial chunk sizes. bxc#20583
+ Tweak Dictionary initial capacity to be more conservative. bxc#21375
+ Handle closed-over-null delegates created with IL when using InvokeDynamic. bxc#21196
+ Fix a race in a Task test. bxc#20921
+ Contract the values array when decoding an array with a negative number and a trailer that evals to zero. bxc#20456
+ Fixes issue with expression columns and IsNull. bxc#20925
+ Array qsort without head allocation. bxc#20922
+ Enum::TryParse ignores leading whitespaces. bxc#20870
+ Fix disposing of DelegatingHandler. bxc#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. bxc#16990
+ Removed NET_2_1 conditional blocks from FileInfo. bxc#19862
+ Update codegen for boolean loads. bxc#21685
+ Effective base class can include inherited types. bxc#21390
+ Handle duplicate resume point registration. bxc#21387
+ Arguments can be empty when reporting missing params argument. bxc#21215
+ Flow analysis of moved arguments. bxc#20983
+ Run new initializer await checks only in async context. bxc#20614[system.data] Parse numeric expressions using invariant culture. bxc#20582
+ Reachability analysis should ignore local variables declarations. bxc#20603
+ Check for missing dependencies of container types. bxc#20382
+ Resolve event expression when testing left side expression. bxc#20493
+ Flow analysis of binary expressions not using logical operators. bxc#20515
+ Add 4.5.1 framework to MSBuild. bxc#20827
+ Parsing conditions with property references. bxc#20634
+ Implements property functions using constructor syntax. bxc#12999
+ 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. bxc#9924.
Sat Aug 16 08:02:29 UTC 2014 - mailaender@opensuse.org
- Rebased patches and submitted to upstream
- Removed ARM compatibility hacks https://github.com/mono/mono/pull/1211
+ mono-arm-cpuinfo-v5.patch
+ mono-arm-cpuinfo-v7.patch
+ mono-arm-vfp.patch
- Update to 3.6.0
+ 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.
+ 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 on the profiler.
+ 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.
+ The GC bridge got a lot of performance work. There are now two new modes that can significantly improve some workloads.
+ 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 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.
+ 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.
+ Our msbuild implementation can now build Project K and Roslyn
+ Optimized EqualityComparer for more types.
+ [mcs] Flow analysis of nested binary expressions inside anonymous methods was missing on left/right reset.
+ [mcs] Fix betterness logic for default vs params parameters.
+ [mcs] Flow analysis of binary expressions not using logical operators.
+ [mcs] Emit unmanaged version info from AssemblyFileVersion.
+ [mcs] Fix expression tree conversion type for lifted enum equality comparisons.
+ [mcs] Report error when named argument for param parameter is given but not all formal parameters are provided.
+ [mcs] Unify reachable label lookup.
+ [mcs] Don’t release field address copy before it’s used.
+ [mcs] Fix error reporting propagation for loop statements.
+ [mcs] Emit better code for null coalescing operator with nullable return type.
+ [mcs] Add explicit array conversion involving type parameters.
+ Add System.ServiceModel.Security assembly.
+ [sdb] Avoid clearing event requests if they reference an assembly which is unloaded. Instead, remove the assembly reference from the event request so it stays active.
+ Rename configure.in -> configure.ac.
+ [System] Fix parsing of IPv6 addresses.
+ [Http] Cleanup chained async operations.
+ [corlib] Add Guid hex format parsing with whitespaces.
+ [System.Net.Http] Parsing productinfo like headers with missing version.
+ [System] Throw IOE in more cases when dealing with an invalid Process object.
+ [bcl] Fix Process.PrivateMemorySize64 on osx, we now return task_baic_info.resident_size.
+ Clean up the usage of FILETIME structures, avoid accessing them as gint64 since that would lead to alignment problems.
+ [sdb] Avoid stack overflows when a boxed vtype recursively references itself using fields.
+ [profiler] Filter more event types in mprof-report based on time.
+ [profiler] In mprof-report fix handling of the time filter when starting from 0.
+ [http] Convert string output data using BOM header when available.
+ [system.net.http] Fix encoding of Content-MD5. Based on patch by nberardi.
+ [sdb] Avoid placing implicit sequence points at offsets where the IL stack is empty when using symbol file based sequence points.
+ [eglib] Remove test-glib code, we don’t have to maintain compatibility with glib any more.
+ [corlib] Rethrow user not initialization exception when lazy initialization throws.
+ [mcs] Don’t report interface implementation errors for optional implementations.
+ [mcs] Include more unicode categories in parsing identifier part character.
+ [mcs] Emit null constant value for default parameters of generic types to indicate not missing value.
+ [mcs] Do type parameter conversion involving type parameters using dependency rules.
+ [mcs] Emit all method like members in same order as they appear in source code.
+ [mcs] Convert extended underlying enum constants to their underlying type.
+ [mcs] Don’t apply reference type is optimization for dynamic expressions.
+ [mcs] Inflate anonymymous method with correct type arguments when async this requires hoisting in parent type.
+ [mcs] Fix using type relationship check for type parameters.
+ [mcs] Caching of type argument types should not happen under error conditions.
+ [linq] Use hashtable lookup instead of linear scan for groupby keys.
+ [mcs] Private member can still have base members when in nested types.
+ [mcs] Make unused event warning reporting consistent to csc.
+ [mcs] Add parent storey reference only when this is not captured directly.
+ [mcs] Fix recursive resolving of crefs.
+ [mcs] Adding unit test for #18511
+ [mcs] Emit field initializer with expression tree in all user constructors.
+ [dlr] Emit correct code for convert of nullable types.
+ [runtime] Fix decoding of jagged arrays in custom attributes.
+ [runtime] Avoid calling mono_thread_current () in sgen_thread_detach (), since it can construct objects.
+ [runtime] Avoid passing commands to lldb using the python api, it doesn’t seem to work well in script files.
+ mdbrebase: use File.Move instead of FileInfo.MoveTo.
+ Add unit test for BNC#497562
+ System.Runtime.MemoryCache.GetValues() throws LockRecursionException with expired items - GetValues() calls MemoryCacheContainer.GetEntry() which now gets an EnterUpgradeableReadLock needed by ExpireIfNeeded() - Added a test case.
+ [Sys.Data] Fix BNC#519648
+ [Sys.Data] Add unit tests for BNC#519648
+ [System.XML] Fix handling of space in XSL value-of elements.
Sat Feb 22 08:51:00 UTC 2014 - mailaender@opensuse.org
- Update to 3.2.8
+ On armhf, VFP scratch registers are now properly preserved across method calls.
+ A potential codegen bug on armhf for methods with lots of arguments has been fixed.
+ We now emit shorter floating point load/store sequences on armhf when possible.
+ Bugs surrounding alignment and mono_gc_bzero () / mono_gc_memmove () have been fixed.
+ A typo in the BigInteger.Cosh () implementation has been fixed.
+ Tuple<...> classes now implement ITuple and have a correct ITuple.ToString () implementation.
+ Bug #17589 has been fixed.
+ Bug #17558 has been fixed.
+ A stack alignment change that broke debugging on Android/x86 has been reverted (#17410).
+ Bug #17201 has been fixed.
+ The AOT compiler now adds types for method headers for gshared methods.
+ Bug #17632 has been fixed.
+ The DISABLE_JIT build has been fixed.
+ Bug #4510 has been fixed.
+ A potential crash in mono_method_desc_full_match () has been fixed.
+ Various build system fixes so that make dist works again.
- Changes from 3.2.7
+ [jit] Fix the handling of OP_ISUB_IMM in abcrem.
+ [jit] Improve ABCREM on 64-bits architectures
+ [jit] Implement the delegate ctor optimization in AOT mode too.
+ [jit] Some work towards a win64 port.
+ [jit] Use vectorized exception handling on windows.
+ [jit] Initial support for the hardfp ABI on ARM.
+ [jit] Add beginnings of a mach image writer for use with xdebug.
+ [jit] Implement proper TLS offset translation on mach based kernels.
+ [jit] Add a simple loop invariant loop motion pass for use with LLVM, which moves loop invariant instructions out of loop headers into the preceeding bblock.
+ [jit] Avoid linking the try block with the EH block as this produces spurious BBs during inlining.
+ [jit] The AggressiveInlining hint now triggers class initialization so more stuff gets force-inlined.
+ [jit] Add an alias analysis pass to the JIT.
+ [jit] ARM can dynamically switch between modes.
+ [jit] Atomics and hardware fences revamped and improved.
+ [jit] Add 64bits atomics on 32bits systems , this makes PLINQ significantly faster on multicore systems.
+ [llvm] Implement support for OP_TLS_GET_REG on osx/amd64.
+ [llvm] Update list of optimizations passed to 'opt'.
+ [runtime] Scalability work: reduce usage of the loader lock
+ [runtime] Removed the old debugger from the runtime.
+ [runtime] socket-io: make it possible to specify an interface index as a MulticastInterface SocketOption on linux.
+ [runtime] Don't expand variant generic interfaces on arrays.
+ [runtime] Implemented g_win32_getlocale function to return correct locale.
+ [runtime] Revamped hardware caps detection.
+ [runtime] Add LLDB support to mono_gdb_render_native_backtraces () on POSIX.
+ [runtime] Promote the reference queue API to the public.
+ [runtime] Provide more public API to inspect MonoTypes, MonoClasses and MonoMethodSignatures.
+ [runtime] Improving the retrieval of the user's locale on Apple systems.
+ [runtime] Async stack walking with AOT
+ [sdb] Allow users to specify a suspension policy when enabling an event
+ [sdb] Add async variants to the InvokeMethod methods.
+ [sdb] Support a setpgid=y/n option to --debugger-agent.
+ [sdb] Emit better debugger attribute for stepping over state machine initialization
+ [sgen] Reverse the free-list after sweeping to be in address-order.
+ [sgen] Only enqueue LOS objects if they contain references.
+ [sgen] Use gcc bitcount intrinsics where appropriate.
+ [corlib] Implementation of System.Reflection.ParameterInfo.HasDefaultValue
+ [jit] Save/restore all-callee saved registers in methods using some atomic opcodes on x86, since the opcode implementations use these registers, and the push/pop code used by these opcodes is not async safe, since the unwind code doesn't know about it. Fixes part of #16808.
+ [aot] Add runtime wrappers for methods of generic classes and generic methods. bxc#16747.
+ [gsharedvt] Add a wrapper to the mono_gsharedvt_constrained_call () icall, since it calls mono_runtime_invoke () which can throw exceptions. bxc#16439.
+ [linker] Do not import something that is not marked when sweeping type references (otherwise we might re-intoduce dependencies we're not including or need) + [#16213]
+ Fix condition (for MOBILE) that excluded System.Xml.Schema/Extensions.cs. Removed the condition since every profile we now support includes this + [#15552]
+ [runtime] Fix a bug in the local register allocator when an fp vreg wasn't clobbered by a call if its href happened to be equal to the hreg of the call instruction. bxc#12510.
+ Fix Bug 4811, xbuild should find xml documentation
+ [jit] Make ABCREM really remove bounds checks, not just when running with -v -v -v -v.
+ [llvm] Use i64*/i32* as the LLVM type of objrefs instead of i64/i32, the basicaa LLVM pass cannot see through the inttoptr casts we were emitting before loads.
+ [llvm] Make some types more precise to decrease the number of int<->ptr conversions generated.
Tue Aug 26 09:33:09 MDT 2008 - ajorgensen@novell.com
- Update to 2.0 (preview 2)
* Runtime: Performance
* The performance of operations on decimals has significally improved.
* The performance of locking (Monitor.Enter/Monitor.Exit) is significally improved.
* The memory usage of the runtime is reduced, especially when using generics.
* Many race conditions and threading problems were fixed, improving reliability.
* Math.Min/Math.Max and some forms of Interlocked.CompareExhange (CAS) are now implemented using fast inline code on x86/amd64.
* There is now a MONO_DEBUG=dont-free-domains option that improves the performance of ASP.NET-based applications.
* Runtime: Features
* Some progress has been made on the Winx64 port [Bill Holmes, Jonathan Chambers]
* The runtime is now built using the dolt libtool replacement (http://dolt.freedesktop.org/) this speeds up runtime compilations by about 30%.
* The runtime build process is now less verbose on some platforms, similar to the way the linux kernel is built. To turn it off, use the --enable-quiet-build=no argument to configure, or pass the V=1 argument to make.
* There is now a --debug=casts command line option to the runtime which turns on the reporting of better InvalidCastException message details.
* The mono_method_get_unmanaged_thunk () function has been implemented for developers embedding Mono which simplifies calling managed methods from unmanaged code.
* C# Compiler
* The compiler now support expression trees (turning expressions into an AST at compile time when the type of a parameter is a System.Query.Expression). This completes the C# 3.0 support.
* Over 60 reported bugs in the compiler were fixed and many of the internals have been cleaned up. Extensive refactoring and hardening of the C# 2.0 and 3.0 support are now better integrated.
* A major rewrite of the anonymous method/lambda support in the internals of the compiler now optimizes the resulting code, and fixes several bugs in this area.
* The compiler is now dual licensed under the MIT X11 and the GNU GPL version 2 (only).
* The compiler now supports #pragma checksum for use with ASP.NET debugging and #line hidden, as well as flagging more compiler-generated code properly (to avoid the debugger single-stepping into those bits).
* LINQ
* LINQ and LINQ to XML are now complete, support for expression trees is now available as well as the backend to support expression tree compilation.
* LINQ to Dataset has also been implemented.
* Performance Counters Implementation
* Mono now has a performance counters implementation that can be used to monitor various statistics of Mono processes. To access this API you use the System.Diagnostics.PerformanceCounter classes.
* Big Arrays
* Mono now supports 64-bit indexed arrays on 64-bit systems. Although this is permitted by the ECMA standard, this today is a unique feature of Mono as .NET on Windows does not support 64-bit array indexes. This code was developed by Luis Ortiz at Interactive Supercomputing and integrated by Rodrigo Kumpera.
* This feature is useful for developers that needs to manipulate very large data sets with C# arrays.
-Fixes the following bugs: 77524 77581 75479 77637 77613 77446 77433 77398 77397 77315 75436 75479 77521 77536 77572 77468 77371 77273 77309 74932 77442.... too many to list here.