Skip to content

Releases: realm/realm-swift

v0.93.1

29 May 18:24
Compare
Choose a tag to compare

Bugfixes

  • Objects are no longer copied into standalone objects during object creation. This fixes an issue where nested objects with a primary key are sometimes duplicated rather than updated.
  • Comparison predicates with a constant on the left of the operator and key path on the right now give correct results. An exception is now thrown for predicates that do not yet support this ordering.
  • Fix some crashes in index_string.cpp with int primary keys or indexed int properties.

v0.93.0

27 May 19:06
Compare
Choose a tag to compare

API breaking changes

  • Schema versions are now represented as uint64_t (Objective-C) and UInt64 (Swift) so that they have
    the same representation on all architectures.

Enhancements

  • Swift: Results now conforms to CVarArgType so it can
    now be passed as an argument to Results.filter(_:...)
    and List.filter(_:...).
  • Swift: Made SortDescriptor conform to the Equatable and
    StringLiteralConvertible protocols.
  • Int primary keys are once again automatically indexed.
  • Improve error reporting when attempting to mark a property of a type that
    cannot be indexed as indexed.

Bugfixes

  • Swift: RealmSwift.framework no longer embeds Realm.framework,
    which now allows apps using it to pass iTunes Connect validation.

v0.92.4

26 May 21:13
Compare
Choose a tag to compare

API breaking changes

  • None.

Enhancements

  • Swift: Made Object.init() a required initializer.
  • RLMObject, RLMResults, Object and Results can now be safely
    deallocated (but still not used) from any thread.
  • Improve performance of -[RLMArray indexOfObjectWhere:] and -[RLMArray indexOfObjectWithPredicate:], and implement them for standalone RLMArrays.
  • Improved performance of most simple queries.

Bugfixes

  • The interprocess notification mechanism no longer uses dispatch worker threads, preventing it from
    starving other GCD clients of the opportunity to execute blocks when dozens of Realms are open at once.

v0.92.3

13 May 21:59
Compare
Choose a tag to compare

API breaking changes

  • Swift: Results.average(_:) now returns an optional, which is nil if and only if the results set is empty.

Enhancements

  • Swift: Added List.invalidated, which returns if the given List is no longer safe to be accessed, and is analogous to -[RLMArray isInvalidated].
  • Assertion messages are automatically logged to Crashlytics if it's loaded into the current process to make it easier to diagnose crashes.

Bugfixes

  • Swift: Enumerating through a standalone List whose objects themselves have list properties won't crash.
  • Swift: Using a subclass of RealmSwift.Object in an aggregate operator of a predicate no longer throws a spurious type error.
  • Fix incorrect results for when using OR in a query on a RLMArray/List<>.
  • Fix incorrect values from [RLMResults count]/Results.count when using != on an int property with no other query conditions.
  • Lower the maximum doubling threshold for Realm file sizes from 128MB to 16MB to reduce the amount of wasted space.

v0.92.2

09 May 00:14
Compare
Choose a tag to compare

API breaking changes

  • None.

Enhancements

  • Exceptions raised when incorrect object types are used with predicates now contain more detailed information.
  • Added -[RLMMigration deleteDataForClassName:] and Migration.deleteData(_:)
    to enable cleaning up after removing object subclasses

Bugfixes

  • Prevent debugging of an application using an encrypted Realm to work around
    frequent LLDB hangs. Until the underlying issue is addressed you may set
    REALM_DISABLE_ENCRYPTION=YES in your application's environment variables to
    have requests to open an encrypted Realm treated as a request for an
    unencrypted Realm.
  • Linked objects are properly updated in createOrUpdateInRealm:withValue:.
  • List properties on Objects are now properly initialized during fast enumeration.

v0.92.1

07 May 03:34
Compare
Choose a tag to compare

API breaking changes

  • None.

Enhancements

  • -[RLMRealm inWriteTransaction] is now public.
  • Realm Swift is now available on CoocaPods.

Bugfixes

  • Force code re-signing after stripping architectures in strip-frameworks.sh.

v0.92.0

06 May 01:00
Compare
Choose a tag to compare

API breaking changes

  • Migration blocks are no longer called when a Realm file is first created.
  • The following APIs have been deprecated in favor of newer method names:
Deprecated API New API
-[RLMMigration createObject:withObject:] -[RLMMigration createObject:withValue:]
-[RLMObject initWithObject:] -[RLMObject initWithValue:]
+[RLMObject createInDefaultRealmWithObject:] +[RLMObject createInDefaultRealmWithValue:]
+[RLMObject createInRealm:withObject:] +[RLMObject createInRealm:withValue:]
+[RLMObject createOrUpdateInDefaultRealmWithObject:] +[RLMObject createOrUpdateInDefaultRealmWithValue:]
+[RLMObject createOrUpdateInRealm:withObject:] +[RLMObject createOrUpdateInRealm:withValue:]

Enhancements

  • Int8 properties defined in Swift are now treated as integers, rather than
    booleans.
  • NSPredicates created using +predicateWithValue: are now supported.

Bugfixes

  • Compound AND predicates with no subpredicates now correctly match all objects.