Repository navigation
Releases: the-database/yosh
Releases · the-database/yosh
Release list
v0.6.0
v0.5.2
Library grid: distinguishing volume captions (#15)
v0.5.1
- A joined double-page spread no longer swallows the page after it
- Ctrl+wheel zooms at the cursor (@abdalrahmanx9)
- Clamp pan against the real drawn box, not the anchor page (@abdalrahmanx9)
v0.5.0
Desktop touchscreen support + unified gesture physics (#9)
Touch, pen-on-glass, and mouse now share one gesture engine, so the physics are identical everywhere:
- Pan physics on every platform: panning a zoomed or overflowing page (including huge images at 1:1) glides on release and coasts to a stop, clamping at the page edges - on the desktop (touch and mouse drag) and now on Android too.
- Finger scroll in continuous-scroll mode with an inertial fling (tap to catch it). When zoomed, horizontal drags pan the strip and glide as well - this also fixes Android's zoomed scroll strip, which previously couldn't be finger-scrolled at all.
- Swipe to flip pages with flick-to-commit and snap-back, plus a drop shadow riding the dragged edge.
- Pinch-zoom anchored to the finger midpoint, with a detent at the fit scale.
- Robust on real digitizers: lift-off "bounce" contacts no longer kill flings, and burst-delivered events can't zero a release velocity.
- Taps follow each platform's existing rules (desktop: edge taps flip, middle double-tap toggles fullscreen).
- The desktop info overlay (key I) shows a live Touch row with release/glide velocity for diagnosing feel.
Also new:
- Scroll speed setting (Settings panel): scales mouse-wheel scrolling from 0.25x to 3.00x. Drags stay 1:1 with the content and flings keep the velocity you threw them with.
No changes to the decode/render pipeline - rendering and seek throughput are identical to v0.4.1 when no input is active. Includes the spine-shadow retune and stretch-fitting option from earlier on main (#11, #13).
v0.4.1
v0.4.1 - Desktop battery / idle pass The desktop now wakes for nothing when idle: background producers (library scans, covers, sibling scans, folder watch, update check, opens) wake the frame loop themselves and the 250ms polling heartbeat is replaced by a pure deadline scheduler for the three real timers (folder-watch debounce, spinner grace, toast expiry) - background results also land instantly instead of up to 250ms late. Minimizing parks the decode pool (0% CPU) and restores seamlessly. Config saves are atomic (temp + rename), so a crash can no longer truncate settings/positions. New Performance setting in the gear panel: Auto / Battery saver / Balanced / Performance, applied live without reopening the book - Auto runs full performance on AC and drops to Balanced on battery.
v0.4.0
v0.4.0 - Android battery / responsiveness / slow-device overhaul Decode workers now wake the frame loop themselves, so on-demand rendering is real on both platforms: an open book, the library, and a backgrounded app all idle at zero CPU. The whole-volume preview tier moved into a lowest-priority pool queue (2-worker cap, HQ-reserved lane, per-stride rebuilds). Device tiers scale the decode budget on weaker hardware with a new Performance setting (Auto/Battery saver/Balanced/Performance) that applies instantly; flagship behavior is unchanged. Book opens, sibling scans, the info overlay, and position saves are all async/atomic on Android; backgrounding parks the decode pool and resume reattaches the parked book in milliseconds instead of seconds. KEEP_SCREEN_ON only holds while reading (via a JNI bridge - the android-activity set_window_flags wrapper deadlocks the event loop). LQ JPEG thumbnails decode IDCT-scaled. Fat LTO release builds.
v0.3.1
Responsiveness pass — the UI never blocks on slow disk I/O: detached decode workers, instant quit, and async resume/sibling/info paths. Mouse wheel no longer gets swallowed by non-scrollable chrome (seekbar, animation panel), including the dead strip over the seekbar frame margin.
v0.3.0
yosh v0.3.0 - Legacy (Shift-JIS/GBK) filenames in CBZ/ZIP archives now read correctly. Pages are addressed by archive index rather than by name, which cannot round-trip for non-ASCII entry names, and legacy names are decoded for display and sort order. - CMYK and YCCK JPEGs decode instead of failing (#14), and a CMYK ICC profile no longer silently corrupts colors. - The top bar no longer covers the top of the page (#10). - Two-page spreads report both pages in the window title and the Tab info overlay, and the page counter no longer disagrees with the title (#12). - A maximized window reopens maximized, and un-maximizing returns to the previous windowed size instead of a near-fullscreen rect.
v0.2.1
yosh v0.2.1: Library Resume button + reading-info cleanup; settings p…
v0.2.0
Android: - The Android APK is now a release asset — built on CI (Linux runner), with RAR/CBR support enabled, release-signed and update-installable. - Light / e-ink theme (System / Light / Dark; follows the OS day/night setting by default) — usable on reflective e-ink panels. - Android 10 support (legacy external storage + runtime READ permission), so the library and RAR work on older devices. - Fixes: crash on relaunch (one winit EventLoop per process) and crash on resume from background on e-ink GPUs (rebuild the GPU on resume). Desktop: unchanged from v0.1.41.