Skip to content

Core 13.11.0

Compare
Choose a tag to compare
@ironage ironage released this 12 May 21:18
· 1299 commits to master since this release

Enhancements

  • The query engine now supports geowithin queries on points. Points are embedded objects conforming to the geoJSON format, trying to use a geospatial query on data in the incorrect format produces a run time exception. Example RQL query: location geoWithin geoPolygon({{-178.0, 10.0}, {178.0, 10.0}, {178.0, -10.0}, {-178.0, -10.0}, {-178.0, 10.0}}). For SDKs who do not wish to add this yet, the feature can be compiled out by adding -DREALM_ENABLE_GEOSPATIAL=OFF to the cmake config. (#6562)
  • Partition-Based to Flexible Sync Migration for migrating a client app that uses partition based sync to use flexible sync under the hood if the server has been migrated to flexible sync is officially supported with this release. Any clients using an older version of Realm (including the original support released in Core 13.10.0) will receive a "switch to flexible sync" error message when trying to sync with the app. (#6554)

Fixed

  • Fixed a fatal error (reported to the sync error handler) during client reset (or automatic PBS to FLX migration) if the reset has been triggered during an async open and the schema being applied has added new classes. (#6601, since automatic client resets were introduced in v11.5.0)
  • Full text search would sometimes find words where the word only matches the beginning of the search token (#6591, since v13.0.0)
  • Added missing includes of <cstdint> surfaced by gcc13 (#6616)
  • Prevent crashing on Results.freeze if underlying object or table were removed by making Results.is_valid correctly report its state. (#6401)

Compatibility

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

Internals

  • Add initial support for targeting WebAssembly with Emscripten (PR #6263).
  • Sync session multiplexing is now enabled by default. The method SyncManager::enable_session_multiplexing() has been renamed SyncManager::set_session_multiplexing(). (PR #6557)
  • Bump protocol to v9 to indicate client has fix for client reset error during async open (#6609)
  • Fixed Results::is_valid() in order to return false if the results is bound to a deleted object or table. (PR #6445)