All Releases
v1.11·iOS 17.0+

Back in the Loop

Audible started turning away FableFrog's new-release checks, and the app read those refusals as good news - so every series you follow quietly reported it was up to date and the alerts stopped. That's fixed. While we were in there, the books you're waiting on learned to add themselves to your Reading List, with a countdown to release day on the ones you don't own yet.

New

  • Your Reading List Fills Itself - Turn on Add Upcoming Releases in Settings → Reading List and a new book from a series you follow joins your queue as soon as it's announced. New books merge into the run of unreleased entries at the end of your list in release order, so the part of the queue you curated by hand is never rearranged. A book you delete stays deleted - FableFrog remembers the removal instead of adding it back on the next check - and adding it again yourself clears that record. Off by default (Premium)
  • A Countdown to Release Day - An unreleased book on your Reading List now leads with Releases in 12 days, the same countdown the Upcoming page uses, and falls back to the plain date once the day passes (Premium)
  • Jump a Book to the Top - Promoting a book from the bottom of a long queue used to mean dragging it past everything else. Edit mode now puts a move-to-top button on every row (Premium)

Improved

  • Recaps That Cover the Gap - A recap spans the whole stretch you missed instead of the last few minutes, and keeps what happened separate from where things stand. The scene-setting line had been asking for where things stood at the end of the passage, which put both halves of the recap on the same moment and made the timeline underneath a restatement of it - and gave away the ending the timeline was building toward. The opening line now describes the stage the passage opens on, so the two parts cover different stretches of the book and the list has somewhere to go. The number of events scales to the window you asked for rather than padding a 5-minute recap to fill a fixed quota, the summary favors decisions, arrivals, discoveries, and injuries over a ballad sung four times, and a character keeps one spelling throughout instead of the four the transcript heard (Premium · iOS 26 · Apple Intelligence)
  • A Recap That Can't Run Says Why - A wedged on-device model reported the generic "Couldn't generate a recap right now," which reads as though the book is the problem and leaves you nothing to do about it. That case now names itself, and its Try Again is worth tapping: FableFrog rebuilds its connection to the model first, so the same passage can genuinely succeed the second time (Premium · iOS 26 · Apple Intelligence)
  • Recap Notices When Your Device Becomes Ready - Whether this device can run a recap was decided once at launch and never revisited. Launch while Apple Intelligence is still downloading its model and Recap stayed greyed out for the rest of the session; turn Apple Intelligence off mid-session and the button stayed lit over a sheet that could only fail. Both now correct themselves without a relaunch (Premium · iOS 26 · Apple Intelligence)
  • A Diagnostic Log Worth Exporting - Saving your place was writing a log line every three seconds and filling nearly half the export with it, superseded recaps were logging their own cancellation as an error, and on-device model failures logged a bare case number instead of a name. The log you send us now spends its space on things that went wrong

Fixed

  • Upcoming Works Again - Every series you follow reported Up to Date at once, and the new-book alerts stopped. Audible had begun serving an anti-bot interstitial in place of the series page, and FableFrog read a page it couldn't parse as a series with no books - then cached that answer for a day. Four things changed. A page with zero books on it is now treated as a read failure rather than an empty series. The block page is recognized on its markers instead of its size, CAPTCHAs included. Pagination follows the book count Audible advertises, because the old page-forward button had been renamed and long series were being cut short. And a cached zero-book answer is never trusted, so an entry already poisoned recovers immediately instead of waiting out its 24 hours
  • Checks That Don't Arrive All at Once - Following 22 series meant 22 lookups back to back, once a day, every day - which is what provoked the blocking in the first place. Each series now keeps its own refresh interval between 18 and 24 hours, and the requests are spaced out with real pauses between them. Pull to refresh still checks everything immediately
  • Background Alerts Renew Your Session - The widget refresh, the new-book check, and the app each built their own connection to your server, so a background wake could try to renew your session three times at once. Audiobookshelf issues a new refresh token each time, which left two of the three holding a token the server had already retired - and you signed out on the next cold launch for no visible reason. All three now share one connection and one renewal
  • Your Saved Login Survives an Interrupted Write - Storing a credential deleted the old entry before writing the new one. Two writes landing together could leave the newer value dropped, which is the other half of the unexplained sign-out above. Credential writes are now atomic, and an overwrite can never leave an entry with weaker protection than it had
  • Downloads Renew an Expired Session First - A download queued behind a long transfer used the session token it was stamped with when you queued it, which by then could be hours stale. The token is now resolved at the moment the transfer starts
  • A Force-Quit Download Can Be Retried - Force-quitting the app mid-download left the book parked at "downloading" forever: no progress, no Retry, and no way to start over short of canceling and beginning again. FableFrog now works out whether the surviving transfers can actually finish the book, resumes the ones that can, and fails the rest into a state with a Retry button on it
  • One Failed Recap No Longer Breaks the Rest - A single unclassified failure from the on-device model poisoned the connection FableFrog held for the whole time the app was running, so every recap after it failed in under a second until you force-quit. The connection is rebuilt after that kind of failure. The look-back pass also stops on the first sign that the model itself is unavailable instead of grinding through every chunk to fail identically, and keeps the notes it already earned (Premium · iOS 26 · Apple Intelligence)
  • The Transcript Reader Keeps Up - The highlight in Follow Along froze on whichever line was showing when you opened the reader. Its timer was being restarted just short of firing, every half second, by the player redrawing underneath it. The reader now reads the playhead directly (Premium · iOS 26)
  • Playback Recovers From a Stalled Stream - A play that arrives before the audio is ready waits for it, and nothing bounded that wait. A stalled stream that never resolved either way left the spinner turning until you intervened. The wait is now bounded, and a failure is reported as one
  • The Player Shows Buffering, Not a Pause Button Over Silence - Tapping play while audio is still loading showed a pause button, which reads as "playing" for audio that hasn't started. The player shows a buffering state instead
  • The Mini Player Spans the Screen - The mini player sized itself to its own title and floated centered, so its width changed with whatever book was playing. It now runs the full width of the screen, inset evenly
  • A Book That Lands on Your Server Is Recognized Right Away - A newly added book appeared on Home while its Reading List entry still showed a cart and an Audible cover, until you ran Sync Library by hand. Home reads live from the server and the Reading List reads from the local library cache, and nothing connected the two. A Home refresh now files what it saw into that cache
  • The Release Countdown Is Translated - "Releases in 12 days" rendered in English in every language, and its plural was hand-rolled for English rules. Both are now handled by the translation catalog in every language FableFrog supports