Sprint 84: September 21 - October 2, 2026
Accessibility
- Made the iOS audiobook position bar adjustable with VoiceOver, so blind and low-vision patrons can move within a chapter instead of only using the skip buttons or changing chapters; a new automated VoiceOver check of the player found the gap
- Removed "Double-tap to expand" from the iOS mini player's VoiceOver label so patrons who turn hints off no longer hear it, and enlarged the full player's Close and chapter-list buttons to the 44-point minimum touch size
Mobile App Releases (iOS & Android)
- Gathered team feedback on the search facet and filter designs and adjusted them for Android (iOS and Android)
- Smoke-tested v3.3.0 TestFlight build 509, which failed on LCP streaming: picking a later chapter before the book finished downloading reopened a Downloading screen and paused the audio. Fixed the streaming issue (iOS)
- Fixed the sign-in race condition that kept asking some patrons to sign in again, with their library unrecognized, after 3.2.4 (iOS)
- Fixed EPUB reading-position sync between devices prompting inconsistently, which could cost a patron their place if they chose the wrong option; found during v3.3.0 release-candidate testing (iOS)
- Fixed a crash when opening an audiobook after the patron's session token had expired. It was the only crash in 3.3.0 and affected libraries that use token-based sign-in (iOS)
- Smoke-tested v3.3.1 TestFlight build 512, which passed every area, including LCP streaming and SAML sign-in (iOS)
- Fixed streamed LCP audiobooks stopping with "The request timed out" or "Audiobook unavailable" as a new chapter began, which happened mostly with the phone locked, because looking up the chapter's length was held to a fixed 30-second limit (iOS)
- Found that the audiobook failures that seemed to start in 3.1.0 only appeared then because 3.1.0 was when the app began recording them. Crash reports now record the real cause of each failure instead of a generic -11800 error. The app also now recovers when iOS restarts its media services (about a third of the sampled failures) instead of stopping with "Cannot Complete Action" (iOS)
- Measured audiobook position saving on a real device, then moved saving onto the playback clock so the listening position keeps being saved during long screen-locked playback, when iOS suspends the timers it relied on. App Store reviews describe patrons losing hours of progress (iOS)
- Changed OverDrive audiobooks to get a fresh download link when the old one expires, instead of retrying the dead link indefinitely (iOS)
- Fixed book covers that failed to decode, the second-largest source of errors in the app and a suspect in reports of phones overheating. Failed decodes are no longer retried (iOS)
- Fixed CarPlay crashes when several playback errors arrived at once or the chapter list was opened before CarPlay finished setting up (iOS)
- Fixed a drag on the audiobook position bar being lost if it started while a previous seek was still settling (iOS)
- Added support for MDM-managed deployments: the app reads a library configuration pushed through Managed App Configuration and opens straight into that library on first launch. Configuration values that can't be used are now reported so support can tell what went wrong. Requested by a K-12 partner deploying to students across three school libraries (iOS)
- Honored the Palace Manager patron blocking setting that hides the standard "Blocked by library policy" title, so only the library's own message is shown (iOS; continued from Sprint 83)