Supabase JS
Backend & InfraAn isomorphic Javascript client for Supabase. Query your Supabase database, subscribe to realtime events, upload and download files, browse typescript examples, invoke postgres functions via rpc, invoke supabase edge functions, query pgvector.
Release History
v2.98.1-canary.01 featureThis canary release introduces new administrative CRUD capabilities for custom OIDC/OAuth providers within the auth module.
v2.98.04 fixes3 featuresThis release introduces new configuration options for OAuth clients and custom providers, alongside several fixes addressing authentication locking issues and Realtime connection handling.
v2.97.1-canary.51 fixThis canary release primarily addresses a bug fix related to userattributes typing within the authentication module.
v2.97.1-canary.41 fixThis canary release primarily addresses a bug in the Realtime module related to channel join payloads and access token resolution.
v2.97.1-canary.32 featuresThis canary release introduces support for custom authentication providers via a new prefix and expands the UserAttributes type.
v2.97.1-canary.21 featureThis canary release introduces a new configuration option for OAuth clients related to token endpoint authentication methods.
v2.97.1-canary.12 fixesThis canary release primarily addresses an authentication fix by lowering the default lockAcquireTimeout and correcting stale JSDoc.
v2.97.1-canary.01 fixThis canary release primarily addresses an authentication issue by implementing a fallback mechanism to recover from orphaned navigator locks.
v2.97.01 featureThis release introduces an option to control automatic initialization within the auth module.
v2.96.1-canary.01 featureThis canary release introduces a new option to control automatic initialization within the auth module.
v2.96.03 fixes1 featureThis release introduces a new setHeader method for BaseApiClient and includes several bug fixes across auth, postgrest, and realtime modules.
v2.95.4-canary.21 fixThis canary release primarily addresses a security-related bug fix concerning authentication locks within Firefox content scripts.
v2.95.4-canary.11 fixThis canary release primarily focuses on a bug fix within the postgrest client to enforce type safety for table and view names in the from() method.
v2.95.4-canary.01 fix1 featureThis canary release introduces a new setHeader method to BaseApiClient in storage and fixes an unnecessary check in the realtime removeChannel function.
v2.95.32 fixes1 featureThis patch release introduces canonical CORS header export for Edge Functions and includes fixes for Realtime channel management and Storage download parameters.
v2.95.21 fixThis minor release primarily includes a documentation fix related to the supabase module.
v2.95.2-canary.22 fixesThis canary release primarily addresses minor fixes, including testing an older working version on ESM and a small addition to the supabase core functionality.
v2.95.2-canary.11 fixThis canary release primarily addresses a bug related to repository subpath configuration.
v2.95.2-canary.01 fixThis canary release primarily addresses an ESM release issue within the repository.
v2.95.1This was a version bump only, there were no code changes.
v2.95.02 fixes1 featureThis release introduces canonical CORS header export for Supabase edge functions and includes fixes for realtime channel management and storage download parameters.
v2.94.2-canary.02 fixes1 featureThis canary release introduces canonical CORS header export for Supabase edge functions and includes fixes for realtime channel management and storage download parameters.
v2.94.11 fixThis patch release fixes an issue with OAuth authorization types to ensure they correctly match API responses.
v2.94.1-canary.01 fixThis canary release primarily addresses a bug fix related to OAuth authorization types in the auth module.
v2.94.01 fix1 featureVersion 2.94.0 introduces URL length validation and timeout protection for postgrest operations and resolves a CI script issue.
v2.93.4-canary.11 fix1 featureThis canary release introduces URL length validation and timeout protection for postgrest, alongside a fix for a CI script issue related to git authentication.
v2.93.4-canary.02 fixesThis canary release primarily focuses on fixing internal CI/CD processes and verifying canary authentication functionality.
v2.93.32 fixesThis patch release focuses on minor fixes, including improvements to authentication fallback naming and handling of empty responses in storage vector operations.
v2.93.21 fixThis patch release reverts client platform and runtime detection headers for the supabase client.
v2.93.2-canary.01 fixThis canary release primarily addresses a bug fix by reverting changes related to Supabase client platform and runtime detection headers.
v2.93.11 fixThis patch release reverts an unnecessary validation step in the realtime postgres_changes event dispatch mechanism.
v2.93.06 fixes2 featuresThis release introduces new features for JWT handling in authentication and improved platform detection headers. Several bug fixes address promise rejections, storage handling, and realtime connection errors.
v2.92.1-canary.01 fixThis canary release primarily addresses an environment detection issue within the Supabase integration for Node.js and browser contexts.
v2.92.1-rc.21 fixThis release includes a minor fix related to how Supabase is required, improving internal implementation.
v2.92.1-rc.11 fixThis release addresses a specific environment detection issue within the Supabase integration.
v2.91.3-rc.1This release was a version bump only, containing no functional code changes.
v2.91.3-rc.0This release was a version bump only, containing no functional code changes.
v2.91.2-rc.06 fixes2 featuresThis release introduces an optional jwt parameter for getAuthenticatorAssuranceLevel and improves client platform/runtime detection via HTTP headers. Several bug fixes address promise rejections, storage handling, and realtime connection errors.
v2.91.11 fixThis patch release primarily focuses on fixing an issue where SSR OAuth functionality was broken in the previous version.
v2.91.1-canary.31 featureThis canary release introduces an optional jwt parameter for the getAuthenticatorAssuranceLevel function in the auth module.
v2.91.1-canary.24 fixes1 featureThis canary release introduces improved platform detection via HTTP headers and resolves several bugs related to auth, realtime connections, and storage error reporting.
v2.91.1-canary.01 fixThis canary release primarily focuses on fixing an issue where SSR OAuth functionality was broken in the previous version.
v2.91.03 fixes1 featureThis release introduces an update to the default realtime serializer and includes several bug fixes related to auth operations and cross-context promise errors in Firefox.
v2.90.2-canary.21 fixThis canary release primarily addresses a clarification regarding the behavior of updateUserById in the auth module.
v2.90.2-canary.11 fix1 featureThis canary release introduces an update to the default serializer for realtime functionality and fixes a cross-context Promise error observed in the Firefox extension.
v2.90.2-canary.01 fixThis canary release addresses a deadlock issue in the authentication flow by deferring subscriber notification in exchangeCodeForSession.
v2.90.12 fixesThis patch release addresses state management issues in the PostgREST query builder and improves validation for Realtime postgres_changes event filters.
v2.90.1-canary.11 fixThis canary release fixes a bug in the PostgREST query builder to prevent unintended shared state between operations.
v2.90.1-canary.01 fixThis canary release for supabase-js addresses a bug in the Realtime module by adding validation for table filters during postgres_changes event dispatching.
v2.90.010 fixes1 featureThis release introduces heartbeat latency tracking in Realtime and includes several Auth stability fixes, including deadlock prevention and improved session handling for magic links.
v2.89.1-canary.81 fixThis canary release introduces a configurable lock acquisition timeout in the auth module to mitigate deadlock issues.
v2.89.1-canary.72 fixesThis canary release addresses issues in the functions and postgrest modules, specifically improving body serialization for custom headers and refining RPC HEAD request behavior.
v2.89.1-canary.61 fixThis canary release fixes an authentication issue where clicking a magic link multiple times would fail to preserve the user session.
v2.89.1-canary.51 fixThis canary release addresses a bug in the auth module where the initial timeout for auto-refreshing was not being properly cleared.
v2.89.1-canary.41 fixThis canary release fixes Edge Runtime warnings in Next.js applications when using the Supabase client.
v2.89.1-canary.31 fixThis canary release provides a fix for the Supabase client types by inlining a string literal within the DatabaseWithoutInternals type definition.
v2.89.1-canary.22 featuresThis canary release updates the Auth type definitions to include banned_until for users and last_challenged_at for factors.
v2.89.1-canary.11 fixThis canary release addresses a minor issue in the Supabase package by splitting type-only exports to prevent unused import warnings.
v2.89.1-canary.01 featureThis canary release adds the ability to monitor heartbeat latency directly within the heartbeat callback for Realtime services.
v2.89.03 featuresThis release introduces X (OAuth 2.0) authentication support, enhances AMR claim handling, and exports the DatabaseWithoutInternals utility type.
v2.88.1-canary.21 featureThis canary release exports the DatabaseWithoutInternals utility type to improve type handling for Supabase users.
v2.88.1-canary.11 featureThis canary release introduces support for string array values within AMR claims in the auth module.
v2.88.1-canary.01 featureThis canary release introduces support for X (formerly Twitter) as an OAuth 2.0 authentication provider.
v2.88.02 fixes3 featuresThis release introduces a new 'notin' filter for Postgrest, custom predicates for session detection in Auth, and migrates the build system to tsdown for better module compatibility.
v2.87.4-canary.51 featureThis canary release migrates the build system to tsdown to ensure proper ESM and CJS compatibility across the repository.
v2.87.4-canary.45 fixes1 featureThis canary release focuses on internal repository maintenance, transitioning the build system to tsdown while ensuring backwards compatibility for deep imports.
v2.87.4-canary.31 featureThis canary release introduces the ability to provide a custom predicate for the detectSessionInUrl option within the auth module.
v2.87.4-canary.21 featureThis canary release introduces a new 'notin' filter to the PostgREST client.
v2.87.4-canary.11 fixThis canary release fixes a bug in the Realtime module where authorization headers were incorrectly sent even when no access token was present.
v2.87.4-canary.01 fixThis canary release addresses a WebSocket race condition in the realtime module specifically affecting Node.js users.
v2.87.31 fixThis patch release fixes a module resolution issue when importing the library via the jsDelivr CDN.
v2.87.3-canary.11 fixThis canary release fixes an ESM import issue when using the supabase-js library via the jsDelivr CDN.
v2.87.3-canary.01 fixThis canary release addresses a specific ESM import failure occurring on the jsDelivr CDN by resolving file extensions.
v2.87.23 fixesThis patch release focuses on stability improvements, including a memory leak fix in Realtime web workers and improved error handling for PKCE authentication.
v2.87.2-canary.03 fixesThis canary release focuses on stability improvements, including a memory leak fix in Realtime web workers and resolving ESM import issues for jsDelivr users.
v2.87.13 fixesThis patch release focuses on bug fixes for Auth session persistence and Realtime stability, specifically regarding JWT preservation and filter comparisons.
v2.87.1-canary.12 fixesThis canary release addresses two specific bugs in the auth and realtime modules, specifically regarding session persistence locking and null value handling in filters.
v2.87.1-canary.01 fixThis canary release fixes a bug in the Realtime module where custom JWT tokens were lost during channel resubscription.
v2.87.01 fix1 featureThis release aligns the storage analytics method with the standard { data, error } response pattern and updates the repository to support npm 11.
v2.86.3-canary.01 fix1 featureThis canary release aligns the storage analytics method with the standard { data, error } return pattern and updates the repository's npm version constraint.
v2.86.21 fixThis patch release fixes a property naming inconsistency in the storage module's QueryVectorsResponse, renaming 'matches' to 'vectors'.
v2.86.2-canary.01 fixThis canary release fixes a property naming inconsistency in the storage module's QueryVectorsResponse, renaming 'matches' to 'vectors'.
v2.86.15 fixesThis patch release focuses on bug fixes for Auth session handling, PostgREST type inference, and resolving module resolution issues in Nuxt via a new ESM wrapper.
v2.86.1-canary.05 fixesThis canary release focuses on bug fixes for Auth session handling, PostgREST type inference, and resolving module resolution issues in Nuxt via a new ESM wrapper.
v2.86.01 featureThis release introduces iceberg-js integration to the storage module, specifically adding the 'from' method.
v2.85.1-canary.01 featureThis canary release introduces iceberg-js integration to the storage module, specifically adding a new 'from' method.
v2.85.01 fix1 featureThis release introduces metadata support for Realtime user broadcast pushes and includes minor type improvements for Auth OAuth functionality.
v2.84.1-canary.11 featureThis canary release introduces the ability to include metadata when pushing broadcast messages via Realtime.
v2.84.1-canary.01 fixThis canary release includes minor type fixes for the OAuth authentication module.
v2.84.02 fixes1 featureThis release introduces new PostgREST operators for distinctness and regex matching, alongside stability improvements for relation name validation and Realtime message serialization.
v2.83.1-canary.21 featureThis canary release adds new PostgREST operators for distinctness checks and regex pattern matching.
v2.83.1-canary.11 fixThis canary release focuses on internal improvements to the Realtime serializer by removing redundant message types.
v2.83.1-canary.01 fixThis canary release introduces a fix for Postgrest to properly validate empty or invalid relation names.
v2.83.0Breaking1 featureVersion 2.83.0 introduces a breaking change by renaming StorageAnalyticsApi to StorageAnalyticsClient within the storage module.
v2.82.1-canary.0Breaking1 featureThis canary release renames the StorageAnalyticsApi to StorageAnalyticsClient within the storage module.
v2.82.03 fixes1 featureThis release introduces OAuth grant management features and includes several stability fixes for Postgrest error reporting, Realtime message encoding, and Storage properties.
v2.81.2-canary.31 fixThis canary release provides a fix for the analytics bucket property within the storage module.
v2.81.2-canary.21 featureThis canary release introduces new authentication capabilities for managing OAuth grants, specifically allowing users to list and revoke them.
v2.81.2-canary.11 fixThis canary release addresses a bug in the realtime module where null references were not properly handled during message encoding.
v2.81.2-canary.01 fixThis canary release improves error reporting in the postgrest module by ensuring fetch error causes and codes are properly surfaced.
Common Errors
SelectQueryError6 reportsSelectQueryError often arises from type mismatches or ambiguities when the TypeScript compiler cannot infer the correct return type of a `select` query, especially after using `rpc` or joins across schemas. Explicitly provide the type expected in the `select` statement using `<Type>` or ensure your database schema definitions are accurately reflected in your TypeScript types, potentially widening type definitions to accommodate all possible return structures. Review your type mappings thoroughly, ensuring column names and types align with the database schema, and consider using `infer` for complex type inference.
StorageUnknownError3 reports"StorageUnknownError" often arises from network instability or server-side issues during file operations. Implement retry logic with exponential backoff around storage calls to handle transient network problems and ensure your Supabase project has adequate resources, checking Supabase status pages for potential outages. Examine server-side logs for detailed error messages if retries fail to isolate and address the underlying problem.
AuthSessionMissingError3 reportsThe "AuthSessionMissingError" in supabase-js usually arises when the client attempts to access or manipulate authentication state (like signing out) before the initial authentication session has been established or after it has expired/been cleared unexpectedly. To fix this, ensure your app properly initializes Supabase auth on startup, checks for an existing session, and handles session expiry gracefully by re-authenticating or redirecting the user to login if necessary before attempting operations like `signOut`. Consider using `supabase.auth.getSession()` to check the session state before calling `signOut`.
AuthApiError3 reportsAuthApiError usually indicates a problem with the data you're sending to the Supabase Auth API, commonly due to missing or invalid parameters like the auth code, code verifier, or refresh token during authentication flows (especially OAuth or code exchange). Double-check that all required parameters are present and correctly formatted according to the Supabase documentation for the specific authentication method you are using. Ensure that parameters like the 'code_verifier' generated during sign-in are properly stored and used during the exchange process.
StorageApiError1 reportStorageApiError in supabase-js often arises from incorrect file paths or insufficient permissions within your Supabase storage bucket. Double check that the file path provided in your `upload` or `download` function exists and aligns with your bucket's structure. Additionally, review your bucket's policies in the Supabase dashboard to ensure the user has the necessary read/write access for the specified path.
AuthRetryableFetchError1 reportAuthRetryableFetchError in supabase-js usually indicates network connectivity issues or incorrect Supabase URL/anon key, especially after OTA updates in environments like Expo where the app's configuration might be temporarily out of sync. Verify your Supabase URL and anon key are correctly set and accessible from the updated app version, and consider implementing a retry mechanism with exponential backoff for auth calls to handle transient network problems. Ensure your build environment is correctly configured to inject the correct environment variables.
Related Backend & Infra Packages
Production-Grade Container Scheduling and Management
Node.js JavaScript runtime ✨🐢🚀✨
Promise based HTTP client for the browser and node.js
A modern runtime for JavaScript and TypeScript.
Deliver web apps with confidence 🚀
Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
Subscribe to Updates
Get notified when new versions are released