The theme now changes in one frame. Tapping the theme button used to set the whole page crossfading: the site's hover transitions all fired at once on their own different timings, so for about a third of a second the page sat in a muddy in-between state — a grey background that was neither dark nor light, and label text drifting through low contrast against controls that had already changed colour underneath it. Theme changes now apply instantly, and transitions go back to doing what they're for.
The header bar no longer tears when you scroll back to the top. Its frosted blur was switched on and off outright while the background behind it faded over 0.2s, so the two came apart mid-scroll and left a hard blurred edge over a background still on its way out. The blur now fades in and out with the background. Same fix for the depth tabs on a devotional.
The theme button no longer stays lit after a tap. On a touch screen :hover latches until you tap something else, leaving the button stuck in its hover colours. Hover styling in the header now applies only to real pointers.
Changed
Changelog housekeeping. Dropped the "unreleased" section and the boilerplate about which changelog and versioning standards the project follows. Every pull request now increments the version and lands its own entry here.
v0.3.0
Added
Mark a devotional complete. Every devotional now ends with a _Mark complete_ button. What you've finished is remembered in your browser — completed devotionals get a badge on the cards, a check in the list view, and there's an _Unread only_ filter for browsing the ones you haven't read yet.
Pick up where you left off. Endless now remembers the last devotional you opened. The home page and the devotionals page both offer a _Continue_ link straight to it — or, once you've marked it complete, to the next one you haven't finished. A small progress meter shows how far through the hundred you are, with a reset if you want to start over. All of it lives in your browser; nothing is sent anywhere and there's no account.
Changed
Writing that sounds human. Reviewed all 100 sets and rewrote the adult _edge_ and _Dig deeper_ sections to strip a repeated, machine-sounding template — the "the floor recedes" metaphor, "here is the honest situation," "the closer we look, the more…" — that had crept across nearly every reading. Each section now ends in its own words.
Dig deeper actually goes deeper. Where a _Dig deeper_ fact merely restated the reading above it, it's been replaced with a distinct, surprising, fact-checked detail — a new angle rather than a summary.
Listen button, better placed. The per-entry _Listen_ control now sits on the top line above the title, so it no longer interrupts the flow from the verse into the reading.
Fixed
The theme now switches the whole page, top included. Choosing Light left the very top of the page dark on phones: the browser's status bar and address bar were pinned to the dark palette by a hardcoded theme-color, and the overscroll area above the page followed the operating system rather than your choice. Both now track the selected theme.
No more stray strip above the header. The hidden "skip to content" link was parked a few pixels too high to actually be off-screen, so a small panel-coloured bar peeked out at the very top of every page — and changed colour with the theme, which made the theme look half-applied.
The header no longer paints a flat band over the page. The frosted bar behind the header (and the depth tabs on a devotional) covered the page's soft background glow with a hard-edged block of flat colour, leaving a visible seam across the top. Both bars are now transparent until you actually scroll.
The theme toggle says what it picked. Cycling Auto → Light → Dusk → Dark flashes the name of the theme you landed on, and Auto reports which way it resolved.
Natural-sounding read-aloud. The spoken audio no longer slips into an odd accent at section breaks. Terse cues like "Dig deeper" gave Microsoft Edge's multilingual voice too little to anchor on and it mis-read them; the cues are now full English sentences ("Let's dig a little deeper…"), heard only, with the on-page labels unchanged. Cached audio is refreshed so existing readings pick up the fix.
v0.2.0
Added
Listen to any devotional. Every entry now has a _Listen_ button that opens a sticky player — play/pause, a scrubber, playback speed, and an Ava/Andrew voice toggle — reading the whole entry aloud in Microsoft Edge's neural voices. Audio is synthesized on demand by /api/tts and cached immutably, so only the first listen waits.
A home-screen icon. Added an opaque apple-touch-icon and a web-app manifest, so saving Endless to an iPhone or Android home screen shows the infinity mark instead of a screenshot.
This changelog. A release history at /changelog, rendered straight from CHANGELOG.md.
Changed
One depth at a time. A devotional now shows a single reading depth instead of stacking all four; the "All four" option was removed. Your chosen depth is remembered across devotionals.
Simpler theme control. The header's theme picker is now a single inline toggle that cycles Auto → Light → Dusk → Dark, replacing the pop-over panel.
Fixed
Depth tabs now switch cleanly. The Young / Older / Teen / Adult tabs were fighting the site-wide depth styles, so the Young entry could stay visible underneath the others. Selecting a depth now shows exactly that one.
v0.1.0
Added
Endless launches. 100 wonders, each written at four depths (Young / Older / Teen / Adult) — one piece of modern science illuminating one truth about God, with a verse, reflection, a _Dig deeper_ fact, an interactive box, and a prayer.
Browse the collection. Search, tag filters, and card or list views on the Devotionals page, with deep links straight to a reading depth.
Made to read. Three themes (Light, Dusk, Dark) plus Auto, a warm serif reading design, and an app-ready JSON feed at /api/devotionals.json. NLT throughout.