@tiptap-pro/extension-tracked-changes changelog
Changelog for @tiptap-pro/extension-tracked-changes
0.11.2
Patch Changes
- Fix a bug where collab transactions could be handled by tracked changes when multiple yjs plugins were loaded and plugin keys would overlap.
0.11.1
Patch Changes
- Fix misplaced deletion marks when one transaction contains multiple replacements. Each deletion mark now stays on the text it replaced and no replacements are dropped.
0.11.0
Minor Changes
- Support nested / stacked tracked-changes suggestions for cross-author edits. When one user edits inside another user's suggestion, the edit now creates a new suggestion layered on top, attributed to the editing user, instead of mutating or silently dropping the original. Works inline for additions, deletions, and replacements. Accepting or rejecting an inner suggestion leaves the outer one intact; rejecting an outer suggestion discards its nested edits along with its content. Same-author edits are unchanged and still merge into one mark. Block-level nested suggestions are out of scope.
0.10.4
Patch Changes
- Fix a crash when a transaction carries a
nullmeta value (e.g.tr.setMeta(key, null))
0.10.3
Patch Changes
- Fix empty paragraph artifacts left behind after accepting or rejecting tracked-change suggestions that span block boundaries (including replace pairs and block-level deletes). The post-deletion cleanup pass now removes empty textblocks alongside empty container blocks, while preserving leaf blocks and nodes that carry a node-level suggestion. A safety net restores a default block if the cleanup would otherwise empty the document
- Add
REPLACEto theSUGGESTION_TYPESconstant so consumers can validate thereplacesuggestion type emitted for paired changes (e.g. atom node attribute updates).
0.10.2
Patch Changes
- Typing or deleting characters one by one no longer creates a separate span for each keystroke. Consecutive insertions and deletions within the same suggestion are now merged into a single mark.
- Typing inside an existing suggestion mark with tracked changes disabled no longer inherits the suggestion mark. New text is inserted as plain, untracked content and the surrounding suggestion mark is split correctly.
0.10.1
Patch Changes
- Fix
getSuggestionHTMLAttributesso it stays reactive inside a NodeView. It now takes the live ProseMirror node and returns up-to-datedata-suggestion-*attributes whennode.attrschange.
0.10.0
Minor Changes
- Add
getSuggestionHTMLAttributeshelper for atom node views. Spread the result onto aNodeViewWrapperto apply suggestion attributes (e.g.data-suggestion-id,data-suggestion-type) without leaking the node's own schema attributes.
0.9.0
Minor Changes
- Allows typing inside a pending deletion suggestion. The deletion is converted into a replacement, with the new content as the inserted half and the surrounding deleted content as the deleted half.
0.8.1
Patch Changes
- Fix dead-key composition (e.g. macOS
ç) breaking replacement suggestions by creating a strayaddsuggestion instead of extending the existingreplaceInsertionone.
0.8.0
Minor Changes
- Replace time-based suggestion grouping with adjacency-based grouping. Typing words containing diacritics no longer splits into multiple suggestions when composition takes longer than the previous grouping window. The
suggestionGroupingTimeoutoption has been removed; suggestions now group purely by adjacency, author, and operation type. - Add an
updatedAttimestamp to suggestions. The field reflects the most recent edit anywhere in a suggestion and is exposed through the suggestion query API. For legacy data without the field it falls back tocreatedAt.
0.7.0
Minor Changes
- Add
trackedChanges:suggestionChangedevent that fires whenever any aspect of a suggestion changes, including mark attribute changes on the same range. Previously,trackedChanges:suggestionRangeChangedonly fired when the range positions shifted, leaving mark toggle changes undetected.
0.6.0
Minor Changes
- Add table-aware tracked changes support for selected cell and column operations, including grouped column suggestions and table-safe accept/reject handling.
- Suggestions now expose
deletedNodesandinsertedNodes(asJSONContent[]) so you can inspect the full node structure of block-level changes. Thetextfield now always contains the actual text content of the affected nodes instead of[nodeName]placeholders.
0.5.0
Minor Changes
- Expand tracked changes support to cover inserted and deleted nodes, node splits and joins, sinks and lifts, and non-atom content while reoptimizing the tracking pipeline.
Patch Changes
- Fix accepting tracked deletions so empty-block cleanup does not loop on valid block leaf content such as figure images.
0.4.4
Patch Changes
- Minor bugfixes & improvements
0.4.3
Patch Changes
- Fixed minor issues and bugs
0.4.2
Patch Changes
- Fix accepting deleted captions from removing their parent figure when other valid sibling content remains.
0.4.1
Patch Changes
- Support treating delete-then-type edits as tracked replacements, including repeated
Backspace/Deletedeletions followed by typing at the same location.
0.4.0
Minor Changes
-
Add an option to skip trailing-node handling for programmatic tracked insertion commands.
addTrackedInsertionandaddTrackedReplacementnow acceptskipTrailingNode, which setsskipTrailingNode: trueon the emitted tracked transaction so downstream trailing-node logic can be skipped when needed.
0.3.0
Minor Changes
-
Add tracked mark-change suggestions for formatting changes on existing text.
This adds
markChangesuggestions for supported mark add/remove operations on pre-existing content, including nested and overlapping mark changes, programmatic tracked mark commands (addTrackedMark,removeTrackedMark, andtoggleTrackedMark), and theignoredTrackingMarksoption for excluding additional marks from mark-change tracking.It also improves reconciliation for tracked mark changes so toggling a tracked mark back off cancels the suggestion cleanly, overlapping mark-change suggestions are preserved during accept/reject, and multi-user updates on the same tracked mark range cancel or transfer ownership to the last user who changed that suggestion.
Patch Changes
- Fix a TypeScript return value mismatch in delete mark range analysis.
0.2.1
Patch Changes
- Fix
SuggestionNodeAttributesnode detection in bundled builds so tracked-change node attributes continue to apply correctly in production.
0.2.0
Minor Changes
-
Add new programmatic tracked-changes commands:
addTrackedInsertionto insert inline content as a tracked insertion at a specific position.addTrackedDeletionto convert an existing range into a tracked deletion.addTrackedReplacementto replace an existing range with tracked replacement content.
0.1.2
Patch Changes
- Fix deleting content inside a replacementDeletion mark overwriting the mark type
0.1.1
Patch Changes
- Fix deleting content inside a replacementDeletion mark overwriting the mark type
0.1.0
Minor Changes
- New Track Changes extension for suggesting edits and tracking document changes with support for insertions, deletions, and formatting modifications. Integrates seamlessly with the Comments extension to enable discussions on suggestions.