Skip to main content

Release Notes

Follow us on X to stay up-to-date with new releases!

๐Ÿ” Search Improvements

We're excited to announce our new Search Improvements For Tagged Objects, which allow you to use tags to find the exact item you need โ€” faster!

โœจKey Improvementsโ€‹

  • Prioritizing endorsed items: Endorsed dashboards and datasets are now featured at the top of your search results so that you can start your analysis with confidence. Learn how to mark an object as endorsed to help your team find reliable, high-quality content.
  • Searching by Tags:
    • Before: You have to search using keywords, then narrow down the results with the tag filter.
    • After: Skip the keywords! You can use the tag filter to get all objects associated with that tag. Learn how to organize your content with tags.

๐Ÿค– Auto-Generated Titles and Messages in Pull Request Workflow

Why this feature?โ€‹

Writing clear, descriptive PR titles and messages takes time and mental energy. Analysts often face writer's block when creating pull requests, leading to rushed or incomplete descriptions. This results in poorly documented changes that make code reviews harder.

How it worksโ€‹

  • Smart Generation: AI analyzes your code changes and automatically creates a clear title and detailed description
  • One-Click Usage: Accept the suggestions instantly or customize them to your needs
  • Context-Aware: Captures important details you might forget to mention

Before vs Afterโ€‹

Before (Manual Process)

  • Manually craft a descriptive title and message.
  • Spend time recalling and documenting all changes.
  • Risk inconsistent or incomplete descriptions.

After (AI-Powered)

  • AI instantly generates a clear title and detailed message.
  • One-click to accept the suggestions or customize them.
  • Ensure every PR has consistent, high-quality documentation.

Key Benefitsโ€‹

  • Faster PRs - No more writer's block when creating pull requests
  • Better Documentation - AI catches details you might forget to mention
  • Consistent Quality - Every PR gets a well-structured title and description
  • Time Savings - Spend less time on admin work, more time on analysis

Getting Startedโ€‹

To use this feature, you need to:

  1. Join the Alpha Program - Sign up for Holistics AI access
  2. Connect to GitHub - Integrate with your GitHub repository
  3. Enable PR Workflow - Activate the PR Workflow for your organization

Once enabled, the AI will automatically generate titles and descriptions for all new pull requests in your workflow.

๐ŸŽฏ Viz-aware AQL: Metrics that automatically adapt to your charts

๐Ÿ”ฅ Why this feature?โ€‹

Ever created the same metric 5 times just because users wanted to view data by month, quarter, AND year? Yeah, we fixed that.

๐Ÿ’ก How it worksโ€‹

  • Context-aware functions: New AQL functions that automatically adapt to visualization settings
  • Dynamic references: Use 'x_axis', 'rows', 'columns' instead of hardcoding dimensions
  • Automatic adaptation: Metrics recalculate correctly when users change chart configurations

Before vs Afterโ€‹

โŒ Before (Static AQL)

// Static period comparison - only works for monthly data
metric revenue_vs_prev_month {
definition: @aql
sum(orders.revenue) -
sum(orders.revenue) | relative_period(orders.created_at | month(), interval(-1))
;;
}

// Separate metric needed for yearly comparison
metric revenue_vs_prev_year {
definition: @aql
sum(orders.revenue) -
sum(orders.revenue) | relative_period(orders.created_at | year(), interval(-1 year))
;;
}

// Running total hardcoded to specific dimension
metric running_total_by_month {
definition: @aql
window_sum(sum(orders.revenue), order: orders.created_at | month())
;;
}

// Percent of total hardcoded to specific dimension
metric pct_of_product_total {
definition: @aql (sum(orders.revenue) | of_all(products.category)) / sum(orders.revenue) ;;
}

// ๐Ÿ˜ฐ Common issues:
// - Need duplicate metrics for each time grain
// - Calculations break when users change visualization settings
// - Running totals don't work when pivoting by different dimensions

โœ… After (Viz-aware AQL)

// One metric that adapts to any time grain
metric revenue_vs_previous_period {
definition: @aql
sum(orders.revenue) | relative_period(orders.created_at, -1)
;;
}

// Running total that follows visualization
metric revenue_running_total {
definition: @aql
window_sum(sum(orders.revenue), order: 'x_axis')
;;
}

// Percentage calculations that adapt to pivot structure
metric pct_of_row_total {
definition: @aql
percent_of_total(sum(orders.revenue), 'row_total')
;;
}

// ๐ŸŽ‰ Benefits:
// - Single metric works for monthly, quarterly, yearly views
// - Automatically adapts when users change chart settings
// - Drill-downs and pivots work seamlessly
Note

Your existing static AQL definitions continue to work as before - no breaking changes! If you want to make your metrics visualization-aware, you can modify them to use the new context-aware functions.

Functions that support viz-aware featuresโ€‹

Percentage Calculations

  • percent_of_total - Calculate percentages with 'row_total', 'column_total', or 'grand_total'

Time-based Functions

  • relative_period - Compare metrics across time periods that adapt to visualization granularity

Window Functions

๐Ÿš€ Better syntax validation for Canvas Dashboard

๐Ÿ”ฅ Why this feature?โ€‹

Some of our customers were struggling with cryptic field reference errors that only showed up when trying to publish dashboards. No clear error messages, no way to navigate to problems, and broken references went undetected when fields were renamed. This was creating a poor developer experience and blocking teams from scaling their analytics.

๐Ÿ’ก How it worksโ€‹

  • Real-time validation: Field reference errors now show up immediately with red underlines as you type
  • Click-to-navigate: Click on errors to jump directly to the problematic code
  • New r() syntax: Use r(users.id) instead of ref('users', 'id')

Before vs Afterโ€‹

โŒ Before (Old Syntax)

// Old syntax - prone to typos, no IDE support
VizBlock {
label: 'Revenue by Category'
viz: PieChart {
dataset: 'ecommerce'
legend: ref('products', 'category') // No validation
series {
field {
ref: ref('orders', 'revenue') // String-based, error-prone
aggregation: 'sum'
}
}
}
}

// ๐Ÿ˜ฐ Common issues:
// - Typo: ref('product', 'category') โ†’ No error until runtime
// - Renamed field: orders.revenue โ†’ orders.total_revenue โ†’ Broken reference
// - No autocomplete or navigation support

โœ… After (New Syntax)

// New syntax - validated, IDE-friendly
VizBlock {
label: 'Revenue by Category'
viz: PieChart {
dataset: 'ecommerce'
legend: r(products.category) // Real-time validation
series {
field {
ref: r(orders.revenue) // Click to navigate to definition
aggregation: 'sum'
}
}
}
}

// ๐ŸŽ‰ Benefits:
// - Typo: r(product.category) โ†’ Immediate red underline
// - Renamed field: Automatic detection of broken references
// - Full IDE support: autocomplete, go-to-definition, find usages
Note

This applies everywhere we use field references - not just dashboards but also Pre-aggregates.

๐Ÿ‘€ Migration to new syntaxโ€‹

We don't support mass conversion yet, but the transition is seamless:

  • New dashboards automatically use the new r(model_name.field_name) syntax
  • Existing dashboards convert to new syntax whenever you edit and save a widget
  • Old syntax still works - no breaking changes.

๐ŸŽจ Layout Assist in Canvas Dashboard

We're excited to announce Layout Assist, a new setting designed to make your dashboard editing experience easier and more intuitive.

Here's what's included:

  • Non-overlap mode can be set to the default. To switch to overlap mode, simply hold for 2 seconds.
  • Trim whitespace to remove extra space around your elements.
  • Shift multiple blocks at once for faster adjustments.
  • Auto-expand the canvas as you add new blocks.

Documentationโ€‹

To be updated.

Timelineโ€‹

This feature is planned for release by the end of August.

โœจ Holistics AI: Deprecate Explore data (basic), more unified experience

Weโ€™ve deprecated Explore Data (basic mode) to unify the experience - now in just a single Explore Data interface.

Alongside this, Explore Data now can Explain Chart - a new capability that helps you easily understand visualizations with clear, concise explanations of trends and patterns. It makes charts easier to interpret, so users can act on insights with more confidence.

๐ŸŒŸ More powerful, easier to use - now all in one place.


๐Ÿ“ฅ Interested in Holistics AI? Join the waitlist and start exploring a new way to work with data.

๐Ÿ“ฆ Content Archiving

Coming Soon

This feature is under development and will be released soon!

We're building Content Archiving, a powerful new feature that allows you to hide outdated analytics content. This keeps your workspace clean while preserving full access to your historical data.

The Problem We're Solvingโ€‹

A growing analytics workspace often becomes cluttered with outdated reports and dashboards, making it difficult to find current, relevant information.

The Solutionโ€‹

Content Archiving provides a clear way to streamline your workspace and ensure data accuracy:

  • Organized and fresh workspace: We hide outdated content from views, searches, and reports, ensuring a clean workspace and that users only see current, relevant data.
  • Preserve history: You'll maintain full access to all archived data for reference.

For details, visit our public documentation: Content Archiving

Timelineโ€‹

This feature is planned for release in Early September. ๐Ÿš€

๐Ÿš€ Pull Request (PR) Workflow in Holistics

Open Beta

PR Workflow is in open beta and currently supports GitHub only

We're introducing a new Pull Request (PR) workflow to help organizations maintain quality and control over their dashboard changes. This feature empowers administrators to implement a robust review process before changes go live.

Why We Built Thisโ€‹

Have you ever discovered unexpected changes in your production dashboards? While you can track down who made the changes, by then the damage is already done.

The root cause? A lack of mandatory review process for dashboard changes. Without proper oversight, unrestricted publishing can compromise your project's reliability and integrity.

Key Featuresโ€‹

The new PR Workflow includes:

  • Company-wide Control: Administrators can enable/disable the PR Workflow for their entire organization
  • Review Management: Administrators and Dashboard Owners can review all changes before they go live
  • Streamlined Process for Analysts:
    • Easy submission of changes for review
    • Automatic publishing after PR approval and merge
    • Instant notifications if any errors occur during publishing

For detailed information, check out our PR Workflow documentation.

๐Ÿ’พย Reusable Component Library

You donโ€™t need a national survey to know that most data teams rebuild the same charts again and again across different dashboards. Weโ€™ve all been there, staring at a new dashboard request and thinking "I know we've built something like this before..."?

Your best dashboard components deserve to live multiple lives, not buried in some report from last quarter, waiting to be rebuilt from scratch.

With Reusable Component Library, every visualization you create can become a building block for future dashboards. Think of it as your team's collective intelligence, transformed into drag-and-drop components. When you need it again, simply grab it from your library, tweak it, and you're done.

For more information, please visit our documentation.

โœ… Content Endorsement

We're excited to announce Content Endorsement has been officially launched, a feature that provides your organization a powerful way to mark trusted and reliable content.

The Problem We've Solvedโ€‹โ€‹

As analytics content grows across your organization, users often struggle to identify which reports and dashboards are reliable and current. Without clear indicators of content quality and status, teams waste time on outdated materials and lack confidence in their data-driven decisions.

The Solutionโ€‹โ€‹

By offering Content Endorsement features, we help data teams mark trusted content. Users can easily identify reliable, recommended content.

Documentationโ€‹

For more details, please refer to our public docs: Content Endorsement