• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / supabase-swift / 35244250305
89%

Build:
DEFAULT BRANCH: main
Ran 17 Sep 2026 04:13PM UTC
Jobs 1
Files 136
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

17 Sep 2026 04:03PM UTC coverage: 89.417% (+0.06%) from 89.361%
35244250305

push

github

web-flow
refactor!: align the public API with the Swift API Design Guidelines (#1355)

Four groups of renames across Auth, Storage and Realtime. Every wire format
is unchanged — only Swift spellings move.

- Twelve `get`-prefixed accessors drop the prefix, since a method with no
  side effects reads as a noun phrase. `getIndex(_:)` is the exception: it
  becomes `indexDetails(_:)`, because `VectorBucketClient.index(_:)` already
  returns a `VectorIndexClient` handle and a second `index(_:)` returning a
  `VectorIndex` would make `try await bucket.index("x")` ambiguous.
- Argument labels that repeat the noun already in the method name become
  `id:` (`deleteClient(clientId:)` -> `deleteClient(id:)`). `deletePasskey`
  also swaps its parameters so the thing being deleted comes first.
- Boolean properties read as assertions: `upsert` -> `shouldUpsert`,
  `useNewHostname` -> `usesNewHostname`, `allowExpired` -> `allowsExpired`,
  `autoRefreshToken` -> `automaticallyRefreshesToken`, `emailConfirm` /
  `phoneConfirm` -> `confirmsEmail` / `confirmsPhone`.
- Abbreviations expand: `RealtimeClientOptions.vsn` -> `protocolVersion`,
  `User.aud` -> `User.audience`. `User` gains an explicit `CodingKeys`
  mapping `audience` back to `"aud"`, so the encoded shape is byte-identical
  to v2's.

Two items from SDK-1805 are deliberately left alone:

`head:` on `select`/`rpc` names the HTTP method the request switches to
rather than asserting a state, so the assertion rule doesn't apply.

`JWTClaims.aud` stays. That type is a direct RFC 7519 claims bag whose
fields are all registered abbreviations — `iss`, `sub`, `exp`, `iat`, `nbf`,
`jti` — and spelling out exactly one of them is less consistent, not more.

No `@available(*, deprecated, renamed:)` shims: `Sources/` has never carried
one, and `main` is the v3 line, so this lands as a documented break like the
54 sections already in V3_MIGRATION.md.

BREAKING CHANGE: `get`-prefixed accessors, identifier argument labels,
boolean pr... (continued)

62 of 67 new or added lines in 20 files covered. (92.54%)

1 existing line in 1 file now uncovered.

10722 of 11991 relevant lines covered (89.42%)

895615.37 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
90.55
0.0% Sources/Auth/AuthClient.swift
1
79.86
0.0% Sources/RealtimeV2/RealtimeChannelV2.swift
1
88.9
0.0% Sources/RealtimeV2/RealtimeClientV2.swift
1
52.0
0.0% Sources/RealtimeV2/Types.swift

Coverage Regressions

Lines Coverage ∆ File
1
96.32
0.0% Sources/Auth/AuthAdmin.swift
Jobs
ID Job ID Ran Files Coverage
1 35244250305.1 17 Sep 2026 04:13PM UTC 136
89.42
GitHub Action Run
Source Files on build 35244250305
  • Tree
  • List 136
  • Changed 26
  • Source Changed 26
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #35244250305
  • 5beafd9a on github
  • Prev Build on main (#35244197659)
  • Next Build on main (#35248587929)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc