The Wire · Showcase
CLI GLOB PARSER FIXED, SWIFT REALTIME AND STORAGE GET STABILITY PATCHES
By RepoJournal · Filed · About Supabase
Supabase CLI shipped a breaking glob-matching fix that aligns legacy seed patterns with Go's path.Match behavior, while Swift clients gain critical resilience improvements for realtime subscriptions and storage operations.
The CLI's character-class negation bug [1] was causing `[!a].sql` patterns to behave differently in the legacy TypeScript port than in the Go implementation - a mismatch that could silently include or exclude seed files during migrations. This ships alongside two other CLI fixes: global choice flags now report their actual values in telemetry [2] instead of being redacted, and the vendored effect CLI no longer double-prints errors on parse failures [3]. On the Swift side, realtime channels now properly reset their state when receiving a `phx_error` frame [4], fixing a critical bug where dead channels would stay marked as `.subscribed` and observers would hang indefinitely waiting for events. Storage got its own fix [5]: leading slashes in object paths are now stripped before building request URLs, eliminating the double-slash bug that broke operations like `download(path: "/a.png")`. Studio added comprehensive MSW tests for the project creation flow [6], surfacing and fixing an empty-region submit bug in the process. All three repos also picked up dependency bumps and Sentry instrumentation hardening [7] to improve production visibility.
Action items
- → Deploy CLI 1.x immediately if using db.seed glob patterns or db reset with glob filtering supabase/cli [immediate]
- → Update supabase-swift to latest if relying on realtime subscriptions or storage downloads with paths supabase/supabase-swift [plan]
- → Review seed migration patterns for any `[!...]` character classes after upgrading CLI supabase/cli [plan]
- → Monitor Sentry for API errors now being captured upstream in Studio supabase/supabase [monitor]
References
- [1] fix(cli): match Go path.Match character-class negation in legacy seed globbing (#5856) supabase/cli
- [2] fix(cli): exempt global choice flags from telemetry redaction (Go isEnumFlag parity) (#5855) supabase/cli
- [3] fix(cli): suppress vendored effect CLI's stdout help-dump and duplicate error on parse failures (CLI-1901) (#5844) supabase/cli
- [4] fix(realtime): reset channel state on phx_error ↗ supabase/supabase-swift
- [5] fix(storage): strip leading slash from object paths ↗ supabase/supabase-swift
- [6] test(studio): add MSW tests for project creation flow (#47790) supabase/supabase
- [7] Add sentry capture exception to apiWrapper ↗ supabase/supabase