Upgrading
You can download a .jar of the release, or get the latest on Docker. Make sure to back up your Metabase
database before you upgrade! Need help? Check out our upgrading instructions.
Docker image: metabase/metabase-enterprise:v1.48.0-RC2
Download the JAR here: https://downloads.metabase.com/enterprise/v1.48.0-RC2/metabase.jar
Notes
SHA-256 checksum for the v1.48.0-RC2 JAR:
2d67d404ae979f5e37cf479137b95cae7960a1b5bb09c790940b0bd64df256d1
Changelog
Enhancements
- Add Finnish language (#33477)
- Introduce Metabase analytics Collection (#35434)
- Allow spaces in datetime strings for CSV uploads (#35648)
- Check if inactive tables are being used by questions before deleting them (#35615)
- Make
SESSION_COOKIE_SAMESITE
a setting (#35021) - Optimize global search 20% (#35367)
- Auto-wire up dashboard field filters (#35147)
- Add percentage type to metadata (#35124)
- Make
MB_AUDIT_MAX_RETENTION_DAYS
truncate data from theview_log
oraudit_log
table and enforce new rules (#34985) - Explain why linked filters don't work and prevent accidentally disabling them (#34604)
- Prevent users from adding questions from personal collections to dashboards in public collections (#34733)
- Let people move cards between dashboard tabs (#34367)
- Allow Linking dashcards to dashboard tabs (#34779)
- Update dashboard performance 48 (#34721)
- Allow users to link dashcard to dashboard tab in Click Behavior sidebar (#34781)
- Add custom warning message when leaving creating a model (#34430)
- Add custom warning message when leaving creating an SQL question (#34429)
- Add custom warning message when leaving editing a notebook question (chill mode only) (#34428)
- Show custom warning message when leaving editing model via Cancel button (#34366)
- Show custom warning message when leaving editing dashboard via Cancel button (#34074)
- Prevent users from losing their changes via “Back” and in-app navigation (#33749)
- Add custom warning message when leaving changing Data Model (segments and metrics) (#33795)
- Add custom warning message when leaving creating/editing a DB connection (#33794)
- Add custom warning message when leaving editing a model (query definition or metadata) (#33793)
- Add custom warning message when leaving editing an existing SQL (#33792)
- Add custom warning message when leaving creating/editing a query action in model details page (#33791)
- Add custom warning message when leaving editing dashboard (#33790)
- Prevent users from losing their changes via “Back” and in-app navigation (#33749)
- Auto-generate primary keys for CSV uploads (#33713)
- Enable “Add all” / “Remove all” behavior in table settings (#33472)
- Provide column ordering / hiding options from table header dropdown (#12494)
- Add "Create new Collection" option to collection picker when duplicating (#32638)
- Allow basic deletes and updates on object detail views (#32320)
Bug fixes
- "$regex has to be a string" when using text filters on dashboards on MongoDB (#30136)
- "Add a time" filter in dashboard filters not working (#34615)
- "Don't bin" is not selected on the picker in temporal bucketing (#35550)
- "Enter a default valu" on required filter values in SQL questions (#24988)
- "One of your alerts has stopped working" email should provide more detail (#25693)
- [AuditV2] All items in custom reports collection are read only (#35836)
- [AuditV2] Allow loading instance analytics into h2 (#33280)
- [AuditV2] Feature Branch 2 (#35434)
- [Epic] Add test coverage for Dashboard Click Behavior (#31498)
- [Epic] Allow basic deletes and updates on object detail views (#32320)
- [Epic] Audit v2 (#27792)
- [Epic] Auto-gen CSV PKs (#33713)
- [Epic] Auto-wire up dashboard field filters (#35147)
- [Epic] Enable “Add all” / “Remove all” behavior in table settings (#33472)
- [Epic] Explain why linked filters don't work and prevent accidentally disabling them (#34604)
- [Epic] Let people move cards between dashboard tabs (#34367)
- [Epic] Linking dashcards to dashboard tabs (#34779)
- [Epic] Prevent users from adding questions from personal collections to dashboards in public collections (#34733)
- [Epic] Prevent users from losing their changes via “Back” and in-app navigation (#33749)
- [Epic] Support filtering in global search results (#27982)
- [MLv2] - A question joined on itself can cause FK columns to be displayed twice (#34742)
- [MLv2] - findColumnIndexesFromLegacyRefs can't match Dataset columns to implicit breakouts (#35152)
- [MLv2] [Bug]
replace-clause
doesn't handle metrics (#32049) - [MLv2] [Bug]
replace-clause
is broken with joins (#32026) - [MLv2] [Bug] Error when calling
available-join-strategies
(#32081) - [MLv2] [Bug] Error when joining a saved question (#32758)
- [MLv2] [Bug] Error when using
replace-clause
with joins (#32454) - [MLv2] [FE] Add sort drill (#34458)
- [MLv2] Add
filterOperator()
function to get operator from a filter clause (#32058) - [MLv2] Add
stage-count
method (#35719) - [MLv2] BE - Expose findMatchingColumn (#35675)
- [MLv2] Disambiguate columns:
:field
ref(:filter drill-thru))))s shouldn't match expressions (#35872) - [MLv2] Enable access to field IDs from column metadata (#32160)
- [MLv2] Implement functions for available filters (#28703)
- [MLv2] Join conditions should sync temporal units (#32759)
- [Mlv2] Make ambiguous matches a warning in
lib.equality
(#36197) - [MLv2] Native query manipulation functions (#31006)
- [MLv2] Need functions like "expressionableColumns" (name?) (#31155)
- [MLv2] Only mark selected columns for aggregations with columns (#36572)
- [MLv2] Selected LHS/RHS column is missing bucket info in
join-condition-columns
methods (#33082) - [MLv2] Use MLv2 to display drill-thru controls (#31007)
- [Move dashcard to another tab] milestone 2 - undo logic (#34961)
- [Testing Plan] Linking dashcards to dashboard tabs (#34780)
More options...
button in a boolean filter is not aligned with the previous options (#22253)- A question opened from a dashboard may look broken (#26849)
- Add "Create new Collection" option to collection picker when duplicating (#32638)
- Add a note in
/admin/audit/
that Audit is being replaced by the Metabase analytics collection (#35295) - Add ability to remove columns from column header settings (#28608)
- Add default delete action to actions dropdown in object detail modal (#32323)
- Add default update action to actions dropdown in object detail modal (#32322)
- Add expression-clause-for-legacy-expression (#35936)
- Add expression-name and with-expression-name (#35932)
- Add Metabase version to card definition (#28387)
- Add Metabase version to revision history (#29167)
- Add more tests that v2 serdes is comprehensive, so new models are not forgotten (#35540)
- Add percentage type to metadata (#35124)
- Add support for conditional formatting on boolean fields (#14939)
- Add test coverage for Dashboard Click Behavior - Line Chart (#35034)
- Add test coverage for Dashboard Click Behavior - Table & Full app embedding (#35035)
- Add test to ensure new driver methods are mentioned in driver changelog (#31736)
- Adding a tab to a dashboard makes the dashboard shows double in collection view (#35351)
- Adding Percent Metadata Type (#36145)
- Alert/Dashboard subscription: render question title as tag (#36220)
- Allow spaces in datetime strings for CSV uploads (#35648)
- Allow users to link dashcard to dashboard tab in Click Behavior sidebar (#34781)
- Attribute input teleports when adding user attributes (#35316)
- Audit db sync cannot happen (#35621)
- Auditv2- FE: hide the archive and move button for the custom reports (#35212)
- auto-adding filter targets on dashboards breaks dashboard (#36275)
- Auto-connecting filter fails when adding a new question (#36469)
- Automatic explorations
compare to the rest
option fails for questions with joined table data present in the result (#25278) - BE - expressionClauseForLegacyExpression returns raw mbql instead of ExpressionClause (#36075)
- BE: add an endpoint to fetch default values for an implicit action (#32435)
- breakoutableColumns from MLv2 takes more than 600ms to execute for some questions (#35205)
- Broken UI when adding multiple user attributes if keys start with the same string (#30196)
- Can see move and archive buttons for metabase analytics collection in the root collection (#35700)
- Can't aggregate if the source question is an aggregated question (#24839)
- Can't choose recently viewed link with the mouse when editing dashboard link card (#35037)
- Can't subsequently run actions for different objects from dashboards (#33084)
- Cancel Database Analyze & Sync and Add DB connection check before start (#7526)
- Cannot remove filter defaults on Subscriptions (#24223)
- Changing columns via visualization Settings makes Notebook column list inconsistent (#12044)
- Check if inactive tables are being used by questions before deleting them (#35615)
- Compare to the Rest generates dashboard with failing questions (#32557)
- Composite join keys aren't auto-populated when joining in notebook editor (#34184)
- Compute results of timestamp/current-date functions during query processing (#21518)
- Convert click-behavior utils to TypeScript (#35200)
- Convert to SQL results in SQL error for generated query (#36078)
- Create Admin Setting for MB_SESSION_COOKIE_SAMESITE (#35392)
- CSV uploads use a lot of memory (#31992)
- Custom expression function Median() fails against SQL Server (#12222)
- Dashboard filter dropdown/search not shown for nested questions (Saved Questions and aggregated) (#12985)
- Dashboard filters don't line up when filter name is too long (#36438)
- Dashcard in the "Metabase metrics" dashboard is missing data (#36447)
- Data Model and Object Details shows non-active columns as Foreign Key targets and can cause query breakage if remapped to foreign key (#13130)
- Deprecate PUT /api/dashboard/:id/cards endpoint (#35577)
- Description can be searched for Question and Database but not Table (#25792)
- Detect if a CSV has an integer column named
id
orpk
; set it as the auto-incrementing PK (#33714) - Detect string PKs in uploaded CSV files (#34592)
- Do not offer "bulk" selection from the archive page to readonly users (#24018)
- Do not run frontend workflow when label is added or removed (#34307)
- Don't log a full exception when fetching a dashboard that has a stray param (#33613)
- Don't show formatting options in table header when viewing raw table (#35244)
- Duplicate requests to /api/card from Query Builder (#31905)
- Editing existing click behavior after target dashboard tab has been removed (#35524)
- Entering a token with the wrong schema will make the properties endpoint fail (#33858)
- FE - rename query to legacyQuery in expressions (#35988)
- Fix auto-connecting filter fails when adding a new question (#36467)
- Fix broken Root Collection permissions (#35716)
- Fix deadlock when running api tests in the repl (#36190)
- Fix entities fetch caching (#34661)
- Fix performance issues when loading all users' personal collections for large numbers of personal collections (#29177)
- GET /api/dashboard is removed from our API (#35365)
- Group By drop-down only shows first relationship between Table A and Table B (#33451)
- Having multiple
unnamed
dashboard filters drops all set filters except the last one (#27653) - hide/show columns in a table view takes more than 4 seconds (#35296)
- Housekeeping: remove default exports from dashboard/* (#36191)
- If initial data for a question doesn't contain numeric fields number summaries (sum, avg, etc.) don't become available after data is joined (#31384)
- Improve card_read event for audit_log and view_log (#35302)
- Improve FK violation error messages when running basic model actions (#32694)
- Improved
card-view
event (#27782) - In nested questions fields can be added multiple times to the grouping (#34662)
- Includes dbms_version for database_connection_successful snoplow event (#35403)
- Incorrect query when choosing a temporal bucket for time column (type/Time) (#21269)
- Install clojure before running clj-kondo (#36222)
- Invalid identifier when joining tables that have the same column name (#34227)
- Investigate and solidify differences between
metabase_database
fieldsoptions
andsettings
(#30468) - It's not possible to group by a temporal column WITHOUT using bucketing (#19684)
- Joining Models that isn't linked in the Data Model causes no metadata inferrence (#27323)
- Labels in new Add Remove columns are not properly alligned (#35930)
- Linked Dashboard Filters Connected to the Same Field Don't Respect
Is Not
Setting (#34039) - Linked filters are not working with "Custom List" or "From another model or question" (#33892)
- Log filled with warnings about deprecated sematic type "Number" (#18754)
- Make
MB_AUDIT_MAX_RETENTION_DAYS
truncate data from theview_log
oraudit_log
table and enforce new rules (#34985) - Make
SESSION_COOKIE_SAMESITE
a setting (#35021) - Make MB_SESSION_COOKIE_SAMESITE a setting in the admin panel (#35364)
- Make the display name for CSV upload _mb_row_id columns "_mb_row_id" (#36354)
- Metabase analytics tooltip shows "Instance analytics" (#36598)
- Metabase won't sync Snowflake materialized views (dynamic tables) (#35194)
- Migrate
activity
intoaudit_log
(#34984) - Migrate New User and Edit User forms to Formik (#35605)
- Missing border-radius in collection table (#33744)
- Model loses temporal "group by" info (#28599)
- Multiple relationships to the same table in "Table Metadata", only one is available as a "group by" (#34159)
- Native questions with filters with default values cannot be cleared (#13961)
- Negative number is shown in browser tab during loading cards (#33692)
- Negative number of cards loaded in page title (#34767)
- No explanation why linked filters do not work with native variables (#34570)
- No method in multimethod 'humanize-filter-value' for dispatch value: :>= (#30350)
- No method in multimethod 'temporal-value-lower-bound' (#35582)
- Optimize global search 20% (#35367)
- Pinning a card to a collection results in many views in "view_log" table (#25848)
- Postgres 'DATE' field off by 1 day (#3914)
- Provide column ordering / hiding options from table header dropdown (#12494)
- Questions or dashboards with lots of metadata take a lot of time to dismiss the spinner (#33499)
- Record metadata, when queries are using cache (#16517)
- Refactor - reduce duplication in QueryBuilder unit tests (#34490)
- Refactor - Rename "Aggregatable" to "Aggregable" (#36165)
- Referencing a Segment in another Segment filter breaks Questions when used (#30866)
- Remove POST ee/serialization/serialize/data-model (#35849)
- Remove unsafe-eval from script-src (#33188)
- Remove unsafe-inline from style-src (#32526)
- Rework
migrate-click-through
to usemetabase.db.custom-migrations/define-migration
(#32612) - Rework
migrate-remove-admin-from-group-mapping-if-needed
to usemetabase.db.custom-migrations/define-migration
(#32611) - Rework auto-generated PKs for CSV uploads (#36268)
- Rollback mbqlv2 drills - sort, fk-filter, summarize-column-by-time (#35917)
- Save button for SMTP settings form is in middle of page (#32818)
- Saving a SQL question will change the location to the filter value (#35785)
- Search Results sending a bunch of
/user/recipient
queries when search is loaded (#35601) - Serialization: order of keys is not consistent (#22196)
- Show custom warning message when leaving editing dashboard via Cancel button (#34074)
- Show custom warning message when leaving editing model via Cancel button (#34366)
- Show form-field-specific errors coming from execute action endpoints (#33238)
- Show SQL on questions derived from native questions splits some operators and results in SQL error (#36175)
- Snowplow: Add a property for
pk_generated
tocsv_upload_successful
event (#35121) - Snowplow: Add new event for search results filtered (#35146)
- Split migration (#34400)
- Standardize MBQL clause "options" (#11953)
- Support downgrading Metabase after adding Audit v2 (#35287)
- Support loading audit content from arbitrary plugin directory MB_PLUGINS_DIR (#35620)
- Support string PKs in CSV files (#34595)
- Support unicode (emoji, Chinese characters, etc.) in pulses (#2342)
- Switch (#33993)
- Switching between dashboard tabs takes more than 10 seconds (#35206)
- Sync dynamic tables for snowflake (#36121)
- Tables are slow to render in Firefox when scrolling (#10339)
- Testing plan for basic deletes and updates on object detail views (#32350)
- Tests for various number of PKs in a model (#32783)
- There is no difference in URL, ImageUrl, AvatarImageUrl fields displaying (#6265)
- Trend line not visible when using Stacking 100% (#25614)
- Unable to add joined columns in table settings after removing through notebook editor on nested Question (#32373)
- Unable to add text dashboard filter to native question (#30104)
- Underlying records drill-thru is confused by negative values (#32108)
- Unformatted markdown in search results description (#32140)
- Unsaved changes warning shown when going back to notebook after visualizing the question (#35000)
- Update copy in the custom leave confirmation modal (#33788)
- Update dashboard performance 48 (#34721)
- Update e2e docs to emphasize running FE for testing (#36352)
- Update Modal flickers on initial load (#32667)
- update next.jdbc (release with the fix is out already) and honeysql (#35941)
- Update Trend chart design and fix copy (#34587)
- Uploaded CSVs can't contain zoned datetimes (#34137)
- Uploaded CSVs including numbers greater than integer max are truncated (#33735)
- Use bigints instead of normal ints for CSV uploads (#34080)
- Use fipp/puget/pp for pretty printing (#1684)
- User needs to refresh the page 3 times to get field values (#34414)
- viz settings break on questions with custom columns (#35839)
- We should display joined Saved Question in Query Builder rather than
Question <id>
(#21646) - When adding a db, immediately updating
database-enable-actions
prevents the db from finishing initial sync (#27877)