Openshelf
org.ftena.openshelf
Zapstore _@zapstore.dev Republished from GitHub / F-Droid by the Zapstore main account.
First release: Jul 29, 2026, 5 total releases.
Most recent release: Sep 27, 2026.
Appears in 0 app stacks.
0 sats / 0 zaps received in the past year.
Sats Received
Underlying data available via MCP: app_zaps, app_releases.
Zap Count
Underlying data available via MCP: app_zaps, app_releases.
Releases
- Sep 27, 2026 1.3.1## New - Added Anna's Archive as an optional search source: a new AnnasArchiveService (via the annas_archive_client dependency) handles book search and ISBN lookups, and it's now integrated into BookSearchService, the search view, and the cover picker. - Search servers can now be individually enabled, disabled, and reordered from Settings (AppSettings/AppSettingsController extended to track active vs. disabled servers). ## Improved - Long-press quick actions on book cards/tiles in shelf views (grid, list, and container layouts): delete the book, or remove it from the current collection, imprint, or category — backed by a new removeTagFromBook transaction in TagDao. (#35) - Cover/image processing moved off the main thread: CoverService now decodes, resizes, and encodes images on background isolates, with a LoadingOverlay on the book/tag forms so processing is no longer silent. Android 13+ gallery permission handling was simplified for the native Photo Picker, with small stability delays added for Android 14+ compatibility. (#31) - Back-navigation and shelf performance: PopScope now returns to the primary tab (and dismisses search/filters) before actually exiting the Library view; tab state is preserved via IndexedStack instead of raw list indexing. ShelfAutomationController got a debounce delay and better concurrency guards to stop microtask saturation during bulk updates. (#34) **Full Changelog**: https://github.com/Swappppy/Openshelf/compare/v1.3.0...v1.3.1
- Sep 7, 2026 1.3.0## v1.3.0 - Boolean search ### New features - Expanded the filter sheet to cover every book property, not just the previous quick-filter subset: title, author, ISBN, publisher, language, original title/language, page count, publication year, reading status, ownership, notes, and every category/imprint/collection tag among others. - New boolean search mode: chain any number of conditions with AND/OR, tap a connector pill to flip it. - Tap the new search tips to hide the search menu for a clearer view of the search results. - Operators adapt to field type: tag fields (category, imprint, collection) get includes / excludes / includes all; numeric fields (year, pages) get equals / greater than / less than / between; text fields get contains / exact match / starts with. - Quick filters and boolean search share one underlying query: an active quick-filter search can be continued in boolean mode instead of starting over, and any boolean query can be saved as a self-updating smart shelf, same as before. ### Minor changes
More…
- Database location setting doing nothing on Android 11+ (#24): added the "All files access" permission flow, so moving the database folder in Storage settings now actually relocates the files instead of silently staying in the default location. - When searching a book, ISBNs now are added to the selected book if the result metadata does not have it. - When a book is not found, a button to add manually is implemented, passing the ISBN to the book form. - Book search now has a "Recommended book" option, which uses a relevance algorithm to select and merge metadata into a more complete book. - Extended test coverage in the source code to the main components. - Added exclusion of pruning for certain or all categories in settings (#28) ### Fixed - Backup import failing on the first launch after upgrading from 1.1.1 (#21): target subdirectories weren't being created before migration tried to write into them. - Reading language not saving in a few places: scanned search results, batch tagging from the barcode scanner, and the cover URL when saving a book. - Book appearing in shelves after deletion and general shelf reactivity (#29) - Fixed issue where books already started cramped all the progress in the first section if the advanced pagination was used - Aug 22, 2026 1.2.2**Full Changelog**: https://github.com/Swappppy/Openshelf/compare/v1.2.1...v1.2.2
- Aug 15, 2026 1.2.0## v1.2.0 - Translation Metadata, Ownership Tracking & New Languages ### New features **Translation & ownership tracking** (https://github.com/Swappppy/Openshelf/issues/12) Added support for tracking translated editions and provenance of your books. - New `originalTitle` and `originalLanguage` fields for translated books. - New ownership status tracking (bought, gifted, borrowed, etc.) with a dedicated `OwnershipLog` table and a full history view, so you can always see how a book entered your collection. **New languages**
More…
Openshelf is now available in French, Italian, Catalan, and Portuguese (with separate `pt_BR` and `pt_PT` variants). > **Note:** Many strings have been translated using AI to speed up localization and improve the app's reach. If you're a native speaker and notice anything that sounds a bit "off," please let me know or fix it directly on Weblate. I speak Catalan myself and can confirm those strings are accurate, if this approach works well for you, I'll keep adding more languages this way. ### Minor changes - Refactored book management logic and UI: centralized labels, icons, and colors via extensions for `ReadingStatus`, `BookFormat`, and `OwnershipStatus`. - Extracted reusable widgets (`SectionHeader`, `ReadOnlyField`, `BookRatingBar`, `CoverPlaceholder`, `DatePickerField`) to reduce duplication across book detail and form views. - Simplified state management and data loading in the book form. - The grid view can now disable the info tab to show the full cover (https://github.com/Swappppy/Openshelf/issues/16). - Collections now are not unique, a book can have as many collections as the user wants (https://github.com/Swappppy/Openshelf/issues/15). - Rework of the form view of collections and imprints - Rework of the detail view UI of the different states (read state, physical format, wherabouts). They are also interactuable now, as the tags. **Full Changelog**: https://github.com/Swappppy/Openshelf/compare/v1.1.2...v1.2.0 - Jul 29, 2026 1.0.0## New features ### Pagination system Now each book can have multiple independent sections, with support for both roman and arabic numerals. Each section has each own progress and can be read independently. Also, markers can be added. Both of these features can be color coded and show in a custom tab under the progress bar. <img width="270" height="495" alt="IMG_20260729_200601" src="https://github.com/user-attachments/assets/6b58acf8-b93c-45b1-a8ab-233e9c759b9d" /> <img width="270" height="533" alt="IMG_20260729_200421" src="https://github.com/user-attachments/assets/686bdd50-137d-43de-ac1f-fd00ba0f8185" /> <img width="270" height="290" alt="IMG_20260729_200522" src="https://github.com/user-attachments/assets/39b45c7b-cc6b-4013-952c-f3c0bfcfa884" /> <img width="270" height="181" alt="IMG_20260729_200500" src="https://github.com/user-attachments/assets/6b71bc8f-f665-48ce-879d-d1d525ac7196" />
More…
### Read history and rereads A new log system for each book has been implemended. When a book is started a new read is automatically started. When completed (each section of the book finished), the read is closed. This wraps the old dates in a new UI. <img width="270" height="178" alt="IMG_20260729_200838" src="https://github.com/user-attachments/assets/c93a6e92-f44c-47d5-a255-453af165339d" /> When a book is finished, you can add a reread. These can be complete (all the sections of the book) or by section. This will reset the selected sections and add a new log in the reading history, opening another entry for the sections or the book. <img width="270" height="568" alt="IMG_20260729_200759" src="https://github.com/user-attachments/assets/ed108089-c3a2-4c5b-950b-a1920e90d4ca" /> ### LibraryThing Added import and export logic for LibraryThing. ## Minor changes - Added better local export flow and added the option to share the export zip. - Refined import and export logic from Goodreads to avoid obsolete files when Amazon changes the format again, it now uses property names to parse the data. ## Bug fixes - Fixed a bug where the add book button did not show for really small screens. - Fixed a bug where the pages count in the pages widget would only show the all time biggest page counter instead of the correct read pages. - Fixed a bug where multiple widgets failed to update when the page number changed. - Fixed a bug that produced an app crash when the user tried to add a progressive jpeg as the cover.