Enhancements
- Property keypath in RQL can be substituted with value given as argument. Use '$P' in query string. (Issue #7033)
- You can now use query substitution for the
@type
argument (#7289) - You can now use query substitution for the
Fixed
- Fixed crash when adding a collection to an indexed Mixed property (#7246, since 14.0.0-beta.0)
- [C-API] Fixed the return type of
realm_set_list
andrealm_set_dictionary
to be the newly inserted collection, similarly to the behavior oflist/dictionary_insert_collection
(PR #7247, since 14.0.0-beta.0) - Throw an exception when trying to insert an embedded object into a list of Mixed (#7254, since 14.0.0-beta.0)
- Queries on dictionaries in Mixed with
@keys
did not return correct result (#7255, since 14.0.0-beta.0) - Changes to inner collections will not be reported by notifier on owning collection (#7270, since 14.0.0-beta.0)
@count
/@size
not supported for mixed properties (#7280, since v10.0.0)- Query with
@type
does not support filtering on collections (#7281, since 14.0.0-beta.0) - Query involving string operations on nested collections would not work (#7282, since 14.0.0-beta.0)
- Using ANY, ALL or NONE in a query on nested collections would throw an exception (#7283, since 14.0.0-beta.0)
- Results notifications does not report changes to inner collections (#7335, since 14.0.0-beta.0)
Breaking changes
- If you want to query using
@type
operation, you must use 'objectlink' to match links to objects. 'object' is reserved for dictionary types.
Compatibility
- Fileformat: Generates files with format v24. Reads and automatically upgrade from fileformat v10 and onwards. If you want to upgrade from an earlier file format version you will have to use RealmCore v13.x.y or earlier.
Internals
- to_json API changed according to https://docs.google.com/document/d/1YtJN0sC89LMb4UVcPKFIfwC0Hsi9Vj7sIEP2vHQzVcY/edit?usp=sharing. Links to not embedded objects will never be followed.
14.0.0-beta.0 Release notes
Enhancements
- Storage of Decimal128 properties has been optimised so that the individual values will take up 0 bits (if all nulls), 32 bits, 64 bits or 128 bits depending on what is needed. (PR [#6111]#6111))
- You can have a collection embedded in any Mixed property (except Set).
- Querying a specific entry in a collection (in particular 'first and 'last') is supported. (PR #4269)
- Index on list of strings property now supported (PR #7142)
- You can set the threshold levels for trace output on individual categories. (PR #7004)
Fixed
- Align dictionaries to Lists and Sets when they get cleared. (#6205, since v10.4.0)
- Fixed equality queries on a Mixed property with an index possibly returning the wrong result if values of different types happened to have the same StringIndex hash. (6407 since v11.0.0-beta.5).
- If you have more than 8388606 links pointing to one specific object, the program will crash. (#6577, since v6.0.0)
- Query for NULL value in Dictionary would give wrong results ([6748])(#6748), since v10.0.0)
- A Realm generated on a non-apple ARM 64 device and copied to another platform (and vice-versa) were non-portable due to a sorting order difference. This impacts strings or binaries that have their first difference at a non-ascii character. These items may not be found in a set, or in an indexed column if the strings had a long common prefix (> 200 characters). (PR # 6670, since 2.0.0-rc7 for indexes, and since since the introduction of sets in v10.2.0)
Breaking changes
- Support for upgrading from Realm files produced by RealmCore v5.23.9 or earlier is no longer supported.
- Remove
set_string_compare_method
, only one sort method is now supported which was previously calledSTRING_COMPARE_CORE
. - BinaryData and StringData are now strongly typed for comparisons and queries. This change is especially relevant when querying for a string constant on a Mixed property, as now only strings will be returned. If searching for BinaryData is desired, then that type must be specified by the constant. In RQL the new way to specify a binary constant is to use
mixed = bin('xyz')
ormixed = binary('xyz')
. (6407). - In the C API,
realm_collection_changes_get_num_changes
andrealm_dictionary_get_changes
have got an extra parameter to receive information on the deletion of the entire collection. - Sorting order of strings has changed to use standard unicode codepoint order instead of grouping similar english letters together. A noticeable change will be from "aAbBzZ" to "ABZabz". (2573)
Compatibility
- Fileformat: Generates files with format v24. Reads and automatically upgrade from fileformat v10. If you want to upgrade from an earlier file format version you will have to use RealmCore v13.x.y or earlier.
Internals
- Refactoring of the StringIndex interface.