Releases: realm/realm-js
Releases · realm/realm-js
Realm JavaScript v20.1.0
Enhancements
- Added
excludeFromIcloudBackup
option to theRealm
constructor to exclude the realm files from iCloud backup. (#4139 and #6927)
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 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, 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, 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 and realm/realm-js-private#507)
- Upgraded Realm Core from v20.0.1 to v20.1.0
Realm JavaScript v12.14.0
Enhancements
- Added
excludeFromIcloudBackup
option to theRealm
constructor to exclude the realm files from iCloud backup. (#4139 and #6927)
const realm = new Realm({
schema: [
/* your schema */
],
// Set to true to exclude from iCloud backup, false to include, defaults to false
excludeFromIcloudBackup: true,
});
Thanks @danibonilha for your PR and time crafting the testing guide for the iCloud backup exclusion feature.
Fixed
- Fix build failure from duplicate libreactnative.so files. I.e. "2 files found with path 'lib/arm64-v8a/libreactnative.so' from inputs" (#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 and realm/realm-js-private#507)
Realm JavaScript v12.13.2
Fixed
- Fixed build error on React Native Android when used with React Native 0.76, due to the merge of dynamic libraries. (#6908 since React Native v0.76.0).
- Filtering notifications with backlink columns as last element could sometimes give wrong results (realm/realm-core#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, 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, 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, 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, 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, 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.0
Enhancements
- Add more additional overload to
useQuery
to allow the react-hooks/exhaustive-deps eslint rule to work (#6819)
Fixed
- 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).
Realm JavaScript v20.0.0
Breaking Changes
- Removed all functionality related to Atlas Device Services / Device Sync.
Compatibility
- React Native >= v0.71.4
- Realm Studio v20.0.0.
- File format: generates Realms with format v24 (reads and upgrades file format v10).
Internal
- Upgraded Realm Core from v14.12.0 to v20.0.1
Realm React v0.10.1
Fixed
- Fixing the
RealmProvider
component when context is created without passing neither aRealm
instance nor aRealm.Configuration
to avoid unnecessary recreation of the provider, which was causing "Cannot access realm that has been closed" errors. (#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).
Realm JavaScript v12.13.1
Fixed
- Fixed a build error on React Native iOS and Android from a change in the
CallInvoker
'sinvokeAsync
call signature. (#6851 since v12.12.0 in combination with React Native >= v0.75.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).
Realm React v0.10.0
Enhancements
- Added
useProgress
hook which provides a convenient way to access Realm's progress information. It works in a similar way asrealm.addProgressNotification
. (#6797)
import { RealmProvider, ProgressDirection, ProgressMode } from "@realm/react";
const ProgressText = () => {
const progress = useProgress({ direction: ProgressDirection.Download, mode: ProgressMode.ReportIndefinitely });
return <Text>Loading: {(100 * progress).toFixed()}%</Text>;
}
const MyApp() = () => {
return (
<RealmProvider sync={...}>
<ProgressText />
</RealmProvider>
);
}
- Added the ability to get
progress
information infallback
component ofRealmProvider
when opening a synced Realm. (#6785)
import { RealmProvider, RealmProviderFallback } from "@realm/react";
const Fallback: RealmProviderFallback = ({ progress }) => {
return <Text>Loading:{(100 * progress).toFixed()}%</Text>;
}
const MyApp() = () => {
return (
<RealmProvider sync={...} fallback={Fallback}>
...
</RealmProvider>
);
}
Compatibility
- Realm JavaScript >= v12.12.0.
- React Native >= v0.71.4
- Realm Studio v15.0.0.
- File format: generates Realms with format v24 (reads and upgrades file format v10).
Realm JavaScript v12.13.0
Warning
This release is confirmed broken in combination with React Native v0.75.0 and upward.
Please upgrade to v12.13.1 to fix any issues regarding call signatures of the CallInvoker API.
Enhancements
- Improved sync bootstrap performance. (realm/realm-core#7945 and realm/realm-core#7946)
- Client reset cycle detection now checks if the previous recovery attempt was made by the same core version, and if not attempts recovery again. (realm/realm-core#7944)
- Updated bundled OpenSSL version to 3.3.1. (realm/realm-core#7947)
- Sync log statements now include the app services connection ID in their prefix (e.g
Connection[1:<connection id>] Session[1]: log message
). (realm/realm-core#7849)
Fixed
- Fixed an
Invalid column key
exception when using an RQL "BETWEEN" query on an int or timestamp property across links. (realm/realm-core#7935, since v12.12.0) - Fixed conflict resolution bug which could sometimes cause an
Invalid prior_size
exception to prevent synchronization (realm/realm-core#7893, since v12.10.0) - Fixed bug which would prevent eventual consistency during conflict resolution. Affected clients would experience data divergence and potentially consistency errors as a result. (realm/realm-core#7955, since v12.10.0)
- Fixed issues loading the native Realm libraries on Linux ARMv7 systems when they linked against our bundled OpenSSL resulting in errors like
unexpected reloc type 0x03
. (realm/realm-core#7947, since v12.7.0) - Sync client may report duplicate compensating write errors. (realm/realm-core#7708, since v12.10.0)
- String serialization of timestamps with a sufficiently large timestamp value could overflow an int causing undefined behavior, causing potentially bad values for the month/day/year values in stringified dates. (realm/realm-core#7934)
- App subscription callback was getting fired before the user profile was retrieved on login, leading to an empty user profile when using the callback. (realm/realm-core#7889, since v12.9.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.11.0 to v14.12.0.
Realm JavaScript v12.12.1
Warning
This release is confirmed broken in combination with React Native v0.75.0 and upward.
Please upgrade to v12.13.1 to fix any issues regarding call signatures of the CallInvoker API.
Fixed
- Fixed compiler error when building binding for React Native iOS: "'React-featureflags/react/featureflags/ReactNativeFeatureFlags.h' file not found" (#6808, 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
- Removed an unused import in the binding for React Native Android. (#6808, since v12.12.0)