Metabase 64

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 64.0-beta

NOTE: This is a beta release. We don’t recommend running this in production without testing it in a staging environment first. If you encounter any issues with this beta, please report them on GitHub.

What’s in the release? | 64.0-beta

Metabase v64 focuses primarily on security hardening and UX improvements.

Upgrading | 64.0-beta

Metabase Open Source | 64.0-beta

Metabase Enterprise | 64.0-beta

Breaking changes | 64.0-beta

  • Custom visualization SDK v2.0 revamps several settings.

    • In particular, your custom visualization might stop working if:
      • it uses a custom viz setting named column or column_settings - it’ll need to be renamed (before upgrading Metabase to 64). column is now a reserved name.
      • it has the : character in its identifier (id)
      • uses colorScheme prop - it’ll need to use renderingContext.colorScheme instead
      • it uses settings property of ClickObject
      • overrides internal Metabase viz settings using onChangeSettings.

    See the Custom visualization changelog for more details and remediation.

    Custom visualizations developed using custom viz SDK v1.x are guaranteed to work only in Metabase 62 and 63. Custom visualizations developed using custom viz SDK v2.x are guaranteed to work in Metabase 64 and later.

  • Some Metabot-related environment variables have been removed (but settings still remain):

    • Removed variables: MB_METABOT_CHAT_SYSTEM_PROMPT, MB_METABOT_NLQ_SYSTEM_PROMPT, MB_METABOT_SQL_SYSTEM_PROMPT, MB_METABOT_ADVANCED_PERMISSIONS, MB_METABOT_LIMIT_UNIT, MB_METABOT_LIMIT_RESET_RATE, MB_METABOT_QUOTA_REACHED_MESSAGE

    • Configure these settings through Admin UI or configuration file instead.

  • Metabot will not generate transforms anymore. Stay tuned for a new way to generate transforms with AI!

  • Endpoints that fetch prefill values for action forms now send parameter values via POST body instead of URL query string #77939

  • Due to an update of switch components, the switch-off color token is removed from MetabaseColorKey, and therefore from the public MetabaseEmbeddingColorKeyV2 / MetabaseEmbeddingThemeV2["colors"] type.

    • If you are using the modular embedding SDK and set colors: { "switch-off": ... }, you will get a type error. Rename to switch-unchecked.

AI updates | 64.0-beta

  • MCP v2, new and improved

    • Completely revamped and improved MCP server.
    • New tools for reading and writing almost anything in Metabase
    • Work with any entity: questions, dashboards, metrics, documents, filters, tabs, text cards, alerts etc
    • Use the your-metabase-instance-url/api/metabase-mcp endpoint to connect your agent to the MCP server. If you already have an agent using the older version of MCP v1, you’ll need to remove and re-add the connector.
  • More AI models and providers

    • Google AI provider (Gemini and Anthropic models)
    • Mistral AI provider
    • Z.AI provider
    • DeepSeek AI provider
    • Moonshot AI provider
    • GLM 5.3, deepseek-v4-pro-0813, and Qwen 3.8 Max models in OpenRouter
    • Self-hosted vLLM models
    • You can now connect multiple providers at once.
    • Go to Admin > AI > AI settings to connect an AI provider or choose a model.
  • MCP and CLI analytics

    • See a detailed breakdown of usage for the MCP server and CLI tools: monitor usage, clients, errors etc
    • Go to Monitor > MCP analytics or Monitor > CLI analytics.
  • Conversation history

    • You can now revisit and continue your previous conversations with Metabot, and your previous AI explorations
    • Your conversations are saved automatically
    • To revisit Metabot conversations, open the Metabot sidebar, click the Clock icon, and pick a recent conversation. To revisit AI explorations, go to + New > AI exploration, and click the Clock icon in the top right.
  • Support treemap and boxplot charts in Metabot

    • Metabot can now create the recently added chart types.
    • Just ask Metabot to create a treemap or a box plot (as long as your data is appropriate for these charts!)
  • Metabot will no longer generate transforms. Stay tuned for a better way to generate transforms with AI!

  • Making your AI experience more pleasant

    • Metabot will now show its reasoning on models that support it
    • Inline charts in AI Exploration now have Save and Copy buttons that support pasting charts into collections, documents, and dashboards
    • Metabot will warn you when a conversation is reaching its context window limit
    • You can now fork a Metabot conversation while keeping the original chat intact.
    • There’s now a prompt toggle button in the SQL editor header (previously you could only use a keyboard shortcut)
    • Metabot now detects when a response is cut off by the max token limit or when a conversation hits max iterations, warns you, and lets you continue the conversation
    • …and more
More AI updates...
  • Bedrock Metabot connections can now use the AWS default credentials chain #80512
  • Support Anthropic fast mode for Metabot #80511
  • Require credentials when changing LLM provider base URLs #81450
  • Enforce a network policy on LLM provider base URLs #81301
  • Keep the Metabot illustrations switch visible while illustrations are off #81871
  • Slackbot now gives specific error messages for known issues like denied AI permissions or misconfigured providers, instead of a generic error. #81200
  • Context window improvements #81133
  • Metabot: remove extraneous data from non-500 errors with an error code #81201
  • Charts in Metabot usage analytics conversation view no longer auto-run; each chart requires clicking a Run query button. #81215
  • Refresh settings cache before reading LLM providers #81714
  • Hide the MCP server URL when the MCP server is disabled #81195
  • Respect row-level security, impersonation, and routing in Metabot metadata #80723
  • Post Metabot’s Slack answer as a markdown block #80652
  • Remove explain chart button #80355
  • Add support for using a separate mini model for simple tasks like generating conversation names #78954
  • Show a clear error message when attempting to enable AI on a subscription for an org that already has the AI add-on #80017
  • Metabot now redirects to login when your session expires mid-conversation, instead of showing a stuck or confusing error. #79742
  • Metabot now shows a content-filter notice when a provider refuses to complete a response, instead of failing silently. #79336
  • Suppress the Metabot sidebar in AI Exploration mode #79574
  • Increase max_tokens for Anthropic models #79030
  • Restore clickable tool calls in Metabot debug chats #79318
  • Animated markdown streaming for Metabot responses #78046
  • User conversation history + resumable conversations #77549
  • Improve Metabot’s LLM error handling: better mid-stream failure and retry detection, and clearer invalid JSON error reporting. #78003
  • Semantic search can now run against the app database automatically when it’s Postgres with pgvector #77371

Embedded analytics updates | 64.0-beta

  • Support custom viz in web components-based modular embedding
  • Support to show “all” collections in the collection browser embedding components
  • Redact Metabot chain-of-thought details in embedded sessions
More embedded analytics updates...
  • Apply embedding theme colors to hand-picked colors in charts #81014 #80881
  • Strip template tags from public and embed native queries #80574
  • Remove unused data from embed and public endpoints #80510
  • Automatically enabled the custom viz used in entity in the embed wizard #79183 #78133
  • Set showDashboardQuestions to false by default on SDK CollectionBrowser #78038
  • Derive dark mode color scheme based on SDK theme colors #77269

New features | 64.0-beta

See AI updates and Embedded analytics updates for new features in those areas.

Transforms

  • Index manager for transforms
    • Create and maintain indexes on transform-created tables from Metabase
    • Indexes are useful for improving performance for common queries
    • Go to Data Studio > Data transformation > [your transform] Indexes to get started
  • Re-run transform DAG
    • You can now rerun all upstream or downstream dependencies of a transform with one click
    • Go to the transform’s page and click the v icon next to the “Run” button to select which part of the DAG to run
  • Lookback window for incremental transforms
    • An incremental transform normally only processes rows newer than its checkpoint, so if data arrives late those rows are silently missed.
    • Now you can add a lookback window to force the incremental transform to re-process the already-seen data behind the checkpoint so late-arriving rows are picked up.
    • Go to Data Studio > Data transformation > [your transform] > Settings to configure

Two-factor authentication

Reminder: support for 2FA was added in Metabase v63. In v64, we’ve added more 2FA functionality:

  • Mandatory 2FA enrollment
    • Admins can enforce 2FA enrollment on their instance (immediately or by a certain date)
    • People without 2FA set up will be prompted to configure it
    • Go to Admin > Authentication > Overview > Two-factor authentication to configure
  • See enrolled users
    • Admins can now see full lists of people who are enrolled (and not enrolled) in 2FA
    • Go to Admin > Authentication > Overview > Two-factor authentication to browse the enrollment lists

Metric dimensions

You can now define a set of curated breakout dimensions for metrics to help people break out metrics in reasonable ways.

  • For example, if you have a metric “Revenue”, most people using it don’t need to see or use every one of the 135 dimensions of the underlying table, they just need to see the revenue by e.g. date, customer age, plan, location etc, so you can define these as dimensions for the revenue metric.

  • Choose a default dimension that determines how metrics are displayed on dashboards and in the metrics explorer.

  • Rename and reorder dimensions to make metrics more user-friendly.

  • Visit a metric and switch to the Dimensions tab to get started.

Monitor

Monitor is a new top-level area in Metabase that gathers together all things observability-related (old and new). It includes:

  • Content management (dependency diagnostics, erroring questions, alert management)
  • Logs and activities (tasks, jobs, logs)
  • AI auditing (usage stats, conversations, and new in v64 MCP and CLI analytics)

Click on the grid icon in the top right corner of your Metabase and select Monitor to explore.

Visualization quality of life upgrades

  • Add “copy value” click action to charts
  • Add “copy to clipboard” for charts and query results (bottom right corner)

Database features

  • Support passphrase-protected private keys for connecting to Snowflake #43576
  • Make Offset() function available for ClickHouse #79177
  • Support Google Cloud Universe Domain in BigQuery driver #68607

Notable UI changes | 64.0-beta

  • We updated the appearance of a number of components. You might notice slight changes in colors, sizes, and fonts.

  • Number and Trend dashboard cards have been restyled. In particular, the title of number cards is back to being displayed under the number.

  • Metrics and models are no longer auto-pinned in collections

  • Pinned items in collections can no longer be displayed as visualizations

  • Dashboard autorefresh configuration is now in the dashboard’s three dots menu

  • Remote sync branch picker has been moved to Admin > Remote sync instead of appearing in the header throughout Metabase (you can still see the branch everywhere but you need to go to Admin to change it)

  • The following features have been moved to the new Monitor area of the app:

    • From Data Studio to Monitor:
      • Dependency diagnostics (previously in Data Studio)
    • From Admin > Tools to Monitor:
      • Erroring questions
      • Alert management
      • Tasks (now called “background tasks”)
      • Jobs (now called “Scheduled jobs”)
      • Logs (now called “Application logs”)
      • Model cache logs (now called “Model persistence log”)
    • From Admin > AI to Monitor:
      • Usage auditing
      • Conversations
  • A number of Data Studio features have been reorganized and renamed:

    • “Tables” is now called “Connected data”
    • “Library” from v59-63 is now called “Semantic layer”
    • “Transforms” is now “Data transformation”
    • Dependency diagnostics have been moved to the new Monitor area of the app
  • Settings for allowed image and iframe domains are now under Admin > Settings > Domains

  • Account-level 2FA settings have been unified with account password settings in Your account > Authentication

Enhancements | 64.0-beta

  • New implementation of pivot table backend that significantly improves performance. Opt-in for now, try it out by setting MB_USE_NATIVE_PIVOT_TABLES to true
  • Collection improvements:
    • Filter and search items in collections
    • More compact pinned area
    • Shift-click to bulk-select items, Delete/backspace to move to trash, Esc to cancel
  • Bulk actions in the Library #74701
  • Library in Data Reference #74700
  • Show table publisher and publish date in the Library #79074
  • Add enable/disable setting for Transforms in Data Studio: you can disable transforms to avoid unexpected charges
  • Add a job status column to transforms job page
  • Human-readable permalinks for dbs, schemas and tables #8657
  • Show actual unsynced content in the unsynced content warning
  • Alerts now require setting a time, to avoid scheduling all alerts at 8:00 AM
  • Improve quality of visualizations in PDF subscriptions
  • Respect the text wrapping on tables in PDFs in subscriptions
  • Show all connected parameters when setting up a subscription
More enhancements

Administration

  • Only download slackbot files from Slack hosts #82320
  • Clarify map tile server URL settings copy to warn against embedding private keys #81835
  • White-labeling: email attachment/inline image filenames hardcode metabase_ prefix #81963
  • Scope tenant endpoints and pulse recipients by tenancy #81765
  • Added map-tile-server-allowed-networks setting #81243
  • Schedule picker now keeps already-picked time/day values when changing frequency, instead of resetting to defaults #80758
  • More clarity around revoking credentials when “base” entity is gone/deactivated #80556
  • Treat API-key users consistently across user endpoints and attributes #78976
  • Hide all tenant groups/users from perms graph api when multi-tenancy is enabled #74973
  • Improve session management #80243
  • Check the email_verified claim in the generic OIDC provider #80269
  • Only serialize Channel details for callers who can write the channel #80057
  • Add markdown rendering support to the Security Center #79737
  • Make all Alerts Management tabs visible by default #79166
  • Export only user-edited field metadata instead of every database field from published tables in Remote Sync, reducing file count and sync time #76843
  • Accept JWT in the body or in parameters according to the method #75656
  • Add per-version download link to Security Center advisories #77677
  • Show redirect destination on the OAuth consent page #77578

Database

  • Clearing description, semantic type (removing an FK), or foreign key target now sticks across syncs. #82246
  • Improve Oracle parsing of JDBC URLs #80043
  • Quote ClickHouse impersonation role as a single identifier #80820
  • SQL Server transform target tables now create :type/Text columns as nvarchar(max) instead of the deprecated text type #78861
  • Parse username/password from Redshift connection string URL into dedicated fields instead of putting them into additional JDBC options #78412
  • Enforce the 50 MB CSV upload limit on the backend #77363

Querying

  • Better error handling on result_metadata.settings #80909
  • Data Picker now shows a tooltip explaining why tables/databases can’t be joined across databases #78673
  • Filter out other users’ personal collections from search in data picker #78353
  • Reprocess a transform’s full upstream/downstream dependency DAG #76974
  • New grouping-set based pivot compilation path for SQL drivers, improving pivot table query performance #76560

Visualizations

  • Custom visualization plugin settings are now namespaced, preventing plugins from overwriting internal Metabase viz settings. #81181
  • Preserve custom visualization in drill-through where it makes sense #79325
  • Reject ’:’ in custom viz plugin identifiers #81886
  • Make checkRenderable optional in custom viz #81884
  • Display percentages instead of values in stacked bar charts #67702
  • Custom viz SDK 2.0 #78354
  • Omit negative values from treemap instead of producing wrong percentages #77601
  • Keep dominant treemap share honest instead of rounding to 100% #77602
  • Avoid strings being treated as formulas in Excel if they start with = + - @ #81258

Other

  • Allow adding cards to documents without ad hoc query-authoring perms #80775
  • Update “How to use Metabase” #79024
  • Invite-to-view group picker now shows all groups, marking which ones already have access to the dashboard or question #77898
  • Add JetBrains Mono as the code font #82278
  • Reject implicit-join field refs in tile endpoints #80480
  • Require explicit schemas for API endpoints #79521
  • Add AI provider step to onboarding flow #78001
  • Remap incremental transform checkpoint filter field IDs in serialization #78666
  • Remove redundant table id from segment and measure API #77716
  • Improve document read/write performance #76018
  • Improve SVG handling #80249
  • Partition the query_execution table when using Postgres AppDB #78497
  • Add LTS Docker tag to releases #77885
  • Improve queue handling when there is no quartz available #78145
  • Try config.yaml if config.yml does not exist when reading config file #73552
  • Persistent Queue #76352

UI polish

  • Use Markdown for Measure/Segment description fields #80490
  • Fix misaligned undo toast #82045
  • Link conversation user groups to filtered usage stats instead of permissions #81869
  • Split the SSO auth settings pages into card sections #81750
  • New UI for database caching settings #80034
  • Update the OpenRouter provider logo to the refreshed brand mark #80253
  • Fix stray divider line appearing above grouped Select options when search filters out an entire group #80197
  • Make query builder breadcrumb text the same size #79889
  • Combine account password and security tabs #79677
  • Wrap long toast notifications for unavailable visualizations #79766
  • Keep the remove-table button in the row when table names are long #79760
  • Add Data Studio guide page and reorganize sidebar navigation #76707
  • Hide Metabot copy action for textless responses #79727
  • Align icon and text in incremental transform alert #79681
  • Toggle component’s label is glued to its visual toggle #78685
  • Restyle the sharing popover with Copy link and Embed buttons above the actions list #78584
  • Swap placement of dashboard Subscriptions action with Auto-refresh action #78063
  • Make AI auditing Conversations table horizontally scrollable #78378
  • Make model-illustration.svg work well in both light and dark mode #68072
  • Update table loading skeleton to use patterns #78361
  • Loading Skeletons in Entity Picker #78160
  • Use table slug in record’s details URL #78126
  • Add pagination and sorting to tool calls in MCP analytics #77599
  • Move remote-sync branch switching into Settings with destructive-action guard rails #77286
  • New UI for timeline events display on charts #76381
  • Replace the group picker dropdown in invite/create/edit user form with a multiselect #76648

Bug fixes | 64.0-beta

Administration

  • Switching from postgres to bigquery throws a malformed url exception #77480
  • PUT /api/setting/last-used-native-database-id returns 500 #76900
  • Changing allowed domains for iframes and images does not reload the page #80489
  • Race condition when rapidly toggling an admin setting could lose the latest change after a failed save #80737
  • reset-password CLI generates unusable tokens for deactivated users #77561
  • Permission routes fail when opening database tables #81324
  • UI does not allow setting or correctly show cache durations of less than 1 hour #79173
  • 2 vertical scrollbars in Admin when deprecated driver is used #77949
  • JWT SSO + tenancy: a JWT carrying a valid @tenant for an existing tenant intermittently creates a non-tenant (internal) user #78413
  • Webhook destination cannot be saved from the UI #74812
  • User first and last names are logged on successful SAML authentication #75322
  • Broken Security Center layout in error state #76888
  • Tenant avatars show question marks #73910
  • Remote Sync: “Uses content that is not remote synced” blocks config with no user-accessible way to identify the blocking content (converted to project) #78978

Database

  • Can’t change default schema in Snowflake connection created pre-v42 #65493
  • BigQuery: datetimeDiff(a, b, “day”) loses a day across a spring-forward DST transition #82193
  • Large-scale Databricks with multiple catalogs enabled: IN tuple comparison slows down field sync and takes ~3.5 minutes per schema #79504
  • SQL Server incremental transforms failing when target table inherits IDENTITY property from source #77539
  • BigQuery Datasource “Project ID (Override)” Property appears to be Ignored #73271

Performance

  • Audit DB sync slowdown on fresh appdb boot caused by unreleased JDBC savepoints #77562

Operation

  • App-db c3p0 connection pool never dispatches acquire task on startup — silent 30s checkout timeout, self-resolving #81440
  • Serialization imports to an older Metabase version can break content with no warning #78849
  • Adaptive caching strategy - “Minimum query duration” is ignored and every query gets cached #78340
  • Increase display time for short-lived gray error message during Git sync cancellation #79029
  • Serialization fails when SQL variable with custom dropdown list uses question from a deleted DB #62297
  • Serialization - Native questions referencing other questions become “dirty” after import #77516
  • Serialization resets “last_used_at” making auto-trash useless #56115
  • Failed cache refresh (e.g. result too large) leaves refresh lease held and keeps serving stale cache #78075
  • Remote Sync push screen hangs with +18k diffs #77767
  • Serialization exports can silently produce incomplete/dangling archives that only break at import #76763

Embedding

  • Editable dashboard collapses after click editing #77509
  • SDK Loader position shift during a Question loading #61539
  • Remote Sync does not copy Card embed settings (published status + params); updating embed fails on read‑only instance (UI + API auth error) #72752
  • Embedding SDK: useMetabot() does not show the SQL editor when Metabot opens one — only the result window is visible #76821
  • Global dashboardCardMenu plugin passed to MetabaseProvider does not work #76896
  • Embedding checkout wizard doesn’t load dashboard #76691

AI

  • Slackbot upload failures feed raw driver errors to the model #81202
  • Metabot incorrectly quotes identifiers when auto-fixing SQL, which broke column resolution on case-sensitive dialects like Snowflake #79674
  • Metabot’s search tool splits a single-word query into individual letters when displaying chain-of-thought reasoning #80107
  • Metabot goes silent if it generates an invalid Slack response #74943
  • Metabot generates invalid queries when adjusting multi-stage questions built on saved questions/models #78799
  • Metabot YoY growth query fails with error: expects a number in aggregation #78494
  • Not able to select Sonnet 5 in the AI feature connect page #77637

Querying

  • Transform inspector: clicking a lens card opens the question with a different visualization (pie → bar) #79794
  • Dates with convertTimezone are displayed in report timezone in Postgres #27186
  • On-demand field values can take forever to load #81753
  • Confusing warning message about mismatched timezones even when the time zones are equivalent #14040
  • Choosing metric in metrics explorer causes HTTP 500 on /api/activity/recents #79571
  • Slow SQL query editor when time based chart shown #63819
  • Model Metadata overrides (renamed columns, semantic types) are silently reverted for sandboxed users #79060
  • SQL-parse timeout handler crashes on unregistered :metabase-sql-parsing/timeouts metric, masking the real timeout error #77084
  • Same-named fields from different joins after creating a custom column cannot be distinguished #76986
  • Running a python transform without any table selected returns an unknown error #78092
  • Grouping datetimes as “Unbinned” bins them by day #72206
  • Tooltip teleports to top left corner of the viewport when disappearing #77927
  • Updating CSV data through duplicated upload-backed model mutates original model/table #76147
  • Searching with more than 2 letters in the Table-to-map dropdown makes the search box disappear #77946

Dashboards

  • Dark theme: dashboard tab scroll button has a light-colored gradient #82215
  • Dashboard tab selection not persisted on page refresh when Metabase runs under a subpath #76946
  • Click behavior doesn’t work on some date columns #72863
  • Incorrect sorting in dashboard tables with varchar columns #67756
  • Duplicated dashboard tabs share header filters with original tab #77002
  • Attaching a PDF to a Slack subscription sent to a DM does not include the PDF or viz #78263

Documents

  • Name input for card embedded in document doesn’t have selection highlight #82494
  • Misplaced “x” button in documents visualization settings sidebar #81348
  • Tooltips in the comment editor’s bubble menu appear in the top left corner of the screen after the text in the comment editor is deleted #76365

Visualizations

  • “Every data point is off-screen” is shown on bar charts when bars are on screen #81721
  • Grid maps in exports/subscriptions show flat colors when the mapped dimensions are not unique #80354
  • Chart legends would flash in after the chart initially rendered #79458
  • Pie charts in PDF/email exports are not centered and legends are cut off #77303
  • Larger tooltip width contents are not viewable #68337
  • “Show dots on lines” set to Auto does not show dots for breakout series with only a single point #76723
  • Gray color listed twice in viz settings color picker #80823
  • Timescrubbing highlighted bars differ vs. returned query #58049
  • Trend visualization fails for native MongoDB queries #80751
  • Questions with Visualizer Settings Display Download option on Dashboard even if Download is Disabled #64333
  • Axis labels are incorrect and don’t match the tooltip when using timezone naive strings #56580
  • Maps are incorrect when the dimension(s) used for mapping are not unique #69659
  • Pivot table not applied by default due to columns cardinality cache key collisions #48874
  • Refresh leads to custom viz reverting to standard viz #76065
  • Detail widgets lack description attributes #68682
  • (empty) tooltips on “Bar” type funnel viz #76933
  • Pivot table does not filter on custom expression #79023
  • Sankey click behavior may send wrong node value to the dashboard filter #78113
  • Chart settings popover submits new value on Esc press #75868
  • Wrong color in Trend chart in PDF export #77001
  • X-axis labels in subscription preview appear/disappear inconsistently based on browser window width #68049

Organization

  • “Attachments can contain up to 2,000 rows of data” is hardcoded/incorrect #79861
  • Personal collection is not created synchronously when creating a user via POST /api/user #78430
  • Library handling is inconsistent after downgrading from Pro #73143
  • Browsing to an entity with an invalid non-numeric ID returns an infinite loading spinner with no error #78725
  • You can’t drag-and-drop something into a sub-collection of the collection it’s already in #37329
  • Timezone detail is missing when setting up subscriptions #69496
  • Turning “Display welcome message on the homepage” off does not remove welcome message from the homepage #76325
  • Translated unit for minutes when setting alert shows interpolation placeholder #77265

Reporting

  • Incorrect column names on Slack/Email alerts #71069
  • Pivot Table Currency Symbol format is not respected on downloads #75877
  • Export drops column visibility/order settings when one table.columns entry no longer matches a result column #75791
  • Closing “New event” modal closes “Events” modal #80427
  • Disabled filled Button with a custom bg renders dark text on a colored background #79914
  • An empty dashboard “does nothing” when clicking the Export as PDF button #79301
  • Duplicate tab crashes when dashcard data is not loaded #78876
  • All months are not visible in date picker when creating a new event in dark mode #77094
  • Printing Documents with charts increases margins and shrinks chart #74181

Other

  • Navigation to Admin area doesn’t work from unsaved SQL question or document #82316
  • “Send now” in the question alert modal is never disabled #79881
  • Alerts management: active tab count badge unreadable in dark theme #80125
  • Model metadata editor UI issues #79711
  • Model metadata editor UI issues #79711
  • Dashboard header collapse next to open edit sidebar #79431
  • Database form is cleared when changing database type #74569
  • Long metric names overflow in browse/metrics table #78583
  • CLS when changing tabs on jobs page #76993
  • Python transform shows unsaved changes after focusing the table name input #77712
  • Action menu is too wide when editing a dashboard #76056
  • New action modal has redundant vertical scrollbar #76064