The Wire · Showcase
FLUTTER SDK BREAKS: DATETIME EVERYWHERE, GOTRUE DROPS LEGACY API FALLBACKS
By RepoJournal · Filed · About Supabase
Supabase Flutter ships three breaking changes at once: all timestamps are now DateTime objects, session storage moves to SharedPreferencesAsync, and GoTrue kills pre-2024 API version negotiation.
The Flutter SDK's timestamp overhaul [1] replaces raw ISO strings and Unix ints with parsed DateTime objects across Session, User, and Auth types, forcing a compile-time migration for any code reading `expiresAt`, `createdAt`, or confirmation timestamps. This ships alongside a critical session persistence fix [2] where the default storage now uses the async SharedPreferences API instead of the legacy one, preventing session loss on Windows and Linux when apps have already migrated their own code. A third breaking change [3] removes GoTrue's runtime API version sniffing and the error-parsing fallbacks it drove, cleaning up two years of compatibility shims and bringing the SDK in line with a 2024-01-01 API cutoff that's already been enforced server-side. On the platform side, the main repo ships a doc overhaul for diagnosing stuck and blocked queries [4], notebook read tools for the AI agent [5], and flips Envoy to the default API gateway in self-hosted setups now that Kong's OSS line is frozen [6]. CLI work continues its Go-to-TypeScript port with functions download [8] completed and v2 Management API namespace support added [9]. Agent skills gains a structured debugging workflow [7] that gives developers an evidence-first troubleshooting loop instead of guessing.
One email a day. Unsubscribe in one click.
Keep up with Supabase in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Pin Flutter SDK version before updating; review all DateTime field access in auth and session code supabase/supabase-flutter [immediate]
- → Test session persistence on Windows/Linux if using Supabase.initialize defaults supabase/supabase-flutter [plan]
- → Update self-hosted deployments to use Envoy as the new default gateway supabase/supabase [plan]
- → Review new query diagnostics docs for connection troubleshooting patterns supabase/supabase [monitor]
References
- [1] feat!: use DateTime for all timestamp fields ↗ supabase/supabase-flutter
- [2] fix(supabase_flutter)!: persist the session with SharedPreferencesAsync ↗ supabase/supabase-flutter
- [3] refactor(gotrue)!: drop the pre-2024-01-01 API version fallbacks ↗ supabase/supabase-flutter
- [4] Add docs for diagnosing stuck and blocked queries ↗ supabase/supabase
- [5] feat(studio): notebook read tools ↗ supabase/supabase
- [6] feat(self-hosted): envoy is the default api gateway ↗ supabase/supabase
- [7] feat(supabase): add debugging workflows to the supabase skill (#112) supabase/agent-skills
- [8] fix(cli): port functions download to native TypeScript (CLI-1963) ↗ supabase/cli
- [9] feat(api): support v2 namespace endpoints in @supabase/api ↗ supabase/cli