TDB Documentation portal logo
Помощь
Обновлена 18 сентября 2026 г. в 14:35

Журнал изменений

В этом документе содержится хронологически упорядоченный список изменений, внесенных в Tarantool DB. Формат журнала изменений основан на документе Keep a Changelog, а версионирование следует правилам Semantic Versioning.

Список версий Tarantool DB:

[1.2.7] - 2026-09-18

Обновления Tarantool DB

Обновления SDK и модулей

В этом релизе SDK обновлены версии модулей cartridge, metrics, vshard, а также утилиты tt CLI EE.

tt CLI EE 2.12.0 → 2.13.0

Добавлено:

  • Команда tt cluster worker publish для публикации (загрузки) конфигурации узла-обработчика в etcd или TbCS.
  • Команда tt cluster worker show для вывода конфигурации узла-обработчика, которая хранится в etcd или TbCS.
  • Команда tt cluster worker delete для удаления конфигурации узла-обработчика из etcd или TbCS.

Исправлено:

  • Ошибка парсинга CSV-файлов, при которой возникало сообщение can't parse any to map or array, если данные не соответствовали ожидаемому формату.
  • Ошибка в tt start, из-за которой не выводилось сообщение при недостаточных правах доступа к директиве var.

Cartridge 2.17.0 → 2.18.1

Добавлено:

  • Опция --vshard-bootstrap-timeout (переменная окружения TARANTOOL_VSHARD_BOOTSTRAP_TIMEOUT) для роли vshard-router, позволяющая настроить время ожидания для операции bootstrap в vshard. Значение по умолчанию в 10 секунд сохранено, однако его может быть недостаточно для распределения сегментов по узлам хранилища на медленных CI-раннерах.
  • Необязательный аргумент timeout для методов cartridge.test-helpers.Cluster:start, cartridge.test-helpers.Cluster:bootstrap и cartridge.test-helpers.Cluster:bootstrap_vshard, позволяющий увеличить время ожидания HTTP-запроса для операции bootstrap.

Изменено:

Обновлены зависимости:

  • membership с версии 2.5.3 до 2.5.4 (исправлена ошибка, из-за которой данные участника могли безвозвратно теряться после вызова leave() и последующего повторного присоединения).
  • vshard с версии 0.1.40 до 0.1.42 (см. изменения в vshard 0.1.40 → 0.1.42);
  • checks с версии 3.4.0 до 3.4.1 (добавлены аннотации EmmyLua).
  • http с версии 1.9.0 до 1.9.1 (в релиз включены исправления инфраструктуры, которые не меняют поведение модуля).

Исправлено:

  • Проблема, приводящая к состоянию гонки при завершении работы экземпляра, из-за которой membership.leave() мог выполняться до остановки ролей, вызывая ошибки.
  • Когда метод box.ctl.promote() возвращает ошибку ER_INTERFERING_PROMOTE во время срабатывания аварийного переключения, повторная попытка box.ctl.promote() выполняется 3 раза с задержкой в 1 секунду, чтобы новый мастер-узел не застрял в режиме только для чтения.

crud 1.7.4 → 1.7.6

Добавлено:

  • В системные спейсы crud.schema добавлен спейс _recovery_point, представленный в предстоящей версии Tarantool 3.8.
  • Метод crud_locate() — позволяет определить, в каком движке (memtx или vinyl) находится кортеж по первичному ключу. Работает только при использовании модуля cooler.
  • Поддержка опций mode, balance, prefer_replica и request_timeout в методе crud.len() .

Изменено:

Обновлена зависимость vshard до версии 0.1.42 (см. изменения в vshard 0.1.40 → 0.1.42).

Исправлено:

  • Исправлена ошибка нарушения согласованности во время перебалансировки: запрос мог быть повторен на хранилище, которое еще не владело сегментом, поэтому чтение не возвращало данных, а данные при записи попадали в неправильный набор реплик.
  • Исправлено повторное выполнение запросов: теперь запрос повторяется только в том случае, если роутер восстановился после ошибки, и повторная попытка никогда не превышает исходное время ожидания — раньше запрос мог занять в два раза больше времени, чем запрашивалось.
  • Операции чтения (get, select, pairs, count, min, max) теперь могут выполняться через работоспособные реплики, когда все мастер-узлы кластера недоступны.
  • Добавлена метрика tnt_crud_storage_nil_bucket_id_compat_total для отслеживания операций, выполненных без bucket_ref в режиме совместимости со старыми роутерами.
  • Обеспечена совместимость с роутерами версий ниже 1.7.0, когда в запросах get, update и delete нулевой bucket_id. Теперь хранилище пропускает обращение к сегментам и регистрирует предупреждение об ограничении скорости обработки данных, указывающее на снижение безопасности перебалансировки во обновления без простоя.

metrics 1.7.0 → 1.8.3

Добавлено:

  • Фильтрация пользовательских метрик на основе селекторов. Методы metrics.namespace() и metrics.set_filter() используются для пометки пользовательских сборщиков/коллбэков селекторами и их фильтрации во время сбора данных.

Исправлено:

  • Для config_metrics_test системные оповещения отключаются только при наличии опции config.checks (вместо проверки версии Tarantool), благодаря чему тест проходит на любой версии Tarantool 3.x.
  • Ошибка в metrics.cfg{exclude = {'all'}}, из-за которой пользовательские селекторы метрик исключались в дополнение к встроенным группам метрик.

migrations 1.1.0 → 1.2.1

Добавлено:

  • Вспомогательная функция drop_sharding_key() для очистки системного спейса _ddl_sharding_key после удаления сегмента.
  • Вспомогательные функции (register|drop)_sharding_func().
  • Примечание в файле README о том, что вызов register_sharding_key() необходим при создании шардированного спейса.

Исправлено:

  • До этой версии, когда у набора реплик не было работоспособного кандидата на роль лидера (т.е. лидер в наборе реплик был отключен, неактивен или еще не избран при автоматическом восстановления после отказа в режиме stateful), метод migrator.up() молча пропускал этот шаг и сообщал об успешном завершении. Теперь перед миграцией у каждого набора реплик проверяется наличие работоспособного кандидата на роль лидера. Если у набора реплик еще нет активного лидера или его лидер неработоспособен, процесс завершается с ошибкой, чтобы вызывающая сторона могла дождаться появления лидера и повторить попытку.ё

vshard 0.1.40 → 0.1.42

Версия 0.1.42 полностью совместима с предыдущими версиями vshard.

Добавлено:

  • Бэкенд для менеджера точек восстановления Tarantool: бэкенд vshard-router. Он позволяет менеджеру периодически создавать согласованные с кластером точки восстановления, которые впоследствии можно использовать для резервного копирования и восстановления всего кластера vshard на определенный момент времени. Новый публичный метод роутера vshard.router.create_cluster_recovery_point() создает точку восстановления на мастер-узле в каждом наборе реплик.
  • Опция конфигурации хранилища rebalancer_bucket_send_timeout. Опция задает время ожидания в секундах для отправки одного сегмента во время перебалансировки. Это можно использовать для ограничения времени, в течение которого сегмент может быть недоступен для записи во время его отправки.
  • Улучшен выбор сегментов балансировщика: теперь балансировщик предпочитает сегменты, в которых нет активных запросов на чтение и запись (RW).

Исправлено:

  • Ошибка, из-за которой могли появляться дубли активных сегментов из-за задержки stray-пакетов TCP.
  • Ошибка, из-за которой запросы на чтение и запись могли нарушить репликацию после переключения мастер-узла во время перебалансировки.
  • Ошибка, при которой переключения мастер-узла во время ребалансировки могли привести к появлению дублей активных сегментов.

Tarantool Clusters Federations (TCF) 0.11.3 → 0.13.0

Добавлено:

  • Межкластерные репликаторы поддерживают репликацию спейсов, использующих движок vinyl.
  • Рекомендации по настройке etcd для ограничения роста базы и описание применения etcdctl defrag.
  • Рекомендации для хранилища на основе Tarantool по настройке контрольных точек/снимков для ограничения роста xlog.
  • bucket_map_cache_ttl — поле в конфигурации Destination, позволяющее настраивать время жизни кэша карты сегментов (bucket map) в роутере.
  • router_quorum и storage_quorum_per_replicaset — новые параметры в конфигурации TCF-координатора, позволяющие настраивать кворумы для маршрутизации и хранения.

Изменено:

  • Убраны избыточные операции удаления и создания блокировок в хранилище состояния.
  • Обновление блокировок репликаторов в хранилище состояния теперь осуществляется через механизм keepalive, а не через выдачу новой аренды (lease).
  • Кеширование карты сегментов в роутере. По умолчанию время жизни кэша — 10 секунд.

Исправлено:

  • Исправлен возможный сбой типа split-brain в репликации внутри кластера, вызванный смешиванием синхронных DML с асинхронными обновлениями состояния CDC из событий heartbeat.
  • Исправлен запуск шардированной группы с несколькими экземплярами gateway: ранее группа экземпляров не стартовала без префикса хранилища состояния (state provider).
  • В конфигурации etcd для репликаторов больше не требуется указывать схему в адресе хоста (например, http:// или https://).
  • Возможный бесконечный цикл при обработке пользовательских ограничений.
  • Ложные предупреждения при захвате флага /coordinator/lock. Предупреждения стали более информативными и не вводят в заблуждение.
  • Избыточный запрос на получение UUID набора реплик при подключении репликаторов к хранилищу конфигурации на основе Tarantool.

Узнать больше можно в документации TCF, в разделах TCF 0.13.x, TCF 0.12.x и Журнал изменений.

[1.2.6] - 2026-05-04

  • Добавлен адрес обработчика запросов (endpoint) для перевода спейсов в синхронный режим.
  • SDK обновлен до версии 2.11.9-0-r708.
  • TCF обновлен до версии 0.11.3.
  • Docker-образ обновлён на базе RedOS 7.3.6.
  • Обновлены модули:
    • cartridge 2.17.0;
    • cartridge-metrics-role 0.1.3;
    • crud 1.7.4;
    • dictionary 2.3.5;
    • expirationd 1.7.0;
    • metrics 1.7.0;
    • vshard 0.1.40.

[1.2.5] - 2025-09-01

  • Обновлены модули:
    • cartridge 2.16.3;
    • metrics 1.5.0;
    • migrations 1.1.0;
    • vshard 0.1.36.

[1.2.4] - 2025-07-21

  • Доработана документация:
    • Добавлен документ по настройке stateful failover с etcd.
  • SDK обновлен до версии 2.11.7-0-r691.
  • Обновлены модули:
    • cartridge 2.16.2;
    • crud-ee 1.7.4;
    • metrics 1.4.0;
    • tcf-cartridge-role 0.9.0;
    • vshard-ee 0.1.34.

[1.2.3] - 2025-04-28

  • SDK обновлен до версии gc64-2.11.6-0-r680.
  • Обновлены модули:
    • cartridge 2.15.2;
    • dictionary 2.3.4;
    • migrations-ee 1.3.1;
    • tcf-cartridge-role 0.7.0;
    • vshard-ee 0.1.32.
  • Docker-образ переведён на RedOS 7.3.5 Murom.
  • Доработана документация:
    • Изменён формат поставки документации с Markdown на PDF.

[1.2.2] - 2024-10-25

  • Добавлена поддержка операционной системы "Мос.ОС" с версии 15.5.
  • SDK обновлен до версии 2.11.4-0-r655.
  • Обновлены модули:
    • cartridge 2.12.4;
    • crud-ee 1.7.1;
    • migrations-ee 1.3.0;
    • vshard-ee 0.1.29.

[1.2.1] - 2024-09-19

  • Добавлен скрипт генерации конфигурации кластера для Tarantool DB 2.0.
  • Обновлены модули:
    • dictionary 2.3.2.

[1.2.0] - 2024-09-04

  • В клиентской утилите bootstrap.sh теперь можно указывать имя файла topology.json.
  • Добавлен пример с модулем expirationd с универсальной функцией (expirationd_universal_func).
  • SDK обновлен до версии 2.11.3-0-r648.
  • Обновлены модули:
    • cartridge 2.12.2;
    • crud-ee 1.7.0;
    • dictionary 2.3.1;
    • metrics 1.1.0;
    • migrations-ee 1.2.0;
    • expirationd-ee 1.8.0;
    • vshard-ee 0.1.27.

[1.1.0] - 2024-06-03

Важно

Для перехода на новые миграции необходимо выполнить require('migrator').move_migrations_state() на любом узле кластера.

Узнать больше: Версия 1.1.0.

Изменения

  • SDK обновлен до версии 2.11.3-0-r633.
  • Обновлены модули:
  • Отключён модуль DDL.
  • Все утилиты теперь хранятся в папке tools, добавлены скрипты от команды техподдержки.

[1.0.0] - 2024-05-07

  • Обновлена версия TCF до 0.1.1, добавлен раздел TCF в веб-интерфейс Tarantool DB.
  • Завершён цикл тестирования релиза 1.0.
  • Доработана функция проверки здоровья кластера.

[0.8.0] - 2024-03-22

  • Доработана документация:
    • Добавлен пример на Java о работе с определенным экземпляром Tarantool DB.
    • Добавлен пример на Java о балансировщике запросов к роутерам.
    • В стенде примера на Go InfluxDB и Telegraf заменёны на Prometheus.
    • Исправлена ошибка в примере up_with_tt и доработан текст.
    • Добавлен пример стенда Tarantool DB и Tarantool Clusters Federation.
  • Доработан Makefile для публикации артефактов под архитектуру aarch64.
  • Добавлен функционал словарей (справочников).
  • Добавлена поддержка Tarantool Clusters Federation (TCF).
  • SDK обновлен до версии 2.11.2-0-r621.
  • Обновлены модули:
    • cartridge 2.9.0;
    • dictionary 1.4.0.
  • Доработан скрипт bootstrap.sh: теперь скрипт дожидается копирования исходных файлов, если процесс происходит в CI.

[0.7.1] - 2024-02-14

  • Доработана документация:
    • Обновлены разделы, касающиеся работы с утилитой TT CLI.
    • Доработаны разделы "Первые шаги" и "Добавление пользовательской логики".
    • Добавлено использование utils.check_roles_enabled в примерах.
    • Удален устаревший пример up_single, вместо него добавлен пример all_in_one.
    • Добавлен пример на Java о работе с кластером Tarantool DB через модуль CRUD.
  • Исправлена ошибка с правами в Docker-образе.
  • Добавлены интеграционные тесты для коннекторов Go и Python.
  • SDK обновлен до версии 2.11.2-0-r616.
  • Обновлены модули:
    • cartridge 2.8.5-1;
    • crud 1.4.3-1;
    • migrations 0.7.0-1;
    • luatest 1.0.1.

[0.7.0] - 2024-01-25

  • Доработана документация:
    • Добавлено описание ролей.
    • Добавлен пример на Go реализации функционала балансировщика запросов к роутерам.
    • Добавлен пример на Go о работе с кластером Tarantool DB через модуль CRUD.
    • Добавлен пример на Go о работе с определенным экземпляром Tarantool DB.
    • Добавлен пример на Go о замене автокодировщика в MsgPack на свой алгоритм.
    • Дополнен раздел для разработчиков Tarantool DB.
    • Добавлен пример создания типового приложения на Tarantool DB c изменением схемы данных (doc/examples/migrations).
    • Добавлен пример о работе с модулем отслеживания устаревания данных (expirationd).
    • Добавлен пример выполнения миграций с удалённой машины.
    • Добавлен пример выполнения миграций в CI.
    • Добавлено описание включения и отключения метрик в CRUD.
    • Добавлена документация о read view и его использовании с модулем CRUD.
    • Добавлен пример шифрования трафика.
  • SDK обновлен до версии 2.11.2-0-r609.
  • Обновлены модули:
    • cartridge 2.8.4-1;
    • crud 1.4.1-1;
    • migrations 0.6.0-1;
    • space-explorer 1.1.8-1.
  • Скрипт bootstrap-app.sh разделен на два отдельных скрипта: bootstrap.sh и migrate.sh. Скрипты переработаны: они теперь содержат retry и расширенный вывод об ошибках. Все клиентские утилиты теперь хранятся в папке client/utils. Утилиты не имеют зависимостей от Tarantool DB.
  • Признан устаревшим скрипт bootstrap-app.sh. Он будет удалён в будущих версиях Tarantool DB.
  • Добавлена документация о клиентских утилитах.
  • Изменён запуск кластера во всех примерах, где использовался скрипт bootstrap-app.sh.
  • Добавлены тесты для проверки поддержки различных CRUD-операций.
  • Добавлена роль tracing для трассировки пользовательских функций.

[0.6.1] - 2023-12-06

  • Роль tracing переименована в slow_log.
  • Обновлена документация:
    • Добавлен пример запуска и конфигурации одного экземпляра Tarantool DB с помощью Docker-контейнера.
    • Добавлен пример скрипта для конфигурации кластера bootstrap-app.sh.
    • Добавлены описание и пример запуска и конфигурации кластера с помощью Docker Compose.
    • Добавлен раздел "Конфигурация и запуск кластера локально через утилиту tt".
    • Добавлена документация о встроенном модуля логирования долгих запросов (роль slow_log).
    • Обновлены остальные разделы.
  • Кодовое имя релиза kvee заменено на название продукта tarantooldb.
  • Добавлены исправления и улучшения.

[0.5.0] - 2023-08-25

  • Tarantool EE обновлен до версии 2.11.1.
  • Обновлены модули:
    • cartridge 2.8.0;
    • cartridge-metrics-role 0.1.1;
    • crud 1.2.0.