Enhancements
- Add support for some missing query operations on data properties:
- Data properties can be compared to other data properties (e.g. "dataProperty1 == dataProperty2").
- Case and diacritic-insensitive queries can be performed on data properties. This will only have meaningful results if the data property contains UTF-8 string data.
- Data properties on linked objects can be queried (e.g. "link.dataProperty CONTAINS %@")
- Implement queries which filter on lists other than object links (lists of objects were already supported). All supported operators for normal properties are now supported for lists (e.g. "ANY intList = 5" or "ANY stringList BEGINSWITH 'prefix'"), as well as aggregate operations on the lists (such as "intArray.@sum > 100").
- Performance of sorting on more than one property has been improved. Especially important if many elements match on the first property. Mitigates (#7092)
Fixed
- Fixed a bug that prevented an object type with incoming links from being marked as embedded during migrations. (Core #4414)
- The Realm notification listener thread could sometimes hit the assertion failure "!skip_version.version" if a write transaction was committed at a very specific time (since v10.5.0).
- Added workaround for a case where upgrading an old file with illegal string would crash (#7111).
- Fixed a conflict resolution bug related to the ArrayMove instruction, which could sometimes cause an "Invalid prior_size" exception to prevent synchronization (since v10.5.0).
- Skipping a change notification in the first write transaction after the observer was added could potentially fail to skip the notification (since v10.5.1).
Compatibility
- Realm Studio: 10.0.0 or later.
- APIs are backwards compatible with all previous releases in the 10.x.y series.
- Carthage release for Swift is built with Xcode 12.4.
- CocoaPods: 1.10 or later.
Internal
- Upgraded realm-core from v10.5.0 to v10.5.3