Skip to content

Releases: realm/realm-js

Realm JavaScript v12.7.1

19 Apr 16:37
d376b1b
Compare
Choose a tag to compare

Fixed

  • Fixed a crash when integrating removal of already removed dictionary key. (realm/realm-core#7488, since v10.0.0)
  • Removed incorrect privacy manifest for iOS. (#6624, since v12.7.0)

Compatibility

  • React Native >= v0.71.4
  • Realm Studio v15.0.0.
  • File format: generates Realms with format v24 (reads and upgrades file format v10 or later).

Internal

  • Upgraded Realm Core from v14.5.1 to v14.5.2. (#6628)
  • Update URLs to documentation.

Realm JavaScript v12.7.0

17 Apr 12:11
ed07d1a
Compare
Choose a tag to compare

Note

This version bumps the Realm file format to version 24. It is not possible to downgrade to earlier versions. Older files will automatically be upgraded to the new file format. Files created by Realm JavaScript prior to v6.0.0, might not be upgradeable. Only Realm Studio 15.0.0 or later will be able to open the new file format.

Note

This version communicates with Atlas Device Services through a different URL (https://services.cloud.mongodb.com). While we consider this an internal detail of the SDK, you might need to update rules in firewalls or other configuration that you've used to limit connections made by your app.

Enhancements

  • Added iOS Privacy Manifest. (#6547)
  • Updated bundled OpenSSL version to 3.2.0. (realm/realm-core#7303)
  • Improved performance of object notifiers with complex schemas by ~20%. (realm/realm-core#7424)
  • Improved performance with very large number of notifiers by ~75%. (realm/realm-core#7424)
  • Improved performance of aggregate operations on Dictionaries of objects, particularly when the dictionaries are empty. (realm/realm-core#7418)
  • Property keypath in RQL can be substituted with value given as argument. Use $P<i> in query string. (realm/realm-core#7033)
  • You can now use query substitution for the @type argument. (realm/realm-core#7289)
  • Storage of Decimal128 properties has been optimized 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. (realm/realm-core#6111)
  • Querying a specific entry in a collection (in particular 'first and 'last') is supported. (realm/realm-core#4269)
  • Index on list of strings property now supported (realm/realm-core#7142)
  • You can set the threshold levels for trace output on individual categories. [realm/realm-core#7004)
  • Improved performance of RQL queries on a non-linked string property using >, >=, <, <= operators and fixed behavior that a null string should be evaluated as less than everything, previously nulls were not matched. (realm/realm-core#3939)
  • Added support for using aggregate operations on Mixed properties in queries. (realm/realm-core#7398)
  • Improved file compaction performance on platforms with page sizes greater than 4k (for example arm64 Apple platforms) for files less than 256 pages in size. (realm/realm-core#7492)
  • Added the ability to set the log level for one or more categories via Realm.setLogLevel. (#6560)
  • Added detection and better instructions when imported from the Expo Go app. (#6523)

Fixed

  • Aligned Dictionaries to Lists and Sets when they get cleared. (realm/realm-core#6205, since v10.3.0-rc.1)
  • 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. (realm/realm-core#6407, since v10.5.0-beta.1)
  • @count/@size is now supported for Mixed properties. (realm/realm-core#7280, since v10.0.0)
  • 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/realm-java#7862, since v10.20.0)
  • Uploading the changesets recovered during an automatic client reset recovery may lead to Bad server version errors and a new client reset. (realm/realm-core#7279, since v12.5.0)
  • Fixed crash in full text index using prefix search with no matches (realm/realm-core#730, since v12.2.0)
  • Fixed a race condition when backing up Realm files before a client reset which could have lead to overwriting an existing file. (realm/realm-core#7341)
  • Fixed a bug when removing items from a list that could result in invalidated links becoming visible which could cause crashes or exceptions when accessing those list items later on. This affects synced Realms whe
    re another client had previously removed a list with over 1000 items in it, and then further local removals from the same list caused the list to have fewer than 1000 items. (#7414, since v10.0.0)
  • Fixed opening a Realm with cached user while offline results in fatal error and session does not retry connection. (#6554 and #6558, since v12.6.0)
  • Fixed sorting order of strings to use standard unicode codepoint order instead of grouping similar English letters together. A noticeable change will be from "aAbBzZ" to "ABZabz". (realm/realm-core#2573)
  • data and string 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 searchi
    ng for data 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'). (realm/realm-core#6407)
  • Fixed diverging history due to a bug in the replication code when setting default null values (embedded objects included). (realm/realm-core#7536)
  • Null pointer exception may be triggered when logging out and async commits callbacks not executed. (realm/realm-core#7434, since v12.6.0)
  • Fixed a bug which caused crashes when reloading React Native apps. (#6579, since v12.0.0)

Compatibility

  • React Native >= v0.71.4
  • Realm Studio v15.0.0.
  • File format: generates Realms with format v24 (reads and upgrades file format v10 or later).

Internal

Realm JavaScript v12.7.0-rc.0

26 Mar 11:42
6b0eacd
Compare
Choose a tag to compare
Pre-release

Note

This version bumps the Realm file format to version 24. It is not possible to downgrade to earlier versions. Older files will automatically be upgraded to the new file format. Files created by Realm JavaScript prior to v6.0.0, might not be upgradeable. Only Realm Studio 15.0.0 or later will be able to open the new file format.

Note

This release doesn't include the changes previously released as v12.7.0-alpha.0 and is a pre-release because we plan on updating the setLogLevel API before releasing this as v12.7.0: #6560 and we just wanted to get this out for Realm Studio v15.0.0.

Enhancements

  • Updated bundled OpenSSL version to 3.2.0. (realm/realm-core#7303)
  • Improved performance of object notifiers with complex schemas by ~20%. (realm/realm-core#7424)
  • Improved performance with very large number of notifiers by ~75%. (realm/realm-core#7424)
  • Improved performance of aggregate operations on Dictionaries of objects, particularly when the dictionaries are empty. (realm/realm-core#7418
  • Property keypath in RQL can be substituted with value given as argument. Use $P<i> in query string. (realm/realm-core#7033)
  • You can now use query substitution for the @type argument. (realm/realm-core#7289)
  • Storage of Decimal128 properties has been optimized 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. ([realm/realm-core#6111]realm/realm-core#6111))
  • Querying a specific entry in a collection (in particular 'first and 'last') is supported. (realm/realm-core#4269)
  • Index on list of strings property now supported (realm/realm-core#7142)
  • You can set the threshold levels for trace output on individual categories. (realm/realm-core#7004)
  • Improved performance of RQL queries on a non-linked string property using >, >=, <, <= operators and fixed behavior that a null string should be evaluated as less than everything, previously nulls were not matched. (realm/realm-core#3939)
  • Added support for using aggregate operations on Mixed properties in queries. (realm/realm-core#7398)
  • Improved file compaction performance on platforms with page sizes greater than 4k (for example arm64 Apple platforms) for files less than 256 pages in size. (realm/realm-core#7492)

Fixed

  • Aligned Dictionaries to Lists and Sets when they get cleared. (#6205, since v10.3.0-rc.1)
  • 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. (realm/realm-core#6407, since v10.5.0-beta.1)
  • @count/@size is now supported for Mixed properties. (realm/realm-core#7280, since v10.0.0)
  • 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/realm-java#7862, since v10.20.0)
  • Uploading the changesets recovered during an automatic client reset recovery may lead to Bad server version errors and a new client reset. (realm/realm-core#7279, since v12.5.0)
  • Fixed crash in full text index using prefix search with no matches (realm/realm-core#7309, since v12.2.0)
  • Fixed a race condition when backing up Realm files before a client reset which could have lead to overwriting an existing file. (realm/realm-core#7341)
  • Fixed a bug when removing items from a list that could result in invalidated links becoming visible which could cause crashes or exceptions when accessing those list items later on. This affects synced Realms where another client had previously removed a list with over 1000 items in it, and then further local removals from the same list caused the list to have fewer than 1000 items. (#7414, since v10.0.0)
  • Fixed opening a Realm with cached user while offline results in fatal error and session does not retry connection. (#6554 and #6558, since v12.6.0)
  • Fixed sorting order of strings to use standard unicode codepoint order instead of grouping similar English letters together. A noticeable change will be from "aAbBzZ" to "ABZabz". (realm/realm-core#2573)
  • data and string 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 data 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'). (realm/realm-core#6407)

Compatibility

  • React Native >= v0.71.4
  • Realm Studio v15.0.0.
  • File format: generates Realms with format v24 (reads and upgrades file format v10 or later).

Internal

Realm JavaScript v12.6.2

04 Mar 14:11
7e8098b
Compare
Choose a tag to compare

Fixed

  • Fixed binding abstraction to allow access of certain properties ($$typeof for now) prior to its injection. (#6522, since v12.6.1)
  • Added a missing dependency on path-browserify. (#6522, since v12.6.1)

Compatibility

  • React Native >= v0.71.4
  • Realm Studio v14.0.0.
  • File format: generates Realms with format v23 (reads and upgrades file format v5 or later for non-synced Realm, upgrades file format v10 or later for synced Realms).

Realm JavaScript v12.6.1

27 Feb 08:40
67d30c7
Compare
Choose a tag to compare

Fixed

  • Fixed User#callFunction to correctly pass arguments to the server. Previously they would be sent as an array, so if your server-side function used to handle the unwrapping of arguments, it would need an update too. The "functions factory" pattern of calling user.functions.sum(1, 2, 3) wasn't affected by this bug. Thanks to @deckyfx for finding this and suggesting the fix! (#6447, since v12.0.0)

Compatibility

  • React Native >= v0.71.4
  • Realm Studio v14.0.0.
  • File format: generates Realms with format v23 (reads and upgrades file format v5 or later for non-synced Realm, upgrades file format v10 or later for synced Realms).

Internal

  • Fix Cocoapods to version 1.14.3 on Github Actions.
  • Migrated bingen from util::Optional to std::optional.
  • Upgrading @realm/fetch to the newly released v0.1.1 and no longer bundling it into the SDK package.
  • SDK package is no longer using Rollup, but instead using bare tsc utilizing TypeScript project references. (#6492)

Realm Fetch v0.1.1

26 Feb 11:36
91512d2
Compare
Choose a tag to compare

Fixed

  • Adding dist to NPM archive.

Realm Fetch v0.1.0

26 Feb 09:18
7c83674
Compare
Choose a tag to compare

Enhancements

  • Initial public release.

Realm JavaScript v12.7.0-alpha.0

05 Feb 14:06
41c3b5b
Compare
Choose a tag to compare
Pre-release

Enhancements

  • Building for iOS and Android has been optimized for compatibility with future React Native versions.
    • Android builds now compile on the consumers machine rather than through prebuilds.
    • iOS builds also compile on the consumers machine and can opt-in to compile Realm Core from source with the REALM_BUILD_CORE flag when running pod install.
    • Package size has decreased since prebuilds have been removed.

Fixed

  • <How to hit and notice issue? what was the impact?> (#????, since v?.?.?)
  • None

Compatibility

  • React Native >= v0.71.4
  • Realm Studio v14.0.0.
  • File format: generates Realms with format v23 (reads and upgrades file format v5 or later for non-synced Realm, upgrades file format v10 or later for synced Realms).

Internal

Realm JavaScript v12.6.0-alpha.0

05 Feb 11:39
41c3b5b
Compare
Choose a tag to compare
Pre-release

Enhancements

  • Building for iOS and Android has been optimized for compatibility with future React Native versions.
    • Android builds now compile on the consumers machine rather than through prebuilds.
    • iOS builds also compile on the consumers machine and can opt-in to compile Realm Core from source with the REALM_BUILD_CORE flag when running pod install.
    • Package size has decreased since prebuilds have been removed.

Fixed

  • <How to hit and notice issue? what was the impact?> (#????, since v?.?.?)
  • None

Compatibility

  • React Native >= v0.71.4
  • Realm Studio v14.0.0.
  • File format: generates Realms with format v23 (reads and upgrades file format v5 or later for non-synced Realm, upgrades file format v10 or later for synced Realms).

Internal

Realm JavaScript v12.6.0

29 Jan 14:23
4308b84
Compare
Choose a tag to compare

Enhancements

  • Added an optional fetch parameter to the AppConfiguration. Use this to specify a custom implementation of the fetch function used by the app to perform network requests.

Fixed

  • Handle EOPNOTSUPP when using posix_fallocate() and fallback to manually consume space. This should enable android users to open a Realm on restrictive file systems. (#6349, since v12.2.0)
  • Application may crash with incoming_changesets.size() != 0 when a download message is mistaken for a bootstrap message. This can happen if the synchronization session is paused and resumed at a specific time. (realm/realm-core#7238, since v10.12.0)
  • Fixed errors complaining about missing symbols such as __atomic_is_lock_free on ARMv7 Linux. (realm/realm-core#7257)

Compatibility

  • React Native >= v0.71.4
  • Realm Studio v14.0.0.
  • File format: generates Realms with format v23 (reads and upgrades file format v5 or later for non-synced Realm, upgrades file format v10 or later for synced Realms).

Internal

  • Upgraded Realm Core from v13.25.1 to v13.26.0. (#6403)
  • Bumping the required MacOS version to 10.13.