> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omni.co/llms.txt
> Use this file to discover all available pages before exploring further.

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.omni.co/feedback

```json
{
  "path": "/changelog/index",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# Product updates

> Stay current with the latest Omni product updates, including new features, platform improvements, and bug fixes for 2026.

Stay up to date with the latest happenings in the Omniverse, including new features, improvements, and bug fixes.

<Update label="May 3, 2026" rss={{title: "May 3, 2026", description: "Lots of dashboard editor updates, new Modeling Agent skills, new API key management tools, and more"}}>
  **AI**

  * Added support for enabling the AI to query outside topics when using the [MCP Server](https://docs.omni.co/ai/mcp). This is enabled by adding `X-MCP-Query-All-Views: true` to the Omni MCP server's configuration.
  * Added the ability to [provide feedback on Slack Agent responses](https://docs.omni.co/integrations/omni-slack-agent#providing-response-feedback) directly from Slack, allowing you to rate whether the agent's answer was helpful.
  * Added a new Modeling Agent skill that allows you to generate semantic models based on your [Snowflake or Postgres query history](https://docs.omni.co/ai/model-assistant#suggest-model-from-query-history).

  **API**

  Added support for enabling and disabling individual Personal Access Tokens (PATs) and MCP PATs in [Omni](https://docs.omni.co/api/authentication#enabling-and-disabling-pats) and through the [API](https://docs.omni.co/api/api-tokens/enable-or-disable-api-token). Organization Admin permissions are required.

  **Content**

  Added [branch content links](https://docs.omni.co/content/develop/branch-mode#publishing-and-merging-branches) to GitHub and GitLab pull request descriptions for branches that contain draft content, making it easier to preview changes before merging.

  **Dashboards**

  <Note>
    The following updates are applicable only to advanced layout dashboards.
  </Note>

  * Added support for [multiple selections](https://docs.omni.co/visualize-present/dashboards/advanced-filters#working-with-string-filters) to string filter button groups for advanced dashboard layouts.
  * Added a new dashboard setting that allows you to [fix the filter and control bar](https://docs.omni.co/visualize-present/dashboards/settings#fixed-control-bar) to the top of advanced layout dashboards.
  * Added an **Edit** context menu item to dashboard elements when the properties panel is closed, allowing you to quickly access editing options without opening the panel.
  * Added the ability to select which pages to include when [downloading](https://docs.omni.co/visualize-present/dashboards/download) or [scheduling](https://docs.omni.co/share/deliveries) dashboards. Applicable only to advanced layout dashboards.
  * Added the ability to insert query metadata (name, subtitle, description) into query items on advanced layout dashboards.
  * Added documentation for using [dynamic page name references](https://docs.omni.co/visualize-present/dashboards/page-navigation#dynamic-labels) (`{{page.<KEY>.name}}`) in advanced layout page navigation.

    Also split the documentation for advanced layouts into smaller, more focused pages covering [containers and items](https://docs.omni.co/visualize-present/dashboards/containers-items), [pages](https://docs.omni.co/visualize-present/dashboards/pages), [page navigation](https://docs.omni.co/visualize-present/dashboards/page-navigation), and [filter display options](https://docs.omni.co/visualize-present/dashboards/advanced-filters).

  **Deliveries & Alerts**

  Added an [**Alert condition types** section](https://docs.omni.co/share/deliveries#alert-condition-types) to the deliveries and alerts documentation.

  **Integrations**

  * Added an **Enable deferral** option to the dbt environment settings. When enabled, unbuilt models in the dbt dev environment will fall back to the production build.
  * Added visual highlighting to distinguish between development and production virtualized views when using dbt deferral environments. These views will have an orange icon in the IDE.
  * Added a step-by-step guide for [previewing dbt changes in Omni](https://docs.omni.co/guides/modeling/preview-dbt-changes).

  **Modeling**

  * Fixed an issue where topics with an ignored [`base_view`](https://docs.omni.co/modeling/topics/parameters/base-view) were being included in model validation and shown in the topic picker. Now, topics with an ignored `base_view` will be correctly excluded from validation and the topic picker.
  * Added examples to the [`always_where_sql`](https://docs.omni.co/modeling/topics/parameters/always-where-sql) topic modeling parameter.

  **Workbook**

  Added documentation for the beta [input columns](https://docs.omni.co/analyze-explore/input-columns) feature.
</Update>

<Update label="April 26, 2026" rss={{title: "April 26, 2026", description: "Tools for managing AI context usage, APIs for managing API tokens, new localization options, and more"}}>
  **Administration**

  * Added a confirmation dialog when you disable the **Custom email sender** setting in **Settings > Deliveries > Email**. Previously, toggling off immediately disabled the custom sender configuration, which could happen accidentally.
  * Fixed an issue where the `source` field in `QUERY_CONTEXT` audit log events was being corrupted by FireLens metadata injection. The `source` field is retained for backwards compatibility, but you should migrate your audit log filters to use the new [`query_source` field](https://docs.omni.co/administration/audit-logs/event-types).
  * Added Portuguese (Portugal) as a [supported localization option](https://docs.omni.co/administration/localization).
  * Added Norwegian Bokmål and Swedish as [supported localization options](https://docs.omni.co/administration/localization).

  **AI**

  * Updated the [**Start a new chat** indicator](https://docs.omni.co/ai/chat#managing-long-conversations) to trigger at 75% of the session's [token limit](https://docs.omni.co/modeling/models/ai-settings#param-conversation-prune-length) instead of 50%.
  * Added an indicator to the [**New chat** button](https://docs.omni.co/ai/chat#managing-long-conversations) that appears when your conversation is consuming a significant portion of the model's context window.
  * Updated the [Workbook inspector guide](https://docs.omni.co/analyze-explore/workbook-inspector#ai-messages) to include information about the **AI messages** section, which displays information about active AI workbook sessions.

  **API**

  * Added a new [`POST /api/v1/models/{modelId}/git/commit` API endpoint](https://docs.omni.co/api/model-git-configuration/create-or-update-a-pull-request-for-a-model-branch) that allows you to push a branch's model contents to git and create or update a pull request programmatically.
  * Added a new [`PUT /api/v1/api-keys/{id}` endpoint](https://docs.omni.co/api/api-tokens/enable-or-disable-organization-api-token) to enable or disable organization-level API tokens.
  * Added a [`DELETE /api/v1/api-keys/{id}` endpoint](https://docs.omni.co/api/api-tokens/delete-api-token) that allows you to revoke API tokens.
  * Added a new [`GET /api/v1/api-keys/{id}` endpoint](https://docs.omni.co/api/api-tokens/list-api-tokens) that allows you to retrieve details about a single API token.
  * Fixed the OpenAPI schema for the [`POST /api/v1/connections` endpoint](https://docs.omni.co/api/connections/create-connection) to include 13 missing fields that were accepted by the API but not documented, including `inferRelationshipsFromForeignKeys`, `authenticationType`, `awsRoleArn`, and others.
  * Fixed the [`GET /api/v1/models/{modelId}/dbt-exposures` endpoint](https://docs.omni.co/api/dbt/get-dbt-exposures) to accept the `cursor` query parameter for pagination.
  * Added a `fullyResolved` parameter to the [Get model YAML](https://docs.omni.co/api/models/get-model-yaml) and [Update model YAML](https://docs.omni.co/api/models/create-or-update-yaml-files) endpoints.

  **Content**

  Added support for restoring archived documents when following a [direct link](https://docs.omni.co/content/archive-restore#restore-from-direct-link).

  **Dashboards**

  * Added drag-to-resize functionality for items within column stack layouts on [advanced layout dashboards.](https://docs.omni.co/visualize-present/dashboards/advanced-layout)
  * Added support for using `{{page.KEY.name}}` tokens in inline page switcher option labels in advanced layouts for dashboards. These tokens expand to the page's current name at render time and automatically update when the page is renamed, allowing you to combine custom text with dynamic page references.
  * Added a [guide on dashboard best practices](https://docs.omni.co/guides/dashboards/dashboarding-best-practices) to help you design and organize dashboards effectively.

  **Embedding**

  * Fixed an issue where Markdown links in dashboards weren't respecting the [`NO-EMBED-LINK-REWRITE` parameter](https://docs.omni.co/embed/customization/link-content#opt-out-of-link-rewriting). Links tagged with this parameter will now pass through verbatim instead of being rewritten through `/embed/link`.
  * Fixed an issue where [voice mode wasn't available for the Omni Agent](https://docs.omni.co/embed/limitations#omni-agent-voice-mode) in embedded Omni instances. You can now include `allow=microphone` in iframe permissions to enable voice mode in embed scenarios.

  **Integrations**

  * Added an [**Always Scope View Names** setting](https://docs.omni.co/connect-data/view-name-generation) to connections that forces generated view names to include schema and catalog prefixes even for tables in the default schema or catalog.
  * Added documentation about how Omni uses [dbt deferrals and constraints](https://docs.omni.co/integrations/dbt/deferrals-constraints) for model metadata and testing.
  * Added documentation for [dbt Virtual Schemas](https://docs.omni.co/integrations/dbt/virtual-schemas), which allow you to decouple your modeling logic from physical database locations and use the `omni_dbt` prefix for dynamic environment switching.
  * Added information about required database user permissions to the [Databricks connection setup guide](https://docs.omni.co/connect-data/setup/databricks).
  * Added a dedicated [schema refresh guide](https://docs.omni.co/integrations/dbt/schema-refresh) for the dbt integration.
  * Added documentation about the [dbt health check](https://docs.omni.co/integrations/dbt/health-check), which is useful for debugging dbt model issues in Omni.
  * Added a dedicated guide about [pulling dbt metadata](https://docs.omni.co/integrations/dbt/metadata) into Omni.

  **Modeling**

  * You can now selectively ignore specific global filters in a `level_of_detail` by using the `cancel_query_filter: true` flag within the `filters` map. This works on both [dimension](https://docs.omni.co/modeling/dimensions/parameters/level-of-detail) and measure  `level_of_detail` definitions.
  * Added explicit by-name mapping for [`materialized_query`](https://docs.omni.co/modeling/views/parameters/materialized-query) fields.
  * Users with Modeler permissions can now refresh schemas on single-model connections.
  * Omni-generated [query view names](https://docs.omni.co/analyze-explore/saved-views) now have "smarter" default names, along with adding a `_1`, `_2`, etc. suffix when a collision is detected. This fixes an issue where importing tabs across workbooks could silently cause data corruption when query view names collided.
  * Added instructions for [deleting topics](https://docs.omni.co/modeling/topics/index#deleting-topics) in Omni's model IDE.
  * Added a guide that explains how to [preview dbt changes in Omni](https://docs.omni.co/guides/modeling/preview-dbt-changes) before merging to production.

  **Workbook**

  * Added a [format quick-pick menu](https://docs.omni.co/analyze-explore/point-click-queries#formatting-number-and-date-columns) to the results table format bar that replaces the previous **Number** button.
  * Added a [keyboard shortcut](https://docs.omni.co/getting-started/keyboard-shortcuts) (`⇧ + ⌥ + ⌘ + F` on Mac, `⇧ + ⌥ + ⌃ + F` on Windows/Linux) to collapse or expand all items in the workbook's field browser.
  * Added a context menu to the topic header in the workbook field browser. You can now right-click the topic switch button or the vertical-dots icon to access options for editing the topic or jumping to the topic definition in the IDE.
</Update>

<Update label="April 19, 2026" rss={{title: "April 19, 2026", description: "AI integration release, new UI localization options, AI context management, and more!"}}>
  **Administration**

  * Added a new [**Duplicate** content permission](https://docs.omni.co/administration/content-permissions#default-document-abilities) that controls duplication document and workbook tab duplication across your organization. Reach out to Omni support to have this feature enabled.
  * Added Vietnamese (vi-VN) as a [supported locale](https://docs.omni.co/administration/localization) in Omni.
  * Added Italian (it-IT) as a [supported locale](https://docs.omni.co/administration/localization) in Omni.
  * Updated the [Best practices](https://docs.omni.co/getting-started/best-practices) guide to reflect current guidance on modeling in Omni, managing content, and more.

  **AI**

  * Updated the default AI model tier for the model building agent from Sonnet to Opus, so the modeling subagent and related tools use a more capable model by default. Organization-level overrides in **AI settings** take precedence over this default.
  * [External AI context integrations](https://docs.omni.co/integrations/ai/index) are now available.
  * Added a [`conversation_prune_length` parameter](https://docs.omni.co/modeling/models/ai-settings#param-conversation-prune-length) to model-level `ai_settings` that lets you tune how aggressively Claude prunes conversation context. See the [Tuning Omni AI for cost and quality guide](https://docs.omni.co/guides/ai/tuning-cost-quality) for additional information about this new parameter.
  * AI chat on the homepage is now available to all organizations.
  * Added a guide for [tuning AI cost and quality settings](https://docs.omni.co/guides/ai/tuning-cost-quality), which provides three starting profiles—cost-optimized, balanced, and max-quality—along with guidance on customizing them for your use case.

  **API**

  * Added a new [`PATCH /api/v1/models/{modelId}` endpoint](https://docs.omni.co/api/models/rename-model) that allows you to programmatically rename models.
  * Added `includeSchemas` parameter to the [`GET /api/v1/models/:modelId/yaml` endpoint](https://docs.omni.co/api/models/get-model-yaml) to retrieve only a specified schema's views, reducing payload size.
  * Added a new [`GET /api/v1/models/:modelId/schemas`](https://docs.omni.co/api/models/list-model-schemas) endpoint that returns a list of all available schema names in your model.
  * Added a new [`GET /api/v1/api-keys` endpoint](https://docs.omni.co/api/api-tokens/list-api-tokens) that lists API tokens in your organization, filterable by type.
  * Added support for specifying a custom document identifier to the [`POST /api/v1/documents`](https://docs.omni.co/api/documents/create-document) and [`PATCH /api/v1/documents/:identifier`](https://docs.omni.co/api/documents/update-document) endpoints.
  * Restricted Queriers can now create [Personal Access Tokens](https://docs.omni.co/api/authentication#personal-access-tokens-pat).

  **Dashboards**

  * Added support for reordering, relabeling, and customizing page tabs in advanced dashboard layouts.
  * Updated the [advanced layout documentation](https://docs.omni.co/visualize-present/dashboards/advanced-layout) to reflect the new behavior for adding queries to dashboards. Now, when a new query is added to a dashboard, it will automatically be placed on the first page in a named stack container.

  **Embedding**

  Updated the embed [`entity` parameter](https://docs.omni.co/embed/setup/url-parameters/entity) documentation to reflect that entities are limited to 64 characters.

  **Integrations**

  * Added a per-connection **Auto-generate relationships** setting that lets you control whether Omni infers relationships from foreign keys, column names, both, or neither during schema refresh.
  * Added [slash command](https://docs.omni.co/integrations/omni-slack-agent#using-slash-commands) support to the Omni Slack Agent. This update also removes the **Home** tab. The settings previously in this tab can now be set using slash commands.
  * Added support for specifying multiple catalogs (databases) in Redshift connections.
  * Added documentation for the [Google Calendar](https://docs.omni.co/integrations/ai/google-calendar) and [Google Drive](https://docs.omni.co/integrations/ai/google-drive) AI integrations. See the [Google setup guide](https://docs.omni.co/integrations/ai/google-setup) for help setting up these integrations.
  * Added documentation for [External AI integrations](https://docs.omni.co/integrations/ai/index), including setup guides for [Slack](https://docs.omni.co/integrations/ai/slack) and [GitHub](https://docs.omni.co/integrations/ai/github) integrations.
  * Updated the [Omni Slack Agent documentation](https://docs.omni.co/integrations/omni-slack-agent#scoping-responses) to clarify that the agent enforces the same permissions and access controls as the rest of Omni, including access grants, user attributes, and connection-level permissions.
  * Added a [guide about dbt and Git worfklows](https://docs.omni.co/integrations/dbt/git-workflows) in Omni, including guidance on managing changes with Omni's SDLC controls.

  **Modeling**

  * Added support for view-scoped tag filtering in topic fields using the [`view_name:tag:tag_name` directive syntax](https://docs.omni.co/modeling/topics/parameters/fields).
  * Updated the [`ai_chat_topics`](https://docs.omni.co/modeling/models/ai-chat-topics) documentation to specify that the parameter only affects topic visibility in AI search results. Topics not included can still be accessed through direct queries, since the AI runs with the same permissions as the user.
  * Added documentation for the [`parent_field` dimension](https://docs.omni.co/modeling/dimensions/parameters/parent-field) property, which allows you to specify the parent field for nested dimensions and control how labels are displayed in hierarchies.
  * Updated the [Data input documentation](https://docs.omni.co/analyze-explore/data-input-csvs) to clarify that topics created from uploads automatically receive empty `required_access_grants` at creation time, making them exempt from model-level `default_topic_required_access_grants`.
  * Added a [guide explaining how to use templated filters for advanced date flexibility patterns](https://docs.omni.co/guides/modeling/date-flexibility-templated-filters), giving your end users more control over date filtering options.

  **Workbook**

  Added a [**Remove unused** button](https://docs.omni.co/modeling/develop/promotion#removing-unused-objects-from-the-workbook) in the workbook model changes panel that identifies and removes extension objects (fields, views, topics, relationships) that aren't referenced by any query in the workbook.
</Update>

<Update label="April 12, 2026" rss={{title: "April 12, 2026", description: "New git integration authentication option, AI topic creation documentation, and lots of quality of life improvements"}}>
  **Rotate git webhook secrets**

  Added a [**Rotate secret** button to the model git settings](https://docs.omni.co/integrations/git/settings#webhook-secret) that allows you to generate a new webhook secret without unlinking and re-linking your git repository.

  **HTTPS-token based authentication for git integrations**

  Added HTTPS token-based authentication for [git connections](https://docs.omni.co/integrations/git/setup/index), allowing you to use GitHub fine-grained personal access tokens and GitLab project access tokens.

  **Get started with AI-guided topic creation!**

  Added documentation for the [AI-guided quickstart workflow](https://docs.omni.co/modeling/topics/quickstart), which can help you create your first topic from business questions.

  **Administration**

  * Added [Portuguese (Brazil) locale support](https://docs.omni.co/administration/localization).
  * Renamed **Token Tracking** to **Credit Tracking** throughout the application and documentation to better reflect the billing model.

  **AI**

  * Added a [**Home** tab to the Omni Slack Agent](https://docs.omni.co/integrations/omni-slack-agent#managing-your-settings) that provides a persistent surface for account management and settings directly in Slack.
  * Improved agentic follow-up performance by carrying the topic from conversation history, so the AI no longer needs to rediscover it on each turn. Also added validation to the [Create AI job endpoint](https://docs.omni.co/api/ai/create-ai-job) to return a `404` error if you provide an invalid or restricted `topicName`, instead of silently failing at runtime.
  * Added setup instructions for [Claude Code Cloud](https://docs.omni.co/ai/mcp/claude-code) to the MCP documentation.
  * Added clarification about user chat access to the [Omni Agent guide](https://docs.omni.co/ai/chat#sharing-chat-sessions).

  **API**

  * Added optional `find` and `find_type` query parameters to the content validator API endpoint. See the [API documentation](https://docs.omni.co/api/content-validator/validate-content) for details on the new parameters and their usage.
  * Added documentation for the [**Create draft** endpoint](https://docs.omni.co/api/documents/create-draft), which allows you to create a draft for a document.
  * Added clarification to the [**Find and replace content** endpoint reference](https://docs.omni.co/api/content-validator/find-and-replace-content#body-only-in-workbook-id) endpoint's `only_in_workbook_id` parameter expects a workbook UUID, not a URL slug.

  **Content**

  Added a **Allow users to copy values to the clipboard** toggle in the [embed share modal](https://docs.omni.co/share#customize-embed-content). When enabled, this includes the `clipboard-write` permission in the generated iframe snippet, allowing users to copy values directly within embedded dashboards without requiring manual iframe HTML edits.

  **Dashboards**

  * New queries are now automatically added to the first page of a dashboard when using advanced layouts.
  * Chart settings can now be [edited inline in the properties panel](https://docs.omni.co/visualize-present/dashboards/advanced-layout#editing-charts) when working with advanced layout dashboards.
  * Added a [**Wrap** toggle](https://docs.omni.co/visualize-present/dashboards/advanced-layout#layout-types) to the stack container properties panel in advanced layouts, allowing you to control whether flex items wrap to new lines when they exceed the container width.

  **Embedding**

  Added information about keyboard shortcuts being unsupported for embedded Omni instances to the [Embed limitations](https://docs.omni.co/embed/limitations#keyboard-shortcuts).

  **Modeling**

  * Fixed an issue where embed users couldn't query uploaded CSVs when the model had `default_topic_required_access_grants` set. CSV upload topics now explicitly set empty required access grants at creation time, overriding the model default.
  * Added documentation for the [`default_timeframes`](https://docs.omni.co/modeling/models/default-timeframes) model parameter, which allows you to specify default timeframes for dimensions in your semantic model.
  * Added documentation for the [**Allow exploration** setting](https://docs.omni.co/modeling/develop/shared-extensions/settings) in shared extension models, which controls whether users can create analyses using that extension.
  * Corrected the values of the [`duration` parameter](https://docs.omni.co/modeling/dimensions/parameters/duration) to be singular.
  * Added documentation for the field-level [`extends` parameter](https://docs.omni.co/modeling/dimensions/parameters/extends), which allows you to inherit properties from dimensions in other views.
  * Updated the documentation for the [`sample_queries`](https://docs.omni.co/model/sample-queries) parameter to include the `desc` field in `sort` entries.
  * Clarified the behavior of `many-to-many` relationships in the [`reversible` parameter reference](https://docs.omni.co/modeling/relationships/parameters/reversible).
</Update>

<Update label="April 5, 2026" rss={{title: "April 5, 2026", description: "Slack Agent in beta, model default overrides, topic visualization, reusable custom formats for modeling"}}>
  **Omni Slack Agent now in beta**

  Get AI-powered answers from your semantic model without ever leaving Slack. See [the docs](https://docs.omni.co/integrations/omni-slack-agent) for more information, or reach out to Omni support if you're interested in participating in the beta.

  **Override model defaults in the Omni Agent**

  The new [model tier selector](https://docs.omni.co/ai/chat#selecting-an-ai-model-tier) lets you choose between **Smarter**, **Standard**, and **Faster** AI model options, overriding the default setting from your AI settings.

  **Visualize your topics**

  The new [**Diagram tab** in the workbook topic editor](https://docs.omni.co/modeling/topics/setup#visual-review-diagram) displays a visual representation of a topic's structure — including its views, joins, dimensions, and measures — allowing you to build and maintain topics with ease.

  **Define reusable custom formats**

  The new model-level [`custom_formats`](https://docs.omni.co/modeling/models/custom-formats) parameter allows you to define custom formats once and reference them in fields throughout the model. See the [Formatting values guide](https://docs.omni.co/modeling/models/format-values) for more information, including use cases and examples.

  **Administration**

  Added an organization-level toggle in **Settings > Organization > Preferences** that allows org admins to [opt out of easter eggs](https://docs.omni.co/administration/settings#preferences).

  **AI**

  * Renamed **AI Assistant** to **Omni Agent** throughout the application.

  **API**

  * Added a new API endpoint [`GET /api/v1/models/{modelId}/dbt-exposures`](https://docs.omni.co/api/dbt/get-dbt-exposures) that returns dbt exposures for a model by analyzing which dbt models are referenced by dashboards.
  * Added an optional `queryAllViews` parameter to the [`POST /api/v1/ai/generate-query` endpoint](https://docs.omni.co/api/ai/generate-a-query) that respects your model's [`query_all_views_and_fields` AI setting](https://docs.omni.co/modeling/models/ai-settings#param-query-all-views-and-fields).
  * Added an optional `branchId` field to the [`POST /api/v1/query/run` endpoint](https://docs.omni.co/api/queries/run-query) so you can target a specific model branch when running queries via the API.

  **Dashboards**

  * Moved the Advanced layout page **Key** field from the **Properties** panel into an **Advanced settings** dialog, accessible via the 3-dot menu.
  * Added a new [**Timeframe** filter control](https://docs.omni.co/visualize-present/dashboards/advanced-layout#timeframe-filter-control) for date fields on advanced layout dashboards.

  **Embed**

  Added a new [`appearance:mode` inbound embed event](https://docs.omni.co/embed/events/appearance-mode) that allows parent applications to switch the embedded Omni session's color scheme between dark, light, or system mode using `postMessage`.

  **Modeling**

  Added a `markdown` parameter to [dimensions](https://docs.omni.co/modeling/dimensions/parameters/markdown) and [measures](https://docs.omni.co/modeling/measures/parameters/markdown) that lets you define mustache templates to render field values as markdown in table columns.

  **Workbooks**

  Added [keyboard shortcut](https://docs.omni.co/getting-started/keyboard-shortcuts#workbook-shortcuts) support to toggle between chart and results views in the workbook query options panel. You can now use **Option+Click** on Mac or **Alt+Click** on Windows on the chart/results toggle button, or use **Shift+Alt+1** to toggle results and chart with options open.

  **Documentation**

  * Added documentation for the [Omni CLI](https://docs.omni.co/developers/cli) and [Agent Skills](https://docs.omni.co/developers/agent-skills) to the **Developers** section of the docs.
  * Added documentation about creating [statistical forecasts and projections](https://docs.omni.co/ai/forecasting) with AI.
  * Updated the [Omni Agent documentation](https://docs.omni.co/ai/chat#sharing-chat-sessions) to include information about sharing chat sessions.
  * Added a [troubleshooting section](https://docs.omni.co/ai/mcp/claude-code#troubleshooting) to the Claude Code MCP guide.
  * Added an [Authentication settings reference](https://docs.omni.co/administration/settings/authentication) to the Admin section of the docs.
  * Added documentation about managing [user-specific account settings](https://docs.omni.co/administration/users/your-account) to the Admin section of the docs.
  * Added a [new best practices guide](https://docs.omni.co/ai/eval-design-guide) about building effective eval sets to measure and improve Omni AI query generation accuracy.
  * Added **Common questions** sections to the dbt [category page](https://docs.omni.co/integrations/dbt/index#common-questions) and [setup guide](https://docs.omni.co/integrations/dbt/setup#common-questions).
</Update>

<Update label="March 29, 2026" rss={{title: "March 29, 2026", description: "Emoji support, dbt APIs, new embed events, and more"}}>
  **Administration**

  * [Custom emoji rendering](https://docs.omni.co/administration/settings/emoji) is now fully available across the app.
  * Added organization-level control over [emoji mode](https://docs.omni.co/administration/settings/emoji) for query tab names.
  * Added [custom branding asset support](https://docs.omni.co/administration/themes/application#branding-assets) to application themes.
  * Improved the [label editing experience](https://docs.omni.co/content/organize#label-options) by consolidating the **Verified** and **Home page** options into the **Edit label** dialog as checkboxes.
  * Added two new customizable colors to the [Application theme settings](https://docs.omni.co/administration/themes/application#styles) — **Action border** and **Action text** — that control the appearance of outline and transparent buttons.

  **AI**

  * Added support for navigating prompt history in the Blobby chat input using the **Up** and **Down** arrow keys.
  * Added an **Optimize topic for AI** skill to the Model IDE's AI assistant that automatically appears as a clickable option.
  * Added support for pie, donut, and heatmap visualizations to the AI Assistant.

  **API**

  * Added a new [`GET /api/v1/connections/{connectionId}/dbt/environments` endpoint](https://docs.omni.co/api/dbt/list-dbt-environments) that allows you to list all dbt environments for a connection.
  * Added a [`DELETE /api/v1/connections/{connectionId}/dbt/environments/{environmentId}` endpoint](https://docs.omni.co/api/dbt/delete-dbt-environment), allowing you to programmatically delete dbt environments.

  **Content**

  * When you hover over a label, you can now see who applied it and when. This [metadata](https://docs.omni.co/content/organize#viewing-label-information) appears in label tooltips across detail pages, content listings, search results, and the curation popover.
  * When you save an analysis without a name, Omni now automatically suggests a meaningful title and description.

  **Dashboards**

  * Added support for multi-page PDF pagination on advanced layout dashboards.
  * Updated advanced layouts so that [page navigation](https://docs.omni.co/visualize-present/dashboards/advanced-layout#page-navigation-for-viewers) is now automatically added to the first and second pages when a new page is added.

  **Embed**

  * Added two new embed events: [`sidebar:open`](https://docs.omni.co/embed/events/sidebar-open) fires when users click the mobile menu button, and [`navigation:home`](https://docs.omni.co/embed/events/navigation-home) fires when users click the logo or home header link in embedded Omni instances.
  * Added support for opting out of embed link rewriting by including [`NO-EMBED-LINK-REWRITE`](https://docs.omni.co/embed/customization/link-content#opt-out-of-link-rewriting) in dashboard URLs.

  **Integrations**

  * Added support for [Redshift Serverless as a PrivateLink option](https://docs.omni.co/connect-data/redshift-privatelink).

  **UI**

  * Moved the **My activity** navigation link into the **Personal** section, positioned after **My documents**. Previously, this link was located in the bottom navigation group alongside **All** and **Trash**.
  * Added [chat sessions](https://docs.omni.co/content/activity#chat-sessions) to the **My Activity** page. You can now see your chat session history interleaved with your exploration history, making it easy to navigate back to sessions as needed.
  * Added a new "Omni 1984" theme that recreates the classic 1-bit Macintosh aesthetic from the early 1980s.

  **Workbooks**

  * Renamed **Query Fields** to **Tab-only fields** in the model browser, and updated context menus for tab-only views and fields.
</Update>

<Update label="March 22, 2026" rss={{title: "March 22, 2026", description: "API, Dashboards, Modeling, and Workbooks updates"}}>
  **Administration**

  Added Workload Identity support for GCS audit log delivery, allowing you to send audit logs to your GCS bucket without sharing service account keys.

  **AI**

  Improved the `searchOmniDocs` tool in Model Context Protocol by switching to Omni's AI-powered documentation search. The tool now accepts a question instead of a URL, and uses the same intelligent page selection, token limiting, and answer synthesis as the in-app documentation search feature.

  **API**

  Added a new API endpoint to [update dbt environments](https://docs.omni.co/api/dbt/update-dbt-environment).

  **Content**

  * Added support for document descriptions across the API and UI. You can now add an optional description (up to 1024 characters) when creating documents, update descriptions via the **Rename** dialog or API endpoints.
  * Added color and description fields to labels. These changes are fully supported in the API for creating, updating, and retrieving labels.

  **Dashboards**

  Added a multi-select dropdown control for string filters in the advanced layout.

  **Embedding**

  Added a new [`ai:chat-start` embed event](https://docs.omni.co/embed/events/ai-chat-start) that fires when an AI chat session begins, either when the chat route loads or when the workbook AI drawer opens.

  **Integrations**

  Added per-user OAuth for Databricks query execution with optional personal access token (PAT) or OAuth admin support for schema refresh. You now only need to register a single OAuth application in Databricks instead of two — per-user authentication handles queries, while schema refresh uses either a PAT or an OAuth admin's token for credentials.

  **Modeling**

  * Added an optional **Group remaining values** toggle to dynamic Top N grouping in workbooks. When disabled, only the top N values are displayed instead of aggregating remaining values into an **Other** row. Use the [`dynamic_top_n.else`](https://docs.omni.co/modeling/dimensions/parameters/dynamic-top-n#param-else) parameter to achieve this result in model YAML.
  * Added pattern matching support to [`ai_chat_topics`](https://docs.omni.co/modeling/models/ai-chat-topics) so you can now use the same inclusion and exclusion syntax as the topic-level `fields` parameter.
  * Added a [`faceting` property to dimensions](https://docs.omni.co/modeling/dimensions/parameters/faceting) that lets you control how suggestion queries are filtered.

  **Workbooks**

  Fixed the **Import Tab** dialog to accept full widget URLs in addition to query IDs. Previously, you could only paste raw query IDs; now you can paste complete URLs and the dialog will extract the query ID automatically.
</Update>

<Update label="March 15, 2026" rss={{title: "March 15, 2026", description: "API, Dashboards, Modeling, and Workbooks updates"}}>
  **API**

  * Added an API for [creating dbt environments on connections](https://docs.omni.co/api/dbt/create-dbt-environment), allowing you to programmatically manage dbt environments.
  * Added an API that allows you to programmatically [set the active dbt environment on a branch](https://docs.omni.co/api/dbt/set-dbt-environment-on-model-branch), allowing you to automate dbt environment configuration in CI/CD pipelines before triggering schema refreshes.

  **Dashboards**

  * Added [undo and redo controls](https://docs.omni.co/visualize-present/dashboards/advanced-layout#undoing-and-redoing-layout-changes) for advanced layout dashboards.
  * Removed the redundant AI chat toggle from the **Edit dashboard** toolbar. You can now manage AI chat settings exclusively through the **Document Settings** dialog in published dashboards.

  **Modeling**

  * Added support for dynamic user attribute references in three model properties:

    * [`fiscal_month_offset`](https://docs.omni.co/modeling/models/fiscal-month-offset)
    * [`week_start_day`](https://docs.omni.co/modeling/models/week-start-day)
    * [`default_numeric_locale`](https://docs.omni.co/modeling/models/default-numeric-locale)

    Using Mustache references (`{{'{{omni_attributes.attribute_reference}}'}}`), you can reference user attributes and the values will be resolved at query time using the user's metadata.
  * Added a [`tags`](https://docs.omni.co/modeling/topics/parameters/tags) topic parameter, allowing you to categorize and organize topics similar to how you can tag fields and views.
  * Added a **Go to connection** option to the **Model** menu in the model IDE.

  **Workbooks**

  * Added support for applying data formatting to Excel downloads.
</Update>

<Update label="March 8, 2026" rss={{title: "March 8, 2026", description: "AI, Administration, API, Dashboards, and Embedding updates"}}>
  **AI**

  * Added support for [custom model identifiers](https://docs.omni.co/ai/settings/model-providers/openai) in OpenAI-compatible endpoints, allowing you to bring your own models (BYOM) for providers like Ollama and Azure OpenAI.
  * You can now ask the [AI chat assistant to generate map visualizations](https://docs.omni.co/ai/visualizations#supported-visualization-types) for geographic questions. When you ask questions like *"show me orders by state on a map,"* the AI will create region maps (choropleths) or point maps as appropriate for your data.
  * Renamed [AI workflows](https://docs.omni.co/ai/skills) to "skills" throughout Omni. Existing model files using `workflows:` will continue to work without changes.

  **Administration**

  * Added a confirmation dialog when disabling [personal access tokens](https://docs.omni.co/api/authentication#personal-access-tokens-pat).

  **API**

  * Added `onlySharedWithMe` as a new filter option to the [List folders API](https://docs.omni.co/api/folders/list-folders) to retrieve only folders that have been explicitly shared with you via folder permits, excluding folders you own.
  * Added `onlySharedWithMe` as a new filter option to the [List documents API](https://docs.omni.co/api/documents/list-documents) to retrieve only documents that have been explicitly shared with you via documents permits, excluding documents you own.

  **Dashboards**

  * [Cross-filtering](https://docs.omni.co/visualize-present/dashboards/filters#cross-filtering) is now generally available. You can use cross-filtering to filter data across multiple dashboard tiles by clicking on values in your visualizations.
  * Added a [button toggle control type](https://docs.omni.co/visualize-present/dashboards/advanced-layout#displaying-single-select-options-as-buttons) for single selection string filters, allowing you to display filter options as clickable buttons instead of a dropdown. **Available for **[**Advanced Dashboard layouts**](https://docs.omni.co/visualize-present/dashboards/advanced-layout)** only.**

  **Embedding**

  * Added support for generic embed integrations like FullStory and LogRocket. You can now configure integration credentials in **Settings > Embed > Integrations**.
  * Added support for creating multiple [embed secrets](https://docs.omni.co/embed/admin/secrets) in an Omni instance.
</Update>

<Update label="March 1, 2026" rss={{title: "March 1, 2026", description: "AI, Administration, and Integrations updates"}}>
  **AI**

  * Added a new `opus` model tier so you can set `model: opus` in your model's [`ai_settings`](https://docs.omni.co/modeling/models/ai-settings) to use Claude Opus 4.6.
  * Updated the [`ai_settings.query_all_views_and_fields`](https://docs.omni.co/modeling/models/ai-settings#param-query-all-views-and-fields) parameter to accept `enabled | disabled | default` values instead of `true | false`. This allows you to control whether the AI queries all views and fields when generating SQL.
  * Updated the [`ai_settings` parameter](https://docs.omni.co/modeling/models/ai-settings) to accept a per-category YAML configuration system. You can now define AI model and thinking preferences for different task categories directly in your semantic model YAML.

  **Administration**

  * Added a **Last login** column to [Settings > Users](https://docs.omni.co/administration/users), so you can see when each user last logged in.
  * Added a new **combined view** to the [**My activity**](https://docs.omni.co/content/activity) page that deduplicates activity by workbook or model and groups entries into time-period sections.

  **Integrations**

  * Added support for creating PrivateLink connections to [Redshift provisioned clusters](https://docs.omni.co/connect-data/redshift-privatelink).
  * Added support for [Snowflake External OAuth](https://docs.omni.co/connect-data/oauth/snowflake#external-oauth), allowing you to authenticate via external identity providers like Okta, Azure AD, or Ping Identity.
  * Added the ability to assign a dbt environment to a specific user when creating or editing environments in Omni.
</Update>

<Update label="February 22, 2026" rss={{title: "February 22, 2026", description: "AI, API, Dashboards, Integrations, Modeling, Visualizations, and Workbooks updates"}}>
  **AI**

  * Added support for uploading Markdown (`.md`) files to AI chat. Previously, Markdown files had to be renamed as `.txt` files to be valid uploads.

  **API**

  * Fixed the merge branch API endpoint to restrict the [`force_override_git_settings` parameter](https://docs.omni.co/api/model-branches/merge-a-branch#body-force-override-git-settings) to Connection Admin and above roles; other users will receive a `403 Forbidden` response. Previously, Modelers could use this parameter via API or PAT to bypass PR-required and git-follower protections, even though they cannot modify git settings in the UI.
  * Added a `force` query parameter to the [Delete folder](https://docs.omni.co/api/folders/delete-folder) endpoint that enables you to recursively delete folders containing documents and sub-folders.
  * Added a `POST /api/v1/uploads` endpoint that allows you to upload a CSV file to create a new data source.

  **Dashboards**

  * Markdown tiles and visualizations now include a `prefers-dark` class name when you're viewing in dark mode, allowing you to write custom CSS that targets light and dark mode separately.

  **Integrations**

  * Added support for Databricks Lakebase as a new database connection type.

  **Modeling**

  * Added search and filter functionality for branches. You can now search branches by name in the **Branches** table, and when you have 10 or more branches in the IDE, a **Search branches...** option appears in the branch selector dropdown to help you quickly find the branch you need.

  **Visualizations**

  * Added support for Markdown columns in table visualizations, which allow you to format and style cell content using Markdown syntax. **Note**: This feature is still in development and is not yet available in-app.
  * Added percentage tooltips to [Sankey charts](https://docs.omni.co/visualize-present/visualizations/types/sankey). You can now enable the **Show percentages** toggle in the Sankey editor's tooltip settings to display percentage breakdowns in your chart tooltips. Additionally, the node tooltip label has been renamed from **Total** to **Value** for clarity.

  **Workbooks**

  * Added a new **Multi-Field Filter** control type that allows you to create `OR` filters across multiple fields in workbooks. You can now build queries like `Country is USA OR Gender is Female` by clicking the **+ Field** button in filter popovers. **Note**: This feature is still in development.
</Update>

<Update label="February 15, 2026" rss={{title: "February 15, 2026", description: "AI, API, Dashboards, Integrations, Modeling, Visualizations, and Workbooks updates"}}>
  **AI**

  * Added an organization-wide [**MCP server** setting](https://docs.omni.co/ai/settings/features) to **Settings > AI settings** that controls whether users can authorize external AI tools to connect via OAuth. When disabled, new OAuth approval requests are rejected and existing MCP grants are blocked from making tool calls. This setting defaults to enabled.
  * Added the ability for Blobby to search the official Omni docs. This new tool is available in the Query Helper, [AI Assistant](https://docs.omni.co/ai/chat), and Dashboard Assistant.

  **API**

  * Added a new [`GET /api/v1/uploads` endpoint](https://docs.omni.co/api/uploads/list-uploads) that allows you to list uploaded CSVs (data input tables).
  * Added `url` fields to document, query, and folder API responses, giving you direct links to any piece of content in the Omni UI.

  **Dashboards**

  * Added the ability to select built-in color palettes (such as "Omni Blues", "Omni Threes", and "Omni") as default palettes in the [dashboard theme editor](https://docs.omni.co/visualize-present/dashboards/theming), in addition to custom palettes.

  **Integrations**

  * Added [Databricks PrivateLink](https://docs.omni.co/connect-data/databricks-privatelink) support for both Azure and AWS infrastructure. You can now create private connections to Databricks workspaces using native Private Endpoints on Azure and VPC Interface Endpoints on AWS.

  **Modeling**

  * Added Australian Dollar (AUD) currency formatting options to the dimension and measure [`format`](https://docs.omni.co/modeling/dimensions/parameters/format) parameter.

  **Visualizations**

  * Added a [**Funnel** visualization type](https://docs.omni.co/visualize-present/visualizations/types/funnel), which you can now use to visualize data flowing through sequential steps.

  **Workbooks**

  * Added YAML views and copy buttons to the [workbook inspector](https://docs.omni.co/analyze-explore/workbook-inspector), making it easy to view and copy query and visualization configuration in the sample query YAML format.
</Update>

<Update label="February 8, 2026" rss={{title: "February 8, 2026", description: "AI, Administration, Dashboards, and Integrations updates"}}>
  **AI**

  * Added Claude Opus 4.5 and 4.6 to the [list of available models](https://docs.omni.co/ai/settings/model-providers) when configuring a bring-your-own LLM with Anthropic as your provider.
  * Added the ability to paste images directly into the AI chat input from clipboard across all surfaces (chat page, dashboard, and workbook). Note that this feature currently works in Chrome and Safari, but not in Firefox.

  **Administration**

  * Fixed an issue on the **Users** page where a crash would occur for organizations with large numbers of users.

  **Dashboards**

  * Added a **Cross-filtering** setting in dashboard settings that allows you to enable or disable [cross-filtering](https://docs.omni.co/visualize-present/dashboards/filters#cross-filtering) on a per-dashboard basis.
  * Added new [dashboard metadata variables](https://docs.omni.co/visualize-present/mustache-reference#dashboard-metadata) to Markdown tiles:

    * `{{'{{metadata.createdAt}}'}}`
    * `{{'{{metadata.createdBy}}'}}`
    * `{{'{{metadata.lastUpdatedAt}}'}}`

    You can now reference these variables in your text tile templates to display when the dashboard was created, who created it, and when it was last updated.

  **Integrations**

  * Added support for enabling and disabling the [dbt Semantic Layer integration](https://docs.omni.co/integrations/dbt/semantic-layer) with the **Enable semantic layer** setting in the dbt settings.
  * Added a [quick connect feature](https://docs.omni.co/connect-data/setup/quick-connect) that lets you paste a connection string URI (for example, `postgresql://user:pass@host:5432/db`) to automatically create a database connection.
</Update>

<Update label="January 25, 2026" rss={{title: "January 25, 2026", description: "AI, API, Modeling, Visualizations, and Workbooks updates"}}>
  **AI**

  * Added Snowflake Cortex as an [AI model provider](https://docs.omni.co/ai/settings/model-providers/snowflake-cortex). You can now use Claude models hosted on Snowflake Cortex for AI features in Omni.
  * Added [OAuth 2.1 support for MCP clients](https://docs.omni.co/ai/mcp/authentication) like Claude and ChatGPT. Users can now authenticate AI assistants with Omni through a standard OAuth flow instead of manually copying API keys.
  * Added [Sankey chart generation to AI visualization capabilities](https://docs.omni.co/ai/visualizations).
  * Auto Learn is now in beta. When enabled, administrators can review and approve AI-generated modeling suggestions directly from chat conversations with the [AI Assistant](https://docs.omni.co/ai/chat) and [Dashboard Assistant](https://docs.omni.co/ai/dashboard-assistant).

  **API**

  * Added credential update support to the [`PATCH /api/v1/connections/{id}` endpoint](https://docs.omni.co/api/connections/update-connection). You can now programmatically rotate passwords, BigQuery service account keys, and Snowflake RSA private keys.
  * Promoted YAML model API routes from `/api/unstable/` to `/api/v1/`. The following endpoints are now stable:
    * `GET /api/v1/models/{modelId}/yaml`
    * `POST /api/v1/models/{modelId}/yaml`
    * `DELETE /api/v1/models/{modelId}/yaml`
  * Added new parameters to the Schedules API. Organization API keys can now create schedules on behalf of another user using the `userId` query parameter on `POST /api/v1/schedules`. The `GET /api/v1/schedules` endpoint now returns an `ownerId` field (membership ID) for each schedule.
  * Updated the List Folders API to return only folders that users have permission to access when using Personal Access Tokens (PAT). PAT users now see the same folder visibility through the API as they do in the UI. Organization-scoped API keys retain full access to all folders.
  * Added a `408 Timeout` response to the [Run Query API](https://docs.omni.co/api/queries/run-query).

  **Modeling**

  * Added [isolated branches support for model extensions](https://docs.omni.co/modeling/develop/shared-extensions/extension-branches). Extension models can now have their own independent branches that are separate from the parent shared model.

  **Visualizations**

  * Improved Sankey chart error handling. The technical error message for [cyclic data](https://docs.omni.co/visualize-present/visualizations/types/sankey#troubleshooting) is now translated to a user-friendly message: `"Sankey does not support cycles or paths that loop back to previous nodes."`

  **Workbooks**

  * Renamed some workbook menu items to improve clarity and avoid confusion with the model promotion workflow:
    * [**Promote to workbook**](https://docs.omni.co/analyze-explore/calculations#promote-table-calculations) for table calculations is now **Add to workbook**
    * **Promote as workbook defaults** for colors is now **Save to workbook**
</Update>

<Update label="January 18, 2026" rss={{title: "January 18, 2026", description: "API, Dashboards, Embedding, Integrations, and Visualizations updates"}}>
  **API**

  * The [Query APIs](https://docs.omni.co/api/queries/run-query) is now enabled by default. This includes endpoints for running semantic queries (`POST /api/unstable/query/run`) and waiting for query results (`GET /api/unstable/query/wait`).
  * Added an `identifier` query parameter to the [GET /api/v1/schedules](https://docs.omni.co/api/schedules/list-schedules) endpoint for filtering schedules by dashboard identifier.
  * Added missing POST endpoints for connections, models, and schedules to the public OpenAPI spec. Also added SCIM embed user endpoints for programmatic management of embed users. Access the spec at `https://<your-omni-instance>/api-explorer`

  **Dashboards**

  * Added an **Inspect** option to the dashboard chart menu that opens the workbook with the inspector panel pre-opened, providing quick access to SQL debugging info including query SQL, cache status, and execution details.

  **Embedding**

  * Added support for [Safari 26.2's CHIPS (Cookies Having Independent Partitioned State) partitioned cookies](https://docs.omni.co/embed/limitations#safari) in embedded dashboards. Safari 26.2+ users now skip the Storage Access API handshake flow, providing a smoother embed experience. Vanity domain embeds continue to use the existing Storage Access API flow.
  * Added `dashboardId` to the [`status` embed event](https://docs.omni.co/embed/events/status) payload, allowing embedded dashboard consumers to identify which dashboard emitted the event.

  **Integrations**

  * Added the ability to choose a [starting point for new Omni branches](https://docs.omni.co/content/develop/branch-mode#creating-branches): from the shared model, another branch, or a specific model version.
  * Multiple models can now share a single [git repository](https://docs.omni.co/integrations/git) with one webhook handling all associated models. When a pull request event occurs, all linked models are processed sequentially.

  **Visualizations**

  * Released the [Sankey diagram visualization](https://docs.omni.co/visualize-present/visualizations/types/sankey) for showing flow and distribution between categories.
</Update>

<Update label="January 4, 2026" rss={{title: "January 4, 2026", description: "AI, Administration, API, Integrations, Modeling, Visualizations, and Workbooks updates"}}>
  **AI**

  * Added an AI-powered cron expression generator to help create custom schedules for dashboard refreshes and schema refreshes.

  **Administration**

  * Users with **Editor** permissions can now delete empty folders they created. Previously, only users with Manager permissions could delete folders.

  **API**

  * Added a `lastLogin` timestamp to the SCIM user API endpoints (`GET /api/scim/v2/Users` and `GET /api/scim/v2/Users/:id`). This enables programmatic identification of inactive users for cleanup.
  * Added API endpoints for managing dashboard filters and controls:
    * [`GET /api/v1/dashboards/:identifier/filters`](https://docs.omni.co/api/dashboard-filters/get-dashboard-filters-and-controls) - Retrieve filter and control configuration
    * [`PATCH /api/v1/dashboards/:identifier/filters`](https://docs.omni.co/api/dashboard-filters/update-dashboard-filterscontrols) - Update filter values, control settings, and display order
  * Added a `GET /api/v1/documents/:identifier` endpoint that returns document configuration in a format compatible with `PUT` for round-trip editing.
  * Added `PUT /api/v1/documents/:identifier` endpoint to programmatically update dashboard documents.
  * Extended `PUT /api/v1/documents/:identifier` endpoint with `filterConfig` and `filterOrder` support for setting dashboard filter configuration via API.
  * Extended the `PUT /api/v1/documents/:identifier` endpoint with query presentations support.
  * Extended the [Run query API](https://docs.omni.co/api/queries/run-query) to allow unlimited pivoted query results when the result format is set to CSV or XLSX.
  * Added `POST /api/v1/documents/:identifier/duplicate` endpoint to programmatically duplicate published documents.
  * Added a `PATCH /api/v1/documents/{identifier}/labels` endpoint for bulk adding and removing labels from a document in a single atomic operation.
  * Added support for the `**` (recursive wildcard) pattern in the List folders API endpoint. Use `GET /api/unstable/folders?path=folder/**` to retrieve all nested child folders under a given path.

  **Integrations**

  * Added a **Problems** page for dbt integrations that displays validation issues and errors in your dbt models.

  **Modeling**

  * Added a new "merged" model editing mode for branch models. This allows users to edit branch models merged with the shared model, enabling the ability to unignore items from the shared model while working in a branch.

  **Visualizations**

  * Added a **Sum** sorting option for stacked charts that sorts segments by their total value across all stacks.

  **Workbooks**

  * Added **Count True** and **Count False** quick aggregation options for boolean fields. These options count rows where the boolean field is true or false, respectively.
  * Added the ability to use links defined in the model file when using the **Display as link** option in tables. Note: Changing a link label in the model will break existing references.
</Update>
