Metabase - v1.49.0

Security

Metabase 49 release announcement

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.49.0
Download the JAR here: https://downloads.metabase.com/enterprise/v1.49.0/metabase.jar

Notes

SHA-256 checksum for the v1.49.0 JAR:

126a449a2f301744bc542392fca360dc8a2c562faadf6831539cafc0e973db48

Changelog

**Enhancements** **Dashboard improvements** - Make dashboard filters global or tab specific (#31621) - Add Sections (pre-defined layout of empty dash cards) to a dashboard (#38209, #38575) - Let creators duplicate dashboards tabs and cards (#38208) - Let creators swap out dashboard questions with a different question (#36497) - Add "Replace question" action to dashboard cards (#36744) - Let creators make dashboard and native query filters required (#36524, #18097, #39159, #5320, #37709) - Default dashboards to a fixed width to give creators a more predictable canvas (#36358, #10364) **Trend charts improvements** #33411 - Increase design control over Big Numbers (#31951) - Smart Numbers: chose the unit of the lag displayed (#11200) - Smart numbers: configurable lag (#9510) - Smart Number visualization wording (#8919) - Trend text not translated correctly depending on period (#25670) - Support arbitrary date comparison (#35551) **Allow appending more data to CSV uploads** (#35614, #38837, #37220, #36640, #13358) **Remove Models from Browse data** (#40108, #40037) - Models in Browse Data (#37707, #38560, #38661, #38730, #38704, #38635, #38518, #38107, #38126) **Serialization API** (#36843, #36240, #20632, #38359, #38804) **API Authentication method** (#2699, #36593, #37607, #36347, #37051) - Write a `GET /api/api-key` endpoint to list API keys (#37000) - Write a `PUT /api/api-key/:id/regenerate` endpoint to regenerate an existing API key (#36999) - Write a `PUT /api/api-key/:id` endpoint to update API key names/groups (#36998) - Remove API bits from ApiKey model (#37085) - Return `group` instead of just `group_name` for ApiKeys (#37061)- Add last_name to ApiKey users (#37234) - Avoid failing call to /api/model-index (#37284) **Add connection impersonation to Redshift** (#38445, #32388) **Embedding improvements** - Setup flow for Static and Public embedding, and embedding feature discoverability (#35961, #36048, #36481, #36170) - Modified setup flow for admins who want to start embedding (#38233) - Fix public links refer to `null` when question is new (#39154) - Sticky filters on embedded and Public dashboards (#24726) - Enable default public-sharing for new instances (#38609) **White-labeling** - Customize or hide “Help” link; hide links to metabase.com outside of admin settings (#35915, #36966) - Fix white-labeled icon colors of official collections and verified models (#39238) - Add anonymous usage tracking for relevant white-labeling (#37656) **Metabase Library v2** (#28689) - Include implicit joins for breakout/order on models (#40027) - `joinable-columns` on a Join sets source and alias (#39529) - Ensure `:name` is unique on returned columns in the FE (#39118) - Handle `Object.isFrozen()` legacy columns as input (#39032) - Custom columns testing plan (#37173, #36235) - Migrate `setDefaultDisplay` to MLv2 (#37172) - Migrate `_syncStructuredQueryColumnsAndSettings` to MLv2 (#37171) - Migrate `sourceTableId`, `sourceTable` to use `sourceTableOrCardId` from MLv2 (#37170) - Migrate `databaseId`, `database` to use `databaseID` from MLv2 (#37169) - Add caching for the common case of visible-columns w/o options (#38409) - Cache JS -> CLJS metadata conversion (#38375) - Add tests and fix a special case for fk-filter drills (#38297) - fk-details drill should preserve `:=` filters for other PKs (#38296) - Drill-thru coverage: Add a structured column and fix that case (#38295) - Fix some edge cases and add more unit tests for zoom in drills (#38275) - Add description and fingerprint to `displayInfo` for columns (#38476) - New "canned" queries and clicks for drill-thru testing (#38210) - Add `isTemporalExtraction` flag to `displayInfo` (#37889) - Add `aggregation-column` and `breakout-column` (#37873) - Look up FK columns in `visible-columns`, not metadata (#37771) - Make `query=` treat missing `:base-type` as matching (#37727) - findColumnIndexForColumnSetting and findColumnSettingIndexForColumn (#37677) - Add `display-info` for queries (#37675) - Add `legacy-column->metadata` for converting `DatasetColumn` (#37648) - Migrate data reference (#37629) - Migrate object detail (#37628) - Add `compatible-type?` wrapper that handles JS `DatasetColumn`s (#37609) - Remove aggregate, breakout, filter methods from Question (#37509) - Migrate supportsImplicitActions (#37507) - Migrate QuestionDataSource (#37396) - Migrate initializeQB (#37391) - Make displayInfo for column groups straightforward to use (#37369) - Remove unused legacy MLv2 functions (#36988) - Notebook steps (#36983, #36516) - Add a flag to `displayInfo(query, stageIndex, temporalBucket)` indicating it's for an extraction temporal unit (#36978) - Drop redundant :fields clauses from stages and joins (#36959) - Track drill-thru unit test coverage (#36601) - Unskip FE integration tests for automatic-insights drills (#36529) - Fix pivot drills integration with the FE (#36509) - Implement `automatic-insights` drill (#36443) - Migrate `suggest.ts` to use MLv2 for computing columns (#36233) - Support changing expressions in the query w/o removing parts depending on the original (#36211) - `View` - remove `BreakoutPopover` usage (#36737) - `View` - remove `AggregationPopover` usage (#36736) - Reorder column filter and distribution drills (#36700) - Add support for segment and metric in legacyFieldRef (#36699) - Add `sourceTableOrCardId(query)` (#36672) - `fk-filter` drills should not appear on native queries (#36660) - Fix an edge case where a join-alias is needed on a field ref (#36871) - Add `breakoutColumn` and `aggregationColumn` APIs to simply columns retrieval from these clauses (#37120) - Resolve a string `:fk-field-id` to a numeric ID if possible (#37079) - Migrate functions used in ExpressionEditorTextfield to MLv2 query (#36254) - Convert ExpressionStep to MLv2 (#35982) - Expressions in FilterPicker without legacy query (#35948) - Expressions in AggregationPicker without legacy query (#35947) **Misc:** - Add `align-temporal-unit-with-param-type-and-value` multimethod (#37813) - Add the timestamp to the filename in the subscription attachment (#39120) - Add intermittent test solver (#38159) - Add BE for routing billing status (#38153) - Add Creator Sentiment Email task (#38787) - Add stress testing workflow for frontend unit tests (#38081) - Add a banner to the top of `locales.clj` (#37877) - Allow toggling of the dashboard subscription sidebar from the icon (#36244) - Bigquery: Sync required partition column ([#36668](https://github.com/metabase/metabase/issues/36668), [#36677](https://github.com/metabase/metabase/pull/36677), [#36892](https://github.com/metabase/metabase/pull/36892)) - [chain filters] should not be using inactive fields for joins (#39635) - Compute results of timestamp/current-date functions during query processing (#21518) - Consistent Date and Time Formatting for `metabase.formatter.datetime` (#36559) - Count `:model/User`, not `:core_user` (#36985) - Create a unified rendering pipeline for formatting (#36015) - Delete all pruned persisted info records (#39219) - Don't delete "off" persisted_info records (#39272) - Download Updated Translations for v49 (#40086) - Elevate selected filter field values (#40055) - Ensure consistent percentage formatting across FE and pulses (#36327) - Ensure results metadata is applied to standalone cards in pulse HTML output (#36323) - Ensure results metadata is applied to csv files in pulse exports (#36320) - Error if DB downgrades are required (#37239) - Export to PDF should have the filter values that were used on the dashboard (#35475) - Faster sync-fks for Redshift (#38970) (#40062) - Filter picker search free input (#38907) - Fix permissions graph performance (#36610, #36797, #36543) - Fix confusion of expressions with the same name as columns (#39526, #39255) - Fix isNavigationAllowed (#38703) - Fix TableBrowser flex (#38324) - Flaky QueryBuilder.unit.spec.tsx (#37184) - Format SQL Query option in the Native Query Editor (#9142) - Hitting enter doesn't save filter changes (#6552) - Honey SQL 2 Migration (#28684, #28396, #28156, #28165, #28161) - Introduce describeWithSnowplowEE (#39623) - Join performance issues (#39633) - Kondo lint to enforce naming convention for thread not safe defn/defmacro in tests (#37126) - Load analytics only when changed using a checksum (#38280) - Let admins disable user provision on SSO (#36371) - Migrate the FieldInfo card to Mantine so it can be reused (#38432) - Make dashboard subscription attachment behavior match the user's choice in-product (#36441) - Merge viz settings correctly (#36154) - Merge metadata correctly (#36153) - Monger does not support Atlas Serverless (#27385) - Make effective use of Snowflake's query result caching (#20988) - No view logging for OSS (#39957) - Only return helpText for supported features (#39766) - Optimize autocomplete query (#38080) - Port LastEditInfoLabel (#38109) - Query metadata within comments leads to cache misses in AWS Athena (#29615) - Remove unused global css (#39220, 39020, #39531) - Remove normalization from legacyFieldRef method (#36717) - Remove legacyQuery (#36639) - Remove Pulses (#34147, #35841) - Refactor drills unit tests structure, split huge file by drill type (#35883) - Switch back to ring-jetty-adapter to addresses security issue (#39321) - Sidebar loading state regression fix (#38875) - Show more billing info on license and billing settings page (#38497) - Specify one more guava explicitly (#38173) - Sync column index information (#36452, #36624) - Type routing in State (#38645) - Test some modals more semantically (#37028) - Tighten visual design of charts (#36991) - Update required parameter reset icon (#39068) - Uploads: 01/01/2012 is coerced to 1 (#38956) - Update Metabase Analytics content (#38524, #38474) - Update graalvm (#38218) - Update deps with security issues (#39286, #37789) - Update Enterprise readme to 2024 (#37207) - Use the alias for unfolded JSON columns from previous stages (#39446) - Unify type of timestamp columns (#33577) - When querying a bare model with parameters, wrap an extra stage (#39963, #40047) - Wrap literals around expression refs (#38886) - When updating an alert, don't also update the question (#36866) **Bug fixes** - Apply Filters button cropped when a lot of values (#40071) - "Add tab" button is covered with a right scroll button on dashboards with many tabs (#38641) - Aurora Serverless v2 fails to verify CA due to RDS Combined CA Bundle not importing all certificate chains (#27790) - Adding a description to a model column duplicates the description to other columns if they are null (#25884) - `Admin > People` header "jumps" when switching from active and deselected users views (#37129) - Autosuggestion in native queries peaks the CPU on instances with > 1M fields (#30588) - Action Button label cut off when editing click behavior (#35234) - `Between` filter errors out with min > max (#16745) - Browse database page refreshes N seconds when a new DB is added that makes the page unusable (#39732) - Bookmark icon should be correct size, and should be filled when an item is bookmarked (#34327) - Custom columns that have same name as existing columns cause failure (#39059) - Changing groups or dbs on data permissions, after saving a value causes the client to falsely believe that someone else edited the perm graph ([#37811](https://github.com/metabase/metabase/issues/37811)) - Canceling editing a dashboard does not reset current tab (#38055) - Cannot "filter by this column" (#38034) - Cannot see Models as the data source in the data selector when opening a model (#39699) - Click Behavior not working for Pivot Table (and Table pivoted) for the non-value columns (#25203) - Custom columns to do filters for the past 1 day/month/year (#37165) - “contains” and “does-not-contain” returned for the wrong fields (#36856) - `column-filter` should come before other column drills (#36674) - Cancelled Queries are retried with Bigquery Driver (#36623) - Custom Column in Models doesn't respect filtering when binning is applied (#26202) - CSV exports of timestamps at midnight (00:00:00) is truncated to date (#14504) - Dashboard ID filter does not work on models (#39940) - Dashboard filters are slow (#37285) - Dashcard text gets cut off (#36463) - Data source is not properly highlighted for simple saved questions based on a table in a multi-schema database (#39807) - Dashboard saves fails after adding the first tab then canceling the edit (#38278) - Datetime filter not working correctly on mysql (#8762) - Dashboard Email Subscription seems to cache incorrect settings (#30314) - Date filter selection from the chart footer is glitchy and results in wrong selection (#22973) - Date filtering on time-series viz is not available when the second grouping field is not a category type (#34690) - Date filtering on time-series viz only works if time is added as a first grouping category (#34688) - Description for calculated columns in model metadata editing page is incorrectly populated with description from other columns (#34349) - `drill-thru/pk` drill should be returned for query that has multiple PKs on non-PK columns click (#35618) - Error calculating display info on filtering with a model (#36400) - Exports should include formatting everywhere (#17753) - Export formatting for Longitude & Latitude (#38419) - Extreme slowness while editing parameters on a dashboard (#38225) - Execute an Action on embedded Dashboard fails with 404 not found API call (#34395) - `findMatchingColumn` does not find matching column (#37851) - `filter-args-display-name` doesn't handle exclude date filters (#37219) - Grouping by and summarizing on a custom column fails (#39081) - Grid Map "Zoom In" broken for "Custom Questions" (#11210) - Implicit joined fields are not available as breakouts in Models (#39657) - Instance Analytics titles drop after page load (#38566) - Issue with click Behavior and passing filters to custom destinations that are tabs of the same dashboard (#38455) - "Is" filter in the header of the columns in a table context should be linked and allow free input (#37906) - Interactive embedding dashboard with multiple tabs and parameter `header=false` will not load (#39002) - Joining on aggregated dates via the editor generates "No matching signature for function TIMESTAMP" (#27969) - LDAP logging is non-existent (#39760) - MongoDB nested fields not showing in v0.47.x (#35938) - Make `query=` ignore absence of `base-type` and `effective-type` in field references (#37659) - No option to hide/show tabs in Interactive embedding as a parameter. header=false will hide all tabs and go to tab 1 by default (#38429) - On Date filter returns no results on a summarized question (#18769) - PNG export of chart from a dashboard includes the menu ellipsis in the top right corner of the image (#36261) - Pivot table with the filter on a date column breaks dashboard sending (#27941) - Pie chart legend percentages are vertically not aligned with their label (#37635) - Printed Dashboard is missing Color Indicators in the Legend (#6963) - Preview results of intermediate stages are wrong in query builder (#39102) - Question filters are not being updated if there are breakout clauses for the same column (#37463) - removeClause throws "Cannot remove the final join condition" error (#36690) - Redundant text card scrollbars shown in Firefox (#34537) - Relative date filters don't work with custom date columns (#33528) - Refreshing after setting a table to be sandboxed causes an error (#37774) - Renamed columns in CSV/JSON exports (#18572) - [`result_metadata`] Implicit binning on longitude from SQL question results in error (#16672) - `returnedColumns` does not handle columns with the same name (#37517) - SAML auth page is weird when set by env vars (#33264) - Support constants in expressions (#37461) - Show progress charts' current values on small dashboard cards (#5554) - Seeing scrollbars in search and admin (#38673) - Sorting Dashboard Tabs has a weird animation on drop (#38056) - Top nav + New and Settings buttons lock up when a dashboard is loading (#39303) - Toast/notification after custom dashboard has invisible text (#38722) - Trend Chart font is incorrect in certain email clients (#38684) - Unknown error in the revision history of a dashboard leads to a NullPointerException (#38910) - Unsaved dashcards with mapped params error when switching tabs (#38245) - `underlying-records` is not available for pivot table cell (#35394) - `underlying-records` should be returned for chart legend clicks (#35343) - "View details" (PK) drill thru on non-PK value for a row with multiple PKs only adds a filter for one of the PKs, nondeterminiate (#36426) - Version info could have duplicate versions (#33803) - Visual glitches when dragging a tab on another (#34966) - When modifying the "fields" clause, remove the clause entirely if it becomes equivalent to not having the clause at all (#36574) - Wrong field highlighted when editing model metadata if custom column added to left of column (#29943) - `zoom-in.timeseries` isn't returned in all known cases (#36173)

Security

Security wording was detected, but no CVEs were found.

Details

date
March 15, 2024, 5:47 a.m.
name
Metabase® Enterprise Edition™ v1.49.0
type
Minor
👇
Register or login to:
  • 🔍View and search all Metabase releases.
  • 🛠️Create and share lists to track your tools.
  • 🚨Setup notifications for major, security, feature or patch updates.
  • 🚀Much more coming soon!
Continue with GitHub
Continue with Google
or