v2.105.5-beta.0
Breaking Changes📦 supabase-authView on GitHub →
⚠ 2 breaking✨ 2 features🐛 14 fixes🔧 13 symbols
Summary
This 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 consistent error wrapping in Postgrest and changing the behavior of the Storage exists method.
⚠️ Breaking Changes
- Postgrest: Errors returned from processResponse are now consistently wrapped in a PostgrestError instance. Consumers relying on catching generic Error types might need updates.
- Storage: The exists method no longer throws an error if the file does not exist; it now returns false (or equivalent based on context). Code that previously relied on catching an error for non-existence must be updated.
Migration Steps
- If you rely on catching specific error types from Postgrest responses, ensure your error handling accounts for errors being wrapped in PostgrestError instances.
- If you use the storage exists method, update logic that previously relied on catching an error when a file was not found, as it now returns a non-error result (e.g., false).
✨ New Features
- Auth now supports WebAuthn registration, authentication, and management via passkey support.
- Realtime now implements deferred disconnect functionality.
🐛 Bug Fixes
- Auth: Forwarded lockAcquireTimeout to SupabaseAuthClient.
- Auth: Added toJSON method to WebAuthnError for correct JSON serialization.
- Auth: Narrowed OAuth/CustomProvider types to resolve downstream consumer typecheck issues.
- Auth: Return null from getItemAsync when JSON parsing fails.
- Misc: Widened enum-like unions using (string & {}) for improved forward compatibility.
- Misc: Reduced usage of 'any' type across packages.
- Postgrest: Ensured errors are wrapped in PostgrestError instance upon processResponse.
- Postgrest: Unified insert/upsert signatures.
- Postgrest: Restored non-Error abort detection within fetch catch block.
- Realtime: Annotated Timer/Vsn getters to prevent deep phoenix imports.
- Realtime: Surface a real Error when encountering a transport-level CHANNEL_ERROR.
- Realtime: Added guard for sessionStorage access in browsers with restricted storage.
- Storage: Forwarded the duplex option for stream uploads using uploadToSignedUrl.
- Storage: Fixed issue where exists method threw an error when the file did not exist.