github realm/realm-core v14.0.0
Realm Core v14.0.0

latest release: v14.0.1
2 months ago

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)

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 and realm_set_dictionary to be the newly inserted collection, similarly to the behavior of list/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


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 called STRING_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') or mixed = binary('xyz'). (6407).
  • In the C API, realm_collection_changes_get_num_changes and realm_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.

Don't miss a new realm-core release

NewReleases is sending notifications on new releases.