Skip to content

Releases: PatchScratch/NovelNotifier

v2.2 — Reading position sync, faster translation

Choose a tag to compare

@PatchScratch PatchScratch released this 13 Oct 16:04

Reading positions sync both ways, and a faster, hardier translation engine.

New:

  • Syosetu しおり (reading position) sync: opening or advancing through a bookmarked serial moves your しおり on the site automatically, and the reader's ⋮ menu sets it anywhere manually — the same write the site itself performs, verified live.
  • Kakuyomu reading history: opening an episode records your position on the site (続きから読む), with a manual "set reading position here" in the reader menu. Auto + manual, both verified.
  • Parallel chapter translation: chunks now fly two at a time — long chapters translate in roughly half the time (a 287-paragraph chapter: 169s, measured).

Fixed:

  • Rapid tab switching can no longer paint one tab's rows under another tab's heading (fetch results are generation-guarded on both Discover screens).
  • Ranking-title translations show a "Translating titles… (N queued)" progress line while the on-device engine chews through a new list, instead of rows looking silently blank; the queue counter can no longer strand.
  • Detail-screen titles translate (dimmed English under the Japanese, Syosetu + Kakuyomu).
  • ScribbleHub suggestion rows confirmed gone from the reading list.

v2.1 — AI translation, Japanese dictionary, AI covers

Choose a tag to compare

@PatchScratch PatchScratch released this 13 Oct 11:24

AI translation suite and the long-press Japanese dictionary headline this release.

New:

  • Chapter translation through your own OpenAI-compatible key (OpenRouter, OpenAI, local servers). English renders under each Japanese paragraph and is stored inside the offline ePub. Translate one chapter or the whole book at once; switch the reader between JP+EN, Japanese only, or English only from the reader menu.
  • novel-mill-style lock files (prompt / glossary / voices), editable per series, automatically refined after every translated chapter so names and voices stay consistent.
  • Long-press any word in the reader for an offline dictionary lookup: reading, part of speech, and JMdict senses (Kuromoji + a 499k-entry dictionary bundled in the app).
  • AI cover art for series without one — your own prompt, title and author rendered as cover typography. Covers travel in backups and a new covers-only zip moves them between devices.
  • Syosetu bookmarks grew up: renamed categories appear in the drawer, and you can move series between categories or remove them right from the app (written back to the site, like NU's change-list).
  • Update notifications for bookmarked Syosetu series via the authors' public Atom feeds.
  • Machine-translated titles and synopses across rankings, search and detail pages (free, on-device).

Fixed:

  • Ranking translations no longer blank after switching tabs or scrolling fast.
  • Cover prefetch resumes instead of restarting; volume-aware chapter ordering and ScribbleHub suggestion rows stay out of your library.
  • Series pages cache locally — re-entering a series is instant.

NovelNotifier v2.0 — Three-site webnovel app

Choose a tag to compare

@PatchScratch PatchScratch released this 12 Oct 13:51

Major revision: NovelNotifier is now a three-site webnovel app. Japanese sites join Novel Updates as first-class workspaces, each with its own drawer and settings — all sharing one in-app reader and one offline ePub library.

New sites

  • Syosetu (なろう) — discovery through Syosetu's official JSON API (rankings + advanced search parity with よもがたり検索), in-app WebView login, bookmark library sync, and the R18 sister sites (Nocturne / Moonlight / Moonlight Ladies) behind an 18+ gate with per-site toggles.
  • Kakuyomu (カクヨム) — discovery through the site's own open GraphQL endpoint (daily/weekly/monthly/all-time rankings × 12 genres × serial/short, paged word search), full ordered table of contents from one work-page fetch, no account needed. R18 works hidden behind an 18+ gate with an R18-only browse chip; device-local bookmarks (⚑ on a work) that travel in backups.

For all sites

  • One reader (browser + extracted views, anti-scrape font-substitution decoding) and one offline ePub library: volume/100-chapter split books, NU-metadata title pages, bulk download that survives screen-off, per-series translation-group filter on NU.
  • English/Japanese app-language toggle — display follows your choice; anything stored or sent to a site stays in the site's native terms.
  • Japanese README (README.ja.md) alongside the English one.

Existing NU features are unchanged: reading lists with unread badges, chapter notifications, cross-device read sync, backups, themes.
APK: NovelNotifier-v2.0.apk — install over any 1.x (same signing key, updates in place).

NovelNotifier 1.3

Choose a tag to compare

@PatchScratch PatchScratch released this 12 Oct 03:19

The headline: your library, offline, as real ePubs

  • Offline library — opt in per series from the reader's ⋮ menu. Chapters are saved into standard ePub 3 books (EPUB-2 compatible): your cover as page one, a full title page with Novel Updates metadata (associated names, type, genre, tags, author, artist, year, completely-translated, original publisher, description), and a proper table of contents. Books split per volume (— Vol N) or into 100-chapter parts when unnumbered. Export via the file picker, or share to any e-reader app.
  • Background bulk download — runs as a foreground service: lock the phone, use other apps, it keeps going. ToC-first: it resolves chapter links from the translator site's own chapter list (anchors, dropdowns, series pages) so Novel Updates sees at most one visit per host; whatever can't resolve falls back to NU links at a gentle 10-second pacing. Multi-host series, JS-rendered lists, and scrambled chapter labels are all handled.
  • Translation-group filter — per series, multi-select which groups appear in RELEASES and participate in reading order and bulk download. Hide a dead or stalled translator, keep the successor.

Reader (from 1.2.x)

  • Decodes font-substitution anti-scraping (renders English while the underlying text is exotic-codepoint gibberish), including unknown fonts cracked at runtime from the page's own glyphs — rotation-proof, Private-Use ladders, partial (vowels-only) substitution. Copy/paste from the web view yields real text too.
  • Image-slice chapters detected and routed to the web view; comments-proof chapter extraction; hidden decoy text filtered by computed styles.

Fixes

  • "Back up library" crash on devices with a theme set (v1.1–v1.2)
  • Deep links now work from cold start
  • Backup restores carry theme + notification + custom-theme settings

Full changelog: v1.2.2...v1.3

NovelNotifier 1.2.2

Choose a tag to compare

@PatchScratch PatchScratch released this 11 Oct 06:32

Fixed

  • "Back up library" crashed (0-byte zip) for anyone who had chosen a theme — the backup snapshot mis-read the newer theme/notification prefs as string-sets. Regression-tested now.

From 1.2.1 (still applies to upgraders from ≤1.2)

  • The app is now signed with a proper release key. Installs from v1.2 or earlier need a one-time uninstall/reinstall: back up library → uninstall → install → restore from backup → log in.

Full changelog: v1.2.1...v1.2.2

NovelNotifier 1.2.1

Choose a tag to compare

@PatchScratch PatchScratch released this 11 Oct 06:27

No feature changes — this release re-signs the app with a proper release key (v1.2 and earlier were signed with a debug key from the project's earliest days).

If you installed v1.2 or earlier: this update will not install over it — please:

  1. In the app: Settings → Back up library (save the zip somewhere safe)
  2. Uninstall the old app
  3. Install this APK
  4. Settings → Restore from backup, then log in again

Your lists, chapter caches, covers, and settings all come back from the backup; only the login session needs redoing. New installs: ignore all of the above.

Full changelog: v1.2...v1.2.1

NovelNotifier 1.2

Choose a tag to compare

@PatchScratch PatchScratch released this 11 Oct 05:50

What's new since 1.1

Reader mode — read chapters as clean, styled text

  • Chapters now open in Reader view: the chapter's text extracted and rendered natively, with sepia/dark/light page themes, serif/sans toggle, and adjustable font size (persisted). ⋮ menu switches between Reader view and the full Web view; the choice is remembered.
  • Per-page fallback: when a host defeats extraction, the reader shows the website with a note instead of failing silently.

Anti-scrape decoding — the part every other extractor fails on

  • Font-substitution hosts decoded: sites that render English through custom fonts while the underlying text is exotic-codepoint gibberish (verified against storyseedling.com) are translated back to real text — both in Reader view and, in Web view, rewritten in the page itself so copy/share/select yields real text.
  • Runtime cipher derivation: unknown substitution fonts are cracked on the fly by rendering glyphs in the page's own fonts and matching them — rotation-proof, works for Private-Use ladders and partial (vowels-only) scrambling. Genuine Chinese/Japanese text is never touched.
  • Image-chapter detection: chapters rendered as image slices are recognized and routed to the web view with an explanation.
  • Comments-proof extraction: known platform content containers are preferred (validated), so pages whose comment sections outweigh the chapter still extract the story.
  • Extraction filters hidden decoy/honeypot text by computed styles, strips embedded watermark tokens, and drops copyright footers and teaser spam.

Also verified live on-device: chapter extraction and book navigation (‹ Prev / Next ›) across multiple translator hosts.

The decoding toolkit is also published standalone as font-decipher.

Full changelog: v1.1...v1.2

NovelNotifier 1.1

Choose a tag to compare

@PatchScratch PatchScratch released this 11 Oct 04:17

What's new since 1.0.1

Reading

  • In-app reader (browser mode) — chapter rows and READ CHAPTER now open inside the app. Walk the book with ‹ Prev / Next ›, flip JavaScript per series when a host misbehaves, or hand a chapter to your browser. ~40 ad/tracker hosts blocked; pop-ups disabled; Cloudflare checks can be completed in place.
  • Site search — live suggestions as you type, then full paged results from the series finder, with infinite scroll.
  • Discover — Novel Updates rankings (popular this month / all time / week / month / 6 months) as a browsable grid.
  • Infinite scroll everywhere — search, Discover, and series RELEASES all load more as you scroll.

Notifications

  • Tapping a chapter alert now opens that series inside the app instead of the browser.
  • New setting: stack alerts into one banner (default) or one notification per series.
  • Un-read alerts survive reboots and app updates (re-posted silently).

Looks

  • Themes: Follow system / Light / Dark / AMOLED black / Wallpaper (Material You), all in a Novel Updates green identity.
  • Custom themes from a JSON file — Settings → Display → Save a theme template, edit the colors, import it back. Full format docs in the README.
  • New app icon and a shiba-inu "no cover" placeholder, hand-drawn vectors.

Fixes

  • Cloudflare pane no longer renders zoomed-in or transparent (true mobile layout when expanded).
  • Search results decode correctly (unicode-escape fix that had killed all queries).
  • Notification deep links work on cold start.
  • Chapter-alert dismissal bookkeeping is exact (swipe = gone for good).

Full changelog: v1.0.1...v1.1

NovelNotifier 1.0.1

Choose a tag to compare

@PatchScratch PatchScratch released this 10 Oct 12:06

Maintenance release.

What's new

  • Session-expiry detection — when your Novel Updates login expires, any scrape that lands on the login page now parks the sync queue (instead of silently burning through requests logged-out), the sync notification becomes "Session expired — tap to log in", and tapping it opens the login screen directly. A successful login resumes the download queue exactly where it stopped. List and series screens show a plain "Session expired — log in from Settings" status.
  • Crash fix: the app can no longer crash trying to start the sync service while backgrounded (Android 12+ restriction) — it waits and resumes when you next open it.
  • Cloudflare challenge pane renders readable (opaque, correctly scaled) instead of zoomed-in and translucent.
  • Project roadmap published (ROADMAP.md) with all Phase 2 endpoints verified against the live site.

Install

Installs straight over 1.0.0 — library, login, and download queues are kept. Requires Android 8.0+ and a Novel Updates account.

NovelNotifier 1.0.0

Choose a tag to compare

@PatchScratch PatchScratch released this 10 Oct 04:20

First public release. A clean-room, from-scratch replacement for the abandoned "Notifications for Novel Updates" app — Kotlin + Jetpack Compose, no ads, no analytics, no accounts beyond your own Novel Updates login.

What's in 1.0.0

  • Reading lists — all your Novel Updates lists with covers, unread badges, search, grid/list layouts, four sort modes
  • First-run onboarding — logs in, reads your lists with a live progress counter, warns how long a large library takes (conservative estimates), and lets you prioritise the lists you actively read
  • Background library download — paced against the site (one request every 10 s, cover downloads spaced, cool-down rest every 120 jobs), resumable across reboots, with a counter notification
  • Chapter notifications — via your personal NU feed (captured automatically from the reading-list page; nothing to configure) or paced list checks when no feed is configured; per-list and per-series mutes
  • Read sync across devices — marks made anywhere appear everywhere via NU's read-activity feed
  • Read position on your terms — the RELEASES checkbox moves Novel Updates' read marker forward or backward in a single call
  • Series pages — INFO + full RELEASES table cached page-by-page, next-chapter card, mark-as-read and list changes written back to the site
  • Backups & device transfer — one zip via the system file picker (Google Drive, OneDrive, USB…); restores lists, chapter caches, covers, and settings. Backups never contain your password, login, or feed tokens
  • Debug log — adb shell run-as com.patchscratch.novelnotifier cat files/debug.log

Install

Download NovelNotifier-v1.0.0.apk below and open it (allow "install unknown apps" for your browser/file manager if asked). Requires Android 8.0+ and a Novel Updates account. On first launch: Settings → Log in on Novel Updates — onboarding takes it from there.

If you were running an earlier build, this installs straight over it — your library and login are kept.

Notes

Novel Updates has no public API, so the app reads it through a logged-in WebView session with deliberate pacing and no Cloudflare bypass. If the site changes its HTML, scrapers in ScrapeJs.kt are the single place to update. MIT licensed — see LICENSE.