flusql/CHANGELOG.md

94 lines
7.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

> [!CAUTION]
> **ALPHA VERSION**<br><br>**Категорически не использовать в продакшене, так как это тестовая версия!!!**
# Изменения (по состоянию на 13.12.2025)
> [!NOTE]
**Улучшения и/или добавление функционала**
> * Файл в котором хранится базы данных "mydb.db" переименован в "basedb.db" и в нём сохраняется полная копия всех созданных бд пользователем
> * Ошибки в выводе CLI теперь выделяются красным цветом
> * Ошибки сохранения в CSV логируются, но не прерывают выполнение основных операций
> * Справочная информация с описанием команд, доступная по команде "help" выводится в виде таблице, в которой приведён пример запросов, создающих субд
> [!IMPORTANT]
**Исправления**
> * Исправлена ошибка вывода столбцов в итоговой таблице, отображаемой после выполнения sql-запроса (теперь они идут в том порядке, в котором и были созданы)
# Изменения (по состоянию на 14.12.2025)
> [!NOTE]
**Улучшения и/или добавление функционала**
> * Добавлена асинхронная мастер-мастер репликация и кластеризация на основе паттерна "Центральный Диспетчер"
> [!IMPORTANT]
**Исправления**
> * Исправлена ошибка вывода столбцов в таблицах, которые отображаются после ввода команды "help"
# Изменения (по состоянию на 16.12.2025)
> [!NOTE]
**Улучшения и/или добавление функционала**
> * Улучшен вывод справочной информации, отображающийся после ввода команды "help"
> * Синхронные функции в VM Lua-интерпретаторе заменены на Асинхронные функции реализованные, через коммуникацию каналов
> * Добавлен сервер-приложений c поддержкой протоколов: http, https, http2, ssl а также поддержкой скриптов lua
# Изменения (по состоянию на 19.12.2025)
> [!NOTE]
**Улучшения и/или добавление функционала**
> * Цветной вывод разноцветных служебных сообщений адаптирован для всех популярных графических сред и терминалов семейства UNIX
> * Диалект языка SQL, полностью заменён диалектом SQL-PosgreSQL
> * После запуска приложения добавлена информация о запущенной операционной системе
# Изменения (по состоянию на 20.12.2025)
> [!IMPORTANT]
**Исправления**
> * Исправлена ошибка вывода служебных сообщений системы на русском языке, теперь все сообщения выводятся на английском
> [!NOTE]
**Улучшения и/или добавление функционала**
> * Добавлена в язык SQL поддержка триггеров, и команда EXPLAIN
# Изменения (по состоянию на 27.12.2025)
> [!IMPORTANT]
**Исправления**
> * Исправлена ошибка с не работающий историей команд. Теперь история команд ведётся как в sql-режиме, так и в lua-режиме.
> * Исправлена ошибка аварийного выключения сервера-приложения через 1.5 минуты после запуска
> * Добавлена обработка случая, когда нет доступных кандидатов
> * Добавлены отказоустойчивые механизмы для преобразования ID узлов
> [!NOTE]
**Улучшения и/или добавление функционала**
> * Добавлена возможность искать команду в буфере обмена, нажав на клавиатуре на кнопку "стрелка наверх", как в bash
> * Реализована поддержку стрелок вверх/вниз для навигации по истории
> * Добавлена поддержку стрелок влево/вправо для перемещения курсора
> * Добавлена обработку клавиш Home, End, Delete
# Изменения (по состоянию на 07.01.2026)
> [!NOTE]
**Улучшения и/или добавление функционала**
> * Заменена библиотека для реализации lua-интерпретатора с "rlua" "mlua" по причине прекращения поддержки первой
> * http-сервер приложений заменён на механизм "менеджер lua-плагинов", с помощью которого можно не изменяя исходный код субд, добавлять в неё собственный функционал
> * Добавлен вывод информации о состоянии менеджера плагина перед приглашением, после загрузки субд
# Изменения (по состоянию на 17.01.2026)
> [!NOTE]
**Улучшения и/или добавление функционала**
> * Добавлена поддержжка импорта/экспорта данных из созданных субд в формате ".csv"
> [!IMPORTANT]
**Исправления**
> * Исправлены проблемы с Value::Float и Hash - реализация Hash для Value::Float была неправильная (использовала to_bits() что давало разные значения для NaN)
> * Исправлена ошибка с индексами - Index хранил HashSet<u64>, но не обновлялся корректно при удалении
> * Исправлена ошибка блокировки при записи - при записи были использованы блокирующие операции записи, которые были заменены на неблокирующие
# Изменения (по состоянию на 18.01.2026)
> [!IMPORTANT]
**Исправления**
> * Исправлена проблема с Send trait для LuaSandbox путем явной реализации unsafe impl Send for LuaSandbox
> * Исправлена обработка ошибок при парсинге плагинов
> * Исправлена цепочка выполнения хуков - теперь результат каждого хука передается следующему
> * Исправлена регистрация Lua функций для работы с плагинами
> * Убраны RwLock внутри Arc для LuaSandbox, так как LuaSandbox теперь безопасен для потоков
> * Добавлены асинхронные операции через каналы для лучшей производительности
> * Добавлен кэш плагинов в PluginManager для lock-free доступа к плагинам через dashmap::DashMap