Releases: KristanLaimon/PanelsPlus
Release list
1.4 | The format-verse
Panels+ | The format-verse (& improved panels finding)
Built from tag: v1.4.x
Hi Panels+ users, this new update brings some of the biggest improvements to Panels+ yet, added support for more file formats, panels finding better accuracy, animations, added more customizable options, new navigation mode, translations/localizations, removed useless butttons and more.
This time I wanted to provide support for text-based formats like .epub, .kepub and .mobi & improve a lot the panels finding internal algorythm because I found many false panel positives and some broken panels and weird panel ordering in v1.3.0.
Main Features
(1) .MOBI, .EPUB, .KEPUB Officially supported (and any other format that includes embbeded images)
These 3 new formats are joining in to the family of Panels+ (Previously only: .cbr, .cbz, .pdf), due to popular demand from my reddit users.
multi-format-showcase.mp4
(2) Complete overhaul to internal panel finding algorythms
In v1.3.0, some users and myself, found weird panels ordering. Sometimes it could be from bottom to top?, other times it just skips panels!. So I've started to work on this, with better testing, and manually mapping over 1200+ panels by hand then comparing Panels+ to the previous hand-made panels. (Took a while to do)
better-panel-finding-showcase.mp4
Button "Smart | Quick | Deep" mode removed.
Originally I made these changes to the "deep mode" button, but it got so good (more performant and faster) than quick and smart mode, so there wasn´t any sense keeping the old ones. I removed the button, now is always "deep mode" but works better and for comics and mangas equally.
Benchmarks
I did some benchmarks:
| Metric | Legacy (v1.3.0) | Now (v1.4.0) | Improvement |
|---|---|---|---|
| Global Precision | 78.2% | 95.8% | +17.6% |
| Global Recall | 80.5% | 93.8% | +13.3% |
| Global F1 Score | 79.4% | 94.8% | +15.4% |
| Average Matched IoU | 0.89 | 0.95 | +0.06 |
| Perfect Reading Order Pages | 358 / 764 (46.9%) | 626 / 764 (81.9%) | +35.0% |
Per-manga dataset made by hand
Why these specific mangas/comic?, because they're my favorite and I had to use some files anyways. But these improvements affects any other comics/manga as well.| Volume | Metric | Legacy (v1.3.0) | Now (v1.4.0) |
|---|---|---|---|
| Bloom Into You Vol. 8 | F1 / Precision / Recall | 79.9% / 74.6% / 86.1% | 93.4% / 96.8% / 90.2% |
| Komi Can't Communicate Vol. 1 | F1 / Precision / Recall | 87.6% / 89.8% / 85.5% | 96.4% / 97.3% / 95.6% |
| Miss Kobayashi's Dragon Maid Vol. 2 | F1 / Precision / Recall | 66.2% / 70.2% / 62.6% | 92.9% / 95.0% / 91.0% |
| Scott Pilgrim Vol. 5 | F1 / Precision / Recall | 80.4% / 77.2% / 83.8% | 95.9% / 94.4% / 97.4% |
(3) New navigation mode. Nav. Animated
I realized e-ink devices have specific hardware for swiping and exclusive animation transitions (no surprise I guess) so, why not giving that to Panels+!? (This is only available in Kindle, Kobo, and supported e-ink devices, doesn´t work in Android and Desktop/Linux)
navigation-animated-showcase.mp4
Secondary features
Not only the previous ones, I've added many other qualities of lifes features!
| Feature | Description |
|---|---|
| Per-Document Settings Persistence |
Remember preferred settings for every individual manga or comic
Panels+ now remembers your reading preferences on a per-book basis. You can read a Western comic in Comic mode with Margin crop, then switch to an action manga using Manga mode, Strict crop, and Animated navigation. As soon as you reopen a title, Panels+ automatically restores its previous configuration, so you no longer need to reconfigure your preferred reading setup every time you switch between books. |
| Invert Tap & Swipe Controls |
Fine-grained customization for touch navigation and gesture flow
Default swipe gestures and tap zones now naturally mirror the selected reading direction: Manga mode advances to the right, while Comic mode advances to the left. If you prefer the opposite behavior, the new Invert tap screen direction and Invert panel swipe direction options let you customize taps and gestures independently. |
| More Config... Menu |
A dedicated place for advanced Panels+ configuration
Important Panels+ settings have been moved out of the main KOReader menu and consolidated under the new More Config... button, keeping the primary interface cleaner while making advanced options easier to find. This menu includes configuration for per-document settings persistence, tap direction inversion, and panel swipe direction inversion. settings-moved.mp4 |
Keyboard NavigationA / D & Arrow Keys
|
Navigate panels using physical keyboards
Readers using devices with built-in hardware keyboards or paired Bluetooth keyboards can now navigate panels without reaching for the touchscreen. Use A for the previous panel and D for the next panel, or use ArrowLeft and ArrowRight.
|
| Device Rotation Zoom Retention |
Maintain panel framing and zoom across screen rotation
Rotating the device while zoomed into an image or reflowable book now properly recalculates and preserves the current panel framing and zoom level. Previously, rotating the screen could reset the zoom or allow KOReader's global document settings to overwrite the active Panels+ view. |
Spanish Translationi18n
|
Full localization architecture with a hand-crafted Spanish translation
Panels+ is now fully localizable through a new internationalization (i18n) system. Version 1.4.0 includes a complete Spanish translation covering viewer buttons, menus, dialogs, settings, and configuration descriptions. A contributor guide is also available for anyone interested in bringing Panels+ to additional languages. |
| Package Manager Integration |
One-click installation through KOReader package managers
Installing and updating Panels+ is now easier than ever. With a standardized manifest.json and stable release assets, Panels+ can now be discovered and installed through both the KOReader Plugin Appstore (appstore.koplugin) and the ZEN Package Manager (zen_ui.koplugin).
|
Fixes
- Fixed reading flow sequencing where panels in complex or irregular Western comic layouts were visited out of narrative order.
- Fixed stacked vertical panels in Manga mode causing erratic jumps instead of following top-to-bottom reading order within columns.
- Fixed device orientation being reset or overwritten by KOReader's global document configuration when changing orientation inside Panels+.
- Fixed panel zoom level not being...
v1.4 NIGHTLY | Format-verse
Hello fellas, this time, it's a nightly build release. Including some fixes for bugs found thanks to @sukhmeetsingh170200 and other ones I found myself and translations!. Why not a full release? well, normally I test the plugin many days myself until I found it stable and pleasant to use but wanted to release these meanwhile I'm battle-testing this 1.4.0 version.
Features
- Added native spanish translations for my spanish users.
Enhancements
- Improved flow layout order when reading in comic and manga mode, should follow panels from top to bottom and (left to right | comicmode) and (right to left | mangamode) going from upper panel to upwards direction instead of upwards.
Fixes
- Fixed strange device orientation behaviour when using Panels+ orientation then for some reason going back to original Koreader orientation.
- Many other fixes that are too technical and I'm lazy to document.I'll document them properly in the future 1.4.0 stable release.
Notes:
This version is not battle-tested as normal stable-versions, use this nightly build if you want to test-out the latest features without having to wait for the next stable release.
If you're openning an issue make sure you're using the latest stable version instead
v1.3.0 | The Touchy Update
Built from tag: v1.3.0
Welcome to The Touchy Update! For this release, I focused on polishing several features I found myself missing while reading on my e-reader over the past few weeks.
Why "The Touchy Update", you ask? Well, it introduces new experimental OCR support (activated via a long press on text). Ironically, it also brings touchless functionality to Kobo devices, allowing you to turn pages using physical buttons and compatible Bluetooth page-turners.
This update also includes quality-of-life improvements for rotation handling, dark mode support, and much more. Check out the details below:
Highlights
| Feature | Description |
|---|---|
| Word Lookup |
Touch & hold to select text and look up words, even in comics/manga Long-press a word inside a zoomed-in panel to select it and open the dictionary, just like you would on any regular text page. This now works on comic and manga pages too, which normally have no selectable text at all! Works across CBZ, CBR, and PDF. Note: This is still experimental. Word detection is tricky on hand-lettered or stylized comic text and might not always get it exactly right. ocr_experimental_support_demo.mp4🎥 Long-pressing to select text and trigger the dictionary popup on a comic page. IMPORTANT: To use this feature, you'll need to set up a couple of things first:
|
| Dark Mode |
Dark mode for the panel viewer The panel viewer now fully respects KOReader's night mode. Previously, switching to dark/night mode inverted the rest of the reader but left the panel viewer—panel art, borders, the bottom toolbar, everything—lit up bright white regardless. darkmode_full_support.mp4🎥 Switching to dark mode with the panel viewer seamlessly updating. |
| Edge Zoom |
One-handed zoom with edge swipes Swipe up along the left edge of the screen to zoom into the current panel, and swipe down to zoom back out. No pinch gesture is needed, so you can easily zoom in and out one-handed while holding the device. left_swipe_gesture_panel_demo.mp4🎥 Swiping up and down along the screen edge to zoom in and out seamlessly. |
| Tap to Navigate |
Tap the screen edges to move between panels A new toggle lets you tap the left or right edge of the screen to jump to the previous or next panel, instead of relying solely on swipes or on-screen buttons. Which side goes forward depends on whether you're reading comic-style or manga-style. Swipe navigation can also be turned off entirely if you prefer using only taps, buttons, or physical keys. more_navigation_options_demo.mp4🎥 Tapping the screen edges to quickly jump between previous and next panels. |
| Kobo Support |
Added Kobo physical buttons and page-turner device support (kobo.koreader support as well) Pressing a physical page-turn button (or a Bluetooth remote) past the last panel on a page should automatically turn the page and open the first panel of the next one. Going backward from the first panel does the same in reverse. Corner and zoom gestures on Kobo hardware should be recognized out of the box too, with no extra setup needed. I say should because I tested this against the kobo.koreader repo and tried to emulate the Kobo environment with a small script. However, since I don't actually own a Kobo device, I'm flying a bit blind here! I hope it works flawlessly for you Kobo users. If it doesn't, please open an issue in this repo and I'll fix it ASAP. |
| Rotation Picker |
Redesigned rotation menu The rotation button now opens a small visual picker with icons showing exactly how the page will be oriented for each option, instead of forcing you to cycle blindly through rotation states. rotation_improvement_demo.mp4🎥 Opening the visual picker to select the exact screen orientation. |
| Improved Comics Support |
Smarter panel detection Comic reading mode has been polished all around. It now applies automatically to CBR, CBZ, and PDF files. Tiny false "panels" with no real artwork (credit strips, footer rules, stray marks) used to show up as their own swipeable panels. This is now much less frequent, and detection is generally far more reliable on typical Western comic layouts than in previous versions of Panels+. improved_comics_support_demo.mp4🎥 Smooth, accurate panel-by-panel navigation on a Western comic layout. |
| Expanded Format Support |
Increased support for .PDF, .CBR, and .CBZ files Panel+ now features enhanced, native support for standard comic formats ( .CBR, .CBZ) and .PDF files. .epub, .mobi, and similar are not officially supported by this plugin. Please use standard formats to read your manga, as text-based formats are not designed for comics/manga
|
The main focus of this release was your feedback! When I posted the last version on Reddit, the biggest feature requests came from Kobo users and from folks who wanted OCR-powered dictionary lookups.
While I couldn't fit every single suggestion in—that would have taken forever, and I'm juggling other projects—I put a lot of effort into improving the overall experience, fixing obscure bugs, and adding several quality-of-life features.
A Note on OCR Word Lookup
- OCR is not installed by default. Word lookup on comics/manga relies on KOReader's native OCR engine, which requires manual setup first. Please refer to the KOReader OCR setup guide .
- It is genuinely experimental and can be flaky. Reliably finding word boundaries in hand-lettered or stylized comic/manga text turned out to be a much harder problem than I anticipated (call it a skill issue on my part!). Expect the occasional incorrect word or missed tap.
- Workaround: While this stabilizes, I recommend binding a comfortable multi-swipe gesture to "Open dictionary lookup" as a fallback. It is much more reliable than the touch-and-hold OCR method...
v1.2.0 | Smooth and cropped
Panels+ | Smooth and cropped
Built from tag: v1.2.0
Hello PanelsPlus Users!, this was a really fast update. Somehow, I got motivated by some some users really loving the plugin in reddit, so I get myself to work on an even better update than the last one in my free time these days.
New Features
| Feature | Description |
|---|---|
| Feature 1 (Major feat) | Smooth panel-to-panel navigation Switching panels can now pan the camera from the current panel to the next instead of cutting instantly. It's off by default (Classic); the Navigation transition menu switches it to Smooth and exposes sliders for the pan's duration and how many discrete frames it's split into. The frame count matters most on e-ink: it can be dropped to a single frame so the pan costs almost nothing on displays that already handle partial refresh poorly, or raised toward 24 on faster screens for a genuinely smooth pan. |
| Feature 2 (Major feat) | Panning across page boundaries The camera pan now also runs when a swipe crosses from the last panel of one page to the first panel of the next, as long as the next page's panels are already cached in the background — otherwise the crossing quietly falls back to an instant cut rather than blocking the gesture on detection. |
| Feature 3 (Major feat - Implicit) | A fourth crop option: "No crop" Alongside Strict, Loose, and With margin, a panel can now be shown without cropping at all: the viewer centers a screen-shaped window on the panel's own position on the page, so nearby page content that would normally be cut away stays visible, bounded only by the page's own edges (padded with white beyond them). Useful for panels sitting close to the page edge or to each other, where every other crop mode ends up clipping something. |
| Feature 4 (Minor feature) | Loose crop can go up to 100% The bleed slider's cap went from 40% to 100%, and the bleed distance is now measured off the panel's larger dimension instead of its smaller one, so very wide or very tall panels bleed a proportionate amount instead of an oddly small one. |
| Feature 5 (Buf-fixes and overall performance) | Kindle specific-bugs stability improvements and old Koreaders versions support |
panelplus_demo_3-clip-02.mp4
Important Notes about transition animation
The animation has FPS in transitions so it repaints a lot, its recommended to use this feature at 8fps in non ink-based devices (aka. Kindle), in case for ink-devices, I'd recommend 1 fps at most, but even that, its kinda strange, because it repaints the screen a lot and, moves weird due to ink-based-screens nature. Works far better in koreader for linux and mobile, and modern kobo devices, but if you really like it, there's no problem, its always accesible!, you can play with it if its to your taste!
More Fixes
- Fixed a leaked transition-canvas image on every panel viewer close.
- "No crop" mode's page tiles used during a boundary-crossing pan are now freed instead of held for the rest of the session.
- Panning from a larger panel to a smaller one no longer risks its starting offset being silently clamped mid-animation.
- Native (Outline) detection now skips both its shared-context render and its per-probe fallback outright when free memory is under
native_detect_min_free_bytes(100MB), instead of attempting up to 29 full-resolution renders — this plugin's single largest allocation — right when memory is already tight. - Loose crop's bleed distance is now derived from the panel's larger dimension, so wide or tall panels no longer bleed a disproportionately small amount.
- The smooth-navigation frame count is a real, saved setting now (a "Transition frames" slider, 1–24) instead of the placeholder toggle it briefly shipped as; its floor was set to 1 specifically so e-ink readers can pick the least possible animation.
Some new renaming
- "Auto mode" 'modes' has been renamed to a more accurate naming, now deep mode, fast mode and auto mode. (not gutter and outline weird names)
Included Commits
6bddc58feat: Implemented smooth panning (Basic)48f774bfeat: Added animation panning transitions across pagesaafdf69feat: Expanded loose crop percentage cap (Until 100%, maybe doesn't have sense, but its funny)a82d7f9feat: No crop mode (and smooth navigation compatibility)3fd874efeat-fix: Fixed possible memory leaks and improved smooth navigation from bigger to smaller panels47274eafix: Fixing more memory leaks happening in my kindle for many reasonse86049efeat-docs-fix: Improved performance in low memory devices (kindle!)de7ddabenhance: Setting minimum FPS for smooth transitions to 1 (foe e-ink-readers)
Upgrading
Copy panels_plus.koplugin over your existing folder and restart KOReader. Your settings are kept; smooth navigation defaults to Classic (off) until you turn it on from the Navigation transition menu.
Author
- KristanLaimon
Thanks for using PanelsPlus+, any bug you found, pls create an Issue and I'll fix it ASAP 👍🏻.
1.1.0-RC5 Faster, better, stronger
Panels+ | Performance Update + Useful utilities
Built from tag: v1.0.0-RC5
This time, the release focuses on speed and pages/panels the panel detector used to miss. Opening panel view no longer stalls for seconds in very-low-end devices (yes, I'm looking at you Kindle), swiping between panels is smoother, and panels are now found on dark-background pages and in rows of small panels where detection previously gave up.
Highlights
Panel detection on dark pages
KOReader's default detector recognizes panels by searching for white gaps. On pages with dark backgrounds or inverted colors, detection previously failed completely.
- Dynamic Background Detection: Panels+ now measures the page’s specific background color instead of assuming white.
- Inverted Page Support: Dark-mode and white-on-black pages are now detected with the same accuracy as standard pages.
Much faster panel detection
Opening the panel view previously required rasterizing the full page at high resolution multiple times, causing severe slowdowns on e-readers.
- Single Reduced-Size Render: Initial detection now runs against a lightweight, low-resolution ink map.
- Reused Rasterizations: The fallback detection path reuses a single rasterization across all probe points rather than re-rendering per probe.
- Result: Significantly faster startup when entering panel view, especially on lower-end hardware like Kindles.
Smoother panel switching
Navigating between panels is now fluid and responsive.
- Eliminated UI Stalls: Removed the forced full Garbage Collection (GC) trigger that ran on every panel switch.
- Background Pre-rendering: The next panel renders in the background while you read the current one, making swipes feel instant.
- Smart Memory Management: Pre-rendering automatically turns off when system RAM is low to prevent crashes.
Choose your detector
A new Panel Detection menu allows you to switch detection algorithms on the fly to handle tricky comic layouts.
- Detector Modes:
- Auto: Attempts Gutter mode first and gracefully falls back to Outline mode.
- Gutter Mode: Uses a fast, gap-based detector optimized for clean panel margins.
- Outline Mode: Uses KOReader’s native, literal contour detector for irregular layouts.
- Quick Toggle: Cycle modes directly inside the panel viewer using the top-bar button.
- Additional Controls: Toggles added for pre-rendering behavior and detection performance logs. More info in Modes.md.
New button "Auto mode" that cycles through Auto, Gutter & Outline when pressing
A third crop mode: "With margin"
Provides more flexibility over how panels fit on your screen, grouped into a dedicated control row in the viewer UI.
- "With Margin" Mode: Adds a small, comfortable zoom-out buffer around the panel without revealing surrounding page content.
- Splash Page Guard: Full-page and splash panels automatically bypass the margin zoom-out to avoid wasting screen real estate.
- Long-Press Configuration:
- Long-press the Loose Crop button to adjust the bleed area.
- Long-press the With Margin button to tune the zoom-out padding. Both are now hinted as "(Long press config)" in their label.
- Reorganized UI: Crop and detector-mode buttons are now grouped together in their own row since both control how the current page is detected/cropped.
panelsplus_demo_2.mp4
Fixes
- Rows of small panels separated by narrow gutters are now split into individual panels instead of being returned as one. The minimum detectable gutter went from roughly 15px to roughly 7px on a 1600px-wide page.
- Panels separated by non-square or tilted gutters (up to 6 degrees) are now split using slanted line projections instead of being returned as a single grouped panel.
- Panel detection no longer re-rasterizes the full page for every probe point.
- Fixed bad page rendering handling where detector failures permanently disabled the batched fast-path session-wide, preventing high memory usage and KOReader crashes over long sessions.
- Removed the forced garbage collection that ran on every panel switch.
- Prefetch jobs scheduled for pages you have already turned past are now cancelled instead of all running anyway, and no scheduled work survives closing the document.
- The panel cache holds 12 pages instead of 2, so stepping back a page no longer re-detects it from scratch.
- Fixed the low-memory check for pre-rendering, which compared bytes against a kilobyte threshold and so never actually triggered.
- Colour pages are now converted once before scanning rather than being read pixel by pixel through the slow path.
Documentation
This release adds a docs/ folder describing how the plugin works, with diagrams:
- Architecture — module map and what happens between a long hold and a panel on screen.
- Panel detection — how panels are found, why there are two detectors, and every tuning knob.
- Detector modes — reader-facing guide to Auto, Gutter, and Outline modes and how to diagnose misread pages.
- Performance — what each step costs, the memory budget, and how to measure it on your own device.
Included Commits
3c01185perf(detector): probe a whole page against one rasterizationc3b1fe6feat(detector): detect panels from a low-resolution ink mapddcc5a8perf(viewer): stop forcing a full GC and warm the next panel681e382fix(cache): cancel stale prefetch work and keep more pages0a50b89feat(menu): expose detector choice, prerender and timing logs5788415docs: document the panel pipeline, detection and performancec5e26fefix(viewer): compare prerender headroom in bytes, not kilobytes3046f4dperf(detector): sample the ink map from a greyscale buffer02eb292docs: avoid a mermaid reserved word in the module diagram3c57e00fix(detector): split panel rows separated by narrow gutters30c7550fix(detector): split panels whose gutters are not squaref25541bfeat(viewer): cycle Auto, Fast and Exact mode from the panel viewbb8fe6adocs: cover tilted gutters and the viewer mode button3880511refactor(viewer-ui): Better names in new ui option62db13ffix: Fixed bad page rendering handling making crash koreader over time42b5eb1docs: Updated docsebd4683chore(git): ignore vendored koreader reference treef6ccd6bfeat: Add adjustable "With margin" crop mode9b5c617feat: Make loose crop's bleed amount configurable via long-pressea303d9ui: Hint that Loose crop and With margin are long-press configurableced709cui: Move crop button to the second button row0fd0edfui: Give detector and crop buttons their own third row
Upgrading
Copy panels_plus.koplugin over your existing folder and restart KOReader. Your settings are kept; the detector and cache values tuned in this release are applied automatically.
Author
- KristanLaimon
1.0.0-RC4 Qualities of life update
Panels+ | Quality of Life Update
Built from tag: v1.0.0-RC4
This release focuses on improving the panel-focused reading experience. It adds more control over the viewer UI, improves gesture behavior while Panels+ is active, and makes zooming and navigation feel smoother.
Highlights
| Feature | Description |
|---|---|
| Feature 1 | Toggle the bottom progress bar Added an option to hide or show KOReader's bottom progress bar while reading in focused-panel mode. |
| Feature 2 | Use configured document gestures inside Panels+ Document gestures configured in KOReader can now be used while reading through the Panels+ viewer. |
| Feature 3 | Switch back to KOReader native panel focus zoom Added an easy way to return to KOReader's native panel focus zoom behavior when preferred. |
| Feature 4 | Mouse wheel zoom and improved panning Added mouse wheel zoom support and improved panning behavior for smoother navigation. |
Fixes
- Fixed a
refreshfuncissue that could affect viewer refresh behavior. - Fixed spread and pinch gesture handling while a panel is focused.
- Spread and pinch gestures are no longer incorrectly forwarded as normal gestures.
- This also fixes the issue where zoom in and zoom out could be implicitly disabled.
Included Commits
59a1b9cfeat: Added toggle bottom progress bar51704edfix: Spread and Pinch gesture forwarded to plugins when panel focuseda50d0f7fix: Fixedrefreshfuncbug0f4ae71feat: Now user document gestures usable when using plugin1b69e63feat: Easily switch to native focus zoomf15da0ffeat: Mouse zooming support and panning features
Author
- KristanLaimon
1.0.0-RC3 Official Release
Bugs, memory-leak and performance update
This time, I noticed that, when using for some time, the plugin used to crash koreader due to not freeing previous-already-read pannels. It's fixed now.
Commits
- df4aa69 CI: Now pipeline publishes zip (i hope so) (KristanLaimon)
- eb5b0b4 fix: Fixing small memory leak when using plugin for long documents (KristanLaimon)
- b7ad029 docs: Update download link text in README.md (Kristan Ruíz)
- cc48e8a CI: Now fetches last tag instead of expecting last tag from merge (KristanLaimon)
- 6d64998 CI: Pipeline runnable from web now (KristanLaimon)
- 72d2bbf CI: Fixing github actions pipeline (KristanLaimon)
Authors
- Kristan Ruíz
v1.0.0-RC2 | Official release
First official release
This will be the first stable-tested version of the plugin. I've personally tested this on my e-reader Kindle Paperwhite 6 (12gen), so it should work well on low-spec devices (500mb~ ram).
Specs, installation and more are in the README.md of this repo.
Hope you enjoy reading with panels+







