TDG Documentation portal logo
Помощь
Обновлена 22 июня 2026 г. в 15:31

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

На этой странице находится актуальная информация о версиях Tarantool Data Grid. Формат журнала изменений основан на документе Keep a Changelog, а версионирование следует правилам Semantic Versioning.

[2.19.0] - 2025-05-29

  • Спейсы хранилища audit_log и common_log перенесены из движка memtx на движок vinyl. В отличие от memtx, vinyl хранит данные на диске и не использует оперативную память для записей сообщений в журнал. При первом запуске после обновления существующий спейс memtx автоматически переносится в vinyl в фоновом режиме; запросы на чтение при этом остаются согласованными в течение всего процесса миграции. Опции конфигурации max_msg_in_log и max_log_size теперь считаются устаревшими и выводят соответствующее предупреждение, не влияя на работу движка vinyl.

  • Добавлены операторы фильтрации != и !=CI для метода repository.find(). != исключает записи, в которых поле равно заданному в операторе значению. Оператор !=CI выполняет ту же проверку без учета регистра и принимает на вход только строку. Оба оператора являются фильтрами post-scan и могут применяться к обычным полям и составным индексам:

    – Исключить одно значениеrepository.find('Database', {{'name', '!=', 'MongoDB'}})– Исключить нулевые меткиrepository.find('Database', {{'label', '!=', nil}})– Исключение значения без учета регистраrepository.find('Database', {{'name', '!=CI', 'mongodb'}})– Составное имя индекса в сокращенном видеrepository.find('Database', {{'name_label', '!=', {'MongoDB', 'MongoDB'}}})
  • Улучшен алгоритм выбора индекса в планировщике запросов. До этого, если поля составного индекса были указаны по одному (например, {{'field1','==','a'}, {'field2','==','b'}}), в сканирование включалось только первое поле. Остальные условия при этом превращались в фильтры после сканирования и возникал риск выполнения полного сканирования. Теперь планировщик формирует самый длинный совпадающий префикс равенства для каждого потенциального индекса и выбирает тот, который имеет наибольшее покрытие полей, поэтому оба условия используются ключом сканирования.

  • Добавлена опция api-encoding для полей типов string и bytes в модели данных. Опция позволяет прозрачно кодировать и декодировать бинарные данные в API HTTP и GraphQL. Поддерживаются кодировки base64 и hex. Опция принимает на вход либо одну строку кодировки (применяемую к интерфейсам HTTP и GraphQL), либо таблицу со значениями для каждого интерфейса (http, graphql):

    {  "name": "Payload",  "type": "record",  "fields": [    {"name": "id",   "type": "string"},    {"name": "data", "type": "bytes", "api-encoding": "base64"},    {"name": "hash", "type": "string", "api-encoding": {"http": "hex", "graphql": "base64"}}  ]}
  • Добавлена проверка срока действия сертификатов для коннекторов Kafka и HTTP. TDG периодически сканирует TLS-сертификаты, заданные в конфигурации коннектора, и записывает в журнал сообщение уровня INFO или WARN, когда срок действия сертификата подходит к концу или уже истек. Проверяются параметры ssl.certificate.location, ssl.certificate.pem, ssl.ca.location, ssl.ca.pem для Kafka и параметры ca_file, ca_path для HTTP. Проверку сертификатов и сообщения об истечении срока их действия можно настроить в разделе конфигурации cert_checker:

    cert_checker:  enabled: true  interval_sec: 3600  threshold_info_days: 7  threshold_warn_days: 1

    Для сертификатов с истекшим сроком действия TDG всегда записывает предупреждение на уровне warning.

  • В веб-интерфейс добавлена вкладка Sandbox для отладки кода в окружении sandbox.

  • Исправлено восстановление планировщика задач после сбоя. Задачи, завершенные на раннере во время простоя планировщика, теперь корректно подхватываются при перезапуске - без зависания на неопределенное время или некорректного перезапуска.

  • Исправлено создание индекса по полю bytes, вызывавшее OperationError. Тип bytes теперь ведет себя как псевдоним для string.

  • SDK обновлен до версии 2.11.9-0-r709.

  • Cartridge обновлен до версии 2.17.1.

[2.18.0] - 2025-04-10

  • Добавлено больше записей в журнал аудита.

  • Добавлено имя экземпляра node в записи журнала аудита.

  • Добавлена опция params в запросы HTTP и SOAP. В примере ниже отправляется запрос на <http_output.url>?hello=world:

    connector.http_request('http_output', 'get', nil, { params = { hello = 'world' } })
  • Добавлен путь к параметрам SOAP-запроса. Путь добавляется к URL, указанному в конфигурации. Например, если адрес - example.com, а путь - /path/to/somewhere, результат будет выглядеть так: example.com/path/to/somewhere.

  • Добавлено время ожидания на стороне хранилища для журнала событий и журнала аудита:

    • для предотвращения чрезмерного использования ЦП во время сканирования без указания диапазона;
    • параметр Timeout теперь можно указать только через GraphQL API.
  • Объединены все GraphQL API для конфигурации журнала аудита. Для выполнения мутации теперь используется следующий формат:

    mutation { audit_log { config { ... } } }

    Для выполнения запроса на получание данных теперь ипользуется следующий формат:

    { audit_log { config { ... } } }
  • Все коды ответов 2xx теперь считаются успешными для output-коннекторов HTTP и SOAP.

  • Добавлен формат plain для output-коннектора HTTP:

    connector:  output:    - name: plain_http      type: http      format: plain  # Content-Type = 'text/plain;charset=UTF-8'      url: http://localhost
  • Метод repository.get теперь принимает опцию fields (как в методе repository.find).

  • Исправлено хранение смещения для коннектора Kafka, когда опция enable.auto.offset явно включена в конфигурации.

  • Отключена возможность указывать мультиключевой индекс в качестве первичного, это приводило к ошибке OperationError.

  • Отключена возможность указывать отрицательное значение search_timeout для LDAP.

  • Cartridge обновлен до версии 2.16.6.

  • SDK обновлен до версии 2.11.8-0-r707.

  • metrics обновлен до версии 1.7.0.

Sandbox

  • Добавлены методы register_callback() и unregister_callback() в модуль metrics. В целях повышения производительности количество обратных вызовов, которые может зарегистрировать пользователь, ограничено 128.
  • Добавлен модуль xml - обертка вокруг модуля luarapidxml.

Frontend

  • Улучшена сортировка/фильтрация на вкладках Repair, Failed Jobs и Output Processor.
  • Добавлен вывод информации о раннерах на вкладке Task Information.
  • Добавлена опция async для коннекторов на вкладке Test.
  • Добавлено больше настроек на вкладку Settings -> Audit Log.
  • Добавлено выпадающее меню format для Kafka на вкладке Connector.
  • Добавлена вкладка Migrations.

[2.17.0] - 2025-12-25

  • metrics обновлен до версии 1.6.2.

  • Cartridge обновлен до версии 2.16.5.

  • kafka обновлен до версии 1.6.14.

  • SDK обновлен до версии 2.11.8-0-r706.

  • Улучшено отображение записей в журнале аудита.

  • Добавлена возможность указывать опции для SOAP output-коннектора (как для HTTP-коннектора).

  • Добавлена возможность передавать раздел (partition) для Kafka producer: connector.send('to_kafka', object, {partition = 1}).

  • Добавлено время ожидания по умолчанию для SOAP and HTTP output-коннекторов (~4.5 минуты).

  • Добавлена поддержка настраиваемых параметров часового пояса.

  • Добавлена функция metrics.get_labels в sandbox, она позволяет получить метки текущего экземпляра.

  • Добавлена функция log.new(module_name) в sandbox.

  • Добавлены следующие функции журнала аудита в sandbox: audit.new(module_name), audit.verbose, audit.info, audit.warn и audit.alarm.

  • Добавлен путь к параметрам HTTP-запроса. Путь добавляется к URL, указанному в конфигурации. Например, если адрес - example.com, а путь - /path/to/somewhere, результат будет выглядеть так: example.com/path/to/somewhere. Это достигается путем использования опции [path]{.title-ref} при взаимодействии с HTTP-коннектором.

  • Добавлена библиотека uri в sandbox со следующими методами: uri.parse, uri.format, uri.escape, uri.unescape, uri.parse_many и uri.unreserved.

  • Добавлен oracle-коннектор. Как и ODBC-коннектор, его можно задать в файле конфигурации:

    oracle: - name: connection_name   username: user   password: secret   db: 127.0.0.1:1521/SOURCE_CCM   prefetch_count: 100 # optional: prefetch row count amount from Oracle   prefetch_size: 4096 # optional: memory limit for prefetching (in MB)   batch_size: 50 # optional: the size of each SELECT loop batch on exec() and cursor:fetch_all()

    После вы сможете использовать указанный коннектор в Lua-коде:

    local oracle = require('oracle')local res, err = oracle.execute('connection_name', 'INSERT INTO test(i, s) VALUES(:I, :S)', {I=1, S='Hello!'})local cursor, err = oracle.cursor('connection_name', 'SELECT a, b, c FROM table')cursor:fetch_row()cursor:fetch(fetch_size)cursor:fetch_all()cursor:fetch_first(fetch_size)cursor:fetch_last()cursor:fetch_absolute(fetch_size, offset)cursor:fetch_relative(fetch_size, offset)cursor:fetch_current(fetch_size)cursor:fetch_prior(fetch_size)cursor:get_position()cursor:ipairs()cursor:is_closed()cursor:close()
  • Исправлено неясное сообщение об ошибке фронтенда, когда часы между узлами не были синхронизированы.

  • Исправлено несколько мелких ошибок ODBC-коннектора.

  • Исправлена ошибка Transaction has been aborted by a fiber yield, когда запрос запускался с флагом skip_result.

[2.16.0] - 2025-10-23

  • Cartridge обновлен до версии 2.16.4.
  • SDK обновлен до версии 2.11.8-0-r703.
  • metrics обновлен до версии 1.6.0.
  • Улучшен макет страниц в веб-интерфейсе: увеличены интервалы и уменьшен отступ для более аккуратного вида.
  • Добавлена метрика tdg_kafka_broker_state (состояние брокера). Возможные значения метрики: INIT (1), DOWN, CONNECT, AUTH, APIVERSION_QUERY, AUTH_HANDSHAKE, UP, UPDATE (8), UNKNOWN (-1).
  • Добавлена метрика tdg_kafka_broker_source (источник брокера). Возможные значения метрики: learned (1), configured, internal, logical (4), unknown (-1).
  • Добавлена метрика tdg_kafka_cgrp_state (состояние обработчика локальной группы consumer). Возможные значения метрики: init (1), term, query-coord, wait-coord, wait-broker, wait-broker-transport, up (7), unknown (-1).
  • Добавлена метрика tdg_kafka_cgrp_join_state (состояние присоединения обработчика локальной группы consumer). Возможные значения метрики: init (1), wait-join, wait-metadata, wait-sync, wait-assign-call, wait-unassign-call, wait-unassign-to-complete, wait-incr-unassign-to-complete, steady (9), unknown (-1).
  • Добавлено логирование для отслеживания процесса миграции.
  • Исправлена ошибка при миграции, когда тип данных содержал поля по умолчанию.
  • Исправлено вводящее в заблуждение сообщение об ошибке при закрытии SMTP-коннектора.
  • Логи консоли теперь используют функционал логирования модуля из Tarantool.
  • Исправлена проблема с хранилищем, которая могла возникать при одновременных чтении и записи нескольких экземпляров - например, во время восстановления после сбоев.
  • Запрещено добавление новых ненулевых полей в существующие модели данных.
  • Опция token_name для продюсеров Kafka теперь обязательна при включенной авторизации.
  • Исправлена ошибка, при которой некоторые интерфейсы принимали некорректные строки даты и времени (datetime).

[2.15.1] - 2025-09-12

  • Исправлена ошибка, при которой последняя версия объекта пропадала во время пагинации с включенной опцией all_versions.

[2.15.0] - 2025-09-02

  • Cartridge обновлен до версии 2.16.3.

  • metrics обновлен до версии 1.5.0.

  • Добавлена подсказка с исходным временем на вкладке Audit Log.

  • Добавлено имя конкретного токена в сообщения об ошибках авторизации Kafka producer.

  • Снижена нагрузка на ЦП, возникавшая при создании роутером большого количества файберов для запросов на чтение логов, журналов аудита или очереди восстановления.

  • Исправлена опция disable_metrics для Kafka producer и consumer.

  • Исправлено логирование опций конфигурации *.password для Kafka producer и consumer.

  • Исправлено некорректное поведение при присвоении значения null непустому массиву.

  • Исправлена ошибка, при которой некоторые файлы создавались с некорректными правами доступа.

  • Исправлена ошибка с созданием сериализаторов и десериализаторов для больших моделей, которая могла привести к состоянию OperationError.

  • Исправлена ошибка connection state is ..., возникающая при попытке остановить задачу.

  • Исправлена некорректная десериализация массивов при добавлении новых полей.

  • Добавлена опция mode в секцию конфигурации gc. Возможные значения: step (по умолчанию), collect.

  • Добавлена возможность включать сжатие для полей типа Enum.

  • Добавлено API для получения размера ввода и вывода очереди восстановления:

    { repair_list_info { size } }{ output_processor { info { size } } }

[2.14.0] - 2025-07-18

  • Cartridge обновлен до версии 2.16.2.

  • metrics обновлен до версии 1.4.0.

  • expirationd обновлен до версии 1.8.0.

  • SDK обновлен до версии 2.11.7-0-r691.

  • Account provider больше не отправляет пустые запросы для обновления информации об активности пользователей и токенов.

  • Account provider теперь отправляет информацию об активности пользователей и токенов в триггере on_shutdown.

  • Исправлен доступ к заблокированным пользователям и токенам при отключенной авторизации.

  • Исправлена возможная потеря информации об активности пользователей и токенов.

  • Улучшены сообщения об ошибках:

    • Добавлена явная ошибка, если не указан routing_key.
    • Добавлена ошибка в случае, если в схеме данных указан null-литерал вместо строки "null".
  • Исправлены ошибки типов данных при объявлении сервисов. Теперь можно объявить тип в момент использования, например: a: ["null", {"name": "abc", "type": "record", "fields": [..]}].

  • Добавлена поддержка query plan при запросе через iproto repository API.

  • Добавлена опция disable_metrics для отключения метрик Kafka:

    connector:  input:    - name: kafka      type: kafka      ...      disable_metrics: true      options:        ...

[2.13.2] - 2025-05-06

  • Cartridge обновлен до версии 2.15.3.
  • kafka обновлен до версии 1.6.10.
  • Обновлены зависимости фронтенда.

[2.13.1] - 2025-04-17

  • Cartridge обновлен до версии 2.15.2.
  • Исправлена ошибка, при которой обновление записи могло изменять несвязанные поля.
  • Смягченная проверка миграции: теперь ее можно использовать для массовых обновлений данных без необходимости изменения схемы данных.

[2.13.0] - 2025-03-27

  • Добавлено логирование DML-операций при изменении ролей доступа и действий с данными.
  • Добавлена страница "Show password" для пользователей.
  • Исправлена десериализация типов Date, DateTime и Timestamp во вложенных массивах.
  • Исправлено преобразование GET-запроса в POST-запрос при использовании connector.http_request с непустым телом.
  • Cartridge обновлен до версии 2.15.1.
  • SDK обновлен до версии 2.11.6-0-r672.
  • Зарезервировано название поля cursor во избежание конфликтов с полем системного курсора.
  • Увеличена стабильность проверки запуска модуля vshard для предотвращения различных неясных ошибок.
  • Исправлена ошибка Assertion failed при использовании журнала аудита.
  • Добавлено периодическое обновление кэша данных учетных записей пользователей, токенов и прав доступа для предотвращения проблем с инвалидацией кэша.
  • Добавлено логирование потенциальных проблем в коде sandbox.

[2.12.7] - 2025-01-23

  • Исправлено несколько ошибок, связанных с менеджером учетных записей.
  • Добавлен method в output-опции подключения HTTP.
  • SDK обновлен до версии 2.11.5-0-r662.
  • Исправлено сообщение Invalid merge source, возникающее при использовании repository.pairs в случае превышения лимитов на число просканированных записей.
  • Исправлена ошибка, при которой настройки хранилища журналов игнорировались в случае восстановления после сбоев (failover).
  • Исправлена потеря обновлений при изменении вложенного массива.

[2.12.6] - 2024-11-12

  • SDK обновлен до версии 2.11.4-0-r658.
  • Расширена информация о клиенте, записываемая в журнал аудита при неудачных попытках авторизации.

[2.12.5] - 2024-10-23

  • Исправлена ошибка при попытке использования фрагментов в GraphQL-запросах.

[2.12.4] - 2024-10-22

  • Исправлена ошибка при попытке указать две выборки в GraphQL-запросе.
  • Исправлена ошибка при указании уровня логирования в аргументе командной строки или переменной окружения.

[2.12.3] - 2024-10-14

  • Исправлена возможность обновления необнуляемого элемента массива на null.
  • Убран sandboxing из функции, использующейся при миграции спейсов. Теперь можно использовать произвольные функции Lua/Tarantool.
  • Исправлена ошибка при запуске миграций в режиме dry_run.
  • Исправлена некорректная обработка спанов при включенном трейсинге при ошибке обработки объектов из Kafka.

[2.12.2] - 2024-09-24

  • Исправлена ошибка Field version nullability mismatch.

[2.12.1] - 2024-09-18

  • Cartridge обновлен до версии 2.12.4.
  • SDK обновлен до версии 2.11.4-0-r653.

[2.12.0] - 2024-08-20

  • [Breaking change] Базовый образ для сборки проекта обновлен с CentOS 7 до AlmaLinux 8. Теперь проект может не работать на более старых дистрибутивах.
  • [Breaking change] Отключено сопоставление с Lua-шаблоном при поиске содержимого сообщений журнала.
  • Удалить поле из модели данных теперь можно без запуска миграции.
  • Исправлены ошибки, возникающие при обновлении полей-массивов.
  • Kafka consumer теперь логирует offset сообщения в случае возникновения проблем.
  • Исправлена ошибка, возникающая при запуске миграций в режиме dry_run для спейсов с отключенным версионированием.
  • Cartridge обновлен до версии 2.12.3.
  • metrics обновлен до версии 1.2.0.

[2.11.5] - 2024-06-05

  • Добавлен метод connector.http_request в sandbox.
  • Добавлена подсистема событий events.
  • Исправлено разыменование nil (nil dereference) при перезагрузке конфигурации в Kafka-клиенте.
  • Исправлена обработка ошибок маршрутизации.
  • Исправлен расчет размера журнала TDG (спейса tdg_log).
  • Добавлен доступ к странице веб-интерфейса Console для пользователей с привилегией eval.
  • Cartridge обновлен до версии 2.12.0.
  • SDK обновлен до версии 2.11.3-0-r636.

[2.11.4] - 2024-04-23

  • Исправлена ошибка: account provider watcher печатал ошибку при инициализации.
  • Cartridge обновлен до версии 2.10.0.
  • expirationd обновлен до версии 1.6.0.
  • SDK обновлен до версии 2.11.3-0-r631.

[2.11.3] - 2024-04-01

  • Добавлен фильтр полей для запросов на получение данных.
  • Исправлена ошибка table is nil в обнуляемом поле записи.
  • Исправлена ошибка vshard gc при балансировке.
  • Исправлена ошибка, связанная с передачей значений cdata в метрики.
  • Исправлено использование типа [Union]{.title-ref} совместно с массивами.
  • Исправлено значение версии по умолчанию для схемы GraphQL.

[2.11.2] - 2024-03-13

  • Исправлена нумерация версий PRM-пакета.
  • Исправлено переполнение в значениях дат.
  • SDK обновлен до версии 2.11.2-0-r621.
  • Cartridge обновлен до версии 2.9.0.

[2.11.1] - 2024-02-27

  • Исправлена сборка Docker-образа.

[2.11.0] - 2024-02-26

  • [Breaking change] Изменен формат ошибок некоторых функций Repository API.
  • Добавлена возможность указания заголовков (headers) для Kafka-коннектора.
  • Исправлено некорректное отображение версии продукта при использовании Docker-образа.
  • Исправлена обработка параметра if_not_exists в repository.put_batch().
  • Исправлена неконсистентность ошибок, возвращаемых repository.put_batch().
  • SDK обновлен до версии 2.11.2-0-r616.
  • Cartridge обновлен до версии 2.8.6.

[2.10.0] - 2023-12-11

  • [Breaking change] Полностью удалена функциональность тенантов.
  • Добавлена возможность вызова repository.call_on_storage() без указания типа.
  • Исправлена некорректная сериализация массивов.
  • Исправлена обработка параметра pkey функции repository.get() при указании версии.
  • Исправлены ошибки в триггерах механизма версионирования.
  • SDK обновлен до версии 2.11.2-0-r609.

[2.9.0] - 2023-11-21

Обновления

  • SDK обновлен до версии 2.11.1-0-r605.
  • Cartridge обновлен до версии 2.8.4.
  • Обновлены зависимости web UI.

Новые возможности

  • [Breaking change] Частично удалена функциональность тенантов.
  • Добавлена опция [handler]{.title-ref} для Kafka-коннектора.
  • Добавлена обработка ошибок в Kafka-коннекторе.
  • Добавлены метрики обработчика исходящих данных.
  • Добавлена возможность использования ([require]{.title-ref}) кода из конфигурации в расширениях.

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

  • Исправлен вызов [deinit]{.title-ref} до вызова [init]{.title-ref} в роли [scheduler]{.title-ref}.
  • Исправлено отсутствие сообщений об ошибках в Kafka consumer.
  • Исправлено удаление частей конфигурации коннекторов в веб-интерфейсе.

[2.8.0] - 2023-08-30

Обновления

  • SDK обновлен до версии 2.11.1-0-r579.
  • Cartridge обновлен до версии 2.8.2.
  • expirationd обновлен до версии 1.5.0.
  • Обновлены зависимости для веб-интерфейса.

Новые возможности

  • [Breaking change] Удалены настройки тенантов из веб-интерфейса.
  • Модуль compress добавлен в sandbox.
  • Добавлены настройки Kafka consumer в sandbox: consumer_seek_partitions и consumer_metadata.
  • Добавлены настройки Kafka consumer в sandbox: consumer_pause, consumer_resume и consumer_status.
  • Добавлен параметр initial_state во входящую конфигурацию Kafka.
  • Добавлен менеджер для управления вводом Kafka с помощью флагов в etcd.
  • В сообщение Kafka consumer добавлено название коннектора.
  • Добавлены метрики для обработчика REST.
  • Для tdg_service_user добавлена возможность вызова функции box.info().
  • Добавлена поддержка алгоритма сжатия zlib для полей типов данных.

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

  • Исправлен запуск задач перед бутстрапом vshard.
  • Исправлена обработка сложных нулевых типов в сервисах.
  • Исправлена визуальная ошибка в EditDataActionForm.
  • Исправлена обработка параметра lifetime_hours=0.

[2.7.2] - 2023-07-21

  • Cartridge обновлен до версии 2.8.1.
  • Добавлены аргументы first_n_on_storage и after функций delete и update.
  • Добавлена возможность чтения данных из Kafka в простом (plain) формате.
  • Добавлена возможность повтора попытки загрузки первых N объектов из ремонтной очереди.
  • Улучшена валидация имен функций.
  • Исправлена потеря обнуляемых полей типа "массив" в возвращаемых типах сервисов.
  • Исправлено присваивание значения null через GraphQL.

[2.7.1] - 2023-06-07

  • Исправлен обход директорий в процессе распаковки конфигурации.
  • Добавлен список допустимых расширений файлов в архиве с конфигурацией.

[2.7.0] - 2023-05-30

Обновления

  • SDK обновлен до версии 2.11.0-0-r563.
  • Cartridge обновлен до версии 2.8.0.
  • metrics обновлен до версии 1.0.0.
  • kafka обновлен до версии 1.6.6.

Новые возможности

  • icu-date заменен на модуль datetime во внутренних механизмах.

  • LuaJIT переведен в режим GC64.

  • Добавлена функция repository.update_batch.

  • Добавлена функция repository.call_on_storage_batch.

  • Добавлен экспериментальный режим построения индексов в фоне. Включается опцией background_index_build.

  • Модуль clock добавлен в sandbox.

  • Добавлена возможность установки ключа (key) для отправки сообщений в kafka.

  • Watchdog выключен по умолчанию. Вместо него используется механизм fiber.slice.

  • Для HARD_LIMITS_SCANNED установлено значение unlimited. Вместо него используется механизм fiber.slice.

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

  • Запрещены union-типы с одним полем.
  • Удалены некорректные предупреждения в веб-интерфейсе при выполнении некоторых GraphQL-запросов.
  • Исправлена ошибка при передаче аргументов сервисов через REST API.
  • Исправлена ошибка при изменении union-типа на другой тип.

[2.6.9] - 2023-04-27

  • Исправлено некорректное сообщение об ошибке при валидации объединений (union).
  • Спейсы в хранилище vinyl теперь создаются только для типов со стратегией удаления cold_storage.
  • Исправлена ошибка при открытии вкладки Model до бутстрапа кластера.
  • Исправлен запуск задач до полного завершения применения конфигурации.
  • Исправлена ошибка: игнорирование изменений функций по умолчанию, используемых в модели, при загрузке конфигурации.
  • Исправлена ошибка, связанная с контекстом запроса Kafka.

[2.6.8] - 2023-04-07

Обновления

  • Cartridge обновлен до сборки (5c30d1cc).
  • expirationd обновлен до версии 1.4.0.
  • metrics обновлен до версии 0.17.0.
  • avro-schema обновлен до версии 3.1.0.
  • smtp обновлен до версии 0.0.7.
  • SDK обновлен до версии 2.10.6-0-r549.

Новые возможности

  • Добавлена поддержка aarch64 в Docker-сборки.
  • Добавлена проверка двойной индексации полей.
  • Изменено поведение кнопки Submit в компонентах Model и KeepVersionModel.
  • Добавлена проверка на положительность значения параметра jobs.max_jobs_in_parallel.

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

  • Исправлена ошибка при добавлении полей обнуляемых логических типов.
  • Исправлено возможное зависание во время локальных RPC-вызовов.
  • Исправлено падение файбера, отвечающего за запуск работ на роли Storage.

[2.6.7] - 2023-02-27

  • Обновлен Cartridge.
  • undici обновлен с версии 5.8.2 до 5.19.1.
  • SDK обновлен до версии 2.10.5-0-r543.
  • Добавлена возможность получить count для типов используя REST и GraphQL API.
  • Исправлена проблема связанная с тем, что время старта задачи могло быть позднее времени завершения.

[2.6.6] - 2023-02-20

  • SDK обновлен до версии 2.10.4-0-r538.
  • Исправлена проблема с обновлением записей при использовании массивов записей.
  • Добавлена возможность поместить набор объектов используя REST.

[2.6.5] - 2023-02-03

  • SDK обновлен до версии 2.10.4-0-r532.
  • Обновлен и улучшен модуль graphiql в WebUI.
  • Добавлена отдача контекста (yield) в функции [cleanup]{.title-ref} журнала аудита и обычного журнала.

[2.6.4] - 2022-11-16

Обновления

  • SDK обновлен до версии 2.10.4-0-r518.
  • Cartridge обновлен до сборки (f4258ae2).
  • metrics обновлен до версии 0.15.1.
  • kafka обновлен до версии 1.6.2.

Новые возможности

  • Добавлена возможность указывать в конфигурации аргументы, которые будут переданы в функцию задачи планировщика.
  • Добавлена возможность запускать задачи на конкретных экземплярах Runner, которые помечены в конфигурации метками.
  • Улучшены компоненты редактора:
    • Полнотекстовый поиск на страницах Model и Code.
    • Отображение номеров строк на страницах Model и Test.
    • Сохранение состояния страниц GraphQL и Test при переходах и обновлении страниц.
  • Имя токена теперь отображается в журнале аудита.

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

  • Исправлена невозможность использовать тип Enum в аргументах сервисов.

[2.6.3] - 2022-10-06

Обновления

  • SDK обновлен до версии 2.10.3-0-r510.

Новые возможности

  • Добавлено значение 0 ("хранить бесконечно") для lifetime_hours.
  • В пространство sandbox добавлен модуль msgpack.

[2.6.2] - 2022-09-05

Обновления

  • Cartridge обновлен до версии 2.7.6.
  • metrics обновлен до версии 0.15.0.
  • SDK обновлен до версии 2.10.2-0-gf4228cb7d-r502.

Новые возможности

  • Отображение ошибок при вызовах сервисов через IPROTO.

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

  • Исправлено некорректное отображение ошибок.

[2.5.3] - 2022-08-18

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

  • Исправлена маршрутизация запросов при использовании пагинации.
  • Исправлено некорректное предупреждение в коннекторе Kafka.
  • Исправлено присвоение для вложенных записей в repository.update.

[2.5.2] - 2022-08-12

Новые возможности

  • Добавлена поддержка заголовков Kafka во входящем коннекторе.

[2.6.1] - 2022-08-11

Новые возможности

  • Добавлен логический тип Timestamp.
  • Добавлено значение 0 ("неограниченно") для keep_version_count.
  • Добавлена поддержка параметра skip_result в repository.put и repository.put_batch.
  • Добавлена функция sandbox tonumber64.
  • Добавлена возможность задавать правила сопоставления (collations) для отдельных частей индекса.
  • Журнал аудита теперь работает на основе модуля audit из Tarantool 2.10.

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

  • Добавлена валидация для обнуляемых полей в repository.update.
  • Убрана поддержка параметра first в repository.delete.
  • Исправлена маршрутизация запросов при использовании пагинации.
  • Исправлена некорректная валидация значений полей.

[2.6.0] - 2022-06-30

Критические изменения

  • Переименованы метрики tdg_expiration в expirationd.

Новые возможности

  • Добавлена страница настроек LDAP.
  • Tarantool flightrec включен по умолчанию.
  • Реализована возможность включать компрессию для полей кортежа.
  • Добавлена поддержка заголовков Kafka во входящем коннекторе.
  • В модуль datetime среды sandbox добавлены новые функции модуля Tarantool datetime.

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

  • Исправлен ряд ошибок фронтенда.
  • Исправлено некорректное предупреждение в коннекторе Kafka.
  • Исправлено некорректное сообщение об ошибке GraphQL в журнале.
  • Файловый коннектор теперь ожидает доступности хотя бы одного экземпляра с ролью runner.
  • Исправлено присвоение для вложенных записей в repository.update.

[2.5.1] - 2022-06-30

Новые возможности

  • Добавлен столбец Config file name в таблицу Configuration Files.
  • Доступен Docker-образ с включенным режимом разработки.
  • Исправлена фильтрация по неиндексированным полям логического типа - добавлено приведение полей к нативному виду.

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

  • Значения метрик Kafka типа boolean заменены на числовые.
  • Переработана фильтрация журнала и журнала аудита.
  • Добавлена обработка ошибок в repository.put_batch.

[2.5.0] - 2022-04-25

Критические изменения

  • Теперь для журнала отладки Kafka по умолчанию настроен уровень детализации all.
  • Поле плана запроса в GraphQL изменено на _query_plan (одно нижнее подчеркивание) для соответствия спецификации GraphQL.
  • Из Kafka-коннектора и файлового коннектора удалены все строковые метрики.

Новые возможности

  • Добавлен флаг skip_result для интерфейсов update и delete (iproto, REST, graphql, repository).
  • В окно Kafka-коннектора добавлены флажки журнала событий (logger).
  • Теперь в формах создания и редактирования пользователя/токена можно фильтровать список ролей по тенантам.
  • Добавлена настройка GraphQL для проверки консьюмеров Kafka (config.kafka_check_input).
  • В REST API добавлен параметр indexed_by, позволяющий выбирать индекс для сканирования.
  • Теперь можно передавать параметры для LDAP-соединений.
  • В окно конфигурации Kafka добавлена кнопка "Test Connection".
  • Добавлена возможность загружать в конфигурацию самостоятельно определенные роли.
  • В пространство sandbox добавлены функции table.make_map и table.make_array.
  • К метрикам добавлена гистограмма просканированных и возвращенных кортежей.

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

  • Жесткие лимиты (hard limits): значение returned по умолчанию больше не равняется значению scanned.
  • В окне создания пользователя значение поля tenant по умолчанию теперь "Default".
  • В журнале событий (logger) Kafka больше нет режима отключения вывода.
  • Вместе с сообщением Kafka в обработчик теперь передаются параметры topic, key, offset и partition.
  • Теперь LDAP-пользователи, для которых указаны несколько групп, имеют доступ ко всем ролям, связанных с этими группами.
  • Доработана проверка значений поля "Expires in" в окне создания пользователя.
  • Исправлена ошибка "Cannot perform action with bucket" при вызове repository.put_batch.
  • Исправлена ошибка, которая появлялась, если среди аргументов сервис-функции были enum-значения в кодировке utf-8.
  • Теперь при неполадках с Kafka-коннектором показывается сообщение.
  • Исправлена ошибка, возникавшая при попытке доступа LDAP-пользователя к GraphQL API.
  • Удаление профиля доступа, который используется в роли, теперь не допускается.

[2.4.0] –- 2022-01-28

Обновления

  • Пакет обновлен до версии Tarantool 2.8.3-0-g01023dbc2-r442.

Новые возможности

  • Добавлены метрики IProto API.
  • В окне "Edit tenant" теперь отображаются сообщения об ошибках.
  • Теперь с LDAP можно использовать UPN без учета регистра.
  • В конфигурации Kafka-коннекторов появилась настройка enable_debug.
  • Теперь для GraphQL можно указывать параметры read, balance, mode.
  • Появилась возможность отправлять запросы к данным с помощью директивы @options.
  • Плагин auth теперь позволяет возвращать устанавливаемые пользователем заголовки и коды статуса.
  • Добавлены метрики для Kafka-коннектора.
  • Добавлены новые метрики для файлового коннектора.
  • Теперь можно настраивать логирование для Kafka-коннекторов с помощью параметра logger. Он принимает следующие значения: stderr, tdg, disable.
  • Теперь можно очистить спейсы определенного типа, передав имя этого типа в API maintenance.clear_data.
  • Завершение работы роли коннектора теперь происходит мягко (graceful shutdown).

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

  • Доработано окно "Compare configuration".
  • Стал удобнее формат метрик для REST API (/data).
  • Отключено автозаполнение в форме редактирования ролей.
  • Теперь сообщение об ошибке исчезает из окна удаления тенанта, когда ошибка исправлена.
  • Из веб-интерфейса удален параметр Kafka-коннектора ssl.key.password.
  • Исправлена проблема, из-за которой задача могла зависнуть, если некоторое время был недоступен экземпляр runner.

[2.3.0] –- 2021-10-27

Обновления

  • Cartridge обновлен до версии 2.7.3.

Новые возможности

  • Возможность настраивать время ожидания для функций map_reduce и call_on_storage.
  • Статистика времени жизни бизнес-объектов добавлена к экспортируемым метрикам.
  • Добавлена опция use_active_directory для LDAP.
  • Добавлена опция organizational_units для LDAP.

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

  • Кортежи с истекшим сроком жизни теперь не возвращаются при вызове.
  • Исправлена обработка пустых фильтров в запросах.
  • Исправлена ошибка, которая могла приводить к блокировке в нескольких подсистемах TDG.
  • Исправлено несколько ошибок, связанных с задачами и отложенными работами.
  • Исправлено присваивание массивов при обновлении данных.
  • Исправлены ошибки, связанные с подсистемой для работы с LDAP.
  • Авторизация через cookie-файлы при подключении к кластеру больше не допускается.
  • Тип null в запросах GraphQL больше не допускается.

Устаревшее название

  • Секция конфигурации "Expiration" переименована в "Versioning".

[2.2.0] –- 2021-09-29

Новые возможности

  • Добавлена поддержка ILIKE, т.е. LIKE без учета регистра.
  • LIKE и ILIKE разрешены только для строк и в явном виде запрещены для индексов.
  • При трассировке теперь сохраняется иерархия структуры фрагментов span.
  • Добавлены метрики для интерфейса управления данными REST.
  • Добавлен интерфейс GraphQL, позволяющий блокировать секции конфигурации и предотвращать их удаление.
  • API GraphQL model и expiration заменены на общий API data_type.
  • Добавлен интерфейс GraphQL для настройки метрик.

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

  • Исправлены некоторые ошибки мультитенантности.
  • Обратная итерация без курсора теперь запрещена.
  • В API model больше не допускается использовать поле namespace.

[2.1.1] –- 2021-09-01

Новые возможности

  • При обновлении объектов теперь проверяются поля типа enum.
  • Добавлена проверка input_processor.storage.type.
  • Появилась возможность добавлять несколько входов Kafka.
  • Вместо файбера TDG time_delta теперь нужно использовать параметр Cartridge issues_limits.
  • Добавлена проверка, являются ли несуществующие типы данных элементами обнуляемого массива и используются ли они в качестве аргументов/возвращаемых значений.

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

  • Исправлена обработка сценария, при котором в секции expiration указан тип, не указанный в секции types.
  • Обнуляемые элементы массивов теперь обрабатываются корректно.
  • Составные индексы, заданные по двум и более полям с логическими типами, теперь работают корректно.
  • Стало невозможно назначить разным коннекторам одинаковые имена в конфигурации.

[2.1.0] –- 2021-08-24

Выпуск первой публичной версии 2.1.0.