This launch week was unique. We had so much content that we decided to do a “main stage”, with five major features, and a “build stage” with additional content. It's a lot to digest, so here are 10 of my favorites.
#1: We teamed up with Fly
We're launching Fly Postgres, a managed Postgres offering by Supabase and Fly.io. Fly's current Postgres offering is unmanaged, so we're working with them to bring the same delightful Postgres experience to Fly.
#2: We launched Supabase Grafana
We shipped an open source observability suite for your Supabase project, using Prometheus and Grafana. It collects around 200 metrics and can be deployed to any server.
#3: pg_graphql now supports Postgres Functions
Supabase GraphQL (pg_graphql) 1.4+ supports the most requested feature: Postgres functions a.k.a. User Defined Functions. Execute custom SQL logic within GraphQL queries to support complex server-side operations.
#4: Python libs are now stable
Supabase Python is now stable and ready to use in your Python applications. We've created a few guides and examples to show how easy it is to use Python libraries with existing frameworks like Flask.
#5: Aggregate Functions in PostgREST
Support for aggregate functions has been much requested feature that went through multiple iterations of design and review. PostgREST 12 was just released and it now supports
#6: Supavisor 1.0
Supavisor is a cloud-native connection pooler for Postgres, built with Elixir. We've migrated all projects on the platform from pgbouncer to Supavisor. Every new Supabase project launched now gets a Supavisor connection string to use for connection pooling.
#7: Edge Functions now support Node & NPM
Edge Functions now natively supports npm modules and Node built-in APIs. You can directly import millions of popular, commonly used npm modules into your Edge Functions.
#8: Leaked Password Protection with Have I Been Pwned
we have integrated the HaveIBeenPwned.org Pwned Passwords API in Supabase Auth to prevent users from using leaked passwords. This will prevent your users from using a password that has previously been leaked.
#9: Supabase Branching
Branching gives you a Postgres database for every Pull Request. You can run experimental changes on your branch database, and then merge your changes into production when you're happy with the changes. We're rolling out branching in batches.
#10: Postgres Read Replicas
Read replicas continuously, well, replicate data from a primary database. It contains a constantly-updated copy of the data in your Primary. These are great for distributing data closer to your users to reduce application latency, and for reducing the load on your Primary database.
Bonus: we dropped an Album
Cool things from the community
I also wanted to highlight a few things that happened in the community over the past few weeks:
Local AI Stack with Yoko from a16z
Finance integrations with OpenBB
Didier explained the origins of OpenBB Terminal, the first financial terminal that is free and fully open source. He shared some details about the integration that he's building with Supabase.
Offline sync with ElectricSQL
Offline sync is one of the most requested features for Supabase. I caught up with the team at ElectricSQL to learn more about their integration.
Basejump is like “shadcn for Supabase”
In the past few months, Tiniscule has been quietly upgrading the Basejump starter kit for Supabase. I think of it a bit like shadcn for Supabase - super easy to template out a secure, scalable enterprise app. Along the way, he's been developing periphery tooling like test helpers, and pushing us to provide better primitives. One of our most common questions is “accounts and permissions?”. Basejump solves that and more.
Mockup madness from tldraw
In case you missed it …
- Supabase + OpenAI cookbook
- Self-hosting Supabase on Linode
- k8s is coming
- Bun supports Supabase
- Svix Webhooks, from Postgres
- Offline support with Powersync
- Lowcode Supabase with Buildship
- Visual programming with Comnoco and Supabase
We wouldn't be anything without Postgres.