> [!CAUTION] > **Категорически не использовать в продакшене, так как это тестовая версия!!!** # Изменения (по состоянию на 26.11.2025) > [!NOTE] > * Сервер-приложений "falcot" был переименован в futriix, оболочка сервера приложений интегрирована в клиент субд futriix > * Добавлена поддержка авторизации по протоколу "JWT" через хранимые процедуры > * Добавлена поддержка выгрузка данных из субд в формате ".csv" > * Операции с транзакциями были переименованы в лаконичный вид "begin", "commit", "rollaback" > * Сокращено общее количество файлов с исходным кодом проекта с 19 до 14 за счёт объединения модулей имеющие сходный функционал > * Добавлена поддержка WAL, timestamp > * Добавлена поддержка протокола "Raft" в самом простом, базовом варианте (нет split-brain, нет кросс-датацентровых heartbeat) > * Удален режим "Standalone" - в mod.rs изменен вывод режима работы только на "cluster" > * Добавлена проверка кластера в sharding.rs - команды шардинга теперь требуют наличия как минимум 3 узлов > * Добавлена команда cluster.rebalance в lua_shell.rs для выполнения полной ребалансировки > * Расширен функционал команды "cluster.rebalance" таким образом, чтобы при её выполнении происходит ребалансировка не только созданных ранее шардов, но и созданных узлов в кластере. Расширена ребалансировка в sharding.rs - добавлена функция rebalance_nodes() для ребалансировки узлов кластера > * Обновлен конфигурационный файл - удалены упоминания standalone режима # Изменения (по состоянию на 28.11.2025) > [!IMPORTANT] **Исправленные баги** > * В Транзакциях - В методе "execute_command" для "CommitTransaction" отсутствует проверка на существование транзакции перед выполнением команд. > * В Хранимых процедурах - В методе "CreateProcedure" процедуры сохраняются в общей хэш-таблице, но не в отдельной коллекции для лучшего управления. > * В Индексах - В методе "create_document" проверка уникальности индексов выполняется после вставки документа, что может привести к нарушению уникальности. > * В сервере приложений исправлена ошибка "соединение сброшено", при попытки открытия любого файла с поддерживаемым в сервере-приложений MIME-типом > [!IMPORTANT] > **Исправления** > * В транзакциях добавлена проверка существования перед коммитом > * Хранимые процедуры теперь сохраняются в коллекции _procedures > * Логика проверки индексов исправлена для предотвращения нарушений уникальности > * Исправлены две ошибки в базовых компонентах СУБД (CRUD, транзакции, индексы): > * Неправильная логика проверки уникальности в методе create_document > * Ошибка в обработке процедур в execute_command > * Исправлены три ошибки в компонентах шардирования(некорректная обработка Raft состояния), репликации и выгрузкой данных в формате "CSV"(неправильный расчет прогресса и обработка ошибок) # Изменения (по состоянию на 30.11.2025) > [!NOTE] > * Заменён логотип проекта на новый **Исправления** > * Исправлена ошибка условия (изменено значение с 2-х узлов на 3 узла) в реализации протокола Raft, согласно которому минимальное возможное количество узлов для запуска кластера составляло 2 узла > * Произведён рефакторинг утилиты тестирования "integration_tests.rs"