Skip to content

0.2.0 (2025-04-04)

TL;DR

– Полностью новый UI(пользовательский интерфейс). – Добавлена ​​поддержка подключений к файловой системе. – Добавлена ​​поддержка простых преобразований в процессе передачи данных: фильтрация файлов, фильтрация строк, изменение столбцов. – Добавлена ​​поддержка стратегии инкрементального чтения. – Добавлена ​​поддержка запуска передач по расписанию. – Добавлена ​​поддержка изменения ограничений ресурсов SparkSession.

Огромное спасибо Dmitry Pedchenko, Maxim Lixakov, Ilyas Gasanov, Kirill Chernikov.

Критичные изменения

  • Реализован единый формат обработки ошибок для повышения согласованности (#95)
  • Изменён формат ответа для GET /v1/groups – добавлена ​​текущая роль пользователя для каждой группы (#97)
  • Изменён формат ответа для GET /v1/groups/:id - добавлена ​​текущая роль пользователя для каждой группы (#109)
  • Теперь миграции выполняются в отдельном контейнере, а не как часть контейнера backend. (#163)
  • Удаляются записи transfers, queues и groups вместо того, чтобы отмечать их как удалённые (#168)
  • Перемещено поле type из вложенного поля connection_data в корневой уровень ответа Connection. (#169)
  • Отделен auth_data.type от типа подключения (например, postgres) и связан с типом аутентификации (например, basic). (#169)
  • Добавлено удаление записей connections вместо пометки их как удалённых (#170)
  • Используется PUT вместо PATCH для моделей Connection и Transfer (#215)
  • Возвращаются новые объекты подключения и передачи в эндпоинтах POST /v1/transfer/copy и POST /v1/connection/copy.
  • Изменен статус ответа с 200 на 204 для всех эндпоинтов DELETE.

Функции

  • Добавлен hive к известным типам (#67)
  • Разрешен поиск по группам, пользователям, подключениям, передачам, очередям (#92, #94, #99, #100, #101, #103)
  • Добавлены фильтры для подключений, пересылок и запусков (#94, #102, #106)
  • Реализован планировщик для запуска задач Celery по расписанию. Это можно сделать, установив Transfer.is_scheduled=True и Transfer.schedule="..." (выражение в стиле cron). Модель выполнения теперь имеет поле type с вариантами MANUAL и SCHEDULED. (#114)
  • Добавлен ​​эндпоинт GET v1/monitoring/metrics для предоставления базовых метрик HTTP-сервера в формате Prometheus (#121)
  • Реализован KeycloakAuthProvider для аутентификации с единым входом (SSO). (#123)
  • Реализован DummyAuthProvider для сред разработки и тестирования. (#123)
  • Добавлены схемы API для новых источников БД — Clickhouse, MSSQL, MySQL (#124, #125, #126, #160)
  • Добавлена ​​логика для обработки передач FTP, FTPS, SFTP, Samba, WebDAV (#189, #191, #192, #194)
  • Добавлены схемы API для источников файлов: SFTP, FTP, FTPS, WebDAV, Samba (#187)
  • Добавлены схемы API для форматов файлов: Excel, XML, ORC, Parquet (#140, #142, #143, #144)
  • Добавлены параметры сжатия для файлов форматов CSV, JSON, JSONLine, Excel, ORC, Parquet, XML (#159, #161)
  • Добавлены преобразования для Переводов с фильтрацией строк датафрейма (#184)
  • Добавлены преобразования для Переводов с фильтрацией столбцов датафрейма (#186)
  • Добавлены преобразования для Переводов с фильтрацией файлов (#198)
  • Добавлено поле increment_by в strategy_params (#202)
  • Реализована стратегия инкремента для передач с файловыми источниками (#209)
  • Реализована стратегия приращения для передач с источниками баз данных (#211)
  • Добавлено поле resources в Transfer. (#214)
  • Добавлено поле file_name_template в target_params (#196, #201)

Улучшения

  • Обновлена ​​модель User: теперь в нее включены поля email, first_name, middle_name и last_name (все необязательные). (#123)
  • Чтение переменной окружения SYNCMASTER__ENTRYPOINT__SUPERUSERS для повышения роли пользователей до SUPERUSER при запуске сервера. (#137)
  • Включен динамический выбор поставщика аутентификации через переменную окружения SYNCMASTER__AUTH__PROVIDER. (#123)
  • Включено параллельное чтение из источников JDBC. (#219)
  • Сброс HWM при смене стратегии с «инкрементной» на «полную». (#217)
  • Предоставление прав «только чтение» предыдущему владельцу группы при передаче права собственности (#135)

Исправление ошибок

  • Используйте Hadoop AWS magic commiter только если target передачи — S3. (#46)
  • Убедитесь, что service_name и sid являются взаимоисключающими при редактировании подключения Oracle. (#52)
  • Имя очереди уникально в пределах группы, новое поле slug уникально глобально. (#54, #119)
  • Запретите обновление типа соединения, если с этим соединением связана передача. (#55)
  • Исправлена ​​ошибка, из-за которой значение поля is_scheduled игнорировалось. (#57)
  • Группа без назначенных пользователей отсутствовала в списке групп. (#62)
  • Сбрасывать учётные данные подключения при запуске передачи. (#63)