RealmDatabase

13.12.0

Core database component for the Realm Mobile Database SDKs
realm/realm-core

What's New

Realm Core v13.12.0

2023-05-22T09:40:54Z

Enhancements

  • Improve performance of SectionedResults. With a single section it is now ~10% faster, and the runtime of sectioning no longer scales significantly with section count, giving >100% speedups when there are large numbers of sections (PR #6606).
  • Very slightly improve performance of runtime thread checking on the main thread on Apple platforms. (PR #6606)

Fixed

  • We could crash when removing backlinks in cases where forward links did not have a corresponding backlink due to corruption. We now silently ignore this inconsistency in release builds, allowing the app to continue. (#6585, v6.0.0)
  • If you freeze a Results based on a collection of objects, the result would be invalid if you delete the collection (#6635, since V13.11.0)
  • Geospatial polygons now have built in normalization and validation in line with the MongoDB server side behaviour and the geoJSON standard. (#6607, since v13.11.0)
  • Dictionary::get_any() would expose unresolved links rather than mapping them to null. In addition to allowing invalid objects to be read from Dictionaries, this resulted in queries on Dictionaries sometimes having incorrect results (#6644).

Breaking changes

  • platform and cpu_arch fields in the device_info structure in App::Config can no longer be provided by the SDK's, they are inferred by the library (PR #6612)
  • bundle_id is now a required field in the device_info structure in App::Config (PR #6612)
  • The API for sectioned results change notifications has changed. Changes are now reported in a vector rather than a sparse map.
  • Renamed GeoCenterSphere to GeoCircle and in RQL geoSphere to geoCircle. The GeoPoints of query shapes are now validated before use and an exception will be thrown if invalid. Geospatial queries are no longer allowed on top-level tables. Fixed query results using ANY/ALL/NONE and matching on lists (PR #6645)

Compatibility

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

Internals

  • Upgraded to Catch from v3.0.1 to v3.3.2. (#6623)
  • Added some geospatial benchmarks. (#6622)

Realm

Realm is a mobile database that runs directly inside phones, tablets or wearables - check out realm.io.

This repository holds the source code for the core database component used by all the Realm Mobile Database products:

Realm Core is not in itself an "end-user" product with a publicly stable and supported API.

Refer to the Realm documentation for information about Realm and using the SDKs.

Building Realm

How to build Realm Core is described here.

Contributing

See CONTRIBUTING.md for more details!

Code of Conduct

This project adheres to the MongoDB Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to community-conduct@mongodb.com.

License

Realm Core is published under the Apache 2.0 license.

See the THIRD-PARTY-NOTICES file for licenses related to included third party libraries.

Feedback

Feedback to the Realm SDK's should be given in the respective SDK's github mentioned in the top of this readme. For anything specifically about Realm Core, please create an issue here.

Description

  • Swift Tools 5.5.0
View More Packages from this Author

Dependencies

  • None
Last updated: Tue Jun 06 2023 21:11:29 GMT-0500 (GMT-05:00)