> ## Documentation Index
> Fetch the complete documentation index at: https://velt-codex-ui-customization-guide-refresh.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Velt SDK Changelog

> Release Notes of changes added to the core Velt SDK

### Libraries

* `@veltdev/react`
* `@veltdev/client`
* `@veltdev/sdk`
* `@veltdev/types`

<Update label="6.0.0-beta.10" description="July 14, 2026">
  ### New Features

  * \[**Core**]: New [`setUnstyledMode()`](/api-reference/sdk/api/api-methods#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 →](/self-host-data/overview)

  ### Bug Fixes

  * \[**Comments**]: Comment Sidebar (V1) filters no longer reset unexpectedly — they survive the Reset button, persist across [`setLocation()`](/api-reference/sdk/api/api-methods#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.
</Update>

<Update label="6.0.0-beta.9" description="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 →](/async-collaboration/comments-sidebar/v2/customize-behavior#fullscreenclick)

  ### Bug Fixes

  * \[**Comments**]: The `sidebarClose` event now fires exactly once on every close — close button, outside click, or the `closeCommentSidebar()` / `toggleCommentSidebar()` APIs. [Learn more →](/async-collaboration/comments-sidebar/v2/customize-behavior#events)

  * \[**Comments**]: Reopening the V2 sidebar now starts fresh with no comment selected, while preserving expanded/collapsed groups. [Learn more →](/async-collaboration/comments-sidebar/v2/setup)

  * \[**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 →](/async-collaboration/comments-sidebar/v2/customize-behavior#defaultminimalfilter)

  * \[**Comments**]: With `dialog-selection="false"`, clicking a comment in the list emits `commentClick` only — no selection, inline expansion, or focused-thread view. [Learn more →](/async-collaboration/comments-sidebar/v2/customize-behavior#dialogselection)

  * \[**Comments**]: `embed-mode="false"` now correctly means "not embedded" — previously any non-empty value enabled embed mode. [Learn more →](/async-collaboration/comments-sidebar/v2/customize-behavior#embedmode)

  * \[**Core**]: [`removeLocation()`](/api-reference/sdk/api/api-methods#removelocations) with no arguments now clears the current location instead of doing nothing.

  * \[**Comments**]: Unknown filter keys passed to [`setCommentSidebarFilters()`](/api-reference/sdk/api/api-methods#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 →](/async-collaboration/comments-sidebar/v2/customize-behavior#minifilters)

  * \[**Comments**]: With client-provided data, quick-filter, category-filter, and data changes now emit `commentSidebarDataUpdate` with the filtered list. [Learn more →](/async-collaboration/comments-sidebar/v2/customize-behavior#applycommentsidebarclientfilters)

  * \[**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 →](/async-collaboration/comments-sidebar/v2/customize-behavior#urlnavigation)

  * \[**Comments**]: Restored filter state now syncs page pins immediately on load, so filtered-out comments no longer show pins. [Learn more →](/async-collaboration/comments-sidebar/v2/customize-behavior#filterghostcommentsinsidebar)

  * \[**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.
</Update>

<Update label="6.0.0-beta.7" description="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 →](/security/proxy-server#authhost)
</Update>

<Update label="6.0.0-beta.6" description="July 3, 2026">
  ### Bug Fixes

  * \[**Comments**]: With `page-mode="true"`, [`setLocation()`](/api-reference/sdk/api/api-methods#setlocation) now keeps every location group visible in the V2 sidebar (current expanded, others collapsed), and header Status counts reflect all comments. [Learn more →](/async-collaboration/comments-sidebar/v2/customize-behavior#pagemode)

  * \[**Comments**]: [`setLocation()`](/api-reference/sdk/api/api-methods#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.
</Update>

<Update label="6.0.0-beta.5" description="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 →](/async-collaboration/comments-sidebar/v2/setup)

  * \[**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.
</Update>

<Update label="6.0.0-beta.4" description="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 →](/async-collaboration/comments-sidebar/v2/customize-behavior#groupconfig)

  * \[**Comments**]: The Status filter now starts with Open and In Progress statuses pre-selected on first load, matching V1's `setDefaultStatuses`. [Learn more →](/async-collaboration/comments-sidebar/v2/customize-behavior#default-status-selection)

  * \[**Comments**]: [`setCommentSidebarFilters()`](/api-reference/sdk/api/api-methods#setcommentsidebarfilters) now renders client filters as checked options in the filter panel, cleared by Reset. [Learn more →](/async-collaboration/comments-sidebar/v2/customize-behavior#setcommentsidebarfilters)

  ### 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 →](/async-collaboration/comments-sidebar/v2/customize-behavior#sidebarbuttoncounttype)

  * \[**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.
</Update>

<Update label="6.0.0-beta.3" description="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 →](/async-collaboration/comments/customize-behavior)

  ### 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 →](/self-host-data/overview#excluding--extending-fields)

  * \[**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 →](/async-collaboration/comments-sidebar/v2/customize-behavior)

  ### Bug Fixes

  * \[**Comments**]: Text comments whose anchor text went stale now re-highlight via a wider fallback search instead of silently ghosting. [Learn more →](/async-collaboration/comments/customize-behavior)

  * \[**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 →](/async-collaboration/comments-sidebar/v2/customize-behavior)

  * \[**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.
</Update>

<Update label="6.0.0-beta.2" description="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 →](/async-collaboration/comments/customize-behavior)

  ### Improvements

  * \[**Comments**]: V2 sidebar filter option counts are now absolute — they no longer shift as you apply search text or other filters. [Learn more →](/async-collaboration/comments-sidebar/v2/customize-behavior)

  * \[**Comments**]: Visual fixes to the V2 sidebar filter dropdown — dark-mode icon color, checkbox alignment, and selected-row accent color. [Learn more →](/async-collaboration/comments-sidebar/v2/customize-behavior)

  ### 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.
</Update>

<Update label="6.0.0-beta.1" description="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 →](/api-reference/sdk/models/data-models)

  * \[**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 →](/api-reference/sdk/api/api-methods)
</Update>
