The release of the MyLibrary 3.0 home library cataloger has taken place. The program code is written in C++ and is available (GitHub, GitFlic) under the GPLv3 license. The user interface is implemented using the GTK4 library. The program is adapted for use on operating systems from the Linux family and Windows. A ready-to-use package is available in AUR for Arch Linux users. An experimental installer is available for Windows users.
MyLibrary catalogs book files in fb2, epub, pdf, djvu formats, both available directly and packed in archives (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar) and creates its own database without modifying the original files or changing their locations. The integrity control of the collection and its changes is carried out by creating a database of file and archive hash sums.
It features book search by various criteria (author's last name, first name, patronymic, book title, series, genre) and allows reading through the default program installed on the system for opening corresponding file formats. When selecting a book, a summary and cover image are displayed if available.
Various operations with the collection are possible: updating (which includes checking the entire collection and verifying the hash sums of available files), exporting and importing the collection database, adding books to the collection, removing books from the collection, adding folders with books to the collection, copying collection books to an arbitrary folder, and moving books from one collection to another. A bookmarking mechanism has been created for quick access to books.
Significant changes:
- The project has been completely rewritten from scratch.

- The database format has been changed.
- The locations for storing information have been changed (the collections database has been moved to ~/.local/share/MyLibrary/Collections, bookmarks to ~/.local/share/MyLibrary/BookMarks, the sizes of some windows and the name of the current collection are stored in ~/.cache/MyLibrary).
- The libzip library has been removed from dependencies.
- The list of supported archive formats has been optimized.
- Support for fb2 and epub formats has been significantly improved.
- The handling of various text encodings has been improved.
- The processing and display of annotations have been enhanced.
- The format of the book information display window has been completely redesigned, and the list of displayed data has been significantly expanded.

- The ability to save the book cover in various formats has been added.
- The functionality for working with collections has been expanded: it is now possible to add multiple books at once and include folders, including compressing them into an archive.
- The ability to append books and folders to an existing archive has been implemented (the archive is overwritten).
- The ability to move a book from one collection to another has been added (both the database record and the book itself are transferred).
- Processing of symbolic links (both to files and to folders) has been added.
- Experimental support for systems using different byte orders has been added.
- Some minor bugs and issues have been fixed.
- Compatibility with all versions of the GTK4 library is maintained.
Users of previous versions must recreate their collections when upgrading to this version of the program. The program's functionality has been tested on x86_64, i686, and aarch64 architectures (Linux only, while the Windows build was tested solely on x86_64 architecture).
Source: opennet.ru


