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

Версия:

latest
Документация на русском языке
поддерживается сообществом
Журнал изменений

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

Versioning policy

Версия Tarantool Enterprise SDK состоит из двух частей:

<TARANTOOL_BASE_VERSION>-r<REVISION>

Например: 2.6.1-0-gcfe0d1a55-r362.

  • TARANTOOL_BASE_VERSION — это версия Community, на которой основана версия Enterprise.
  • REVISION is the SDK revision. Beside Tarantool itself, it includes examples, templates, and a set of rocks.

r467

Breaking changes

  • Default audit log format was changed to CSV.

Functionality added or changed

Enterprise

  • Implemented user-defined audit events. Now it’s possible to log custom messages to the audit log from Lua (gh-65).
  • [Breaking change] Switched the default audit log format to CSV. The format can be switched back to JSON using the new box.cfg.audit_format configuration option (gh-66).
  • Implemented the audit log filter. Now, it’s possible to enable logging only for a subset of all audit events using the new box.cfg.audit_filter configuration option (gh-67).

Core

  • Implement constraints and foreign keys. Now a user can create function constraints and foreign key relations (gh-6436).
  • Changed log level of some information messages from critical to info (gh-4675).
  • Added predefined system events: box.status, box.id, box.election and box.schema (gh-6260).
  • Introduced transaction isolation levels in Lua and IPROTO (gh-6930).

Vinyl

  • Disabled the deferred DELETE optimization in Vinyl to avoid possible performance degradation of secondary index reads. Now, to enable the optimization, one has to set the defer_deletes flag in space options (gh-4501).

Lua

  • Added support of console autocompletion for net.box objects stream and future (gh-6305).

Datetime

  • Parse method to allow converting string literals in extended iso-8601
    or rfc3339 formats (gh-6731).
  • The range of supported years has been extended in all parsers to cover
    fully -5879610-06-22..5879611-07-11 (gh-6731).

Build

  • Added bundling of GNU libunwind to support backtrace feature on AARCH64 architecture and distributives that don’t provide libunwind package.
  • Re-enabled backtrace feature for all RHEL distributions by default, except for AARCH64 architecture and ancient GCC versions, which lack compiler features required for backtrace (gh-4611).

Bugs fixed

Enterprise

  • Disabled audit log unless explicitly configured (gh-39). Before this change, audit events were written to stderr if box.cfg.audit_log wasn’t set. Now, audit log is disabled in this case.
  • Disabled audit logging of replicated events (gh-59). Now, replicated events (for example, user creation) are logged only on the origin, never on a replica.

Core

  • Banned DDL operations in space on_replace triggers, since they could lead to a crash (gh-6920).
  • Fixed a bug due to which all fibers created with fiber_attr_setstacksize() leaked until the thread exit. Their stacks also leaked except when fiber_set_joinable(..., true) was used.
  • Fixed a crash in mvcc connected with secondary index conflict (gh-6452).
  • Fixed a bug which resulted in wrong space count (gh-6421).
  • Select in RO transaction now reads confirmed data, like a standalone (auotcommit) select does (gh-6452).

Replication

  • Fixed potential obsolete data write in synchronious replication due to race in accessing terms while disk write operation is in progress and not yet completed.
  • Fixed replicas failing to bootstrap when master is just re-started (gh-6966).

Lua

  • Fixed the behavior of tarantool console on SIGINT. Now Ctrl+C discards the current input and prints the new prompt (gh-2717).

Triggers

  • Fixed assertion or segfault when MP_EXT received via net.box (gh-6766).
  • Now ROUND() properly support INTEGER and DECIMAL as the first argument (gh-6988).

Datetime

  • Intervals received after datetime arithmetic operations may be improperly normalized if result was negative

    tarantool> date.now() - date.now()
    ---
    - -1.000026000 seconds
    ...
    

    I.e. 2 immediately called date.now() produce very close values, whose difference should be close to 0, not 1 second (gh-6882).

Net.box

  • Changed the type of the error returned by net.box on timeout from ClientError to TimedOut (gh-6144).

r457

  • Fixed some binary protocol encryption bugs.

r422

  • Добавлен модуль (rock) space-explorer v1.1.4 без флага permanency и с меньшим размером сборки.

r421

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

  • 1.10.11-0-gf0b0e7ecf
  • 2.7.3-0-gdddf926c3
  • 2.8.2-0-gfc96d10f5

Исправлен журнал аудита.

r419

Исправлена проблема совместимости с Tarantool 2.9:

  • Добавлен модуль errors 2.2.1.
  • Модуль cartridge 2.7.0 обновлен до версии 2.7.1.

r418

r417

  • Нет заметных изменений.

r416

r415

r414

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

  • 1.10.10-52-g0df29b137
  • 2.7.2-110-g51248c7d2
  • 2.8.1-119-g1b0050564

Самое важное изменение: исправлена проблема, описанная в тикете gh-4040.

r413

  • Добавлен модуль migrations 0.4.1.

r412

  • Модуль ldap обновлен с версии 1.0.1 до 1.0.2, исправлены ошибки.

r411

r410

r409

r408

r407

  • Добавлен модуль crud 0.7.0. (Журнал изменений)
  • Добавлен модуль tuple-keydef 0.0.2. (Журнал изменений)
  • Модуль watchdog обновлен с версии 1.0.1 до 1.1.1. (Журнал изменений)
  • Модуль ldap обновлен с версии 1.0.0 до 1.0.1, исправлены ошибки.
  • Добавлен модуль space-explorer 1.1.3 с улучшенной совместимостью при перезагрузке ролей.

r406

r405

r404

r403

r402

r401

Добавлены инструменты для сбора артефактов сбоев:

  • tools/gdb.sh
  • tools/tarabrt.sh

Также перемещено расширение LuaJIT gdb:

  • tools/luajit-gdb.py

r400

r399

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

  • 1.10.10-0-gaea7ae77a
  • 2.6.3-0-gcd487a2c5
  • 2.7.2-0-g4d8c06890
  • 2.8.1-0-ge2a1ec0c2

r398

r397

r396

  • Нет заметных изменений.

r395

r394

r392

r391

r390

  • Базовая версия 2.6 обновлена до 2.6.2-124-g2c3b91439.
  • Добавлен модуль metrics 0.7.1. (Журнал изменений)
  • Добавлен модуль watchdog 1.1.0 с новой возможностью совершать дампы памяти.
  • Расширение LuaJIT gdb упаковано.

r389

  • Исправлен поиск сертификатов OpenSSL.
  • Исправлена совместимость модуля smtp (только Tarantool 2.6, 2.7).

r388

r387

  • Добавлен модуль odbc v1.0.0.

r386

r385

r384

  • Добавлен модуль cartridge v2.5.0.
  • Добавлен модуль frontend-core v7.5.0 (зависимость Cartridge).
  • Модуль luarapidxml обновлен с 2.0.1 до 2.0.2.

r383

  • Добавлен модуль luagraphqlparser v0.1.0.
  • Добавлен модуль graphql v0.1.0.

r382

r381

  • Добавлен модуль space-explorer v1.1.2 с исправленными стилями.

r380

  • Добавлен модуль metrics v0.7.0.

r376

  • Добавлен модуль migrations v0.4.0.

r375

  • Обновлены базовые версии:
    • 1.10.9-0-g720ffdd23
    • 2.5.3-0-gf93e48013
    • 2.6.2-0-g34d504d7d
    • 2.7.1-0-g3ac498c9f

r372

r371

r370

r369

  • Модуль luarapidxml обновлен с версии 2.0.0 до 2.0.1.

r368

  • Модуль migrations обновлен до версии 0.3.1.

r366

  • Модуль kafka обновлен до версии 1.3.0. Версии 1.2.0 и более ранние удалены, исправлена критическая ошибка.

r363

  • Модуль oracle обновлен с версии 1.3.0 до 1.3.2, исправлена критическая ошибка.

r360

  • Обновлены базовые версии:
    • 1.10.8-0-g2f18757b7
    • 2.4.3-0-g5180d98f1
    • 2.5.2-0-g05730d326
    • 2.6.1-0-gcfe0d1a55

1.10.6-16, 2.2.2-56, 2.3.1-143 и 2.4.2-8

Изменения:

  • Версия Tarantool 1.10 обновлена до 1.10.6-16-g4764acd68.
  • Версия Tarantool 2.2 обновлена до 2.2.2-56-g62efd9cf6.
  • Добавлена версия Tarantool 2.3 (2.3.1-143-g8124538b8).
  • Добавлена версия Tarantool 2.4 (2.4.2-8-ge56224b).
  • Утилита cartridge-cli обновлена до v2.4.0.
  • Удалены все модули cartridge-cli.
  • Обновлен модуль vshard-zookeeper.

Добавлено:

  • Модуль kafka v1.2.0.
  • Модуль task v0.8.3.
  • Модуль kafka v1.1.0.
  • Модуль vshard v0.1.15.
  • Модуль odbc v0.5.0, v0.6.4, v0.7.2, v0.7.3.
  • Модуль cartridge v2.1.2.
  • Модуль cartridge v2.2.1.
  • Модуль cartridge v2.3.0.
  • Модуль icu-date v1.3.3.
  • Модуль ddl v1.1.0.
  • Модуль errors v2.1.3.
  • Модуль errors v2.1.4.
  • Модуль frontend-core v6.5.1.
  • Модуль frontend-core v7.1.0.
  • Модуль luatest v0.5.2.
  • Модуль metrics v0.3.0.
  • Модуль metrics v0.4.0.
  • Модуль metrics v0.5.0.
  • Модуль http v2.1.0.
  • Модуль luacheck v0.26.0.
  • Модуль luacov-reporters v0.1.0 — генераторы отчетов LuaCov.
  • Модуль migrations v0.3.0.
  • Модуль checks v3.1.0.
  • Модуль crud v0.3.0.
  • Модуль cartridge-cli-extensions v1.0.0.

Удалено:

  • Модуль quickfix v1.0.0.

1.10.5-12 / 2.1.3-1 / 2.2.2-3

Дата релиза: 2020-02-07

Начиная с этого релиза, мы выпускаем сборки Enterprise на основе Tarantool Community 2.2. В этих сборках поддерживаются числовой тип decimal, многозначные (multikey) индексы, функциональные индексы, модуль key_def, частичные дампы памяти, передача формата кортежей по netbox, параллельный applier и т. д.

Изменения:

  • Базовая версия Tarantool Community обновлена до:
    • 1.10.5-15-gcfd9d54ae
    • 2.1.3-16-g7dd5910
    • 2.2.2-29-g5c8a435df
  • Модуль cartridge-cli v1.4.0: локальный запуск кластера, цветные логи, упаковка docker-образов и dev-пакетов, обновленные шаблоны и многое другое.

Добавлено:

  • Модуль cartridge-cli v1.3.2.
  • Модуль cartridge v2.0.1: значительные улучшения в работе восстановления после сбоев, общекластерные DDL-схема и редактор конфигурации, а также много мелких изменений.
  • Модуль task v0.7.1: поддержка режима шардирования, возможность указывать аргументы задач, конфигурацию по умолчанию, стратегию повторов и анонимные задачи.
  • Модуль luatest v0.5.0: сборки с автоматическим покрытием тестами, цветные логи и много мелких улучшений.
  • Модуль luatest v0.4.0.
  • Модуль ddl v1.0.0: общекластерная DDL-схема, которая используется в cartridge v2.0.0.
  • Модуль luacov v0.13.0: анализатор покрытия кода для Lua.
  • Модуль odbc v0.4.1.
  • Модуль avro-schema v3.0.4.
  • Модуль vshard v0.1.14.
  • Модуль tracing v0.1.1.
  • Модуль oracle v1.3.0.
  • Модуль watchdog v1.0.2.
  • Модуль metrics v0.1.7 и v0.1.8.
  • Модуль queue v1.0.5.
  • Модуль membership v2.2.0.

1.10.4-1 / 2.1.2-109

Дата релиза: 2019-10-23

Главные новости:

  • Фреймворк для разработки кластерных приложений (Tarantool Cartridge) стал частью Tarantool с открытым кодом. Теперь Cartridge представлен двумя модулями: cartridge (вместо модуля cluster) и cartridge-cli (вместо утилиты tarantoolapp).
  • Добавлен новый открытый модуль luacheck — статический анализатор кода для Lua, предконфигурированный под Tarantool.
  • Для всех модулей с закрытым кодом добавлена документация.
  • Обновлен дизайн веб-интерфейса администратора.

Изменения:

  • Базовая версия Tarantool Community обновлена до:
    • 1.10.4-21-g9349237
    • 2.1.2-206-g2499a73
  • Обновлен модуль vshard-zookeeper.

Добавлено:

  • Модуль quickfix v1.0.0.
  • Модуль luarapidxml v2.0.0.
  • Модуль cartridge v1.0.0 (вместо модуля cluster).
  • Модуль cartridge-cli v1.0.0-1 (вместо утилиты tarantoolapp).
  • Модуль task v0.4.0.
  • Модуль membership v2.1.2, улучшение стабильности на больших кластерах.
  • Модуль membership v2.1.4.
  • Модуль odbc v0.3.0.
  • Модуль cluster v0.10.0.
  • Модуль task v0.3.0.
  • Модуль odbc v0.4.0.
  • Модуль kafka v1.0.2.
  • Модуль frontend-core v6.0.1.
  • Модуль space-explorer v1.1.0.
  • Модуль oracle v1.2.2.
  • Модуль http v1.1.0.
  • Модуль avro-schema v3.0.3.
  • Модуль vshard v0.1.12.
  • Модуль icu-date v1.3.1.
  • Модуль luatest v0.2.2.
  • Модуль metrics v0.1.6.
  • Модуль queue v1.0.4.

Удалено:

  • Утилита tarantoolapp.

1.10.3-71 / 2.1.2-63

Дата релиза: 2019-07-12

Изменения:

  • Базовая версия Tarantool Community обновлена до:
    • 1.10.3-89-g412e943
    • 2.1.2-127-gcb2f5e4

Добавлено:

  • Шаблоны юнит-тестов и интеграционных тестов для кластера Tarantool, доступные через tarantoolctl rocks test.
  • При сборке проекта теперь можно исключать ресурсы с помощью файлов .tarantoolapp.ignore.
  • Модуль kafka v1.0.1 (коннектор Apache Kafka для Tarantool).
  • Модуль tracing v0.1.0 для отладки производительности приложения. Реализован на базе OpenTracing/Zipkin.
  • Модуль task v0.2.0 для работы с фоновыми задачами в кластерных приложениях.
  • Модуль odbc v0.1.0 (исходящий ODBC-коннектор для Tarantool).
  • Модуль luatest v0.2.0 (тестовый фреймворк для Tarantool).
  • Модуль checks v3.0.1.
  • Модуль errors v2.1.1.
  • Модуль frontend-core v5.0.2.
  • Модуль metrics v0.1.5.
  • Модуль oracle v1.1.6.
  • Модуль cluster v0.9.2 с новыми функциональными возможностями:
    • Users, новая вкладка веб-интерфейса для управления пользователями-администраторами кластера.
    • Для наборов реплик storage в одном кластере можно задавать группы (например, группы hot и cold для независимой обработки горячих и холодных данных).
    • Вспомогательные утилиты для интеграционных тестов на luatest.

Удалено:

  • Модуль cluster v0.2.0, v0.3.0.
  • Модуль oracle v1.0.0, v1.1.0.
  • Модуль vshard v0.1.5, v0.1.6.

1.10.3-29 / 2.1.2-21

Дата релиза: 2019-05-28

Начиная с этого релиза, мы выпускаем сборки Enterprise на основе Tarantool Community 2.1.

Изменения:

  • Базовая версия Tarantool Community обновлена до:
    • 2.1.2-85-g6b01fa0
    • 1.10.3-57-gd2efb0d

Добавлено:

  • Команда tarantoolapp pack теперь добавляет в упакованный проект файл VERSION.
  • Возможность задавать уровень детализации записей журнала для каждого маршрута.
  • Модуль http v0.1.6 с новой возможностью определять уровень детализации записей журнала для каждого маршрута.
  • Модуль space-explorer v1.0.2.
  • Модуль cron-parser v1.0.0.
  • Модуль argon2 v3.0.1 с алгоритмами хеширования класса PCI DSS.
  • Модуль metrics v0.1.3.
  • Модуль vshard v0.1.9.
  • Модуль oracle v1.1.5.
  • Модуль frontend-core v5.0.0, v5.0.1.
  • Модуль cluster v0.8.0 с исправленными ошибками и новыми возможностями:
    • зависимостями для ролей;
    • кластерными cookies;
    • метками для серверов.

1.10.3-5

Дата релиза: 2019-04-05

  • Базовая версия Tarantool Community обновлена до 1.10.3-6-gfbf53b9.
  • Добавлены следующие функциональные возможности:
    • Настройка приоритета восстановления после сбоев через веб-интерфейс.
    • Модуль RPC (удаленные вызовы между экземплярами кластера).
    • Space-explorer в веб-интерфейсе.
    • Клиент OpenLDAP для Tarantool.
  • При перезапуске экземпляра конфигурация теперь проверяется до инициализации ролей.
  • Обновлен дизайн веб-интерфейса.

1.10.2-41

Дата релиза: 2019-02-08

  • Базовая версия Tarantool Community обновлена до 1.10.2-131-g6f96bfe.
  • Обновлен шаблон кластера, чтобы приложение могло работать на нескольких хостах (виртуальных машинах).
  • Добавлены последние версии следующих модулей с закрытым исходным кодом: queue, front, errors, membership, cluster и oracle. Эти модули rocks включают в себя:
    • новое ядро фронтенда с косметическими изменениями;
    • индикатор активного мастера во время восстановления после сбоев;
    • возможность отключить роль vshard-storage по окончании процесса балансировки;
    • обновление зависимостей и незначительные улучшения.

1.10.2-15

Дата релиза: 2018-12-13

  • Базовая версия Tarantool Community обновлена до 1.10.2-84-g19d471bd4.
  • Обновлена сборка модуля checks.
  • В модуль cluster добавлены пользовательские API для кластерных ролей.
  • Добавлена поддержка параметра веса для наборов реплик в vshard.

1.10.2-4

Дата релиза: 2018-10-31

  • Добавлены примеры приложений, демонстрирующих запуск Tarantool в Docker и использование кэша со сквозной записью для PostgreSQL.
  • В веб-интерфейсе добавлена возможность переключать мастер в наборе реплик вручную, а также включить автоматическое восстановление после сбоев.
  • Добавлена утилита tarantoolapp, которая помогает настроить среду разработки и упаковать приложение независимо от среды разработки.

1.10.1-29

Дата релиза: 2018-10-04

  • Приложение-пример теперь кластерное, а оркестрация кластера выполняется через веб-интерфейс.
  • Релиз Tarantool Enterprise представляет собой архив. Он включает в себя автономный репозиторий, из которого можно установить все необходимые модули.
  • В репозиторий с модулями добавлен коннектор для Oracle. Теперь Lua-приложения могут получать доступ к базам данных Oracle.

1.10.1

Дата релиза: 2018-04-09

  • Теперь у Tarantool статическая сборка: все зависимости скомпонованы в статический бинарный файл. Это упрощает развертывание Tarantool в среде Linux.
  • Базовая версия Tarantool Community обновлена до 1.10.1. Описание новых возможностей и исправленных ошибок в версии Community доступно по ссылке https://github.com/tarantool/tarantool/releases.
  • Модули, необходимые для интеграции с ZooKeeper и orchestrator, объявлены устаревшими и больше не поддерживаются.