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

latest releases: v14.0.1, v14.0.0, v13.27.0...
11 months ago

Enhancements

  • Cancel asynchronous notifications on subscription state change in case of fatal session errors and when the session becomes inactive. (PR #7073)

Fixed

  • A new design around using a scheduler in C API has enabled the proper release of the user data (See "Breaking Changes") (#7094, since v10.4.0)
  • Potential stack-use-after-scope issue on changesets integration with msvc-2019 and mpack code (PR #6911)
  • Fix compilation with non-beta Xcode 15. Building for visionOS now requires explicitly specifying -DCMAKE_XCODE_ATTRIBUTE_SDKROOT=xros (PR #7055).
  • Fixed FLX subscriptions not being sent to the server if the session was interrupted during bootstrapping. (#7077, since v11.8.0)
  • Fixed FLX subscriptions not being sent to the server if an upload message was sent immediately after a subscription was committed but before the sync client checks for new subscriptions via SubscriptionStore::get_next_pending_version(). (#7076, since v13.23.1)
  • Fixed application crash with 'KeyNotFound' exception when subscriptions are marked complete after a client reset. (#7090, since v12.3.0)

Breaking changes

  • In the C API, the callback function realm_scheduler_notify_func_t now has a second parameter pointing to a work_queue. This pointer has to be kept until the notifications can be run on the proper thread. Then it has to be passed on to realm_scheduler_perform_work. The value returned from realm_scheduler_new (and friends) should be released after it has been used in realm_config_set_scheduler.

Compatibility

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

Internals

  • REALM_[ATMU]SAN cmake flags no longer override compilation options and can be combined with Debug|RelWithDebInfo|etc. build types. Rel[ATMU]SAN build type shortcuts are now all slightly optimized debug-based builds with sanitizers. REALM_ASAN now works with msvc (2019/2022) builds. (PR #6911)
  • Add support for building against the musl library. (PR #7067)
  • Remove ArrayWithFind's ability to use a templated callback parameter. The QueryStateBase consumers now use an index and the array leaf to get the actual value if needed. This allows certain queries such as count() to not do as many lookups to the actual values and results in a small performance gain. Also remove find_action_pattern() which was unused for a long time. This reduction in templating throughout the query system produces a small (~100k) binary size reduction. (#7095)
  • Rework the implemenatation of the set algrebra functions on Set to reduce the compiled size.
  • Rework the internal interface for sync Transformers to simplify it and reduce the compiled size (PR #7098).

Don't miss a new realm-core release

NewReleases is sending notifications on new releases.