In this release
Metabase 55
Data visualizer for dashboard cards, database connection routing, development instances, and more
Metabase 55 is packed with powerful new ways to visualize and compare data, get around faster, embed smarter, manage data and access more securely, and more.
- If you’re hosted on Metabase Cloud, we’ll be rolling out these new features automatically in the next few weeks. If you’d like to get it sooner, just let us know. Email help@metabase.com and we’ll upgrade you.
- If you’re self-hosting Metabase, you (or your admin) can follow the docs on how to upgrade.
Feel like you just finished an upgrade? Try Metabase Cloud for free to get automatic upgrades and excellent technical support.
Faster, easier way to visualize data (even across sources)
The new visualizer offers a quicker way to get different cuts of the same data without writing a new query - or even leaving the dashboard editor.
This new visualizer for dashboard cards is just the beginning. For now it works with some chart types, but we’re working on expanding its capabilities and adding more chart types, so stay tuned.
Native support for one-database-per-tenant setups
No more cloning dashboards and assets for each tenant. With database routing, admins can build dashboards and questions in a primary database, then route the queries to the right database based on user attributes. Database routing is ideal for embedded analytics with strict data separation needs, where each customers’ data is siloed at the database level.
Learn more about database routing in our docs
Development instances with friendlier pricing (both self-hosted and on Metabase Cloud)
On Pro and Enterprise plans, you can now purchase a development instance for either self-hosted or Metabase Cloud deployments. Dev instances are billed as a flat fee, so you don’t have to pay per test user. Developer instances are watermarked and can’t be used in production.
You (or your Metabase admin) can create new Development instances in your Store settings by clicking ‘+ New Instance’.
Faster, more relevant search results
We shipped faster and more relevant search results in v52 as an opt-in only feature. After receiving a bunch of positive feedback, we’re rolling it out as the default search algorithm for all Metabases. To recap - it’s much faster - think around 3x. Secondly, results are more relevant with full-text search that includes partial matches. We’ve also refined the rankings to give more weight to things like content that’s more popular, been viewed more recently, and more.
Keyboard shortcuts everywhere
Get around Metabase faster with global shortcuts. Where the command palette (cmd + k) makes it easier to navigate and find assets, these shortcuts make it easier to start doing stuff. Create a question just by hitting c>q. Start a dashboard with c>d . Press ? to view them all. It’s snappier, smarter navigation, and only getting better.
Row-level access control now supported in MongoDB
Data sandboxing, Metabase’s form of row-level security, lets you restrict which rows people can see based on their group and user attributes.
With this update, admins can now safely filter data for different user groups using column-based rules or group attributes for MongoDB, just like you can for Postgres or MySQL (e.g., “only show customers where company_id = user.company_id
”).
Note: Advanced sandboxing using custom views isn’t supported on MongoDB yet, but we may consider it based on demand.
Learn more about data sandboxes in our docs
It’s true: boolean filter widgets for dashboards are here
This upgrades a workaround which previously required hooking up boolean fields to text filters with T/F string values. Dedicated boolean filters now behave and display the way they should, and support custom columns and native boolean fields. Are we ashamed of that headline? False.
New custom expressions for type casting
You can now work with data types more flexibly using new functions in custom expressions - no SQL required.
- Cast text to floats - turn text-based decimal values, like
123.45
into numbers with the newfloat()
function. This lets you do math, aggregations, and analysis on string-stored data (e.g., survey ratings). - Cast floats or text to integers -
integer()
rounds decimals likeround()
, but more importantly, it converts numeric text integers (e.g., turn“123”
or123.45
into123
) which was a common request for filters and aggregations. - More date casting - new
datetime()
anddate
functions let you convert full ISO strings or truncate datetime values. - Expanded type-casting and string functions for more DBs - functions like
text()
,integer()
,date()
, andsplitPart()
now work across more databases — including MySQL, BigQuery, Redshift, ClickHouse, and Snowflake. - Use literal values like text strings, numbers, and booleans directly in custom expressions - great for reusable constants (e.g., a commission rate) or annotating charts.
Support for multiple catalogs in Databricks
Until now, Metabase treated each catalog in Databricks as if it were a separate database, which meant you couldn’t query or join across catalogs.
Now, with multi-catalog support you can connect to multiple Databricks catalogs in a single Metabase connection. You can choose which catalogs you sync and set a default catalog so you don’t have to include catalog names in every SQL query. You can also now join tables across catalogs (just like you would across schemas).
You can toggle on multi-catalog support for Databricks in your connection settings.
More control over the number of ticks on the y-axis
Manage the intervals on the y-axis of your charts for as much - or as little - granularity in your charts as you like.
More accurate pivot table downloads
Your pivot downloads now respect the correct aggregations, with totals matching what you see in Metabase. This update resolves some formatting and correctness issues when exporting results as a native Excel PivotTable. Starting now, Metabase will export pivoted data in a more reliable, non-native format. Learn more.
Segments are easier to use and edit
Segments let you save a combination of filters you can apply to any query—kind of like how metrics let you save important aggregations. Segments now show you which table they’re built on, as well as some other improvements to make them easier to work with.
Better logs and tools for troubleshooting sync and scan issues
We’ve made it easier to troubleshoot issues with syncs, scans, and fingerprinting. We’ve improved log formatting, and you can now adjust log levels without restarting your instance, as well as filter and sort logs by status, duration, or start/end time.
Clearer differentiation between data types and semantic types
Metabase now enforces clearer rules around semantic types: you can only apply semantic types that match the field’s underlying data type (e.g., numeric types only on numeric fields).
If you need to convert text-based numbers into actual numeric fields, that’s now handled explicitly via a new coercion strategy in Table Metadata. This makes casting more intentional, and separates formatting/labeling from actual type conversion.
Embedded Analytics
More control over download options for questions and dashboards
In v51 we introduced PDF export and results downloads on static embedding and public links. Admins on Pro or Enterprise plans could disable both, but not one or the other. Now you can get more selective about whether to allow one or the other (Or both. Or none). This update replaces the deprecated hide_downloads
parameter, which we removed in this release.
Download buttons on embedded dashboard cards are now more prominent and adapt to your layout for a smoother experience.
The Embedded Analytics SDK now supports SAML authentication in addition to JWT SSO
You can now handle both SAML or JWT authentication on the frontend. Handling auth on the frontend makes the SDK easier to integrate in your app, gives you more flexibility in how you authenticate people, and allows for better session tracking.
There is a breaking change for those already using JWT. Find more info in our docs.
Breaking changes
- XLSX exports of pivot tables now export data into a plain XLSX file instead of Excel-native PivotTable format
- The data is still exported as pivoted (when the appropriate option is selected during export), but the XLSX file will no longer use the Excel PivotTable interface.
- This change is due to the fact that Excel PivotTable doesn’t natively support all the Metabase aggregation functions, which lead to correctness issues in XLSX exports.
- If you require the use of Excel PivotTable, export unaggregated data instead and pivot it in Excel directly.
- Remove support for deprecated hide_download_button hash parameter in static embedding. Use the downloads parameter instead.
Big thanks to everyone who contributed!
Thanks to all those who submitted bug reports, feature suggestions, translations, and pull requests. Metabase gets better and better thanks to your efforts.
Hope you enjoy the release. If you want to get into the nitty-gritty, check out our release notes in GitHub. To see what other features we have in the works, see our product roadmap.
Cheers, The Metabase team
Share this release
See previous releases
All releasesGet started with Metabase
- Free, no-commitment trial
- Easy for everyone—no SQL required
- Up and running in 5 minutes