github realm/realm-core v13.27.0
Realm Core v13.27.0

latest releases: v14.0.1, v14.0.0
8 months ago

Enhancements

  • Add support in the C API for receiving a notification when sync user state changes. (#7302)
  • Allow the query builder to construct >, >=, <, <= queries for string constants. This is a case sensitive lexicographical comparison. Improved performance of RQL (parsed) queries on a non-linked string property using: >, >=, <, <=, operators and fixed behaviour that a null string should be evaulated as less than everything, previously nulls were not matched. (#3939, this is a prerequisite for realm/realm-swift#8008).
  • Updated bundled OpenSSL version to 3.2.0 (PR #7303)
  • Added SyncSession::get_file_ident() so you can trigger a client reset via the BAAS admin API (PR #7203).
  • Audit event scopes containing zero events to save no longer open the audit realm unneccesarily (PR #7332).
  • Added a method to check if a file needs upgrade. (#7140)
  • Use clonefile() when possible in File::copy() on Apple platforms for faster copying. (PR #7341).

Fixed

  • Fixed queries like indexed_property == NONE {x} which mistakenly matched on only x instead of not x. This only applies when an indexed property with equality (==, or IN) matches with NONE on a list of one item. If the constant list contained more than one value then it was working correctly. (realm-js #7862, since v12.5.0)
  • Uploading the changesets recovered during an automatic client reset recovery may lead to 'Bad server version' errors and a new client reset. (#7279, since v13.24.1)
  • Fixed invalid data in error reason string when registering a subscription change notification after the subscription has already failed. (#6839, since v11.8.0)
  • Fixed crash in fulltext index using prefix search with no matches (#7309, since v13.18.0)
  • Fix compilation and some warnings when building with Xcode 15.3 (PR #7297).
  • util::make_dir_recursive() attempted to create a directory named "\0" if the path did not have a trailing slash (PR #7329).
  • Fixed a crash with Assertion failed: m_initiated during sync session startup (#7074, since v10.0.0).
  • Fixed a TSAN violation where the user thread could race to read m_finalized with the sync event loop (#6844, since v13.15.1)
  • Fix a minor race condition when backing up Realm files before a client reset which could have lead to overwriting an existing file. (PR #7341).

Breaking changes

  • SyncManager no longer supports reconfiguring after calling reset_for_testing(). SyncManager::configure() has been folded into the constructor, and reset_for_testing() has been renamed to tear_down_for_testing(). (PR #7351)

Compatibility

  • Fileformat: Generates files with format v23. Reads and automatically upgrade from fileformat v5.

Internals

  • Expressions in CHECK() macros are printed to better; strings are quoted and null strings are printed as NULL instead of no output.
  • Refactored version resolution for the build-apple-device.sh script. (#7263)
  • Remove SyncUser::binding_context() and related things, which were not actually used by any SDKs.
  • (bindgen) Upgrade eslint-config-prettier & eslint-plugin-prettier and add a missing peer dependency on prettier.
  • The minimum CMake version has changed from 3.15 to 3.22.1. (#6537)
  • Update Catch2 to v3.5.2 (PR #7297).
  • The unused partition and user_local_uuid() fields have been removed from FileActionMetadata. (PR #7341).

Don't miss a new realm-core release

NewReleases is sending notifications on new releases.