Metabase 55 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 55 BETA

⚠️ This is a beta release, we do not recommend you run this in production without testing it in a staging environment first.

Upgrading | 55 BETA

Metabase Open Source | 55 BETA

Metabase Enterprise | 55 BETA

Breaking changes | 55 BETA

  • XLSX exports of pivot tables now export data into a plain XLSX file instead of Excel-native PivotTable format (#56622, #58313)
    • 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 unaggragated data instead and pivot it in Excel directly.
  • Remove support for deprecated hide_download_button hash parameter in static embedding (#58401)

New features | 55 BETA

Databases

Visualizations

Administration

  • Development instances (#56579, #57620, #57553, #57746)
    • Set up dev or staging Metabase Cloud instances for a flat fee. Previously this required creating another subscription.
  • Customizable log levels (#57524, #57205, #57022, #56973, #56772, #57667)
    • Choose logging level in Admin interface
    • Log presets for common troubleshooting cases, like serialization or linked filters
  • New type coercion strategies in Table Metadata
    • Cast String->Integer, String->Float, Float->Integer, Datetime->Date in Table Metadata. Previously, only casting to temporal types was available.
    • See also new custom expression to cast columns in the query builder below.

Querying

  • Add boolean filter types to dashboards and SQL field filters (#57435)

Custom expressions

  • date(), text(), and integer() casting expressions are now supported on all SQL databases and MongoDB (#55774, #57653, #56180,#56177, #55704, #56178).
  • splitPart() expression to split a string is now supported on Postgres, MySQL/MariaDB, BigQuery, Redshift, Clickhouse, and Snowflake (#55935, #55938, #55918, #55914, #55691)
  • date() custom expression can now truncate datetimes to date (in addition to converting a string to a date) (#57448, #57523)
  • integer() custom expression can now round floats (in addition to converting a string to an integer) (#56817)
  • New custom expressions:
    • datetime() to convert a string to datetime (#58048)
    • float() to convert a string to float (#56814, #56982)
    • Both are supported on Postgres, MySQL/MariaDB, BigQuery, Redshift, Clickhouse, and Snowflake.
  • Use constants as standalone custom expressions (not supported on MongoDB) (#56534, #56533, #56334, #56254, #56942)

Embedding

  • Support SAML for Embedded Analytics SDK auth (#56869)
  • Disable PDF and result downloads for individual entities in static and public embedding (#56131,#56211,#56541)
    • The downloads url param now accepts values results and pdf in addition to true and false.

Other

Enhancements | 55 BETA

Reporting

  • Brand Metabase exports (#58096, #57501, #57266, #57088)
    • Users using free OSS version of Metabase will see “Powered by Metabase” logo in pdf exports in subscriptions.
  • Remember the last download format for the user (#50651)
  • Limit available intervals for ‘by the minute’ schedule option (#56068)

Querying

  • Use parentheses for custom expressions with no parameters (#56835)
    • From now on, type Count() instead of Count. Existing queries are not affected.
  • Use results of another question as a source for filter values for numeric dropdown filters (#56825)
  • Use “Enter” to submit a value in dashboard filter widgets (#57388)
  • Rename date picker labels: “Specific dates” to “Fixed date range”, “Relative dates” to “Relative date range” (#56699)
  • Search by remapped field values in search box filters in query builder (#56621)
  • More precise error messages in custom expression editor (#57332, #57199, #57170, #56984,#56962, #55737)

Data modeling

UI

  • Clean up “+ New” menu and add new “Add entity” buttons (#57649, #57647, #57641, #57605, #57616, #57555, #57496)
    • Remove Collection, Model, and Metric from “+ New” menu.
    • Collections, models, and metrics can be created from the corresponding “Browse..” pages
    • Collections can also be created from the navigation sidebar
  • Improved Admin tasks page (#56791, #56664, #56491, #56383)
    • Support sorting, filtering, and pagination of tasks
    • Add Download, Copy and See logs actions to task details
  • Add helper text to empty visualizations to explain how to create a viz (#55706)
  • Add transient “Getting started” section to the main sidebar (#58332)

Other

  • Remove zh from the list of supported translations (use a specific zh-* locale instead) (#57672)
  • Allow “Sync Now” for Google Sheets instead of waiting for next scheduled time (#54940)
Read more…
  • Fix timeline event tooltip date text color for SDK (#58122)
  • Remove footer from SDK-embedded dashboards (#57779)
  • Remove entity_id on databases, tables, fields (#58236)
  • Fix checking location dashboard filter type (#57677)
  • Rename regexextract to regexExtract (#57013)
  • Check for Category axis type instead of semantic type Category (#57128)
  • Replace Category with has_field_values check when computing columns compatible with a parameter (#56825)
  • Fix the filter input placeholder for remapped fields (#56691)
  • Close search results dropdown on Esc in filters in query builder (#56562)
  • Fix “Cannot SELECT a Card without including :card_schema” error when viewing history for an old card (#56394)
  • Ensure we buffer the output stream for CSV downloads (#58238)
  • Update explanation of cron syntax in alert scheduling (#58518)
  • Make “Doing science” sentence case instead of all caps (#58404)
  • Add field-values endpoint (#58403)
  • Clean up settings menu (#58365)
  • Standardize form input font size to md (14px) and improve spacing (#58258)
  • Fix 401 versus 403 for dataset routes (#57871)
  • standardize on ToolbarButton for main view header actions (#57791)
  • Fix Python newline in Embedding code templates (#57350)
  • Add clarity to the subscription filter copy (#57299)
  • Renamed /api/ee/gsheets/folder to /api/ee/gsheets/connection (#57239)
  • Prevent non-admins from calling admin-only gsheets endpoints (#57186)
  • Hide entity ids from sidebar for embedded entities (#57052)
  • Add sorting capabilities to GET /task/ endpoint (#56795)
  • Fix flickering when reordering columns in a table (#56543)
  • Add filtering capabilities to /task/ endpoint and add/task/unique_tasks endpoint (#56451)
  • Only show Goggle Sheets sync status to Admin who started the sync (#55587)

API changes | 55 BETA

See API changelog

Bug fixes | 55 BETA

Administration

Querying

  • Users with “Create Queries” Disabled are Prompted to Ask a New Question on empty Dashboards (#44937)
  • When x-raying a table, the collection tree in the navigation sidebar does not show the newly created collections (#57493)
  • In the search value picker, some values can’t be picked (#56210)
  • Offset(CumulativeSum(...), 1) does not work (#55720)
  • Custom Expression having a date function between 2 aggregation functions returning dates doesn’t work (#55622)
  • Column named Count is mishandled in aggregation expression editor when creating new metric (#55300)
  • MB_DB_QUERY_TIMEOUT_MINUTES ignored if MB_JDBC_DATA_WAREHOUSE_UNRETURNED_CONNECTION_TIMEOUT_SECONDS value is higher (#54739)
  • Public download urls can reach the limit of url length (#51813)
  • Implicitly joinable column groups cannot be distinguished (#46845)
  • Metrics calculated with filters end up in having conflicts among them (#25455)
  • Clicking column name when dropdown menu is open should close menu (#16789)

Visualization

  • Visualization’s row count wraps needlessly when the view port is <~1060px wide (#55518)
  • Pivot tables don’t show the totals for series that have a unique value (#52333)
  • Conditional formatting won’t display on subscriptions when it is applied to multiple columns (#58234)
  • Gauge visualization is nonsensical when using a time unit breakout (#55728)
  • Changing decimal values of a measure directly impacts the y-axis scale values (#35046)
  • “Save as default view” in map visualization does not save card (#20263)

Reporting

  • Formatting issues in the xlsx export (#54498)
  • Min, Max, Average, Distinct values are aggregated as Sum for subtotals and grand total in the xlsx export (#54497)
  • Columns with the “Avatar IMG URL” Semantic type will display the url instead of an image when sent out in Subscriptions (#40189)
  • Columns are sorted in JSON export, when there more than 8 columns (#12247)

Other

  • Metabase should not set the Category semantic type for interger fields (#33888)
  • Font doesn’t get updated in the first try (#45486)
  • In some circumstances the type dropdown is not visible in full on table metadata page (#56428)
  • Field order sidesheet loading state breaks metadata page layout (#56371)
  • List of Mongo tables shrinks when editing permissions (#56823)
  • Inconsistent question toolbar button background colors when hovered (#55520)
  • Switch from card.entity_id to card.id in visualizer entities (#58285)
  • Exclude Current collection from recents when moving items (#57057)
  • type/Category is missing non-semantic type ancestors (#56504)
  • Column sorting does not work well with predefined column orders (#56482)
  • Cannot change field’s FK type mapping in data reference (#55618)
  • Cannot change field’s semantic type in field detail view in data reference (#55617)
  • lang attribute doesn’t respect user locale, uses instance locale instead. (#49538)

Read docs for other versions of Metabase.