Metabase 56 changelog
Before you upgrade, back up your Metabase application database!
Check out our upgrading instructions.
Get the most out of Metabase. Learn more about advanced features, managed cloud, and first-class support.
Metabase API changelog
See API changelog.
Embedded analytics SDK changelog
See Embedded analytics SDK v56 changelog.
Read the SDK upgrade guide before upgrading your Metabase.
Metabase 56.0-beta
NOTE: This is a beta release. We don’t recommend running this in production without testing it in a staging environment first. If you encounter any issues with this beta, please report them on GitHub.
Upgrading | 56.0-beta
Metabase Open Source | 56.0-beta
- Docker image:
metabase/metabase:v0.56.0-beta
- JAR download
Metabase Enterprise | 56.0-beta
- Docker image:
metabase/metabase-enterprise:v1.56.0-beta
- JAR download
Breaking changes | 56.0-beta
- Joins on custom columns defined on the same stage are no longer supported. Use joins on custom expressions instead.
- Limit number of leaf fields synced on Mongo to 1000 to avoid OOM errors (#59883)
New features | 56.0-beta
Querying
- Time granularity parameters in SQL questions (#60995, #59658, #58180)
- Allow you to select breakouts by day, week, month etc in SQL queries
- Can be connected to time granularity dashboard parameters
- Field filters for aliased tables (#3324)
- When defining a field filter, optionally specify a alias to make field filters work with CTEs and alisased tables
- Select multiple values in basic SQL variables (#4728)
- Reference previous aggregations in custom aggregations (#60307)
- When creating multiple aggregations on the same stage, reference previous aggregations by name like, with custom columns
- Joins in custom expressions (#60036, #60937, #60457)
- Specify a custom expression to join on, or a constant (supporting 1=1 joins)
- Joins on custom columns on the same stage are no longer supported are no
today()
custom expression function (#60472)datetime()
custom expression function (#59206, #60389)- Boolean SQL variable type (#20230)
Dashboards
- Dashboard filters in the body of dashboards ( #59684, #61220, #61085, #60784, #60913, #60566, #60517, #60476, #60425, #60424, #60333, #60331, #60271, #60144, #59083 )
- Add dashboard filters to header cards or individual charts
- These filters can only be applied in the same tab
Administration
- Allow Metabase Cloud customers to specify a “from” email address (#31837,#59528, #61115)
- Cloud customers can now specify their own SMTP server and whitelabel their emails
Embedding
- Content translation for static embedding (#59595, #56879, #61039, #61263, #61366, #59569, #61025, #60955, #59479)
- Upload a dictionary to translate content like question names, columns values etc.
- Metabase built-in UI elements were already possible to translate by specifying a locale.
- Embedding-specific onboarding flow (#61452, #61658, #61067, #60975)
Embedded analytics JS BETA | 56.0-beta
(#60304, #61648, #61617, #61597, #61606, #61593, #61590, #61463, #61416, #61392, #61375, #61014, #61006, #60646, #61330, #61292)
More flexible way to embed Metabase dashboards into your application using <script>
tags, which allows for greater customization compared to iframes.
Learn more and test it out.
Enhancements | 56.0-beta
Administration
- Rename “Sandboxing” to “Row and column security” (#58369)
- This changed the display name of the feature name only. Permissions do not change.
- JWT group assignment (#61221, #61234, #61273, #60946)
- Choose an attribute to use for group assignment
- If there are no group mappings defined, assign users to groups by matching metabase groups by name
- Updated Metadata editing interface
- Updated Admin settings interface
- Unified place to add data - databases, spreadsheets, csv, etc - in the nav sidebar (#60330,#60759, #58785, #58408)
- Smoother upgrade flow and upsells in admin settings (#59464, #61007, #60332, #60044)
- Add a banner for missing token (#59030)
- Do not remove manually created attributes with SSO (#21682)
Dashboards
- Update dashboard parameters look (#60746)
- Show cards skeletons while the dashboard is loading (#60564, #60998)
- Tweaks to chart appearance in dashboard full screen dark mode (#59956)
- When deleting a tab with questions saved to the dashboard, add a confirmation popup (#59435)
Visualization
- Enable table cell multiselect (#59823)
- Fix columns size for ID columns in table viz (#59505)
- Only run subqueries for pivot viz when row/column totals are enabled (#57999)
- Fix additional tooltip columns for charts opened in visualizer (#58519)
Querying
- Column picker improvements (#60442)
- Fuzzy search on column names
- Search for cusom expressions
- Only bind ctrl-f to search on non-Mac machines (#60429)
- Enable constant custom expression for MongoDB (#60107)
- Do not prevent cmd+enter from working when inputs are focused (#58630)
- Handle implicit joins with multiple foreign keys (#58551)
- Drill-through options and xrays for Boolean values (#61202)
Read more…
Other
- Add blue dot attention notice to events icon links (#59605)
- Simplify models/metrics filter (#58382)
- In the main nav, move ‘Browse databases’ above ‘Browse models’ (#58405)
- update copy on ‘Only send this alert once’ option (#60194)
- Change copy of “Duration” to “Reset to defaults after” for log level customization (#61183)
- fix: simplify sandbox permissions management (#61542)
- Allow blank values for
/api/field/{id}/search/{id2}
endpoint (#61497) - Remove release/update channel selection (#61369)
- feat: an api for debugging permissions issues (#59583)
- Respect
is_active
on JWT/SAML logins (#58582) - Update translations 2025-07-22 (#61314)
- Update translations 2025-05-28 (#58558)
UI polish
- Design cleanup for embedding sdk settings page (#61653)
- simplify apply filters toast copy (#60748)
- fix info icon placement (#60747)
- Redesign the database connection string toggle UI (#60520)
- Replace database selection in setup with a new component (#60511)
- Update Dashboard tabs so bottom border is full width (#60470)
- Closes VIZ-1235 update top nav filter appearance (#60197)
- Button focus issue (#60174)
- Setup page preferred language step accessible issue (#60183)
- Refactor Browse Databases (#60157)
- Update InputBlurChange styling to match prior implementation (#59799)
- New apply dashboard filters UI (#59670)
- VIZ-1099 VIZ-1107 Improve dashboard look and feel - M2 Card titles and tab styles (#59659)
- Fix padding in Heading visualization component (#59555)
- Improve dashboard look and feel with low-hanging polish (#59267)
- UI polish on download popover (#58844)
- Table component empty state (#58325)
Metabot
Currently in private beta. Visit this page to sign up.
Bug fixes | 56.0-beta
Administration
- Airgapped Metabase Tokens say “Trial” instead of “Airgapping” expiring days (#59362)
- Users with First Name only don’t show up in Usage Analytics (#58222)
- Admin panel update counter always displays 1, regardless of how many updates you’re behind (#30114)
- Sync: distinguish between metadata coming from the db & user set (#12574)
- Native-query function seems to ignore template tag attributes such as required (#38263)
Database
- ClickHouse Query is not working anymore after upgraded to v0.55.1 (#59166)
- Bigquery STRUCT types don’t allow renaming in Admin -> Table Metadata (#55563)
Organization
- Collections bulk action component visual regressions (#61517)
- Normal users can’t delete sub collections if there’s any restricted collection in the path (#59652)
Dashboards
- Can’t combine single-series chart and breakout charts on dashboards (#61133)
- Slow loading dashcards with no average query duration shows 0 (#60988)
- Dashboard subscription sidebar should show filters in the same order as on the dashboard (#60365)
- Can’t click through to source question if you remove the titles from dashboard cards (#58414)
- Backstack in visualizer gets messed up when starting over from a different question (#57897)
- Dashboard parameter selection uses incorrect style on foreign keys (#53275)
- Linking a dashboard filter to multiple dashboard tiles, and viewing as a grouped user causes entity keys to appear in the dropdown filter in place of entity names. (#47951)
- Set to default button sometimes showing (and not working) when editing filters (#58867)
- Parameter target list disappears when there are no search results (#60987)
- Dashboard target column popover empty state UX (#46767)
Querying
- Column name gets reflected in both columns for models having the same table joined with itself (#32499)
- It should not be possible to reference the aggregation itself in the expression editor (#61010)
- Enabling foreign key value remapping generates invalid SQL (#60587)
- Column number mismatch between initial metadata columns returned by driver (X) and those expected by MLv2 (Y) (#60444)
- Popover to drill through in a question is very slow to open, and freezes tab (#60284)
- Pivot with breakout on nested joined question fails with “column not found” (#59918)
- Implicit joins via a joined data source don’t work when the main data source is not a raw table (#59695)
- Cannot join a native model that has column names different to the mapped database fields (outside of the join condition) (#58829)
- Native model with column alias and mapped DB column in metadata errors on join (#58314)
- Models that contain Joins to the Same Table Multiple Times fail when Model Metadata is Edited (#57359)
- Saving a question with a custom title briefly flashes the default title (#55631)
- The table header drill does not show filter options for type/SerializedJSON column (#55141)
- “ERROR: column source.source does not exist” when doing aggregations with SQL models (#52465)
- Querying all fields on tables with nested (json) fields return only non-nested fields while the UI shows all fields. (#47146)
- Add/remove a single column in a model with tables joined by themselves adds/removes all columns (#46756)
- Models incorrectly display columns from tables joined multiple times (#40635)
- Filter breaks for model text column designated as quantity (#39855)
- Getting filter values from a model with custom columns returns an error + a FE glitch (#35840)
- Using a joined question as a source shows columns twice (#34743)
- Models query fails when a field is remapped with Custom value (#23449)
- Query builder SQL references wrong column in outermost WHERE clause (#56416)
- Incorrect Column Names after Editing Model Definition (When columns share names across joined tables) (#54920)
- Dropdown adds two values instead of one if there is comma in a value (#54205)
- Join alias deduplication in query with multiple nesting levels with joins results in incorrect native form (#51856)
- Joining Saved Questions with the same implicit join in group by field causes an error (#48754)
- Summarization calculations change when adding/removing a distinct count summarization (#48752)
- Question Query Builder fails with missing column when joining two models. (#47988)
- When deselecting columns that are mapped to the same db column in model metadata, multiple columns are removed at once (#44767)
- Question Builder: Custom Expression in Aggregate Cannot Share the Same Name as the Column It’s Aggregating (#44567)
- Filters for Histogram Bin Values Don’t Update with Bin Size Changes After Applying Filters (#42942)
- Extracting dates based on a custom column breakout does not work (#40061)
- Multiple model fields mapped to same db field have weird bugs (#36161)
- Query processor conflating nested explicit join and outer implicit join (#33972)
- Unable to change/delete “Unknown field” when a field in an aggregation has been removed from DB (#33835)
- Queries return incorrect metadata when columns from different sources share the same field ID (#25113)
- Deleting columns doesn’t delete affiliated column title (#12679)
- Invalid query error when trying to zoom in Bar visualization (#42817)
Read more…
Other
- SDK dashboards are broken (#61611)
- Button hover state inconsistencies (#61322)
- After Mantine Upgrade, some components are centering their labels (#60983)
- Menu hover states are broken (#60584)
- Setting field formatting removes coercion strategy (#60483)
- Top padding on dashboards is too small when there are no filters (#60285)
- Update internal slack settings link urls (#60015)
- Removing a cartesian chart dimension from underlying query causes a crash (#59671)
:visibility-type
of jsonb column is overwritten on sync (#59123)- “Other users’ personal collections” should not appear when there’s only one user (#58420)
- We’re getting field values (and hitting way more endpoints) when editing metadata (#57284)
- Updates badge rotates on click (#59987)
lib.aggregation/aggregation-column
can try tofind-matching-column
on an expression, rather than the inner ref (#48567)- metadata incorrectly loses unique-name-fn – lib/metadata needs to propagate options (#59665)
- remove-inactive-field-refs middleware is unacceptably slow (#61281)
- [refs] “Column does not exist” error referencing an
active: false
column (#60498) - MLv2 Metadata calculation returns duplicate columns when using joins (#59664)
- Notebook editor unusable after choosing certain data sources (#46406)
- Upgrading from V0.49 to V0.50, question is error (#45403)
- pMBQL schema should disallow aggregate functions like
count()
andsum()
inside:expressions
list (#41344) </details>
Read docs for other versions of Metabase.