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
View all versions →v2.112.44 fixesThis release includes several bug fixes across auth, postgrest, and realtime modules. Notably, it addresses error handling for lock acquisition timeouts, deprecation warnings, code generation issues, and custom logger integration.
v2.112.4-canary.31 fixThis canary release addresses an issue in the auth module, warning about a deprecated lock option and preventing unhandled refresh rejections.
v2.112.4-canary.22 fixesThis release includes bug fixes for the auth and realtime modules. The auth module now correctly handles AbortError in specific scenarios, and the realtime module respects custom loggers for REST fallback warnings.
v2.112.4-canary.1This release is a version bump only, with no code changes introduced.
v2.112.4-canary.01 fixThis canary release fixes an issue with PostgREST by moving override fixtures out of generated types and repairing codegen.
v2.112.32 fixesThis release includes bug fixes for Supabase, specifically addressing trace context headers in CORS allow-list and improving trace propagation sampling and diagnostics.
v2.112.3-canary.02 fixesThis release includes bug fixes for Supabase, specifically addressing trace context headers in CORS allow-list and improving trace propagation sampling and diagnostics.
v2.112.22 fixesThis release addresses two bug fixes in the realtime module, preventing duplicate events on bindings and clearing stale join payloads on sign-out.
v2.112.2-canary.11 fixThis release includes a bug fix for the realtime module, clearing stale join payloads on sign-out. It also thanks contributor Vaibhav.
v2.112.2-canary.01 fixThis canary release addresses a bug in the realtime functionality, preventing duplicate entries on bindings. It includes a thank you to Filipe Cabaço for their contribution.
v2.112.12 fixesThis release addresses two bug fixes: preserving 5xx error messages in the auth module and ensuring token refresh is not disabled by setAuth in the realtime module.
v2.112.1-canary.11 fixThis release fixes a bug in the realtime module where setAuth could inadvertently disable token refresh. It ensures token refresh continues to function correctly.
v2.112.1-canary.01 fixThis canary release fixes an issue where 5xx error messages were not preserved in the auth module. It includes a thank you to contributor Vaibhav.
v2.112.05 fixes1 featureThis release introduces opt-in OpenTelemetry tracing for Supabase and includes several bug fixes across Auth, Postgrest, and Storage modules. Key fixes involve handling uppercase UUIDs, improving error handling for multiple rows, and resolving type mismatches.
v2.112.0-canary.2This was a version bump only, there were no code changes.
v2.112.0-canary.12 fixesThis release includes bug fixes for Postgrest and Storage. The Postgrest fix ensures throwOnError is honored when maybeSingle finds multiple rows, and the Storage fix exposes the service error code on StorageApiError.
v2.112.0-canary.01 featureThis release introduces opt-in OpenTelemetry tracing for Supabase, accessible via the /tracing subpath. This change provides more control over tracing configurations.
v2.112.0-beta.01 fix1 featureThis beta release introduces opt-in OpenTelemetry tracing for Supabase and fixes a bug related to forwarding database retry options.
v2.111.1-canary.12 fixesThis release includes bug fixes for the Auth and Storage modules. The Auth module now accepts uppercase UUIDs in validateUUID, and the Storage module has resolved a return type mismatch in createSignedUrls.
v2.111.1-canary.01 fixThis release includes a fix for the Supabase client, forwarding the db retry option. It also acknowledges a contributor.
v2.111.01 featureThis release introduces a feature to improve the handling of overlapping authentication flows by storing PKCE verifiers in per-flow slots. It also includes acknowledgments to contributors.
v2.111.0-canary.01 featureThis release introduces a change in the auth module to store PKCE verifiers in per-flow slots, improving the handling of overlapping flows. The release also includes acknowledgments to contributors.
v2.110.94 fixesThis release addresses several issues including console noise in auth, presence ref preservation in realtime, and dependency updates to clear security advisories.
v2.110.9-canary.31 fixThis canary release includes a fix for preserving presence references in the realtime functionality. It also thanks contributor Vaibhav.
v2.110.9-canary.22 fixesThis release addresses console noise related to stale refresh tokens and updates dependencies to resolve audit advisories.
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.
StorageApiError4 reportsStorageApiError 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.
AuthApiError4 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.
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`.
FunctionsError2 reportsRelated 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