Ditto v4 for JavaScript
javascript updates version changelog
⚠️ Deprecated - hash() and hashMnemonic() methods on live query events were deprecated. Use the methods with the same name on the Document class instead. (#9661, #9610)
Released: Thu Aug 10th 2023, 2:22 pm
Release Notes:
- Changed: Improved clarity of error messages when data on disk cannot be read by this version following a downgrade from a newer version of Ditto. (#9267)
- Changed: Print some internal errors in a more human-readable format. (#9495)
- Fixed: the
- Fixed: the
- Fixed: an issue on Linux that caused excessive multicast traffic over LAN transport. (#9398)
Installation:
If you have yarn:
Released: Tue Jul 18th 2023, 10:02 pm
Release Notes:
⚠️ Warning: This SDK version will migrate some data formats on disk. Once upgraded to 4.3.0, an SDK can only be downgraded back to 4.2.2 and 4.2.1 but no earlier. Downgrading to versions earlier than 4.2.1 will require uninstalling and re-installing to clear out the new data formats. (#8946)
- Added:
- Added:
- Added: An internal ability to measure & report the level of redundancy in replication updates to calculate the percentage of updates that are arriving from multiple peers. This will be used for future self-balancing mesh actions which are not yet enabled. (#8937)
- Changed: new serialization format improves efficiency of replication, particularly in the Big Peer. (#8946)
- Changed: Better logging for diagnosing auth failures. (#8984)
- Changed: Improved replication performance by introducing a small internal caching layer for commonly computed values. (#8777)
- Deprecated:
- Fixed: The replication engine can now recover from certain filesystem corruption issues during sync instead of panicking. (#8965)
- Fixed: Increased validation of document updates, preventing updates that try to modify the document id. (#9063)
Installation:
If you have yarn:
Released: Wed Jul 5th 2023, 3:32 pm
Release Notes:
- Synchronized version bump release
Installation:
If you have yarn:
Released: Tue Jul 4th 2023, 10:42 am
Release Notes:
- Improved mesh performance when using 50+ Small Peer devices (#9077)
- Changed: Improved deserialization performance of Documents. (#9123)
- Fixed: Increased validation of document updates, preventing updates that try to modify the document id. (#9129)
- Fixed: Removed outdated ERROR level log statements in Ditto store related to
- Fixed: The
- Fixed: a potential crash if a document attachment was malformed (#9045)
Installation:
If you have yarn:
Released: Tue Jun 13th 2023, 3:47 pm
Release Notes:
- Fixed: a possible crash due to serialisation when upgrading from version 4.1.0 or 4.1.1 (#8925)
Installation:
If you have yarn:
Released: Tue Jun 13th 2023, 1:53 am
Release Notes:
- Added:
- Changed: Automatically disables deadlock detection when running Ditto in a Node.js process that has the Inspector enabled with a command line parameter. (#8601)
- Changed: Improved replication uses compressed message stream to decrease bandwidth consumption. (#8807)
- Changed: Reduce verbosity in replication logs (#8370)
- Fixed: Potential crash on Linux when handling Bluetooth advertisement during Ditto startup (#8538)
Installation:
If you have yarn:
Released: Thu May 18th 2023, 11:35 pm
Release Notes:
- Fixed: Devices with hostnames longer than 35 bytes will no longer fail to sync over LAN.
- Fixed: Potential crash on Linux when handling Bluetooth advertisement during Ditto startup.
- Added:
- Changed: Automatically disables deadlock detection when running Ditto in a Node.js process that has the Inspector enabled with a command line parameter.
- Changed: Improved the error message shown when attempting to write unsupported non-finite float values to documents.
Installation:
If you have yarn:
Released: Fri Apr 28th 2023, 11:52 am
Release Notes:
- Added:
- Added:
- Changed: the Bluetooth LE transport is now enabled by default on Linux when running on Node.js. Previously, it needed to be enabled by a developer using
- Changed:
- Changed: (Experimental) Query Overlap Groups, Bus: a breaking protocol change for upcoming improvements. Peers using older versions will not be able to connect with newer peers until they upgrade.
- Fixed: A replication issue where certain cases that should have reset the replication session with a remote peer would instead temporarily terminate the connection while not resetting the session.
- Fixed: A replication issue that could cause failed convergence on small number of documents if updates are being received during a local eviction.
- Security: Enforce immediate disconnection of any connected peers whose certificate expires during a sync session.
- Fixed: Improved Bluetooth LE connection reliability on Linux
- Fixed: (Wasm) Removed unsupported usage of
- Fixed: P2P transports were disabled by default for the JS SDK, while enabled for all other SDKs. Fixed by enabling all P2P transports, that are available in the current environment (i.e. on Node/Electron running on macOS, no P2P transports when running in the browser).
Installation:
If you have yarn:
Released: Tue Apr 18th 2023, 1:22 am
Release Notes:
- Improvements to Bluetooth connection reliability on Linux
Installation:
If you have yarn:
Release Notes:
- Fixed: a replication issue that could cause failed convergence on small number of documents if updates are being received during a local eviction.
- Improvements to Bluetooth connection reliability on Linux
Installation:
If you have yarn:
Released: Thu Apr 20th 2023, 3:36 pm
Release Notes:
- Fixed: A replication issue where certain cases that should have reset the replication session with a remote peer would instead temporarily terminate the connection while not resetting the session.
- Fixed: Correct handling of reset and disable errors from receive_update
Installation:
If you have yarn:
Released: Thu Apr 6th 2023, 11:54 am
Release Notes:
- Fixed: Resolved an issue with logging when the stdout is not available.
Installation:
If you have yarn:
Released: Wed Mar 22nd 2023, 3:48 pm
Release Notes:
- Added: AddWins removes will now be used if
- Added: transaction support, which can be accessed through the Ditto store's
- Added: static method
- Changed: If a problem occurs with an app's authentication webhook, the Small Peer that is trying to authenticate will log more detailed information for the developer.
- Changed: old multi-hop connections are now automatically disconnected when direct connections are established with peers, freeing up unneeded resources faster.
- Changed: reduced severity level for some routine log statements which were previously emitted at a WARN level.
- Changed: the
- Fixed: some threads spawned by the SDK no longer wait up to 30 seconds before being stopped.
- Fixed: an issue which could cause Ditto to hang if more than 500 peers were encountered.
- Fixed: replication hanging under some circumstances, especially WebSocket connections to Big Peer
- Fixed: a possible crash if Ditto is configured with an invalid App ID. An error message is emitted instead.
- Fixed: when enabling a P2P transport that is not available in an environment,
Installation:
If you have yarn:
Released: Thu Jan 26th 2023, 3:37 pm
Release Notes:
- Fixed: an issue which could cause Ditto to hang if more than 500 peers were encountered.
- Fixed: AddWins removes will now be used if
Installation:
If you have yarn:
Released: Mon Jan 16th 2023, 2:16 pm
Release Notes:
- Added:
Installation:
If you have yarn: