January 5th, 2012· Revert Pango to 1.28.4 to resolve a crash when opening the MonoDevelop about box on Snow Leopard.
· Fix a libgdiplus issue that had forced linking against Apple's X11 stack for text rendering.
· Fix issue where a native crash causes MonoDevelop to hang and neither Force Quit nor kill -9 would terminate it (Xamarin #2548).
January 5th, 2012Changes:
· Updated the Task Parallel Library to include the latest fixes from our main development branch.
· SQLiteConnection can now set the threading mode (Xamarin #652)
· Improved the debugger protocol to speed up debugging and value lookup
· Added basic support for MSBuild 4.0 (Leszek Ciesielski, Paul Selormey)
· NuGet now runs on Mono
· Phalanger 3.0 now runs with Mono
· Adds support for some Azure libraries
· Added support for bundling profilers in a static binary
· The profiler can now log its data to any file descriptor (for over-the-net profile logging)
· SGen now has native support for object systems that implement ToggleRefs
· Mobile Profile now contains System.IO.MemoryMappedFiles
· Added PerformanceCounters for JIT statistics
· Add support for Android CPU count.
· HashSet can now be serialized (Neale Ferguson)
Bug Fixes:
· The --profile loader will now work on MacOS X without setting any environment variables
· Fixes slow start on threads (Xamarin #1036)
· Fixed the SGen interaction between weak references and ephemerons
· Fixes --profile=log on x64 systems (Xamarin #971)
· Fixes crash on some debugging configurations (Xamarin #1093)
· Fixes timezone race condition (Xamarin #1055)
· Fixes SendAsync reporting the wrong number of bytes sent (Xamarin #531)
· Plug a managed leak in the ASP.NET stack (HttpResponse)
· Fix an infinite loop in Path.GetTempFileName
· Fixes Soap12 message serialisation incorrect for ReplyTo header value (Xamarin #1244)
· Linked away exception on AsyncWaitHandle.WaitOne() on device (Xamarin #1144)
· Fixed MonoDoc to avoid loading the same documentation more than once (fixes MonoDoc browser)
· Fixes regression in System.Diagnostics.Process.PrivateMemorySize64 (Xamarin #1459)
· ASP.NET fix for WebResource.axd and hashes containing /
· ServiceModel now allows https endpoints (Xamarin #1203)
· ServiceModel now allow requests with no headers (Xamarin #1205 and #1207 by Mario Kosmiskaso)
· Fix for WebOperationContext.IncomingResponse (Xamarin #1209 by Mario Kosmiskaso)
· Fix for propagating operation context (Xamarin #1210 by Mario Kosmiskaso)
· Fix WebConnectionStream to return the correct length for input streams
· Fix serialization reader (Xamarin #1462)
· Various fixes to System.IO.Packaging
· mono-service now passes the command line arguments to the services
· Alternate path separator on Unix improves compatibility with Windows software
· Fixes xsi:nil handling (Xamarin #1198)
· Fixes hang caused by gdb attaching to the wrong process when Mono hard-crashes
· Fixes the handling of XmlSchemaFrom importing, which is exposed by WebSphere WSDL tools
· Fixes crash on inlined code that contained some patterns of exception throwing (Xamarin #1835)
· Fixes monotonic clock on OSX and iOS (Xamarin #1366)
· Fixes leak in Process class if WaitForExit was not called (Xamarin #1682)
· Fixes typo in ASP.NET's SQLServer SessionState
· Fixes marshaling of IPv6 addresses in Win32
· Fixes race in ServiceModel.Logger
· Fixes string truncation in Tds protocol (Xamarin #1916, Neale Ferguson)
· Fixes System.Data DataView sorting
· Fixes Debug information for dynamic methods (Novell #731579)
· On Android, stdout/stderr become the logcat
· Fixes ConditionalWeakTable behavior with SGen (Xamarin #1175)
· Fixes SIGSEGV during GC when write barrier is set to cardtable (Xamarin #1917)
· Added JSonSerializer support for nullables (Xamarin #163)
· Fixes deadlock on SDB (Xamarin #2190)
· Fixes heuristics for inserting breakpoints (Xamarin #407)
· Fixes Array.Containsfor null items via ICollection (Xamarin #2260)
· Fixes scanning of complex values in SGen (Xamarin #228)
· Fixes assignability of arrays with generic interfaces (Xamarin #2304)
· Fixes FullAOT support for iterating Linq.OrderedEnumerable (Xamarin #2155)
· Fix a libgdiplus issue that had forced linking against Apple's X11 stack for text rendering on MacOS.
· Fix issue on Mac where a native crash causes MonoDevelop to hang and neither Force Quit nor kill -9 would terminate it (Xamarin #2548).
Mobile Profile Fixes:
· Xamarin 233: support commit/rollback/update events in iOS/Sqlite
· Xamarin 154: Support Dispose on BinaryReader on the Mobile Profile
· SGen bridge processing is now a two-step process (used for Mono/Android)
· Xamarin 1999: all threads are now wrapped in NSAutoreleasePools.
June 6th, 2011Major Highlights:
· This release can run Microsoft's OrchardCMS, an open source CMS system built using the best .NET practices, and uses the delightful Razor engine.
· We added support for PostgreSQL to Orchard and submitted our patches to the OrchardCMS community.
· Both Mac packages are now self-contained. If you previously downloaded the Framework and the C SDK you can now install just the SDK (MDK) package.
Changes Since Mono 2.10:
ASP.NET MVC:
· Bug preventing MVC3 apps from running has been fixed
· Fix 668655: MVC3: error accessing the query variables collection
· OrchardCMS should work with Mono
· 671753: Route.GetVirtualPath must take ambient values into account.
Parallel FX:
· The default task scheduler now uses the runtime ThreadPool, instead of its own pool
OSX:
· Fixes 594642, problem with GetAllInterfaces
· Performance Counters are now supported on OSX
· Respects signal handlers when reporting crashes
· CSDK pkg now contains .dSYM and .mdb files for debugging
· MDK pkg replaces CSDK and includes all content of Framework pkg
HttpListener:
· Fix regression on HTTP Authentication
Xbuild:
· Allow MSBuildExtensionsPath to be overridden by setting the environment variable $MSBuildExtensionsPath
· Use the correct path separator for handling environment variable MSBuildExtensionsPath, fixes xbuild on windows. Bug #674337.
· #674630: Handle errors in trying to create AssemblyName from invalid full names.
WCF:
· System.ServiceModel: extensive serialization bug fixes.
· Simple InstanceContext.Extensions implementation by David Schmitt (#674057)
Bug fixes:
· 688033: Arrays don't support MemberwiseClone
· 688007: WebClient.OpenRead() fails when trying to access an anonymous ftp site
· 687580: Mono 2.10.1WCF fails with '(400) Bad Request' when the calling client uses URIs that should be functionally equivalent such as IP address instead of machine name
· 687399: [threadpool] Deadlock upon shutdown with pending jobs in appdomains
· 686371: Second HTTP request times out if previous HEAD request resulted in 403
· 686269: [SDB] Debugger resumes execution when it should do a single step
· 685368: Behavior difference with HttpWebResponse.Close between Mono and .Net
· 685267: PostBack problem
· 685116: Fails to redirect to the Login Form when using AJAX (using Forms Authentication timeout)
· 685069: Two races in Mono.WebServer.FastCGI/Connections.cs that occur under heavy load
· 685042: Thrown exception when serializing a class that implements from IDictionary using DataContract
· 684803: XmlSiteMapProvider parsing: Can't find a site map node for the url: Default.aspx
· 684438: SIGABRT we can't encode valuetypes, we should have never reached this line
· 683712: DataConverter.Unpack reads a double when float is speficied
· 683642: GetProperty on Binding does not return the proper result
· 683519: garbage collector waking up threads that are sleeping infinite
· 683409: SMP problems on ARM
· 683339: POST variables are not transferred to HttpContext.Request.Params nor FormCollection in MVC3 app
· 683203: Directory.GetFiles error or crash if pattern is unusual
· 682963: gstring.c:116: assertion 'val != NULL' failed
· 682957: XmlElement deserialization failed with DataContractSerializer.
· 682869: mono-2-10 cannot build Test/System.Web.Routing/RouteTest.cs: "error CS1061: Type `System.Web.Routing.RouteCollection' does not contain a definition for `MapPageRoute' and no extension method `MapPageRoute' of type `System.Web.Routing.RouteCollection'..."
· 681553: FindControl not working as expected
· 681552: There is no service pack information in Environment.OSVersion
· 681548: HttpListenerRequest.Url.OriginalString in mono mismatches .Net version
· 681421: CombineVirtualPaths method in VirtualPathProvider is ignored
· 681164: OutputCacheAttribute in MVC causes 100% CPU usage and mono to stop responding
· 679586: Unknown type System.Collections.Generic.CollectionDebuggerView error when viewing Parametrized collection in debugger
· 679467: .cctors run in incorrect order
· 679183: .NET Incompatibility: Task.WaitAll(new Task[] {}) throws an ArgumentException
· 679174: ConcurrentBag.GetEnumerator() yields uninitialized elements
· 678705: MenuListRender off-by-one fails to close tag
· 678662: Exception "invalid handle specified" because mono_thread_pool_cleanup() is called twice
· 678473: HttpResponse.WriteFile maps files to absolute path
· 678269: ModuleBuilder.GetToken causes SIGSEGV
· 678164: Threads started by native code that call into managed code get IsBackground==False
· 677746: Crash: Assertion at mono-wsq.c:73, condition `mono_wsq_count (wsq) == 0' not met
· 677550: Fixed buffers are broken
· 676993: Invalid cast exception doing xml validation
· 676671: Microsoft.Build.BuildEngine.EventSource.AnyEventRaised is not fired
· 676650: FileLogger throws on setting parameters
· 676615: when compiling under -DDEBUG threads.c:761 references non-existing variable
· 676587: Debugger Crashes
· 676368: Should not use ODBC statement handles after SQLDisconnect called
· 676260: Dns.GetHostEntry(Dns.GetHostName()).HostName is different from Dns.GetHostName()
· 676060: System.IO.MemoryStream can throw NullReferenceExceptions when expanding internal buffer
· 676020: ReadToNextSibling does not move as expected
· 676009: XDocument.Load throws "(DTD) is prohibited in this XML"
· 676008: Form name and id are incorrectly rendered with master pages.
· 675777: the negation part of an expression like "0 - non_constant_expr" is ignored by mcs
· 675731: System.Net.HttpWebRequest does not normalize Method property to uppercase
· 675620: ArgumentNullException thrown when calling SyndicationContent.WriteTo
· 675464: Runtime should support "long form" signatures for .NET 1.1 assemblies
· 674630: Better error message for invalid assembly
· 674580: An exception is thrown when trying to read UTF-16-encoded XML files
· 674490: Mono.Debugger.Soft.VirtualMachine.EnableEvents dislikes EventType.Step
· 674224: Compiler crashes with NullReferenceException - worked with mono 2.8.2
· 674120: BigInteger comparision operators failing
· 674057: Trivial implementation for InstanceContext.Extensions
· 673793: Assembly loading fails when path contains national language characters
· 670874: Incorrect result of WebFormViewEngine.FileExists with MVC 3 & precompilled site
· 670714: Display problem with XSP4
· 669836: Unhandled exceptions thrown in threads other than the UI thread aren't caught by the debugger
· 669303: F-Spot crashes on load.
· 668867: Processes needs to be waited for to not turn into zombies
· 668696: [Regression] SynchronizationLockException when accessing HttpApplicationState after Lock() is called
· 667513: System.Web.Routing throws NotImplementedException when PathInfo is set
· 667329: Key duplication when adding: sessionState
· 666736: UDP support
· 660412: Setting MONO_EXTERNAL_ENCODINGS environment variable to "default_locale" causes crash on startup if an assembly is in directory containing national characters
· 658184: System.Configuration.Save() still not working in Mono 2.8.1
· 656468: System.Console.CapsLock incorrectly throws a System.NotSupportedException
· 655934: TextReader: ReadToEnd and ReadLine not implemented correctly
· 655474: JavaScriptSerializer cannot serialize a relative Uri
· 650695: System.Web.HttpNotFoundHandler missing
· 672907: List: Properly check the array argument to match MS semantics
· 672446: Generic sharing bugfix
· 673592: Soft debugger was crashing the runtime on Windows
· 673828: Fix ARM thunk creation in dynamic methods.
· Transactions: do deep copies of transaction (required for Orchard/NHibernate)
· 669807: Cache session item locks as the item might be cleared before the lock needs to be released.
· Fix ARM/darwin lookup of Thread Specific Data/Descriptors
· Implement memory barriers for ARM
· 672939: fixes missing methods while running MonoDevelop
· 669815: Fixes crash on IronRuby test suite
· 661461: Fixes a case where Assembly.Load(AssemblyName) did not work with some partial names
· 662867: Attribute.GetCustomAttributes was failing in searching inheritance chain against overridden method ToString()
· Workaround Linux/gcc/ARM bug
· 665893: Fixes a crash when a generic method that calls another generic method was called
· Fix infinite loop in DiscoveryMessageSequence equality comparison
· 667921: Fix crash in multi-threaded LINQ
· System.IO.TextReader now provides a default implementation for ReadLine and ReadToEnd
· Console:TerminfoDriver is now more tolerant to failures
· 656468: Console, avoid throwing exceptions for unsupported console features on Unix
· Fix stop_debugger_thread () on windows.
· #669836: Treat exceptions that are caught by mono_runtime_invoke() as unhandled in SDB
· Enabled UDP stack on Mobile platforms.
October 8th, 2010· C# 4.0
· Defaults to the 4.0 profile.
· New Garbage Collection engine
New Frameworks:
· Parallel Framework
· System.XAML
Threadpool exception behavior has changed to match .NET 2.0:
· potentially a breaking change for a lot of Mono-only software
· See information below in the "Runtime" section.
New Microsoft open sourced frameworks bundled:
· System.Dynamic
· Managed Extensibility Framework
· ASP.NET MVC 2
· System.Data.Services.Client (OData client framework)
Performance:
· Large performance improvements
· LLVM support has graduated to stable: Use mono-llvm command to run your server loads with the LLVM backend
· Preview of the Generational Garbage Collector
· Version 2.0 of the embedding API
· WCF Routing
· .NET 4.0's CodeContracts
· Removed the 1.1 profile and various deprecated libraries.
· OpenBSD support integrated
· ASP.NET 4.0
· Mono no longer depends on GLIB
February 10th, 2010· WCF client and server, the subset exposed by Silverlight 2.0
· LLVM support, to improve performance on server/computational loads
· Co-routine framework Mono.Tasklets
· Preview of LINQ to SQL using DbLinq
· New Soft Debugger, integrated with MonoDevelop 2.2
· Joint release with MonoDevelop 2.2
· System.IO.Packaging
· csharp shell now supports auto-completion
· xbuild can now build most msbuild projects
Support for CoreCLR security:
· Mono debuts a full metadata and IL verifier
· Security system used by Silverlight applications, reusable for other cases.
November 19th, 2009· Simple precompiled MVC app does not run on Mono 2.4.2
· (https://bugzilla.novell.com/show_bug.cgi?id=524726) - Precompiling for / then deploying elsewhere causes failure for ASP.NET apps.
March 10th, 2009· The code generation engine has been replaced from tree-based representation that we used for 1.0.x, 1.2.x, 1.9 and 2.0 releases to a representation that is better suited for advanced optimizations, the Linear IL engine.
· The new engine already outperforms the old engine in many computationally intensive tasks.
· Generic sharing is now turned on in all cases. You can control the sharing setup using the MONO_GENERIC_SHARING environment variable.
· Generic sharing is now supported on ARM.
· Ahead of Time Compilation
· Support for Full Ahead of Time Compilation, generic sharing, and static linking is now available.
· Support for monitoring the runtime internals is now available through a new PerformanceCounters implementation.
· A new GUI tool `mperfmon' is available to allow developers and administrators to monitor the system performance.
· It is now possible to load code externally into a Mono process to debug or augment code live.
· A new assembly: Mono.Management wraps this functionality.
· Support for SIMD instructions has been added to the Mono JIT. See this page (http://tirania.org/blog/archive/2008/Nov-03.html) for more information about the SIMD support.
· The Documentation for this library (http://go-mono.com/docs/monodoc.ashx?tlink=0@N:Mono.Simd) includes the API-level description of the new data types introduced in this new release.
· The performance benefits of using these SIMD-aware vector types is anywhere between 1.5x to 10x depending on the use cases.
· A new Mono.CSharp.Evaluator class and library is available to allow developers to embed the C# compiler into their own applications. This provides C# in a Compiler-Service modality that developers can use to extend their applications.
· This can be used to load scripts written in C# dynamically, but executing at the same speed as C# compiled pages or to add dynamic features to your application or even adding a console to debug your application on a live deployment.
· A new interactive shell for C# is available, the command is called "csharp", more details are available on the csharp manual page and on the CsharpRepl page.
· The C# shell currently requires Mono for any C# 2.0 and 3.0 support. Version 1.0 will also run on the .NET Framework.
· The shell has support for attaching to existing processes, so it is possible to use the csharp shell to debug live applications.
· A GUI version of the shell, gsharp is also included in the mono-tools package.
· Our compiler will now replace any references to the empty string with a reference to the String.Empty field (more efficient).
· The C# compiler now defaults to warning level 4 (the previous default was level 3).
· Compiler parsing errors detection and parser error recovery has been improved which should lead to much cleaner syntax error reporting.
· The regex interpreter used by the System.Text.RegularExpressions package has been rewritten to be more efficient.
· Additionally, a regex-to-CIL compiler has been implemented which provides dramatically better performance at the cost of increased setup time, this compiler is activated when RegexOptions.Compiled is passed to the Regex class constructors. The old interpreter is still available, and can be used by defining the MONO_OLD_RX env variable.
· In previous versions, Mono always interpreted regular expressions.
· New Routing handler in ASP.NET 3.5 SP1 has been implemented. This includes ASP.NET Abstractions layer and will be used for ASP.NET MVC.
· Nearly 200 reported bugs have been fixed since the 2.0 release.
· Calling Application.EnableVisualStyles () will now use native rendering on Windows.
· Our static code analyzer has been updated with new filtering options (severity, confidence, number of defects), 32 new rules (total 183) and many enhancements and fixes to existing rules. Full release notes are available on here (http://anonsvn.mono-project.com/source/trunk/mono-tools/gendarme/NEWS).
· The Mono Windows installer has been updated to include GTK# 2.12.7.
· Build
· It is now possible to cross-compile Mono for Windows using Linux and MinGW. Details are available on the Compiling Mono page.
· Various upgrades to the Console implementation, it will now respond appropriately to changes on terminal sizes.
· Some libraries are too small to qualify for an assembly and are more conveniently used in source code form. With Mono 2.2 we debut code snippets, these are used by copying the code into your application. For example, to use Mono.Options parsing library, you would do: cp `pkg-config --variable=Sources mono-options` .
· Mono.Options and Mono.DataConvert are now available in this form.
· Jonathan Pryor's Mono.Options library is now included as a Source Code Snippet that you can integrate into your application.
· This is a command line editor that replaces Console.ReadLine() for interactive applications. It provides editing in the command line and support for history
· The Mono DataConvert library provides encoding and decoding of bytes, words, strings and other data types to and from various CPU endianness.
October 30th, 2008· Bug 426309 - Crash with microsoft-compiled binary (https://bugzilla.novell.com/show_bug.cgi?id=426309)
· Bug 431304 - reverse invoke via COM when marshaling a BSTR by ref retval fails to convert MonoString to native string. (https://bugzilla.novell.com/show_bug.cgi?id=431304)
· Bug 433908 - Problem with Npsql and pooling (https://bugzilla.novell.com/show_bug.cgi?id=433908)
· Bug 431811 - Process.HasExited does not work on Mono 2.0 runtime (https://bugzilla.novell.com/show_bug.cgi?id=431811)
· Bug 434620 - Structure Corruption (https://bugzilla.novell.com/show_bug.cgi?id=434620)
· Bug 428406 - InvalidCastException when casting multi-dimensional jagged arrays (https://bugzilla.novell.com/show_bug.cgi?id=428406)
· Bug 434544 - JIT / Runtime corruption (https://bugzilla.novell.com/show_bug.cgi?id=434544)
· Bug 432673 - Invalid IL code in ctor () (https://bugzilla.novell.com/show_bug.cgi?id=432673)
· Bug 426264 - Function return inconsistent ulong value, which has dummy parameter of a Class and a ulong (https://bugzilla.novell.com/show_bug.cgi?id=426264)
· Bug 430963 - Optimization - Don't allocate 32kb buffer in CachedRawResponse that is never used (https://bugzilla.novell.com/show_bug.cgi?id=430963)
· Bug 430040 - TcpClient breaks after 1000 consecutive connections (https://bugzilla.novell.com/show_bug.cgi?id=430040)
· Bug 435549 - Memory leak with Response.Cache.SetCacheability(HttpCacheability.Public); (https://bugzilla.novell.com/show_bug.cgi?id=435549)
· Bug 432466 - NPIV screens in an NVP deployment cannot assume presence of ZOS (https://bugzilla.novell.com/show_bug.cgi?id=432466)
· Bug 433741 - PATCH for OdbcDataReader.GetBytes() (https://bugzilla.novell.com/show_bug.cgi?id=433741)
· Bug 416462 - Remoting takes an inordinate amount of time when passing 4KB or 8KB strings (https://bugzilla.novell.com/show_bug.cgi?id=416462)
· Bug 437691 - System.InvalidCastException: Cannot cast from source type to destination type. at System.Web.HttpApplicationFactory.AttachEvents (System.Web.HttpApplication app) (https://bugzilla.novell.com/show_bug.cgi?id=437691)
· Bug 437289 - with EnableSessionState="False" access to Context.ApplicationInstance.Session; should throw an exception
March 15th, 2008· This is the last release before the 2.0 release of Mono, it is a stable release and at this point the generics and the VM are supported feature complete.
· This version fixes a bug in reflection that affects existing Gtk# deployments; To install this release you should install the new version of Gtk# (released at the same time as Mono).
· C# compiler now defaults to the C# 3.0 mode.
· Silverlight support is now enabled by default.
· Optimization: Generics code sharing [Mark].
· AOT support for ARM processors [Zoltan].
· Runtime bugs fixed/closed in this release
· Continued the work on the Mono verifier and making the runtime more robust when coping with broken assemblies.
· Core LINQ (Linq to Objects) library support has been updated to the .NET 3.5 API [JB, MarekS]
· System.Xml.Linq is now part of the standard distribution [Atsushi]
· Tools
· A new tool gui-compare can be used to compare API changes between different assemblies or descriptions of APIs. You can use this to track API changes in your libraries to ensure no regressions have occurred accidentally.
· gui-compare comes with various presets that allow developers to explore the APIs that Mono ship against the Microsoft published APIs and profiles
· For the first time Gendarme is available inside a Mono release. Gendarme is a tool to find problems in software. Gendarme inspects programs and libraries that contain code in ECMA CIL format (Mono and .NET) and looks for common problems with the code, problems that compiler do not typically check or have not historically checked.
· Contributors: Sebastien Pouliot, Aaron Tomb, Russell Morris, Christian Birkl, Néstor Salceda, Nidhi Rawal, Lukasz Knop, JB Evain, Daniel Abramov, Andreas Noever, Adrian Tsai
· C# 3.0 is now the default mode of operation for the C# compiler. It is no longer necessary to specify the -langversion:linq command line option.
· Due to this new default, the System.Core.dll assembly is now referenced and this might cause some type ambiguities, in particular with the "Action" type (System.Action from System.Core vs Gtk.Action for example). The fix is to either use fully qualified names for Gtk.Action, or to use namespace aliases.
· There are a couple of known limitations: very complicated LINQ statements still fail to compile, and Expression trees are not completely supported in this release.
· The mcs/gmcs parsers have also been unified, which will help reduce the maintenance burden on the compiler.
· New mapping feature. This feature makes it easier to make your cross-platform applications work on many platforms without changing the configuration settings. More information can be found on this page. [Marek]
· Batch compilation of sites. Unlike previously, the 2.0 applications are now by default compiled in the batch mode. That means, the first time a request is made to a location, files from the location are compiled together into one assembly (separate assemblies are used for .aspx and .as[hmc]x files). It makes the requests to other files at the same location much faster and reduces clutter in the temporary directory. [Marek]
· The XSP test suite has been given a facelift. Both 1.1 and 2.0 sets of tests now share the design and navigation. Many samples were fixed or completed. [Marek]
· Speed optimization in the System.Web assembly [Mainsoft, Marek]
· The OSX native backend has been vastly improved and is now the default for Windows.Forms applications on OSX. The X11 driver is still available, to use it you must set the MONO_MWF_MAC_FORCE_X11 environment variable [Geoff].
· More support for WebBrowser events/DOM [Andreia].
· Many fixes for RichTextBox and AutoScaling [Luke Page and James Purcell respectively].
· Major improvements to the PropertyGrid control some of which are listed below [Ivan N. Zlatev].
· Merged properties support.
· Full support of Structures, Arrays and other Value Types.
· Full support of TypeConverters and UITypeEditors and their features. Also many fixes and improvements to our TypeConverters and UITypeEditors.
· ICustomTypeDescriptor support.
· Support for attributes that can be applied to properties and influence their behavior in the PropertyGrid (e.g PasswordPropertyTextAttribute).
· Graceful error handling and reporting.
· Over 50 bugs have been fixed in the PropertyGrid. Special credits go to [Andy Hume] for his extensive testing.
· Over 100 reported bugs fixed for this release. [Winforms team and contributors].
· Implementation of the .NET 1.1 and 2.0 Design-Time framework [Ivan N. Zlatev].
· Hosting: DesignSurface, DesignSurfaceManager.
· Loaders: BasicDesignerLoader, CodeDomDesignerLoader.
· Serialization: DesignerSerializationManager, CodeDomSerializerBase, CodeDomSerializer, MemberCodeDomSerializer, RootContext, ExpressionContext, StatementContext, etc.
· Out of the box support for serializing and deserializing Components, WinForms Controls, Properties, Events, Primitives, Enums, Collections, etc is provided.
· WinForms Designers: ComponentDesigner, ControlDesigner, ScrollableControlDesigner, ParentControlDesigner, DocumentDesigner, FormDocumentDesigner, PanelDesigner, SplitContainerDesigner, etc.
· Services implementations provided: UndoEngine, EventBindingService, MenuCommandsService, ISelectionService, IReferenceService, IExtenderProviderService, IExtenderListService, ITypeDescriptorFilterService, IDesignerHost, IComponentChangeService, etc.
· The implementation should be sufficient to implement at least a Windows Forms designer. An example can be found in the mwf-designer module in our Subversion repository. One major missing bit is the BehaviorService to aid the designer interaction.
· Many fixes to support the Dynamic Language Runtime are available as part of this release. It is now possible to build and use the DLR with Mono.
· System.Core: A HashSet implementation is now available on System.Core and we have updated the TimeZoneInfo class.
· Stdlib.signal() has been deprecated, as its use was inherently usafe. Stdlib.signal()'s functionality has been replaced with a pair of members: [Jonathan Pryor]
· Mono.Unix.Native.Stdlib.SetSignalAction (Mono.Unix.Native.Signum, Mono.Unix.Native.SignalAction) permits specifying whether to perform the default action (SignalAction.Default), ignore the signal (SignalAction.Ignore), or generate an error (SignalAction.Error) when the specified signal is generated.
· The Mono.Unix.UnixSignal class permits instances to represents the signal itself, supporting polling to see if the signal has been generated via the UnixSignal.IsSet instance property, or blocking the current thread until the signal has been generated with UnixSignal.WaitOne().
· The mono-service and mono-service2 programs no longer poll every 500ms to pause, continue, or stop a service. They will instead sleep until the signal is generated. [Jonathan Pryor]
· More support in the IO classes for Visual Basic [Rolf]
· New support for controlling the number of requests that are passed to the mod-mono-server process. If you have not changed the number of threads in the Mono thread pool, this can help you prevent deadlocks caused to the Mono ThreadPool getting exhausted by incoming HTTP connections ([Joshua]).
· This is controlled with two new Apache directives: "MonoMaxActiveRequests" and "MonoMaxWaitingRequests".
· SSL/TLS now support X.509 server certificate using wildcards (e.g. *.novell.com) [Sebastien]
January 30th, 2008· Native Windows.Forms driver for MacOS X allows Winforms-based applications to run without an X server.
· Support for the ASP.NET AJAX APIs and controls.
· Support for FastCGI deployments: ASP.NET can now be deployed on a multitude of servers that implement the FastCGI protocol (lighttpd for example) in addition to Apache.
· Windows.Forms now supports the WebControl on Windows and Linux using Mozilla.
· Runtime will now consume much less memory for 2.0-based applications due to various optimizations in generics support as well as including many new performance improvements and an updated verifier and an implementation of CoreCLR security.
· C# compiler is quickly approaching full 3.0 support, most of the basics work right now (except support for System.Query.Expression AST generation).
· The QA team ran 910 test cases during 11 test runs.
· Over 50 bugs were fixed / backported to the Mono 1.2.6 branch.
· Mono 1.2.6 can now be used as an SDK for creating Silverlight 1.1 applications on all platforms. This allows developers to create applications that target Silverlight without requiring a Windows installation.