Skip to content

Tags: erthink/libmdbx

Tags

v0.13.10

Toggle v0.13.10's commit message

Verified

This tag was signed with the committer’s verified signature.
erthink Леонид Юрьев (Leonid Yuriev)
v0.13.10 "Блеск Славы" (Gloss of Glory).

The supporting release of a stable branch with bug fixes,
in memory of Michael Alexander Gloss, American, son of Deputy Director of the CIA,
who died heroically in search of justice for the bright ideals of humanity
and was posthumously awarded the Order of Courage.

 - The origin repository has been moved to https://sourcecraft.dev/dqdkfa/libmdbx, it is still open and provided with first-class free support;
 - The buffer implementation has been refactored and other improvements have been made to the C++ API;
 - Several minor warnings and bugs have been fixed;
 - Expanded the set of tests.

For more information please see [ChangeLog in the `stable` branch](https://sourcecraft.dev/dqdkfa/libmdbx/browse/ChangeLog.md?rev=stable).

git diff' stat: 26 files changed, 1037 insertions(+), 998 deletions(-)
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>

v0.13.9

Toggle v0.13.9's commit message

Verified

This tag was signed with the committer’s verified signature.
erthink Леонид Юрьев (Leonid Yuriev)
v0.13.9 "ИС-2" (IS-2).

The supporting release of a stable branch with bug fixes,
in memory of the most powerful Soviet IS-2 tank of the Great Patriotic War.
 - Support of Harmony OS;
 - fixed assertion (BMI > 0) in debugging builds for 32-bit platforms;
 - fixed regression of DB growth (no shrinking) after using fallocate() for `SIGBUS` prevention;
 - workaround to avoid `EAGAIN` on Android after an application restart;

For more information please see [ChangeLog in the `stable` branch](https://gitflic.ru/project/erthink/libmdbx/blob?file=ChangeLog.md&branch=stable).

git diff' stat: 24 files changed, 262 insertions(+), 226 deletions(-)
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>

v0.13.8

Toggle v0.13.8's commit message

Verified

This tag was signed with the committer’s verified signature.
erthink Леонид Юрьев (Leonid Yuriev)
v0.13.8 "Всеобуч" (v`seabooch).

The supporting release of a stable branch with bug fixes,
on the day of the 100th anniversary of the Resolution of Russian Central Executive Committee on common free primary education.

 - enabled old Linux kernels starting from 3.16;
 - fixed unexpected `SIGBUS` is not enough space in a filesystem;
 - fixed inappropriate/irrelevant `MDBX_WANNA_RECOVERY` when the DB size is not rounded to sys-allocation-granularity.

For more information please see [ChangeLog](https://libmdbx.dqdkfa.ru/md__change_log.html).

git diff' stat: 9 files changed, 101 insertions(+), 36 deletions(-)
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>

v0.13.7

Toggle v0.13.7's commit message

Verified

This tag was signed with the committer’s verified signature.
erthink Леонид Юрьев (Leonid Yuriev)
v0.13.7 "Дружба" (Friendship).

The supporting release of a stable branch with bug fixes and bug fixes,
on [International Friendship Day](https://www.un.org/ru/observances/friendship-day).

For the list of improvements and changes, please see [ChangeLog](https://libmdbx.dqdkfa.ru/md__change_log.html).

git diff' stat: 22 files changed, 682 insertions(+), 291 deletions(-)
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>

v0.14.1

Toggle v0.14.1's commit message

Verified

This tag was signed with the committer’s verified signature.
erthink Леонид Юрьев (Leonid Yuriev)
v0.14.1 "Горналь".

Первый выпуск в новом кусте/линейке версий с добавлением функционала, расширением API и внутренними переработками.
За перечнем доработок и изменений обращайтесь к [ChangeLog](https://libmdbx.dqdkfa.ru/md__change_log.html).

git diff' stat: 166 files changed, 9467 insertions(+), 5597 deletions(-).
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>

v0.13.6

Toggle v0.13.6's commit message

Verified

This tag was signed with the committer’s verified signature.
erthink Леонид Юрьев (Leonid Yuriev)
v0.13.6 "Бузина".

Поддерживающий выпуск стабильной ветки с исправлением обнаруженных ошибок и устранением недочётов,
в память о погибшем украинском историке и писателе [Алесе Бузине](https://ru.ruwiki.ru/wiki/Бузина,_Олесь_Алексеевич).

За перечнем доработок и изменений обращайтесь к [ChangeLog](https://libmdbx.dqdkfa.ru/md__change_log.html).

git diff' stat: 15 files changed, 194 insertions(+), 36 deletions(-).
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>

v0.13.5

Toggle v0.13.5's commit message

Verified

This tag was signed with the committer’s verified signature.
erthink Леонид Юрьев (Leonid Yuriev)
v0.13.5 "Труба".

Поддерживающий выпуск стабильной ветки с исправлением обнаруженных ошибок и устранением недочётов.

За перечнем доработок и изменений обращайтесь к [ChangeLog](https://libmdbx.dqdkfa.ru/md__change_log.html).

git diff' stat: 49 files changed, 2106 insertions(+), 1135 deletions(-)
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>

v0.12.13

Toggle v0.12.13's commit message

Verified

This tag was signed with the committer’s verified signature.
erthink Леонид Юрьев (Leonid Yuriev)
v0.12.13

Завершающий выпуск архивной ветки с исправлением обнаруженных ошибок и устранением недочетов.

`git diff' stat: 14 commits, 7 files changed, 256 insertions(+), 103 deletions(-)`

Это последний/консервирующий выпуск куста стабильных версий 0.12.x, спустя более двух лет после выпуска 0.12.1.

Значимые исправления:
---------------------

 - Исправлена обработка `MDBX_GET_MULTIPLE` в специальных случаях и одного значения у ключа в позиции курсора.

 - Устранена ошибка неверной обработки попытки запуска вложенной читающей транзакции.
   Теперь в таких ситуациях возвращается ошибка `MDBX_EINVAL`, так как вложенность
   поддерживается только для транзакций чтения-записи.

   Ошибка была внесена при рефакторинге, коммитом `2f2df1ee76ab137ee66d00af69a82a30dc0d6deb`
   чуть более 5 лет назад и долго оставалось не замеченной.

 - Поддержка получения boot_id при работе внутри LXC-контейнера.

   Из LXC-контейнера не доступен файл хостовой системы `/proc/sys/kernel/random/boot_id`.
   Вместо него, при каждом старте контейнера, создается и заполняется
   случайными данными собственный boot_id смонтированный через bind из `tmpfs`.
   lxc/lxc#3027

   Ранее этот подставной/замещенный boot_id отбраковывался внутри libmdbx,
   так как файл располагается в `tmpfs`, а не в файловой системе `/proc`.
   В результате boot_id для проверки целостности БД не был доступен.
   Теперь при работе внутри LXC-контейнера такой bootid будет использоваться.

   Однако, полноценно работающий контроль по boot_id не возможен, так как при
   рестарте LXC-контейнера (но не хоста) boot_id будет меняться, хотя
   данные в unified page cache сохраняются.

   Таким образом, при рестарте LXC-контейнера без рестарта хоста, libmdbx придется
   откатить состояние БД до крайней точки устойчивой фиксации, что повлечет
   утрату данных пользователя в случаях когда они могли быть сохранены.
   Однако, улучшить ситуацию пока не представляется возможным, как минимум
   до доступности boot_id хостовой системы изнутри LXC-контейнера.

 - Доработан контроль длины ключа внутри `cursor_set()`.

   Ранее проверка внутри `cursor_set()` не позволяла искать ключи длиннее, чем можно поместить в таблицу.
   Однако, при поиске/позиционировании это не является ошибкой для таблиц с ключами переменного размера.

 - Теперь при попытке запуска вложенных транзакций в режиме `MDBX_WRITEMAP` производится
   логирование и возврат ошибки `MDBX_INCOMPATIBLE`.

 - Доработано использование `std::experimental::filesystem` для решения проблем со сборкой в старых компиляторах.

Более подробная информация и история предыдущих выпусков доступна в [ChangeLog](https://libmdbx.dqdkfa.ru/md__change_log.html).

Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>

v0.13.4

Toggle v0.13.4's commit message

Verified

This tag was signed with the committer’s verified signature.
erthink Леонид Юрьев (Leonid Yuriev)
v0.13.4 "Sigma Boy".

Поддерживающий выпуск стабильной ветки с исправлением обнаруженных ошибок и устранением недочётов.

За перечнем доработок и изменений обращайтесь к [ChangeLog](https://libmdbx.dqdkfa.ru/md__change_log.html).

git diff' stat: 139 files changed, 391 insertions(+), 208 deletions(-)
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>

v0.14.0

Toggle v0.14.0's commit message

Verified

This tag was signed with the committer’s verified signature.
erthink Леонид Юрьев (Leonid Yuriev)
Технический тэг, отмечающий начало ветки `0.14` с новым функционалом …

…и изменением API.