Skip to content

v2.18.0

Choose a tag to compare

@chittolinag chittolinag released this 25 Sep 14:18

What's New

  • Collaboration connection state — Track room outages and recovery with getCollaborationConnectionState() and onCollaborationConnectionChange callback.
  • Edit attribution — Yjs edits tagged with human vs. programmatic origin for server-side revision tracking and auto-save logic.
  • Tab presence in Document API — Hidden tabs and tab-scoped edits now exposed to SDK reads for agent automation.

Performance

  • Large-table editing — Eliminated repeated font planning during aggressive typing in large tables.

Fixes

Collaboration

  • Guard interrupted bootstrap retries from writes before rejection.
  • Suppress ready event after rejected room creation.
  • Wait for built-in create seed visibility.
  • Validate glossary upgrades without breaking legacy rooms.
  • Preserve external collaboration objects marked for exclusion.
  • Attribute built-in UI commands by actor origin.
  • Support existing content-control mutations in collaboration.
  • Allow undoing image insertion in collaborative sessions.

Content Controls

  • Preserve formatting in inline content-control wraps.
  • Preserve nested content-control raw properties and single-quoted attributes.
  • Preserve content controls on clipboard paste.
  • Delete direct paragraphs containing inline controls.
  • Mutate header and footer content controls in their own parts.
  • Create footer initials controls after inline tabs.
  • Render inline content-control chrome on Backspace and forward delete.

Tables & Lists

  • Reveal borderless table cell guides on hover.
  • Replay tracked table row changes atomically per cell.
  • Preserve table cell spacing on V2 paste.
  • Skip self-closing list text nodes.

Import & Export Fidelity

  • Preserve paragraph-level breaks in imported text.
  • Render imported positioned tab leaders.
  • Refresh inline content-control metadata across repaint.
  • Resolve anchor offsets across tabs and breaks.
  • Bound footnote reserve by page geometry.
  • Split anchored metadata at V2 Enter boundaries.

Diff & Tracked Changes

  • Apply text changes inside unchanged bookmarks.
  • Replay proofing boundaries in formatting-only diffs.
  • Replay bounded complex REF and bookmark additions.
  • Preserve commented tracked replacements across foreign insertion.
  • Retain direct formatting on joined footnote markers.

Other

  • Prevent Backspace backlog in V2 editing.
  • Return room-specific collaboration upgrade outcomes.