Вышла новейшая мажорная версия нашего .NET SDK — v8! Она объединяет все пакеты Supabase .NET в одном репозитории с единым номером версии и предоставляет новое расширение для внедрения зависимостей (dependency injection).
Это первый релиз, в котором все пакеты поставляются вместе, поэтому вот чего стоит ожидать.
До сих пор пакеты были разбросаны по нескольким репозиториям, каждый из которых имел свою версию и жизненный цикл. Gotrue был на версии v6.x.x, Realtime — на v7.x.x, в то время как основной пакет был на v1.x.x.
Начиная с версии v8.0.0, все пакеты имеют одинаковый номер версии. Gotrue, PostgREST, Realtime, Storage, Functions и основной пакет supabase выпускаются одновременно. Когда вы видите версию, вы точно знаете, с какими пакетами и зависимостями она сочетается. Для вас это значительно упрощает обновление.
Переход с v1.x.x на v8.0.0 за один раз — это довольно большой и необычный скачок. Это был наш единственный вариант гарантировать синхронизированное версионирование: v8.0.0 стала первым доступным мажорным обновлением, когда Realtime уже был на версии v7.x.x. Это цена, которую нам пришлось заплатить только один раз.
Теперь все пакеты находятся в одном репозитории: supabase-community/supabase-csharp. Это упрощает всё (особенно работу, затрагивающую несколько пакетов), будь то внесение вкладов, поддержка или релизы.
Предыдущие репозитории по-прежнему доступны, но они были архивированы и теперь доступны только для чтения. Они также были удалены с нашей страницы сообщества.
Новый пакет Supabase.Extensions.DependencyInjection (доступен на NuGet) регистрирует клиент Supabase в контейнере служб .NET и позволяет IHttpClientFactory управлять его HttpClient. Если вы используете ASP.NET Core, это лучший способ зарегистрировать Supabase в вашем приложении.
Этот пакет также следует принципу синхронизированного версионирования и поэтому также начинается с версии v8.0.0.
Этого не хватило на целый раздел, но об этом стоит упомянуть:
- Вся сериализация теперь обрабатывается с помощью System.Text.Json вместо Newtonsoft.Json.
- Повторные попытки с экспоненциальной задержкой (retry with backoff) встроены в каждый пакет службы и поддаются настройке.
- Клиент также принимает как публичные, так и секретные ключи API.
- Все пакеты ориентированы на netstandard2.1. Если вы использовали основной пакет, вы уже работали с ним, поэтому ничего не меняется.
Поскольку v8.0.0 является мажорной версией, ожидаются критические изменения. Мы написали руководство по миграции, чтобы помочь вам обновиться. Оно охватывает все критические изменения, с которыми вы можете столкнуться, и способы их устранения.
Полный список изменений смотрите в примечаниях к выпуску.
Обновите свои пакеты до v8.0.0 и дайте нам знать, как всё прошло, на GitHub. Мы с нетерпением ждем ваших отзывов.












