Состоялся релиз каталогизатора домашней библиотеки MyLibrary 3.0. Код программы написан на языке программирования С++ и доступен (GitHub, GitFlic) под лицензией GPLv3. Графический интерфейс пользователя реализован с помощью библиотеки GTK4. Программа адаптирована для работы в операционных системах семейства Linux и Windows. Для пользователей Arch Linux в AUR доступен готовый пакет. Для пользователей Windows доступен экспериментальный инсталлятор.
MyLibrary каталогизирует файлы книг в формате fb2, epub, pdf, djvu, как доступные напрямую, так и упакованные в архивы (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar), и создаёт собственную базу данных, не изменяя исходные файлы и не меняя их положения. Контроль целостности коллекции и её изменений осуществляется за счёт создания базы данных хэш-сумм файлов и архивов.
Реализован поиск книг по различным критериям (фамилия, имя, отчество автора, название книги, серия, жанр) и их чтение через программу, по умолчанию установленную в системе для открытия соответствующих форматов файлов. При выборе книги отображаются аннотация и обложка книги, если таковые доступны.
Возможны различные операции с коллекцией: обновление (осуществляется проверка всей коллекции и сверка хэш-сумм доступных файлов), экспорт и импорт базы данных коллекции, добавление книг в коллекцию и удаление книг из коллекции, добавление в коллекцию папок с книгами, копирование книг коллекции в произвольную папку, перемещение книг из коллекции в коллекцию. Создан механизм закладок для быстрого доступа к книгам.
Значимые изменения:
- Проект полностью переписан с нуля.
- Изменён формат базы данных.
- Изменены места хранения информации (базы коллекций перенесены в ~/.local/share/MyLibrary/Collections, закладки – в ~/.local/share/MyLibrary/BookMarks, размеры некоторых окон и название текущей коллекции сохраняются в ~/.cache/MyLibrary).
- Из зависимостей убрана библиотека libzip.
- Оптимизирован список поддерживаемых архивных форматов.
- Значительно улучшена поддержка форматов fb2 и epub.
- Улучшена работа с различными кодировками текста.
- Улучшены обработка и отображение аннотаций.
- Полностью переработан формат окна отображения информации о книге, значительно расширен список отображаемых данных.
- Добавлена возможность сохранения обложки книги в различных форматах.
- Расширена функциональность работы с коллекциями: появилась возможность добавлять несколько книг одновременно, добавлена возможность включать в коллекции папки, в том числе со сжатием их в архив.
- Появилась возможность дописывать книги и папки с книгами в уже существующий архив (архив перезаписывается).
- Добавлена возможность перенесения книги из одной коллекции в другую (переносится как запись в базе данных, так и сама книга).
- Добавлена обработка символьных ссылок (как на файлы, так и на папки).
- Добавлена экспериментальная поддержка систем, использующих различный порядок байтов.
- Исправлены некоторые мелкие ошибки и недочёты.
- Сохранена совместимость со всеми версиями библиотеки GTK4.
При переходе на данную версию программы пользователям предыдущих версий необходимо создать коллекции заново. Работоспособность программы была протестирована на архитектурах x86_64, i686, aarch64 (только для Linux, вариант сборки для Windows тестировался исключительно для архитектуры x86_64).