github kikootwo/ReadMeABook v1.2.9

latest release: v1.2.10
3 hours ago

🎉 Release v1.2.9

⚠️ Before you upgrade: this release moves the image to Node.js 24. If a download client, indexer, Plex/Audiobookshelf, notification target or OIDC provider stopped connecting over HTTPS after this upgrade (Issuer.discover() failed., "SSL/TLS certificate error", dh key too small, EE certificate key too weak), that server uses a key under 2048 bits, which Node.js 24 refuses (weak DH parameters even with "Disable SSL verification" on). Upgrade the server's certificate or DH parameters, or set NODE_OPTIONS=--tls-cipher-list=DEFAULT@SECLEVEL=1 on the container as a stopgap: https://github.com/kikootwo/ReadMeABook/blob/main/documentation/deployment/unified.md#tls-errors-after-upgrading-to-node-24

Features:

  • ✅ the image now runs Node.js 24 (was 20)
    • #398
    • see the TLS note above. Same volumes, ports, users and settings.

Fixes:

  • ✅ BookDate recommendations work with current Claude models

    • #263
    • #395
    • newer Claude models send their thinking before the answer, and BookDate failed with Cannot read properties of undefined (reading 'replace'). OpenAI and OpenAI-compatible providers now also handle empty and cut-off replies.
  • ✅ imported M4B files carry their Audible ASIN as a tag

    • #404
    • ffmpeg silently dropped it; it's now written after ffmpeg and checked before the file is replaced. Audiobookshelf reads it when it scans.
  • ✅ long book summaries scroll inside the details card instead of stretching it

  • ✅ a Kindle-fixed EPUB is imported only after it reads back as written

    • #402
    • if the check fails, the original EPUB is imported and the request says so.

    Upgrade:

    docker pull ghcr.io/kikootwo/readmeabook:latest
    docker compose down
    docker compose up -d

What's Changed

  • chore: replace the literal NUL byte in the tagger's sanitize regex by @kikootwo in #394
  • fix: read BookDate answers from Claude's text blocks, not the first block by @kikootwo in #395
  • docs: refresh the README and its screenshots by @kikootwo in #396
  • chore: move the image, CI and the e2e harness from Node 20 to Node 24 by @kikootwo in #398
  • chore(deps): bump date-fns from 3.6.0 to 4.4.0 by @dependabot[bot] in #347
  • chore(deps): stop Dependabot proposing openid-client and TypeScript majors; group vitest by @kikootwo in #403
  • fix: import a Kindle-fixed EPUB only after it reads back as written by @kikootwo in #402
  • fix: write the ASIN into M4B files as a freeform tag by @kikootwo in #404
  • fix: scroll long book summaries inside the details card by @kikootwo in #410
  • chore(deps): stop Dependabot proposing zod, ioredis and eslint majors by @kikootwo in #411
  • chore: release v1.2.9 by @kikootwo in #416

New Contributors

Full Changelog: v1.2.8...v1.2.9

Don't miss a new ReadMeABook release

NewReleases is sending notifications on new releases.