ITADN
realm/realm-js

版本发布 8

Realm JavaScript v12.15.0v12.15.0
? · 2025-08-11

### Enhancements * Add support for React Native 0.80.0, by migrating to a pure C++ TurboModule. ([#7029](https://github.com/realm/realm-js/pull/7027)) * 16KB page size support for Android 15+ ([#7019](https://github.com/realm/realm-js/pull/7019)). If you are using Android Gradle Plugin (AGP) 8.5 or lower, you will need to [enable legacy packaging](https://developer.android.com/guide/practices/page-sizes#update-packaging). ### Fixed * Fix numerous crashes on Android, by explicitly setting C++ standard (C++20) when building pre-builds. ([#7027](https://github.com/realm/realm-js/pull/7027), since v12.11.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). ### Internal * Upgrade React Native version in the test app to 0.80.0. * Upgrade NDK to 27.1.12297006 and Android API level 24, to match React Native latest. * Upgraded Realm Core from v14.13.5 to v14.14.0 <!-- * Either mention core version or upgrade --> <!-- * Using Realm Core vX.Y.Z --> <!-- * Upgraded Realm Core from vX.Y.Z to vA.B.C -->

Realm JavaScript v12.14.2v12.14.2
? · 2025-04-10

### Fixed * Fix setting `List` values from themselves (either through assignment or the `Realm#create` method). Before this fix, the list would be emptied before being iterated, resulting in elements being removed from the list. ([#6977](https://github.com/realm/realm-js/pull/6977), since v12.12.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). ### Internal <!-- * Either mention core version or upgrade --> <!-- * Using Realm Core vX.Y.Z --> <!-- * Upgraded Realm Core from vX.Y.Z to vA.B.C -->

Realm JavaScript v12.14.1v12.14.1
? · 2025-01-29

### Fixed * Closing and opening a realm before a token refresh is completed, would result in two sync sessions both try to start synchronizing the realm when the refreshes do complete, leading to a crash with a MultipleSyncAgents exception. ([realm/realm-core#8064](https://github.com/realm/realm-core/issues/8064)) * Migrating primary key to a new type without migration function would cause an assertion to fail. ([realm/realm-core#8045](https://github.com/realm/realm-core/issues/8045), since Realm JS v10.0.0) * Committing a subscription set prematurely released a read lock, which may have caused a BadVersion exception with an error like `Unable to lock version XX as it does not exist or has been cleaned up` while changing subscriptions. ([realm/realm-core##8068](https://github.com/realm/realm-core/pull/8068), since Realm JS v12.13.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). ### Internal * Upgraded Realm Core from v14.13.1 to v14.13.5.

Realm JavaScript v20.1.0v20.1.0预发布
? · 2024-12-02

### Enhancements * Added `excludeFromIcloudBackup` option to the `Realm` constructor to exclude the realm files from iCloud backup. ([#4139](https://github.com/realm/realm-js/issues/4139) and [#6927](https://github.com/realm/realm-js/pull/6927)) ```typescript const realm = new Realm({ schema: [ /* your schema */ ], // Set to true to exclude from iCloud backup, false to include, defaults to false excludeFromIcloudBackup: true, }); ``` ### Fixed * Fixed build error on React Native Android when used with React Native 0.76, due to the merge of dynamic libraries. ([#6908](https://github.com/realm/realm-js/issues/6908) since React Native v0.76.0). * Fix build failure from duplicate libreactnative.so files. I.e. "2 files found with path 'lib/arm64-v8a/libreactnative.so' from inputs" ([#6918](https://github.com/realm/realm-js/issues/6918), since v12.13.2) * Having a query with a number of predicates ORed together may result in a crash on some platforms (strict weak ordering check failing on iphone) ([realm/realm-core#8028](https://github.com/realm/realm-core/issues/8028), since Realm JS v20.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). ### Internal * Refactored Android filesystem platform helpers. ([#5296](https://github.com/realm/realm-js/issues/5296) and [realm/realm-js-private#507](https://github.com/realm/realm-js-private/issues/507)) * Upgraded Realm Core from v20.0.1 to v20.1.0

Realm JavaScript v12.14.0v12.14.0
? · 2024-11-12

### Enhancements * Added `excludeFromIcloudBackup` option to the `Realm` constructor to exclude the realm files from iCloud backup. ([#4139](https://github.com/realm/realm-js/issues/4139) and [#6927](https://github.com/realm/realm-js/pull/6927)) ```typescript const realm = new Realm({ schema: [ /* your schema */ ], // Set to true to exclude from iCloud backup, false to include, defaults to false excludeFromIcloudBackup: true, }); ``` ### Fixed * Fix build failure from duplicate libreactnative.so files. I.e. "2 files found with path 'lib/arm64-v8a/libreactnative.so' from inputs" ([#6918](https://github.com/realm/realm-js/issues/6918), since v12.13.2) ### Compatibility * React Native >= v0.71.4 * Realm Studio v15.0.0. * File format: generates Realms with format v24 (reads and upgrades file format v10). ### Internal * Refactored Android filesystem platform helpers. ([#5296](https://github.com/realm/realm-js/issues/5296) and [realm/realm-js-private#507](https://github.com/realm/realm-js-private/issues/507))

Realm JavaScript v12.13.2v12.13.2
? · 2024-10-30

### Fixed * Fixed build error on React Native Android when used with React Native 0.76, due to the merge of dynamic libraries. ([#6908](https://github.com/realm/realm-js/issues/6908) since React Native v0.76.0). * Filtering notifications with backlink columns as last element could sometimes give wrong results ([realm/realm-core#7530](https://github.com/realm/realm-core/issues/7530), since Realm JS v10.6.2-beta.1) * Fix crash during client app shutdown when Logger log level is set higher than Info. ([realm/realm-core#7969](https://github.com/realm/realm-core/issues/7969), since Realm JS v12.3.1) * If File::rw_lock() fails to open a file the exception message does not contain the filename ([realm/realm-core#7999](https://github.com/realm/realm-core/issues/7999), since Realm JS v6.1.0) * Fallback to hashed filename will fail if length of basename is between 240 and 250 ([realm/realm-core#8007](https://github.com/realm/realm-core/issues/8007), since Realm JS v10.0.0) * Having a query with a number of predicates ORed together may result in a crash on some platforms (strict weak ordering check failing on iphone) ([realm/realm-core#8028](https://github.com/realm/realm-core/issues/8028), since Realm JS v12.8.0) * The events library would attempt to upload backup files created as part of file format upgrades, causing backup copies of those backups to be made, looping until the maximum file name size was reached ([realm/realm-core#8040](https://github.com/realm/realm-core/issues/8040), since Realm JS v10.18.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). ### Internal * Upgraded Realm Core from v14.12.0 to v14.13.1.

Realm React v0.11.0realm-react-v0.11.0
? · 2024-10-04

### Enhancements * Add more additional overload to `useQuery` to allow the [react-hooks/exhaustive-deps](https://www.npmjs.com/package/eslint-plugin-react-hooks) eslint rule to work (#6819) ### Fixed * <How to hit and notice issue? what was the impact?> ([#????](https://github.com/realm/realm-js/issues/????), since v?.?.?) * None ### Compatibility * React Native >= v0.71.4 * Realm Studio v15.0.0. * File format: generates Realms with format v24 (reads and upgrades file format v10). ### Internal <!-- * Either mention core version or upgrade --> <!-- * Using Realm Core vX.Y.Z --> <!-- * Upgraded Realm Core from vX.Y.Z to vA.B.C -->

Realm React v0.10.1realm-react-v0.10.1
? · 2024-08-28

### Fixed * Fixing the `RealmProvider` component when context is created without passing neither a `Realm` instance nor a `Realm.Configuration` to avoid unnecessary recreation of the provider, which was causing "Cannot access realm that has been closed" errors. ([#6842](https://github.com/realm/realm-js/issues/6842), since v0.8.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).