Welcome to our weekly log for the Supabase .NET SDK! 🎉
Last week, I continued building our momentum on improving the overall experience with the SDK.
I released other critical fixes, as well as some improvements:
- [Global] Fixing automated releases: The release process wasn't uniform across packages, and was also broken at places (especially on the umbrella package).
- [Global] Fixed the telemetry: The telemetry is now consistent across packages but also more detailed. This will give us more details about who our users are and how they use our products.
- [Global] Make Newtonsoft.Json 13.0.2 the ground version: We had to reduce the ground version of this dependency because of Unity 6 LTS. Indeed, Unity 6 ships with 13.0.2 and that version can't be bumped. This was locking out customers.
-
[GoTrue] Add missing OAuth2
state: We exposed a server-sidestatevalue, strengthening CSRF protection. -
[Postgrest] Reference fields incorrectly included in UPDATE and DELETE queries: The behavior was only correct for INSERT, but failing for others. All we had to do was to cover
PatchandDelete. -
[Postgrest] Fixed enums serialised as integers: To avoid breaking existing data, this is something users must opt-in with
ClientOptions.SerializeEnumsAsStrings.
I also did a lot of triage on all the repositories. Between the fixes/improvements and clearing outdated issues, 14 issues were solved/removed.
And all of this is now accessible for customers! 🎉 I published new versions for our entire SDK suite, the first one since a little while (addressing the dependency issues we mentioned in the previous post):
- Supabase v1.2.0
- Supabase.Functions v2.1.1
- Supabase.Gotrue v6.1.0
- Supabase.Postgrest v4.2.0
- Supabase.Realtime v7.2.1
- Supabase.Storage v2.4.2
- Supabase.Core v1.1.0
That being said, the current release process is quite painful. I can't wait to move to a monorepo, with a single
Releasebutton 😅 It's a mandatory move if I want to speed up the pace of releases.
This week will follow the same trajectory: fixing existing issues, release them to customers, and keep sanitizing repositories before moving towards a monorepo.
Have a a great day, and keep coding!
Top comments (3)
This is a good reminder that SDK maintenance is often less about adding flashy features and more about preserving compatibility across very different ecosystems. The Newtonsoft.Json downgrade for Unity 6 is a particularly useful example. A dependency version that looks old from a library maintainer’s perspective may still be a hard platform constraint for users. I also like that enum serialization was introduced as an opt-in behavior rather than silently changing existing payloads. The monorepo move sounds sensible, especially for coordinated releases, but I hope the migration keeps package independence where it still matters. A single release workflow is valuable, but versioning, changelogs, dependency ordering, and rollback behavior still need to remain explicit. Nice progress overall. The telemetry, release consistency, and repository cleanup work may not look glamorous, but they are exactly what makes an SDK trustworthy over time.
@merbayerp Indeed, and there's an underlying context here with an SDK that has been inactive for a while. That means fix and stabilize before chasing parity.
That context makes the priorities even clearer. After a period of inactivity, predictable releases and compatibility fixes probably create more value than quickly chasing feature parity. Once users trust that issues are being handled and packages are moving again, the monorepo and parity work will have a much stronger foundation. Stabilize first, then accelerate.