JavaScript | Web and Node.js
4.8.3 Version Release
Release Date: Dec 18, 2024
4.8.3 React Native Specific Changes
🔄 Changed: Error messages and documentation for APIs not supported in React Native environments. Some parts of the SDK's API, in particular the original query builder APIs, are not supported and throw errors when called from a React Native app. In these cases, error message wording and documentation has been improved to make it easier to find the right replacement APIs to use instead. (#14612)
4.8.2 Version Release
Release Date: Sept 25, 2024
4.8.2 JavaScript Specific Changes
🛠️ Fixed: Missing API reference for class UpdateResult. (#14611)
4.8.1 Version Release
Release Date: Sept 5, 2024
4.8.1 JavaScript Release Notes
🛠️ Fixed: Prevent race condition that can cause attachment fetchers to fail being cleaned up. (#13961)
🛠️ Fixed: a memory leak affecting attachments downloaded using the legacy query builder API. (#13819)
🛠️ Fixed: iOS devices may fail to sync on LAN when the app is backgrounded then foregrounded. (#14150)
4.8.0 Version Release
Release Date: Aug 28, 2024
The version 4.8.0 SDK release update brings a substantial number of improvements and new features designed to enhance your development experience and provide even more powerful tools for building robust, real-time applications.
4.8.0 JavaScript Release Notes
⭐️ ➕ Added: Method exportToFile() to Logger, which exports collected logs to a compressed and JSON-encoded file on the local file system. Logs returned through this method are at DEBUG log level. This new API can be used to do forensic log gathering on a device. Logs are always collected and restricted to a fixed specific size limit to ensure they don't grow endlessly. Once the size limit has reached new logs replace the oldest logs. #11961
➕ Added: Properties peerKeyString1 and peerKeyString2 on DittoConnection replacing the deprecated properties peer1 and peer2 #12799
➕ Added: Documentation for startSync() and disableSyncWithV3() to include a recommendation for performance improvement. #13098
➕ Added: Documentation for property peerMetadata on DittoPeer to add information about how the property behaves over the lifecycle of the DittoPresenceGraph #13479
⭐️ 🔄 Changed: DQL methods now use generics for improved type safety and better IDE support. This change affects the Ditto Store's methods execute(), registerObserver(), registerObserverWithNextSignal(), its observers field, as well as the related types QueryResult, QueryResultItem, StoreObserver, StoreObservationHandler, and StoreObservationHandlerWithSignalNext. In the Sync class, the method registerSubscription() and the subscriptions field are updated, as well as the related SyncSubscription class. Type generics are added in a backwards-compatible manner by providing default types with wide bounds.
❗️🔄 Changed: Ditto.runGarbageCollection() is now an async method, which allows awaiting the completion of manual garbage collection. #8743
❗️🛠️ Fixed: Errors that occur while running manual garbage collection with Ditto.runGarbageCollection() are now thrown. #8743
🛠️ Fixed: Ditto logger is now initialized when first constructing a Ditto instance, when it used to be initialized on calling init() in browser environments and on import of the SDK in other environments. This fixes an issue where it was not possible to set the logger's verbosity level before logging began. #12719
⚠️ Deprecated: Properties peer1 and peer2 on DittoConnection, please use peerKeyString1 and peerKeyString2 instead #12799