Xamarin.Android 4.8

Xamarin.Android 4.8


The Xamarin.Android 4.8 series contains the upgrade of the Mono runtime engine toMono 3.0.12, and includes advanced features like C# 5 and async programming.
First-class support for asynchronicity is a powerful and brilliantly simple language tool.
It makes it easy to write responsive user interfaces, which in turn makes for delighted users It makes complex workflows, with their error handling, natural to write. This translates into proper error messages and proper program recovery; and finally by letting the compiler do the work for you, it eliminates bugs from your code, and enables you to enjoy your work and to focus on what really matters for your application.
While asynchronicity is the main theme of this release, we also pack two years of improvements to the Mono runtime spread over more than 7,000 individual commits that are now available to Android, Mac and iOS users.
Among the new features:
  • New .NET 4.5 APIs
  • Async-friendly System.Net.Http
  • Improved debugging stack
  • Variant and contravariant interfaces
  • Fewer unbound Java types
New .NET 4.5 APIs: We’re bringing in a huge refresh to the class libraries. Our current products have historically been an extension of the Silverlight API. Now our class libraries are based on the .NET 4.5 profile.
New System.Net.Http: This is such a delightful async API that it deserves to be called out on its own. This is an async-friendly HTTP stack, and makes building clients apps trivial. We now ship System.Net.Http, a new, async ready, HTTP stack that have been designed from the bottom up to work well with the new version of the language.
Debugging Upgrades: Our debugger has received a lots of small improvements and fixes, they add up and you will notice how all the small details now work more smoothly than before.
Variance and Contravariance: With the upgrade to our class libraries, we have introduced support for variance and contravariance in the core types. While this change enables a whole class of new code to be written, it also means that some old code that was not covariant/contravariance friendly will have to be adjusted.
Fewer unbound Java types: In prior releases, many Java packages were omitted because they were "duplicative" of the .NET stack, such as the org.xml.sax package and java.lang.reflect. Nearly all types are now bound.

Installation

Known issue: Immediately after upgrading, users may have trouble loading Xamarin.Android projects. Please restart Xamarin Studio again if you experience this.
Visual Studio Users: You should be prompted with this update when you open a Xamarin.Android project. You can also check manually in Tools > Options > Xamarin.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 Xamarin Studio 4.0. Layout Designer fixes require MonoDevelop 3.0.4.

Xamarin.Android 4.8.3


Bug fixes

  • Fixed linking issues with PCL.
  • 13957: Xamarin.Android Apps are crashing on dual core x86 Devices.
  • 14033: Cannot build Android project due to recursive activation.
  • 15214CultureInfo.CurrentCulture returns Invariant culture.
  • 15265: ResolveSdks/CheckProjectItems task failed unexpectedly: WaitAll for multiple handles on a STA thread is not supported

Xamarin.Android 4.8.2


New Features

Note: It is strongly recommended that all binding assemblies be rebuilt, as this is required in order to fully fix Bug #13521. Binding assemblies built with the 4.8.2 or later releases will not work on previous releases.

Bug fixes

  • 7797: Support Java7 JavaDoc format for importing parameter names. Use the$(Java7DocPaths) MSBuild property group to specify a directory which contains Java 7 JavaDoc documentation.
  • 8754: Allow ExportAttribute to be used on constructors, and allow custom code fragments to be used for the generated Java super constructor invocation.Example
  • 11247: Build > Package in VS2012 hangs while building Android app.
  • 13343: Allow FtpWebRequest to interract with FTP servers which use \ as a directory separator char.
  • 13397: Propertly set $(TargetFrameworkVersion) in Binding projects.
  • 13438: Enable satellite assemblies in bundled applications.
  • 13440: Support building within Xamarin Studio when the project name is not a valid C# identifier.
  • 13461: Fix System.Net.NetworkInformation.NetworkChange.
  • 13521: Don't die with a SIGSEGV if the JNIEnv interface pointer changes values.
  • 13686: Fix System.TimeZoneInfo when running on Android v4.3.
  • 13687: Fixed Android OpenGL template to set the HardwareAccelerated flag on the Activity.
  • 13697: Fix NullReferenceException when starting NUnit Activity.

Integrated Mono features/fixes

  • 3924: WebClient - Incomplete download but DownloadFileCompleted is triggered without error.
  • 11598: SemaphoreSlim.Wait uses 100% CPU.
  • 12393: HttpWebRequest.Host does not understand IPv6 addresses.
  • 12745: TaskAwaiter.GetResult() throws an exception if the task hasn't completed.
  • 13110: StructuralComparisons.StructuralEqualityComparer doesn't compare array of integers correctly.
  • 13466: Don't remove System.Net.HttpWebRequest.CachePolicy.
  • 13509: Mono throws exception trying to read CultureInfo when region is zh-TW.

Xamarin.Android 4.8.1


Bug fixes

  • No longer fail to build with an XmlException when linking a Release build in projects that reference System.Data.Services.Client.dll.
  • 13391: System.Net.dll is missing when using PCL on Android.
  • 13460: Fix assert in bsearch when running on Android v4.3.
  • 13490: App crashes when culture is zh_TW.
  • 13500: Fix assert mini/mini.c:3806, condition `l' not met.

Xamarin.Android 4.8.0


New Features

  • F# support
  • C#5 Async overloads
  • Binding projects support Android .aar files. Use a Build action ofLibraryProjectZip.
  • Accessing the e.g. TextView.Text property getter (and other string property getters) should now dispose of the intermediate GREF.
  • Add Java.Interop.Runtime.MaxGlobalReferenceCountJava.Interop.Runtime.GlobalReferenceCountJava.Interop.Runtime.LocalReferenceCount properties andJava.Interop.Runtime.GetSurfacedObjects(). These are for diagnostic purposes and should not be relied upon.
  • Android SDK r22 support
  • The Mono runtime is now built with the Android NDK, revision 8e
  • Generated binding files now get Metadata.xml XPath info.
  • Give meaningful message for missing //attr/@name attribute in Metadata.xml.
  • Inclusion of Xamarin.Android.NUnitLite.dll and ability to write NUnit-based projects within Xamarin Studio 4.0.8+.
  • $(AndroidUseLatestPlatformSdk): new MSBuild property; if True, cause the build process to use the latest (highest numbered) Android Platform SDK. [Infrastructure]
  • Runtime now is built with proper hardware floating point on armv7 (managed code would already use it correctly)
  • Within Android Java Library Binding projects, C# custom attributes can now be inserted into the generated code by adding a customAttributes attribute:
    <attr
            path="/api/package[@name='mono.android.app']/class[@name='IntentService']/constructor[count(parameter) = 0]"
            name="customAttributes">
        [Preserve(Conditional = true)]
    </attr>

Bug fixes

  • Fix preservation of AesCryptoServiceProvider.
  • Add [Flags] to various enumerations.
  • Generate XA42303 for [Activity(Name=".Foo")].
  • Fix installation of the Visual Studio add-on when Visual Studio is installed into a non-default location.
  • Use Encoding.Default for javac response files.
  • More sanely select a working directory for mandroid execution.
  • Fix license activation problem which occurs when both Xamarin.Android and Xamarin.iOS licenses are checked at the same time.
  • Fixed method lookup to avoid duplicate method bindings
  • Cecil is now vendorized. This fixes conflicts & bugs in between VS, XS and xbuild.
  • Fixed a GC interop regression when you build a linked list out of user peers.
  • Fixed Typos in 'Publish Android Application' dialog
  • Better handle system with unavailable devices (VMs with a floppy drive)
  • Improved diagnostics on deployment failures
  • Multiple linker issues fixed when building from inside Xamarin Studio
  • Faster KillProcess behavior
Load disqus comments

0 commentaires