Перейти к основному содержимому

О версиях dbt Core

Релизы dbt Core следуют рекомендациям семантического версионирования. Подробнее о том, как мы используем семантические версии, см. в разделе Как dbt Core использует семантическое версионирование.

Релизные треки всегда держат вас в курсе

Знали ли вы, что всегда можете работать с последними функциями и возможностями?

С dbt Cloud вы можете получить ранний доступ к новой функциональности до того, как она станет доступна в dbt Core, и без необходимости управлять обновлениями версий. Подробности смотрите в настройке "Последний" релизный трек.

dbt Labs предоставляет различные уровни поддержки для разных версий, которые могут включать новые функции, исправления ошибок или патчи безопасности:

  • Active — Мы будем исправлять регрессии, новые ошибки и включать исправления для старых ошибок / улучшения качества жизни. Мы внедряем эти изменения, когда уверены, что они имеют узкую направленность и не вызовут непреднамеренных побочных эффектов.
  • Critical — Более новые минорные версии переводят предыдущую минорную версию в "Критическую поддержку" с ограниченными "безопасными" релизами для критических исправлений безопасности и установки.
  • End of Life — Минорные версии, достигшие конца срока службы (EOL), больше не получают новых патчей.
  • Устаревшие — Версии dbt Core старше v1.0 больше не поддерживаются dbt Labs и не поддерживаются в dbt Cloud.

Последние выпуски

dbt CoreПервоначальный выпускУровень поддержки и дата окончания
v1.99 дек, 2024 Активная поддержка — 8 дек, 2025
v1.89 мая, 2024Активная поддержка — 8 мая, 2025
v1.72 ноя, 2023
Клиенты dbt Core и dbt Cloud Developer & Team: Конец поддержки
Клиенты dbt Cloud Enterprise: Критическая поддержка до дальнейшего уведомления 1
v1.631 июл, 2023Конец поддержки ⚠️
v1.527 апр, 2023Конец поддержки ⚠️
v1.425 янв, 2023Конец поддержки ⚠️
v1.312 окт, 2022Конец поддержки ⚠️
v1.226 июл, 2022Конец поддержки ⚠️
v1.128 апр, 2022Конец поддержки ⚠️
v1.03 дек, 2021Конец поддержки ⚠️
v0.X ⛔️(Разные даты)Устарело ⛔️

Вся функциональность dbt Core, начиная с выпуска v1.7, доступна в выпускных треках dbt Cloud, которые обеспечивают автоматические обновления с частотой, подходящей для вашей команды.

1 Выпускные треки обязательны для планов Developer и Teams в dbt Cloud. Аккаунты, использующие более старые версии dbt, будут переведены на трек "Latest".

Для клиентов dbt Cloud Enterprise, dbt v1.7 будет продолжать быть доступным в качестве опции до тех пор, пока dbt Labs не объявит, что треки "Compatible" и "Extended" стали общедоступными, что планируется на март 2025 года. (В настоящее время они доступны всем подходящим аккаунтам в режиме Preview.) В это время dbt Labs настоятельно рекомендует мигрировать любые среды, которые все еще работают на более старых неподдерживаемых версиях, на выпускные треки или dbt v1.7.

Дополнительное чтение

  • Чтобы узнать, как использовать версии dbt Core в dbt Cloud, см. Выбор версии dbt Core.
  • Чтобы узнать об установке dbt Core, см. "Как установить dbt Core."
  • Чтобы ограничить ваш проект работой только с определенным диапазоном версий dbt Core или использовать текущую версию dbt Core, см. require-dbt-version и dbt_version.

Поддержка версий до v1.0

Все версии dbt Core, выпущенные до 1.0, и их документация по версиям были устаревшими. Если вы обновляетесь до текущей поддерживаемой версии, обратитесь к нашим лучшим практикам обновления.

Поддержка версий, достигших конца срока службы (EOL)

Все минорные версии dbt Core, достигшие конца срока службы (EOL), не будут иметь новых патч-релизов. Это означает, что они больше не будут получать никаких исправлений, включая известные ошибки. Исправления для этих ошибок будут сделаны в более новых минорных версиях, которые все еще находятся под активной поддержкой.

Мы рекомендуем обновиться до более новой версии в dbt Cloud или dbt Core, чтобы продолжать получать поддержку.

Все версии dbt Core v1.0 и позже доступны в dbt Cloud до дальнейшего уведомления. В будущем мы намерены согласовать доступность dbt Cloud с текущей поддержкой dbt Core. Вы получите достаточно предварительного уведомления перед любыми изменениями.

Текущая поддержка версий

Минорные версии

Минорные версии включают новые функции и возможности. Они будут поддерживаться в течение одного года с даты их первоначального выпуска. dbt Labs обязуется соблюдать этот 12-месячный срок поддержки. Наш механизм продолжения поддержки минорной версии заключается в выпуске новых патчей: небольших, целевых исправлений ошибок. Всякий раз, когда мы ссылаемся на минорную версию, такую как v1.0, мы всегда имеем в виду ее последний доступный патч-релиз (v1.0.x).

Пока минорная версия официально поддерживается:

  • Вы можете использовать ее в dbt Cloud. Подробнее о версионировании dbt Cloud см. в разделе Выбор версии dbt.
  • Вы можете выбрать ее из выпадающего списка версий на этом сайте, чтобы увидеть документацию, которая точна для использования с этой минорной версией.

Текущие патчи

В течение 12-месячного окна поддержки мы будем продолжать выпускать новые патч-версии, которые включают исправления.

Активная поддержка: В первые несколько месяцев после первоначального выпуска минорной версии мы будем выпускать патчи с исправлениями ошибок. Они будут включать исправления для регрессий и новых ошибок, которые присутствовали в оригинальном выпуске минорной версии.

Критическая поддержка: Когда доступна новая минорная версия, мы переведем предыдущую минорную версию в "Критическую поддержку". Последующие патчи для этой старой минорной версии будут только "безопасными" релизами, ограниченными критическими исправлениями, связанными с безопасностью и установкой.

После того, как минорная версия достигнет конца своего критического периода поддержки, через год после ее первоначального выпуска, новые патчи выпускаться не будут.

Будущие версии

Для получения последней информации о предстоящих релизах, включая запланированные даты выпуска и какие функции и исправления могут быть включены, обратитесь к этапам репозитория dbt-core и дорожным картам продукта.

Лучшие практики обновления

Из-за нашей новой практики версионирования мы изложили лучшие практики и ожидания для пользователей dbt по обновлению, поскольку мы продолжаем выпускать новые версии dbt Core.

Обновление до новых патч-версий

Мы ожидаем, что пользователи будут обновляться до патчей, как только они станут доступны. Когда мы говорим о "минорной версии" dbt Core, такой как v1.0, мы всегда имеем в виду последний доступный патч-релиз для этой минорной версии. Мы рекомендуем вам структурировать ваши среды разработки и производства так, чтобы вы всегда могли устанавливать последние патчи dbt-core и любых адаптеров. (Обратите внимание, что номера патчей могут отличаться между dbt-core и плагинами. См. ниже для объяснения.)

Обновление до новых минорных версий

В течение официального периода поддержки минорные версии будут оставаться доступными в dbt Cloud и в выпадающем списке версий на сайте документации. Хотя мы не ожидаем, что пользователи немедленно обновятся до новых минорных версий, как только они станут доступны, всегда будут некоторые функции и исправления, доступные только для пользователей последней минорной версии.

Пробные предварительные релизы

Все версии dbt Core доступны как предварительные релизы до окончательного выпуска. "Кандидаты на релиз" доступны для тестирования в средах, похожих на производственные, за две недели до окончательного выпуска. Для минорных версий мы также стремимся выпустить один или несколько "бета-релизов", которые включают новые функции и приглашают к обратной связи от сообщества, за 4+ недели до окончательного выпуска. Вам выгодно помочь нам тестировать предварительные релизы — нам нужна ваша помощь!

Как dbt Core использует семантическое версионирование

Как и многие программные проекты, релизы dbt Core следуют семантическому версионированию, которое определяет три типа выпусков версий.

  • Мажорные версии: На сегодняшний день у dbt Core был один мажорный выпуск: v1.0.0. Когда будет выпущена v2.0.0, она представит новые функции, и функциональность, объявленная устаревшей, перестанет работать.
  • Минорные версии, также называемые "функциональными" релизами, включают сочетание новых функций, улучшений за кулисами и изменений в существующих возможностях, которые обратимо совместимы с предыдущими минорными версиями. Они не нарушат код в вашем проекте, который полагается на документированную функциональность.
  • Патч-версии, также называемые "исправлениями ошибок" или "безопасными" релизами, включают только исправления. Эти исправления могут быть необходимы для восстановления предыдущего (документированного) поведения, исправления очевидных недостатков новых функций или предложения критических исправлений для проблем безопасности или установки. Мы тщательно подходим к тому, какие исправления включать в патч-релизы, чтобы минимизировать область изменений.

Мы стремимся избегать нарушений совместимости в минорных версиях для конечных пользователей dbt. Существуют два типа нарушений совместимости, которые могут быть включены в минорные версии:

  • Изменения в интерфейсе Python для адаптеров. Эти изменения актуальны только для разработчиков адаптеров, и они будут четко указаны в документации и примечаниях к релизу. Для получения дополнительной информации обратитесь к руководству Создание, тестирование, документирование и продвижение адаптеров.
  • Изменения в интерфейсах метаданных, включая артефакты и логирование, сигнализируемые повышением версии. Эти обновления версий могут потребовать от вас обновления внешнего кода, который зависит от этих интерфейсов, или координации обновлений между оркестрациями dbt, которые обмениваются метаданными, такими как выбор на основе состояния.

Как мы версионируем адаптеры

Когда вы используете dbt, вы используете комбинацию dbt-core и плагина адаптера, специфичного для вашей базы данных. Вы можете увидеть текущий список в Поддерживаемые платформы данных. И dbt-core, и плагины адаптеров dbt следуют семантическому версионированию.

dbt-core и плагины адаптеров используют интерфейс dbt-adapters для координации новых функций и изменений за кулисами. Новые функции адаптеров определяются в dbt-adapters (которые будет использовать dbt-core). Эти функции являются опциональными, что означает, что они влияют только на адаптеры, которые их явно реализуют. Это позволяет нам независимо выпускать адаптеры, dbt-adapters и dbt-core, не создавая проблем для пользователей.

В отличие от версий dbt-core до 1.8, номера минорных и патч-версий могут не совпадать между dbt-core и установленными вами плагинами адаптеров.

Например, вы можете обнаружить, что используете dbt-core==1.8.0 с dbt-snowflake==1.9.0. Хотя у них разные минорные версии, они все равно могут работать вместе, так как оба работают с dbt-adapters==1.8.0. Патч-релизы могут содержать важные исправления ошибок или безопасности, поэтому критически важно оставаться в курсе.

Вы можете использовать команду dbt --version, чтобы увидеть, какие версии у вас установлены:

$ dbt --version
Core:
- installed: 1.8.0
- latest: 1.8.0 - Up to date!

Plugins:
- snowflake: 1.9.0 - Up to date!

Вы можете увидеть, какая версия зарегистрированного адаптера вызывается в логах. Ниже приведен пример сообщения в файле logs/dbt.log:

[0m13:13:48.572182 [info ] [MainThread]: Registered adapter: snowflake=1.9.0

Вероятно, с тех пор стали доступны новые патчи, поэтому всегда важно проверять и убеждаться, что вы в курсе!

0