We are excited to announce that we have just released our support for all of the new APIs introduced in iOS 8.

This release is the perfect companion to the iOS 8 GM developer release that you can use to submit apps to the App Store that take advantage of the new iOS 8 APIs.

We added support for the just-announced Apple Pay API, so developers can integrate this new payment system into their iOS apps.ios8-icon We have shipped same day support for iOS since iOS 5, enabling developers to add the latest features to their iOS apps immediately.

To ensure you get the most out of these exciting changes in iOS 8 using Xamarin and C#, we’ve created an extensive set of resources to help you get started:

Introduction to iOS 8

First off we have our Introduction to iOS 8 document, which describes all of the new features and major improvements to iOS 8, provides links to detailed usage documentation, and provides examples of using updated iOS features in Xamarin and C#. Additionally, you will find plenty of new iOS 8 samples to try right away.

App Extensions

app-extensions-iconWith iOS 8, Apple lets you extend select areas of the system by supplying an App Extension — code that enables custom functionality within the context of a user task. To find out more about extending iOS 8 with Xamarin, check out our Introduction to App Extensions document.

TouchID Authentication

touch-id-iconIn iOS 8, an application can use TouchID to authenticate a user. Some apps may need to secure access to all of their content, while others might need to secure certain pieces of information or options. In either case, you can require the user to authenticate before proceeding. To learn more about using TouchID in Xamarin, check out our Introduction to Touch ID document.


photokit-iconPhotoKit provides new APIs for working with photo and video assets, including iCloud Photos assets (managed by the Photos application), so that an application can edit photos directly in the Camera roll without having to import them first. For a quick example of using the PhotoKit framework in Xamarin, see Mike Bluestein’s Build Great Photo Experiences in iOS 8 with Photokit blog post.

Manual Camera Controls

camera-api-iconThe AVFoundation Framework makes it easier than ever for users to take great photos. An app can take direct control over the camera focus, white balance, and exposure settings. An app can also use bracketed exposure captures to automatically capture images with different exposure settings. To get the most out of Manual Camera Controls in Xamarin, see our Introduction to Manual Camera Controls document.


healthkit-iconHealthKit allows apps providing health and fitness services to access shared health-related information in one place. A user’s health information is stored in a centralized and secure location and the user decides which data should be shared with an app. Find out more about using HealthKit with Xamarin by reading ourIntroduction to HealthKit documentation.


homekit-iconHomeKit provides seamless integration between accessories that support Apple’s Home Automation Protocol and iOS devices, allowing for new advances in home automation. With HomeKit, the mobile app that a user controls their home with doesn’t have to be provided by the vendor that created their home automation accessories. To find out more about supporting HomeKit in Xamarin, read our Introduction to HomeKit documentation.


cloudkit-iconWith CloudKit, you can focus on your client-side app development and let iCloud eliminate the need to write server-side application logic. CloudKit provides authentication, private and public databases, and structured and asset storage services. To learn more about using CloudKit with Xamarin, check out our Introduction to CloudKit documentation.

Document Picker

document-picker-iconThe document picker view controller grants users access to files outside an app’s sandbox. It is a simple mechanism for sharing documents between apps. It also enables more complex workflows, because users can edit a single document from within multiple applications. Learn about using the Document Picker with Xamarin by reading our Introduction to the Document Picker document.


handoff-iconHandoff is a feature in OS X and iOS that extends the user experience by providing continuity across devices. Handoff enables users to begin an activity on one device, then switch to another device and resume the same activity on the other device. Learn how to enable Handoff in your Xamarin app by reading our Introduction to Handoff documentation.

Unified Storyboards

unified-storyboards-iconiOS 8 makes dealing with screen size and orientation much more versatile. Using Unified Storyboards, you can create a single interface for an app that works well on both iPad and iPhone devices by adjusting easily to orientation changes and different screen sizes as needed. Find out about using Size Classes and Unified Storyboards by reading our Introduction to Storyboards document.


scenekit-iconSceneKit is a high-level 3D graphics framework that helps you create 3D animated scenes and effects in your apps. SceneKit’s 3D physics engine enlivens an app or game by simulating gravity, forces, rigid body collisions, and joints. It’s also completely integrated with SpriteKit, so you can include SpriteKit assets in 3D games. For a quick example of using the SceneKit framework in Xamarin, see Mike Bluestein’s Lights, Camera, Action – 3D in iOS 8 with Scene Kit blog post.


spritekit-iconThe SpriteKit framework adds new features to make it easier to create high-performance, battery-efficient 2D games. With support for custom OpenGL ES shaders and lighting, integration with SceneKit, and advanced new physics effects and animations, you can add force fields, detect collisions, and generate new lighting effects in your games. For a quick example of using the SpriteKit framework in Xamarin, see Mike Bluestein’s New Sprite Kit Physics Features in iOS 8 blog post.

Installing Xamarin.iOS for iOS 8

Windows users with Visual Studio, in addition should:

  • Switch Visual Studio Xamarin Updater Channel to “Beta”.
  • Install the Visual Studio extension update.

You can browse our entire API change log and release notes to find out the latest features released today with Xamarin.iOS 8.0 and the new iOS 8 APIs.

Get Ready for iOS 8 Webinar

Xamarin Developer Evangelist Mike Bluestein will provide an overview of the top new and updated APIs it includes. Join us Thursday, September 11th at 8 am PT for this webinar to learn about incorporating all of the great new features into your app.

Register for Get Ready for iOS 8

Posted by Andrew Tierney Thursday, September 11, 2014 3:37:00 PM


Today we are pleased to share some major improvements to the APIs for our iOS and Mac products.

ios and osx logos

Why a new API?

The Classic Xamarin.iOS and Xamarin.Mac APIs had two major flaws:

  1. They did not support 64 bit applications.
  2. They made iOS and Mac code sharing cumbersome.

As Mac OS X evolved, more and more frameworks became available only as 64 bit frameworks. Additionally, iOS recently made the 64-bit jump when the iPhone 5s was launched.

Last year we started a redesign for our 64-bit support, one that would meet the following goals:

  1. The same source code must work on both 32 and 64-bit platforms
  2. Libraries and binaries would run either in 32 or 64 bit modes, depending on the host platform and build settings, with no source code changes or recompilation required
  3. Improved code sharing story between our Mac and iOS products.

Enter The Unified API

The result of more than a year of development on our API bindings and Mono’s runtime is our Unified API, which we are introducing today as a preview feature. The Unified API accomplishes everything we set out to and so much more.

First, we addressed the 32/64 bit split, by surfacing an API that is 32/64 bit agnostic.

Second, we dropped the namespace prefixes. This makes sharing code between iOS and Mac apps less tedious to maintain and easier on the eyes. An example to demonstrate this is what you had to do before when you had to use a using:

#if MAC
#elif IOS

With the Unified API you can simply use:


64bitThis means with the new Unified API we have not only made it easier to share common code across your iOS and Mac applications, but you are now able to take advantage of all of the new 64-bit APIs on each platform.

Get Started & Backwards Compatibility

The new Unified API is available now in the Beta channel. We made the new Unified API opt-in, which means there is no need to upgrade to this new API unless you want to take advantage of the features outlined above. Xamarin will continue to support the Classic API you are familiar with for both Mac and iOS alongside the Unified API indefinitely.

We have ported all of our Mac samples and our iOS samples to the new API so you can see what is involved. They are both maintained on a branch that for historical reasons is called “magic-types”.

We are currently working on both templates to get you started (or you can migrate on your own), as well as a migration assistant that will do the bulk of the port for you.

What is Missing?

We are aware that the following features are currently missing and we are working on them:

  • Binding Project Types, to easily call into native libraries
  • Complete templates for all the scenarios previously supported
  • Xamarin’s Components are not available yet

Register for Our Webinar

We’ll be hosting a webinar to help you, “Get Ready for iOS 8,” on Tuesday, September 11 at 8 am PDT. Join us then for a walkthrough of the top new and updated APIs in the iOS 8 release. Xamarin developers will be able to take advantage of the new APIs within hours of Apple’s public release, so attend this webinar to help get your apps iOS 8-ready.

Posted by Andrew Tierney Thursday, September 4, 2014 10:12:00 PM


Today we have published support for Google’s Android L Developer Preview in the Alpha channel. Additionally, we are introducing preliminary support for new SDKs that Google has released, including Android Wear, Android TV, and brand new Support Libraries.Android Robot

Installing our Android L Preview

  • With this release, a Java JDK 1.7 is now required to properly compile applications. You can download one for your system from Oracle website.
  • Update your Android SDK Tools to 23.0.2 from the Android SDK Manager
  • Install Android SDK Platform & Build-tools to 20

Android SDKTools

  • Download the Android L and Android 4.4W SDKs

Android L Preview SDK Download

Android Wear

Android WearWhen Google announced their new wearable platform, Android Wear, last March, they only made a new library for enhancing existing notifications available.

At Google I/O, an official developer SDK to create full-featured applications capable of running on an Android Wear device was unveiled. With this release, Xamarin developers will now enjoy the same ability.

We are also making available the Android Wear UI Library preview on NuGet to include in your wearable apps. Our Android Support Library v4 was also updated to include many of the new Android Wear interaction APIs, such as NotificationCompat and RemoteInput.

Android Support Libraries

Not only did the Android L Preview come in with a new series of core APIs, it also brought a large update to the Android Support Libraries set.

Along with Android Support Library v4 updates, additional Support Libraries are now in preview release, including great new features such as RecyclerView,CardViewPaletteAndroid TV Leanback, and update to Support Library v13. All of these libraries are now available straight from NuGet.

IDE Improvements

We have also added some new features to help you design for those new platforms to our Android designer for both Xamarin Studio and Visual Studio. You’ll find Wear device support, Material theme selection, and Action Bar previewing, among others, starting today.

Android Wear Designer support

See the Xamarin Studio release notes for more information and known caveats.

Getting Started

You should have the new APIs available now. Check our release notes for more details and a detailed list of the new APIs.

Register for Our Webinar

We’ll be hosting a webinar to help you, “Get Ready for Android L, Wear and TV,” on Tuesday, September 16 at 8 am PDT. Join us then for a walkthrough of the top new and updated APIs in the Android L release, as well as the new Android Wear and Android TV SDKs.

Posted by Andrew Tierney Thursday, September 4, 2014 10:11:00 PM


We are happy to announce a few major updates to Xamarin.Mac. The first major update is the result of more than a year of development on our API bindings and Mono’s runtime which brings the following features to Xamarin.Mac:

  • 64-bit support
  • New 64-bit Frameworks
  • Support for lighter mobile profile
  • Easier code sharing between Mac and iOS

These features are available today in the Beta channel.

Yosemite OS X Logo On top of these new features we have been hard at work binding the new Mac OS X Yosemite APIs. We are pleased to announce support for Yosemite is now available. Since Yosemite is still an unreleased platform and may continue to change you will find these APIs in the Alpha channel along with all of the other features I mentioned earlier.

64-bit support & Easier Code Sharing

We recently announced the brand new Unified API for Xamarin.iOS and Xamarin.Mac. The Unified API allows developers to support both 32 bit and 64 bit applications with the same source code (as well as binaries) on both Mac and iOS.

In addition to this we also took the time to enhance the code sharing story between iOS and Mac. An example of this is that you no longer are required to add any namespace prefixes. This means code that looked like this:

#if MAC
using MonoMac.Foundation;
#elif IOS
using MonoTouch.Foundation;

Can now simply be written in one line:

using Foundation;

For more information, read our new Guides for Cross Platform Mac and iOS code.

New 64-bit Frameworks

With the introduction of our Unified API we are finally able to support all of those 64 bit-only frameworks that Apple has introduced in the last few years, including but certainly not limited to the many new 64 bit-only frameworks in Yosemite.
What's new in scene kit

Shadows in Scene Kit


Lightweight Profile

Also with the Unified API comes the ability for users to adopt Xamarin’s Mobile profile. The Mobile profile is the same API profile that we use on Android and iOS which has been designed to be linkable and have a much smaller footprint on disk than the regular desktop edition. This is convenient for applications going into the AppStore or that wish to share more code across Android and iOS.


Many of our Mac samples are being ported to the Unified API and currently live in their own branch. In addition, we are starting to publish our internal ports of the Yosemite samples which can be found in the Yosemite directory.

Posted by Andrew Tierney Thursday, September 4, 2014 10:10:00 PM

RAD Studio XE7 available today! 

RAD Studio XE7
RAD Studio, Delphi and C++Builder XE7 are available today! 
Get the must-have upgrade of the award winning, multi-device development solution for connected apps on Windows, Mac, iOS, Android, gadgets and wearables. PLUS! Keep building, evolving, and extending your Windows applications using the updated VCL!
Introductory Offer: Buy or Upgrade before September 30th and SAVE 10%!
Qualifying RAD Studio, Delphi and C++Builder XE7 new user and upgrade products have a discount built into the prices through September 30, 2014.
Bonus Pack: Get free extras including FastCube VCL 2 data analysis tools and components, and Premium Style Packs for VCL and FireMonkey when you upgrade or recharge now!
Here’s what YOU can do with RAD Studio XE7:
  • Extend existing Windows Applications: Embrace the expanding world of devices including phones, tablets, gadgets, wearables and more, all within a single IDE!
  • Deliver Highly Connected Apps: Easily connect with enterprise data, cloud services, devices, sensors, gadgets…and more!
  • NEW FireUI Multi-Device Designer: Build user interfaces once for multiple device form factors and OSs with native fidelity, capabilities, and uniqueness
  • NEW Parallel Programming Library: Easily integrated for super-charged performance of your VCL and FireMonkey applications
  • NEW Bluetooth App Tethering: Extend existing Windows applications with tethered mobile apps using WiFi and Bluetooth connectivity
  • NEW Enterprise Mobility Services (EMS): A turnkey REST based Mobile Enterprise Application Platform (MEAP) middleware stack that provides custom API hosting and service deployment, including data and SQL database access, and analytics for mobile, desktop and web application clients
  • Easily connect with popular cloud services with REST as well as BaaS providers for push notifications, authentication, storage and more!
  • And much more…
These and many other innovations delivered in RAD Studio XE7 will result in you and your team building high performance, connected apps up to 20x faster!
Posted by Andrew Tierney Tuesday, September 2, 2014 10:21:00 PM



Xammy BadgesWe are excited to announce the Xammy Awards, which will be awarded this year at Xamarin Evolve 2014. Xamarin developers represent the world’s top mobile developers and this is your chance to be recognized on our global stage.

Apps can be submitted in the following 4 categories:

  • Consumer: Tell us how your app changes the way we interact with the world and each other.
  • Gaming: Show us how you’ve created a breakthrough new game concept, or otherwise advanced the craft of game development.
  • Enterprise: Highlight how your app is transforming business processes and making BYOD work for employees and businesses.
  • Emerging Devices: Showcase how you’re taking C# to new form factors, and pioneering the next generation of mobile experiences.

There will be winners in each category, a Grand Prize winner, and a Developers’ Choice winner. Submissions are open from now until August 11th, and winners in the 4 categories will be announced at Xamarin Evolve 2014.

There is only one chance to claim a category for this inaugural year of the Xammy Awards — submit your app today!

Posted by Andrew Tierney Sunday, July 27, 2014 4:12:00 PM

WWDC Summary 

Apple Announces iOS 8 with Touch ID for Apps, QuickType, Third-Party Keyboards and More

Monday June 2, 2014 11:11 am PDT by Marianne Schultz

Apple announced iOS 8 at the keynote event of its annual Worldwide Developers Conference today. iOS 8 gets a multitude of new features for consumers, including revamped notification features, an upgrade to auto-correct called QuickType, support for third-party keyboards, improvements to Mail, and a new health tracking component called Health

Notification Center 

Interactive notifications let users pull down notifications and interact with them to respond to text messages or other notifications without leaving the current open app, or complete actions from notifications shown on the lock screen. In a demo, Craig Federighi was able to reply to an iMessage and like a Facebook post directly from the on-screen notification, which popped over a separate app he was using. 

Keyboard Enhancements 

A new feature in the iOS keyboard called QuickType, adds predictive typing suggestions that adapt to the current context. QuickType learns each users habits and language while protecting privacy. Along with QuickType enhancing the existing iOS keyboards, Apple is going to allow users to install third-party keyboards for the first time, which means keyboards like Swype can be used natively on the operating system. 

Messages Improvements 

Messages gets the ability to name conversation threads, add and remove people from group conversations, allow users to leave group conversations, a feature that has been much-requested by users. In addition to leaving a message thread, users also have the option to turn on "Do Not Disturb," which will mute message notifications from a noisy group message thread. 

With iOS 8, Messages allows users to share their locations right within the app. It also allows audio and video messages to be recorded directly in the Messages app and sent to friends. These messages can be viewed inline or via the lock screen. Craig Federighi showed off a neat trick with an audio message -- he held the phone up to his ear to reply, with the message automatically sending when he lowered the phone. 


HealthKit is a new developer API that will gather and consolidate users' health information from multiple sources and apps, such as those from Nike and Fitbit. A corresponding "Health" app will monitor fitness metrics, linking into third-party apps to gather data. 

Apple has been testing HealthKit with the Mayo Clinic, letting patients and doctors work together using HealthKit to get personalized thresholds for readings, notifying doctors automatically when something is wrong. HealthKit aims to bridge the gap between patients, doctors, and health-tracking devices. According to the Mayo Clinic, HealthKit has the potential to "revolutionize" how the health industry works. 


Siri gets several updates, with the ability to be invoked hands-free with the phrase "Hey, Siri" along with Shazam song recognition, 22 new dictation languages, streaming voice recognition to show users search results as they speak, and more. 


There are thousands of new APIs for developers, and one of the most exciting of those was Extensibility. This feature allows apps within iOS 8 to share information with each other and with the Notification Center. Demoed on stage, Extensibility allowed filters from third-party apps to be used directly on pictures within the Photos app and it also brought Bing translation to Safari. 

Extensibility also allows apps to install widgets within the Notification Center, which work similar to existing Apple widgets for the Calendar, Stocks, and more. This was demoed with an ESPN SportsCenter widget, which allowed sports scores to be displayed automatically within Notification Center. 

Touch ID 

Developers will also be able to access Touch ID for the first time to protect sensitive apps. Fingerprint data will be kept separate, but authentication will automatically unlock passwords stored in keychain to grant user access to apps. 

Family Sharing 

A Family Sharing feature will let families share photos, calendars, reminders, and more among up to six family members at once. Family Sharing also allows families (of up to 6 people) with Apple ID accounts using the same credit card to share apps and books. With Family Sharing enabled, when a child attempts to purchase an app, an adult will get a popup on their own device asking them to approve the purchase. 

iOS 8 will support most recent Apple iOS devices with the notable exception of the iPhone 4. iOS 8 will be available to developers as a beta today and it will be released to the public in the fall. 


Apple Announces OS X Yosemite with Improved Cross-Device Connectivity and New User Interface

Monday June 2, 2014 10:52 am PDT by Husain Sumra

Apple today announced the latest version of its Mac operating system, OS X Yosemite. The sequel to last year's OS X Mavericks, Yosemite includes a user interface redesign, as well as major new features focusing on seamless integration between Mac and iOS devices, a new cloud storage system called iCloud Drive, as well as the ability to make phone calls and send text messages through an iPhone. 


Continuity is the biggest new feature of OS X Yosemite, improving the connection between Macs and iOS devices. With Continuity, it's possible to share files between Mac and iOS devices and it's also possible to make phone calls on a Mac via an iPhone. 

AirDrop finally allows users to share files, photos, and more between iOS devices and Macs. Previously, this feature only allowed files to be shared from Mac to Mac or from iPhone to iPhone, which means sharing files from an iOS device to a Mac will now be far easier. Apple also debuted Handoff, which is a feature that allows iOS devices and Macs to recognize one another, letting users seamlessly transition from one device to another. For example, if a webpage is opened on Safari on a Mac, a user can pick up an iPhone and continue browsing that same site on his iOS device. In a demo on stage, the function was used to show an email started on the Mac continued on an iPhone. 

Through Continuity, iPhone communications integration allows users to make and answer phone calls sent to their iPhones right on their Macs. "Green bubble" SMS messages from Android also now show up on Macs, and it's easier than ever for a Mac to connect to an iPhone hotspot. 

Design and Notification Center 

The new UI is very similar to the flat look of iOS 7 with translucent windows, a new dock and app icons and an all-new notification center with a Today pane and both first- and third-party widgets like Weather and SportsCenter. There's also a new dark mode, which lets users turn the overall interface into the more darkened tone of Notification Center. 


Spotlight has a brand new interface which looks somewhat like third-party Mac apps likeAlfred and Quicksilver and pops up in the center of the desktop. The new Spotlight allows users to not only search through their computer, but online through sources like Wikipedia, Yelp and for live movie times. In addition, Spotlight can do unit conversions, like converting miles to kilometers. 

iCloud Drive 

Another significant new feature is iCloud Drive, a Dropbox-like service that syncs documents across Macs, iOS devices and Windows. It offers an iCloud storage folder directly within Finder so users can see exactly which files they have in iCloud and it is accessible from both Macs and iOS devices. Apple has introduced new pricing for iCloud with the debut of iCloud Drive. The first 5GB of iCloud storage is free, while 20GB costs $0.99 per month and 200GB costs $3.99 per month. Tiers of up to 1TB are also available.


Improvements to the Mail app in Yosemite include Mail Drop and Markup. Mail Drop's intention is to solve the problem of sending attachments that are far too large and result in failed sendings. iCloud now encrypts the attachments and sends the recipient a link to the attachment if it's too large. Attachments are limited to 5 GB. Markup allows users to sketch and doodle on emails, much like Evernote's Skitch


Safari has also seen improvements with a new "bird's eye" tab view, improved Privacy windows, and support for advanced HTML5 video, allowing for a 2 hour increase in battery life when streaming Netflix. The new tab view, essentially designed to replace the existing bookmarks bar, allows users to see a bird's eye view of all open tabs and lets users to bunch tabs together. Smart suggestions, which display favorite sites directly under the search bar, also help to replace the bookmarks bar. 

As far as Privacy goes, users are now able to open a separate private window that does not affect existing windows or tabs, whereas previously, turning on privacy affected all open content. Safari includes 6.5x faster Javascript, with WebGL, SPDY, IndexedDB, Javascript Promises, CSS Shapes and more. 

OS X Yosemite is available today to registered developers and will be launched to the public this fall. There will also be an public open beta program launched later this summer. OS X Yosemite will be a free upgrade for all users. 



Posted by Andrew Tierney Friday, June 6, 2014 11:53:00 PM


By Miguel de Icaza

dotnet_logoIt has been an amazing day today. Not only did I have the opportunity to share the stage with the creator of C#, Anders Heljsberg, in the Microsoft Build 2014 day 2 keynote, but we also jointly announced with Microsoft the launch of the .NET Foundation, a newly created entity that will foster open innovation on .NET.

Xamarin contributed six projects to the foundation, and we are excited to be working with Microsoft as we take .NET in this new direction.

Miguel on stag with C# shirt

Microsoft contributed Roslyn to the Foundation, and on stage we demoed Roslyn working on a Mac with the iOS version of our new Xamarin Store App – a beautiful, native app that let’s C# lovers order their own limited edition C# t-shirt for free.  This demo was a great proof point for how open source will help get .NET everywhere.  We are very busy integrating the best bits of Roslyn into our technology stack.

Xamarin is contributing six projects to the .NET Foundation:

  • Xamarin Mobile: a library that exposes a single set of APIs for accessing common mobile device functionality across iOS, Android, and Windows platforms.
  • Xamarin.Auth: A cross-platform API for authenticating users and storing their accounts.
  • Couchbase for .NET: A lightweight, document-oriented (NoSQL), syncable database engine.
  • Xamarin’s System.Drawing:our cross-platform implementation of the familiar drawing API
  • MailKit and MimeKit: robust cross-platform email libraries optimized for mobile.

The .NET Foundation will help accelerate the adoption of .NET across every platform and computing form factor—servers, mobile devices and desktops, and we are very excited for Xamarin to be a part of it.

Check out the Build website to see the recordings of the Day 2 keynote. Tomorrow you should also be able to see a recording of my ”Go Mobile with Xamarin and C#” session.

Miguel and Anders on Stage at build

Posted by Andrew Tierney Friday, April 4, 2014 5:15:00 PM










We are excited to announce that we have just released our support for all of the new APIs introduced iOS 7.1, which Apple just released today. We have shipped same day support for iOS since iOS 5, enabling developers to add the latest features to their iOS apps immediately.

When you dive into the APIs of iOS 7.1 you will notice that there is new support for External Media Players, which introduces a few new classes such asMPPlayableContentManager to control interactions between your app and external media players. Additionally, you will find MPContentItem,MPRemoteCommand, and MPRemoteCommandEvent along with a few other classes to assist you in connecting to external media players. OpenGL ES has also been updated with added support for automatic multithreading by simply setting the IsMultiThreaded property to true after creating your EAGLContext.

You can browse our entire API change log and release notes to find out the latest features released today with Xamarin.iOS 7.2 and the new iOS 7.1 APIs. Also, be sure to update your version of XCode to 5.1 available from the App Store.

Posted by Andrew Tierney Tuesday, March 11, 2014 12:56:00 PM

New in Mono 3.2.8 

Mono 3.2.8 is a bug fix only release based on 3.2.7. This is a Linux-focused release.

  • 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.

New in Mono 3.2.7

New in 3.2.7

This is a major feature release that accumulates about 5 months of development


5 months of work, 1235 commits by 65 contributors.

Initial support for the hardfp ABI on ARM. This enables mono to be used on more recent versions of linux and produce better code on those targets.

The ABCREM optimization received a lot of love, now it works much better on 64bits systems.

Two new optimizations were added, a Loop Invariant Code Motion pass and Alias Analysis are now available. Performance in some functions can improve as much as 20%.

Hardware fences and atomic operations got a large revamp together with support for dynamic feature detection.

64bits CAS instructions are now supported on 32bits systems. This resulted in a significant performance boost on PLINQ workloads with multiple core.

Our LLVM integration got some love. It can now generate fast TLS access, a more recent LLVM version is been used and the list of optimizations we let it perform has been updated.

Our GC received some micro-optimization love by some small optimization in internal data structures and the use of intrinsics to speed up some core loops.

System.Core now has an interpreter for LINQ expressions and dynamic statements that can be used by FullAOT runtimes.

Better support for custom task schedulers.

Significantly improved reachability and flow analysis in C# compiler.


New features


  • [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.

Class libraries

  • [corlib] Implementation of System.Reflection.ParameterInfo.HasDefaultValue
  • [corlib] Implemented System.Threading.Monitor.IsEntered
  • [corlib] LogicalSet/GetData implementation in CallContext
  • [corlib] Implement CultureInfo.DefaultThreadCurrentUICulture.
  • [corlib] Implement CultureInfo.DefaultThreadCurrentCulture.
  • [corlib] Add 'System.Runtime.InteropServices.WindowsRuntime.EventRegistrationToken' stub.
  • [Mono.Options] Improve error message for badly bundled args.
  • [pcl] Add new 'System.Runtime.InteropServices.WindowsRuntime' Facade Assembly.
  • [rx] Updated Rx to 2.2 release.
  • [System] Add IsIPv6Teredo to System.Net.IpAddress
  • [System] Add more of System.ComponentModel to MOBILE profile.
  • [System.Core] Update MonoTouch System.Linq.Expression to be 4.5 compatible
  • [System.Core] Add dynamic interpreter
  • [System.Core] Support IReadOnlyList in System.Linq.Enumerable.ElementAt and ElementAtOrDefault
  • [classlib] Introduce the mobile_static build.
  • [classlib] Add OrderedDictionary to the mobile profile.


  • [mcs] Suport recursive references of non-FX assemblies
  • [mcs] Implements definite assignment of expressions
  • [linker] Allow overriding MarkCustomAttribute and expose the MarkDefaultConstructor feature to subclasses
  • [xbuild] Initial MSBuild 12.0 support.
  • [xbuild] Improved xbuild diagnostics.
  • [xbuild] implement "skip target due to previous success" feature.
  • [xbuild] Add xbuild support for BuildManager
Posted by Andrew Tierney Thursday, February 20, 2014 11:32:00 PM
Page 1 of 3 1 2 3 > >>