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.103.2-canary.212 fixes3 featuresThis canary release introduces null stripping for Postgrest, a cacheNonce option for Storage downloads, and exports key builder/error types. Several bug fixes address serialization, error handling, and type inference across auth, functions, postgrest, and storage modules.
v2.103.2-canary.111 fixes3 featuresThis canary release introduces new methods for null stripping in Postgrest and a cacheNonce parameter for Storage downloads, alongside numerous fixes for error serialization and type inference across auth, storage, and postgrest modules.
v2.103.2-canary.010 fixes3 featuresThis canary release introduces new methods for null stripping in Postgrest and a cacheNonce option for Storage downloads. It also includes numerous bug fixes across auth, storage, and postgrest, primarily focusing on error serialization and header handling.
v2.103.14 fixesThis patch release focuses on bug fixes, primarily ensuring correct JSON serialization for AuthError and StorageError, and improving handling for bigint RPCs and storage download operations.
v2.103.1-canary.09 fixes3 featuresThis canary release introduces new methods for null stripping in Postgrest and a cacheNonce parameter for Storage downloads, alongside numerous serialization and type inference fixes across auth, storage, and postgrest modules.
v2.103.1-beta.02 fixesThis beta release primarily addresses an internal change in the auth module by switching the default browser lock mechanism and includes related testing improvements.
v2.103.01 fix2 featuresThis release introduces null stripping functionality in postgrest and a cacheNonce parameter for storage downloads, alongside a fix for scalar computed column type inference.
v2.103.0-canary.25 fixes3 featuresThis canary release introduces new methods for null stripping in Postgrest and cache nonce control in Storage, alongside several bug fixes across auth, functions, postgrest, and storage modules.
v2.103.0-canary.15 fixes2 featuresThis canary release introduces a new cacheNonce parameter for storage downloads and exports PostgrestFilterBuilder and StorageApiError. It also includes several bug fixes across auth, functions, postgrest, and storage modules.
v2.102.2-canary.05 fixes1 featureThis canary release introduces exports for PostgrestFilterBuilder and StorageApiError from supabase-js, alongside several bug fixes across auth, functions, postgrest, and storage modules.
v2.102.11 fixThis patch release addresses a serialization issue by adding a toJSON method to FunctionsError.
v2.102.1-canary.04 fixes1 featureThis canary release introduces exports for PostgrestFilterBuilder and StorageApiError from supabase-js, alongside several bug fixes related to logging, error serialization, and storage content-type handling.
v2.102.06 fixes3 featuresThis release introduces automatic retries for transient PostgREST errors and exports key types like PostgrestFilterBuilder and StorageApiError. Several bug fixes address serialization, content-type handling in Storage, and logging in Auth.
v2.102.0-canary.53 fixes1 featureThis canary release introduces exports for PostgrestFilterBuilder and StorageApiError from supabase-js, alongside several fixes related to auth logging and storage content-type handling.
v2.102.0-canary.42 fixesThis canary release focuses on fixing content-type header issues within the storage module for uploads and vector requests.
v2.102.0-canary.31 fixThis canary release primarily addresses a bug related to setting the correct content-type for storage uploads.
v2.102.0-canary.21 fixThis canary release primarily addresses a bug in the storage module related to setting the correct content-type for uploads.
v2.102.0-canary.1This was a version bump only, there were no code changes.
v2.102.0-canary.01 fix1 featureThis canary release introduces automatic retries for transient errors in postgrest and enhances CI security by ignoring installation scripts during platform tests.
v2.102.0-beta.02 fixes2 featuresThis beta release introduces automatic retries for transient errors in postgrest and includes several fixes related to error handling and snapshot updates.
v2.101.11 fixThis patch release primarily addresses a bug fix related to property type handling within the storage module.
v2.101.1-canary.01 fixThis canary release primarily addresses a bug fix related to property typing in the storage module.
v2.101.02 featuresVersion 2.101.0 introduces new features for realtime functionality, including adding copyBindings and restricting event listener setup after joining.
v2.101.0-canary.0This release was a version bump only, containing no actual code changes.
v2.100.0-canary.91 featureThis canary release introduces a feature to block setting the 'postgres_changes' event listener after a Realtime client has already joined a channel.
v2.100.0-canary.81 featureThis canary release introduces the new `copyBindings` functionality for the realtime module.
v2.100.15 fixesThis patch release focuses on bug fixes across the postgrest and storage modules, including improved type safety and request handling.
v2.100.0-canary.71 fixThis canary release primarily addresses a bug fix related to spreading default file options during signed URL uploads in the storage module.
v2.100.0-canary.61 fixThis canary release primarily addresses a bug in postgrest related to the classification of Args: never functions.
v2.100.0-canary.52 fixesThis canary release primarily addresses bug fixes within the postgrest module, specifically concerning the behavior of maybeSingle and test configuration.
v2.100.0-canary.41 fixThis canary release primarily focuses on improving type safety within the postgrest client for equality checks.
v2.100.03 fixes1 featureThis release introduces an update to the realtime client to use Phoenix's JS library and includes several bug fixes across auth, realtime, and storage modules.
v2.100.0-canary.3This was a version bump only, there were no code changes.
v2.100.0-canary.2This was a version bump only, there were no code changes.
v2.100.0-canary.12 fixesThis canary release focuses on stability fixes in authentication and storage modules, specifically addressing issues with lock stealing and error detection in JSON responses.
v2.99.32 fixesThis patch release addresses specific bugs in the Auth and Storage modules, improving request handling and error detection.
v2.100.0-canary.01 fixThis canary release primarily addresses a bug fix in the realtime module by reverting the `vsn` type to string.
v2.100.0-rc.0This release was a version bump only, containing no actual code changes.
v2.99.3-canary.01 featureThis canary release introduces an update to the Realtime implementation by integrating Phoenix's JavaScript library.
v2.99.21 fixThis patch release fixes a bug in storage operations related to signed URL generation for empty transform objects.
v2.99.2-canary.01 fixThis canary release primarily addresses a bug in the Storage module related to signed URL rewriting for empty transform objects.
v2.99.11 fixThis patch release addresses a bug by adding the RateLimitError to the Deno.errors namespace.
v2.99.1-canary.01 fixThis canary release primarily addresses a bug fix by adding RateLimitError to the Deno.errors namespace.
v2.99.01 fix1 featureThis release introduces new administrative CRUD methods for custom OIDC/OAuth providers in auth and refines the FileObject type accuracy in storage.
v2.98.1-canary.11 fixThis canary release primarily focuses on improving type accuracy for FileObject within the storage module.
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.
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