diff --git a/ChangeLog.md b/ChangeLog.md index be1b644e..068aee64 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -15,6 +15,7 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/libmdbx - [Alex Sharov](https://github.com/AskAlexSharov) за сообщение об ошибках и тестирование. - [Виктору Логунову](https://t.me/vl_username) за сообщение об опечатки в имени переменной в Conan-рецепте. - [Илье Михееву](https://t.me/IlyaMkhv) за сообщение о лишнем/ненужном предупреждении несоответствия файла БД новому размеру. + - [maxc0d3r](https://gitflic.ru/user/maxc0d3r) for bug reporting and testing. Новое: @@ -43,16 +44,37 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/libmdbx Ошибка присутствует в выпусках v0.13.1, v0.13.2, v0.13.3 и оставалась незамеченной из-за специфических условий и низкой вероятности проявления. Более подробная информация в описании коммита `cb8eec6d11cdab4f7d3cf87913e8009149dcf60b`. - - Устранение лишнего/ненужного предупреждения в сценарии изменения размера БД посредством вызова `mdbx_env_set_geometry()` до её открытия. + - Устранено лишнее/ненужное предупреждение в сценарии изменения размера БД посредством вызова `mdbx_env_set_geometry()` до её открытия. API предусматривает возможность запросить изменение геометрии/размера БД перед её открытием, чтобы избежать как лишних накладных расходов, так и потенциальных ошибок из-за нехватки адресного пространства. В этом сценарии ранее могло выдаваться лишнее/ненужное предупреждение о несоответствии файла БД новому размеру. Теперь этот недостаток исправлен. + - Восстановлена доступность дескрипторов таблиц, открытых в дочерней транзакции, после её фиксации, в случае отсутствия изменений в данных. + Проблема не была замечена ранее из-за специфического сценария проявления. + Ошибка присутствует в версиях 0.13.x и последующих, начиная с коммита `e6af7d7c53428ca2892bcbf7eec1c2acee06fd44` от 2023-11-05. + + - Устранён сбой аудита таблиц при инвалидации дескрипторов таблиц вследствие отмены вложенной транзакции. + Проблема не была замечена ранее из-за специфического сценария проявления. + Ошибка присутствует в версиях 0.13.x и последующих, начиная с коммита `e6af7d7c53428ca2892bcbf7eec1c2acee06fd44` от 2023-11-05. + + - Устранена причина потенциальных сбоев и/и деградации производительности в сценарии закрытия курсора до завершения вложенной транзакции, + с последующим изменением данных той-же таблицы в текущей вложенной транзакции, либо её дочерних транзакциях. + Проблема обнаружена при ручном анализе кода, сценарии воспроизведения/проявления проблемы пока не известны. + Ошибка присутствует в версиях 0.13.x и последующих, начиная с коммита `3de3d425a128a3c6f7866503f5f93b80c09dbe41` от 2024-05-19. + + - Устранена причина ложных ошибок при работе `mdbx_chk` с высоким уровнем логирования. + Проблема возникала из-за неверной трактовки `MDBX_NOTFOUND` при штатном окончании итерируемых данных. + + - Устранена причина попыток рекурсивного захвата мьютекса при работе `mdbx_chk -w` в сборах с поддержкой Valring/ASAN и под управлением этих инструментов. + Прочие доработки: - Существенный рефакторинг с реструктуризацией кода, переименованием внутренних структур, их полей и внутренних функций. - - Доработка использования LTO в CMake-сценариях: использование `-flto=auto` для GCC >= 11.4, расслабление условий для включения LTO для CLANG на Linux, расширение поиска `LLVMgold.so` в относительных lib-директориях. + - Доработка использования LTO в CMake-сценариях: использование `-flto=auto` для GCC >= 11.4, + расслабление условий для включения LTO для CLANG на Linux, расширение поиска `LLVMgold.so` в относительных lib-директориях. + + - Добавлены дополнительные проверки сигнатур курсоров при итерации связанных списков. --------------------------------------------------------------------------------