Skip to content

Releases: conorgregson/reading-log-app

Readr v1.9.0 — Visualization & Motivation

08 Dec 05:11

Choose a tag to compare

🚀 Highlights

  • New interactive charts for reading trends and top books.
  • Shareable Snapshot card with theme-aware PNG export.
  • Improved motivation loops through better badges UX and live summaries.
  • Keyboard shortcut to jump straight to Session History search.
  • Major accessibility polish across charts, badges, and Snapshot.

📑 What’s new

  • Added per-day reading trend chart with accessible text summaries.
  • Added Top Books progress chart.
  • Added “Jump to Session History Search” keyboard shortcut.
  • Added help hint under the log form when shortcuts are enabled.
  • Added Shareable Snapshot export (PNG) with correct light/dark theming.
  • Added automatic theme sync for Snapshot and Snapshot logo.
  • Added ARIA live regions for charts, badges, and Snapshot trend text.
  • Improved Snapshot typography, spacing, and readability.
  • Upgraded unlocked badge visuals to primary-highlighted cards.

🐛 Fixes

  • Fixed Snapshot staying in dark mode after switching themes.
  • Fixed unreadable Snapshot text in light mode.
  • Fixed trend summary double-colon display issue.
  • Fixed badges summary not updating when unlocking new badges.
  • Fixed unlocked badges not changing background color in UI.

Readr v1.8.0 — Sessions & Backups

06 Dec 01:29

Choose a tag to compare

🚀 Highlights

  • Inline Session Editing
    Edit pages, minutes, and notes directly inside Session History using number inputs, textareas, and instant Undo.

  • Sessions-Only Backups
    Export/import just your reading sessions without affecting books or profile settings.

  • Full-Library Backups (Profile + Books + Sessions)
    Backups now include the complete library with schemaVersion + timestamp metadata.

  • Backup Details Tooltip
    A polished inline card explaining full vs sessions-only backups, showing last backup date, relative time, book/session counts, filename preview, and a built-in Backup Now button.

  • Rich Import/Export Toasts
    See exactly what was imported or exported: dates, book counts, session counts, and more.


📑 What’s new

Backup System Overhaul

  • Added sessions-only export (sessions.json) containing normalized reading history.
  • Added sessions-only import with:
    • Schema validation
    • Safe merging
    • Pages/minutes normalization
    • Duplicate prevention
  • Full backups now include:
    • schemaVersion
    • exportedAt
    • profile
    • books
    • sessions
  • All timestamps now use a shared ISO string for consistent metadata.

Backup Details Tooltip

A new inline details card in Settings includes:

  • Clear explanation of what full vs sessions-only backups contain
  • Last full backup: exact date + friendly relative label (“today”, “yesterday”, “3 days ago”)
  • Library counts: number of books and sessions
  • Filename preview: e.g., readr-backup-2025-12-04.json
  • Backup Now button that exports immediately

Inline Session Editing

  • Number inputs for pages and minutes.
  • Auto-resizing textareas for notes.
  • Blur-to-save + Cmd/Ctrl+Enter to commit edits instantly.
  • Row-level Undo for every operation.

Rendering & Performance

  • Session History now:
    • Builds a normalized dataset once
    • Reuses sorted logs
    • Patches only changed rows
    • Shares highlight logic with global search
  • Drastically improved responsiveness on ≥300-session logs.

Summaries, Goals & Streaks

  • All daily/weekly/monthly totals use normalized fields.
  • Fixed NaN edge cases from mixed legacy log formats.
  • Reset Data now reliably clears all derived values.

UI & Polish

  • Updated hover states for better contrast in light mode.
  • Undo buttons now styled correctly in dark mode.
  • Edit buttons match Books section styling and transitions.
  • Session History row-actions are aligned and consistent.

🐛 Fixes

  • Fixed stale rows caused by memoized logs not invalidating correctly.
  • Fixed NaN totals from mismatched log formats.
  • Fixed Reset Data leaving summaries/streaks stale.
  • Fixed dark-mode Undo visibility.
  • Fixed search highlight inconsistencies.
  • Fixed duplicated error messages during import (single clean toast now).
  • Cleaned up legacy editing paths and old DOM rewrite patterns.

Readr v1.7.0 - Goals & Layout Polish

28 Nov 20:34

Choose a tag to compare

🚀 Highlights

  • Beautifully refined Goals UI with consistent spacing and card styling.
  • New Past Goals panel shows your monthly/yearly reading targets from previous periods.
  • Weekly/monthly summaries + streak indicators now built into the Daily Goal card.
  • Goal Reminder Notifications (Daily / Weekly) with browser support + in-app fallback.
  • Full accessibility upgrade: ARIA announcements for all major goal events.

📑 What’s new

  • Collapsible Past Goals history panel with automatic archiving.
  • One-time migration to seed history for existing users.
  • Compact summaries for This Week and This Month (pages + minutes).
  • Current and Max streak indicators, recalculated with each session update.
  • Goal Reminders inside Settings — Off → Daily → Weekly.
  • Dedicated ARIA live region + screen-reader messages for:
    • Daily goal saved
    • Book goals saved
    • Daily goal met
    • New max streak reached
    • Reminder mode changes
    • Reminder notifications firing

🐛 Fixes

  • Unified header/input spacing across all sections.
  • Balanced padding and margins in Goals, Book Goals, Search, and Books cards.
  • Improved mobile layout for Book Goals input grid.
  • Fixed minor inconsistencies in row spacing within the Reading Log and Books List.

Readr v1.6.0 — Search & Filters

08 Oct 05:42

Choose a tag to compare

🚀 Highlights

  • Major search upgrade with grouped autocomplete, saved filters, and explicit search control.
  • Multi-select filters and smarter fuzzy matching deliver faster, more relevant results.
  • Bulk Edit, Settings dropdown, and Installed App view round out the polished experience.

📑 What’s new

  • Added dedicated Search button (works with Enter key).
  • Added grouped autocomplete for Title / Author / Series / Genre.
  • Added saved searches & filters with rename / delete / apply actions.
  • Added inline clear (×) inside the search box.
  • Added multi-select for genres and statuses.
  • Added runtime DOM-safety checks (no innerHTML in template injection).
  • Added three new screenshots: Bulk Edit Dialog, Settings Dropdown, and Installed App View.
  • Added five screenshots for Search & Filters, Multi-Select Filters, Saved Searches, and Results examples.
  • Changed: Search now triggers only on inputs ≥ 2 characters.
  • Changed: Books list uses improved fuzzy + fallback matching.
  • Changed: Search button and clear visibility reflect current filter state.

🐛 Fixes

  • Fixed double “×” icon in Chrome/Edge due to native search cancel button
  • Fixed disappearing Clear Filters button when filters were active
  • Fixed undefined sort crash when searching with empty query
  • Smoothed Search button visibility logic — no more flash or stuck disabled state

Readr v1.5.0 — Book Enhancements

01 Oct 06:12

Choose a tag to compare

🚀 Highlights

  • Fresh book metadata options: series/stand-alone, digital/physical, optional ISBN
  • Streamlined status flow — Planned → Reading → Finished with themed buttons
  • Bulk editing now supported for status, genre, and more
  • Expanded accessibility: focus trapping, keyboard nav, live regions

📑 What’s new

  • Added series vs stand-alone flag
  • Added digital vs physical format flag with subtypes
  • Optional ISBN field with live hint + validation
  • Dropdown auto-suggest for author, series, genre in Add/Edit forms
  • Bulk edit dialog with keyboard support
  • Datalist support for Add-Book author/series inputs
  • Normalization of legacy statuses to Planned/Reading/Finished

🐛 Fixes

  • Bulk Edit radio switching bug fixed (only the chosen field shows now)
  • “Change format subtype” panel now appears correctly when selected
  • Bulk dialog focus bug (radio change now targets correct input)
  • Consistent ISBN validation message across all forms
  • Fixed Session History button styles:
    • Prev/Next use ghost style
    • Save button now teal, consistent with other save actions
  • Prevent malformed ISBN values from being saved

v1.4.1 — Button & Progress Fixes

24 Sep 06:22

Choose a tag to compare

🚀 Highlights

  • Core Settings menu actions (backup, import, reset) now fully functional.
  • Progress bar now shows the intended red → yellow → green states at the right thresholds.
  • README expanded with four new screenshots: main UI, goals & sessions, populated books list, and dark mode.

📑 What’s new

  • Adjusted progress bar logic so warning state (yellow) kicks in before full success.
  • Improved consistency across Settings menu buttons (Switch Mode, Clear Cache, Backup, Import, Reset Preferences).
  • Added screenshots to the README to better showcase:
    • Main UI
    • Daily Goal, Book Goals, Add Reading Session, and Session History
    • Books list (populated)
    • Dark mode

🐛 Fixes

  • Fixed mismatched button IDs that prevented Backup data, Import data, and Reset Preferences from working.
  • Ensured Clear Cache and Switch Mode continue to operate after cache/service worker refresh.

Readr v1.4.0 — Power-User Features

24 Sep 06:19

Choose a tag to compare

🚀 Highlights

  • Undo for mistakes → recover a book or session after delete/finish
  • Inline editing → fix book details without re-adding
  • Smarter search → fuzzy matching catches typos and partial tokens (“Hobbot” → Hobbit)
  • Session history view → table with edit/delete + pagination
  • Install app button → green action in Settings with hybrid state handling
  • Install status pill → live badge beside Install app showing Unavailable, Ready, or Installed
  • One-click Reset Preferences → clear filters/sort in Settings
  • Predictable updates → “Check updates” reloads when a new Service Worker takes over

📑 What’s new

  • Modular refactor — app.js slimmed down into dedicated modules under features/, utils/, and ui/
  • Undo + inline editing for books and sessions
  • Session history view with filters and pagination
  • Fuzzy search with centralized SEARCH_FIELD_WEIGHTS relevance
  • Reset Preferences and Check updates added to Settings menu
  • Install app button styled green; Reset Preferences styled grey for clear affordance
  • New status pill beside Install app updates live (Unavailable → Ready → Installed)
  • Global focus ring (teal / aqua in dark mode) and hover underline for links
  • Dev smokes added for Undo, install button, and storage migration
  • New release tooling: dev/bump-version.js auto-bumps SW cache + HTML script query params

🐛 Fixes

  • Search highlights now map normalized matches back to original text (accents/dashes)
  • Tooltip positioning fixed on resize/scroll (no stale values)
  • Service Worker hardened: cache version bumped, modules precached, no unsafe calls
  • Import validator corrected: OR logic, proper items key, normalized statuses
  • Session history pagination labels + Next/Prev use shared totalPages

🔄 Upgrade Notes

  • No breaking changes — existing backups continue to work
  • First load after deploy refreshes pre-cache; already-open tabs auto-reload on SW controllerchange
  • Reset Preferences clears readr:filters:v1 and re-renders list
  • Undo applies only to the most recent delete/finish (~6s)
  • Backups include version field; old backups migrate automatically
  • Release process: bump SW VERSION, update ?v= query params, then run npm run release:check

✅ QA Checklist

  • Search: typo tolerance (“Hobbot”), multi-token (“har pot”), correct highlighting
  • Books: inline edit/save/cancel works; delete/finish shows Undo; Undo restores
  • Sessions: history table renders; edit/save/delete works; Undo restores; pagination correct
  • Settings:
    • Reset clears filters
    • Check updates reloads on new SW
    • Import/Export JSON backups with version
    • Install app button: green, triggers prompt, disables after accepted
    • [NEW] Install status pill updates live → Unavailable → Ready → Installed
  • Keyboard: ArrowDown from search → list; Escape clears selection; Enter saves edits/goals
  • Offline: open app → go offline → refresh → app still loads

Readr v1.3.3 — Bug Fixes

16 Sep 06:32

Choose a tag to compare

🚀 Highlights

  • Progress bar now updates correctly and shows the expected green / amber / red states.
  • Book list and filters refresh immediately after adding a new book.

📑 What’s new

  • Daily goal widget correctly renders current progress and streak values.
  • CSS tweak ensures the progress bar fill is always visible.

🐛 Fixes

  • Replaced window.render guards with direct render() calls to restore re-rendering in module mode.
  • Fixed missing progress bar state colors (success, warning, error).
  • Ensured filters (author/genre) update after new books are added.

Readr v1.3.2 — Security & Bugfixes

15 Sep 21:26

Choose a tag to compare

📑 What’s new

  • Internal security hardening for toast notifications.
  • Small UI polish in tooltips and settings menu behavior.

🐛 Fixes

  • Fixed potential XSS in showToast() by removing innerHTML usage.
  • Secured import/export toast messages (no more HTML injection).
  • Corrected tooltip list rendering (<li> items) and heading typo.
  • Fixed ArrowUp keyboard navigation in settings menu.

This is a patch release. No new features; recommended upgrade for improved safety.

Readr v1.3.1 — UI Polish & Service Worker Fixes

15 Sep 19:12

Choose a tag to compare

🚀 Highlights

  • Refined Settings gear: label/icon adapt to light/dark theme, hover adds subtle background pulse + icon rotation.
  • Accessibility: reduced-motion users see a clean fade effect instead of spin/pulse.
  • Service worker fixed: versioned cache names + query-string asset busting prevent stale CSS/JS.
  • Live demo now reliably reflects new releases.

📑 What’s new

  • Added theme-aware color to gear label/icon.
  • Gear hover/focus polish: background pulse (light = darker flash, dark = lighter flash), icon brightens + rotates.
  • Service worker bumped to v1.3.1 with corrected cache handling.
  • Asset URLs updated with ?v=1.3.1 for cache-busting.

🐛 Fixes

  • Old service worker (ignoreSearch: true, undefined VERSION) caused stale assets to persist.
  • Settings label previously appeared white in light mode.