Представляем единый SDK Supabase .NET

Источник: Supabase•

Представляем единый SDK Supabase .NET

Библиотеки Supabase .NET перенесены в один репозиторий с единым номером версии.

Вышла новейшая мажорная версия нашего .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. Мы с нетерпением ждем ваших отзывов.

О чём эта статья

Ещё в разделе «Разработка ПО»

Все →

Ещё от Supabase