- Do not compose ops which have been sent to the server, even if they were not acknowledged, for example due to disconnection.
- Merge the latest changes from
share/sharedb
. - Clean up "Agent" on stream "close" in addition to stream "end".
- Ignore undoable no-ops in UndoManager. As a result, no-ops will no longer clear the redo stack.
- The error code for "OT Type does not support presence" changed from 4024 to 4029. The change was necessary to remain compatible with the official ShareDB repo.
- Snapshot Milestones were merged from the official ShareDB repo.
- Fix tests for sharedb-mongo.
- Remove support for the
clientIdPrefix
parameter passed intoAgent
. Use middleware actions to store extra data with operations, see share#224 (comment). - Overhaul the undo/redo API.
- Log warnings when using deprecated features.
- Support
skipNoop
option forDoc.submitOp
andDoc.submitSnapshot
. By default no-ops are NOT skipped. This actually restores backward compatibility which was broken by v1.2.0 which started skipping no-ops by default.
- Support a custom
clientId
prefix, seeShareDB.listen
.
- Add local undo/redo support for document operations.
- Implement
Doc.submitSnapshot
.
- Add presence data synchronization.
- Add options argument to all public database adapter methods that read or write from snapshots or ops.
- DB methods that get snapshots or ops no longer return metadata unless
{metadata: true}
option is passed. - Replace
source
argument withoptions
in doc methods. Useoptions.source
instead. - Backend streams now write objects intead of strings.
- MemoryDB.prototype._querySync now returns
{snapshots: ..., extra: ...}
instead of just an array of snapshots.
- Add options argument to backend.submit.
- Add error codes to all errors.
- Add
'updated'
event on queries which fires on all query result changes. - In clients, wrap errors in Error objects to they get passed through event emitters.
- Sanitize stack traces when sending errors to client, but log them on the server.
Beginning of changelog.
If you're upgrading from ShareJS 0.7 or earlier, take a look at the ShareJS upgrade guide.