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

supabase / supabase-flutter / 31495823238
89%

Build:
DEFAULT BRANCH: main
Ran 11 Aug 2026 01:25PM UTC
Jobs 9
Files 99
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

11 Aug 2026 01:22PM UTC coverage: 87.362% (-0.05%) from 87.415%
31495823238

push

github

web-flow
refactor(gotrue)!: drop the pre-2024-01-01 API version fallbacks (#1685)

## What

Removes GoTrue's runtime API version negotiation and the two
error-parsing fallbacks it drove.

`GotrueFetch._handleError` used to read the `x-supabase-api-version`
response header, parse it into a timestamp, and compare it against
`2024-01-01` to decide which field carried the error code:

- `2024-01-01` or newer: read `code`
- older, or header absent: read `error_code`

If neither field produced a code, it then reconstructed
`AuthWeakPasswordException` by inspecting a bare `weak_password` object
in the body and checking its `reasons` were all strings, covering
servers old enough to predate error codes entirely.

Both paths are gone. The error code is now always read from `code`, and
`AuthWeakPasswordException` is only thrown when the server names
`weak_password` explicitly.

The client still sends `x-supabase-api-version: 2024-01-01` on every
request, it just no longer inspects what comes back. With nothing left
comparing versions, `ApiVersion` and `ApiVersions` are removed and the
header value moves to a plain `Constants.apiVersion`.

## Breaking change

gotrue now requires a GoTrue server on API version `2024-01-01` or
newer. Hosted Supabase projects have been well past this for a long
time, so in practice this only affects self-hosted setups pinned to an
older GoTrue.

Against one of those, an auth failure still throws `AuthApiException`
with the correct message and status code, but:

- `AuthException.code` is `null` instead of the value from `error_code`
- a weak password surfaces as a plain `AuthApiException` rather than
`AuthWeakPasswordException`

Upgrading the server restores both.

The public `ApiVersions` class and its `ApiVersions.v20240101` field are
removed. Nothing replaces them; they existed only to drive the
comparison above.

`MIGRATION.md` gains a section under v2 to v3, and the two `ApiVersions`
entries are dropped from `sdk-compliance.yaml`.

## No... (continued)

5 of 5 new or added lines in 1 file covered. (100.0%)

5634 of 6449 relevant lines covered (87.36%)

4.06 hits per line

Jobs
ID Job ID Ran Files Coverage
7 supabase_flutter - 31495823238.7 11 Aug 2026 01:25PM UTC 10
80.29
GitHub Action Run
8 supabase - 31495823238.8 11 Aug 2026 01:27PM UTC 13
87.19
GitHub Action Run
9 gotrue - 31495823238.9 11 Aug 2026 01:27PM UTC 27
88.02
GitHub Action Run
6 supabase_common - 31376284969.6 10 Aug 2026 09:49AM UTC 11
99.11
GitHub Action Run
2 yet_another_json_isolate - 31109618140.2 06 Aug 2026 02:14PM UTC 1
93.65
GitHub Action Run
9 realtime_client - 31377004505.9 10 Aug 2026 10:01AM UTC 11
90.19
GitHub Action Run
5 postgrest - 31377004505.5 10 Aug 2026 10:01AM UTC 10
85.71
GitHub Action Run
2 storage_client - 31376284969.2 10 Aug 2026 09:51AM UTC 13
84.54
GitHub Action Run
3 functions_client - 31376284969.3 10 Aug 2026 09:49AM UTC 3
98.86
GitHub Action Run
Source Files on build 31495823238
  • Tree
  • List 99
  • Changed 13
  • Source Changed 13
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #31495823238
  • bbf9b74b on github
  • Prev Build on main (#31377004505)
  • Next Build on main (#31509351637)
  • Delete
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