5 мая 2026 года состоялся релиз открытого каталогизатора домашней библиотеки MyLibrary 5.0. Программа адаптирована для работы в операционных системах семейства Linux и Windows. Для пользователей Arch Linux в AUR доступен готовый сценарий сборки пакета. Для пользователей Windows доступен экспериментальный инсталлятор решения.

Исходный код проекта написан на языке программирования С++ и опубликован на GitHub и GitFlic под лицензией GPLv3. Графический интерфейс пользователя в решении был реализован с помощью библиотеки GTK4 и в новой версии переведён на использование Qt6. Сборка MyLibrary 3.0 вышла в феврале 2024 года. Релиз MyLibrary 4.0 состоялся в апреле 2025 года.

Проект MyLibrary каталогизирует файлы книг в формате fb2, epub, pdf, djvu, как доступные напрямую, так и упакованные в архивы (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar), и создаёт собственную базу данных, не изменяя исходные файлы и не меняя их положения. Контроль целостности коллекции и её изменений осуществляется за счёт создания базы данных хэш‑сумм файлов и архивов.

В MyLibrary реализован поиск книг по различным критериям (фамилия, имя, отчество автора, название книги, серия, жанр) и их чтение через программу, по умолчанию установленную в системе для открытия соответствующих форматов файлов. При выборе книги отображаются аннотация и обложка книги, если таковые доступны. Проект поддерживает отображение списка файлов, входящих в коллекцию, и списка книг, входящих в конкретный файл.

В проекте MyLibrary возможны различные операции с коллекцией, включая обновление (осуществляется проверка всей коллекции и сверка хэш‑сумм доступных файлов), экспорт и импорт базы данных коллекции, добавление книг в коллекцию и удаление из неё, добавление в коллекцию папок с книгами, добавление в коллекцию архивов с книгами, копирование книг коллекции в произвольную папку, перемещение книг из коллекции в коллекцию. В проекте доступно ручное редактирование записей о книгах в базе данных, а также создан механизм закладок для быстрого доступа к книгам.

По информации OpenNET, основные изменения и доработки в MyLibrary 5.0:

  • проект переведён на использование нового типа базы данных (коллекции, закладки, заметки);

  • добавлен слой совместимости со старыми базами данных: коллекции, созданные в предыдущих версиях программы, загружаются и работают в режиме ограниченной функциональности (отключены функции редактирования базы данных и некоторые другие), закладки и заметки — без каких либо ограничений (старые базы будут автоматически преобразованы в новые при изменении заметок или закладок);

  • графический интерфейс переведён на использование Qt6;

  • изменено поведение функции создания коллекций — теперь в коллекцию можно добавлять произвольный набор папок и поддерживаемых файлов;

  • добавлена функция создания коллекций из inpx-файлов. Содержимое inpx-файлов будет загружаться «на лету» при переключении на соответствующую коллекцию. Inpx-коллекции работают в режиме ограниченной функциональности (отключены функции редактирования базы данных и некоторые другие);

  • изменено поведение функции обновления коллекций. При попытке обновления устаревших и inpx-коллекций они будут преобразованы в нативные. При обновлении нативных коллекций — в случае быстрого обновления — проверяются наличие и размеры файлов, если размер файла изменился — будет выполнен его повторный разбор. При обычном обновлении вместо размеров проверяются хеш‑суммы файлов;

  • изменено поведение функции добавления книг в существующую коллекцию. Новые книги теперь добавляются в базу данных без перемещения соответствующих файлов;

  • улучшена работа поисковых алгоритмов;

  • ускорена работа функции отображения авторов коллекции;

  • переработан API библиотеки MLBookProc и библиотеки для подключения плагинов;

  • улучшена работа библиотеки разбора xml файлов, добавлена начальная поддержка формата html;

  • отключена возможность создания документации внутренних библиотек в формате pdf. Вместо неё добавлена документация в виде man страниц. Документация в формате html — без изменений;

  • для сборки теперь требуется поддержка компилятором стандарта C++20;

  • в разряд обязательных переведена поддержка компилятором стандарта OpenMP;

  • изменены сценарии сборки и сборочные опции.