3.0.0-next.0 (2026-04-21)
🚀 Features
- support OR filter (156dd198)
- Transition to TypeScript (7bab0ca2)
- creates a basic client (6328688e)
- remove unused packages (0a751d56)
- adds docs (dcf23545)
- adds Subscriptions (6fe87dbe)
- create Forgot password feature (377b5036)
- create Remember me feature (0ce25074)
- implement on_conflict (#113)
- allow filters and transforms on insert (98d759a3)
- refactor the library with additional exports (650170d1)
- documents release of
client.user(),client.session(), andclient.refreshSession()(23ffc6e7) - Add magic link api method and sign in. (#19)
- adds inviteUserByEmail for api users (b4ef615b)
- add export of types for downstream use (1a56332b)
- Allow Prefer: return=minimal for C(R)UD (#133)
- add vertical filtering on CUD (a2f2c394)
- Add Next.js & Express cookie helpers. (#33)
- Adding head and count option on select(), insert(), update(), delete(), and rpc() (#147)
- Give the ability for developers to redirect their users to a specified URL after they are logged in. (80863a5b)
- support embedded or filter (#160)
- support multiple column order (#162)
- OAuth providers can now be supplied scopes (e3a64040)
- rename filters (0c303bab)
- make UPSERT its own function (8f4875d5)
- release v1.12.7 (28b977a9)
- implement storage-api docker for testing (2960395b)
- create github test action (b16f6843)
- release v1.0.0 (64ea6224)
- update JSDoc with return doc (41ef1a29)
- delete user (4a54632a)
- allow twitter profile (04b5f834)
- adds csv() function (2c205aa0)
- Added basic tests (8775930d)
- Added public option to createBucket method (a1eb6701)
- Create maybeSingle() function (#184)
- Implement unwrap() to throw query errors instead of returning them (#188, #92, #604)
- export error and response types (db3a70b4)
- add ignoreDuplicates option to upsert (e781bc1a)
- trigger release for exporting Options type (adef7340)
- #5 support server side storage upload (#5)
- #5 document
BufferandNodeJS.ReadableStreamsupport (#5) - adds generateLink api method (2f3301a9)
- adds sign up + sign in with mobile/password and mobile OTP (44115fb6)
- add cookie options to the jsdocs params (c7d35fbc)
- allow clients to provide an hcaptcha response token (ae06fced)
- support HEAD for RPC (#215)
- support setting AbortSignal (9eea347e)
- update transformers to accept already transformed walrus changes (#107)
- adds spotify and slack providers (84b305a8)
- createUser() (32ec2288)
- allow providing custom fetch implementation (27809a8d)
- allow providing custom fetch implementation (a6644828)
- allow providing custom fetch implementation (#24)
- push access token to every channel during heartbeat (9f99a816)
- support for custom prefer headers #243 (#243)
- add
createSignedUrlsmethod (#32) - support setting throwOnError at the client level (9c09ee08)
- publish to npm (6e48312d)
- add presence (3837bc36)
- distinguish relay and function errors (672b58fa)
- add generic parameter to invoke and make headers optional in constructor (a02e6a1c)
- export RealtimeChannel (45051d56)
- add on bindings to subscribe (e1b1b57f)
- add search param to list function (#56)
- use channel or subscription depending on versionDate (1feb707a)
- added async getSession method (60129091)
- add getUser method (8dfdeb42)
- remove deprecated functions (d45685b3)
- Merge pull request #304 from supabase/km/refactor-sign-in (#304)
- add geojson transform (86ed6033)
- add explain transform (ac8513a5)
- add new API for Broadcast and Presence (3b050948)
- return this for RealtimeChannel on and off methods (02b3e238)
- move presence callbacks from client to channel (4eea6079)
- remove channel track and untrack helper methods (dfa1d655)
- return promise on channel send (f079d84a)
- generate release (f5e86e3e)
- generate release (3b445c6f)
- remove channel list helper method (c5af7824)
- ⚠️ obsolete deprecated features (71ca436d)
- ⚠️ Prefer: return=minimal by default (2963d880)
- ⚠️ use undefined as bottom value instead of null (b50176e8)
- ⚠️ improved typings (2c2fdb4b)
- ⚠️ omit
.nullsfirst/.nullslastby default (378471cf) - remove channel send method (a6773903)
- change presence_id to presence_ref (376c05a5)
- send configs payload on subscribing (e7aade87)
- add default configs for broadcast, presence, and db changes (ddcc9bba)
- nest defaults under configs key (f2fa62cc)
- refactor returns types to always return data (d83cb113)
- remove client-level throwOnError (ce71fe0d)
- obsolete PostgrestClient.auth() (3928b998)
- remove all cookie related methods (b721f8ea)
- new invoke syntax (1944bce6)
- add rollback parameter to mutations and rpc (771f7ecf)
- move helper methods from supabase-js (8405ac09)
- rename GoTrueApi to GoTrueAdminApi (a9296c12)
- add simple throttle for Broadcast and Presence (9b5c7320)
- ⚠️ Release V2 RC (1977ec27)
- ⚠️ Release V2 RC (42a2adc1)
- ⚠️ Release V2 RC (a937a18b)
- ⚠️ Release V2 RC (058867c3)
- add text format to explain() (#301)
- add channel config type and enums (77dcc44e)
- return channel instance in subscribe call (8d52d937)
- move rollback to a method (598164e2)
- initial MFA stubs (929112a2)
- add more method implementations (b9d7102e)
- start adding admin mfa bindings (e550047d)
- add basic test and testing core (e7481afa)
- few simple tests to validate auth header and custom fetch (b30a588f)
- add few headers and body tests (5c8c9670)
- move to jest (b515cacf)
- add blob arrayBuf and queryString tests (262fa3c7)
- add hijack test (913f98b0)
- add getAMR and getAAL (191fb56d)
- add provider refresh token (63296eb2)
- update setSession (04740ce3)
- revert to
nullin response (a7aa83c9) - add
setSessionsupport for a SSR context (c0c046fb) - ⚠️ Release V2 (#114, #60, #63, #62, #82, #83, #85, #59, #80, #84, #78, #6, #99, #98, #102, #104, #106, #110, #112, #113, #107)
- allow overriding result types (0b00be62)
- export Postgres Changes insert, update, delete, and filter types (61ccbc58)
- add challengeAndVerify (a3502a95)
- add
signInWithSSOmethod as@experimental(#526) - disallow setSession loophole (#536, #490)
- support pagination options for
listUsers()method (#537) - image transformation (#128, #129)
- return pagination data for the
listUsers()method (#544, #537) - update Presence type to accept optional generic (26f31b78)
- add comments to types (898a57bb)
- pop implicit flow URL from back stack (#574, #302)
- format option for webp support (#142)
- support
->/->>for column names (01ab2392) - target ES2017 in tsconfig (#391)
- quality option, image transformation (#145)
- setSession triggers SIGNED_IN event (#581)
- add
skipBrowserRedirectoption tosignInWithOAuth(#575, #417) - add new auto refresh token algorithm (#564)
- disable throttle with negative eventsPerSecond number (#222)
- add arg descriptions to channel .on to display in Supabase docs (00feb036)
- move broadcast type channel .on last to display in Supabase docs (f0573f9a)
- add multi-tab state change notifications (#566)
- add experimental
signInWithIdTokenfor Apple, Google (#603) - add enhanced
localStoragesupport check (#600, #436) - new release (0c969e05)
- add support for whatsapp programmable messaging API (#616)
- trap errors when
BroadcastChannelis not supported (#626) - allow consumers to pass presence state types to channel.presenceState (#224)
- make certain properties in
UserIdentitynullable (#619) - invoke callback on onAuthStateChange (#627, #313)
- add pkce (#591)
- Support for double-quoted identifiers in queries (#415)
- dont fire
SIGNED_INevent onPASSWORD_RECOVERY(#629) - remove experimental from
signInWithSSO, update docs (#643) - refactor
signInWithSSOtypes to work with docs (#644) - custom file size limit and mime types at bucket level (#151)
- use
Deno.unrefTimerto stop runtime from hanging (#632, #617) - signed upload url (#158)
- add pkce magic link bindings (#656, #652)
- revert use
Deno.unrefTimerto stop runtime from hanging (#659, #632) - drop window prefix (#660)
- bulk inserts/upserts w/ column defaults (ba110541)
- add pkce option to signup (#661)
- increase auto refresh tick duration to 30s from 10s (#651)
- add resend method (#631)
- remove code param (#672)
- keep expired session on initialization (#598)
- update tsdoc (#687, #13820)
- change location of evaluation (#703, #700)
- add async/await support for
onAuthStateChangecallbacks (#685, #276) - return
messageIdwhen using otp (#706) _recoverAndRefreshdoes not remove session on retryable error (#710)- refactor
_handleRequest(#708) - no persist of session with no changes in
_recoverAndRefresh(#711) - add debug messages and configuration (#712)
- use
<=for auto refresh token threshold (#716) - complete OIDC support for Apple, Google and others (#690)
- Add 'kakao' to Provider type (#720)
- add
signOut()scope option (#713) - bump typescript target to ES2017 (#729)
- refactor to
_useSessionsemantics (#726) - revert
_useSessionsemantics for unknown issue (#732, #726) - refactor to
_useSessionsemantics (#734, #726, #732) - add _acquireLock and navigatorLock (#736, #734)
- fix stack guard issues with Safari (#743)
- refactor
_getSessionFromURLto be easier to read (#733) - add dynamic schema to postgrest client (1c9cac80)
- remove stack guards, lock on external calls (#757)
- acquire lock around visibility change callback (#764)
- add updateUser (email_change) bindings for pkce (#665)
navigatorLockcheck for spec compatibility (#761)- parse
expires_atif present (#735, #733) - allow customizing the debug log function (#785)
- provide default storage when
persistSessionis false orlocalStorageis not supported (#774) - acquire locks around mfa methods (#788, #736)
- send messages via broadcast endpoint (#251)
- pkce challenge support in React Native with Segment (#772)
- add linkedin oidc type (#796)
- add SSO PKCE (#707)
- detect one-to-one relationships (4951f54c)
- move from websocket to ws and support native browser WebSocket API (#263)
- call
SIGNED_OUTevent if token refresh fails (#815) - add
AuthWeakPasswordError(#817) - add identity linking methods (#814)
- return
weakPasswordinformation after sign-in (#824) - add regional calls in the functions library (685176be)
- default to
navigatorLockon browsers (#807) - warn use of
getSession()whenisServeron storage (#846) - explicit
cache: no-storein fetch (#847) - dedup values passed to PostgrestFilterBuilder.in (#517)
- add support for type casting (id::text) (#429)
- query parser: handle empty embedded resources
()(#445) - query parser: add types for
count(#498, #447, #479) - add method for anonymous sign-in (#858)
- add support for error codes (#855)
- typecheck table names in
.from()(#528) .rpc()with GET (cf20ecbc)- add Edge Runtime global types (df6de8f2)
- move and copy objects across buckets (#197)
- remove
cache: no-storeas it breaks cloudflare (#886) - signed upload URL upsert (#199)
- configure to publish to JSR (#82)
- Release Realtime 2.10.0 (#409)
- allow setting headers on a per-call basis (2f063886)
- add bindings for Multi-Factor Authentication (Phone) (#932)
- custom-metadata, exists, info methods (#207)
- remove session, emit
SIGNED_OUTwhen JWTsession_idis invalid (#905) - add kakao to sign in with ID token (#845)
- write select-query-parser v2 (6cfc133d)
- make new select-query-parser available under next flag (f659f528)
- handle select over RPC calls (975b872c)
- add process lock for optional use in non-browser environments (React Native) (#977)
- Implement token callback; fix CI testing (#439)
- wrap navigator.locks.request with plain promise to help zone.js (#989, #830)
- add abort signal option to invoke function (45bcc644)
- consider session expired with margin on getSession() without auto refresh (#1027)
- introduce getClaims method to verify asymmetric JWTs (#1030)
- add
signInWithWeb3with solana (#1037) - validate uuid and sign out scope parameters to functions (#1063)
- add max-affected method (da4ee9b8)
- handle options declaration within Database (1c7ad73b)
- add maxAffected for rpc calls (c8e9bf77)
- introduce experimental split user and session storage (#1023)
- use dedicated storage host for storage lib (allows >50GB uploads) (840ed46c)
- Presence enabled flag on join payload (#496)
- managing iceberg buckets (#231)
- bucket type (#233)
- make
getClaims()non experimental, add global cache (#1078) - remove solana dependency by inlining types (#1079, #1076)
- fallback to
getUser()if thekidof the JWT is not found (#1080) - add sign in with ethereum to
signInWithWeb3(#1082) - make apikey mandatory; improve stability and readability of code (#502)
- replace isows with native WebSocket factory (#509)
- readability changes and stability (#510)
- list-v2 endpoint (e445f02a)
- expose auth
userStorageoption to facilitate lower cookie sizes (#1545) - add support for .throwOnError() (#250)
- implement
linkIdentityfor oidc / native sign-in (#1096) - bump auth-js to 2.72.0 (#1563)
- mfa with webauthn support (#1118)
- auth: add deprecation notice to
onAuthStateChangewith async function (#1580) - auth: add OAuth 2.1 client admin endpoints (#1582)
- auth: add OAuth 2.1 authorization consent management API calls (#1793)
- auth: add OAuth client update support (#1812)
- auth: refactor getAuthenticatorAssuranceLevel method (#1822)
- auth: support throwing errors instead of returning them (#1766)
- auth: add TypeScript types for documented JWT claims fields (#1802)
- auth: add OAuth grant listing and revocation endpoints (#1833)
- auth: allow custom predicate for detectSessionInUrl option (#1958)
- auth: add X (OAuth 2.0) provider (#1960)
- auth: add string array support for AMR claims (#1967)
- auth: add optional jwt parameter to getAuthenticatorAssuranceLevel (#1940)
- auth: add skipAutoInitialize option to prevent constructor auto-init (#2123)
- auth: add
token_endpoint_auth_methodto OAuth client create/update (#2132) - auth: support custom providers via
custom:prefix in Provider type (#2134) - auth: add currentPassword to UserAttributes type (#2131)
- auth: add custom OIDC/OAuth provider admin CRUD methods (#2133)
- docs: explicitly mark options as optional (#1622)
- filters: likeAllOf, likeAnyOf, ilikeAllOf, ilikeAnyOf (a5600ee5)
- postgrest: add embeded functions type inference (#1632)
- postgrest: add isdistinct and regex pattern matching operators (#1875)
- postgrest: add notin filter (#1957)
- postgrest: add URL length validation and timeout protection (#2078)
- postgrest: add automatic retries for transient errors (#2072)
- postgrest: add success discriminator field to PostgREST response types (#2198)
- postgrest: add stripNulls method for null value stripping (#2189)
- realtime: add support to configure Broadcast Replay (#1623)
- realtime: realtime explicit REST call (#1751)
- realtime: enhance RealtimeChannel type (#1747)
- realtime: implement V2 serializer (#1829)
- realtime: add metadata to realtime user broadcast push (#1894)
- realtime: expose heartbeat latency on heartbeat callback (#1982)
- realtime: set default serializer to 2.0.0 (#2034)
- realtime: use phoenix's js lib inside realtime-js (#2119)
- realtime: add
copyBindingsfunctionality (#2197) - realtime: block setting
postgres_changesevent listener after joining (#2201) - release: enable trusted publishing (#1592)
- repo: merge main from git@github.com:supabase/storage-js.git (53f7211f)
- repo: merge master from git@github.com:supabase/postgrest-js.git (3bd01044)
- repo: merge master from git@github.com:supabase/realtime-js.git (4f4e72b9)
- repo: merge main from git@github.com:supabase/functions-js.git (2d16a08e)
- repo: merge master from git@github.com:supabase/auth-js.git (e1107521)
- repo: remove node-fetch dependency, require Node.js 20+ (#1830)
- repo: migrate build system to tsdown for proper ESM/CJS support (#1961)
- storage: add support for sorting to list v2 (#1606)
- storage: storage vectors and analytics in storage-js (#1752)
- storage: add support for bucket pagination and sorting (#1790)
- storage: rename StorageAnalyticsApi to StorageAnalyticsClient (#1869)
- storage: install iceberg-js and add from method (#1881)
- storage: align analytics from method with { data, error } pattern (#1927)
- storage: add setHeader method to BaseApiClient (#2079)
- storage: add cacheNonce parameter for download (#2234)
- storage: extract shared header normalization utility (#2251)
- supabase: export DatabaseWithoutInternals utility type (#1935)
- supabase: add missing HTTP headers for client platform and runtime detection (#2046)
- supabase: add canonical CORS headers export for edge functions (#2071)
- supabase: export PostgrestFilterBuilder and StorageApiError from supabase-js (#2222)
- types: replace Required/Optional/Readonly w/ Row/Insert/Update (ed1c2696)
- types: fallback columns to
string& values tounknown(dd4dc91c) - types: support views (527b7ada)
- types: export PostgrestResponseSuccess and PostgrestResponseFailure (#396)
- types: determine relationship cardinality (55ceb0a8)
- types: add jsonpath parser (82c07c51)
- types: allow jsonpath selector types overrides (7a791f65)
- types: add overrideTypes method (a7c0ee87)
- types: add ClientOptions to handle multi postgrest versions (99385482)
🩹 Fixes
- multischema RPC Content-Profile header (b4d98a0f)
- replace % with * in
orfilter (a0bc38fc) - proper usage of isomorphic URL (17c010f7)
- change fetch polyfill (#109)
- removes dotenv which will should be handled by the user of this library (4e888b76)
- don't mutate PostgrestClient.headers (3dbc55bc)
- async storage class (22d9b0fd)
- LocalStorage class implements Storage (90dc0abd)
- save the user when the libary is loaded (f18539e1)
- sets current user on sign up and sign in (f3d7ae19)
- recovers user from local storage on init (23022b29)
- adds test for current user (730596c2)
- moves type to prod dependencies since it is imported into projects (5042996c)
- returns meaningful errors (ec4cd86e)
- turns out that GoTrue doesn't have a consistent error format. Adding another possible variation (8c357d25)
- removes stray console log (af2f2f2c)
- (hopefully the last). Errors don't need to be recreated since they bubble up as full errors (288edfbb)
- disconnect callback should be optional (83da0f14)
- instructions to disconnect the socket (ec736ea1)
- Typescript not picking up the latest changes. Adds some jsdoc to trigger a new deploy (dffeed56)
- adds a return type to disconnect() (e87bce52)
- migrates all exports over to the proper naming conventions (62998b95)
- renames types to be more consistent across all of our libraries (eb8a17ed)
- broken import (91177822)
- rolls back the 2.0.0 release (a88affdf)
- adds PostgREST types to responses (97c40699)
- add notes for v1.6.1 (550994ca)
- Simplify user and session methods. (#20)
- ordering on JSON columns (a1da7fe0)
- tsc output for types (0de76d62)
- push release for React Native (9fa3de43)
- Fire signed in event on recoverSession. (f9adae4e)
- Automatically recover expired sessions. (fff851b4)
- don't error if process is undefined (ae228d6a)
- fire PASSWORD_RECOVERY auth event (236b745d)
- adds missing error on PostgrestSingleResponseSuccess (ba476695)
- #38 & fix: #41 (#38, #41)
- force release (#50)
- supabase/supabase#492 (f5a997b2)
- supabase/supabase#492 (182ea2d2)
- #153 Adds link to our docs (#153)
- #45 (#45)
- remove quoting of names (#131, #149)
- removes redirectTo from UserCredentials (7bf67d73)
- #66. Missing redirects on some routes (#66)
- rpc method (#156)
- Convert PostgrestError to a type (#159)
- broken error in test (d610aa73)
- handle postgrest special characters in filters (a423ed89)
- only need to quote
(),for values (b99ff1b8) - update session userData and save to storage (d4db683d)
- #52 - documents the "expires_in" field (#52)
- call token refreshing with arrow function (04d7b389)
- create refreshTokenTimer to manage refresh token (cbae349c)
- saveSession and auto trigger refresh token (4b99693d)
- recover and refresh token on startup (f9c1fa52)
- clear refreshTokenTimer on session remove (72e7aa29)
- unit test by replacing inbucket image with a custom one (ac6d43d6)
- signIn() with the wrong password unit test message check (7c3fe20f)
- update snapshot (9b88176a)
- client signOut doesn't trigger api.signOut #73 (#73)
- include src for source maps (f6207aee)
- include src for source maps (82f3e24a)
- include src for source maps (fa8c193b)
- bumps websocket to make it isomorphic (ca7fc7b5)
- #83 (#83)
- large influx of messages prevents heartbeat reply (c05d05d6)
- infra docker config (a4cc19fa)
- test scripts (dc5ad121)
- update storage api to v0.2.1 (466d7bb7)
- create new bucket test (cb828217)
- unit test (a2469eba)
- #1 adds automations for releases (#1)
- missing ./src/index.ts #3 (#3)
- missing release branch (0cf6dbbf)
- npm access public (23d51a9d)
- create bucket return newly created bucket id instead of bucket object (569296c0)
- session not recovering in React Native #76 (#76)
- Secure cookies when development with a vhost (f0853e8e)
- #34 (#34)
- include
columnsparam on bulk INSERT (b4ff9df8) - rename method name (62d49e4e)
- removes the
removeUsermethod from the client (cf2dad49) - cacheControl header when uploading (38395d32)
- notify subscribers when setting session (bfd3abaa)
- /invite API (inviteUserByEmail) returns a User (31cfd19f)
- globalThis polyfill for Mobile Safari <= 12.0 (7edfc940)
- insert w/ empty body can't have columns param (9a21405a)
- docs for upload and update object (807c0384)
- #65 sends redirect in query param instead of referer header (#65)
- add Apple as Provider in types (0e620344)
- trigger new patch version (b77683ad)
- return the full URL in both places (3750fb25)
- supabase/supabase#1915 encode query string parameter values (#1915)
- change match's value type to unknown (691ae748)
- refreshTokenTimer blocks node event loop exit (#99)
- supabase/supabase-js#178 handle JWT expiry <= 60s (#178)
- csv bug and type error (1d12edc3)
- tests and trigger release (6543da03)
- add discord provider (c6bb88e3)
- Added call back on 'otherEvent' to check if ignoredSpy is not called (71840e8b)
- trigger release for exporting Options type fix (61904365)
- added 'twitch' to Providers (96e5e310)
- existing tests (6cd2d64d)
- updates confirmed_at to email_confirmed_at (d9eec88f)
- moves tests to not use snapshot (0711f4d9)
- var to const (8f2842b0)
- magicLink -> magiclink (a5f1fbc3)
- Close open handles to allow testing without --exit flag (#99)
- escape columns in
columnsquery param (0ddf7820) - set default X-Client-Info and trigger release (55313e6e)
- maybeSingle: Avoid uncaught promise rejection (#210)
- adds X-Client-Info header (#104)
- adds X-Client-Info header (f2d47b07)
- require was breaking some builds (abff0171)
- #241 (#241)
- add semantic-release-plugin-update-version-in-files to devDependencies (999dd68f)
- typo (b0967569)
- catch network errors (f2624c95)
- as per #129 (#129)
- supabase/supabase#2497 prevent empty results when selecting folder(s) in one bucket that match an object name in another bucket (#23, #2497)
- include negated operators in FilterOperator type (d8c886a6)
- update node versions in ci, docs, release yml files (#110)
- error parsing JSON when transforming array data types (8e36fddd)
- semantic release now requires node 14 (0a261c4a)
- test isnt accurate (a777ddfa)
- release error (#25)
- #175 return token from cookie helper (#175)
- exports ApiError (85acdf99)
- Removes deprecated data for session (886ee424)
- docs build (52b04b6b)
- add typescript mapping for identities type (787d7755)
- add a new TOKEN_REFRESHED event (1ccb10e9)
- supabase/auth-js#184 (07bca4e6)
- push access token only to joined channels (a2dc5737)
- only push tokens to joined channels (78f9f9b7)
- add back heartbeat message push (785eae91)
- update channel join payload for successful reconnect (77d4a952)
- send magiclink should use otp endpoint (26b15514)
- add no signup param for otp endpoints (eac5e685)
- Fetch method can't handle error response that is not a valid JSON (#242)
- force client to listen to unique subscriptions (4fc05f8c)
- '\1' -> '' and '//' -> /+ (bdd42d55)
- Merge pull request #128 from supabase/da/hcaptcha-support (#128)
- release v1.22.1 (1de8f6ec)
- bump to v1.22.1 (10c68bce)
- calc expiresAt before returning verifyMobileOtp (074e55a3)
- use custom fetch if provided for upload (a3d702ea)
- correct backquote placement (a66d9c72)
- set heartbeat ref to null on incoming message (43a2e2ce)
- persist session if user is null. (bb7abdaa)
- return whole URLs from
createSignedUrls()instead of just paths (45753731) - prefer global fetch to cross-fetch (76fc7da3)
- prefer global fetch over cross-fetch (5bc6a79b)
- illegal invocation on fetch (112208b2)
- illegal invocation on fetch (96ed5848)
- prefer global fetch to cross-fetch (f6f65f5b)
- properly default shouldCreateUser flag (94221d67)
- Merge pull request #244 from fspijkerman/feat/keycloak-provider (#244)
- add phone field to user attr (b60fd91d)
- verify email otp to verifyOTP (13bfb641)
- mark verifyMobileOTP as deprecated & update verifyOTP (60d02ff5)
- trigger a release (36113226)
- update package name (4c9daa82)
- package name (799d8b00)
- npm package can be public (79885af1)
- add warning msg if redirect_to is used for non-oauth sign-ups/sign-ins (8c61d8f2)
- trigger release (d1190354)
- update typedoc for responseType (145e9c01)
- illegal invocation (4617ef75)
- parse error as text (b940eaa0)
- resolving custom fetch (f2414ab9)
- change license to MIT (b16f7e68)
- update redirectURL type docs (d034650f)
- typo (afe323e0)
- fetch type (71315e57)
- put all optional params in an object (ed644701)
- default invoke T (f6c5b59a)
- invoke resp type (a31293cb)
- move @types/* to devDependencies (5f0e4230)
- name (ab51543b)
- w3cwebsocket typings (3e3d4238)
- include @types/phoenix as dependencies (3876b7a5)
- types in package.json (69eb92e8)
- types in package.json (dc3462d8)
- types in package.json (c2c28f2a)
- types in package.json (0cb6ad85)
- types in package.json (c25c3f80)
- setAuth should not set user to null (97f2de50)
- add RealtimeChannel (826bfb36)
- update RealtimeClient to support RealtimeChannel (a6832c81)
- add phone_change otp type (062cf778)
- update RealtimeChannel .on method args (ffb71a30)
- update Push to enable RealtimeChannel (bd8ad723)
- remove lodash clonedeep and isequal (67d1612e)
- update eventFilter type (85ec5168)
- FunctionsClient constructor default options (b9600c2c)
- return headers default value (3adbfb84)
- update logic that sets versionDate in RealtimeClient instance (c0829314)
- notify all subscribers when calling setAuth (b3c584ed)
- remove URL instance with vsndate from params (60bd7226)
- token refresh retry offline + recover on visible (#278)
- Minor typo fix just because I found it... (5211b63e)
- Add new fields on User type (bc3b18f8)
- change var passed in (f691c399)
- make throwOnError work with maybeSingle (#272)
- ignore no-extra-semi (b3242b30)
- getSession() read from localStorage every time (e7d56536)
- destructure currentSession from persistedSession (9a07c580)
- makes setAuth work with inMemorySession (e9035b5b)
- typo in updateBucket jsdoc (f746d89e)
- allow custom storage key in localstorage (c53404b4)
- import cross-fetch conditionally (4fca88ae)
- import cross-fetch conditionally (49b29f15)
- import cross-fetch conditionally (472214ad)
- import cross-fetch conditionally (ab3c8d75)
- es2020 (6a8a28a8)
- es2020 (fad8e160)
- es2020 (984c9d19)
- es2020 (1af723ce)
- rename captcha field (7dd47274)
- resolve channel send when time out (cc8b09b5)
- only saveSession when persistSession is true (edb8a26b)
- add config for sign in endpoints (f270f201)
- refreshSession should take in an optional refreshToken (fe48fe69)
- make types tighter (2bd4b4e8)
- resolve & reset deferred upon refresh error (88157d08)
- add AuthResponse type (6b2ef5a0)
- properly handle non AuthError's (da46433e)
- clean up signInWithOAuth types (b5d73411)
- clean up signInWithOAuth types (bb881e0a)
- add custom error classes (887377e8)
- remove RealtimeChannel and RealtimePresence (49c4e904)
- rename main release branch (#84)
- remove unnecessary notify events (55273f2d)
- remove multitab stuff (b59d0b3d)
- return push instance on channel send (641fc60b)
- wrong usage of FilterOperator (b9f50198)
- typo in auth cookie error (89eaa479)
- default current presences to empty array (d2b65dc0)
- remove _recoverSession (2b2cf3b7)
- add email change types to generateLink (7b3990f4)
- cleanup localStorage session format (957e5d41)
- generate realtime config via filter and map methods (d9f02fea)
- prevent channel configs completely overwrite (d6ff1e6b)
- fix ts error introduced with prettier changes (363cda8d)
- correct typo (4aa4399b)
- rename localstorage to storage (69023e53)
- export errors (10b0dbd3)
- allow arbitrary string on
.from()(c3309b1a) - fixes exponential backoff upon token refresh (aff1d741)
- refactor user methods (826e37f4)
- guard blob and FormData (3d1ebf00)
- add content type headers only if func args are set (09ca2735)
- pass postgres changes to getPayloadRecords (6dcf1baf)
- remove duplicated methods in GoTrueApi (c23871ed)
- refactor update method (4fd63123)
- revert invoke function signature (0dfe35e1)
- move resetPasswordForEmail and refreshAccessToken to GoTrueClient (6cb28759)
- typedocs (#32)
- signInWithPassword should send sign-in event (cb7d3227)
- getUser should accept jwt (b076575c)
- verifyOTP should send session (a45b9e77)
- typedocs docs (7741bd05)
- cleanup type docs (add308d7)
- send headers on all requests (d236ca8e)
- enable compatibility with single tenant Realtime (4c2879ca)
- wait for _getSessionFromUrl (999afd12)
- await getSessionFromUrl in _recoverAndRefresh (711ede80)
- await _saveSession and _removeSession (24547622)
- only remove session when there is an invalid one (3f6c4027)
- don't throw errors in constructor (f2a6ab14)
- distinguish between malformed urls and errors (7c4d838d)
- validate error callback urls (16395d93)
- fix broken test (b841fe86)
- _getSessionFromUrl() test (b44b9c4b)
- change channel configs to config (e86f95f4)
- move isBrowser localStorage check (93722840)
- move options into verifyOtp params (ab8c2201)
- onAuthStateChange returns data object (47b321e6)
- update types for generateLink (4c2d5b59)
- make types tigher for generateLink (abcae8bf)
- keep second channel with same topic open on rapid re-subscribe (ddff7c33)
- missing src in package (4280f01d)
- handle custom fetch response in error handler (7ba20341)
- add ban_duration (59a3e1aa)
- add initial enroll and challenge implementations (5fbc3e31)
- change types to return appropriate signatures (e5fcdff5)
- use snake_case in req body keys (26f80d3e)
- change enroll params to snake case (78a4f249)
- mfa verify should update current session (a8d7ce95)
- add option to pass in data (d0aca029)
- update default value from totp -> TOTP (075e0825)
- update corresponding type for TOTP (d9ca572a)
- allure generate command (12d8c510)
- default invoke type cange to json (afd0aece)
- upd to latest constructor signature (8275c85b)
- format in hello spec (0bb7d003)
- readme command test reports (50e8215f)
- keep second channel with same topic open on rapid re-subscribe (aaba048c)
- update getAAL and getAMR methods (1182b5c8)
- use current session in _startAutoRefreshToken callback (bd30e666)
- throw AuthRetryableFetchError on network errors only (0f3d60c6)
- send
application/jsonin Content-Type header (#429) - change setSession to take in an access token (d4271ea8)
- getUser should default to authorization header (70a5c652)
- return provider refresh token (71f2e342)
- change setSession to take in an object (0b3a5fb5)
- merge rc into mfa (1c0b2db9)
- gitignore only v2 docs (c18961f4)
- bump version (62ab32cd)
- refreshSession() test (d422dcea)
- tidy up tab issue in unrelated code (a145f2ea)
- eof newline (cb12e5f4)
- improve realtime postgres changes types (1e07e6f9)
- remove access token and jwt code (25f6e335)
- update getAuthenticatorAssuranceLevel (02a8c575)
- listFactors should use getUser (31563201)
- spelling (c5b0d7d6)
- add forgotten
dataoption for sign ins (baefbca5) - mfa challenge and verify (d4ae41a5)
- remove xform methods (30627199)
- use
captcha_tokeninverifyOtp(#525) - decode base64 to UTF8. (#528)
- revert "fix: respect
EXPIRY_MARGINongetSession" (#533, #482, #529) - signout should remove session if user doesn't exist (#541, #540, #520)
- mark
captchaTokenoption onverifyOtpdeprecated (#532, #795) - drop experimental MFA tag (#547)
- setSession is in broken state after v2.4.0 (#548)
- update mfa methods (#551)
- update tsdocs (#559)
- wrong response on update w/o match (9b1eacbd)
- mfa admin list factors (#562)
- remove comments about calling
getUser()in listFactors() (#570) - update format for type comments (9e816fee)
- use
location.assign()instead oflocation.href(#573, #155) - update docs for public url (#141)
- add status property to AuthError (#580)
- update to node 18 (#582)
- upgrade node version CI (#143)
- run npm audit fix (#144)
- add soft delete option in deleteUser (#587)
- decodeBase64URL compatibility (#586)
- revert pop implicit flow URL from back stack (#596, #574)
- use
unrefonsetIntervalto stop tests from hanging (#599, #564, #597) - rpc return type (7344a8d9)
- use
nullifreturn=minimal(c6c49b8e) - add missing new_phone property (#609)
- add emailRedirectTo option to updateUser (#610)
- remove data property from AdminUserAttributes (#612)
- prettify intersected types when selecting multiple columns (#399, #398)
- unhandled promise error when response has invalid json format (7e3fa50b)
- defer
notifyAllSubscribersin the constructor (#623) - update package-lock.json (5ded1c13)
- pkce does not generate truly random values in a browser (#636)
- remove async from
generatePKCEVerifierand fix parameter of_handleProviderSignIn(#638) - remove crypto-js (#641)
- add email as a verification type (#642)
- move channel parameter from sign in to sign up (#647)
- update package-lock.json (#237)
_isPKCEFlowis not being awaited (#653)- remove oauth flow type (#655, #654)
- upgrade deps (12ac9dca)
- allow null on bucket constraints (#160)
- check for Deno (#658)
- use
?columns=on upsert (e9615e45) - signOut should remove any unused code verifier (#664)
- default to plain code challenge method if crypto API is undefined (#663)
- populate
detailson FetchError (39e8a1b1) - partial fix for maybeSingle logging 406s (4cb2b70c)
- add reauthenticate method (#688, #258)
- update resend types (#691)
- return warning if
persistSessionis true with no storage option (#697, #539) - verifyOtp should not removeSession for phone_change & email_change (#698, #696)
- add log_level to RealtimeClientOptions type (a9214b92)
- return SelectQueryError when referencing missing columns (#436)
- replace super with this inside FunctionsError constructor (0c7cfa98)
- add emailRedirectTo option to resend method (#724)
- type error when ordering on json[b] columns (b957514d)
- don't remove session in resend (#717)
- add figma provider (#723)
- add verify token hash (#722)
- always wait for
_initializebefore loading the session (#747) - better defined localStorage support for debug (#753, #752)
- set initial access token (#245)
- use @supabase/node-fetch (46bc826b)
- use @supabase/node-fetch (e2bf9c85)
- use @supabase/node-fetch (794f8a0f)
- use @supabase/node-fetch (#763)
- revert using @supabase/node-fetch (099c897b)
- trigger release (e0396f1f)
- revert using @supabase/node-fetch (#765)
- use @supabase/node-fetch (02d97a2e)
- use @supabase/node-fetch (#776)
- use @supabase/node-fetch (f98b90f9)
- use @supabase/node-fetch (6103f0e2)
- expose role in admin user type (#790)
- typo (#786)
- detection of maybeSingle (#2876)
- Enrich send function arguments (a75e4bac)
- remove rate limiter (52d9bd4f)
- Export CHANNEL_STATES from RealtimeChannel (#262)
- Add missing
onoverload for Broadcasts (#261) explain()always returning an error (3837ff55)- release for Return ID and full path of uploaded file (#187)
- add password recoery flow support for pkce (#813)
- weak password error runtime type checks (#819)
- Type error on code exchange when no item in storage (#825)
- replace ws require with import (#267, #269)
- Emit password recovery event from verifyOtp when otp type is recovery (#829)
- add link on how to enable explain on the explain() method (#507)
- channel.send via rest api (#273)
- move @types/ws to dependencies (e2b6eec2)
- Ensure thrown errors have a stack trace (#502)
- upgrade to node 20 (#839)
- set region on invoke and in constructor (28d1191e)
- remove data type (#848, #811)
- refactor all pkce code into a single method (#860)
- trigger semantic release & export type FunctionRegion (6fc2b193)
getUserreturns null if there is no session (#876)- ignore undefined args when using rpc with head/get (2060aa37)
- rpc w/ HEAD/GET w/ array param (cf9bdc70)
- accept error message from server when tracking Presence (52b54157)
- implement exponential back off on the retries of
_refreshAccessTokenmethod (#869) - use Supabase namespace for non-std Supabase APIs (dd6e6f3e)
- update session warning (#879, #873)
- check for access token in header (#882)
- revert check for access token in header (#885, #882)
- return error if missing session or missing custom auth header (#891)
- remove babel dev dependencies (#293)
- signOut should ignore 403s (#894)
- suppress getSession warning whenever _saveSession is called (#895)
- limit proxy session warning to once per client instance (#900)
- jsr publish write permissions. (#83)
- allow wirting to issues. (#84)
- use proper dual-packaging (47d57ae9)
- detect !inner in one-to-one relationships (#530)
- don't call removeSession prematurely (#915, #854, #853, #904)
- bump node version in ci (#201)
- patch release workflow (#922, #921)
- type errors in verifyOtp (#918)
- Reland ESM fix (#540)
- Bump WS dependency due to CVE (#410)
- esm typings (#547)
- Close fetch response on HTTP broadcast sent (#412)
- Update dependencies (#413)
- imports not working w/ Metro bundler (2dfba809)
- Broadcast endpoint includes private param in request body (#414)
- add openai compatible types. (#88)
- update types (#930)
- ambient module declaration. (71f9bdab)
- move docker compose to v2 (#940)
- Correct typo in GoTrueClient warning message (#938)
- don't throw error in exchangeCodeForSession (#946, #782, #945)
- Add type to system messages (#422)
- Remove Module type from package.json (#425)
- improve
mfa.enrollreturn types (#956) - remove phone mfa deletion, match on error codes (#963)
- prettier (7cd3b7b4)
- export PostgresError as a class (#555)
- make oneToOne optional (319749e7)
- update GenericTable usage to work with views (239af1a1)
- make hinting relationships use name as well as hint to avoid duplicates (c560bf1d)
- rpc procedures call (5fc34bfe)
- inner join on many relationship (55abc138)
- metadata ordering on multipart form/data (#211)
- errors with relationships duplicates (a8efa8cd)
- move MFA sub types to internal file (#964, #956)
- Add Web Workers as a way to run health check (#431)
- self-referencing relation corner case (7c3c9faa)
- Call
SIGNED_OUTevent where session is removed (#854, #853) - hint matching (6b19156a)
- use class PostgrestError instead of type PostgrestError (#562)
- update soft-deletion docs (#973)
- unwrap error within arrays (0a2f9db3)
- typo in warning message (#975)
- add loose auto complete to string literals where applicable (#966)
- add new error codes (#979)
- Add missing PostgrestError export to wrapper.mjs (1a3a2dce)
- prevent sending expired tokens (#437)
- Improve error message on invalid JWT (#438)
- export unstable GetResult type (599d5874)
- don't remove session for identity linking errors (#987)
- Access token callback can return null (#440)
- set proper type in options (#441)
- Release new version (#442)
- return error early for redirects (#992)
- add email_address_invalid error code (#994)
- revert #992 and #993 (#999, #992, #993)
isBrowser()to include check onwindow(#982)- add a type for
EdgeRuntime.waitUntil(3b1d15c8) - return redirect errors early (#1003, #992)
- update docs to add scrypt (#1012)
- remove
internal-types.ts(#1014) - Correctly validate enum values in eq, neq and in methods (cc8bf091)
- Correctly validate relationship enum values in eq, neq and in methods (#589)
- also validate enums in views (4a79339b)
- jsonpath with embeded tables (8b736ff7)
- in filter result infer (ee670462)
- in filter (750498b9)
- jsonpath accessor and filters (7953a1dd)
- jsonpath filter string operator accessor (1403f6e3)
- assert type in
decodeJWTPayload(#1018, #967, #1017) - remove client side check of jwt token (#451)
- Change format of version sent (#455)
- set log level on params (#456)
- preserve result optionality in override (0fd6525f)
- add runtime test coverage (ee9b3928)
- set jwks_cached_at (#1039)
generatePKCEChallengeshould use btoa (#1044)- Add heartbeat callback; Move to Sets vs Arrays (#460)
- Properly handle errors in Upload Api (related to StorageError) (#216)
- properly export log level (#464)
- resolve regression with uploading files introduced by #216 (#216)
- add missing
deleted_atproperty toUserinterface (#1059) - export
processLockfrom toplevel (#1057, #977) - onHeartbeat; Expo comparability; general improvements (#470)
- types (64fd20e1)
- properly handle ws browser export (#474, #476)
- make the exports section compatible with Deno 1 (#479)
- handle null current session with split session storage (#1071, #1023)
- handle subscribed called multiple times; remove redundant line (#489)
- prevent multiple web workers from starting (#490)
- adopt isomorphic websocket implementation (#492)
- resolve 'ws' peer dependency (#495)
- soft deprecation of headers and simplify ws socket connection (#494)
- include response object in FunctionsClient invoke method return (46baa2e6)
- bucket type, iceberg_catalog property: (#232)
- optionally use storage new hostname (#234)
- Set auth on connect and reconnect flows (#497)
- consistent bucket type name (#235)
- call setAuth on subscribe (#499)
- use JSON-based deep clone instead of structuredClone (#1084)
- trim duplicate slashes from file paths (17f71536)
- us normal storage/v1 prefix with storage zone (0c32e21f)
- remove dynamic imports to eliminate webpack warnings (#514)
- pass duplex option to the fetcher (#242)
- Websocket like type definition compatible with ws (#517)
- inline
GetGenericDatabaseWithOptions(#637) - correct typo in GoTrueClient initializePromise comment (#1093)
- allow override presence enabled (#530)
- add hearthbeat callback (#529)
- bump up realtime js (#1546)
- update docs for list endpoint (#167)
- use dynamic property access for proces.versions to avoid Edge Runtime warnings (#533)
- bump realtime-js to 2.15.5 (#1548)
- make Authorization header check case-insensitive (#1528, #1043)
- add validation for supabaseUrl (#1547)
- update typedoc to 0.23 (#641)
- update typedoc to 0.23 (#251)
- update typedoc to 0.23 (#109)
- update typedoc to 0.23 (#1113)
- update typedoc to 0.23 (#1549)
- docs for ethereum (#1117)
- use setAuth for realtime in signup flows also (#1551)
- bump functions-js to 2.5.0 (ba3219e1)
- add missing jest-environment-jsdom dependency (#1111)
- prettify types and improved typesafety for MFA methods (#1116)
- export storageClientOptions type (#255)
- update import of storageClientOptions (#1567)
- CI: semantic-release (521c7412)
- auth: handle 204 No Content response in OAuth client delete (#1786)
- auth: remove redirection in
getAuthorizationDetails(#1811) - auth: move session warning proxy from session to user object (#1817)
- auth: only warn if multiple clients share a storage-key (#1767)
- auth: make webauthn param optional and move register params to webauthn (#1765)
- auth: add providers type to UserAppMetadata interface (#1760)
- auth: use direct attestation for registration/authentication (#1764)
- auth: use Symbols for callback IDs to resolve Next.js 16 compatibility (#1847)
- auth: add automatic browser redirect to signInWithSSO (#1849)
- auth: oauth minor fixes on types (#1891)
- auth: suppress getsession warning when getuser is called first (#1898)
- auth: code verifier remains in storage during edge cases (#1759)
- auth: skip navigator lock when persistSession is false (#1928)
- auth: add helpful error when PKCE code verifier is missing (#1931)
- auth: add banned_until property to user type (#1989)
- auth: add last_challenged_at property to factor type (#1990)
- auth: clear initial setTimeout in stopAutoRefresh (#1993)
- auth: preserve session when magic link is clicked twice (#1996)
- auth: add configurable lock acquisition timeout to prevent deadlocks (#1962)
- auth: defer subscriber notification in exchangeCodeForSession to prevent deadlock (#2014)
- auth: clarify updateUserById applies changes directly (#2031)
- auth: restore SSR OAuth functionality broken in v2.91.0 (#2039)
- auth: handle uncaught promise rejections during initialization (#2032)
- auth: clear local storage on signOut when session is already missing (#2026)
- auth: add webauthn tests and fix fallback naming (#1763)
- auth: correct OAuth authorization types to match API responses (#2088)
- auth: resolve Firefox content script Promise.then() security errors in locks (#2112)
- auth: recover from orphaned navigator locks via steal fallback (#2106)
- auth: lower lockAcquireTimeout default to 5s and fix stale JSDoc (#2125)
- auth: fixes userattributes type (#2139)
- auth: guard navigator lock steal against cascade when lock is stolen by another request (#2178)
- auth: downgrade console.error to console.warn for missing session (#2214)
- auth: add toJSON to AuthError for correct JSON serialization (#2238)
- auth: include Cloudflare error codes in NETWORK_ERROR_CODES (#2239)
- auth: remove Prettify wrapper from exported types for TypeDoc expansion (#2250)
- ci: add persist-credentials: false to release job checkouts (#2074)
- ci: handle missing git auth header in release-canary script (#2077)
- ci: add --ignore-scripts to platform test installs to block post install attacks (#2206)
- functions: missing body when Content-Type header supplied by dev (#1758)
- functions: add application/pdf response parsing to FunctionsClient (#1757)
- functions: add configurable timeout and normalize abort/timeout errors as FunctionsFetchError (#1837)
- functions: auto-stringify object body when custom Content-Type header is provided (#1988)
- functions: add RateLimitError in
Deno.errorsnamespace (#2160) - functions: add toJSON to FunctionsError for correct JSON serialization (#2226)
- misc: add explicit return types to toJSON methods for JSR compat (#2252)
- parser: whitespace issue with inner embeding (69e34bbb)
- postgrest: add incoming major 14 support (#1807)
- postgrest: bubble up fetch error causes and codes (#1856)
- postgrest: validate empty or invalid relation names in Postgrest… (#1863)
- postgrest: cross-schema rpc setof type inference (#1900)
- postgrest: use post with return minimal for rpc head requests with object args (#1994)
- postgrest: prevent shared state between query builder operations (#1978)
- postgrest: enforce type safety for table and view names in from() method (#2058)
- postgrest: add type safety for eq() and neq() column names (#2175)
- postgrest: fix maybeSingle for all request methods by removing Accept header override (#2182)
- postgrest: narrow tstyche testFileMatch to only type test files (#2193)
- postgrest: prevent Args: never functions from being classified as computed fields (#2195)
- postgrest: add toJSON to PostgrestError for correct JSON serialization (#2212)
- postgrest: reject excess properties in insert, update, and upsert (#2186)
- postgrest: fix scalar computed column type inference for isNotNullable and SETOF scalar (#2224)
- postgrest: handle bigint rpc (#2245)
- realtime: handle null at convertChangeData (#539)
- realtime: manipulate URLs using URL object (#1769)
- realtime: ensure WebSocket connections are properly closed in teardown (#1841)
- realtime: setAuth not required on custom jwt token (#1826)
- realtime: account for null refs when encoding messages (#1862)
- realtime: simplify serializer by removing unnecessary types of messages (#1871)
- realtime: preserve custom JWT tokens across channel resubscribe (#1908)
- realtime: handle null values in postgres changes filter comparison (#1918)
- realtime: terminate web worker on disconnect to prevent memory leak (#1907)
- realtime: handle websocket race condition in node.js (#1946)
- realtime: omit authorization header when no access token exists (#1937)
- realtime: validate table filter in postgres_changes event dispatch (#1999)
- realtime: send heartbeat for initial connection error (#1746)
- realtime: add generic overload for postgres_changes event type (#1984)
- realtime: removeChannel when unsubscribe successfully (#2091)
- realtime: remove unnecessary check in
removeChannel(#2109) - realtime: patch channel join payloads with resolved access token before flushing send buffer (#2136)
- realtime: revert
vsntype tostring(#2170) - realtime: throw Error objects instead of bare strings (#2256)
- repo: convert postbuild to explicit codegen (#1778)
- repo: add missing tslib dependency to core packages (#1789)
- repo: cleanup package-lock.json and bun.lock (#1799)
- repo: update lock file (#1910)
- repo: lock file issues (#1919)
- repo: update npm and install again (#1920)
- repo: update lock file after dependabot to use npm 11 (#1926)
- result: error plain string results unwrapping (557f9ef1)
- rpc: allow filters on rpc (1c8ce6b3)
- select query parser: support
field!hint(nodes)(f2c694c6) - select query parser: support
!inner(22a37b3c) - select-query-parser: support
!left(47e496de) - storage: remove trailing slash from baseUrl normalization (#1589)
- storage: correct list v2 types to correctly match data returned from api (#1761)
- storage: use backward compatible return type in download function (#1750)
- storage: api types (#1784)
- storage: remove unnecessary filter (#1809)
- storage: analytics bucket prop (#1852)
- storage: correct QueryVectorsResponse to use vectors instead of matches (#1922)
- storage: expose status and statusCode on StorageError base class (#2018)
- storage: handle empty 200 responses in vector operations (#2073)
- storage: expose fetch parameters in download method (#2090)
- storage: improve FileObject type accuracy with nullable fields (#2116)
- storage: do not rewrite signed URL to render endpoint for empty transform object (#2162)
- storage: structural detection on json() to detect Response-like errors (#2179)
- storage: spread all DEFAULT_FILE_OPTIONS in uploadToSignedUrl (#2194)
- storage: support exactOptionalPropertyTypes (#2200)
- storage: set correct content-type for uploads (#2211)
- storage: avoid duplicate content-type headers in vector requests (#2220)
- storage: add toJSON to StorageError for correct JSON serialization (#2246)
- storage: apply empty transform check to download and getPublicUrl (#2219)
- storage: remove client-side signed URL render endpoint normalization (#2249)
- storage: correct signedUrl type to allow null in createSignedUrls (#2254)
- supabase: add esm wrapper to resolve module not found error in nuxt (#1914)
- supabase: resolve jsDelivr CDN ESM import failure (#1950)
- supabase: resolve jsDelivr CDN ESM import failure with .js extensions (#1953)
- supabase: split type-only exports to avoid unused import warnings (#1979)
- supabase: inline string literal in databasewithoutinternals type (#1986)
- supabase: avoid edge runtime warnings in next.js (#1998)
- supabase: resolve Firefox extension cross-context Promise error (#2033)
- supabase: safe environment detection node v browser (#2053)
- supabase: revert client platform and runtime detection headers (#2067)
- typegen: avoid possible infinite recursion error (#630, #627)
- types: update throwOnError return type to this (b73019a1)
- types: aggregate on a missing column with alias (907fa4a2)
- types: handle many-to-many join tables references (af02bce0)
- types: types result with schema as any (7b25e717)
- types: spread and embeding combination issues (f67b2017)
- types: make types retrocompatible to typescript 4.5.5 (#571)
- types: add deduplication helpers for retro-compatibility (544175de)
- types: inference for default any schema (88af9e2f)
- types: type result for throwOnError responses (#590, #563)
- types: type instantiation is excessively deep and possibly infinite (01e582ae)
- types: returns type casting (956c7c8e)
- types: overrideTypes deep merge behavior (4e89ce1f)
- types: overrideTypes work on invalid embeded relation (d878d010)
- types: overrideTypes merging with maybeSingle (5fdef791)
- types: allow merge Record and litteral object (5e1b1150)
- types: outdated error message (#608)
- types: inner join type on nullable relationships (776b5139)
- types: computed field and star selector (#626)
🔥 Performance
- ♻️ applying early returns concept to reduce complexity and refactoring some methods to improve our performance (f63af3b0)
- ⚠️ nullsFirst = true by default (8d32e40b)
- precompile RegExp (#1806)
⚠️ Breaking Changes
- Release V2
- omit
.nullsfirst/.nullslastby default - improved typings
- use undefined as bottom value instead of null
- nullsFirst = true by default
- set
Prefer: return=minimalby default everywhere - obselete the following previously-deprecated features:
❤️ Thank You
- A. David Thyresson @dthyresson
- Ademílson F. Tonato
- Alaister Young @alaister
- Alan Guzek @GuzekAlan
- Alex Rich @aarich
- Alois Klink
- Andrew Valleteau @avallete
- Ant Wilson @awalias
- Anthony Gubler @agubler
- avallete
- awalias
- Ayush Baluni @aayushbaluni
- Beng Eu @thebengeu
- Benjamin Dobell
- Benjamin Tan @bnjmnt4n
- Bermi Ferrer
- Bhavin
- bmartel @bmartel
- Bobbie Soedirgo @soedirgo
- bombillazo
- Brice Lechatellier @gdaybrice
- burggraf
- Cemal Kılıç @cemalkilic
- Chris
- Clay
- Copple @kiwicopple
- Dan Schuman
- Daniel Schaefer
- David @DavDeDev
- David Barrell @dabarrell
- Denis Homolik
- Div Arora @darora
- DmitryScaletta
- Doğukan Akkaya
- Dominik Pilipczuk @snickerdoodle2
- dshukertjr @dshukertjr
- easy-street @easy-street
- Eduardo Gurgel
- egor-romanov
- Elliot Padfield @ElliotPadfield
- Emmanuel Roussel @emroussel
- Etienne Stalmans @staaldraad
- Evan Schwartz @emschwartz
- Fabrizio @fenos
- fenos @fenos
- Filipe Cabaço @filipecabaco
- Fizal Sarif
- Guilherme Souza
- hammerlscs @hammerlscs
- Harrell Zh @hmpthz
- Hector Ayala
- Inian
- Inian Parameshwaran
- issuedat @issuedat
- izqalan
- j4w8n
- Jack Merrill @jackmerrill
- Jacob Gillespie
- janglad
- Jason Creviston @j4w8n
- Jay Baker
- Joel Lee @J0
- joel@joellee.org
- Jonathan Picques
- Jonathan Summers-Muir @MildTomato
- Joonas
- Jordan Lewallen
- Juan Cardenas @cardenasj97
- Julian Meyer
- Justin Noel
- Kacper Potyrała
- Kamil Ogórek @kamilogorek
- Kang Ming @kangmingtay
- kangmingtay @kangmingtay
- Katerina Skroumpelou @mandarini
- Kevin Grüneberg
- Kevin Rocker @kjrocker
- Krzysztof Borowy @krizzu
- Lakshan Perera
- Laurence Isla
- Lenny @itslenny
- Liam
- Luca Casonato
- Marcelo Barreto
- Marcelo T Prado
- Marcus Stade @mstade
- Marshall Polaris @mqp
- Martin Sonnberger
- masaharu @masaharu99
- Matsu @Matsuuu
- Max
- Muhammad Ali @Mukhammadali
- Muthukumar
- Nico Kempe @nicokempe
- Nyannyacha @nyannyacha
- Omar Al Matar @Bewinxed
- oniani1
- Oswaldo Vázquez
- Ozan
- Paul Copplestone
- Pham Hieu
- phamhieu
- Philipp Steinrötter
- pip
- Rafał Nawojczyk @rafalnawojczyk
- Ricardo Basto
- Robert
- Rodrigo Mansueli Nunes @mansueli
- Ross Waycaster
- Ryuya
- Sarah Price @Louis454545
- Seydi Charyyev
- Shankhadeep Dey
- Shlomo Morosow
- Soufiane Radouane @sofmega
- Spencer Jones @sjones6
- Stefan Aebischer
- Steve Chavez @steve-chavez
- Steve Hall @sh41
- steve-chavez @steve-chavez
- Stojan Dimitrovski
- stupidawesome
- Sumit Kumar
- Taewoo Kim @kim-taewoo
- Taketo Yoshida
- Tanmay Sharma @tanmaysharma2001
- TeeWallz
- Thor 雷神 Schaeff @thorwebdev
- Thorsten Schaeff
- thorwebdev
- Tomáš Hübelbauer @TomasHubelbauer
- Trần Đức Trung @niits
- travis-humata @travis-humata
- tvogel @tvogel
- Tyler @dshukertjr
- Vaibhav @7ttp
- Vandivier
- Vansh Sharma
- Vinzent
- Wen Bo Xie @w3b6x9
- Yash Goyal
- yoshifumi kondo @yoshifumi-kondo
- zakzackr @zakzackr
- 냥냐챠