You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add missing KVO handling for moving and exchanging objects in RLMArray and List.
Bugfixes
Setting the primary key property on persisted RLMObjects / Objects
via subscripting or key-value coding will cause an exception to be thrown.
Fix crash due to race condition in RLMRealmConfiguration where the default
configuration was in the process of being copied in one thread, while
released in another.
Fix crash when a migration which removed an object or array property is
rolled back due to an error.
Realm.Configuration.schemaVersion and Realm.Configuration.migrationBlock
migrateRealm(path:encryptionKey:)
migrateRealm(configuration:)
List.extend in Realm Swift for Swift 2.0 has been replaced with List.appendContentsOf,
mirroring changes to RangeReplaceableCollectionType.
Object properties on Object subclasses in Realm Swift must be marked as optional,
otherwise a runtime exception will be thrown.
Enhancements
Persisted properties of RLMObject/Object subclasses are now Key-Value
Observing compliant.
The different options used to create Realm instances have been consolidated
into a single RLMRealmConfiguration/Realm.Configuration object.
Enumerating Realm collections (RLMArray, RLMResults, List<>, Results<>) now enumerates over a copy of the collection, making it no
longer an error to modify a collection during enumeration (either directly,
or indirectly by modifying objects to make them no longer match a query).
Improve performance of object insertion in Swift to bring it roughly in line
with Objective-C.
Allow specifying a specific list of RLMObject / Object subclasses to include
in a given Realm via RLMRealmConfiguration.objectClasses / Realm.Configuration.objectTypes.
Bugfixes
Subscripting on RLMObject is now marked as nullable.
Reduce the amount of memory used by RLMRealm notification listener threads.
Avoid evaluating results eagerly when filtering and sorting.
Add nullability annotations to the Objective-C API to provide enhanced compiler
warnings and bridging to Swift.
Make RLMResults and RLMArrays support Objective-C generics.
Add support for building watchOS and bitcode-compatible apps.
Make the exceptions thrown in getters and setters more informative.
Add -[RLMArray exchangeObjectAtIndex:withObjectAtIndex] and List.swap(_:_:)
to allow exchanging the location of two objects in the given RLMArray / List.
Added anonymous analytics on simulator/debugger runs.
Add -[RLMArray moveObjectAtIndex:toIndex:] and List.move(from:to:) to
allow moving objects in the given RLMArray / List.
Bugfixes
Processes crashing due to an uncaught exception inside a write transaction will
no longer cause other processes using the same Realm to hang indefinitely.
Fix incorrect results when querying for < or <= on ints that
require 64 bits to represent with a CPU that supports SSE 4.2.
An exception will no longer be thrown when attempting to reset the schema
version or encryption key on an open Realm to the current value.
Date properties on 32 bit devices will retain 64 bit second precision.
Wrap calls to the block passed to enumerate in an autoreleasepool to reduce
memory growth when migrating a large amount of objects.
In-memory realms no longer write to the Documents directory on iOS or
Application Support on OS X.
Fixed an issue where the packaged OS X Realm.framework was built with GCC_GENERATE_TEST_COVERAGE_FILES and GCC_INSTRUMENT_PROGRAM_FLOW_ARCS
enabled.
Fix a memory leak when constructing standalone Swift objects with NSDate
properties.
Throw an exception rather than asserting when an invalidated object is added
to an RLMArray.
Fix a case where data loss would occur if a device was hard-powered-off
shortly after a write transaction was committed which had to expand the Realm
file.
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.
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.
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.