This PR updates the Swift SDK documentation to reflect new features from recent merged PRs in supabase-swift:
## Documentation Updates
### PR #812: getClaims method
- Added documentation for new `getClaims()` method for JWT verification
- Supports both symmetric (HS256) and asymmetric (RS256) JWTs
- Includes global JWKS caching with 10-minute TTL
- Handles key rotation gracefully
- Examples: current session, custom JWT, expired tokens, custom JWKS
### PR #809: OAuth 2.1 client admin endpoints
- Added documentation for OAuth 2.1 client administration endpoints
- New methods: `listClients()`, `createClient()`, `getClient()`, `deleteClient()`, `regenerateClientSecret()`
- All methods under `admin.oauth` namespace requiring `service_role` key
- Includes pagination support for listing clients
### PR #806: forceFunctionRegion query parameter
- Updated `invoke()` documentation to mention both `x-region` header and `forceFunctionRegion` query parameter
- Both are set when a region is specified for better function routing
### PR #805: broadcast replay configuration
- Added example for configuring broadcast with replay support
- Shows `ReplayOption` with `since` and `limit` parameters
- Demonstrates how to detect replayed messages via `meta` field
### PR #795: maxAffected method
- Already documented in previous commit (7c29f852c0)
- No changes needed
## Files Updated
- apps/docs/spec/supabase_swift_v2.yml
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude <noreply@anthropic.com>
* feat: update @supabase/*-js libraries to v2.74.0
* Use catalog supabase/supabase-js in all apps/packages.
* Bump supabase/ssr to 0.7.0.
* Fix edge cases for the infinite query hook.
* Remove extra packages, they're covered under the next rule.
---------
Co-authored-by: mandarini <6603745+mandarini@users.noreply.github.com>
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
* feat: add button to all reports and basic layout
* feat: add last 24 hours indicator
* feat: add active users tile
* feat: working first row of usage stats
* feat: add basic report charts for sign in and sign up
* fix: change prev number to difference from before
* feat: pass time range to view all reports link
* fix: get static numbers to show
* fix: type error
* fix: exclude admin users from active users
* fix: revert change as number stopped working
* feat: testing latest sign ups table
* chore: remove table redoing
* feat: testing with renderers
* feat: revert back to reportchartv2
* feat: make sure sign up and sign in charts are bar by default
* fix: class name for default difference num
* chore: bit of clean up
* chore: tidy up constants file
* chore: remove unused auth renderers
* feat: single query instead of multiple tiny ones
* fix: query fetching
* feat: simplify how the query does averages
* nit: small css bits
* Midway
* Add projects-infinite-query and remove use projects query in account audit logs
* Remove useProjectsQuery from RouteValidationWrapper
* Remove useProjectsQuery from OrganizationCard
* Remove useProjectsQuery in new project page
* Deprecate useProjectByRefQuery, replace all usage with just useProjectDetailQuery
* Remove useProjectsQuery from Organization Audit logs
* Fix check
* Remove useProjectsQuery from organization usage page
* Add comment
* Midway
* Add projects-infinite-query and remove use projects query in account audit logs
* Remove useProjectsQuery from RouteValidationWrapper
* Remove useProjectsQuery from OrganizationCard
* Remove useProjectsQuery in new project page
* Deprecate useProjectByRefQuery, replace all usage with just useProjectDetailQuery
* Remove useProjectsQuery from Organization Audit logs
* Fix check
* chore: separate interfaces per bucket type
* chore: reuse existing bucket creation modal for files
* chore: allow external trigger for new bucket modal
* chore: minor fixes
* chore: full-size empty state
* chore: files other tabs
* fix: show tab bar when on file subroute
* chore: use existing table component to list buckets
* fix: tests
* fix: build error
* chore: remove future bucket type components from PR
* fix: dependency
* Couple of refactors to simplify implementation
* Fix TS
* chore: move s3 settings out to sidebar
* fix: minor nits
* fix: reuse existing loading spinners from schema visualiser
* fix: loading for files
* fix: prevent loading of table for zero buckets
* chore: improved loading state
* chore: shimmer on table
* chore: copywriting on S3
* chore: improve empty states
* fix: deprecated input instructions
* fix: filter/search bucket table
* chore: tidy
* fix: tests
* first commit
* improve documentation and fix icon build error
* change svg kebab case to camel case for React
* copy nits
* fix svg codeblock color
* add bucket (normal) icon
* add bucket icon to policies
* add bucket icon to other storage bucket surfaces
* fix spacing on empty state
* fix inconsistent icons in home sections
Make 1:1 with what we have in the sidebar with optically-correct strokeWidth.
* fix icons
Like the previous commit, this makes sure we use the same product icons as in the sidebar.
* clearer bucket add icon naming
* remove unused layouts
* fix naming collision
* Tinnnnyyy nit
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Use getClaims instead of getUser which avoids a network call to GoTrue to validate the user in case of asymmetric keys - this shaves off a good amount of latency for every API call.
* Build the current registry.
* Export the blocks as JSON and import them into registry.json.
* Move the registry.json into public/r.
* Fix a prettier error.
* Clean up extra files in vue blocks.
* Bump shadcn.
* Readd shadcn to vue blocks.
* Fix the shadcn types.
* Remove extra package exclusions.
* basic StorageBucketResponse items in table
* basic bucket file explorer
* policy count for each bucket
* don't show root folder on explorer
It's confusing in the new surrounding UI
* fix height for StorageExplorer
* reuse existing header
* fix overrides
* fix additional overrides
* improve table columns
* clarify copywriting and remove redundancy
* organise imports
* minor clean up
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* fix: add custom message for 404 storage config errors
Added a specific error message "Storage configuration not found." when
the storage config API returns a 404 error code.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Add comment
* Nit improve error handling for S3 connection UI
---------
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* fix: only show "Authentication" note for hosted platform
* fix: platform/project selector wrapping for small screens
* fix: disable contentEditable on codeblock to hide system spellcheck
* feat: standalone codeblock for mcpUrl
* fix: use <Portal> for client select popover to improve scrollIntoView behavior
* feat: remove "Other" client option
* feat: tooltip specifying MCP transport / auth requirements
* feat: update auth tooltip copy, only show for hosted platform
* docs: remove old local Supabase MCP instructions
* feat: improve description on docs feature group
---------
Co-authored-by: Greg Richardson <greg.nmr@gmail.com>
* feat: add `crypto-js`, `encryptString` with sample key
* feat: include POSTGRES_PASSWORD in generated .env.test
* feat: include POSTGRES_PASSWORD in turbo.json for studio
* feat: read only query support
* feat: configurable `POSTGRES_HOST`, `POSTGRES_DB`, `POSTGRES_PORT`
* chore: rename POSTGRES_USER to clarify write permission
* feat: configurable `PG_META_CRYPTO_KEY`
* chore: add `PG_META_CRYPTO_KEY` to generateLocalEnv
* feat: add 'postgres-meta' to linter dictionary
* feat: restore read-only toggle in local MCP URL builder
* Use MultiSelectV2 component for Data API settings -> extra search path
* Add sanitization
* Remove console.log.
* Fix prettier.
---------
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
- Increase cache time of usage to 60m
- Ensure org is fully loaded before rendering invoice breakdown (this currently leads to starting to load this endpoint and then cancelling it when directly landing on the org billing page)
* Add callout for migration
* Update copy
* Update date
* remove docs button
* Fix conditional - storage upgrade prompt should only show if list v2 is false