Realm v0.85.0 Release Notes

Release Date: 2014-09-15 // over 9 years ago
  • API breaking changes

    • Notifications for a refresh being needed (when autorefresh is off) now send the notification type RLMRealmRefreshRequiredNotification rather than RLMRealmDidChangeNotification.

    โœจ Enhancements

    • โšก๏ธ Updating to core library version 0.83.0.
    • ๐Ÿ‘Œ Support for primary key properties (for int and string columns). Declaring a property to be the primary key ensures uniqueness for that property for all objects of a given type. At the moment indexes on primary keys are not yet supported but this will be added in a future release.
    • โž• Added methods to update or insert (upsert) for objects with primary keys defined.
    • ๐Ÿ‘ [RLMObject initWithObject:] and [RLMObject createInRealmWithObject:] now support any object type with kvc properties.
    • โ†ช The Swift support has been reworked to work around Swift not being supported in Frameworks on iOS 7.
    • ๐Ÿ‘Œ Improve performance when getting the count of items matching a query but not reading any of the objects in the results.
    • โž• Add a return value to -[RLMRealm refresh] that indicates whether or not there was anything to refresh.
    • โž• Add the class name to the error message when an RLMObject is missing a value for a property without a default.
    • โž• Add support for opening Realms in read-only mode.
    • โž• Add an automatic check for updates when using Realm in a simulator (the checker code is not compiled into device builds). This can be disabled by setting the REALM_DISABLE_UPDATE_CHECKER environment variable to any value.
    • โž• Add support for Int16 and Int64 properties in Swift classes.

    ๐Ÿ›  Bugfixes

    • Realm change notifications when beginning a write transaction are now sent after updating rather than before, to match refresh.
    • 0๏ธโƒฃ -isEqual: now uses the default NSObject implementation unless a primary key is specified for an RLMObject. When a primary key is specified, -isEqual: calls -isEqualToObject: and a corresponding implementation for -hash is also implemented.