Metabase Versions Save

The simplest, fastest way to get business intelligence and analytics to everyone in your company :yum:

v0.49.14

1 week ago

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

Notes

SHA-256 checksum for the v0.49.14 JAR:

77a08d7710d79f82c52c1d1e3cd3d4edc10bd8406d93eec9988d12158334ecc3

Changelog

Enhancements

  • Catch exceptions from driver/database-supports? outside driver code (#43429)

Bug fixes

  • Fingerprint of Large Binary Fields Crashes Metabase (#43461)
  • Normalizer interprets "expression" as a MBQL :expression, but it is just a column name (#43089)
  • When Filtering with Dates Coerced from Numeric Fields in a Table Visualization - Filter Sometimes Disappears (#42931)
  • Fail during upgrade from 48.3 to 49.7 (#41924)
  • Filtering Issue on UUID Column in Version 0.49.0 (#40176)

v1.49.14

1 week ago

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

Notes

SHA-256 checksum for the v1.49.14 JAR:

c3a3517995d0deb28ebfcdd26061eda98331b9cc78297471bb62d2e24c628ef3

Changelog

Enhancements

  • Catch exceptions from driver/database-supports? outside driver code (#43429)

Bug fixes

  • Fingerprint of Large Binary Fields Crashes Metabase (#43461)
  • Normalizer interprets "expression" as a MBQL :expression, but it is just a column name (#43089)
  • When Filtering with Dates Coerced from Numeric Fields in a Table Visualization - Filter Sometimes Disappears (#42931)
  • Fail during upgrade from 48.3 to 49.7 (#41924)
  • Filtering Issue on UUID Column in Version 0.49.0 (#40176)

v0.50.0-RC2

1 week ago

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:v0.50.0-RC2 Download the JAR here: https://downloads.metabase.com/v0.50.0-RC2/metabase.jar

Notes

SHA-256 checksum for the v0.50.0-RC2 JAR:

d88d778d4b22c94a2d1ba07f8978e7d106a8837c0d2001f7244fc65f044faf07

Changelog

Enhancements

New chart types and overall visualization improvements

  • Preserve Dashboard Filter States (#39809)
  • Multiple Measures Requires Additional Header Row in Pivot Exports (#43322)
  • Line settings for changing thickness and/or pattern (#9255)
  • Smart number projected values (#9170)
  • Area Bar Combo Stacked Viz Settings Migration (#42740)
  • Allow description columns to be dimensions of charts (#42539)
  • Fix pie chart display when switching from notebook editor (#42430)
  • Provide compact numbers for more readable y-axis tick values (#41981)
  • Offer option to display all data labels within stacked bar charts (#41980)
  • Include percent change in tooltips for time series + funnel charts (#41979)
  • Allow non-zero Y-axis auto range (#7196)
  • Stacked combo charts (stacked bars with lines) (#12008, #13096)
  • Visualization bugs & inconsistencies (#33626)
  • Scatter plot renders as a Table in Email/Slack subscription (#33586)
  • Show percentage change in tooltips for funnel charts (#27236)
  • Issue with visualization charts in emails - An error occurred while displaying this card (#36626)

Improved permissions with more control over how groups view and query data (#26918)

  • [Epic] Change the default access of new added databases and groups (#36428)
  • Newly added databases should be created with "No self-service" permissions - default permissions risks in strict data isolation contexts (#6735)
  • Grant Collection-only access that respects data sandboxing (#21703)
  • Not possible to view Native question unless given ad-hoc native query permissions if another group has Block (#21695)
  • Block access on a database prevents executing actions and uploading CSVs, even when you have unrestricted access too (#36298)

Improved menus for picking data and moving stuff around

  • Data picker (#40717, #41175, #40377, #38670, #42957, #42978)
  • Collection picker (#38315, #36411, #39869)
  • Question and Model Picker (#40207, #36376)
  • Recents Tab picker (#39528, #41957, #42976)
  • Recents API Improvements (#42660, (#42418, #42239)
  • Question and Model Picker (#40207, #36376)
  • Collection Mover (#37833)

Better caching controls

  • Move model caching to Admin > Performance (#43143, #43019)
  • Implement advanced cache strategies (#38434)
  • Add Schedule strategy to Admin > Performance (#41424, #41230)
  • In Admin > Performance, display minimum query duration in seconds (#40970)
  • Only show "Adaptive" and "Don't cache" options on OSS page (#43122, #43121)
  • Remove cache timestamp from Question info sidebar (#42788)
  • Update copy on cache invalidation configuration forms (#42815)
  • Tweak appearance of cache page and form (#42856)
  • Remove cache-related field from database creation form (#42808)
  • Add cache configuration sidebar (#42192, #42729)
  • Milestone 4: Dashboard configuration in userland (#41478)
  • Milestone 5: Collections (#41430)
  • Milestone 4: Questions (#41429)
  • Milestone 3: Schedule strategy (#41427)
  • Invalid cache-keys used for query caching (#37702)
  • Basic cache admin UI (#39234)
  • Add "Invalidate cache now" button (#40972, #41426)
  • Use DelayedLoadingAndErrorWrapper component in Admin > Performance (#41103)
  • Reduce query runs before cache hit from 3 to 2 (#35630)
  • Query response time (#9408)

Command Palette (#39259)

Time-over-time comparison Offset window function in the query builder (#40313, #42751, #43224, #42753, #42318)

Custom columns with combine and extract functions

  • Make it easy to combine columns in chill mode (#39977, #42314, #38964, #42172)

  • Fix combine extract column drill icons (#42297)

  • Fix broken test in column extraction drill (#42202)

  • "Combine columns" drill thru (#39980)

  • Add plus icon to chill mode headers with extract column popover shortcut (#42151)

  • Add analytics events for extract via column header (#42093, #41350)

  • Add test to extract column tests for URL and email columns (#42096)

  • Text column combination modal in the notebook editor (#41178)

  • [Testing plan] Add Extract action to chill mode column headings (#39291)

  • Replace and delete CSV data, and other CSV improvements (#38788, #40365)

  • Let admins delete previous CSV uploads and their underlying table (#36369)

  • Auto-detect CSV separator on uploads (#34325)

  • CSV appends: integer columns should be convertible to float (#37069)

  • CSV upload fails on rows with float type among mostly integer values (#38958)

Smoother cloud migration (#39654, #43116, #43056, #42706)

Automated air-gapping set up

  • Allow license tokens that start with airgap_ (#42733)

Drivers

  • Update the driver changelog with new features (#43004)
  • Remove Google Analytics driver and related special case stuff (#42792)
  • Druid JDBC driver (#39938)

Embedding

  • Update link in "Powered by Metabase footer" on static embeds (#42889)
  • Embedding app origin setting should allow multiple origins for the Access-Control-Allow-Origin header (#42631)
  • Initial homepage experience for embedding admins (#40005)
  • Embedding SDK - integration commit (#40198, #40394, #40975, #41449, #40629, #41891, #41560)
  • Hide Error Diagnostic modal and triggers in all embedding contexts (#40677)

Let white-labeling customers customize illustrations (#39246, #25276)

Browse models (#36368)

  • Make Browse models table sortable (#42113, #42823, #42493)
  • Tweak the Model explanation banner (#42413)
  • Use new icon for verified models (#42689)
  • Don't explicitly set the dimensions of the verified model icon (#42702)
  • Move createMockModelResult to browse folder (#42690)
  • Ellipsify descriptions properly in Browse models (#42456)
  • Fix column widths in Browse models (#42601)
  • Linkify rows in Browse models table (#42111)
  • Add table of models to the "Browse models" page (#41614)
  • Add list of models to /browse/models (#41603)
  • Add palette actions for Browse models and Browse databases (#41592)
  • List models (using components of ItemsTable) (#41591)
  • Use breadcrumbs to display collection paths in Browse models (#41960)
  • Remove the tabs from Browse (#41955)
  • Add table of models to the "Browse models" page (#41954)
  • Move ItemsTable components to a higher-level folder (#41952)
  • Restore Models in Browse data (#40633)

Remove Trash from Metabase 50 release (#43159, #42339, #4013, #2783, #9555, #10987, #33180, #29229, #21341)

Other improvements, fixes, and new stuff

  • Include example dashboard in all new Metabases (#40066)
  • Add "Most used functions" to suggestion dropdown in the query builder (#41237, #41187)
  • Show generated SQL in a side bar automatically (#40254)
  • [ParseSQL] Support * (#40247)
  • [E2E] Refactor question commands to function helpers (#40236)
  • Improve subscription performance and debuggability (#41764)
  • Add hover card when picking a column to use for simple sandbox filtering (#39240, #39114)
  • Use LLMs for autocompletion of Question, Dashboard Titles and Descriptions (#39112)
  • Easy List Virtualization (#39074)
  • Parameter field mapping (#39042)
  • FE - Migrate dataset flag - move changes to master (#39041)
  • Fix availableDrillThrus typing (#38957)
  • Align paths in Prettier & ESLint scripts (#38951)
  • Include e2e directory in prettier scripts (#38948)
  • ParseSQL: Figure out which fields are used in which query (#38926, #38925, #38924)
  • Add license activation in the initial setup (#38867)
  • Allow reordering of items in notebook mode (#38862)
  • Remove global plain CSS styles (#38811, #40133, #40106, #40103, #40007, #39324)
  • "Contains" filter types on dashboards should allow users to pick values in the same way as an "is" filter (#38778)
  • [Epic] Appearance settings page polish (#38699)
  • Required parameters: follow-ups (#38603)
  • Surface column info in places where it’d be most useful (#38394, #38918, #38869, #38812, #38845, #38863)
  • Capture more metadata: table count, field usage, last viewed/used_at (#38229)
  • Fix liquibase rollbacks causing flaky tests on MySQL (#37884)
  • Migrate dataset: true to enum value (#37367)
  • RFC 70 - Automate sorting imports (#33883)
  • Enable drill-thru for single-row aggregates (#40174)
  • OpenAPI docs (#40162)
  • Connecting dashboard filters to cards can be difficult (#20048)
  • Clojure log macros should throw a compile-time exception if you use tru inside them (#15886)
  • Surface statistics about Pulse send status (#12084)
  • Do not translate error log messages, or add unique error codes for each error (#10764)
  • Make new native queries default to using the last-selected database (#8780)
  • Update the design for custom expression shortcuts (#43064)
  • Improved pivot QP: use MLv2 and avoid recursive preprocessing (performance improvement) (#40141)
  • Fix flaky BucketPickerPopover test (#42811)
  • Make plus button less prominent (#43118)
  • Update Metabase Analytics content for v50 (#42799)
  • Make Metabot Cool Again (#42797)
  • Restore default styles for subtle button (#42854)
  • Optimize creating preview queries on the FE (#42831)
  • Add canPreview and use it from the notebook (#42791)
  • New modal after adding a database (#42592)
  • Design update for column info (#42589)
  • Implement F&R for native queries with references to other cards and variables (#42582, #42580)
  • Fixes for Interactive Question theming (#42932)
  • Put bulk actions above popovers in collections (#42512)
  • Fix drill FK test flake by removing unneeded wait for /api/dataset (#42501)
  • Port CollapseSection to ts (#42333)
  • Remove snippets from search types (#42315)
  • Backfill QueryField on Metabase startup (#42279)
  • Use a Popover and user settings for filters (#41959)
  • Selecting multiple values for all text filters (#41956)
  • Port code relating to moderation to ts #41756 (#41903)
  • Add case for boolean columns in example (#41889)
  • Add Reset button for InteractiveQuestion (#41860)
  • [dc.js migration] missing combined card in subscription (#41787)
  • Enable customization of columns in ItemsTable (#41777)
  • Add analytics events for combine shortcut in notebook editor (#41766)
  • Add collection.effective_ancestors to model search results (#41746)
  • Add console.trace() when capturing console error (#41657)
  • Port six collection-related components to TypeScript (#41632)
  • Fix Dispatch type (#41631)
  • Store fields used in MBQL cards in QueryField (#41623)
  • 🤖 Backported "Migrate uploads settings to the DB-level behind the scenes, so the uploads DB can be set by the config file" (#43198)
  • Fix missing React key prop (#43179)
  • Enable running tagged tests defined in TS (#43172)
  • Bump dompurify in yarn.lock (#41583)
  • Fix broken test in FilterPicker (#41523)
  • Bump mysql2 from 3.6.3 to 3.9.4 (#41398)
  • Convert TableInteractive.module.css (#41294)
  • Localize text in AlertModals (#41254)
  • Support parsing native queries with a {{#card-id}} ref in them (#41242)
  • Update suggestions to use Mantine components (#41198)
  • Suggest the original question name for derived question in a "save question" modal (#41196)
  • Endpoint to delete uploaded tables (#41118)
  • [ParseSQL] Catch mutation commands (#41115)
  • Rename and re-order TTL strategy (#41108)
  • Add interactive question component with drill down (#41106)
  • Make search surface columns when I’m working on joined tables (#41085)
  • Allow changing data source in join (#40890)
  • Make info hover icons less intrusive (#40863)
  • Do not print stacktrace when client closes connection too early (#40834)
  • Migrate dashboards and alerts to RTK (#40791, #40789, #41311)
  • Fix model card overflow bug (#40736)
  • Fix some warnings in JS console (#40727)
  • Deprecate entity hooks (#40666)
  • Implement webhook handlers to reset/refresh query cache (#40548)
  • Record field usage during query execution (#40494)
  • Use "contains" and "between" as default filter operators for non-PK/FK/Category string and numeric columns (#40424)
  • Start of 50 Cycle Routine Clojure Dependency Bump (#40354)
  • Add UTM parameters to link (#42968)
  • Support parsing native queries with variables or a field filter in them (#39954, #39953)
  • Provide a list of outdated native queries (#39950
  • Support column addition / reordering (#39868)
  • Publish Snowplow events when appending to uploads (#39867)
  • Remove info icon on table (#39853)
  • [MLv2] Introduce swap-clauses to reorder aggregations, etc. (#39850)
  • [MLv2 × QP] Migrate pre-processing middleware metabase.query-processor.middleware.upgrade-field-literals (#39837)
  • Column info fixes (#39746)
  • [E2E] Overload the existing E2E visitQuestion helper to make it work with the alias (#39683)
  • Refactor cy.updatePermissionsGraph, cy.updatePermissionsSchemas & cy.updateCollectionGraph to TypeScript (#39675)
  • Refactor cy.archiveQuestion, cy.createQuestion & cy.createNativeQuestion to TypeScript (#39614)
  • Use arrow functions in e2e & unit tests definitions (#39512)
  • Convert column to float when appending floats to an integer column (#39493)
  • ring-json already supports converting stuff to keywords (#39416)
  • Use table2 icon for questions (#43095)

Bug fixes

  • Stack values to show setting does not work with ordinal x-axis scale (#43454)
  • CSV downloads for pivot tables are missing header row when multiple measures exist (#43325)
  • Wrong columns shown in Extract/Combine expression when aggregation is present (#43222)
  • Redundant #edit in the URL after creating a dashboard (#43192)
  • Improvements to examples collection (#43190)
  • MYSQL - Regexextract option is not available anymore in GUI custom column (#43180)
  • Filters connected to categorical fields don't work anymore if question is based on a model (#43154)
  • New Search button does not shrink on mobile (#43083)
  • Improve browse models table render performance (#43014)
  • Admin Email does not Display on Question Timeout Page (#42929)
  • Metabase doesn't automatically center-align labels in horizontal axis when removing columns (#42695)
  • Metrics (v1) revisions API is broken (#42633)
  • [Bug] Cannot sort by aggregation that uses Offset() (#42554)
  • diagnose-expression throws when Offset is nested (#42377)
  • Offset() doesn't work after saving a question (#42323)
  • [dc.js migration] static charts crash on stats (#42282)
  • Cannot tab through fields in Save Question modal (#41683)
  • [dc.js migration] waterfall chart with unaggregated time-series data is broken (#41551)
  • Hovering on legend to see a specific series always shows first series as well (#41526)
  • Configuring sandboxed permissions in schemaless databases removes tables from the list (#41490)
  • add-alias-info gets confused when using multiple nominal field literal refs for same column in source query (#41325)
  • Visual regression: too many items are getting a separator (#41136)
  • Dashboards are broken (#41071)
  • lib.convert/->legacy-mbql incorrectly generates :aggregation-options clauses in :expressions if they contain certain options (#41053)
  • mbql.u/add-order-by-clause ignores clauses if an order by already exists for that field even if temporal unit is different (#40995)
  • unique-name-generator generates incorrect names, which can cause broken queries (#40994)
  • add-alias-info breakouts with multiple order bys on the same field (#40993)
  • Use window function versions of cumulative aggregations for BigQuery (#40992)
  • Fix window function cumulative aggregations for SQL Server (#40990)
  • Model descriptions overflow when they contain a long URL (#40725)
  • Visualization differs after converting question with aggregation and breakout to SQL (#40711)
  • Not possible to save static text as a custom expression (#39438)
  • Audit collection permission not the same as audit permission in settings (#39197)
  • Charts that Render via GUI Fail to Render in Subscriptions (#39178)
  • Native query editor offers data source a user does not have native write permissions for (#39053)
  • [MLv2] fromLegacyQuery drops invalid expressions (#38954)
  • Custom column disappears after creating with case(isempty([Some Column]), "true", "false") (#38944)
  • Broken list of columns in table settings if the setting value is out of sync with the query (#38908)
  • Metabase is sending alerts half an hour after it is actually scheduled to send alerts (#38800)
  • Archiving and unarchiving a collection leaves dashboards in the collection empty (#38646)
  • A dashcard with multiple scalars shows two legends (#37287)
  • "Abbreviate days and months" setting is not respected in subscriptions (#36850)
  • Chart tooltip not showing all series in breakout (#34901)
  • Subscription report not similar on mail (#33798)
  • query_metadata does not load in parallel (#33786)
  • Pulse card render error when sending dashboard via e-mail. (#33705)
  • Hover on a breakout series fades other lines but not the numbers (#32412)
  • Charts such as Line or Bar are not able to interpret the difference between an empty string and NULL (#31238)
  • Dashboard "still waiting" text ambiguous (#31135)
  • Relative links inside tables get encoded characters and fail (#30894)
  • Dashboard subscription y-axis don't match the custom range (#30807)
  • Y-axis ticks cut off on the static line/area/bar chart in certain cases (#30609)
  • static viz: Stacked area charts with 100% stacking show up in alerts/subscriptions as regular stacking (#30551)
  • dates on x-axis get cramped together (#30325)
  • Stacked bar graph is rendered as unstacked bar graph in e-mail/slack subscription (#30315)
  • Line Style formatting doesn't stick on e-mail/slack subscription (#30142)
  • Large sets of collections in the Move modal takes a long time to load or doesn't work (#30117)
  • Trend lines are not generated in subscriptions (#29836)
  • y-axis is unnecessarily split in static visualizations (#29281)
  • Y-axis in static visualizations can get too cramped when x-axis is rotated 90 degrees (#28822)
  • Summarizing with category field type (Data Model column) breaks Visualization Style/Colour options (#28523)
  • Log scale doesn't show y-axis values when data points are close to each other (#28186)
  • Metabase subscription email not correct graphs (#27963)
  • Incorrect Y-axis unit in subscription email for line chart (#27942)
  • Static visualization for simple stacked lines produces different result in Slack (#26769)
  • Objects that are unarchived without parent collection being unarchived are orphaned (#26168)
  • Area graph stacked in dashboard subscription email but unstacked in question (#25896)
  • Waterfall charts with non-aggregated data improperly calculate y-offsets (#25597)
  • Changing X-axis breaks, when an invalid "X-axis scale" is defined can cause blank visualization or error (#25156)
  • Static viz and App disagree in bar charts (#23743)
  • Wrong number of distinct values in a native model (#23103)
  • When moving a collection, invalid choices should just be disabled (#21786)
  • Static viz multi-series shows two Y-axis (#20559)
  • Delete button appears on archived collection (#18372)
  • Adding an "on" date filter without a specific time to a custom date column returns no results (#17807)
  • Should be able to run a card with another card as its source query with just perms for the former (#15131)
  • The results of divide or multiply two CumulativeSum are incorrect (#15118)
  • Long Running Pulses will block other pulses from running (#14613)
  • Cumulative Sum/Count fails when there's a custom column after the calculation (#13634)
  • Clicking RawData-toggle on pivoted table makes the question dirty and shows Save-button (#11994)
  • scatter plot Y-Axis Minimum won't set correctly (#11968)
  • Unexpected behavior when setting manual y-axis range on scatterplots with bubble size variables (#11889)
  • Subscription charts rendering in Outlook does not look correct (#6874)
  • Different chart rendered in pulse from question (#5493)
  • Cumulative aggregations with multiple breakouts should reset count/sum when values of one specific breakout columns change (#2862)

v1.50.0-RC2

1 week ago

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

Notes

SHA-256 checksum for the v1.50.0-RC2 JAR:

1ffa52b78e7a514790122c57948004b3d68201d4ed2ed339d92af2e6e0f88db8

Changelog

Enhancements

New chart types and overall visualization improvements

  • Preserve Dashboard Filter States (#39809)
  • Multiple Measures Requires Additional Header Row in Pivot Exports (#43322)
  • Line settings for changing thickness and/or pattern (#9255)
  • Smart number projected values (#9170)
  • Area Bar Combo Stacked Viz Settings Migration (#42740)
  • Allow description columns to be dimensions of charts (#42539)
  • Fix pie chart display when switching from notebook editor (#42430)
  • Provide compact numbers for more readable y-axis tick values (#41981)
  • Offer option to display all data labels within stacked bar charts (#41980)
  • Include percent change in tooltips for time series + funnel charts (#41979)
  • Allow non-zero Y-axis auto range (#7196)
  • Stacked combo charts (stacked bars with lines) (#12008, #13096)
  • Visualization bugs & inconsistencies (#33626)
  • Scatter plot renders as a Table in Email/Slack subscription (#33586)
  • Show percentage change in tooltips for funnel charts (#27236)
  • Issue with visualization charts in emails - An error occurred while displaying this card (#36626)

Improved permissions with more control over how groups view and query data (#26918)

  • [Epic] Change the default access of new added databases and groups (#36428)
  • Newly added databases should be created with "No self-service" permissions - default permissions risks in strict data isolation contexts (#6735)
  • Grant Collection-only access that respects data sandboxing (#21703)
  • Not possible to view Native question unless given ad-hoc native query permissions if another group has Block (#21695)
  • Block access on a database prevents executing actions and uploading CSVs, even when you have unrestricted access too (#36298)

Improved menus for picking data and moving stuff around

  • Data picker (#40717, #41175, #40377, #38670, #42957, #42978)
  • Collection picker (#38315, #36411, #39869)
  • Question and Model Picker (#40207, #36376)
  • Recents Tab picker (#39528, #41957, #42976)
  • Recents API Improvements (#42660, (#42418, #42239)
  • Question and Model Picker (#40207, #36376)
  • Collection Mover (#37833)

Better caching controls

  • Move model caching to Admin > Performance (#43143, #43019)
  • Implement advanced cache strategies (#38434)
  • Add Schedule strategy to Admin > Performance (#41424, #41230)
  • In Admin > Performance, display minimum query duration in seconds (#40970)
  • Only show "Adaptive" and "Don't cache" options on OSS page (#43122, #43121)
  • Remove cache timestamp from Question info sidebar (#42788)
  • Update copy on cache invalidation configuration forms (#42815)
  • Tweak appearance of cache page and form (#42856)
  • Remove cache-related field from database creation form (#42808)
  • Add cache configuration sidebar (#42192, #42729)
  • Milestone 4: Dashboard configuration in userland (#41478)
  • Milestone 5: Collections (#41430)
  • Milestone 4: Questions (#41429)
  • Milestone 3: Schedule strategy (#41427)
  • Invalid cache-keys used for query caching (#37702)
  • Basic cache admin UI (#39234)
  • Add "Invalidate cache now" button (#40972, #41426)
  • Use DelayedLoadingAndErrorWrapper component in Admin > Performance (#41103)
  • Reduce query runs before cache hit from 3 to 2 (#35630)
  • Query response time (#9408)

Command Palette (#39259)

Time-over-time comparison Offset window function in the query builder (#40313, #42751, #43224, #42753, #42318)

Custom columns with combine and extract functions

  • Make it easy to combine columns in chill mode (#39977, #42314, #38964, #42172)

  • Fix combine extract column drill icons (#42297)

  • Fix broken test in column extraction drill (#42202)

  • "Combine columns" drill thru (#39980)

  • Add plus icon to chill mode headers with extract column popover shortcut (#42151)

  • Add analytics events for extract via column header (#42093, #41350)

  • Add test to extract column tests for URL and email columns (#42096)

  • Text column combination modal in the notebook editor (#41178)

  • [Testing plan] Add Extract action to chill mode column headings (#39291)

  • Replace and delete CSV data, and other CSV improvements (#38788, #40365)

  • Let admins delete previous CSV uploads and their underlying table (#36369)

  • Auto-detect CSV separator on uploads (#34325)

  • CSV appends: integer columns should be convertible to float (#37069)

  • CSV upload fails on rows with float type among mostly integer values (#38958)

Smoother cloud migration (#39654, #43116, #43056, #42706)

Automated air-gapping set up

  • Allow license tokens that start with airgap_ (#42733)

Drivers

  • Update the driver changelog with new features (#43004)
  • Remove Google Analytics driver and related special case stuff (#42792)
  • Druid JDBC driver (#39938)

Embedding

  • Update link in "Powered by Metabase footer" on static embeds (#42889)
  • Embedding app origin setting should allow multiple origins for the Access-Control-Allow-Origin header (#42631)
  • Initial homepage experience for embedding admins (#40005)
  • Embedding SDK - integration commit (#40198, #40394, #40975, #41449, #40629, #41891, #41560)
  • Hide Error Diagnostic modal and triggers in all embedding contexts (#40677)

Let white-labeling customers customize illustrations (#39246, #25276)

Browse models (#36368)

  • Make Browse models table sortable (#42113, #42823, #42493)
  • Tweak the Model explanation banner (#42413)
  • Use new icon for verified models (#42689)
  • Don't explicitly set the dimensions of the verified model icon (#42702)
  • Move createMockModelResult to browse folder (#42690)
  • Ellipsify descriptions properly in Browse models (#42456)
  • Fix column widths in Browse models (#42601)
  • Linkify rows in Browse models table (#42111)
  • Add table of models to the "Browse models" page (#41614)
  • Add list of models to /browse/models (#41603)
  • Add palette actions for Browse models and Browse databases (#41592)
  • List models (using components of ItemsTable) (#41591)
  • Use breadcrumbs to display collection paths in Browse models (#41960)
  • Remove the tabs from Browse (#41955)
  • Add table of models to the "Browse models" page (#41954)
  • Move ItemsTable components to a higher-level folder (#41952)
  • Restore Models in Browse data (#40633)

Remove Trash from Metabase 50 release (#43159, #42339, #4013, #2783, #9555, #10987, #33180, #29229, #21341)

Other improvements, fixes, and new stuff

  • Include example dashboard in all new Metabases (#40066)
  • Add "Most used functions" to suggestion dropdown in the query builder (#41237, #41187)
  • Show generated SQL in a side bar automatically (#40254)
  • [ParseSQL] Support * (#40247)
  • [E2E] Refactor question commands to function helpers (#40236)
  • Improve subscription performance and debuggability (#41764)
  • Add hover card when picking a column to use for simple sandbox filtering (#39240, #39114)
  • Use LLMs for autocompletion of Question, Dashboard Titles and Descriptions (#39112)
  • Easy List Virtualization (#39074)
  • Parameter field mapping (#39042)
  • FE - Migrate dataset flag - move changes to master (#39041)
  • Fix availableDrillThrus typing (#38957)
  • Align paths in Prettier & ESLint scripts (#38951)
  • Include e2e directory in prettier scripts (#38948)
  • ParseSQL: Figure out which fields are used in which query (#38926, #38925, #38924)
  • Add license activation in the initial setup (#38867)
  • Allow reordering of items in notebook mode (#38862)
  • Remove global plain CSS styles (#38811, #40133, #40106, #40103, #40007, #39324)
  • "Contains" filter types on dashboards should allow users to pick values in the same way as an "is" filter (#38778)
  • [Epic] Appearance settings page polish (#38699)
  • Required parameters: follow-ups (#38603)
  • Surface column info in places where it’d be most useful (#38394, #38918, #38869, #38812, #38845, #38863)
  • Capture more metadata: table count, field usage, last viewed/used_at (#38229)
  • Fix liquibase rollbacks causing flaky tests on MySQL (#37884)
  • Migrate dataset: true to enum value (#37367)
  • RFC 70 - Automate sorting imports (#33883)
  • Enable drill-thru for single-row aggregates (#40174)
  • OpenAPI docs (#40162)
  • Connecting dashboard filters to cards can be difficult (#20048)
  • Clojure log macros should throw a compile-time exception if you use tru inside them (#15886)
  • Surface statistics about Pulse send status (#12084)
  • Do not translate error log messages, or add unique error codes for each error (#10764)
  • Make new native queries default to using the last-selected database (#8780)
  • Update the design for custom expression shortcuts (#43064)
  • Improved pivot QP: use MLv2 and avoid recursive preprocessing (performance improvement) (#40141)
  • Fix flaky BucketPickerPopover test (#42811)
  • Make plus button less prominent (#43118)
  • Update Metabase Analytics content for v50 (#42799)
  • Make Metabot Cool Again (#42797)
  • Restore default styles for subtle button (#42854)
  • Optimize creating preview queries on the FE (#42831)
  • Add canPreview and use it from the notebook (#42791)
  • New modal after adding a database (#42592)
  • Design update for column info (#42589)
  • Implement F&R for native queries with references to other cards and variables (#42582, #42580)
  • Fixes for Interactive Question theming (#42932)
  • Put bulk actions above popovers in collections (#42512)
  • Fix drill FK test flake by removing unneeded wait for /api/dataset (#42501)
  • Port CollapseSection to ts (#42333)
  • Remove snippets from search types (#42315)
  • Backfill QueryField on Metabase startup (#42279)
  • Use a Popover and user settings for filters (#41959)
  • Selecting multiple values for all text filters (#41956)
  • Port code relating to moderation to ts #41756 (#41903)
  • Add case for boolean columns in example (#41889)
  • Add Reset button for InteractiveQuestion (#41860)
  • [dc.js migration] missing combined card in subscription (#41787)
  • Enable customization of columns in ItemsTable (#41777)
  • Add analytics events for combine shortcut in notebook editor (#41766)
  • Add collection.effective_ancestors to model search results (#41746)
  • Add console.trace() when capturing console error (#41657)
  • Port six collection-related components to TypeScript (#41632)
  • Fix Dispatch type (#41631)
  • Store fields used in MBQL cards in QueryField (#41623)
  • 🤖 Backported "Migrate uploads settings to the DB-level behind the scenes, so the uploads DB can be set by the config file" (#43198)
  • Fix missing React key prop (#43179)
  • Enable running tagged tests defined in TS (#43172)
  • Bump dompurify in yarn.lock (#41583)
  • Fix broken test in FilterPicker (#41523)
  • Bump mysql2 from 3.6.3 to 3.9.4 (#41398)
  • Convert TableInteractive.module.css (#41294)
  • Localize text in AlertModals (#41254)
  • Support parsing native queries with a {{#card-id}} ref in them (#41242)
  • Update suggestions to use Mantine components (#41198)
  • Suggest the original question name for derived question in a "save question" modal (#41196)
  • Endpoint to delete uploaded tables (#41118)
  • [ParseSQL] Catch mutation commands (#41115)
  • Rename and re-order TTL strategy (#41108)
  • Add interactive question component with drill down (#41106)
  • Make search surface columns when I’m working on joined tables (#41085)
  • Allow changing data source in join (#40890)
  • Make info hover icons less intrusive (#40863)
  • Do not print stacktrace when client closes connection too early (#40834)
  • Migrate dashboards and alerts to RTK (#40791, #40789, #41311)
  • Fix model card overflow bug (#40736)
  • Fix some warnings in JS console (#40727)
  • Deprecate entity hooks (#40666)
  • Implement webhook handlers to reset/refresh query cache (#40548)
  • Record field usage during query execution (#40494)
  • Use "contains" and "between" as default filter operators for non-PK/FK/Category string and numeric columns (#40424)
  • Start of 50 Cycle Routine Clojure Dependency Bump (#40354)
  • Add UTM parameters to link (#42968)
  • Support parsing native queries with variables or a field filter in them (#39954, #39953)
  • Provide a list of outdated native queries (#39950
  • Support column addition / reordering (#39868)
  • Publish Snowplow events when appending to uploads (#39867)
  • Remove info icon on table (#39853)
  • [MLv2] Introduce swap-clauses to reorder aggregations, etc. (#39850)
  • [MLv2 × QP] Migrate pre-processing middleware metabase.query-processor.middleware.upgrade-field-literals (#39837)
  • Column info fixes (#39746)
  • [E2E] Overload the existing E2E visitQuestion helper to make it work with the alias (#39683)
  • Refactor cy.updatePermissionsGraph, cy.updatePermissionsSchemas & cy.updateCollectionGraph to TypeScript (#39675)
  • Refactor cy.archiveQuestion, cy.createQuestion & cy.createNativeQuestion to TypeScript (#39614)
  • Use arrow functions in e2e & unit tests definitions (#39512)
  • Convert column to float when appending floats to an integer column (#39493)
  • ring-json already supports converting stuff to keywords (#39416)
  • Use table2 icon for questions (#43095)

Bug fixes

  • Stack values to show setting does not work with ordinal x-axis scale (#43454)
  • CSV downloads for pivot tables are missing header row when multiple measures exist (#43325)
  • Wrong columns shown in Extract/Combine expression when aggregation is present (#43222)
  • Redundant #edit in the URL after creating a dashboard (#43192)
  • Improvements to examples collection (#43190)
  • MYSQL - Regexextract option is not available anymore in GUI custom column (#43180)
  • Filters connected to categorical fields don't work anymore if question is based on a model (#43154)
  • New Search button does not shrink on mobile (#43083)
  • Improve browse models table render performance (#43014)
  • Admin Email does not Display on Question Timeout Page (#42929)
  • Metabase doesn't automatically center-align labels in horizontal axis when removing columns (#42695)
  • Metrics (v1) revisions API is broken (#42633)
  • [Bug] Cannot sort by aggregation that uses Offset() (#42554)
  • diagnose-expression throws when Offset is nested (#42377)
  • Offset() doesn't work after saving a question (#42323)
  • [dc.js migration] static charts crash on stats (#42282)
  • Cannot tab through fields in Save Question modal (#41683)
  • [dc.js migration] waterfall chart with unaggregated time-series data is broken (#41551)
  • Hovering on legend to see a specific series always shows first series as well (#41526)
  • Configuring sandboxed permissions in schemaless databases removes tables from the list (#41490)
  • add-alias-info gets confused when using multiple nominal field literal refs for same column in source query (#41325)
  • Visual regression: too many items are getting a separator (#41136)
  • Dashboards are broken (#41071)
  • lib.convert/->legacy-mbql incorrectly generates :aggregation-options clauses in :expressions if they contain certain options (#41053)
  • mbql.u/add-order-by-clause ignores clauses if an order by already exists for that field even if temporal unit is different (#40995)
  • unique-name-generator generates incorrect names, which can cause broken queries (#40994)
  • add-alias-info breakouts with multiple order bys on the same field (#40993)
  • Use window function versions of cumulative aggregations for BigQuery (#40992)
  • Fix window function cumulative aggregations for SQL Server (#40990)
  • Model descriptions overflow when they contain a long URL (#40725)
  • Visualization differs after converting question with aggregation and breakout to SQL (#40711)
  • Not possible to save static text as a custom expression (#39438)
  • Audit collection permission not the same as audit permission in settings (#39197)
  • Charts that Render via GUI Fail to Render in Subscriptions (#39178)
  • Native query editor offers data source a user does not have native write permissions for (#39053)
  • [MLv2] fromLegacyQuery drops invalid expressions (#38954)
  • Custom column disappears after creating with case(isempty([Some Column]), "true", "false") (#38944)
  • Broken list of columns in table settings if the setting value is out of sync with the query (#38908)
  • Metabase is sending alerts half an hour after it is actually scheduled to send alerts (#38800)
  • Archiving and unarchiving a collection leaves dashboards in the collection empty (#38646)
  • A dashcard with multiple scalars shows two legends (#37287)
  • "Abbreviate days and months" setting is not respected in subscriptions (#36850)
  • Chart tooltip not showing all series in breakout (#34901)
  • Subscription report not similar on mail (#33798)
  • query_metadata does not load in parallel (#33786)
  • Pulse card render error when sending dashboard via e-mail. (#33705)
  • Hover on a breakout series fades other lines but not the numbers (#32412)
  • Charts such as Line or Bar are not able to interpret the difference between an empty string and NULL (#31238)
  • Dashboard "still waiting" text ambiguous (#31135)
  • Relative links inside tables get encoded characters and fail (#30894)
  • Dashboard subscription y-axis don't match the custom range (#30807)
  • Y-axis ticks cut off on the static line/area/bar chart in certain cases (#30609)
  • static viz: Stacked area charts with 100% stacking show up in alerts/subscriptions as regular stacking (#30551)
  • dates on x-axis get cramped together (#30325)
  • Stacked bar graph is rendered as unstacked bar graph in e-mail/slack subscription (#30315)
  • Line Style formatting doesn't stick on e-mail/slack subscription (#30142)
  • Large sets of collections in the Move modal takes a long time to load or doesn't work (#30117)
  • Trend lines are not generated in subscriptions (#29836)
  • y-axis is unnecessarily split in static visualizations (#29281)
  • Y-axis in static visualizations can get too cramped when x-axis is rotated 90 degrees (#28822)
  • Summarizing with category field type (Data Model column) breaks Visualization Style/Colour options (#28523)
  • Log scale doesn't show y-axis values when data points are close to each other (#28186)
  • Metabase subscription email not correct graphs (#27963)
  • Incorrect Y-axis unit in subscription email for line chart (#27942)
  • Static visualization for simple stacked lines produces different result in Slack (#26769)
  • Objects that are unarchived without parent collection being unarchived are orphaned (#26168)
  • Area graph stacked in dashboard subscription email but unstacked in question (#25896)
  • Waterfall charts with non-aggregated data improperly calculate y-offsets (#25597)
  • Changing X-axis breaks, when an invalid "X-axis scale" is defined can cause blank visualization or error (#25156)
  • Static viz and App disagree in bar charts (#23743)
  • Wrong number of distinct values in a native model (#23103)
  • When moving a collection, invalid choices should just be disabled (#21786)
  • Static viz multi-series shows two Y-axis (#20559)
  • Delete button appears on archived collection (#18372)
  • Adding an "on" date filter without a specific time to a custom date column returns no results (#17807)
  • Should be able to run a card with another card as its source query with just perms for the former (#15131)
  • The results of divide or multiply two CumulativeSum are incorrect (#15118)
  • Long Running Pulses will block other pulses from running (#14613)
  • Cumulative Sum/Count fails when there's a custom column after the calculation (#13634)
  • Clicking RawData-toggle on pivoted table makes the question dirty and shows Save-button (#11994)
  • scatter plot Y-Axis Minimum won't set correctly (#11968)
  • Unexpected behavior when setting manual y-axis range on scatterplots with bubble size variables (#11889)
  • Subscription charts rendering in Outlook does not look correct (#6874)
  • Different chart rendered in pulse from question (#5493)
  • Cumulative aggregations with multiple breakouts should reset count/sum when values of one specific breakout columns change (#2862)

v0.49.13

2 weeks ago

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

Notes

SHA-256 checksum for the v0.49.13 JAR:

3d852ab3383fceef3608b9a98f8dec6c467a1f48de728173deeacd19a6b1fa54

Changelog

Bug fixes

  • Trend charts should break down gracefully on missing data (#42948)
  • Azure AD SAML and SLO logout error (#41600)
  • Error when importing MongoDB database with collection having nested fields with more than 1 level of nesting (#40551)

v1.49.13

2 weeks ago

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

Notes

SHA-256 checksum for the v1.49.13 JAR:

43d27d38cde5d9aa028cb61e283f033a04fae81490cd3d9b5a4266cd4bdef4a0

Changelog

Bug fixes

  • Trend charts should break down gracefully on missing data (#42948)
  • Azure AD SAML and SLO logout error (#41600)
  • Error when importing MongoDB database with collection having nested fields with more than 1 level of nesting (#40551)

v0.49.12

3 weeks ago

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

Notes

SHA-256 checksum for the v0.49.12 JAR:

f931d0e22ef030effbe8c36376f0e8aacb45717927679fc5f364cd5e7d3b8274

Changelog

Bug fixes

  • Fix report_card.collection_preview in v49 (#42950)
  • Correct type for report_card.collection_preview (#42919)
  • 🤖 backported "Fix border appearing on dark mode if bordered=false" (#42898)
  • Fix border appearing on dark mode if bordered=false (#41514)
  • Pivot table becomes broken if a breakout clause is added without visualizing the question (#42697)
  • Clicking existing filter breaks question based on model (#41783)
  • Cannot duplicate or save questions when moving from 42 to 49 (#40600)

v1.49.12

3 weeks ago

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

Notes

SHA-256 checksum for the v1.49.12 JAR:

73708c70dd2e41a2edde42f5aea1463dbf18de9b850122e530fca8f567b01e80

Changelog

Bug fixes

  • Fix report_card.collection_preview in v49 (#42950)
  • Correct type for report_card.collection_preview (#42919)
  • 🤖 backported "fix: border appearing on night theme if bordered=false" (#42898)
  • Fix the border appearing on dark mode if bordered=false (#41514)
  • Pivot table becomes broken if a breakout clause is added without visualizing the question (#42697)
  • Clicking existing filter breaks question based on model (#41783)
  • Cannot duplicate or save questions when moving from 42 to 49 (#40600)

v0.49.11

4 weeks ago

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

Notes

SHA-256 checksum for the v0.49.11 JAR:

b0b41d2238f66c1e0a79bc27d9f8ba9b0cf6cf29bf4afe65e36756033e43ac08

Changelog

Enhancements

  • Make JSON parsing more efficient on the JSON unfolding feature (#34798)

Bug fixes

  • Fix dashboard subscription's Japanese file name of attachment (#41669)
  • Fix metadata loading issues after tabs (#42655)
  • Fix migration issues related to a missing encryption key (#42612) (#42611)
  • Realize database transient rows in after-select hook before calling driver.u/features (#42744)

v1.49.11

4 weeks ago

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

Notes

SHA-256 checksum for the v1.49.11 JAR:

c95a34020a9ab8dd704196110325bd82cf823210336f776c44309ede031e5567

Changelog

Enhancements

  • Make JSON parsing more efficient on the JSON unfolding feature (#34798)

Bug fixes

  • Fix dashboard subscription's Japanese filename of attachment (#41669)
  • Fix metadata loading issues after tabs (#42655)
  • Fix migration issues related to a missing encryption key (#42612) (#42611)
  • Realize database transient rows in after-select hook before calling driver.u/features (#42744)