Release Notes Mono 2.4.2

Mono 2.4.2 is a portable and open source implementation of the .NET framework for Unix, Windows, MacOS and other operating systems.

Table of contents

Major Highlights

Mono 2.4.2 is a bugfix release for Mono 2.4, which is the foundation for Novell's own long-term support Mono-based product.

In addition to bug fixes, this release includes the following major changes from 2.4.0:

  • We now ship Microsoft's ASP.NET MVC stack and ASP.NET MVC applications can run with Mono.
  • xbuild has been updated
  • Removed non-free amqp0-8.xml documentation.

Changes in Mono 2.4

XSP now has Silverlight mime types registered.

Updated the browser database.

The C# Shell (csharp) will now accept C# scripts specified on the command line, like:

$ csharp demo.cs

A major bug was fixed for multi-threaded applications using XPath, if you are using XPath in a multithreaded application, we strongly recommend that you upgrade to this version.

Bugs fixed since Mono 2.4

Between Mono 2.4 and Mono 2.4.2, more than 140 bugs were fixed, this is a partial list (since not all bugs had tracking numbers):

  • 315816 - [Regression] One crippled DLL leads to a failure of a complete website
  • 325464 - xsd is unable to generate correct classes from certain input files
  • 328036 - [PATCH]Casting bug with generic collections
  • 342073 - WebServices default WebForm does not work
  • 345448 - Default binding name is wrong, when declared in WebServiceBindingAttribute, but not used.
  • 349688 - SocketFlags.Partial is not implemented correctly in Linux
  • 382589 - Passing either Decimal.Max or Decimal.Min to a SQL Server 2005 stored procedure that takes a decimal(29,0) results in a SqlException
  • 382589 - Passing either Decimal.Max or Decimal.Min to a SQL Server 2005 stored procedure that takes a decimal(29,0) results in a SqlException
  • 409583 - ToString of methods with pointers in their signature is wrong
  • 417398 - [PATCH] System.Data.DataRowComparer.Default doesn't compare by row contents
  • 421827 - [PATCH] CookieContainer.GetCookie skips cookie when domain has no leading dot
  • 424908 - Oracle - stored procedure returning string throws exception - Size must be set
  • 431039 - First Run of IsolatedStorageFile is not threadsafe
  • 436592 - Error in the CustomizableFileSettingsProvider.Reset method
  • 449092 - [Regression] Sockets Novell c# LDAP api, LdapConnection.Disconnect() throws "The socket is not connected" exception
  • 449683 - MD throws NotImplementedException when parsing DLR project
  • 458916 - Implemetation errors on Copy.cs
  • 459790 - SoapRpcMethod based webservices return HTTP 500 error with Mono 2.0.1 Runtime
  • 462947 - TDS: not enough state reset when executing a query/stored procedure
  • 463011 - [Regression] Pooled connection is no longer reset
  • 465613 - HttpWebRequest.BeginGetRequestStream throws ProtocolViolationException
  • 466031 - Socket.EndReceive buglet
  • 468570 - Arithmatic overflow in System.Diagnostics.Stopwatch causes Elapsed property to return a negative timespan after the 25'th hour of running
  • 469135 - Issues with glue-less gtk-sharp running MonoDevelop
  • 470336 - crash while compiling on SLE_10/ppc
  • 470336 - crash while compiling on SLE_10/ppc
  • 471305 - Control lifecycle inconsistency between Mono and MS.NET implementations
  • 471747 - [FreeBSD x86] Failure of pinvoke2 test
  • 471751 - [FreeBSD x86] Failure of winx64structs test
  • 475438 - xbuild dies badly if gmcs not installed
  • 476138 - Win32 Socket behaviour changed.
  • 476289 - mod_mono report "(13)Permission denied: Failed to attach to existing dashboard"
  • 477383 - MaskedTextBox: Backspace doesn't work
  • 477388 - MaskedTextBox: Delete key deletes masked fields
  • 477395 - MaskedTextBox: Able to overwrite characters with L mask
  • 477408 - MaskedTextBox: Doesn't handle invalid input correctly
  • 480377 - System.Data.OracleClient : DataReader does not support System.TimeSpan
  • 480856 - xbuild don't recognize Multiple DEFINE
  • 481336 - xbuild don't compile IronPython.sln
  • 481622 - Exception when using layout template
  • 481687 - System.Convert.ChangeType(someIConvertibleObject, typeof(Image) Throws exception on mono. .Net difference
  • 483268 - Precompiled application can only be solved from original virtual path
  • 483852 - TypeBuilder should be resolved when used in a generic type instance
  • 484244 - [Regression] nunit-console.exe requires /noshadow
  • 484294 - Type.GetMethod does not find methods with nullable parameters when expected
  • 484294 - Type.GetMethod does not find methods with nullable parameters when expected
  • 484384 - Duplicate key in assembly resolving
  • 484649 - Mono.XBuild.CommandLine.LoggerInfo argument parsing is broken
  • 484773 - WorkingDictionary outside of the project file breaks the build
  • 484795 - [PATCH]WebClient.UploadValues using UTF-8 encoding and "POST" method do not upload accented characters properly
  • 485377 - Regression in Convert.ChangeType()
  • 485377 - Regression in Convert.ChangeType()
  • 485435 - JSON proxy class generator errors out when any webmethod signature takes a GUID parameter
  • 485458 - CustomValidator incorrectly requires ControlToValidate to be set for client side scripting to work.
  • 485557 - Response.ClearHeaders reset HttpCacheability to private
  • 486234 - System.String.LastIndexOf(string, StringComparison) crashes when using StringComparison.Ordinal on empty strings
  • 486303 - Type.IsGenericTypeDefinition crashes for user defined Type
  • 486703 - FtpWebRequest Send PrintWorkingDirectory Command Failed!
  • 486904 - System.Net.NetworkInformation.Ping throws InvalidOperationException "Process has not been started" on OSX
  • 487155 - ILASM does not work with octal values in QSTRINGS
  • 487518 - SIGSEGV in mono_arch_emit_call on amd64; running F# nunit unit tests
  • 487625 - ExtensionMethodAttribute and CS1685
  • 487659 - VUL-0: Mono sanbox breakout in IsolatedStorage {}
  • 487758 - Marshaling a native function pointer to native function call throws assertion
  • 488630 - mod-mono-server is broken using HTTPS
  • 488670 - Marshal.GetFunctionPtrFromDelegate crashes the runtime if the delegate signature includes an object type.
  • 488960 - Invalid CS0663 error with generics ('overloaded function cannot differ on use of parameter modifiers only')
  • 489019 - mono throwing exception while closing file descriptor 0
  • 489687 - Code render tag not working
  • 490497 - "watch for changes to web.config also in the subdirectories" causes problems
  • 490753 - HtmlInputFile doesn't work on pages with EnableViewState=false
  • 491508 - SessionSQLServerHandler : InitializeConnection -> NullReferenceException
  • 491531 - Settings in Web.config not being read
  • 491590 - The FTPWebRequest class doesn't properly resume file downloads
  • 491828 - xbuild hides important error information
  • 492252 - error runing an ASP.net page with validators
  • 492329 - gmcs generated invalid IL code for storing a new object in a generic out/ref parameters (regression from 2.2).
  • 492666 - NullReferenceException when binding a list to the ListView
  • 493263 - Using custom resource provider crashes application
  • 493639 - Invalid "Bind invocation wasn't formatted properly" in TemplateControlCompiler
  • 493873 - Multiple assemblies with same type name in precompiled updatable site
  • 493874 - Missing column in BlogEngine.NET
  • 493887 - Switch selects wrong branch when default is not last case
  • 494221 - IL Compiles but generates wrong code
  • 494245 - ASP.NET Pages not accepting base class with generic type
  • 494567 - r131501 breaks compilation of System.Windows.Forms_test_net_1_1.dll
  • 495011 - Application restarts when touching a folder
  • 495112 - Can't compile cyclic structs with mono-2.4
  • 496758 - Xsp2 hides internal errors making it difficult to debug tricky web service issues
  • 496905 - Using Peek() after a short Read() returns -1 instead of trying to read more.
  • 496951 - The 'NoStore' attribute is not supported by the 'Outputcache' directive.
  • 497174 - ASP.NET 1.1 is broken with the recent changes made to templateParser.cs
  • 497220 - assertion in mono_local_regalloc when a local not initialized is used
  • 497715 - SqlParameter not handling SqlDbType.Xml / DbType.Xml ("No mapping exists ...")
  • 497720 - System.Collections.Generic.KeyCollection.CopyTo(TKey [] array, int arrayIndex) behaves different on Mono / .NET
  • 497775 - ASP.NET MVC's Html.TextBox()/etc. do nothing.
  • 497839 - xbuild don't recognize $(SolutionDir)
  • 498118 - Revision 131768 breaks UserControls added in web.config
  • 498154 - Xbuild does not recognize **-Wildcard
  • 498637 - HTML link tag in ASP.NET MVC render bug
  • 498692 - many problems cross-building with gcc 4.2.x mingw cross
  • 498853 - Cannot configure ConsoleTraceListener to use standard error through configuration
  • 499013 - Appdomain.GetAssemblies() returns assemblies loaded for reflection only, not just for execution. Different behaviour than .NET
  • 499851 - Need notification for UIA when a PopupButton gains focus
  • 499864 - Dispose-Method of Mono.Data.SqliteClient.SqliteConnection doesn't close the connection.
  • 499887 - TabControl.GotFocus event not fired when SelectionIndex is set
  • 500019 - SSE2 used on system without SSE2
  • 500075 - <%Page%> Inherits doesn't support C# syntax
  • 500385 - GetMethod fails to find private methods up the class hierarchy when using BindingFlags.NonPublic
  • 500739 - Error when accessing anything but default route using system.web.routing
  • 501589 - XElement Seems to Break
  • 502029 - DateTimePicker: some children are not accessible by orca
  • 502274 - HttpConnection does not unbind HttpListenerContext when KeepAlive is true
  • 502555 - Routing problems related to default parameters
  • 502866 - UDPClient.Receive does not honor Socket.ReceiveTimeout
  • 503728 - misused Type.GetInterfaceMap() causes runtime crash
  • 504378 - Routes in System.Web.Routing don't handle "Variable Number of Segments" correctly (Catchall)
  • 504391 - WebService.EnableDecompression crash
  • 504411 - Mprotect fails with ENOMEM in GC_remap
  • 504615 - [PATCH] Global.asax of precompiled sites not loaded
  • 504667 - [gmcs] compilation error when using partial static classes
  • 505375 - JIT does not optimize do-while loop correctly
  • 505678 - mono.bin crashes for System.Xml.XPath.AxisIterator.MoveNextCore
  • 506144 - Structs that contain Mono.Simd.Vector4f fields have broken sequential layout
  • 506757 - CS0507 when overriding public method in class generated by ikvmc
  • 506915 - Use of tertiary operator results in runtime stack trace but equivalent if/else code does not
  • 507003 - Error in Assembly.DoAssemblyResolve
  • 507666 - url-decode failed with encoded shift_jis query
  • 507836 - ListItem attributes aren't stored in view state
  • 508167 - RegisterHiddenField should not put a "id" in the input field in 1.1 profile
  • 508389 - Mono 2.4 crashes due to accessing freed data structures
  • 508538 - System.Reflection.TargetInvocationException when calling MethodInfo.invoke
  • 508570 - Generic MVC ViewMasterPage does not respect type
  • 508649 - 404 not found errors should be displayed even when custom errors are on (and there is no redirect)
  • 508888 - MonoVS version of mono breaks Graffiti
  • 509069 - Can't set different handlers for subdirectories
  • 509092 - 403 errors should be handled specially as well
  • 509163 - '*' and ':' are not supported in ASP.NET virtual paths
  • 509450 - Web.config file modification is not detected
  • 509475 - Unclosed when <customErrors mode="On"/>
  • 509998 - Web.config changes in subdirectories are not detected
  • 510302 - Theming asp.net application seems not work
  • 510735 - Location path is not verified to be a relative path
  • 511414 - Can't print from winforms
  • 512028 - [Regression] asp.net framework includetest fails on mono-2.4.2 using xsp2
  • 512037 - OutputCache directive Location parameter handling is broken
  • 512485 - [PATCH] deadlock in ReaderWriterLockSlim.EnterWriteLock
  • 512535 - Can't concatenate Item list error when compiling non-standard project with xbuild
  • 513849 - HttpListener does not release the specified port by listener prefixes.
  • 513965 - Please Add IE8.0 to browscap.ini

Installing Mono 2.4.2

Binary Packages and Source Code Downloads:

Source code and pre-compiled packages for Linux, Solaris, 
MacOS X and Windows is available from our web site from 
the Downloads section.

Quick source code installation:

If we have no packages for your platform, installing from 
source code is very simple.   

Compile libgdiplus to support System.Drawing:

    $ tar xzf libgdiplus-2.4.2.tar.gz
    $ cd libgdiplus-2.4.2
    $ ./configure
    $ make
    $ make install

Then compile Mono itself:

    $ tar xzf mono-2.4.2.tar.gz
    $ cd mono-2.4.2
    $ ./configure
    $ make
    $ make install