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

supabase / supabase-flutter / 39972307761 / 7
93%
main: 93%

Build:
DEFAULT BRANCH: main
Ran 23 Oct 2026 02:52PM UTC
Files 9
Run time 1s
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

23 Oct 2026 02:45PM UTC coverage: 92.308%. Remained the same
39972307761.7

push

github

web-flow
feat(functions)!: response headers, a region type, consistent naming and errors that stay in FunctionsException (#2031)

Resolves
[SDK-2350](https://linear.app/supabase/issue/SDK-2350/featfunctions-response-headers-a-region-enum-consistent-naming-and).

## Breaking changes

- **Naming.** `FunctionException` is now `FunctionsException` and
`FunctionResponse` is now `FunctionsResponse`, so every public type
shares the `Functions` prefix of `FunctionsClient`,
`FunctionsApiException`, `FunctionsFetchException` and
`FunctionsRelayException`.
- **Response headers.** `FunctionsResponse.headers` exposes the response
headers, on streamed responses too.
- **Region.** `region` on `invoke()`, `FunctionsClient` and
`FunctionsClientOptions` takes a `FunctionsRegion` instead of a
`String`. It has one constant per region that supabase-js
`FunctionRegion` lists, `FunctionsRegion.any`,
`FunctionsRegion.custom('...')` for regions that have no constant yet,
and `FunctionsRegion.values`. It is an extension type over `String`,
because a Dart enum cannot hold a custom value. A raw string no longer
compiles, so typos cannot reach the server.

## Fixes

- **Query parameters.** `queryParameters` is now `Map<String, Object?>`,
so `Map<String, dynamic>` still works. Values are sent as `toString()`,
a `DateTime` in ISO 8601, an `Iterable` as one parameter per element,
and `null` is dropped. Before, `{'page': 2}` threw a `_TypeError`.
- **JSON decoding.** `application/json` and every `+json` type
(`application/problem+json`, `application/vnd.api+json`, and so on) are
decoded, on both success and error responses. An empty JSON body is
`null` instead of `""`.
- **Errors stay in `FunctionsException`.** A body the codec cannot
encode, and a multipart `body` that is not a map of strings, now throw a
`FunctionsFetchException` before anything is sent. Before, release
builds got a `JsonUnsupportedObjectError` or a cast `TypeError`. A
successful response whose body is not valid JSON or UTF... (continued)

396 of 429 relevant lines covered (92.31%)

2.67 hits per line

Source Files on job supabase_test - 39972307761.7
  • Tree
  • List 9
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 39972307761
  • 48bb86ad on github
  • Prev Job for on main (#39969092550.4)
  • Next Job for on main (#39974612774.)
  • 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