-
v4.3.1
StableAll checks were successfulreleased this
2026-04-16 14:36:47 +05:00 | -547 commits to main since this release- Remove redundant Skip/Read Now/Like buttons from desktop right panel
- Main action buttons in center area remain visible on both mobile and desktop
- Keyboard shortcuts hint still available at bottom
- Cleaner UI with no repeated functionality
Downloads
-
v4.3.0
StableAll checks were successfulreleased this
2026-04-16 14:20:04 +05:00 | -546 commits to main since this releaseBook Info Page Improvements:
- Add quick stats row (chapters, rating, readers)
- Enhance author display with better typography
- Improve genre tags with amber-branded pills
- Add green badge for 'ongoing' status
- Wrap summary in card with better styling
- Enhance 'More' button with proper design
- Improve StarRating component to show rating more prominently
Discover Page Improvements:
- Add progress bar showing completion through deck
- Enhance keyboard shortcuts with visual kbd elements
- Improve empty state with better visuals and CTA hierarchy
- Enhance toast notifications with icons and color-coded backgrounds
- Add auto-dismiss for toast (4s timeout)
- Improve preferences modal button labels
- Add undo functionality for last vote
- Better stat display (X of Y remaining)
All changes maintain consistency with LibNovel's design system.
Downloads
-
v4.2.2
StableAll checks were successfulreleased this
2026-04-16 13:00:50 +05:00 | -545 commits to main since this release- Bump all section headings to text-lg for visual hierarchy
- Replace SVG book icon no-cover placeholders with first-letter avatars
across Completed, Ready to Listen, Trending, Recommendations, Recently
Updated, and From Following shelves - Highlight user's top genre pill in Browse by Genre strip
- Add "View all → /catalogue?genre=…" link to Because You Read section
Downloads
-
v4.2.1
StableAll checks were successfulreleased this
2026-04-16 12:48:33 +05:00 | -544 commits to main since this release- Import: fix "1/1/1" date display (Go zero time.Time → show dash)
- AI Jobs: guard fmtDate against zero-time dates
- AI Jobs: add "Cancel all in-flight (N)" bulk action button
- AI Jobs sidebar: show live running+pending count badge from layout
- Notifications: add broadcast panel linking to push.libnovel.cc, relabel inbox section
Downloads
-
v4.2.0
StableAll checks were successfulreleased this
2026-04-16 12:34:55 +05:00 | -543 commits to main since this release- Persist audio filter in URL (?audio=1) via history.replaceState
- Show total novel count in browse mode subtitle
- Close filter panel automatically on Apply
- Replace missing-cover SVG placeholder with styled first-letter avatar
- Add forbidden scrape badge to list view (was missing, grid had it)
- Carry audio param through applyFilters() navigation
Downloads
-
v4.1.9
StableAll checks were successfulreleased this
2026-04-15 21:35:24 +05:00 | -542 commits to main since this release- Remove UI build artifact upload/download steps (18 lines removed)
- Remove .dockerignore manipulation workaround
- Always build UI from source inside Docker (more reliable)
- Remove PREBUILT arg from ui/Dockerfile and docker-bake.hcl
This fixes the '/app/build not found' error in CI by eliminating the fragile
artifact-passing mechanism. UI now builds fresh in Docker using build cache,
same as local development.Downloads
-
v4.1.2
Stablereleased this
2026-04-15 19:00:21 +05:00 | -535 commits to main since this release- Remove non-root user from pocketbase Docker image; the existing pb_data
volume was created by the previous root-running image so files are owned
by root — running as a non-root appuser caused an immediate permission
error and container exit - Increase healthcheck retries to 10 and add start_period=30s so migrations
have time to run on first boot before liveness checks begin
Downloads
- Remove non-root user from pocketbase Docker image; the existing pb_data
-
v4.1.1
Stablereleased this
2026-04-15 18:05:02 +05:00 | -534 commits to main since this release- Add wget to pocketbase Alpine image so the docker-compose healthcheck
(wget http://localhost:8090/api/health) can actually run - Fix saveIfAbsent calling itself instead of app.Save(c) — was an
infinite recursion that would stack-overflow on a fresh install
Downloads
- Add wget to pocketbase Alpine image so the docker-compose healthcheck
-
v4.1.0
Stablereleased this
2026-04-15 11:06:27 +05:00 | -533 commits to main since this releaserelease.yaml:
- Build and push kalekber/libnovel-pocketbase image on every release tag
- Add deploy job (runs after docker): copies docker-compose.yml from the
tagged commit to /opt/libnovel on prod, pulls new images, restarts
changed services with --remove-orphans (cleans up removed pb-init)
ci.yaml:
- Validate cmd/pocketbase builds on every branch push
Required new Gitea secrets: PROD_HOST, PROD_USER, PROD_SSH_KEY,
PROD_SSH_KNOWN_HOSTS (see deploy job comments for instructions).Downloads
-
v4.0.0
Stablereleased this
2026-04-14 18:04:10 +05:00 | -530 commits to main since this releaseAdds BACKEND_ADMIN_TOKEN env var (set in Doppler) as a required Bearer
token for every admin route. Also fixes PocketBase filter injection in
notification queries and wires BACKEND_ADMIN_TOKEN through docker-compose
to both backend and ui services. Includes CLAUDE.md for AI assistant guidance.Downloads