Skip to main content

Libraries

  • @veltdev/react
  • @veltdev/client
  • @veltdev/sdk
  • @veltdev/types
6.0.0-beta.10
July 14, 2026

New Features

  • [Core]: New setUnstyledMode() method turns off Velt’s built-in visual styling for headless use, keeping layout and positioning intact by default. Pass { keepFunctionalStyles: false } to strip down to browser defaults, or call with false to restore styling.

Improvements

  • [Self-Hosting]: New optional dataRegions field on the self-hosted config declares which regional data endpoints you provisioned — writes routed to an unprovisioned region now fall back to the base endpoint instead of failing. Adds asiaNorthEast1 (Tokyo) to the known regions. Learn more →

Bug Fixes

  • [Comments]: Comment Sidebar (V1) filters no longer reset unexpectedly — they survive the Reset button, persist across setLocation() changes, and are no longer wiped when sessionStorage is full.
  • [Self-Hosting]: The React SDK now applies the self-hosted data config reliably on first load.
6.0.0-beta.9
July 10, 2026

New Features

  • [Comments]: The Comment Sidebar V2 fullscreen toggle now emits a fullscreenClick event — subscribe via commentElement.on('fullscreenClick') or useCommentEventCallback('fullscreenClick'); the payload’s fullScreen field holds the new state. Learn more →

Bug Fixes

  • [Comments]: The sidebarClose event now fires exactly once on every close — close button, outside click, or the closeCommentSidebar() / toggleCommentSidebar() APIs. Learn more →
  • [Comments]: Reopening the V2 sidebar now starts fresh with no comment selected, while preserving expanded/collapsed groups. Learn more →
  • [Comments]: The Resolved quick filter is now additive — it reveals resolved comments on top of the visible statuses instead of switching to resolved-only. Learn more →
  • [Comments]: With dialog-selection="false", clicking a comment in the list emits commentClick only — no selection, inline expansion, or focused-thread view. Learn more →
  • [Comments]: embed-mode="false" now correctly means “not embedded” — previously any non-empty value enabled embed mode. Learn more →
  • [Core]: removeLocation() with no arguments now clears the current location instead of doing nothing.
  • [Comments]: Unknown filter keys passed to setCommentSidebarFilters() are now ignored instead of emptying the whole list.
  • [Comments]: The header funnel dropdown no longer renders when it has no sections to show. Learn more →
  • [Comments]: With client-provided data, quick-filter, category-filter, and data changes now emit commentSidebarDataUpdate with the filtered list. Learn more →
  • [Comments]: Selecting a comment whose pin is on a different page now navigates there, opens the sidebar, selects the comment, and scrolls to its pin. Learn more →
  • [Comments]: Restored filter state now syncs page pins immediately on load, so filtered-out comments no longer show pins. Learn more →
  • [Comments]: Comment dialog actions (reply, edit, delete, resolve, assign, attachments) now always act on the comment the dialog is currently showing, fixing stale-id actions in virtualized lists.
6.0.0-beta.7
July 8, 2026

Bug Fixes

  • [Core]: When you configure an auth proxy via proxyConfig.authHost in initConfig, Velt’s boot-time auth request now routes through your proxy host instead of bypassing it on page reload. No API or configuration changes are required. Learn more →
6.0.0-beta.6
July 3, 2026

Bug Fixes

  • [Comments]: With page-mode="true", setLocation() now keeps every location group visible in the V2 sidebar (current expanded, others collapsed), and header Status counts reflect all comments. Learn more →
  • [Comments]: setLocation() now always re-expands the current location’s group in the V2 sidebar, while preserving other groups’ remembered collapse state.
  • [Comments]: The V2 sidebar navigation button now opens the correct comment in long, virtualized lists.
6.0.0-beta.5
July 03, 2026

Bug Fixes

  • [Comments]: In Comment Sidebar V2 custom-actions mode, grouped rows now match V1 — the current page’s group shows the “(This page)” suffix, toggling a group flips only that group, and navigating between pages preserves rows and expansion state. Learn more →
  • [Comments]: The count-type='filter' badge and filterCommentsOnDom pin gate now reflect the filtered list from the sidebar’s first load, instead of briefly counting all annotations.
  • [Comments]: Sidebar free-text search now matches every comment and reply (not just the first comment) by text or author name, adds exact #N comment-number search, and no longer matches hidden HTML markup.
  • [Comments]: The sidebar Comment Type (Public/Private) filter now detects new-style private comments (visibilityConfig.type of restricted or organizationPrivate) in addition to legacy iam.accessMode: 'private', so Private/Public counts are correct.
  • [Comments]: Global hotkeys no longer fire while you type in the sidebar search input.
6.0.0-beta.4
July 02, 2026
This release brings the Comment Sidebar V2 to parity with V1 across grouping, filtering, and counting.

Improvements

  • [Comments]: When grouped by location or document, the V2 sidebar now starts with only the current group expanded; explicit expand/collapse choices persist across reloads. Learn more →
  • [Comments]: The Status filter now starts with Open and In Progress statuses pre-selected on first load, matching V1’s setDefaultStatuses. Learn more →
  • [Comments]: setCommentSidebarFilters() now renders client filters as checked options in the filter panel, cleared by Reset. Learn more →

Bug Fixes

  • [Comments]: Name-only locations (setLocation({ locationName: 'Home' })) now scope sidebar grouping, filtering, page mode, and client filters.
  • [Comments]: People, Involved, Assigned, and Tagged filter options are now keyed by userId, so a person referenced by both userId and email no longer appears as two options.
  • [Comments]: With setSidebarButtonCountType('filter'), the sidebar-button badge now counts the actual filtered list, and the same list gates on-page pins when filterCommentsOnDom is enabled. Learn more →
  • [Comments]: Selecting “All” on the Status field or hitting Reset now reveals resolved comments, matching V1.
  • [Comments]: The default Priority section now shows a “Not set” bucket for comments with no priority, matching V1.
  • [Comments]: Client filters set via setCommentSidebarFilters() for fields not shown in the Main Filter panel (e.g. version) now filter the list.
  • [Comments]: The cross-field system-filters-operator (AND/OR) is now applied to the sidebar filter engine, including values set before initialization.
  • [Comments]: The V2 sidebar virtual-scroll list now clips wide rows instead of scrolling horizontally, matching V1’s layout.
6.0.0-beta.3
June 30, 2026

New Features

  • [Comments]: New restrictTextSearchToAnchor prop and enableRestrictTextSearchToAnchor() / disableRestrictTextSearchToAnchor() methods to restrict a text comment’s highlight search to its original anchor element, with no wider fallback. Learn more →

Improvements

  • [Self-Hosting]: The fieldsToRemove allowlist now applies to reaction annotations, recorder annotations, and all activity feature types (previously only comments and custom activities). Learn more →
  • [Comments]: Explicitly selecting “Resolved” (or any terminal status) in the V2 sidebar status filter now surfaces those comments instead of hiding them by default. Learn more →

Bug Fixes

  • [Comments]: Text comments whose anchor text went stale now re-highlight via a wider fallback search instead of silently ghosting. Learn more →
  • [Comments]: V2 sidebar facet counts are now computed against the same boundaries as the visible list, so a non-zero count no longer filters the list to nothing when selected. Learn more →
  • [Types]: The @veltdev/types published entry chain is now type-only, so type-only symbols can no longer be accidentally imported as runtime values that resolve to undefined.
  • [Types]: Published element-model declarations are re-synced with the runtime SDK — corrected return types, removed stale aliases, and added missing Presence, Notification, Rewriter, and Recorder method declarations.
6.0.0-beta.2
June 24, 2026
V2 comment sidebar events now flow through the unified commentElement.on() event bus, plus correctness fixes for comments, reactions, and notifications.

New Features

  • [Comments]: Four new comment events on the on() bus — sidebarOpen, sidebarClose, commentClick, and commentNavigationButtonClick. Subscribe via commentElement.on(...) or useCommentEventCallback(...). Learn more →

Improvements

  • [Comments]: V2 sidebar filter option counts are now absolute — they no longer shift as you apply search text or other filters. Learn more →
  • [Comments]: Visual fixes to the V2 sidebar filter dropdown — dark-mode icon color, checkbox alignment, and selected-row accent color. Learn more →

Bug Fixes

  • [Comments]: Recipients granted via enablePrivateMode({ type: 'restricted', userIds: [...] }) are no longer dropped when a new pin is submitted.
  • [Comments]: The reaction pin and reaction tool render correctly again inside the comment dialog thread card.
  • [Comments]: The default-mode V2 comment sidebar no longer reserves an invisible full-height block at its tag location.
  • [Notifications]: Custom notification data now resolves correctly for self-hosted data providers when document paths don’t carry an organization id.
6.0.0-beta.1
June 23, 2026
First beta of the modular SDK. The public Velt browser API is fully backward compatible — existing browser integrations work unchanged.

New Features

  • [Core]: Modular SDK — each feature now loads as its own on-demand chunk. Pass featureAllowList at init (e.g. ['comment', 'presence']) to preload only the features you use; omit it to keep the existing behavior of preloading everything. Learn more →
  • [Core]: New preload<Feature>() methods (e.g. preloadComment()) to warm a feature chunk ahead of use, or to load tag-only features (userInvite, userRequest, videoPlayer). Learn more →