<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Ramiro</title>
    <description>The latest articles on Forem by Ramiro (@ramiro__nd).</description>
    <link>https://forem.com/ramiro__nd</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F51517%2Fba13e59d-db9c-4c28-a1ec-c12e61362943.jpeg</url>
      <title>Forem: Ramiro</title>
      <link>https://forem.com/ramiro__nd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/ramiro__nd"/>
    <language>en</language>
    <item>
      <title>Meet Data Studio: tools to curate your semantic layer in Metabase</title>
      <dc:creator>Ramiro</dc:creator>
      <pubDate>Wed, 11 Mar 2026 17:26:28 +0000</pubDate>
      <link>https://forem.com/metabase/meet-data-studio-tools-to-curate-your-semantic-layer-in-metabase-2jn0</link>
      <guid>https://forem.com/metabase/meet-data-studio-tools-to-curate-your-semantic-layer-in-metabase-2jn0</guid>
      <description>&lt;p&gt;Metabase has grown a lot over the past few years. We've added a bunch of tools to help people stay on top of their analytics as things scale.&lt;/p&gt;

&lt;p&gt;Eventually, it became clear these tools needed their own home.&lt;/p&gt;

&lt;p&gt;Today, we’re introducing &lt;a href="https://www.metabase.com/product/data-studio/" rel="noopener noreferrer"&gt;Metabase Data Studio&lt;/a&gt;, a place where teams can shape their data and define shared metrics.&lt;/p&gt;

&lt;h2&gt;
  
  
  Analytics starts simple. Then it gets… less simple
&lt;/h2&gt;

&lt;p&gt;One goal at Metabase has always been to help non-technical people answer questions with data. And at first, that’s easy. You connect Metabase to your database, build a few dashboards, and things feel straightforward. But over time, cracks in the data model inevitably start to show.&lt;/p&gt;

&lt;p&gt;People aren't sure which tables to use, dashboard loading times get annoying, and there are three different queries that say "ARR". AIs don't stand a chance sifting through this stuff.&lt;/p&gt;

&lt;h2&gt;
  
  
  Data Studio has all the tools you need to clean up the mess
&lt;/h2&gt;

&lt;p&gt;

  &lt;iframe src="https://www.youtube.com/embed/ac3zH1SyT70"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;p&gt;Data Studio lets teams transform raw tables into analytics-ready datasets. You can define reusable metrics (like MRR) and segments (like Active Customers) that everyone (including AI!) can trust when building dashboards and questions.&lt;/p&gt;

&lt;p&gt;Data Studio lives in Metabase: no extra tools, no duplicate work, no workflow overhauls, just publish and share instantly. You can start small and grow into it naturally as analytics becomes more shared and harder to change.&lt;/p&gt;

&lt;h2&gt;
  
  
  The tools in the toolbox
&lt;/h2&gt;

&lt;p&gt;The first version of Data Studio ships with the following tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.metabase.com/docs/latest/data-studio/library" rel="noopener noreferrer"&gt;Library&lt;/a&gt;&lt;/strong&gt;: A curated space for your organization's most trusted analytics content—tables, metrics, and SQL snippets that your data team recommends.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.metabase.com/docs/latest/data-studio/data-structure" rel="noopener noreferrer"&gt;Data structure&lt;/a&gt;&lt;/strong&gt;: Add table metadata to make tables easier to work with.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.metabase.com/docs/latest/exploration-and-organization/data-model-reference#glossary" rel="noopener noreferrer"&gt;Glossary&lt;/a&gt;&lt;/strong&gt;: Define terms relevant to your business, both for people and agents trying to understand your data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.metabase.com/docs/latest/data-studio/dependency-graph" rel="noopener noreferrer"&gt;Dependency graph&lt;/a&gt;&lt;/strong&gt;: A visual map of how your content connects, so you can understand the impact of changes before you make them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.metabase.com/docs/latest/data-studio/dependency-diagnostics" rel="noopener noreferrer"&gt;Dependency diagnostics&lt;/a&gt;&lt;/strong&gt;: See which items have broken dependencies, or that aren't used.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.metabase.com/docs/latest/data-studio/transforms/transforms-overview" rel="noopener noreferrer"&gt;Transforms&lt;/a&gt;&lt;/strong&gt;: Wrangle your data in Metabase, write the query results back to your database, and reuse them in Metabase as sources for new queries.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And we have more to come, so stay tuned.&lt;/p&gt;

&lt;h2&gt;
  
  
  Open source at the core
&lt;/h2&gt;

&lt;p&gt;We want data structure and curation to be accessible to everyone, which is why foundational features of Data Studio are available in our open source edition, with Pro and Enterprise features to grow into as you need them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do I even need to care about Data Studio?
&lt;/h2&gt;

&lt;p&gt;People tend to need some kind of data transformations when they have multiple sources of data (like your application and payments data), or a bunch of normalized tables. If you’re under 50 tables in your schema, don’t stress, watercress. If you have multiple data sources or a lot of tables, chances are you’ve been paying a tax on clarity, correctness, and performance. Data Studio can help get you sorted.&lt;/p&gt;

&lt;p&gt;Data Studio is just one part of a bumper release. &lt;a href="https://www.metabase.com/releases/metabase-59" rel="noopener noreferrer"&gt;Check out what else is new in v59&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How to get started with Data Studio
&lt;/h2&gt;

&lt;p&gt;Data Studio ships with both OSS and EE editions (&lt;a href="https://www.metabase.com/pricing" rel="noopener noreferrer"&gt;with some paid features&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Admins can find Data Studio from the top right grid icon. Some paid plans can grant non-admins access to Data Studio by adding people to the Data Analysts group.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>analytics</category>
      <category>dataengineering</category>
    </item>
    <item>
      <title>Metabase 58: Improved Documents - now for all, plus lots of Embedded Analytics upgrades</title>
      <dc:creator>Ramiro</dc:creator>
      <pubDate>Wed, 14 Jan 2026 17:37:06 +0000</pubDate>
      <link>https://forem.com/metabase/metabase-58-improved-documents-now-for-all-plus-lots-of-embedded-analytics-upgrades-340k</link>
      <guid>https://forem.com/metabase/metabase-58-improved-documents-now-for-all-plus-lots-of-embedded-analytics-upgrades-340k</guid>
      <description>&lt;h2&gt;
  
  
  Improved Documents, now available on all plans
&lt;/h2&gt;

&lt;p&gt;Yep, even in Open Source! &lt;a href="https://www.metabase.com/docs/latest/documents/introduction" rel="noopener noreferrer"&gt;Documents&lt;/a&gt; was released in v57 as a Pro/Enterprise feature. We’ve since decided to make it available for everyone as an additional way to share and collaborate on data in Metabase. In case you missed Documents in the previous release, they’re reports that combine charts and metrics with text using Markdown, or a rich text editor. You can collaborate through comments with mentions and emoji reactions. Think of them as a Metabase-style Notion doc or Jupyter notebook.&lt;/p&gt;

&lt;p&gt;Besides making Documents more widely available, we’ve also continued to improve them. You can now add supporting text blocks with rich text formatting to sit next to cards to caption what’s going on in your charts.&lt;/p&gt;

&lt;p&gt;Also new with Documents - these now show up in &lt;a href="https://www.metabase.com/docs/latest/questions/introduction#checking-for-breaking-changes" rel="noopener noreferrer"&gt;Dependency checks&lt;/a&gt; (note that although documents are available on all plans, Dependency checks is only available on Pro and Enterprise plans).&lt;/p&gt;

&lt;h2&gt;
  
  
  Tenants make setting up multi-tenant customer-facing analytics way simpler
&lt;/h2&gt;

&lt;p&gt;

  &lt;iframe src="https://www.youtube.com/embed/5DN_r4aYLWQ"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;p&gt;One of the biggest concerns when embedding analytics is ensuring that your customers - or tenants - can’t access each others’ data. &lt;a href="https://www.metabase.com/docs/latest/embedding/tenants" rel="noopener noreferrer"&gt;Tenants&lt;/a&gt; is a way to group external users matching organizations and to ensure each tenant is isolated from each other. What previously could be a multi-week project can now be done in a few clicks with Tenants.&lt;/p&gt;

&lt;p&gt;Use tenants to curate and expose collections with dashboards, charts, and other content to all customers or specific subsets of customers, without duplicating content. You can define different permission groups within a tenant, such as data teams or premium users, while ensuring each tenant only sees the data relevant to them.&lt;/p&gt;


&lt;p&gt;💡 &lt;b&gt;Embedded Analytics JS is now Modular Embedding&lt;/b&gt;&lt;/p&gt;
&lt;br&gt;
  &lt;p&gt;A brief interruption to your scheduled programming to give some context to the following updates.&lt;/p&gt;


&lt;ul&gt;

    &lt;li&gt;Embedded Analytics JS has been renamed to Modular Embedding. As our simplest path to Embedded Analytics, the ‘JS’ part of the former name sometimes tripped people up, making it seem more dev-heavy than it really is. This is now the default starting point for embedded analytics in Metabase.&lt;/li&gt;

    &lt;li&gt;The Embedded Analytics SDK is now Modular Embedding SDK.&lt;/li&gt;

    &lt;li&gt;Interactive Embedding (all of Metabase in an iframe) is now Full-app Embedding.&lt;/li&gt;

   &lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/blog/we-simplified-metabase-embedding" rel="noopener noreferrer"&gt;Check out the blog post for more context on what changed and why&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Guest Embeds for simple view-only charts and dashboards
&lt;/h2&gt;

&lt;p&gt;

  &lt;iframe src="https://www.youtube.com/embed/tHNNo7ZrTWA"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/docs/latest/embedding/guest-embedding" rel="noopener noreferrer"&gt;Guest Embeds&lt;/a&gt; are the new and improved successor to Static Embedding. On Pro and Enterprise plans, Guest Embeds get more comprehensive theming.&lt;/p&gt;

&lt;p&gt;It’s now much smoother to migrate from simple embedded dashboards and charts to more sophisticated, SSO-based customer-facing analytics.&lt;/p&gt;

&lt;p&gt;If you’re currently using Static Embedding, nothing changes for now. Everything you’ve already got configured will continue to work as is.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/tHNNo7ZrTWA?si=blyyM3AeyoLW6X9C" rel="noopener noreferrer"&gt;Watch Matthew help you get set up with your first Guest Embed&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Metabot AI is now out of beta and available as an add-on for all Metabase Cloud plans
&lt;/h2&gt;

&lt;p&gt;

  &lt;iframe src="https://www.youtube.com/embed/i-rpnj-GnUM"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;p&gt;Let teammates query data in plain language, like “What was the average order value last month?”; get it to generate and debug SQL; and automatic written summaries of charts. Cool tip - just ask Metabot about what it can do and it’ll tell you everything.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/features/metabot-ai" rel="noopener noreferrer"&gt;Metabot&lt;/a&gt; is now better at writing SQL from natural language prompts, and generates more accurate answers - especially when you @-mention the data source. And we’ve added a cleaner new interface for AI exploration where Metabot can do its best thinking. We’ve made these improvements available from v57.&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS IAM Authentication for Aurora Postgres and MySQL drivers
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdg6l28he399fupvinxsu.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdg6l28he399fupvinxsu.jpg" alt="aws-iam-post"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can now connect Metabase to Aurora Postgres and Aurora MySQL databases using &lt;a href="https://www.metabase.com/docs/master/databases/connections/aws-rds#iam-authentication" rel="noopener noreferrer"&gt;AWS IAM authentication&lt;/a&gt; instead of traditional username/password credentials. Simplifies configuration, enhances security, and eliminates the need for hardcoded credentials.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/pricing"&gt;Available on Pro and Enterprise self-hosted&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dashboard subscriptions are now available with Modular Embedding
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/docs/latest/embedding/components#dashboard" rel="noopener noreferrer"&gt;You can subscribe&lt;/a&gt; and unsubscribe yourself, but not others. Emails from subscriptions created in embedding contexts will no longer include links to Metabase.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/pricing"&gt;Available on Pro and Enterprise&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Performance improvements to Modular Embedding and the SDK
&lt;/h2&gt;

&lt;p&gt;We’ve made some changes under the hood to speed up load times for SDK and Modular Embedding components, taking a full second less to render.&lt;/p&gt;

&lt;h2&gt;
  
  
  Allow setting a custom Y-axis range, even if points fall outside it
&lt;/h2&gt;

&lt;p&gt;Crop outliers for a clearer view of your data. When you set a manual Y-axis range, Metabase now renders exactly the range you specify.&lt;/p&gt;

&lt;p&gt;This change affects existing charts. You may see less or no data on charts that previously were showing data. If a chart looks clipped or empty after upgrading to v58, you can edit the visualization settings to adjust or remove the custom Y-axis range.&lt;/p&gt;

&lt;h2&gt;
  
  
  Metabase Cloud hosting arrives down under
&lt;/h2&gt;

&lt;p&gt;Crikey! Now our Aussie and Kiwi mates can choose &lt;a href="https://www.metabase.com/cloud" rel="noopener noreferrer"&gt;cloud hosting&lt;/a&gt; in Sydney to keep your Metabase close to home. Australia has been added to our available hosting regions, alongside existing options in US-East (Virginia), Europe (Frankfurt), South America (Sao Paulo), Asia-Pacific (Singapore).&lt;/p&gt;




&lt;h3&gt;
  
  
  Who moved my cheese: UI changes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;New embedding analytics names - see the blog post for all changes and why&lt;/li&gt;
&lt;li&gt;Simplified data picker - find your starting data with inline search. You can still access the full modal by clicking "Browse all". Note, the new data picker doesn't apply in embedded contexts.&lt;/li&gt;
&lt;li&gt;SQL Snippets “Top folder” renamed to “SQL Snippets”&lt;/li&gt;
&lt;li&gt;Remote sync modes renamed from “Development” and “Production” to “Read/write” and “Read-only”.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Breaking changes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Custom Y-axis limits are now enforced&lt;/strong&gt;
Metabase now always respects custom Y-axis ranges, even if data points fall outside them. Charts that previously ignored these limits may now appear clipped or empty. Edit the chart’s visualization settings to adjust or remove the Y-axis range if needed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;@&lt;/code&gt;-prefixed JWT claims are no longer supported&lt;/strong&gt;
JWT claims starting with &lt;code&gt;@&lt;/code&gt; are now ignored and won’t be saved as user attributes. This change supports the new Tenants feature, which reserves &lt;code&gt;@&lt;/code&gt;-prefixed claims (for example, &lt;code&gt;@tenants&lt;/code&gt;). If you use JWT auth and have custom claims starting with &lt;code&gt;@&lt;/code&gt;, please rename them.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Big thanks to everyone who contributed!
&lt;/h2&gt;

&lt;p&gt;Thanks to all those who submitted bug reports, feature suggestions, translations, and pull requests. Metabase gets better and better thanks to your efforts.&lt;/p&gt;

&lt;p&gt;Hope you enjoy the release. If you want to get into the nitty-gritty, check out our &lt;a href="https://www.metabase.com/changelog/58" rel="noopener noreferrer"&gt;changelog&lt;/a&gt;. To see what other features we have in the works, see our &lt;a href="https://www.metabase.com/roadmap" rel="noopener noreferrer"&gt;product roadmap&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Cheers,&lt;br&gt;
The Metabase team&lt;/p&gt;

</description>
      <category>metabase</category>
      <category>opensource</category>
      <category>analytics</category>
      <category>programming</category>
    </item>
    <item>
      <title>Metabase 57: Dark mode 🌑 plus stronger governance and tighter workflows</title>
      <dc:creator>Ramiro</dc:creator>
      <pubDate>Thu, 20 Nov 2025 13:31:33 +0000</pubDate>
      <link>https://forem.com/metabase/metabase-57-dark-mode-plus-stronger-governance-and-tighter-workflows-3b6n</link>
      <guid>https://forem.com/metabase/metabase-57-dark-mode-plus-stronger-governance-and-tighter-workflows-3b6n</guid>
      <description>&lt;h2&gt;
  
  
  Metabase goes dark mode
&lt;/h2&gt;

&lt;p&gt;

  &lt;iframe src="https://www.youtube.com/embed/B1llVxU10qk"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;p&gt;It’s finally here! You can now &lt;a href="///docs/v0.57/configuring-metabase/appearance#dark-mode"&gt;switch your Metabase to dark mode&lt;/a&gt;. Your eyes (and late night queries) will thank you. Found under Account settings → Appearance, dark mode follows your system preference by default and applies across both content and admin views.&lt;/p&gt;

&lt;h2&gt;
  
  
  Remote sync for versioned, scalable analytics workflows
&lt;/h2&gt;

&lt;p&gt;

  &lt;iframe src="https://www.youtube.com/embed/hW5sK3Bghlk"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/docs/v0.57/installation-and-operation/remote-sync" rel="noopener noreferrer"&gt;Remote sync&lt;/a&gt; lets you connect your Metabase to a git repository so you can push and pull changes to questions, dashboards, and models just like you manage code. Create content in Read-write mode, then move reviewed, approved content into Read-only using familiar Git workflows. This keeps curated content safe from accidental edits or deletions while giving your org a clear, versioned history of every change. Available on &lt;a href="https://www.metabase.com/pricing" rel="noopener noreferrer"&gt;Pro and Enterprise&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Documents: create and share stories with your data
&lt;/h2&gt;

&lt;p&gt;

  &lt;iframe src="https://www.youtube.com/embed/HSxFTYANWpM"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;p&gt;Write reports that combine charts and metrics with context using Markdown or a rich text editor, and collaborate through comments with mentions and emoji reactions in &lt;a href="https://www.metabase.com/docs/v0.57/documents/introduction" rel="noopener noreferrer"&gt;Documents&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Use familiar keyboard shortcuts (&lt;code&gt;/&lt;/code&gt; to insert, &lt;code&gt;@&lt;/code&gt; to link or mention), adjust layouts and resize charts, and if you’ve got Metabot enabled, you can get it to help you write a SQL prompt directly in your document. Documents can also be shared via public link or an embedded iframe. Available on &lt;a href="https://www.metabase.com/pricing" rel="noopener noreferrer"&gt;Pro and Enterprise&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Parameterizable snippets for modular, reusable queries
&lt;/h2&gt;

&lt;p&gt;

  &lt;iframe src="https://www.youtube.com/embed/hhAVD9TguVA"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;p&gt;You can now &lt;a href="https://www.metabase.com/docs/v0.57/questions/native-editor/snippets#sql-parameters-in-snippets" rel="noopener noreferrer"&gt;add variables to SQL snippets&lt;/a&gt; so a single snippet can adapt dynamically to filters and parameters wherever it’s used. Snippets can also reference other snippets or saved questions. You can combine snippets to create another, e.g. &lt;code&gt;{{snippet: expensive items}} AND {{snippet: highly rated product}}&lt;/code&gt; to create a new snippet, &lt;code&gt;premium item&lt;/code&gt;. Metabase automatically detects and blocks circular references, so you can mix, match, and reuse snippets safely across your queries.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prevent breaking changes with automatic dependency checks
&lt;/h2&gt;

&lt;p&gt;

  &lt;iframe src="https://www.youtube.com/embed/yraLxLytA0g"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;p&gt;Metabase just got a little more self-aware. When you make changes to a question, model, metric, or snippet, &lt;a href="https://www.metabase.com/docs/v0.57/questions/introduction#checking-for-breaking-changes" rel="noopener noreferrer"&gt;Metabase now checks for anything downstream that would break before saving&lt;/a&gt;. If a dependent dashboard or query relies on something you’re changing or removing, you’ll see a warning so you can fix it (or save anyway if you enjoy chaos). A small but mighty safeguard to help keep your analytics tidy and stable. Available on &lt;a href="https://dev.to/pricing"&gt;Pro and Enterprise&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Metabot AI is getting smarter and more context-aware
&lt;/h2&gt;

&lt;p&gt;Ask questions in natural language. Get it to generate and debug SQL for you. Get AI-generated summaries on your data by clicking ‘Explain this chart’. Ask it anything you’d find in our docs for quick answers without leaving your Metabase. &lt;a href="https://www.metabase.com/docs/v0.57/ai/metabot" rel="noopener noreferrer"&gt;Metabot&lt;/a&gt; makes it easier for non-technical teammates to work with data.&lt;/p&gt;

&lt;p&gt;Improvements in this release ladder up to make Metabot more context-aware, smarter, and better at answering your questions, including semantic search that’s more compatible with natural language, and surfacing existing questions and dashboards before running a new query (we rolled this one into v56). There’s more big improvements coming to Metabot - try it now on &lt;a href="https://www.metabase.com/pricing" rel="noopener noreferrer"&gt;Pro or Enterprise&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Inline data editing for database tables
&lt;/h2&gt;

&lt;p&gt;

  &lt;iframe src="https://www.youtube.com/embed/iXBMuqsAW2M"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;p&gt;Admins can now perform create, read, update, and delete actions to &lt;a href="https://www.metabase.com/docs/v0.57/data-modeling/editable-tables" rel="noopener noreferrer"&gt;table data right inside Metabase&lt;/a&gt;. You can edit individual cells inline, update multiple fields through a form, and create or delete records directly from the table grid. It’s an easier way to make smaller, quick edits and changes to data with a handy UI. Available on &lt;a href="https://www.metabase.com/pricing" rel="noopener noreferrer"&gt;Pro and Enterprise&lt;/a&gt;, and currently supported for Postgres, MySQL, and H2 databases.&lt;/p&gt;




&lt;h2&gt;
  
  
  Embedded Analytics improvements
&lt;/h2&gt;

&lt;h3&gt;
  
  
  More control over click behavior in Embedded Analytics
&lt;/h3&gt;

&lt;p&gt;You can now use the SDK to &lt;a href="https://www.metabase.com/docs/v0.57/embedding/sdk/questions#mapquestionclickactions" rel="noopener noreferrer"&gt;customize what happens when someone clicks on a datapoint&lt;/a&gt;. Instead of opening the drill-through menu by default, you can open a pop-up modal or new tab, route inside your app, or trigger a custom action. On top of that, you can also control what happens when someone clicks a link in a table.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; the shape of the &lt;code&gt;clicked&lt;/code&gt; object in &lt;code&gt;mapQuestionClickActions&lt;/code&gt;has been simplified. We removed some unused values and are now passing the &lt;code&gt;data&lt;/code&gt; as object key-value instead of an array. We recommend reviewing and updating existing SDK click-handling code before upgrading.&lt;/p&gt;

&lt;h3&gt;
  
  
  Embed Metabot for AI-powered analytics in your app
&lt;/h3&gt;

&lt;p&gt;Let your customers get answers from your data by asking questions in natural language. Metabot is available as a component with Embedded Analytics JS and the SDK for React.&lt;/p&gt;

&lt;h3&gt;
  
  
  Hosted bundles for the Embedded Analytics SDK
&lt;/h3&gt;

&lt;p&gt;Upgrades with the SDK just got smoother. Previously, SDK users had to keep their app’s frontend SDK and Metabase instance perfectly aligned on the same major version to avoid breakage or unpredictable behavior. With &lt;a href="https://www.metabase.com/docs/v0.57/embedding/sdk/introduction#architecture" rel="noopener noreferrer"&gt;hosted bundles&lt;/a&gt;, the SDK now automatically fetches the correct frontend bundle from your Metabase at runtime, keeping things in sync across versions. This change improves cross-version compatibility and makes upgrading less of a pain.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step-by-step setup for your first embed
&lt;/h3&gt;

&lt;p&gt;We’ve built a step-by-step guide into the setup process that walks you through connecting your database, making your first dashboard, to embedding it in code. If you select embedding as the reason for setting up a new instance, you’ll automatically enter this new flow designed to help you get up and running faster. You can also find it under Admin settings → Embedding.&lt;/p&gt;




&lt;h2&gt;
  
  
  More cool stuff
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Set columns as goals in Progress visualizations
&lt;/h3&gt;

&lt;p&gt;Progress charts just got more flexible. You can now &lt;a href="https://www.metabase.com/docs/v0.57/questions/visualizations/progress-bar#set-goal-for-a-progress-bar" rel="noopener noreferrer"&gt;set a goal dynamically using a column&lt;/a&gt; from your query instead of a fixed, hard-coded value. When configuring the Progress visualization, choose which column represents the value and which one represents the goal to make it easier to track varying targets, benchmarks, or quotas directly from your data.&lt;/p&gt;

&lt;h3&gt;
  
  
  A smoother, more interactive detail view
&lt;/h3&gt;

&lt;p&gt;The &lt;a href="https://www.metabase.com/docs/v0.57/exploration-and-organization/exploration#view-details-of-a-record" rel="noopener noreferrer"&gt;new Detail View&lt;/a&gt; makes it easier to explore individual records without losing your place. Open details in a convenient side sheet or expand a full-page view when you need more space to read descriptions, comments, or related data. You’ll see avatars or images where available, plus contextual icons for each entity type. Actions can be run directly from the side sheet for models with configured actions, and each record now has a unique URL for straightforward sharing.&lt;/p&gt;

&lt;h3&gt;
  
  
  List views for models
&lt;/h3&gt;

&lt;p&gt;

  &lt;iframe src="https://www.youtube.com/embed/bPyotDFHS-Y"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;p&gt;Models now have a cleaner, more visual way to browse your data. The &lt;a href="https://www.metabase.com/docs/v0.57/data-modeling/models#model-list-view" rel="noopener noreferrer"&gt;new list view&lt;/a&gt; makes it easier to scroll through records like people, customers, companies, or products, showing key fields in a simple, readable layout. In the new Settings tab for models, you can choose which columns appear in the list using drag-and-drop customization, reorder or preview the layout, and even pick an entity icon to represent each record type. You can also set a default view for the model, making exploration faster and more intuitive for everyone.&lt;/p&gt;

&lt;h3&gt;
  
  
  Define terms specific to your org in the glossary
&lt;/h3&gt;

&lt;p&gt;The &lt;a href="https://www.metabase.com/docs/v0.57/exploration-and-organization/data-model-reference#glossary" rel="noopener noreferrer"&gt;glossary is a new part of the Data reference&lt;/a&gt; where you can define organizational and institutional terms so your team and Metabot can understand what you’re talking about. Simple key value experience. Add a new term - e.g. define ARR as annual recurring revenue.&lt;/p&gt;

&lt;p&gt;The glossary also makes it easier for Metabot to answer questions specific to your org in natural language, and for you and your team to take shortcuts by @-mentioning a defined term in goal lines or progress charts, documents, etc.&lt;/p&gt;

&lt;h3&gt;
  
  
  Local symbol for currency field settings
&lt;/h3&gt;

&lt;p&gt;For dollar currencies other than USD, currencies were displayed with a country code prefix (e.g. NZ$ for New Zealand dollar), which looks cluttered when all dollar values are in the same currency. The new “Local symbol” option in currency field settings lets you display these as a clean, simple $, making tables easier to read and localized.&lt;/p&gt;

&lt;h3&gt;
  
  
  Simplified search modal
&lt;/h3&gt;

&lt;p&gt;We took create actions (e.g., “new question”) out of the search modal and command palette to surface the content you’re looking closer to the top. You can still get to those by typing them into the search bar.&lt;/p&gt;

&lt;p&gt;Metabot moved out and gets its own spot at the top right of the page. You won’t see it unless you’ve got Metabot enabled on your plan.&lt;/p&gt;

&lt;h3&gt;
  
  
  Send only CSV/XLSX results in subscriptions
&lt;/h3&gt;

&lt;p&gt;For pivot tables and complex visualizations that don’t render cleanly in the email body, you can toggle on “Send only attachments (no charts)” so subscribers receive query results as CSV or XLSX attachments instead of charts.&lt;/p&gt;

&lt;p&gt;(Available since v56 - it was added after our last release announcement, but worth a mention.)&lt;/p&gt;

&lt;h3&gt;
  
  
  Database routing for more DBs
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/docs/v0.57/permissions/database-routing" rel="noopener noreferrer"&gt;Database routing&lt;/a&gt; - a.k.a. support for one-DB-per-tenant data segregation - is now available for Starburst, Presto, Athena (without multi-catalog), and ClickHouse on Metabase &lt;a href="https://www.metabase.com/pricing" rel="noopener noreferrer"&gt;Pro and Enterprise&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Connection impersonation support added for Starburst
&lt;/h3&gt;

&lt;p&gt;Also &lt;a href="https://www.metabase.com/docs/v0.57/permissions/impersonation" rel="noopener noreferrer"&gt;works&lt;/a&gt; for connections to a Trino database. Available on &lt;a href="https://www.metabase.com/pricing" rel="noopener noreferrer"&gt;Pro and Enterprise&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Big thanks to everyone who contributed!
&lt;/h2&gt;

&lt;p&gt;Thanks to all those who submitted bug reports, feature suggestions, translations, and pull requests. Metabase gets better and better thanks to your efforts.&lt;/p&gt;

&lt;p&gt;Hope you enjoy the release. If you want to get into the nitty-gritty, check out our &lt;a href="https://www.metabase.com/changelog/57" rel="noopener noreferrer"&gt;changelog&lt;/a&gt;. To see what other features we have in the works, see our &lt;a href="https://www.metabase.com/roadmap" rel="noopener noreferrer"&gt;product roadmap&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Cheers,&lt;br&gt;
The Metabase team&lt;/p&gt;

</description>
      <category>metabase</category>
      <category>opensource</category>
      <category>analytics</category>
      <category>programming</category>
    </item>
    <item>
      <title>Metabase 56: Dashboard filters in more relevant places, time grouping for native queries, a new way to embed, and more</title>
      <dc:creator>Ramiro</dc:creator>
      <pubDate>Mon, 18 Aug 2025 15:56:40 +0000</pubDate>
      <link>https://forem.com/metabase/metabase-56-dashboard-filters-in-more-relevant-places-time-grouping-for-native-queries-a-new-way-30n3</link>
      <guid>https://forem.com/metabase/metabase-56-dashboard-filters-in-more-relevant-places-time-grouping-for-native-queries-a-new-way-30n3</guid>
      <description>&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/eNKSrpQjWk8"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Add dashboard filters where they matter
&lt;/h2&gt;

&lt;p&gt;Now you can add filters directly to cards on dashboards, or in headers to apply to a group of cards directly beneath. This helps you ensure filters only show up where they’re relevant, so it's more obvious which filters apply where, and less clutter at the top of your dashboard.&lt;/p&gt;

&lt;p&gt;Watch Robert add filters on cards and headings&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/K024PDo3RmI"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Click and drag to select multiple cells in table visualizations
&lt;/h2&gt;

&lt;p&gt;Sometimes you just need to grab a bunch of cells to drop into a spreadsheet. Now you can click and drag to select values you want, copy+paste into spreadsheet or wherever you have data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Time grouping parameters can be applied to native queries
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/docs/v0.56/questions/native-editor/time-grouping-parameters" rel="noopener noreferrer"&gt;Change time granularity on dashboard cards built with SQL&lt;/a&gt; without having to edit or rewrite the query.&lt;/p&gt;

&lt;p&gt;Watch Matthew's walkthrough of time grouping parameters&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/tizGbUHLP6o"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Field filters play nice with aliased tables
&lt;/h2&gt;

&lt;p&gt;For example, when you use &lt;code&gt;FROM product AS p&lt;/code&gt; in your SQL query and when using CTEs, Metabase correctly references &lt;code&gt;p&lt;/code&gt; when applying filters. &lt;a href="https://www.metabase.com/docs/v0.56/questions/native-editor/field-filters#specifying-the-table-and-field-alias" rel="noopener noreferrer"&gt;Just make sure you define the alias in the filter setting&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Join with a specific part of your data with custom expressions
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/docs/v0.56/questions/query-builder/join#joins-with-custom-expressions" rel="noopener noreferrer"&gt;Use a custom expression to build a join key&lt;/a&gt; where there’s not a natural fit / obvious match between tables, for things like constant values, relative dates, or other custom conditions. Define your own logic for what should match and get more flexibility without having to write SQL. For example, match &lt;code&gt;first_name + last_name&lt;/code&gt; from a &lt;code&gt;customers&lt;/code&gt; table to a single &lt;code&gt;full_name&lt;/code&gt; field in another table.&lt;/p&gt;

&lt;p&gt;Watch Matthew use joins with custom expressions&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/mzpKlKZXnl8"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  More dates and time casting functions in custom expressions
&lt;/h2&gt;

&lt;p&gt;Get more flexibility when building time-based logic in custom expressions without needing to write SQL. You can now use &lt;code&gt;today()&lt;/code&gt; to get the current date, and convert strings, numbers, and byte values into datetime formats using the enhanced &lt;code&gt;datetime()&lt;/code&gt; function. This update makes it easier to work with a wider range of date and time formats, including ISO strings, Unix timestamps, and &lt;code&gt;yyyyMMddHHmmss&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reference existing aggregations in custom expressions
&lt;/h2&gt;

&lt;p&gt;Use existing aggregations in custom expressions when summarizing data. This eliminates repetition and helps you create cleaner queries faster.&lt;/p&gt;

&lt;h2&gt;
  
  
  Specify multiple values for basic variables in native queries
&lt;/h2&gt;

&lt;p&gt;We’ve added a setting where you can enable multiple values for a given basic variable, for example: &lt;code&gt;WHERE category IN {%raw%}({{category_var}})&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Watch Matthew show you how to select multiple values in SQL variables&lt;br&gt;
  &lt;iframe src="https://www.youtube.com/embed/fIK6lhV0uKI"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Search and expand functions easier in the expression editor
&lt;/h2&gt;

&lt;p&gt;Now you can type the function you want in the ‘Find’ bar at the top, e.g. &lt;code&gt;countIf&lt;/code&gt; and Metabase will open the expression editor, pre-filled with a smart template. Use arrow keys to move around and expand fields, like join, filters, and custom expression.&lt;/p&gt;

&lt;h2&gt;
  
  
  Embed Metabase with the new Embedded analytics JS library
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/docs/v0.56/embedding/embedded-analytics-js" rel="noopener noreferrer"&gt;Embedded Analytics JS is a JavaScript library&lt;/a&gt; built on top of Metabase's Embedded Analytics React SDK, but it does not require using React or setting up full SDK embedding. Unlike with interactive embedding, where you embed the entire Metabase app in an iframe, Embedded Analytics JS lets you choose from a set of predefined components like a single chart, a dashboard with optional drill-through, or query builder, and customize those components.&lt;/p&gt;

&lt;p&gt;Embedded Analytics JS uses JWT or SAML SSO to authenticate people and automatically apply permissions to show people the right data upon sign-in.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/docs/v0.56/embedding/embedded-analytics-js" rel="noopener noreferrer"&gt;Try it out - you can find the Embedded Analytics JS under Modular Embedding in Embedding settings&lt;/a&gt;. We’ve included a chill setup flow for an easy way to get a snippet for the Embedded Analytics JS to help you get something cool in your product faster.&lt;/p&gt;

&lt;h2&gt;
  
  
  Translate content for Static embedding
&lt;/h2&gt;

&lt;p&gt;Not just UI elements, but also how your data is shown in tables and charts. &lt;a href="https://www.metabase.com/docs/v0.56/embedding/translations" rel="noopener noreferrer"&gt;Upload a dictionary in your target language and watch as the data showing in your tables and charts updates&lt;/a&gt;. Muy bien. For now, only available for Static embedding.&lt;/p&gt;

&lt;h2&gt;
  
  
  Choose the ‘from’ email address when white-labeling Metabase on Cloud
&lt;/h2&gt;

&lt;p&gt;Push Metabase a little further behind the scenes when you white-label. Now you can configure a custom SMTP server for more consistent white-labeling. Available with &lt;a href="https://www.metabase.com/pricing" rel="noopener noreferrer"&gt;Metabase Pro and Enterprise&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Revamped metadata editing experience
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://www.metabase.com/docs/v0.56/data-modeling/metadata-editing" rel="noopener noreferrer"&gt;metadata editor&lt;/a&gt; got a big upgrade. With this update, you can now preview how changes will be reflected in your Metabase; trigger a sync of individual tables without needing to re-sync your whole database; and you can search across databases, schemas, and tables.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connection impersonation is now available for MySQL and SQL Server
&lt;/h2&gt;

&lt;p&gt;MySQL and SQL Server join PostgreSQL, ClickHouse, Redshift and Snowflake on the list of databases Metabase supports for &lt;a href="https://www.metabase.com/docs/v0.56/permissions/impersonation" rel="noopener noreferrer"&gt;connection impersonation&lt;/a&gt; for things like row-level security configured at the DB-level. MySQL uses &lt;code&gt;SET ROLE&lt;/code&gt;, SQL Server uses &lt;code&gt;EXECUTE AS USER&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Data sandboxing renamed to Row-Level Security
&lt;/h2&gt;

&lt;p&gt;Same great taste, easier to parse name. This is just a name change in the UI; the functionality and API endpoints haven't changed. Data segregation covers our growing span of data isolation features, including &lt;a href="https://www.metabase.com/docs/v0.56/permissions/row-and-column-security" rel="noopener noreferrer"&gt;row- and column-level security&lt;/a&gt; (formerly data sandboxing), connection impersonation, database routing, and locked parameters.&lt;/p&gt;

&lt;h2&gt;
  
  
  Admin panel refresh
&lt;/h2&gt;

&lt;p&gt;A facelift in your settings section, starting with the Settings page, with fine-tuning to more admin pages to follow soon.&lt;/p&gt;

&lt;h2&gt;
  
  
  Skeleton cards in slow-loading dashboards
&lt;/h2&gt;

&lt;p&gt;Get clearer visual cues on what you’re waiting for in slow loading dashboards with skeleton cards specific to each viz type. We can’t make all your dashboards load instantly (although &lt;a href="https://www.metabase.com/learn/metabase-basics/administration/administration-and-operation/making-dashboards-faster" rel="noopener noreferrer"&gt;we do have a few tips&lt;/a&gt;), but we’ve made decor in the waiting room nicer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Coming soon: Metabot AI
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/features/metabot-ai" rel="noopener noreferrer"&gt;Metabot&lt;/a&gt; is neeeearly out of closed beta. If you’re itching to type queries in natural language a.k.a. plain English a.k.a. “How many new trial sign ups did we get last month?”, start stretching. Metabot includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A chat-with-your-data style interface for asking questions and changing chart types&lt;/li&gt;
&lt;li&gt;SQL generation, editing, and debugging&lt;/li&gt;
&lt;li&gt;‘Explain this chart’ for automated write ups&lt;/li&gt;
&lt;li&gt;Instant, in-product access to docs in plain text answers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And that’s just the start. We’re working on a bunch of LLM-powered features in Metabase with deeper functionality. We’re excited for you to try Metabot and we'll share more soon.&lt;/p&gt;

&lt;h2&gt;
  
  
  Big thanks to everyone who contributed!
&lt;/h2&gt;

&lt;p&gt;Thanks to all those who submitted bug reports, feature suggestions, translations, and pull requests. Metabase gets better and better thanks to your efforts.&lt;/p&gt;

&lt;p&gt;Hope you enjoy the release. If you want to get into the nitty-gritty, check out our &lt;a href="https://github.com/metabase/metabase/releases/" rel="noopener noreferrer"&gt;release notes in GitHub&lt;/a&gt;. To see what other features we have in the works, see our &lt;a href="https://www.metabase.com/roadmap" rel="noopener noreferrer"&gt;product roadmap&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Cheers,&lt;br&gt;
The Metabase team&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>analytics</category>
      <category>dataviz</category>
      <category>metabase</category>
    </item>
    <item>
      <title>Metabase 55: Data visualizer for dashboard cards, database connection routing, development instances, and more</title>
      <dc:creator>Ramiro</dc:creator>
      <pubDate>Wed, 18 Jun 2025 11:54:45 +0000</pubDate>
      <link>https://forem.com/metabase/metabase-55-data-visualizer-for-dashboard-cards-database-connection-routing-development-1j69</link>
      <guid>https://forem.com/metabase/metabase-55-data-visualizer-for-dashboard-cards-database-connection-routing-development-1j69</guid>
      <description>&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/0wKoZR0zJ6Q"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Faster, easier way to visualize data (even across sources)
&lt;/h2&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/XvmyCoNAbUQ"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;The new visualizer offers a quicker way to get different cuts of the same data without writing a new query - or even leaving the dashboard editor.&lt;/p&gt;

&lt;p&gt;This new visualizer for dashboard cards is just the beginning. For now, it works with some chart types, but we're working on expanding its capabilities and adding more chart types, so stay tuned.&lt;/p&gt;

&lt;h2&gt;
  
  
  Native support for one-database-per-tenant setups
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhgd8lpto3ideq2vbui5j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhgd8lpto3ideq2vbui5j.png" alt="Native support for one-database-per-tenant setups"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No more cloning dashboards and assets for each tenant. With database routing, admins can build dashboards and questions in a primary database, then route the queries to the right database based on user attributes. Database routing is ideal for embedded analytics with strict data separation needs, where each customers' data is siloed at the database level.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/docs/latest/permissions/database-routing" rel="noopener noreferrer"&gt;Learn more about database routing in our docs&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Development instances with friendlier pricing (both self-hosted and on Metabase Cloud)
&lt;/h2&gt;

&lt;p&gt;On Pro and Enterprise plans, you can now purchase a development instance for either self-hosted or Metabase Cloud deployments. Dev instances are billed as a flat fee, so you don't have to pay per test user. Developer instances are watermarked and can’t be used in production.&lt;/p&gt;

&lt;p&gt;You (or your Metabase admin) can create new Development instances in your &lt;a href="http://store.metabase.com" rel="noopener noreferrer"&gt;Store settings&lt;/a&gt; by clicking ‘+ New Instance’.&lt;/p&gt;

&lt;h2&gt;
  
  
  Faster, more relevant search results
&lt;/h2&gt;

&lt;p&gt;We shipped faster and more relevant search results in v52 as an opt-in only feature. After receiving a bunch of positive feedback, we’re rolling it out as the default search algorithm for all Metabases. To recap - it’s much faster - think around 3x. Secondly, results are more relevant with full-text search that includes partial matches. We’ve also refined the rankings to give more weight to things like content that’s more popular, been viewed more recently, and more.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keyboard shortcuts everywhere
&lt;/h2&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/FlQwGZhOop8"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Get around Metabase faster with global shortcuts. Where the command palette (cmd + k) makes it easier to navigate and find assets, these shortcuts make it easier to start doing stuff. Create a question just by hitting c&amp;gt;q. Start a dashboard with c&amp;gt;d . Press ? to view them all. It’s snappier, smarter navigation, and only getting better.&lt;/p&gt;

&lt;h2&gt;
  
  
  Row-level access control now supported in MongoDB
&lt;/h2&gt;

&lt;p&gt;Data sandboxing, Metabase’s form of row-level security, lets you restrict which rows people can see based on their group and user attributes.&lt;/p&gt;

&lt;p&gt;With this update, admins can now safely filter data for different user groups using column-based rules or group attributes for MongoDB, just like you can for Postgres or MySQL (e.g., “only show customers where &lt;code&gt;company_id = user.company_id&lt;/code&gt;”).&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: Advanced sandboxing using custom views isn't supported on MongoDB yet, but we may consider it based on demand.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/docs/latest/permissions/data-sandboxes" rel="noopener noreferrer"&gt;Learn more about data sandboxes in our docs&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  It’s true: boolean filter widgets for dashboards are here
&lt;/h2&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/ChweGPGBWEs"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;This upgrades a workaround which previously required hooking up boolean fields to text filters with T/F string values. Dedicated boolean filters now behave and display the way they should, and support custom columns and native boolean fields. Are we ashamed of that headline? False.&lt;/p&gt;

&lt;h2&gt;
  
  
  New custom expressions for type casting
&lt;/h2&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/ogSrk8YMsXw"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;You can now work with data types more flexibly using new functions in custom expressions - no SQL required.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cast text to floats - turn text-based decimal values, like &lt;code&gt;123.45&lt;/code&gt; into numbers with the new &lt;code&gt;float()&lt;/code&gt; function. This lets you do math, aggregations, and analysis on string-stored data (e.g., survey ratings).&lt;/li&gt;
&lt;li&gt;Cast floats or text to integers - &lt;code&gt;integer()&lt;/code&gt; rounds decimals like &lt;code&gt;round()&lt;/code&gt;, but more importantly, it converts numeric text integers (e.g., turn &lt;code&gt;“123”&lt;/code&gt; or &lt;code&gt;123.45&lt;/code&gt; into &lt;code&gt;123&lt;/code&gt;) which was a common request for filters and aggregations.&lt;/li&gt;
&lt;li&gt;More date casting - new &lt;code&gt;datetime()&lt;/code&gt; and &lt;code&gt;date&lt;/code&gt; functions let you convert full ISO strings or truncate datetime values.&lt;/li&gt;
&lt;li&gt;Expanded type-casting and string functions for more DBs - functions like &lt;code&gt;text()&lt;/code&gt;, &lt;code&gt;integer()&lt;/code&gt;, &lt;code&gt;date()&lt;/code&gt;, and &lt;code&gt;splitPart()&lt;/code&gt; now work across more databases — including MySQL, BigQuery, Redshift, ClickHouse, and Snowflake.&lt;/li&gt;
&lt;li&gt;Use literal values like text strings, numbers, and booleans directly in custom expressions - great for reusable constants (e.g., a commission rate) or annotating charts.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Support for multiple catalogs in Databricks
&lt;/h2&gt;

&lt;p&gt;Until now, Metabase treated each catalog in Databricks as if it were a separate database, which meant you couldn’t query or join across catalogs.&lt;/p&gt;

&lt;p&gt;Now, with multi-catalog support you can connect to multiple Databricks catalogs in a single Metabase connection. You can choose which catalogs you sync and set a default catalog so you don’t have to include catalog names in every SQL query. You can also now join tables across catalogs (just like you would across schemas).&lt;/p&gt;

&lt;p&gt;You can toggle on multi-catalog support for Databricks in your &lt;a href="https://www.metabase.com/docs/latest/databases/connections/databricks#edit-connection-details" rel="noopener noreferrer"&gt;connection settings&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  More control over the number of ticks on the y-axis
&lt;/h2&gt;

&lt;p&gt;Manage the intervals on the y-axis of your charts for as much - or as little - granularity in your charts as you like.&lt;/p&gt;

&lt;h2&gt;
  
  
  More accurate pivot table downloads
&lt;/h2&gt;

&lt;p&gt;Your pivot downloads now respect the correct aggregations, with totals matching what you see in Metabase. This update resolves some formatting and correctness issues when exporting results as a native Excel PivotTable. Starting now, Metabase will export pivoted data in a more reliable, non-native format. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/docs/latest/questions/exporting-results#exporting-pivot-tables" rel="noopener noreferrer"&gt;Learn more&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Segments are easier to use and edit
&lt;/h2&gt;

&lt;p&gt;Segments let you save a combination of filters you can apply to any query, kind of like how metrics let you save important aggregations. Segments now show you which table they're built on, as well as some other improvements to make them easier to work with.&lt;/p&gt;

&lt;h2&gt;
  
  
  Better logs and tools for troubleshooting sync and scan issues
&lt;/h2&gt;

&lt;p&gt;We’ve made it easier to troubleshoot issues with syncs, scans, and fingerprinting. We've improved log formatting, and you can now adjust log levels without restarting your instance, as well as filter and sort logs by status, duration, or start/end time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Clearer differentiation between data types and semantic types
&lt;/h2&gt;

&lt;p&gt;Metabase now enforces clearer rules around semantic types: you can only apply semantic types that match the field’s underlying data type (e.g., numeric types only on numeric fields).&lt;/p&gt;

&lt;p&gt;If you need to convert text-based numbers into actual numeric fields, that’s now handled explicitly via a new coercion strategy in Table Metadata. This makes casting more intentional, and separates formatting/labeling from actual type conversion.&lt;/p&gt;




&lt;h2&gt;
  
  
  Embedded Analytics
&lt;/h2&gt;

&lt;h3&gt;
  
  
  More control over download options for questions and dashboards
&lt;/h3&gt;

&lt;p&gt;In v51, we introduced PDF export and results downloads on static embedding and public links. Admins on Pro or Enterprise plans could disable both, but not one or the other. Now you can get more selective about whether to allow one or the other (Or both, or none). This update replaces the deprecated &lt;code&gt;hide_downloads&lt;/code&gt; parameter, which we removed in this release.&lt;/p&gt;

&lt;p&gt;Download buttons on embedded dashboard cards are now more prominent and adapt to your layout for a smoother experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Embedded Analytics SDK now supports SAML authentication in addition to JWT SSO
&lt;/h3&gt;

&lt;p&gt;You can now handle both SAML or JWT authentication on the frontend. Handling auth on the frontend makes the SDK easier to integrate in your app, gives you more flexibility in how you authenticate people, and allows for better session tracking.&lt;/p&gt;

&lt;p&gt;There is a breaking change for those already using JWT. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/docs/latest/embedding/sdk/authentication#upgrade-guide-for-jwt-sso-setups-on-sdk-version-54-or-below" rel="noopener noreferrer"&gt;Find more info in our docs&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Breaking changes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;XLSX exports of pivot tables now export data into a plain XLSX file instead of Excel-native PivotTable format

&lt;ul&gt;
&lt;li&gt;The data is still exported as pivoted (when the appropriate option is selected during export), but the XLSX file will no longer use the Excel PivotTable interface.&lt;/li&gt;
&lt;li&gt;This change is due to the fact that Excel PivotTable doesn't natively support all the Metabase aggregation functions, which lead to correctness issues in XLSX exports.&lt;/li&gt;
&lt;li&gt;If you require the use of Excel PivotTable, export unaggregated data instead and pivot it in Excel directly.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Remove support for deprecated hide_download_button hash parameter in static embedding. Use the downloads parameter instead.&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  Big thanks to everyone who contributed!
&lt;/h2&gt;

&lt;p&gt;Thanks to all those who submitted bug reports, feature suggestions, translations, and pull requests. Metabase gets better and better thanks to your efforts.&lt;/p&gt;

&lt;p&gt;Hope you enjoy the release. If you want to get into the nitty-gritty, check out our &lt;a href="https://github.com/metabase/metabase/releases/" rel="noopener noreferrer"&gt;release notes in GitHub&lt;/a&gt;. To see what other features we have in the works, see our &lt;a href="https://www.metabase.com/roadmap" rel="noopener noreferrer"&gt;product roadmap&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Cheers,&lt;br&gt;
The Metabase team&lt;/p&gt;

</description>
      <category>metabase</category>
      <category>opensource</category>
      <category>dataviz</category>
      <category>analytics</category>
    </item>
    <item>
      <title>Metabase 54: Table visualization improvements, smarter custom expression editor, better alerts, and more</title>
      <dc:creator>Ramiro</dc:creator>
      <pubDate>Mon, 28 Apr 2025 11:12:39 +0000</pubDate>
      <link>https://forem.com/metabase/metabase-54-table-visualization-improvements-smarter-custom-expression-editor-better-alerts-and-2h29</link>
      <guid>https://forem.com/metabase/metabase-54-table-visualization-improvements-smarter-custom-expression-editor-better-alerts-and-2h29</guid>
      <description>&lt;p&gt;New ways to explore, visualize, and manage your data: it's all here in Metabase 54.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;If you’re hosted on &lt;a href="https://www.metabase.com/cloud/" rel="noopener noreferrer"&gt;Metabase Cloud&lt;/a&gt;&lt;/strong&gt;, we’ll be rolling out these new features automatically in the next few weeks. If you'd like to get it sooner, just let us know. Email &lt;a href="mailto:help@metabase.com"&gt;help@metabase.com&lt;/a&gt; and we'll upgrade you.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;If you’re self-hosting Metabase&lt;/strong&gt;, you (or your admin) can follow the docs on &lt;a href="https://www.metabase.com/docs/latest/installation-and-operation/upgrading-metabase" rel="noopener noreferrer"&gt;how to upgrade&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feel like you &lt;em&gt;just&lt;/em&gt; finished an upgrade? &lt;a href="https://www.metabase.com/upgrade/" rel="noopener noreferrer"&gt;Try Metabase Cloud for free&lt;/a&gt; to get automatic upgrades and excellent technical support.&lt;/p&gt;

&lt;h2&gt;
  
  
  Better table visualization
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fonsxbd8rwv9sleyzbela.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fonsxbd8rwv9sleyzbela.jpg" alt="Better table visualization" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We’ve upgraded our table visualization with some of your most-requested features. You can now wrap text in cells, so no more squinting at cut-off content. You can align column values to better fit and format your data, and toggle row index numbers to help you keep your place in longer tables. Tables also perform more smoothly with large datasets, and they now sport table headers with a cleaner, more clickable design.&lt;/p&gt;

&lt;p&gt;Dashboard tables are now scrollable by default, so no more click-click-click to view your data. But if pagination is more your speed, you still have that option too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Smarter custom expression editor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkpgtflgux7jxs26rk1ax.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkpgtflgux7jxs26rk1ax.jpg" alt="Smarter custom expression editor" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://www.metabase.com/docs/latest/questions/query-builder/expressions" rel="noopener noreferrer"&gt;custom expression editor&lt;/a&gt; now supports multi-line expressions, auto-formatting, and a built-in function browser to help you write more complex logic. The editor is more forgiving, too—no more losing your work if you accidentally click away. And it makes better suggestions.&lt;/p&gt;

&lt;p&gt;On top of that, we’ve added some new functions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Type-casting functions — Convert values with &lt;code&gt;text()&lt;/code&gt;, &lt;code&gt;integer()&lt;/code&gt;, and &lt;code&gt;date()&lt;/code&gt; (currently for Postgres). Perfect for cleaning up mismatched data types, like turning a string into a number so you can run calculations or apply numeric filters.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;splitPart()&lt;/code&gt; — Extract a specific part of a string based on a separator (Postgres only). Great for things like pulling out just the first or last name from a full name.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;path()&lt;/code&gt; — Pull out just the /path/…. part of a full URL.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;distinctIf()&lt;/code&gt; — Count distinct values that meet a specific condition.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  More control over alerts
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F03lahj7wmnenou4zdixe.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F03lahj7wmnenou4zdixe.jpg" alt="More control over alerts" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The new “by the minute” feature lets you schedule &lt;a href="https://www.metabase.com/docs/latest/questions/alerts" rel="noopener noreferrer"&gt;alerts&lt;/a&gt; to repeat every N minutes (e.g., every 10 minutes starting at the top of the hour). If you prefer alerts at a specific time within each hour, the updated "hourly" option now includes a setting to trigger alerts at a chosen minute past the hour (think 00:10, 01:10, 02:10). For less frequent check-ins, schedule alerts monthly. And for complete control, use cron expressions to fine-tune your alert timing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connect directly to Google Drive to analyze Google Sheets
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frq6by9qg8o79mqpe2xr1.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frq6by9qg8o79mqpe2xr1.jpg" alt="Connect directly to Google Drive to analyze Google Sheets" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bypass getting someone to ETL your data in for you (or save yourself a job if that person is you). Now instead of downloading and re-uploading CSVs you can connect straight to Google Drive and start working with your Sheets data in Metabase.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Only available on &lt;a href="https://www.metabase.com/pricing/" rel="noopener noreferrer"&gt;Cloud Plans with Metabase Storage&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  More consistent filtering
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgka1xx9vq12nlh2361sp.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgka1xx9vq12nlh2361sp.jpg" alt="More consistent filtering" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On charts and tables, we replaced the full-screen filter modal with a filter dropdown menu to make filtering more consistent with the query builder's editor. It's now easier to search for columns to filter and see which filters are applied.&lt;/p&gt;

&lt;h2&gt;
  
  
  Manage API keys via Config
&lt;/h2&gt;

&lt;p&gt;You can now define &lt;a href="https://www.metabase.com/docs/latest/configuring-metabase/config-file#api-keys" rel="noopener noreferrer"&gt;API keys directly in your config file&lt;/a&gt; without manual setup. Keys can be securely generated, assigned to permission groups, and even pulled from environment variables. Existing keys won’t be overwritten, so updates stay safe. Perfect for smoother, more reliable deployments across all environments.&lt;/p&gt;

&lt;h2&gt;
  
  
  Improved pivot table downloads
&lt;/h2&gt;

&lt;p&gt;CSV downloads are now more consistent with what you see in Metabase. No more mismatches between your pivot table in the app and the data in your downloaded file.&lt;/p&gt;

&lt;h2&gt;
  
  
  Performance upgrades to the SQL and custom expression editors
&lt;/h2&gt;

&lt;p&gt;We've updated some behind-the-scenes parts of the SQL and custom expression editor, bringing better performance, fixing autocomplete bugs, and laying the groundwork for future enhancements, like custom syntax highlighting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Support for large integers
&lt;/h2&gt;

&lt;p&gt;Columns with BigInt types (often used for IDs) were sometimes displayed incorrectly due to JavaScript's limitations with very large numbers. We now handle these safely by converting them to strings when needed, and formatting them correctly using native &lt;code&gt;BigInt&lt;/code&gt; support in JavaScript.&lt;/p&gt;

&lt;h2&gt;
  
  
  ClickHouse and Starburst are now officially supported
&lt;/h2&gt;

&lt;p&gt;These databases now have full official support from the Metabase team, including unlimited technical help. That means more reliability, faster fixes, and peace of mind. Bonus: the Starburst driver also works with Trino.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.metabase.com/data-sources/click-house" rel="noopener noreferrer"&gt;ClickHouse Connector&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.metabase.com/data-sources/starburst" rel="noopener noreferrer"&gt;Starbust Connector&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Smarter, faster filter value loading for reduced costs on initial DB scanning
&lt;/h2&gt;

&lt;p&gt;We now cache filter values based on usage, dramatically reducing load during initial database setup while making filters feel more intuitive and responsive.&lt;/p&gt;

&lt;h2&gt;
  
  
  More usage analytics, less detective work
&lt;/h2&gt;

&lt;p&gt;We’ve added more data to give you better visibility into how people are working with your Metabase. System tasks now include a status column, so you can spot failures faster, filter for them, and dig into metadata to debug. In Content, you’ll find new columns like &lt;code&gt;is_verified&lt;/code&gt; and &lt;code&gt;is_official&lt;/code&gt; to help you track trusted content and curated collections more easily.&lt;/p&gt;

&lt;p&gt;And now mystery IDs and Entity Qualified IDs now show up as actual names, not unreadable strings. Easier to scan, easier to filter, less detective work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Metabase is now available in AWS Marketplace
&lt;/h2&gt;

&lt;p&gt;For those who’ve got AWS credits rattling around or can’t spend outside your AWS budget, &lt;a href="https://aws.amazon.com/marketplace/pp/prodview-iqd2o7rn46rda" rel="noopener noreferrer"&gt;Metabase Enterprise can now be purchased in the AWS Marketplace&lt;/a&gt; (just make sure it’s ‘By Metabase’).&lt;/p&gt;




&lt;h1&gt;
  
  
  Embedded Analytics
&lt;/h1&gt;

&lt;p&gt;Thanks for your support in making &lt;a href="https://www.producthunt.com/products/metabase#metabase-embedded-analytics" rel="noopener noreferrer"&gt;Embedded Analytics a Top 3 Product of the Day on Product Hunt&lt;/a&gt;! Here are a few new ways to make it easier for your customers to get answers to their questions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Simplified data picker for asking questions
&lt;/h2&gt;

&lt;p&gt;We've made it easier for people using the embedded query builder to find the right starting point for their analysis.&lt;/p&gt;

&lt;h2&gt;
  
  
  More control over what data customers see in the data picker and browse data
&lt;/h2&gt;

&lt;p&gt;You can now choose whether to &lt;a href="https://www.metabase.com/docs/latest/embedding/interactive-ui-components#entity_types" rel="noopener noreferrer"&gt;show tables, models, or both&lt;/a&gt;. Models are often the better choice for guiding people, since they let you define cleaner starting points for analysis, with curated fields, simplified joins, and a more focused exploration experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Breaking changes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Snowflake will block single-factor password authentication by November 2025&lt;/strong&gt;
This doesn’t affect how you use Metabase, but important to know if you’re using Snowflake that you’ll need to move to multi-factor authentication before the end of the year. &lt;a href="https://www.snowflake.com/en/blog/blocking-single-factor-password-authentification/" rel="noopener noreferrer"&gt;Check out their blog for more information&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Firebolt and Materialize are now categorized as Community Connectors (previously Partner). That means these connectors are built and managed by the open-source community, are not officially supported by Metabase, and can only be used when self-hosting.&lt;/li&gt;
&lt;li&gt;Embedded Analytics SDK saveToCollection has been deprecated. We suggest using targetCollection instead.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;alert&lt;/code&gt; API has been deprecated.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Big thanks to everyone who contributed!
&lt;/h3&gt;

&lt;p&gt;Thanks to all those who submitted bug reports, feature suggestions, translations, and pull requests. Metabase gets better and better thanks to your efforts.&lt;/p&gt;

&lt;p&gt;Hope you enjoy the release. If you want to get into the nitty-gritty, check out our &lt;a href="https://github.com/metabase/metabase/releases/" rel="noopener noreferrer"&gt;release notes in GitHub&lt;/a&gt;. To see what other features we have in the works, see our &lt;a href="https://www.metabase.com/roadmap" rel="noopener noreferrer"&gt;product roadmap&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Cheers,&lt;br&gt;
The Metabase team&lt;/p&gt;

</description>
      <category>metabase</category>
      <category>opensource</category>
      <category>dataviz</category>
      <category>analytics</category>
    </item>
    <item>
      <title>Introducing Metabase's new Embedded Analytics SDK for React</title>
      <dc:creator>Ramiro</dc:creator>
      <pubDate>Thu, 27 Feb 2025 16:17:10 +0000</pubDate>
      <link>https://forem.com/metabase/introducing-metabases-new-embedded-analytics-sdk-for-react-528f</link>
      <guid>https://forem.com/metabase/introducing-metabases-new-embedded-analytics-sdk-for-react-528f</guid>
      <description>&lt;p&gt;Whether you’re embedding Metabase today or exploring new ways to give your customers access to reporting in your product, the Embedded Analytics SDK for React gives you way more control, customization, and flexibility over how your in-app analytics look, feel, and function inside your app.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/product/embedded-analytics-sdk" rel="noopener noreferrer"&gt;Meet the Embedded Analytics SDK for React&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/AtMn-G-Al80"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the SDK
&lt;/h2&gt;

&lt;p&gt;Iframes are a powerful and simple way (and until now, the only way) to embed Metabase—and for many, they’re still the best choice. But for teams that need more advanced theming, granular control over interactivity, and seamless UX, the Embedded Analytics SDK for React opens up new possibilities. &lt;a href="https://www.metabase.com/embedding-demo" rel="noopener noreferrer"&gt;Check out the demo to see our embedding options side by side&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp5ss3ano9tk2e610lf80.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp5ss3ano9tk2e610lf80.png" alt="SDK DEMO" width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Cool new stuff you can do with the SDK
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Embed &lt;em&gt;exactly&lt;/em&gt; what you need:&lt;/strong&gt; Charts, dashboards, or even the query builder as a standalone element—placed right where you want them, integrated in your app. No UI collisions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Customization that goes beyond white-labeling:&lt;/strong&gt; Style background colors, tooltips, shadows, and more with CSS variables. Apply different themes per organization, team, or even person.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Granular component configuration:&lt;/strong&gt; Control how users interact with charts, dashboards, or even the query builder—customizing available options as needed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Take full control over the UX:&lt;/strong&gt; Override Metabase menus, add custom actions, or even create your own layouts with sub-components.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try the Embedded Analytics SDK for free
&lt;/h2&gt;

&lt;p&gt;See it in action—start experimenting now:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npx @metabase/embedding-sdk-react@latest start&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The SDK is available now on Pro and Enterprise plans. &lt;a href="https://www.metabase.com//docs/latest/embedding/sdk/introduction" rel="noopener noreferrer"&gt;Check out the docs for more details on getting set up&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Join the &lt;a href="https://www.metabase.com/events/" rel="noopener noreferrer"&gt;live walkthrough with our product team on March 11&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>react</category>
      <category>analytics</category>
      <category>metabase</category>
      <category>embeddedanalytics</category>
    </item>
    <item>
      <title>Metabase 53: Save questions to dashboards, dynamic iframe cards, preemptive caching, and more!</title>
      <dc:creator>Ramiro</dc:creator>
      <pubDate>Thu, 13 Feb 2025 16:25:00 +0000</pubDate>
      <link>https://forem.com/metabase/metabase-53-save-questions-to-dashboards-dynamic-iframe-cards-preemptive-caching-and-more-4l49</link>
      <guid>https://forem.com/metabase/metabase-53-save-questions-to-dashboards-dynamic-iframe-cards-preemptive-caching-and-more-4l49</guid>
      <description>&lt;p&gt;We're at it again with Metabase 53, making your dashboards, queries, and—hopefully—your life more intuitive, contextual, and performant. Let's get into it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;If you’re hosted on &lt;a href="https://www.metabase.com/cloud/" rel="noopener noreferrer"&gt;Metabase Cloud&lt;/a&gt;&lt;/strong&gt;, we’ll be rolling out these new features automatically in the next few weeks. If you'd like to get it sooner, just let us know. Email mailto:&lt;a href="mailto:help@metabase.com"&gt;help@metabase.com&lt;/a&gt; and we'll upgrade you.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;If you’re self-hosting Metabase&lt;/strong&gt;, you (or your admin) can follow the docs on &lt;a href="https://www.metabase.com/docs/latest/operations-guide/upgrading-metabase" rel="noopener noreferrer"&gt;how to upgrade&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Save questions straight to dashboards
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqb8vbmyxys30jtf3e1bk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqb8vbmyxys30jtf3e1bk.png" alt="Save questions straight to dashboards" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We 💙 collections for keeping your Metabase organized. But we also know most questions are only ever used in a single dashboard. So to keep your Metabase tidier, questions are now saved into dashboards by default. This also makes building a dashboard easier, as you don’t have to go via collections.&lt;/p&gt;

&lt;p&gt;Plus, we’ve added tidying tools for admins, so if you have a bunch of questions used only in one dashboard, you can &lt;a href="https://www.metabase.com/docs/v0.53/exploration-and-organization/collections#moving-questions-into-dashboards" rel="noopener noreferrer"&gt;move the questions into the dashboards&lt;/a&gt; so they don't clutter up the collection. And for &lt;a href="https://www.metabase.com/docs/v0.53/exploration-and-organization/collections#cleaning-up-collections" rel="noopener noreferrer"&gt;questions that haven’t even been looked at in a while, you can delete them&lt;/a&gt; (on Pro and Enterprise only). If you're an admin, look for a little badge at the top-right to start moving questions now.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=oti_zGZILIA" rel="noopener noreferrer"&gt;▶️ Watch Alex showcasing how questions are now saved in dashboards.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Iframe and link card parameters let you show content dynamically
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwyjcaue9pjdbgu1ddmy4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwyjcaue9pjdbgu1ddmy4.png" alt="Iframe and link card parameters let you show content dynamically" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Building on the much loved addition of &lt;a href="https://www.metabase.com/releases/metabase-51#add-external-content-to-dashboards-with-iframe-cards" rel="noopener noreferrer"&gt;iframe cards for dashboards from v51&lt;/a&gt;, you can now set variables on &lt;a href="https://www.metabase.com/docs/latest/dashboards/introduction#iframe-cards" rel="noopener noreferrer"&gt;iframe and link cards&lt;/a&gt; to update the content dynamically. This lets you use dashboard filters and custom click behavior to update the content displayed on the cards.&lt;/p&gt;

&lt;p&gt;A cool example we came across when testing this feature internally was in a dashboard for tracking page views in our docs. We didn't want to have to flip between windows or tabs to see the docs page and its data, so we set up the dashboard so we could filter on specific articles and include an iframe card of the article itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Preemptive caching for faster queries
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjy63wxq2qgt3j1a2p2de.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjy63wxq2qgt3j1a2p2de.png" alt="Preemptive caching for faster queries" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/docs/v0.53/configuring-metabase/caching#refresh-cache-automatically" rel="noopener noreferrer"&gt;Automatically refresh the cache&lt;/a&gt; when the cache is invalidated. Metabase now anticipates common query patterns and preemptively caches results—no more waiting for someone to trigger a query or view the result.&lt;/p&gt;

&lt;p&gt;For dashboards with parameters, Metabase will always refresh the default results, as well as the results for the ten most frequently applied parameter combinations. This means you get a better balance between query freshness and cost.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/pricing/" rel="noopener noreferrer"&gt;Available on Pro and Enterprise plans.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;▶️ See how &lt;a href="https://youtu.be/ZNnU8A_RuVk" rel="noopener noreferrer"&gt;In() and notIn() custom expressions&lt;/a&gt; and &lt;a href="https://youtu.be/ZNnU8A_RuVk" rel="noopener noreferrer"&gt;Conditional expressions with IF work.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Model details now in an expandable sidebar
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpmrxn70ze48ek1rwgyg1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpmrxn70ze48ek1rwgyg1.png" alt="Model details now in an expandable sidebar" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All of the metadata previously found in the &lt;a href="https://www.metabase.com/docs/latest/data-modeling/models" rel="noopener noreferrer"&gt;model&lt;/a&gt; detail page can now be found tucked in the sidebar, so it’s easier to find and closer to other relevant metadata. The model sidebar includes info like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Description of the model, and a list of fields&lt;/li&gt;
&lt;li&gt;Who created it and who was the last to edit it&lt;/li&gt;
&lt;li&gt;Relationships, like which questions use it, what tables are linked to it&lt;/li&gt;
&lt;li&gt;History of edits and if and when it’s been &lt;a href="https://www.metabase.com/docs/latest/exploration-and-organization/content-verification" rel="noopener noreferrer"&gt;moderated and verified&lt;/a&gt; (on Pro and Enterprise)&lt;/li&gt;
&lt;li&gt;Insights (Pro and Enterprise only) &lt;a href="https://www.metabase.com/features/usage-analytics" rel="noopener noreferrer"&gt;showing who’s using it, when, and how&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Query builder improvements
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2hjx5lrekr4aahgoq6f2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2hjx5lrekr4aahgoq6f2.png" alt="Query builder improvements" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We've improved filtering in the query builder by allowing multiple selections in the filter widget when using &lt;code&gt;contains()&lt;/code&gt;, &lt;code&gt;doesNotContain()&lt;/code&gt;, &lt;code&gt;startsWith()&lt;/code&gt;, and &lt;code&gt;endsWith()&lt;/code&gt;, making it easier to refine your queries without switching to SQL. Additionally, &lt;a href="///docs/v0.53/questions/query-builder/expressions"&gt;custom expressions&lt;/a&gt; now support a more concise way to write multi-select "Is" filters using &lt;code&gt;in()&lt;/code&gt; and &lt;code&gt;notIn()&lt;/code&gt;, so you no longer need to chain multiple &lt;code&gt;OR&lt;/code&gt; conditions manually.&lt;/li&gt;
&lt;li&gt;But wait, there’s more custom expression goodness! We’ve made custom expressions more intuitive by adding an &lt;code&gt;if()&lt;/code&gt; function as an alias for &lt;code&gt;case()&lt;/code&gt;, so Excel-fans can jump right in without needing to check the docs.&lt;/li&gt;
&lt;li&gt;We’ve also improved the query builder UI to make controls more predictable and easier to navigate. Updates include clearer button labels, better navigation between the notebook editor, results, and visualization settings, and UI tweaks to make actions like adding custom columns or viewing SQL more intuitive.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  More granularity to latitude and longitude binning on maps
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwzmsajqr5cggr20msi3e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwzmsajqr5cggr20msi3e.png" alt="More granularity to latitude and longitude binning on maps" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now you can really dial in to group geographical data with greater precision, making it easier to analyze patterns in location-based data. Instead of relying on larger bins or broad geographical regions, you can now zoom in on more specific latitudes and longitudes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=kSo1IAiALz8" rel="noopener noreferrer"&gt; ▶️ Watch Alex showcase the new feature.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Faster Snowflake sync
&lt;/h2&gt;

&lt;p&gt;Snowflake syncs are now on average about 6x faster! That’s money back in your pocket, time back in your…pocket (on your watch?). You get the gist.&lt;/p&gt;

&lt;h2&gt;
  
  
  Paginated PDF exports
&lt;/h2&gt;

&lt;p&gt;If you’ve ever tried printing off a big dashboard as a PDF, you may be entitled to compensation. Compensation in the form of a great new solution: we’ve added page breaks to PDFs! Metabase will find logical places to add page breaks so there’s no weird cut offs mid-chart. Just neater exports that print more legibly, and are generally less stressful.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=xDLb82VdjwE" rel="noopener noreferrer"&gt;▶️ See how the new paginated PDFs look.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  New and improved API docs
&lt;/h2&gt;

&lt;p&gt;We &lt;a href="https://www.metabase.com/docs/latest/api" rel="noopener noreferrer"&gt;replaced our API docs with Scalar OpenAPI docs&lt;/a&gt;. In particular, this means we no longer have docs pages with URLs like /api/card . If you want to link to a specific endpoint, search for it in Scalar docs, and click on #  next to the header to copy the URL.&lt;/p&gt;




&lt;h2&gt;
  
  
  Try the new Embedded Analytics SDK for React (Beta)
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fty35lwhcyawrp6f9s74b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fty35lwhcyawrp6f9s74b.png" alt="Try the new Embedded Analytics SDK for React (Beta)" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://www.metabase.com/product/embedded-analytics-sdk" rel="noopener noreferrer"&gt;Embedded Analytics SDK for React&lt;/a&gt; gives you more flexibility, customization, and control over how Metabase integrates into your app.&lt;/p&gt;

&lt;p&gt;We’re putting a few finishing touches on it and it’s soooo close to coming out of beta.&lt;/p&gt;

&lt;p&gt;But you don’t have to wait til then, run this command to try out the SDK: &lt;code&gt;npx @metabase/embedding-sdk-react@latest start&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Cool stuff you can do with the SDK:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Embed &lt;em&gt;exactly&lt;/em&gt; what you want and place wherever you want.&lt;/li&gt;
&lt;li&gt;Dynamic theming with maximum customization via CSS variables.&lt;/li&gt;
&lt;li&gt;Manage interactivity per component and per user.&lt;/li&gt;
&lt;li&gt;Own the UX with options to override Metabase menus, add your own actions, and more.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re already embedding Metabase, the SDK will let you take your in-app reporting to the next level. You can try the SDK now without interfering with your current setup. And for the embedding-curious who are looking to get some reporting into your product, you can &lt;a href="https://www.metabase.com/embedding-demo" rel="noopener noreferrer"&gt;check out how our different embedding types compare&lt;/a&gt;, and &lt;a href="https://www.metabase.com/docs/latest/embedding/sdk/quickstart" rel="noopener noreferrer"&gt;take the SDK for a spin for free&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Support for serialization workflows in interactive embedding
&lt;/h2&gt;

&lt;p&gt;We introduced Stable entity IDs for serialization workflows for static and SDK embedding in v51. Now we’ve added them for interactive as well so they work for all types of embedding. That means smoother transfer of content between instances with IDs stay the same regardless of which environment or instance you’re in.&lt;/p&gt;

&lt;h2&gt;
  
  
  Breaking changes
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Java 21+ required:&lt;/strong&gt; Metabase 53 drops support for Java versions below 21.&lt;/p&gt;

&lt;h2&gt;
  
  
  Join the webinar for a walkthrough of these new features with the product team
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/events/metabase-53-release-webinar" rel="noopener noreferrer"&gt;Save your spot for the live event on February 25&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Big thanks to everyone who contributed!
&lt;/h3&gt;

&lt;p&gt;Thanks to all those who submitted bug reports, feature suggestions, translations, and pull requests. Metabase gets better and better thanks to your efforts.&lt;/p&gt;

&lt;p&gt;Hope you enjoy the release. If you want to get into the nitty-gritty, check out our &lt;a href="https://github.com/metabase/metabase/releases/" rel="noopener noreferrer"&gt;release notes in GitHub&lt;/a&gt;. To see what other features we have in the works, see our &lt;a href="https://www.metabase.com/roadmap" rel="noopener noreferrer"&gt;product roadmap&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Cheers,&lt;br&gt;
The Metabase team&lt;/p&gt;

</description>
      <category>metabase</category>
      <category>opensource</category>
      <category>dataviz</category>
      <category>analytics</category>
    </item>
    <item>
      <title>Metabase 52: Sankey charts, faster search, and more</title>
      <dc:creator>Ramiro</dc:creator>
      <pubDate>Wed, 11 Dec 2024 17:20:11 +0000</pubDate>
      <link>https://forem.com/metabase/metabase-52-sankey-charts-faster-search-and-more-1lb4</link>
      <guid>https://forem.com/metabase/metabase-52-sankey-charts-faster-search-and-more-1lb4</guid>
      <description>&lt;p&gt;Happy Metabase Release Day to those who observe. You’ll notice this one’s a touch lighter than most of our &lt;a href="https://www.metabase.com/releases" rel="noopener noreferrer"&gt;recent releases&lt;/a&gt;. We kept this one a little smaller in order to give you one more new version before the new year.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;If you’re hosted on &lt;a href="https://www.metabase.com/cloud" rel="noopener noreferrer"&gt;Metabase Cloud&lt;/a&gt;&lt;/strong&gt;, we’ll be rolling out these new features automatically in the new year. If you'd like to get it sooner, just let us know. Email &lt;a href="mailto:help@metabase.com"&gt;help@metabase.com&lt;/a&gt; and we'll upgrade you.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;If you’re self-hosting Metabase&lt;/strong&gt;, you (or your admin) can follow the docs on &lt;a href="https://www.metabase.com/docs/latest/operations-guide/upgrading-metabase" rel="noopener noreferrer"&gt;how to upgrade&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feel like you &lt;em&gt;just&lt;/em&gt; finished an upgrade? &lt;a href="https://www.metabase.com/upgrade" rel="noopener noreferrer"&gt;Try Metabase Cloud for free&lt;/a&gt; to get automatic upgrades and excellent technical support.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sankey charts
&lt;/h2&gt;

&lt;p&gt;This one’s especially for the product analytics people. We know you love a Sankey chart for understanding user flows, and now you got it in Metabase. To get this new chart out in time for the holidays, we limited its visualization options. But we have more improvements in the works, &lt;a href="https://www.metabase.com/docs/latest/questions/sharing/visualizations/sankey" rel="noopener noreferrer"&gt;so have fun playing around with Sankey charts&lt;/a&gt; and let us know what you think.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connect dashboard filters to columns at any stage of the query
&lt;/h2&gt;

&lt;p&gt;Got multiple stages in your queries? Custom columns? You can now wire up dashboard filters to columns from &lt;em&gt;any&lt;/em&gt; part of a card's query.&lt;/p&gt;

&lt;h2&gt;
  
  
  Faster and more relevant search results
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa2a6sp9q8clsitnsnnzs.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa2a6sp9q8clsitnsnnzs.jpg" alt="Faster and more relevant search results" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Upgraded search boasts two big improvements (the clue is in the title): First of all, it’s much faster - think around 3x. Secondly, results are more relevant with full-text search that includes partial matches. We’ve also refined the rankings to give more weight to things like content that’s more popular, been viewed more recently, and more.&lt;/p&gt;

&lt;p&gt;If you're self-hosting, an admin will need to opt in to the new search, and for now it’s only available with a Postgres app DB. To do this, you'll need to set the environment variable &lt;a href="https://www.metabase.com/docs/latest/configuring-metabase/environment-variables#mb_search_engine" rel="noopener noreferrer"&gt;&lt;code&gt;MB_SEARCH_ENGINE=appdb&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you're hosted on Metabase Cloud, we'll be rolling out the new search gradually over the coming weeks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dashboard verification
&lt;/h2&gt;

&lt;p&gt;Dashboards join the list of &lt;a href="https://www.metabase.com/docs/latest/exploration-and-organization/content-verification" rel="noopener noreferrer"&gt;content admins can verify&lt;/a&gt;, alongside questions, models, and metrics. Verified items get a fancy blue checkmark, show up higher in search results, and help your teams find your most important content. We have more updates to verified content coming soon, like expiry dates and flagged status. Blue checkmarks never had it so good.&lt;/p&gt;

&lt;p&gt;Available on &lt;a href="https://www.metabase.com/pricing" rel="noopener noreferrer"&gt;Metabase Pro and Enterprise plans&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  ‘View-only’ badge on questions that can’t be edited
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgdocddgmyncxtxo6n7wr.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgdocddgmyncxtxo6n7wr.jpg" alt="View-only badge on questions that can’t be edited" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We’ve made it more obvious when you can’t edit or interact with a question. Questions built on a table that’s been hidden by an admin can’t have filters, drill-through, or other interactive features applied. This badge takes out the guesswork.&lt;/p&gt;

&lt;h2&gt;
  
  
  Gray color palette added to charts
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzqcyk0gttqf0dicjhpsf.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzqcyk0gttqf0dicjhpsf.jpg" alt="Gray color palette added to charts" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Data is often pretty black and white.But sometimes you need a gray accent to offset the parts of a chart you really want to highlight. Currently available for line, bar, area, and gauge charts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Language localization support for all embedding types
&lt;/h2&gt;

&lt;p&gt;You can now &lt;a href="https://www.metabase.com/docs/latest/embedding/static-embedding-parameters#setting-the-language-for-a-static-embed" rel="noopener noreferrer"&gt;set the language for static and public embeds&lt;/a&gt; as well (e.g., set a static embed to Spanish with &lt;code&gt;#locale=es&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;Check out the &lt;a href="https://www.metabase.com/docs/latest/configuring-metabase/localization" rel="noopener noreferrer"&gt;locales Metabase supports&lt;/a&gt;. Available on &lt;a href="https://www.metabase.com/pricing" rel="noopener noreferrer"&gt;Metabase Pro and Enterprise&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  New old data picker for interactive embedding
&lt;/h2&gt;

&lt;p&gt;We &lt;a href="https://www.metabase.com/releases/metabase-50#improved-menus-for-picking-data-and-moving-stuff-around" rel="noopener noreferrer"&gt;recently released a new data picker&lt;/a&gt; to help people navigate Metabases that have a lot of stuff: tables, models, questions, etc. That new picker is overkill for customer-facing, embedded use cases, so we reverted back to the previous version of the entity picker for interactive embedding. Sometimes you really can’t beat a classic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Be part of the embedded analytics SDK beta program
&lt;/h2&gt;

&lt;p&gt;Our embedded analytics SDK is now available in beta! Try embedding with more powerful, flexible, and easier-to-customize implementation. Sign up for the &lt;a href="https://forms.gle/PKJBF5pxMwJTTwH4A" rel="noopener noreferrer"&gt;embedded analytics SDK beta program&lt;/a&gt;, or dive straight in with the &lt;a href="https://www.metabase.com/docs/latest/embedding/sdk/quickstart?utm_source=mailchimp&amp;amp;utm_medium=email&amp;amp;utm_campaign=metabase-52" rel="noopener noreferrer"&gt;quickstart&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  FYI
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/docs/latest/developers-guide/api-changelog#metabase-0520" rel="noopener noreferrer"&gt;Check the API changelog for breaking changes&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Snowflake will block single-factor password authentication by November 2025
&lt;/h3&gt;

&lt;p&gt;This doesn’t affect how you use Metabase, but important to know if you're using Snowflake that you’ll need to move to multi-factor authentication next year. &lt;a href="https://www.snowflake.com/en/blog/blocking-single-factor-password-authentification/" rel="noopener noreferrer"&gt;Check out their blog for more information&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Big thanks to everyone who contributed!
&lt;/h2&gt;

&lt;p&gt;Thanks to all those who submitted bug reports, feature suggestions, translations, and pull requests. Metabase gets better and better thanks to your efforts.&lt;/p&gt;

&lt;p&gt;Hope you enjoy the release. If you want to get into the nitty-gritty, check out our &lt;a href="https://github.com/metabase/metabase/releases/" rel="noopener noreferrer"&gt;release notes in GitHub&lt;/a&gt;. To see what other features we have in the works, see our &lt;a href="https://www.metabase.com/roadmap" rel="noopener noreferrer"&gt;product roadmap&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;See you next year!&lt;/p&gt;

&lt;p&gt;Cheers,&lt;/p&gt;

&lt;p&gt;The Metabase Team&lt;/p&gt;

</description>
      <category>metabase</category>
      <category>opensource</category>
      <category>dataviz</category>
      <category>analytics</category>
    </item>
    <item>
      <title>Metabase 51: Improved visualizations, Databricks driver, iframes in dashboards, and more.</title>
      <dc:creator>Ramiro</dc:creator>
      <pubDate>Thu, 14 Nov 2024 10:28:21 +0000</pubDate>
      <link>https://forem.com/metabase/metabase-51-improved-visualizations-databricks-driver-iframes-in-dashboards-and-more-cjd</link>
      <guid>https://forem.com/metabase/metabase-51-improved-visualizations-databricks-driver-iframes-in-dashboards-and-more-cjd</guid>
      <description>&lt;p&gt;Metabase 51 has a bunch of new stuff to help your team make the most of your data: viz upgrades, drill-through improvements, more tools to manage accounts and keep your Metabase tidy, and a lot more.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/events/metabase-51-release-webinar" rel="noopener noreferrer"&gt;Join the webinar on November 21&lt;/a&gt; for a live walkthrough of what’s new in 51 with our product team.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;If you’re hosted on &lt;a href="https://www.metabase.com/cloud" rel="noopener noreferrer"&gt;Metabase Cloud&lt;/a&gt;&lt;/strong&gt;, we’ll be rolling out these new features automatically over the next few weeks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;If you’re self-hosting Metabase&lt;/strong&gt;, you (or your admin) can follow the docs on &lt;a href="https://www.metabase.com/docs/latest/operations-guide/upgrading-metabase" rel="noopener noreferrer"&gt;how to upgrade&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Add external content to dashboards with iframe cards
&lt;/h2&gt;

&lt;p&gt;You thought your dashboards were cool before. Now you can add content from sources outside of Metabase into your dashboards via &lt;a href="https://www.metabase.com/docs/latest/dashboards/introduction#iframe-cards" rel="noopener noreferrer"&gt;iframe cards&lt;/a&gt;. Think Loom recordings, Google Docs, a Typeform widget survey—whatever you can dream up and put in an iframe, you can now put on your Metabase dashboard. Have everything in one dashboard so people have all the context in one place.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/1GiqH3BSkjY" rel="noopener noreferrer"&gt;📼 Check out Conor's demo of iframe cards and more visualization upgrades.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Revamped Metrics are now more functional as reusable calculations
&lt;/h2&gt;

&lt;p&gt;Give your team an &lt;a href="https://www.metabase.com/docs/latest/data-modeling/metrics" rel="noopener noreferrer"&gt;official way to calculate things in Metabase with metrics&lt;/a&gt;. Join two or more metrics to make a new metric, or join with additional data sources, e.g., to find the revenue from your department.&lt;/p&gt;

&lt;p&gt;Metrics could previously only be created and viewed by admins. Now anyone can create new metrics and save to collections. Like models, metrics now have their own page you can browse. Admins can also mark vetted metrics as official, so people know they’re using moderated calculations.&lt;/p&gt;

&lt;p&gt;When you upgrade, Metabase will move any existing metrics you have into a new collection (you'll no longer see metrics in your admin settings).&lt;/p&gt;

&lt;h2&gt;
  
  
  New time grouping widgets let people view dashboards by year, quarter, month, week, day, and more
&lt;/h2&gt;

&lt;p&gt;If you’ve got a KPI that you want to view by week, month, quarter, etc., now you’re just a click away from adjusting the time granularity without having to rewrite the query for different &lt;a href="https://www.metabase.com/docs/latest/dashboards/filters#time-grouping-parameter" rel="noopener noreferrer"&gt;time groupings&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/GuHsIDiVTKc" rel="noopener noreferrer"&gt;📼 Watch Alex change the time granularity on a dashboard.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  It’s official: Databricks driver is here
&lt;/h2&gt;

&lt;p&gt;Databricks was previously available as a community driver, which meant you could connect to Metabase, but it was &lt;a href="https://github.com/relferreira/metabase-sparksql-databricks-driver" rel="noopener noreferrer"&gt;built by some other talented folks&lt;/a&gt; and we didn’t officially support it (in spirit, yes, but not in an active, development-time, help-on-offer, kind of way). &lt;a href="https://www.metabase.com/docs/latest/databases/connections/databricks" rel="noopener noreferrer"&gt;Now we do&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/NxuQmc9eZ3E" rel="noopener noreferrer"&gt;📼 Watch Matthew connect Databricks to Metabase.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Create custom webhooks to send subscriptions and updates anywhere
&lt;/h2&gt;

&lt;p&gt;In addition to email and Slack, you can now &lt;a href="https://www.metabase.com/docs/latest/configuring-metabase/webhooks" rel="noopener noreferrer"&gt;set up webhooks&lt;/a&gt; to send notifications to pretty much any platform. Add to Zapier then send updates anywhere, like to MS Teams, to a database—even fax for those with strict compliance requirements.&lt;/p&gt;

&lt;p&gt;This is a step towards expanding our notification options in Metabase with more to come over in future releases. Think subscriptions, system events, and more.&lt;/p&gt;

&lt;h2&gt;
  
  
  Add way more context in your tooltips
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwlgwqj391d2suqc5une7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwlgwqj391d2suqc5une7.jpg" alt="Add way more context in your tooltips" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Add additional metrics in &lt;a href="https://www.metabase.com/docs/latest/questions/sharing/tooltips" rel="noopener noreferrer"&gt;tooltips&lt;/a&gt; to give more context when people hover over your charts. By default, tooltips will only show what’s on the chart. If there’s more going on below the surface that you’d like to show, head to your visualization settings and choose which supplementary metrics to include.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/L8x7rHkxVSg" rel="noopener noreferrer"&gt;📼 Watch Thomas add more detail to tooltips.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  SCIM account provisioning
&lt;/h2&gt;

&lt;p&gt;Keep authentication and account provisioning separate with SSO and SCIM. Now, in addition to SSO, you can &lt;a href="https://www.metabase.com/docs/latest/people-and-groups/user-provisioning" rel="noopener noreferrer"&gt;set up user provisioning with SCIM&lt;/a&gt; to manage who gets an account vs. who doesn’t, as well as automated deprovisioning of Metabase accounts.&lt;/p&gt;

&lt;p&gt;SCIM authentication and user provisioning is available on &lt;a href="https://www.metabase.com/pricing" rel="noopener noreferrer"&gt;Pro and Enterprise plans&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Click on a chart’s legend to highlight a series
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ejuh61j5al4m3plty6y.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ejuh61j5al4m3plty6y.jpg" alt="Click on a chart’s legend to highlight a series" width="800" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Anyone viewing dashboard or question can have more control over what they’re looking at without needing to edit a query or change the view for everyone else. You--or people looking at your dashboards and charts--can click on the bubbles in the chart legend to hide series, and click again to show.&lt;/p&gt;

&lt;h2&gt;
  
  
  New sunburst chart visualization
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv6glgdygjvz60xmgu19o.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv6glgdygjvz60xmgu19o.jpg" alt="New sunburst chart visualization" width="800" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Add depth to your &lt;a href="https://www.metabase.com/docs/latest/questions/sharing/visualizations/pie-or-donut-chart" rel="noopener noreferrer"&gt;pie charts&lt;/a&gt; with the new sunburst charts that let you add more rings to your pie.&lt;/p&gt;

&lt;p&gt;You now have more flexibility and control over how your pie chart legends are named, ordered, what to show and hide, or how many decimal places to include.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/Yr5UFsUkLfA" rel="noopener noreferrer"&gt;📼 Catch Cynthia's passion for pie charts and see improvements in action.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Exported pivot tables keep their pivotness
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3scpn9x641d35gqve0r9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3scpn9x641d35gqve0r9.jpg" alt="Exported pivot tables keep their pivotness" width="800" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pivot tables will keep all their pivoty goodness when exported in a download or dashboard subscription, so you can continue working on the table in Excel.&lt;/p&gt;

&lt;p&gt;Another thing: by default, all exported data keeps the formatting you set in Metabase (e.g., if you formatted 187.50 as \$187.50), but you can opt to download without formatting if you take your data raw.&lt;/p&gt;

&lt;h2&gt;
  
  
  Questions created with SQL now have more interactivity
&lt;/h2&gt;

&lt;p&gt;If “Drill-through doesn’t work on SQL questions” looks familiar to you - we’ve got great news. Now when you click on table results and charts made with SQL, you’ll see column-heading filters, distribution, and drill-through options. There are still some things sacred to the realm of questions made with the query builder, like the ability to breakout by category, and ‘See all records’, but our updates to the native query editor will help people pull threads and explore data in more places, regardless of whether the question was made with SQL or the query editor. No configuration needed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Even the trash gets a glow-up
&lt;/h2&gt;

&lt;p&gt;Does what it says on the &lt;del&gt;trashcan&lt;/del&gt; tin. Archiving content was often done with the intention of getting rid of it. Although items were out of sight and out of mind, they weren’t really gone. If you got a link to an archived item you couldn’t see it or resurrect it. Now, if you happen to see something that’s been trashed, there’ll be a clear indication with a banner and you’ll have the option to restore or delete it permanently.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/docs/latest/exploration-and-organization/delete-and-restore" rel="noopener noreferrer"&gt;Trash&lt;/a&gt; is also now a collection-you can search, filter, sort, view metadata. It’s visible to everyone in your Metabase, but which trashed items people can see will depend on their collection permissions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep your Metabase tidy with the new bulk clean-up tool
&lt;/h2&gt;

&lt;p&gt;Click a button to send collection items to the trash when they haven't been viewed for a set amount of time. Decluttering collections helps keep your Metabase clean and makes it easier to find stuff.&lt;/p&gt;

&lt;p&gt;For now, &lt;a href="https://www.metabase.com/docs/latest/exploration-and-organization/collections#cleaning-up-collections" rel="noopener noreferrer"&gt;collection clean-up&lt;/a&gt; is a manual process. Automatic clean-up is coming soon. &lt;a href="https://dev.to/pricing"&gt;Available on Pro and Enterprise plans&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/XPrf3F_cHgI" rel="noopener noreferrer"&gt;📼 Watch Alex clean up a collection fast&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Embedding improvements
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Embedded analytics SDK is available in beta for the most modular, flexible embedding ever
&lt;/h3&gt;

&lt;p&gt;Use React to embed individual components of Metabase like charts, dashboards, or even the query builder on its own. Style each component to fit seamlessly with your app, and tailor the level of access and interactivity per person or group. All the best bits of Metabase ready to embed, unconstrained by an iframe for maximum control and customization options.&lt;/p&gt;

&lt;p&gt;Try the &lt;a href="https://metaba.se/sdk" rel="noopener noreferrer"&gt;Embedded analytics SDK&lt;/a&gt; beta on all plans, including open source. You can use it in production on &lt;a href="https://dev.to/pricing"&gt;Metabase Pro and Enterprise plans&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Export static and public embeds to PDF
&lt;/h3&gt;

&lt;p&gt;Controls for downloading questions to PDF are now more consistent (and generally just better) on static embeds and public links. Admins on &lt;a href="https://www.metabase.com/pricing" rel="noopener noreferrer"&gt;Pro and Enterprise plans&lt;/a&gt; can &lt;a href="https://www.metabase.com/docs/latest/embedding/static-embedding-parameters#disable-downloads-for-an-embedded-question-or-dashboard" rel="noopener noreferrer"&gt;choose whether to show export buttons&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Improved transparent theme for static and public embeds
&lt;/h3&gt;

&lt;p&gt;We’ve introduced the option to choose between the light and dark themes and optionally toggle background transparency. Transparent mode isn’t new, but we’ve taken on your feedback about what was working and what wasn’t to give you a toggle that ensures your static embeds blend more smoothly, without disappearing entirely 🎩🪄&lt;/p&gt;

&lt;h2&gt;
  
  
  Stable entity IDs for moving content across instances with serialization
&lt;/h2&gt;

&lt;p&gt;For those of you using serialization to move dashboards, questions, and other things between instances, inconsistent IDs can make it way harder than it needs to be. &lt;a href="https://www.metabase.com/docs/latest/installation-and-operation/serialization#metabase-uses-entity-ids-to-identify-and-reference-metabase-items" rel="noopener noreferrer"&gt;Stable entity IDs&lt;/a&gt; remove that pain by ensuring IDs stay the same regardless of which environment or instance you’re in, for smoother transfer of content.&lt;/p&gt;

&lt;h2&gt;
  
  
  And more
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Boolean expressions in custom columns
&lt;/h3&gt;

&lt;p&gt;You can now use the boolean return value of custom expressions without any hacks to cast into strings or numbers. Do you love it—true or false?&lt;/p&gt;

&lt;h3&gt;
  
  
  Add multiple breakouts on the same column
&lt;/h3&gt;

&lt;p&gt;See your data by different time breakouts from the query builder without needing to create a custom column. Year AND months. days of the week AND hour of day, and more.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/vkwBkRyX7dM" rel="noopener noreferrer"&gt;📼 Watch Alex add multiple breakouts to charts&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Metabase Cloud Storage: you don't need a database to get started with Metabase
&lt;/h3&gt;

&lt;p&gt;Start analyzing and visualizing your data even if you don’t have a data team or the technical skills to set up a database on your own. &lt;a href="https://store.metabase.com/checkout?dwh=1" rel="noopener noreferrer"&gt;Upload your CSVs directly into Metabase with built-in storage&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Get notified about new releases with our new Stable, Beta, and Nightly channels
&lt;/h3&gt;

&lt;p&gt;Select from a dropdown menu which type of releases you want to be notified about - Stable (recommended for production), Beta, or Nightly (contains all work from the master branch. Only recommended for experimental use).&lt;/p&gt;

&lt;h3&gt;
  
  
  BigQuery improvements include quicker syncs and JSON unfolding
&lt;/h3&gt;

&lt;p&gt;We’ve reduced the time it takes to sync. And now with JSON unfolding available, you can query nested fields.&lt;/p&gt;

&lt;h3&gt;
  
  
  Azure managed identity for Postgres auth
&lt;/h3&gt;

&lt;p&gt;Super secure passwordless authentication now available on self-hosted &lt;a href="https://www.metabase.com/pricing" rel="noopener noreferrer"&gt;Pro and Enterprise plans&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  New environment variable limits on how much data you can download
&lt;/h3&gt;

&lt;p&gt;We’ve added a &lt;a href="https://www.metabase.com/docs/latest/configuring-metabase/environment-variables#mb_download_row_limit" rel="noopener noreferrer"&gt;new environment variable&lt;/a&gt;, &lt;code&gt;MB_DOWNLOAD_ROW_LIMIT&lt;/code&gt;, so people with specific use cases can change it. This is niche, but it's a nice option for those who need it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Join the webinar for a walkthrough of these new features with the product team
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.metabase.com/events/metabase-51-release-webinar" rel="noopener noreferrer"&gt;Save your spot for the live event on November 21&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Or if you want to get into the nitty-gritty, check out our &lt;a href="https://github.com/metabase/metabase/releases/" rel="noopener noreferrer"&gt;release notes in GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Big thanks to everyone who contributed!
&lt;/h2&gt;

&lt;p&gt;Thanks to all those who submitted bug reports, feature suggestions, translations, and pull requests. Metabase gets better and better thanks to your efforts.&lt;/p&gt;

&lt;p&gt;Hope you enjoy the release. To see what other features we have in the works, check out our &lt;a href="https://www.metabase.com/roadmap" rel="noopener noreferrer"&gt;product roadmap&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Cheers,&lt;br&gt;
The Metabase Team&lt;/p&gt;

</description>
      <category>metabase</category>
      <category>opensource</category>
      <category>dataviz</category>
      <category>analytics</category>
    </item>
    <item>
      <title>AI ignites the rain: Content Storm is back</title>
      <dc:creator>Ramiro</dc:creator>
      <pubDate>Wed, 25 Oct 2023 17:04:14 +0000</pubDate>
      <link>https://forem.com/supabase/ai-ignites-the-rain-content-storm-is-back-kdl</link>
      <guid>https://forem.com/supabase/ai-ignites-the-rain-content-storm-is-back-kdl</guid>
      <description>&lt;p&gt;At Supabase, we cherish innovation and community. How do we combine them together? With a whirlwind of AI Content, of course!&lt;/p&gt;

&lt;h2&gt;
  
  
  What is the AI Content Storm?
&lt;/h2&gt;

&lt;p&gt;This is our third Content Storm, and on this occasion, we focused on AI. The rest was more or less the same, we invited content creators to create Supabase-related content and publish everything on the same day.&lt;/p&gt;

&lt;h2&gt;
  
  
  Amplifying the Community Voice
&lt;/h2&gt;

&lt;p&gt;Our community is at the heart of everything we do. Content Storms provide a unique opportunity to amplify the voices within our community. We want to showcase the incredible talents and ideas that reside within the Supabase family. By collaborating with content creators, makers, developers, and thought leaders, we celebrate the diversity of experiences and expertise that fuel our ecosystem.&lt;/p&gt;

&lt;h2&gt;
  
  
  The aftermath of the storm
&lt;/h2&gt;

&lt;p&gt;More than 40 creators participated in creating content in different formats and everything was published on Tuesday 10th of October, to match with the closing day of the &lt;a href="https://www.ai.engineer/summit" rel="noopener noreferrer"&gt;AI Engineer Summit&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The Content Storm is a collaborative effort, and your contributions are what make it truly special. Thank you for being part of this exhilarating journey into the world of AI with Supabase.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://danryland.co.uk/blog/dan-ryland-is-supabase-vector-database/" rel="noopener noreferrer"&gt;Dan Ryland. Is. Supabase Vector Database.&lt;/a&gt; by Dan Ryland&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://medium.com/@limjoshen/supabase-vector-and-llms-efa5d32f719d" rel="noopener noreferrer"&gt;Supabase Vector and LLMs&lt;/a&gt; by Joshen Lim&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://blog.spirokit.com/building-a-news-feed-assistant-with-supabase-openai-and-spirokit" rel="noopener noreferrer"&gt;Building a news feed assistant with Supabase, OpenAI, and SpiroKit&lt;/a&gt; by Mauro Garcia and Paula Santamaría.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/watch?v=aiI3VFnPGig" rel="noopener noreferrer"&gt;Building a Recipe Chatbot with Langchain, OpenAI and Supabase Vector&lt;/a&gt; by Ayesha Sahar.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.ianwootten.co.uk/2023/10/10/effortless-embeddings-with-vecs-and-supabase/" rel="noopener noreferrer"&gt;Effortless Embeddings with vecs and Supabase&lt;/a&gt; by Ian Wooten.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://dev.to/asheeshh/creating-a-hackathon-winning-ai-based-app-in-a-weekend-using-supabase-openai-nextjs-2pe7"&gt;Creating a hackathon winning AI based app in a weekend using Supabase, OpenAI, &amp;amp; Next.js&lt;/a&gt; by Ashish.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://sucipto.id/2023/10/10/create-ai-embedding-app-using-supabase-sveltekit/" rel="noopener noreferrer"&gt;Create AI Embedding app using Supabase &amp;amp; SvelteKit&lt;/a&gt; by Sucipto.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://n4ze3m.com/blog/building-personalized-link-search-engine-supabase-pgvector-transformerjs-langchain" rel="noopener noreferrer"&gt;Building a Personalized Link Search Engine with Supabase pgvector, TransformerJS, and Langchain&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://blog.nourjandali.com/meet-your-automated-content-creator-a-telegram-bot-powered-by-supabase-and-openai" rel="noopener noreferrer"&gt;Meet Your Automated Content Creator: A Telegram Bot Powered by Supabase and OpenAI&lt;/a&gt; by Nour Jandali.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://tweeets.app/blog/supabase-ai-content-storm" rel="noopener noreferrer"&gt;Supabase: The Key to developing SaaS Faster&lt;/a&gt; by Gaëtan Huszovits.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://medium.com/@catalinamelnic/unleash-the-power-of-supabases-pgvector-extension-6d670aabc512" rel="noopener noreferrer"&gt;Unleash the Power of Supabase’s pgvector Extension&lt;/a&gt; by Catalina Melnic.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://blog.mansueli.com/ai-powered-slack-bot-supabase?ref=twitter-share" rel="noopener noreferrer"&gt;Building a Slack Bot for AI-Powered Conversations with Supabase&lt;/a&gt; by Rodrigo Mansueli.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://dev.to/surajondev/what-is-embedding-generating-embedding-using-supabase-4pnl"&gt;What is Embedding? Generating Embedding using Supabase&lt;/a&gt; by Suraj Vishwakarma.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://classroomio.substack.com/p/chatgpt-for-classroom-knowledge-base" rel="noopener noreferrer"&gt;🤯 ChatGPT for Classroom Knowledge base with Supabase pgvector 🤯&lt;/a&gt; by Rotimi Best.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://twitter.com/T_Zahil/status/1711716990724042925" rel="noopener noreferrer"&gt;Supabase best tips and practices&lt;/a&gt; by Thomas Sanlis.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://blog.ikirill.com/create-midjourney-alternative-with-supabase-and-hugging-face-in-minutes" rel="noopener noreferrer"&gt;Create Midjourney Alternative with Supabase and Hugging Face in Minutes&lt;/a&gt; by Kirill Inoz.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://dev.to/supabase/how-to-build-a-content-recommendation-feature-using-flutter-open-ai-and-supabase-3mg4?a"&gt;How to build a content recommendation feature using Flutter, Open AI, and Supabase&lt;/a&gt; by Tyler Shukert.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://klu.ai/blog/why-vector-db-klu" rel="noopener noreferrer"&gt;Why most Vector DBs will die – Pt.01&lt;/a&gt; by Stephen M. Walker II.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://locatelloapp.com/dev/building-a-smart-tourist-guide-with-supabase-and-capacitor" rel="noopener noreferrer"&gt;Building a smart tourist guide with Supabase and Capacitor&lt;/a&gt; by Rudy.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://makerkit.dev/blog/tutorials/supabase-vector-nextjs" rel="noopener noreferrer"&gt;Adding AI capabilities to your Next.js SaaS with Supabase and HuggingFace&lt;/a&gt; by Giancarlo.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://medium.com/@alex.streza/rehashing-the-ideal-ai-product-powered-by-supabase-6b15f1d00d31" rel="noopener noreferrer"&gt;Rehashing The Ideal AI Product Powered By Supabase&lt;/a&gt; by Alex Streza.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.aleksandra.codes/image-supabase" rel="noopener noreferrer"&gt;Building an image retrieval app with Supabase&lt;/a&gt; by Aleksandra Sikora&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.gpanga.com/blog/supabase-openai-second-brain" rel="noopener noreferrer"&gt;How to create your company's second brain using supabase's pgvector?&lt;/a&gt; by Gabriel Pan Gantes.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/watch?v=2D6K52NceB4" rel="noopener noreferrer"&gt;How Spillt Uses Vector Embedding for Search&lt;/a&gt; by Ann Baum.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/watch?v=tFnNBhr0WTw" rel="noopener noreferrer"&gt;Build your own AI Shopping App with React Native and Supabase Vector&lt;/a&gt; by Simon Grimm.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://sucipto.id/2023/10/10/create-ai-embedding-app-using-supabase-sveltekit/" rel="noopener noreferrer"&gt;Create AI Embedding app using Supabase &amp;amp; SvelteKit&lt;/a&gt; by Sucipto.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://aiherrera.medium.com/the-structure-of-my-upcoming-ai-projects-tech-stack-e9d3eaedb487" rel="noopener noreferrer"&gt;The structure of my upcoming AI project’s tech stack&lt;/a&gt; by Alain Iglesias.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://blog.artisanlabs.io/posts/supabase-pgvector" rel="noopener noreferrer"&gt;Extending Workshop Learnings: From Supabase and PGvector to LangChain&lt;/a&gt; by Sebastian Rojo.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://dartling.dev/create-your-own-chatgpt-in-dart-with-supabase-vector-and-openai" rel="noopener noreferrer"&gt;Create your own ChatGPT in Dart with Supabase Vector and OpenAI&lt;/a&gt; by Christos.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://dev.to/neeldev96/lets-build-a-github-document-search-tool-using-react-supabase-llama2-4635"&gt;Lets build a Github document search tool using React + Supabase + LLAMA2&lt;/a&gt; by Neelakantan S.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://niklas.hashnode.dev/from-a-dream-to-reality-building-an-ai-coloring-book-with-elixir" rel="noopener noreferrer"&gt;From a dream to reality: Building an AI "coloring book" with Elixir&lt;/a&gt; by Niklas Lepistö.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://suchanek.co/p/surfing-the-latent-space-with-pgvector" rel="noopener noreferrer"&gt;🏄‍♂️ Surfing the latent space with Pgvector&lt;/a&gt; by Tim Suchanek.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/watch?v=MhuWZVF3Ifs" rel="noopener noreferrer"&gt;Building the Netflix AI Recommendation System with Supabase&lt;/a&gt; by Vadim Savin.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/watch?v=a-AD8bOVHZM" rel="noopener noreferrer"&gt;Build a ChatGPT Clone with Supabase Vector DB and Openai API&lt;/a&gt; by Daily Web Coding.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/watch?v=c_02An4joAo" rel="noopener noreferrer"&gt;How to Generate Text Embeddings using Supabase Edge Functions, Transformer.js and React.js&lt;/a&gt; by The Code Angle.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/watch?v=n-9KA4bd5TY" rel="noopener noreferrer"&gt;Supabase + HuggingFace Chatbot in 1 Minute ⚡&lt;/a&gt; by Majestic Coding.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/watch?v=vnNijgAwm-g" rel="noopener noreferrer"&gt;Building an AI chat bot for your tech blog with Supabase, ChatGPT, AnalogJs &amp;amp; spartan&lt;/a&gt; by Robin Goetz.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://n4ze3m.com/blog/building-personalized-link-search-engine-supabase-pgvector-transformerjs-langchain" rel="noopener noreferrer"&gt;Building a Personalized Link Search Engine with Supabase pgvector, TransformerJS, and Langchain&lt;/a&gt; by Muhammad Nazeem.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://dev.to/isheanesu_dev/letting-supabase-users-transcribe-youtube-videos-1oei"&gt;Letting Supabase Users Transcribe YouTube Videos&lt;/a&gt; by Isheanesu.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.loom.com/share/dea4668a8a3e4a9f836414a3a5b16217" rel="noopener noreferrer"&gt;Using Bitbuilder to change the state in Supabase&lt;/a&gt; by Hunter Brooks from Bitbuilder.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="http://supabase.com?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm%5C_term=devtocta" class="ltag_cta ltag_cta--branded" rel="noopener noreferrer"&gt;🚀 Learn more about Supabase&lt;/a&gt;
&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Supabase Logs: open source logging server</title>
      <dc:creator>Ramiro</dc:creator>
      <pubDate>Sun, 09 Apr 2023 23:00:00 +0000</pubDate>
      <link>https://forem.com/supabase/supabase-logs-open-source-logging-server-3jfp</link>
      <guid>https://forem.com/supabase/supabase-logs-open-source-logging-server-3jfp</guid>
      <description>&lt;p&gt;Today, we’re releasing Supabase Logs for both self-hosted users and CLI development.&lt;/p&gt;

&lt;h2&gt;
  
  
  Logflare Introduction
&lt;/h2&gt;

&lt;p&gt;Since &lt;a href="https://supabase.com/blog/supabase-acquires-logflare" rel="noopener noreferrer"&gt;Logflare joined Supabase&lt;/a&gt; over a year ago it’s been quietly handling over 1 billion log events every day. These events come from various tools in the Supabase infrastructure - the API gateway, Postgres databases, Storage, Edge Functions, Auth, and Realtime.&lt;/p&gt;

&lt;p&gt;Logflare is a multi-node, highly available Elixir cluster, ingesting the log events and storing them into BigQuery for Supabase and Logflare’s customers. On average, the cluster has 6 nodes handling every spike our customers throw at it.&lt;/p&gt;

&lt;p&gt;To expose log data to customers, we leverage Logflare Endpoints. This provides an HTTP integration into Supabase Studio, powering the log query UIs and most time-series charts. These charts live across the studio, such as the project home page and the new API reports.&lt;/p&gt;

&lt;h2&gt;
  
  
  Self-hosting Logflare
&lt;/h2&gt;

&lt;p&gt;Logflare was available under a BSL license prior to joining Supabase. We’ve since changed the license to &lt;a href="https://github.com/Logflare/logflare/blob/staging/LICENSE.md" rel="noopener noreferrer"&gt;Apache 2.0&lt;/a&gt;, aligning it with our open source philosophy.&lt;/p&gt;

&lt;p&gt;In the past few months we’ve made Logflare more developer-friendly for local development and self-hosting. While you’re building a project, you can view and query your logs from any Supabase service, just as you would in our cloud platform.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcxeortm3752hk8zubdo8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcxeortm3752hk8zubdo8.png" alt="Logs UI" width="800" height="507"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📢 Check out the &lt;a href="https://supabase.com/docs/reference/self-hosting-analytics/introduction" rel="noopener noreferrer"&gt;new self-hosting docs&lt;/a&gt; to get Logflare up and running as your analytics server.&lt;/p&gt;

&lt;p&gt;It currently supports a BigQuery backend, and we are actively working on supporting more.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Ingestion Pipeline
&lt;/h2&gt;

&lt;p&gt;Logflare receives Supabase log events via multiple methods. Services like Postgres use &lt;a href="//vector.dev/"&gt;Vector&lt;/a&gt; to clean and forward log events to the Logflare ingest API. Other services such as Realtime and Storage utilize &lt;a href="https://github.com/Logflare/logflare#integrations" rel="noopener noreferrer"&gt;native Logflare integrations&lt;/a&gt; to send the log events directly. These then get processed and streamed into BigQuery.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Querying Pipeline
&lt;/h2&gt;

&lt;p&gt;The hard part comes after ingesting the logs: searching, aggregating ,and analyzing them at scale. Crunching many terabytes of data on each query is expensive, and exposing the ingested data to Supabase customers in a naive manner would cause our costs to skyrocket.&lt;/p&gt;

&lt;p&gt;To solve these issues, we built and refined Logflare Endpoints, the query engine that powers many of Supabase’s features, such as the logs views, Logs Explorer, and usage charts.&lt;/p&gt;

&lt;p&gt;With Endpoints, you can create HTTP API endpoints from a SQL query, including parameterized queries. Endpoints are like PostgREST views but with some benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Query parameters&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;You can provide string parameters to the SQL query via the HTTP endpoint.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Read-through caching&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Results from the query are cached in memory for fast response times.&lt;/li&gt;
&lt;li&gt;A read-through cache provides results if cached results do not exist.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Active cache warming&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Query results are proactively warmed at a configurable interval for a combination of fast response times and as-realtime-as-needed data.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Query sandboxing&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;If an Endpoint query contains a CTE and the sandbox option is selected, the Endpoint will inject the query string of the &lt;code&gt;sql&lt;/code&gt; query parameter into the Endpoint SQL replacing the default query (the part of the SQL query after the CTE).&lt;/li&gt;
&lt;li&gt;Endpoints parse SQL to allow &lt;code&gt;select&lt;/code&gt; queries only. No DML or DDL statements are permitted to run through Logflare Endpoints.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;With this feature set, Supabase has been able to build any view we’ve needed on top of billions of daily log events.&lt;/p&gt;

&lt;h3&gt;
  
  
  Logflare Endpoint Example
&lt;/h3&gt;

&lt;p&gt;Using webhooks, we can send all GitHub events in the Supabase organization to Logflare. The webhook sends structured events, and Logflare transforms the payload into metadata:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"event_message"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"supabase/supabase | JohannesBauer97 | created"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"0d48b71d-91c5-4356-82c7-fdb299b625d0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"metadata"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"sender"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;15695124&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"login"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"JohannesBauer97"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"node_id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"MDQ6VXNlcjE1Njk1MTI0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"site_admin"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"User"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://api.github.com/users/JohannesBauer97"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"starred_at"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2023-03-30T20:33:55Z"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="err"&gt;//...&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"timestamp"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1680208436849642&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We’re interested in the top contributors, which can be extracted with SQL (in BigQuery dialect):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;select&lt;/span&gt;
  &lt;span class="k"&gt;count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;timestamp&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="k"&gt;count&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;login&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;gh_user&lt;/span&gt;
&lt;span class="k"&gt;from&lt;/span&gt;
  &lt;span class="nv"&gt;`github.supabase.webhooks`&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt;
  &lt;span class="k"&gt;cross&lt;/span&gt; &lt;span class="k"&gt;join&lt;/span&gt; &lt;span class="k"&gt;unnest&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;m&lt;/span&gt;
  &lt;span class="k"&gt;cross&lt;/span&gt; &lt;span class="k"&gt;join&lt;/span&gt; &lt;span class="k"&gt;unnest&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;m&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sender&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;
&lt;span class="k"&gt;where&lt;/span&gt;
  &lt;span class="nb"&gt;timestamp&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="nb"&gt;date&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;current_date&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="k"&gt;day&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="nb"&gt;int&lt;/span&gt;
&lt;span class="k"&gt;group&lt;/span&gt; &lt;span class="k"&gt;by&lt;/span&gt;
  &lt;span class="n"&gt;gh_user&lt;/span&gt;
&lt;span class="k"&gt;order&lt;/span&gt; &lt;span class="k"&gt;by&lt;/span&gt;
  &lt;span class="k"&gt;count&lt;/span&gt; &lt;span class="k"&gt;desc&lt;/span&gt;
&lt;span class="k"&gt;limit&lt;/span&gt;
  &lt;span class="mi"&gt;25&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With this view in place, we can use Endpoints to provide an API that we can hit from our application:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="s2"&gt;"https://logflare.app/endpoints/query/69425db0-1cfb-48b4-84c7-2a872b6f0a61"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
 &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s1"&gt;'Content-Type: application/json; charset=utf-8'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
 &lt;span class="nt"&gt;-G&lt;/span&gt; &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s2"&gt;"day=30"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This returns a JSON response with the top org wide contributors for the last 30 days!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"result"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"count"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;23404&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"gh_user"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"vercel[bot]"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"count"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;10005&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"gh_user"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"joshenlim"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"count"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;7026&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"gh_user"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"MildTomato"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"count"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;6405&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"gh_user"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"fsansalvadore"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"count"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;5195&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"gh_user"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"saltcod"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"count"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;3454&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"gh_user"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"alaister"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"count"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;2691&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"gh_user"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"kevcodez"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"count"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;2117&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"gh_user"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"gregnr"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"count"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1769&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"gh_user"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Ziinc"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"count"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1749&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"gh_user"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"chasers"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"count"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1430&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"gh_user"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Isaiah-Hamilton"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="err"&gt;//...&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We can configure this Endpoint to cache results for an interval of 10 minutes after the first API request, and proactively update those cached results every 2 minutes - 5 queries across the 10 minute interval. Even if we hit the Endpoint thousands of times, we only sustain the cost of 5 queries.&lt;/p&gt;

&lt;p&gt;The initial request is fast because Logflare also performs setup (such as partitioning) on our BigQuery tables appropriately. Subsequent requests are &lt;em&gt;extremely fast&lt;/em&gt; as they are cached in-memory.&lt;/p&gt;

&lt;p&gt;The best part is that all these knobs can be tweaked for your use case. If we have a real-time requirement, we can completely disable caching or reduce the proactive caching to update on a per-second interval.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Self-hosted Challenge
&lt;/h2&gt;

&lt;p&gt;To change the license, we needed to remove all closed-source dependencies. Previously, Logflare relied on the closed source &lt;a href="https://www.sqlparser.com/" rel="noopener noreferrer"&gt;General SQL Parser&lt;/a&gt; under a business licenses. This is incompatible with the Apache License.&lt;/p&gt;

&lt;p&gt;We switched to an open source alternative, the rust-based &lt;a href="https://github.com/sqlparser-rs/sqlparser-rs" rel="noopener noreferrer"&gt;sqlparser-rs&lt;/a&gt; library, contributing a &lt;a href="https://github.com/sqlparser-rs/sqlparser-rs/pulls?q=is%3Apr+is%3Amerged+author%3AZiinc" rel="noopener noreferrer"&gt;few updates&lt;/a&gt; for the BigQuery dialect.&lt;/p&gt;

&lt;p&gt;Along with the parser, we invested a lot of effort into transforming the multi-tenant architecture into something that was self-hosting friendly and easily configurable. We moved towards environment variable based configuration instead of compile-time configurations, exposing the Endpoints configurations necessary for Supabase Logs.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s Next?
&lt;/h2&gt;

&lt;p&gt;To further integrate Logflare into the Supabase platform, we are building out 2 main areas: Management API, Multiple Backends.&lt;/p&gt;

&lt;h3&gt;
  
  
  Management API
&lt;/h3&gt;

&lt;p&gt;The Management API allows users to interact programmatically with Logflare to manage their account and resources. This feature will be available for both Logflare customers and self-hosted users.&lt;/p&gt;

&lt;p&gt;You can check out the preview of our OpenAPI spec here: &lt;a href="https://logflare.app/swaggerui" rel="noopener noreferrer"&gt;https://logflare.app/swaggerui&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo0gaprejcg7fvhr1vgtf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo0gaprejcg7fvhr1vgtf.png" alt="swagger" width="800" height="616"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Not only that, we intend to expose user account provisioning to select partners. Soon, you’ll be able to become a Logflare Partner to provision Logflare accounts through the Partner API. Perfect if you want to resell a log analytics service from your own platform.&lt;/p&gt;

&lt;p&gt;Contact us at &lt;a href="mailto:growth@supabase.com"&gt;growth@supabase.com&lt;/a&gt; to get in early on that waitlist.&lt;/p&gt;

&lt;h2&gt;
  
  
  Multiple Backends
&lt;/h2&gt;

&lt;p&gt;Logflare currently supports a BigQuery backend. We plan to add support for other analytics-optimized databases, like Clickhouse. We will also support pushing data to other web services, making Logflare a good fit for any data pipeline.&lt;/p&gt;

&lt;p&gt;This will benefit the Supabase CLI: once Postgres support is available, Logflare will be able to integrate seamlessly, without the BigQuery requirement.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;Logflare has given Supabase the flexibility to quickly deploy features powered by an underlying structured event stream. Materializing metrics from an event stream is a powerful framework for delivering real-time views on analytics streams.&lt;/p&gt;

&lt;p&gt;Logflare is the hub of analytics streams for Supabase. We look forward to giving Supabase customers the same superpower.&lt;/p&gt;

&lt;h2&gt;
  
  
  More Launch Week 7
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://supabase.com/blog/launch-week-7-hackathon" rel="noopener noreferrer"&gt;The Supabase AI Hackathon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/supabase/supavisor" rel="noopener noreferrer"&gt;Supavisor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://supabase.com/blog/designing-with-ai-midjourney" rel="noopener noreferrer"&gt;Designing with AI: Generating unique artwork for every user&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>supaba</category>
      <category>opensource</category>
      <category>postgres</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
