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.110.6-canary.0v2.110.5v2.110.4v2.110.4-canary.0v2.110.3v2.110.3-canary.1v2.110.3-canary.0v2.110.21 fixThis patch release fixes an issue in the auth module where local sessions were not being cleared during signout failures.
v2.110.2-canary.01 fixThis canary release primarily addresses a bug in the auth module where local sessions were not being cleared during signout failures.
v2.110.12 fixesThis patch release addresses minor issues in auth and realtime modules, specifically concerning initialization notifications and heartbeat status reporting.
v2.110.1-canary.02 fixesThis canary release addresses two minor bugs related to auth initialization timing and realtime heartbeat status reporting.
v2.110.01 featureThis release drops support for Node.js 20, requiring users to upgrade their Node.js environment.
v2.110.0-canary.0BreakingThis canary release primarily removes support for Node.js 20, requiring users to upgrade their runtime environment.
v2.109.04 fixes3 featuresThis release introduces new filtering and cache purging capabilities for Realtime and Storage, alongside improvements to Auth admin APIs and bug fixes across Functions and Realtime dependencies.
v2.108.3-canary.2This was a version bump only, there were no code changes.
v2.108.3-canary.12 fixesThis canary release primarily addresses bug fixes related to Content-Type overrides in functions and default sorting behavior in storage list operations.
v2.108.3-canary.01 fixThis canary release primarily addresses dependency pinning for the realtime module to ensure stability.
v2.108.22 fixesThis patch release focuses on stability fixes, particularly preserving user sessions during authentication refresh failures and clarifying realtime error messages.
v2.108.2-canary.5This was a version bump only, there were no code changes.
v2.108.2-beta.52 fixesThis beta release focuses on stability fixes, specifically addressing session preservation during auth refresh failures and clarifying realtime error messages.
v2.108.2-canary.41 fixThis canary release primarily addresses a clarification for the httpSend() 404 error and server migration note within the realtime functionality.
v2.108.2-canary.3This was a version bump only, there were no code changes.
v2.108.2-canary.21 fixThis canary release primarily focuses on restoring and enabling JSR publish flags for beta testing.
v2.108.2-beta.13 fixesThis beta release focuses on stability fixes, specifically addressing session preservation during authentication failures and improving the release process reliability by pinning Deno and adjusting JSR publishing settings.
v2.108.2-canary.11 fixThis canary release addresses an issue by pinning Deno and bounding JSR publish to prevent stranded-task hangs.
v2.108.2-beta.02 fixesThis beta release focuses on stability fixes, specifically addressing session preservation during authentication failures and improving the release process stability.
v2.108.2-canary.01 fixThis canary release primarily addresses a bug in the authentication flow, ensuring valid sessions are preserved during refresh failures.
v2.108.12 fixesThis patch release addresses minor fixes in CI configuration and Postgrest typing.
v2.108.1-canary.2This was a version bump only, there were no code changes.
v2.108.1-canary.11 fixThis canary release primarily addresses a typing issue within the postgrest module.
v2.108.1-canary.01 fixThis canary release primarily addresses a CI configuration issue by forwarding the DOGFOOD_APP_CLIENT_ID environment variable.
v2.108.02 fixes1 featureThis release introduces a consistent confirmation flow for auth.resend() and resolves issues related to error logging and header passing for custom fetch environments.
v2.108.0-canary.02 fixes1 featureThis canary release introduces a consistent confirmation flow for auth.resend() and fixes issues related to error logging and header passing for RN/custom-fetch compatibility.
v2.107.06 fixes3 featuresThis release updates authentication mechanisms, enhances Realtime payload handling, and refines error reporting in Postgrest. It also addresses several authentication flow issues.
v2.107.0-canary.6This was a version bump only, there were no code changes.
v2.107.0-canary.51 fixThis canary release primarily addresses an internal publishing fix related to the gotrue-js legacy mirror.
v2.107.0-beta.76 fixes3 featuresThis beta release introduces a new structured metadata format for X-Client-Info and updates authentication handling by removing the navigator.locks-based mutex. Several bug fixes address JWT validation and error handling in Auth and Postgrest modules.
v2.107.0-canary.41 fixThis canary release primarily addresses an internal dependency pinning issue related to JSR publishing.
v2.107.0-beta.64 fixes3 featuresThis beta release introduces new features for authentication mutex handling, binary payload support in realtime, and structured metadata for client info. Several fixes address JWT handling, OAuth redirects, and error reporting in PostgREST responses.
v2.107.0-canary.3This was a version bump only, there were no code changes.
v2.107.0-canary.21 fixThis canary release reverts a previous fix related to encoding client-id in oauth requests.
v2.107.0-canary.11 featureThis canary release introduces a significant change to the authentication system by replacing the navigator.locks-based mutex with a commit guard and dispose() mechanism.
v2.107.0-canary.01 fix2 featuresThis canary release introduces the ability to send binary payloads via httpSend in realtime and updates the X-Client-Info header format for better metadata tracking.
v2.106.3-canary.21 fixThis canary release primarily addresses a bug in Postgrest handling of successful responses with non-JSON bodies.
v2.106.3-canary.1This was a version bump only, there were no code changes.
v2.106.3-canary.01 fixThis canary release fixes an issue where expired JWTs were not correctly returning AuthInvalidJwtError from getClaims.
v2.107.0-beta.1This release was a version bump only, containing no functional code changes.
v2.107.0-beta.0This release was solely a version bump with no accompanying code changes.
v2.106.22 fixesThis patch release fixes an issue with the auth signup response and improves compatibility for React Native environments using Hermes.
v2.106.2-canary.1This was a version bump only, there were no code changes.
v2.106.2-canary.02 fixesThis canary release primarily focuses on fixing an issue with the auth signup user response and improving compatibility for React Native environments.
v2.106.2-beta.2This release was a version bump only, containing no functional code changes.
v2.106.2-beta.0This release was solely a version bump with no accompanying code changes.
v2.106.12 fixesThis patch release fixes an issue with client-id encoding in OAuth requests and hides dynamic imports from hermesc.
v2.106.1-canary.11 fixThis canary release primarily addresses an internal issue by hiding a dynamic import from hermesc.
v2.106.1-beta.32 fixesThis beta release primarily focuses on bug fixes, including ensuring the client-id is encoded in OAuth requests and resolving an OpenTelemetry import issue.
v2.106.1-canary.01 fixThis canary release fixes an issue where the client-id was not being encoded correctly in OAuth requests.
v2.106.1-beta.22 fixesThis patch release primarily addresses an authentication bug by ensuring the client-id is encoded in OAuth requests and resolves an OpenTelemetry import issue.
v2.106.1-beta.11 fixThis beta release primarily focuses on minor fixes, including resolving an issue with OpenTelemetry imports.
v2.106.1-beta.02 fixesThis beta release primarily addresses an OpenTelemetry import issue and includes the addition of new tests.
v2.106.03 fixes1 featureThis release introduces W3C/OpenTelemetry trace context propagation for Supabase and includes several fixes related to auth verification and storage stream handling.
v2.106.0-canary.4This release was solely a version bump with no accompanying code changes.
v2.106.0-canary.3This release was solely a version bump with no accompanying code changes.
v2.106.0-canary.2This release was a version bump only, containing no functional code changes.
v2.105.5-beta.101 fix1 featureThis beta release introduces W3C/OpenTelemetry trace context propagation for Supabase operations and addresses internal packaging for the tracing module.
v2.106.0-canary.11 fixThis canary release primarily focuses on internal maintenance by marking the @supabase/tracing package as private and snapshotting it for JSR.
v2.105.5-beta.91 fix1 featureThis beta release introduces W3C/OpenTelemetry trace context propagation for Supabase and includes internal packaging fixes for the tracing module.
v2.106.0-canary.01 featureThis canary release introduces W3C/OpenTelemetry trace context propagation support for Supabase operations.
v2.105.5-beta.8This release (2.105.5-beta.8) was strictly a version bump with no accompanying code changes.
v2.105.5-beta.5This release was a version bump only, containing no functional code changes.
v3.0.0-next.29This was a version bump only, there were no code changes.
v2.105.5-beta.0Breaking14 fixes2 featuresThis beta release introduces significant new features, including WebAuthn passkey support in Auth and deferred disconnect in Realtime. It also includes several bug fixes, notably ensuring errors are consistently wrapped as PostgrestError and modifying the Storage 'exists' behavior.
v2.105.43 fixesThis patch release focuses on stability fixes across Auth, Postgrest, and Realtime modules, addressing JSON parsing errors, fetch abort detection, and storage access in restricted environments.
v2.105.4-canary.2This release was solely a version bump with no accompanying code changes.
v3.0.0-next.28This was a version bump only, there were no code changes.
v3.0.0-next.271 fixThis release primarily addresses a bug fix related to sessionStorage access in restricted-storage browsers within the realtime functionality.
v2.105.4-canary.11 fixThis canary release primarily addresses a bug related to accessing sessionStorage in restricted-storage browsers within the realtime module.
v2.105.4-canary.02 fixesThis canary release addresses minor bugs in the auth and postgrest modules, specifically handling JSON parse failures and abort detection in fetch operations.
v3.0.0-next.261 fixThis release primarily addresses a bug in the auth module where getItemAsync failed on JSON parse errors, now correctly returning null.
v3.0.0-next.251 fixThis release primarily focuses on fixing an issue in the postgrest fetch catch mechanism related to abort detection.
v2.105.31 fixThis patch release primarily addresses a type-checking issue within the authentication module.
v3.0.0-next.241 fixThis release focuses on fixing type-checking issues related to OAuth and CustomProvider configurations.
v3.0.0-next.23This was a version bump only, there were no code changes.
v2.105.25 fixesThis patch release focuses on stability and internal improvements, including unifying Postgrest signatures and enhancing serialization for auth errors.
v2.105.2-canary.4This was a version bump only, there were no code changes.
v3.0.0-next.22This was a version bump only, there were no code changes.
v2.105.2-canary.3This was a version bump only, there were no code changes.
v3.0.0-next.21This was a version bump only, there were no code changes.
v2.105.2-canary.23 fixesThis canary release focuses on minor fixes, including improving JSON serialization for WebAuthnError and unifying Postgrest insert/upsert signatures.
v3.0.0-next.201 fixThis release primarily focuses on a bug fix related to JSON serialization for WebAuthnError.
v3.0.0-next.191 fixThis release primarily focuses on a bug fix related to forwarding the lockAcquireTimeout setting within the authentication client.
v2.105.2-canary.11 fixThis canary release primarily addresses a bug by forwarding the lockAcquireTimeout setting to the SupabaseAuthClient.
v3.0.0-next.182 fixesThis release focuses on internal improvements, specifically reducing 'any' usage and unifying Postgrest insert/upsert signatures.
v3.0.0-next.17Breaking1 fixThis release primarily focuses on improving error handling within the Postgrest client by ensuring all processResponse errors are wrapped in a PostgrestError instance, which constitutes a breaking change for error handling logic.
v2.105.2-canary.01 fixThis canary release primarily addresses a fix related to widening enum-like unions for better forward compatibility.
v3.0.0-next.16This was a version bump only, there were no code changes.
v3.0.0-next.15Breaking3 fixesThis release introduces a significant change in the Storage `exists` method behavior, preventing errors when files are not found, and improves Realtime error surfacing and general forward compatibility.
v2.105.12 fixesThis patch release addresses a query reassignment regression in postgrest and improves error surfacing for transport-level CHANNEL_ERROR in realtime.
v2.105.1-canary.21 fixThis canary release primarily fixes an issue where real errors were not being surfaced correctly at the transport level for realtime channels.
v3.0.0-next.141 fixThis release focuses on a bug fix within the realtime transport layer, ensuring proper error surfacing.
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