Visual Studio Users: You should be prompted with this update when you open a MFA project. You can also check manually in Tools > Options > Mono for Android.
MonoDevelop Users: You should be prompted to upgrade next time you open MonoDevelop, or you can use Help > Check for Updates. IDE support requires MonoDevelop 184.108.40.206.
GC Stability Improvements: We've fixed an assert within the GC and improved stability.
Changes since 4.0.1
TargetFrameworkVersion no longer controls which android.jar is used when building packages. (This is particularly useful for AdMob users, which must use an API level 13+ android.jar.)TargetFrameworkVersion will set the AndroidManifest.xml //uses-sdk/@android:minSdkVersion attribute and is the JNI ABI your application will reference. The//uses-sdk/@android:targetSdkVersion attribute controls which android.jar the app is built against; if not specified, this defaults to TargetFrameworkVersion.
There is now a System.Threading.SynchronizationContext: Application.SynchronizationContext, for easier marshalling back to a UI thread.
- Additional int to enumeration parameter and return type conversions.
- Mono.Cairo.dll is no longer distributed. (It never should have been distributed, as it doesn't work.)
- API Level 4: Mono.Android.dll, Mono.Android.GoogleMaps.dll, OpenTK.dll
- API Level 7: Mono.Android.dll, Mono.Android.GoogleMaps.dll, OpenTK.dll
- API Level 8: Mono.Android.dll, Mono.Android.GoogleMaps.dll, OpenTK.dll
- API Level 10: Mono.Android.dll, Mono.Android.GoogleMaps.dll, OpenTK.dll
- API Level 12: Mono.Android.dll, Mono.Android.GoogleMaps.dll, OpenTK.dll
- API Level 14: Mono.Android.dll, Mono.Android.GoogleMaps.dll, OpenTK.dll
- 329: Add support to serialize nullable types when the XmlElement has explicity set the DataType.
- 1147: Generic method failing "at mini-generic-sharing.c:407, condition `!(*oti)->data' not met".
- 2169: Implement the ObservableCollection<T> constructor to now throwNotImplementedException.
- 2440: System.UnauthorizedAccessException with fast deployment to emulator.
- 2432: Re-enable -linkskip functionality.
- 2473: Webservices 2.0 Async download: memory is not released, app gets stuck or is running OOM.
- 2482: DownloadProgressChanged's BytesReceived does not increment.
- 2582: Android.Util.TypedValue.ApplyDimension should take enum parameter.
- 2688: Fix the [Obsolete] message text on Consts-suffixed types.
- 2609: Don't generate duplicate ACW constructors.
- Allow null collections instances to be passed into Java; email thread.
- The AndroidStoreUncompressedFileExtensions MSBuild property now behaves as documented. (Email thread.)
- Fast Deployment-enabled installs to the emulator should no longer throwUnauthorizedAccesException when creating files. (Email thread.)
- Fix the value of Android.Graphics.Color.Transparent.
- Make sure MD Android addin stops if it hits a deployment failure.
- Fix inheriting from JavaList<T>.
- Support opening SQLite databases in read-only mode.
- JSON: Support deserializing null for DateTime? fields.
- JSON: Fix array deserialization.
Warning: Samsung shipped a broken kernel with Android 2.1, which is not able to support JIT compilation. If you possess a Galaxy-class device with Android 2.1, you will get unexpected results, this is caused by a kernel bug that breaks cache coherency, rendering any engine doing JIT compilation useless. Check with your manufacturer/carrier for an Android 2.2 update.