Software-update - Grimmory 3.4.0
Versies 3.4.0 en 3.4.1 van Grimmory is uitgekomen, een eenvoudig met Docker op te zetten selfhosted webapplicatie voor het organiseren en beheren van e-boeken. Het kan boeken al dan niet dynamisch organiseren op bijvoorbeeld schrijver of genre, metadata ophalen vanuit meerdere bronnen en biedt ondersteuning voor meerdere gebruikers. Er is een ingebakken lezer voor pdf's, epubs en comics, en boeken kunnen ook naar Kobo-e-readers worden gedownload of gelezen worden op een mobiel apparaat met daarop een leesapp die OPDS ondersteunt. In deze uitgave zijn de volgende veranderingen en verbeteringen in aangebracht:
Grimmory 3.4.1
Bug FixesPerformance Refactors
- angular: remove service worker api passthrough (#2638) (
539a0e0)- ui: modernise the metadata searcher component (#2631) (
ba47aaa)Grimmory 3.40
FeaturesBug Fixes
- kobo: show full Kobo API path in sync settings (#2381) (
852da00)- metadata: initial implementation of Apple Books source (#1780) (
0660e1d)- metadata: initial implementation of OpenLibrary source (#1764) (
9b38a09)- opds: add pagination to authors / series navigation (#2315) (
7d768a2)- api: add paged books sorts for author name / author sort name (#2497) (
f44a7df)- api: add paged books random sort (#2451) (
0e67549)Refactors
- amazon: emit external Amazon URL with region domain (#2330) (
4c160cd)- archive: handle non-utf8 ZIP headers with apache ZIP library (#2520) (
0279c15)- cbx: use natural compare that handles numbers larger than int (#2536) (
11224eb)- douban: ignore extraneous data when parsing window data (#2516) (
d75c128)- epub: add applebooks ID to template content.opf (#2616) (
a1b6233)- epub: handle duplicate zip entries when extracting epubs (#2526) (
75495bf)- epub: handle literal
+when decoding URLs (#2618) (ce18ce3)- epub: no flattening when sorting opf document elements (#2611) (
0b887ae)- epub: support cover edits when media type changes (#2281) (
828806a)- epub: support cover edits when no previous cover (#2278) (
e963f28)- goodreads: refresh goodreads public api token (#2477) (
8362a90)- i18n: use correct value for magicshelf.metadataFields.applebooksId (#2609) (
0ca234d)- library: refresh file size and hash for in-place modified files (#2490) (
7a9cd31)- magic-shelf: keep rule value on compatible operator change (#2604) (
81a40fd)- sidecar files are not written when only cover changes (#2567) (
b3574cc)- ui: add show/hide toggle to admin change-password dialog (#2612) (
7163761)- ui: logout needs access token before clearing session (#2340) (
bc5616f)- ui: use OIDC client secret if included in settings (#2557) (
32b6384)Chores
- api: add missing book facet fields (#2469) (
e60bb82)- api: add missing book sorts (#2554) (
14b45a2)- cbx: only use
ArchiveServicefor CBXReaderService (#2395) (a88982b)- googbooks: move google books key to HTTP header (#2533) (
ed8f7b3)- i18n: combine localization files into one JSON per language (#2498) (
9bf8ca9)- metadata: normalize metadata provider language fields to BCP-47 (#2259) (
8c24d69)- move OIDC client secret to non public app setting (#2558) (
53abc8b)- settings: simplify app settings service (#2527) (
1ee9b51)Dependencies
- api: add extra XSS protections to SVG icon endpoint (#2433) (
f8c45da)- api: drop unused
LibraryScanListener(#2434) (e0c8118)- backend: remove unused LoginRateLimitService (#2613) (
9d239c3)- i18n: migrate translations from Weblate to Crowdin (#2568) (
41c612c)- settings: drop installation service / migrations (#2528) (
703c7f2)Documentation CI Build
- deps: update to Angular 22 and adopt APIs (#2468) (
3cc29fc)- deps: bump @tanstack/angular-query-experimental from 5.101.4 to 5.102.8 (#2552) (
3724713)- deps: bump @vitest/coverage-v8 from 4.1.10 to 5.0.0 (#2547) (
4a066e7)- deps: bump actions/checkout from 7.0.0 to 7.0.1 (#2503) (
bceed0b)- deps: bump actions/setup-java from 5.6.0 to 5.7.0 (#2449) (
5c535d8)- deps: bump actions/setup-java from 5.7.0 to 6.0.0 (#2504) (
3725ca7)- deps: bump angular to 21.2.20 (#2420) (
9960d2c)- deps: bump com.twelvemonkeys.imageio from 3.14.0 to 3.15.0 in /backend (#2587) (
d528d2f)- deps: bump conventional-changelog-conventionalcommits from 10.3.0 to 10.4.0 in the release-tooling group (#2439) (
8ff933c)- deps: bump docker/login-action from 4.4.0 to 4.6.0 (#2444) (
ea80fc0)- deps: bump docker/setup-buildx-action from 4.2.0 to 4.3.0 (#2441) (
9f6754f)- deps: bump docker/setup-qemu-action from 4.2.0 to 4.3.0 (#2549) (
ac68da1)- deps: bump eslint from 10.8.1 to 10.9.1 (#2542) (
464a259)- deps: bump github/codeql-action/analyze from 4.37.3 to 4.37.7 (#2443) (
b34ac76)- deps: bump gradle-wrapper from 9.7.0 to 9.7.1 in /backend in the gradle-dependencies group (#2442) (
b941693)- deps: bump lucide-static from 1.31.0 to 1.40.0 (#2546) (
7d4662b)- deps: bump markdown-it from 15.0.0 to 15.0.1 (#2544) (
5186f85)- deps: bump org.flywaydb:flyway-mysql from 13.3.0 to 13.5.0 in /backend (#2548) (
f8d6f75)- deps: bump org.freemarker:freemarker from 2.3.34 to 2.3.35 in /backend (#2541) (
3432178)- deps: bump org.hibernate.orm from 7.4.6.Final to 7.4.7.Final in /backend (#2550) (
9fdf424)- deps: bump org.jsoup:jsoup from 1.23.1 to 1.23.2 in /backend (#2545) (
e7b8482)- deps: bump org.projectlombok:lombok from 1.18.46 to 1.18.48 in /backend (#2543) (
e40f067)- deps: bump org.springdoc:springdoc-openapi-starter-webmvc-api from 3.1.0 to 3.1.1 in /backend (#2583) (
83dede5)- deps: bump taiki-e/install-action from 2.85.4 to 2.86.4 (#2440) (
60e59e4)- deps: bump taiki-e/install-action from 2.86.4 to 2.87.1 (#2502) (
ffa9440)- deps: bump taiki-e/install-action from 2.87.1 to 2.87.5 (#2551) (
2b843fa)- deps: bump the codeql group with 2 updates (#2501) (
4e28fde)- deps: bump the gradle-dependencies group in /backend with 3 updates (#2474) (
aa58069)- deps: bump uuid from 14.0.1 to 14.0.2 (#2540) (
14454c3)- deps: bump vitest from 4.1.10 to 4.1.11 (#2578) (
1d2c5a8)- deps: update pnpm to 11.19.0 and pnpm/action-setup to 6.0.10 (#2445) (
fcc4d9c)- pin angular table to v8 (#2422) (
1766f87)
| Versienummer | 3.4.1 |
| Releasestatus | Final |
| Besturingssystemen | Platformonafhankelijk |
| Website | Grimmory |
| Download | https://github.com/grimmory-tools/grimmory/releases/tag/v3.4.1 |
| Licentietype | GPL |
Door Bart van Klaveren
Downloads en Best Buy Guide
Feedback • 15-09-2026 12:0012 • submitter: belkin
Update-historie
| 15-09 | Grimmory 3.4.1 | 12 |
| 19-08 | Grimmory 3.3.3 | 0 |
| 07-08 | Grimmory 3.3.0 | 9 |
| 20-06 | Grimmory 3.2.2 | 4 |
| 15-06 | Grimmory 3.2.1 | 5 |
| 05-06 | Grimmory 3.2.0 | 8 |
| 23-04 | Grimmory 3.0.0 | 7 |
| 22-03 | Grimmory 2.3.0 | 13 |
| 07-03 | Booklore 2.0.6 | 13 |
| 27-02 | Booklore 2.0.3 | 0 |
Lees meer
Reacties (12)
Zowel Grimmory en BookOrbit lijken zich nog vrij snel te ontwikkelen. BookOrbit focussed meer op zowel ebooks als audioboeken, en de nadruk ligt nu meer de geïntegreerde boek request functionaliteit (wat mij wel aanspreekt).
Ik heb docker en een PocketBook en denk dat ik Grimmory en BookOrbit parallel ga inzetten. Samen mit BookBridge schijn je zonder problemen beide applicaties te kunnen syncen met KOReader. BookBride kan ook Calibre-Web Automated en Audiobookshelf syncen.
PocketBook Era (KOReader Plugin) → BookBridge → Grimmory + BookOrbit
[Reactie gewijzigd door Jacco011 op 15 september 2026 13:24]
Zie inderdaad dat er veel releases zijn bij beide en beide evenveel github sterren hebben, ben benieuwd hoe die ontwikkeling gaat.
Ik ga deze in ieder geval proberen te installeren op mijn Synology. Ik ben benieuwd hoe makkelijk dat is....
Ondanks het aantal releases update ik het wel maar in keer in de zoveel tijd.
Daarna exporteer ik ze in een map dat Grimmory in de gaten houdt om ze te importeren in Grimmory. Zo staat alle metadata ook correct.
Grimmory kan nog niet goed overweg met nederlandstalige boeken omdat hij niet op Bol kan zoeken.
De voorbeeld docker-compose trekt ook gelijk een MariaDB container binnen en is zo te zien vastgepint op 11.4.5, dus die zal niet zomaar updaten. Al is de Grimmory container zelf wel de :latest tag, dus theoretisch gezien zou er een nieuwere Grimmory kunnen uitkomen die (bij een toekomstige update) een hogere MariaDB vereist. Maar zoiets zou dan wel in de changelog staan en/of de laatste docker-compose file bekijken.
Maar zo spannend is het mijn inziens niet, het is niet dat er vaak braking changes in database servers zitten. Zelf draai ik een losse MariaDB container (Voor meerdere services) met de tag mariadb:latest en dat is momenteel 12.3.3 en werkt allemaal prima.
Gebruik Grimmory pas sinds kort, en gebruik het (Naast Kobo sync API) tevens als vervanger voor Goodreads.
In principe niet spannend, maar er gaat een moment zijn dat het stuk gaat, en dan mogen we 't weer fixen op een moment dat niet uitkomt. Ik heb toch liever dat "de applicatie" lekker standalone draait. In zakelijke productieomgevingen is het een ander verhaal, dan hou ik de boel wel in de gaten. In m'n dagelijks (privé) leven heb ik daar iets minder behoefte aan.Maar zo spannend is het mijn inziens niet
Het is precies die `:latest` tag die zo'n geurtje heeft. Ja, ik zou dan Grimmory kunnen pinnen op een versie, maar dan heb ik daar weer maintenance aan.
/rant
Ik wil zeker niet teveel afgeven op een project als dit. Het ziet er super uit, maar juist die "het gaat misschien wel eens stuk" weerhoudt mensen zo van Home Assistant (wat ik overigens met plezier host)
[Reactie gewijzigd door Quipeace op 15 september 2026 18:19]
Omdat er (helaas voor een onbepaalde tijd) geen usercommunity installatie scripts meer voor Grimmory worden ontwikkeld heb ik die uit noodzaak volledig handmatig in een docker, en die weer in in een lxc container, moeten installeren. Maar na een dag klooien om mijn externe disks met boeken via nfs te kunnen benaderen, wat ook niet makkelijk verliep, en uiteindelijk alles aan de praat had (dacht ik), kreeg ik geen enkele boek open en had ik non stop een spinner in mijn web browser die eindeloos een boek probeerde te laden.
Na een goede dag frustratie en zonder enig resultaat proberen heb ik uiteindelijk zowel Book Orbit als Audiobookshelf geïnstalleerd. Puur om een vergelijking tussen die twee te maken. Hiervoor worden wel usercommunity scripts ontwikkeld. Book Orbit is min of meer een cloon van Grimmory, en Audiobookshelf weer een ultra light versie die daarvan is afgeleid heb ik het idee. Na een half uurtje installeren had ik en de apps in hun eigen native lxc draaien, kon ik direct mijn shares mounten, bibliotheken aanmaken en boeken lezen.
Het enige minpunt die deze twee apps hebben, is dat android devices (getest met een galaxy tab s10 en galaxy s25 mobiel) niet goed omgaan met http waar de proxmox containers standaard op draaien, dus met specifieke boekformaten (zoals pdf) kreeg ik, of 401 unauthorized issues als deze uit Book Orbit worden opgehaald (session cookies die anders door android worden afgehandeld dus Book Orbit ziet dit als een security incident en dropt de verbinding), of tcp socket timeouts na ongeveer 8 seconden als een boek van Audiobookshelf af komt (vanwege agressieve netwerk throttling door android in de background)
Heb dit uiteindelijk opgelost door tailscale op de proxmox host te installeren, dus nu kan ik met mijn mobiele apparaten overal probleemloos bij en werkt het super.
Om te kunnen reageren moet je ingelogd zijn
:strip_exif()/i/2008140498.jpeg?f=imagenormal)
:strip_icc():strip_exif()/u/46863/Nemo.jpg?f=community)
:strip_icc():strip_exif()/u/411101/crop636bd3ebad62b_cropped.jpg?f=community)
:strip_icc():strip_exif()/u/28051/gwystyl_av.jpg?f=community)
/u/423696/crop669cd5afa63a2.png?f=community)
/u/14460/despicable_me.png?f=community)
:strip_exif()/u/16303/punisher5.gif?f=community)