惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 三生石上(FineUI控件)
博客园 - 聂微东
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Hugging Face - Blog
Hugging Face - Blog
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - Franky
MyScale Blog
MyScale Blog
A
About on SuperTechFans
博客园_首页
B
Blog RSS Feed
Martin Fowler
Martin Fowler
大猫的无限游戏
大猫的无限游戏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Vercel News
Vercel News
C
Check Point Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 【当耐特】
M
MIT News - Artificial intelligence
宝玉的分享
宝玉的分享
T
Tailwind CSS Blog
I
InfoQ
罗磊的独立博客

Supabase Blog

AI Agents Know About Supabase. They Don't Always Use It Right. Custom OIDC Providers for Supabase Auth 100,000 GitHub stars Supabase docs over SSH Navigating Regional Network Blocks Supabase Joins the Stripe Projects Developer Preview Log Drains: Now available on Pro Supabase Storage: major performance, security, and reliability updates Supabase incident on February 12, 2026 Hydra joins Supabase X / Twitter OAuth 2.0 is now available for Supabase Auth BKND joins Supabase Supabase is now an official Claude connector Supabase PrivateLink is now available Introducing: Postgres Best Practices When to use Read Replicas vs. bigger compute Introducing TRAE SOLO integration with Supabase Supabase Security Retro: 2025 Sync Stripe Data to Your Supabase Database in One Click Building ChatGPT Apps with Supabase Edge Functions and mcp-use Own Your Observability: Supabase Metrics API Introducing iceberg-js: A JavaScript Client for Apache Iceberg Introducing Supabase for Platforms Adding Async Streaming to Postgres Foreign Data Wrappers Build "Sign in with Your App" using Supabase Auth Introducing Seven New Email Templates for Supabase Auth The new Supabase power for Kiro Introducing Supabase ETL Introducing Analytics Buckets Introducing Vector Buckets
Supabase.js 1.0
Paul Copplestone · 2020-10-30 · via Supabase Blog

Supabase.js 1.0

UPDATE 16/08/2022: supabase-js v2 is out and focuses on “quality-of-life” improvements for developers. V2 includes Type support, new auth methods, realtime multiplayer sneak peek, and more: Read the blog post

New Docs#

Before digging into the improvements, we're excited to point out our new developer docs. While they're still a work in progress, here are some things we think you'll like:

  • The Reference Docs are auto-generated from our TypeScript definitions and then enriched with examples. This forces us to document our code and makes it easier to keep everything in sync.
  • We added placeholders for the other languages that the community is developing. They have already started with Python, C#, Dart, Rust, and Swift. Expect to see the docs filling up soon!
  • We've added sections for all of the open source tools we use, including Postgres, PostgREST1, GoTrue, and Realtime2. We'll be filling these with lots of valuable information including self-hosting, benchmarks, and simple guides.

Errors are returned, not thrown#

We attribute this improvement to community feedback. This has significantly improved the developer experience.

Previously we would throw errors:


_10

try {

_10

const { body } = supabase.from('todos').select('*')

_10

} catch (error) {

_10

console.log(error)

_10

}


And now we simply return them:


_10

const { data, error } = supabase.from('todos').select('*')

_10

if (error) console.log(error)\n

_10

// else, carry on ..


After testing this for a while we're very happy with this pattern. Errors are handled next to the offending function. Of course you can always rethrow the error if that's your preference.

We created gotrue-js#

Our goal for supabase-js is to tie together many sub-libraries. Each sub-library is a standalone implementation for a single external system. This is one of the ways we support existing open source tools.

To maintain this philosophy, we created gotrue-js, a library for Netlify's GoTrue auth server. This library includes a number of new additions, including third-party logins.

Previously:


_10

const {

_10

body: { user },

_10

} = await supabase.auth.signup('someone@email.com', 'password')


Now:


_10

const { user, error } = await supabase.auth.signUp({

_10

email: 'someone@email.com',

_10

password: 'password',

_10

})


Enhancements and fixes#

  • Native TypeScript. All of our libraries are now natively built with TypeScript: supabase-js, postgrest-js, gotrue-js, and realtime-js.
  • Better realtime scalability: we only generate one socket connection per Supabase client. Previously we would create a connection for every subscription.
  • We've added support for OAuth providers.
  • 60% of minor bugs outstanding for supabase-js have been solved.
  • You can use select() instead of select(*)

Breaking changes#

We've bumped the major version because there are a number of breaking changes. We've detailed these in the release notes, but here are a few to be aware of:

  • signup() is now signUp() and email / password is passed as an object
  • logout() is now signOut()
  • login() is now signIn()
  • ova() and ovr() are now just ov()
  • body is now data

Previously:


_10

const { body } = supabase.from('todos').select('*')


Now:


_10

const { data } = supabase.from('todos').select()


Upgrading#

We have documented all of the changes in the release notes.

To summarise the steps:

  1. Install the new version: npm install @supabase/supabase-js@latest
  2. Update all your body constants to data
  3. Update all your supabase.auth functions with the new Auth interface

Get started#

  1. Removed link on June 14 2022 for search optimization: page currently does not exist ↩

  2. Removed link on June 14 2022 for search optimization: page currently does not exist ↩