id | \ntitle | \n
---|---|
B98AA696-A9E0-C676-4E05-CA7350206904 | \n MonoTouch 5.1 | \n
\n
MonoTouch 5.1 is the series of beta releases that will culminate with\nMonoTouch 5.2, our next stable release.
\n- \n
- MonoTouch.Dialog library is now part of MonoTouch \n
The version included with MonoTouch is named MonoTouch.Dialog-1.dll, to avoid conflicts with any existing uses your application might already have.
\n- \n
- \n
Unit testing framework Touch.Unit to create unit tests for your MonoTouch applications.
\n \n - \n
System.Numerics library that contains BigInt and Complex data types.
\n \n - \n\n \n
- \n
New MapKit APIs
\n \n - \n
Our Generation Collector now works.
\n \n - \n
Linker Improvements: - Backing Fields: reduces the sizes of managed objects that wrap native Objective-C libraries.
\n \n - \n
Serialization : [DataMember] and [Xml*] attributes will preserve fields in classes.
\n \n - \n
Parallel LINQ preview
\n \n
Notice that there are some limitations due to Generics that we will be improving on future releases
\nThere are some other features in MonoTouch that require updates on the IDE\nside to work, but are present on the runtime: Memory Profiling support and\ntemplates for MonoTouch.Dialog uses.
\nYou can review the API changes from 5.0 to 5.1 in our Beta 5.1 Changes.
\n\n\nThis release brings the same fixes that were made to the stable 5.0.3 release\nto the beta release.
\nAdded:
\n- \n
- Support for iOS 5.0.1's skip file from being backed up to iCloud \n
- Bring a monotonic Stopwatch to iOS. Fix #1366 \n
- Added new iOS5 AudioSession properties (Mode, OverrideCategoryDefaultToSpeaker, OverrideCategoryEnableBluetoothInput) \n
- Added NSFileWrapper APIs for iCloud package storage \n
Bug fixes:
\n- \n
- Add missing constructors to MapKit \n
- Fixes the bindings for ALAssetsLibrary.WriteImageToSavedPhotosAlbum (bug #2166). \n
- Registrar fixes for callback methods that use out or ref parameters \n
- Fixes UIAppearance.WhenFoundIn API (bug #1978) \n
- Fixes UIAppearance to work with subclasses \n
- Fixes SQLite leak \n
- Fixes iCloud callbacks \n
Unique Features for the Beta:
\n- \n
- Updated MonoTouch.Dialog to the latest version from GitHub. \n
- System.IO.MemoryMappedFiles that were previously announced are actually integrated (due to a mistake, 5.1.0 did not include the binding, it is now in this release). \n
- Various components under the covers that are required for the upcoming MonoDevelop UI. \n
- \n
- Updated OpenTK to version 1.0. This change can potentially break some user code. \n
- NSMutableArray is exposed. We advise users to avoid using this collection in public APIs, just like it should be avoided in public APIs in Objective-C. We are exposing it merely because some badly designed third-party APIs require it. But it should in general be avoided. \n
- Improved diagnostics for objects that have been garbage collected. \n
- MKPoly[line|gon] inherit read/write [Sub]Title properties from MKShape. \n
With this release, we updated the OpenTK stack to version 1.0. This brings\nseveral bug fixes and improvements to OpenTK, but also introduces a couple of\nsource-code level incompatible changes:
\nThese two methods:
\n- \n
- Vector3 Vector3.Transform(Vector3, Matrix4) \n
- Vector3d Vector3d.Transform(Vector3d, Matrix4d) \n
have changed return type (they return Vector4 and Vector4d, respectively,\nnow). There is another Transform overload that can be used to get the old\nbehavior:
\n- \n
- void Vector3.Transform (ref Vector3, ref Matrix4, out Vector3) \n
- void Vector3d.Transform (ref Vector3, ref Matrix4, out Vector3d) \n
These new overloads are also available in the latest stable version of\nMonoTouch, so you can use the new overloads and still be backwards\ncompatible.
\n\n\nThis version features a new reference counting system that developers can\nenable to remove a series of problems that have existed historically in\nMonoTouch.
\nTo enable this new Reference Counting System, you must be using Mono's SGen\nGarbage Collector, and pass the \"--new-refcount\" flag in \"Additional mtouch\narguments\" in your iPhone Build project tab.
\nHistorically there have been two kinds of objects managed by MonoTouch: those\nthat were merely a wrapper around a native object (peer objects) and those that\nextended or incorporated new functionality (derived objects) usually by keeping\nextra in-memory state. Before it was possible that we could augment a peer\nobject with state (for example by adding a C# event handler) but that we let the\nobject go unreferenced and then collected. This would cause a crash later\non.
\nThis new system automatically upgrades peer objects into objects that are\nmanaged by the runtime when they store any extra information.
\nThis new setup solves various crashes that happened in situations like\nthis:
\nclass MyTableSource :UITableViewSource {\n …\n public override UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath) {\n var cell = tableView.DequeueReusableCell (\"myId\");\n if (cell != null)\n return cell;\n\n cell = new UITableViewCell (UITableViewCellStyle.Default, \"myId\");\n var txt = new UITextField ();\n txt.TouchDown += delegate { Console.WriteLine (\"....\"); };\n cell.ContentView.AddSubview (txt);\n return cell;\n }\n}\n
This code will crash because cell becomes collectible and so its delegate,\nwhich will translate into a dangling pointer.
\n\n\n- \n
- \n
Memory leak fixes when using the ThreadPool and the Web stack (#2619, #386, #2473), some manifestations of the bug: - Memory leak when WebClient's async APIs were used
\n \n - \n
Memory leak with WCF clients
\n \n - \n
Memory leak when the WebClient was used on background threads.
\n \n - \n
Fix crasher for ABPerson.SetUrl (#2728)
\n \n - \n
UITabBarItem.SelectedItem can now be assigned the null value
\n \n - \n
Bring Mono fixes to ObservableCollection
\n \n - \n
Fixes NSDistributedNotificationCenter methods to allow nulls.
\n \n - \n
CALayer's DefaultActionForKey, ActionForKey, ActionForLayer and Actions now return NSObjects instead of CAAction, since not more types than those that implement CAAction directly support this (#2441)
\n \n - \n
CALayer.Mask can now be assigned the null value (#2310)
\n \n - \n
NSFileManager.GetUrlForUbiquityContainer can now take a null value (#2354).
\n \n - \n
UIImage.Size is now readonly (#2757)
\n \n - \n
UIBarButtonItem.CustomView can now be assigned the null value (#2766)
\n \n - \n
UIApplication.BackgroundTaskInvalid is an int, not a string (#2661)
\n \n - \n
Fix value of UIViewAutoresizing.All (#2706)
\n \n - \n
UIViewController.DisablesAutomaticKeyboardDismissal is a getter only (#2713)
\n \n - \n
Better diagnostics for readonly Sqlite databases.
\n \n - \n
Add Export support for static properties (#2443)
\n \n - \n
Fixes SGen+Release builds.
\n \n - \n
Fixes HitTest when used with UIAutomation (#2450)
\n \n - \n
The 5.0 ShouldHideViewController that should have been on the delegate class, was accidentally left on the class itself for UISplitViewController
\n \n - \n
Fixed the creation of an NSAutoreleasePool (#2384)
\n \n - \n
Fix CFNetwork/WebRequest integration
\n \n - \n
Fixes the new application startup/shutdown introduced in the previous beta (#2371)
\n \n - \n
Add MKOverlay and MKAnnotation support for MKPolygon (#2336)
\n \n - \n
Add missing setter on UISwitch.OnTintColor.
\n \n - \n
Fix a GC retention problem with SetLeftBarButtonItems and SetRightBarButtonItems
\n \n - \n
Fix retrieving MAC address (#2010)
\n \n - \n
Fix WebClient.OnDownloadProgressedChanged (#2482) Fix support for read-only SQLite databases
\n \n