selahdocs

What we’ve shipped

Every change to Selah, newest first, written for the people who use it rather than the people who built it. Last shipped .

July 30, 2026

v0.46.3.0

The belief-map repair no longer proposes merges it should not.

Fixed

  • The belief-map repair no longer proposes merges it should not.

    A dry run against a real map surfaced two faults before anything was changed: it could accept a match the model picked from further down the list, well past the point where two beliefs stop being the same thing, and it could chain merges so one belief pointed at another that had itself been folded away. Both are closed, and it now refuses to merge across kinds that can never be the same thing, such as a person and a book of the Bible.

July 31, 2026

v0.46.2.0

"Recently recorded" said "Read" next to a completed day

Fixed

  • "Recently recorded" said "Read" next to a completed day

    , which read like a button to open the passage again rather than a completed-state label. Now says "Done."

July 30, 2026

v0.42.0.0 → v0.46.1.0New

A repair pass for belief maps that were split apart.

Added

  • You can mark a past day of your reading plan read.

    If you read the passage somewhere else, or just forgot to tap the button, the day sat there counting against you with no way to correct it. The reader's Reading plan panel now lists the days you haven't marked, and you can record any of them. The "days behind" line on Home takes you straight there.

  • Tick off passages one at a time.

    A plan day that bundles several readings no longer has to be all or nothing. Check off Psalm 8 today and Proverbs 8 tomorrow; each one strikes through as you go, and the day records itself once you've read all of it. Days with a single passage stay a single tap.

  • Anything you record can be undone.

    Every day you mark shows an undo beside it, and a Recently recorded list keeps the last few within reach long after the moment has passed. Marking a whole day and unticking one passage both work in either direction.

  • Catch up on several days at once.

    Mark everything outstanding as read, or set it all aside, in one action.

  • A repair pass for belief maps that were split apart.

    The bug fixed in 0.45.0.0 stopped new duplicates, but it could not undo the ones already there, and the worst-affected maps hold several entries for what is really one belief. There is now a pass that finds those and folds them back together. It reports what it intends to merge before it changes anything, it errs toward leaving two entries alone when they might be genuinely different, and a merge can be undone.

  • Selah now notices when it stops reading your notes properly.

    The step that turns your notes into your belief map used to fail quietly: every single failure looked like a normal, handled event, so a problem could run for weeks without anyone seeing it. There are now three health checks watching rates rather than individual events: one for work that fails outright, one for a step that reports success while quietly doing nothing useful, and one for the case where everything reports success but nothing is actually being learned.

  • Selah can edit a whole note, not just add to it.

    Ask it to clean a note up for sharing, restructure it, drop a section, or add a line under every heading, and it changes the note you are looking at. Before, it could only append to the end or replace one section at a time, so anything bigger had no way through — asked to tidy a note for public sharing, it would offer you a second, near-identical note instead of editing the one in front of you. A change that touches eight sections is now one edit: you approve it once, and one undo puts all of it back.

  • Duplicate a note.

    Reuse last week's outline as this week's starting point instead of selecting everything, copying, and pasting into a blank page. The copy keeps the title, the body, the kind, the status, the scripture references, and every folder the original was in. It does not inherit anything about sharing, and it does not arrive starred. You can duplicate from inside a note or straight from the list.

  • A menu on every note in the list.

    Duplicate, move to a folder, add to or remove from favourites, or delete, without opening the note first. Delete asks before it does anything.

  • Recordings are their own documents.

    A recording used to be a block buried inside a note. Now it has its own page: read the transcript, give it a title, rename the speakers. You can open it beside the note it belongs to, ask the companion about it directly, and attach an unlinked recording to any note you own.

  • A public roadmap.

    See what's waiting, what's planned, what's being built now, and what has already shipped. It comes straight from the tracker the work actually happens in, so it stays current instead of drifting into a wish list. Read it as a board or a plain list, and swipe between the columns on a phone.

  • Documentation.

    Nine pages covering reading Scripture, notes, the companion, reading plans, prayer, and billing. Two of them go further: how Selah remembers your study, and how your knowledge map is drawn from what you write.

  • How memory works, explained honestly.

    Selah keeps small individual things you appear to believe rather than a pile of old chat. Saying something twice makes it stronger; writing something different replaces the old view and retires it, so it can't resurface and contradict you later. Recall goes by what actually bears on your question, not by what you wrote most recently — which is why a note from four years ago about Romans 8 can beat yesterday's unrelated one.

  • Docs, guides, what's new, and the roadmap are reachable from inside Selah.

    The sidebar's Help button opens all four alongside the support panel. Until now there was no way to reach any of them without leaving the app.

Fixed

  • "Days behind · catch up" now goes where it says.

    It used to open today's reading, which was the one day you hadn't missed.

  • Marking a day read could silently fail to save.

    The tick appeared, the record didn't. You'd come back later still behind, with nothing having told you.

  • Finishing a plan is no longer swallowed.

    If you'd ever corrected a day on a finished plan, the celebration for genuinely finishing it later never arrived.

  • The second passage of a multi-passage upcoming day was unreachable.

    Tapping the row only ever opened the first one. Upcoming days now open out so you can reach any of them.

  • Reader tools opened from a link no longer lose the tool.

    A link straight to a reader panel dropped it and landed you on John 1 with the panel shut.

  • Merging two beliefs by hand now keeps everything attached to them.

    It moved the connections but quietly left behind the belief statements and the record of where a belief came up in your study, so merging could lose the very things that made the belief yours.

  • Engagement history is counted once per source again.

    A retry could record the same belief-and-note pairing repeatedly, which quietly skewed which beliefs Selah treats as central to your study.

  • Reading your notes is now bounded as well as structured.

    Selah asks for a limited amount back and now also enforces that limit before anything is saved, so a passage that produces more than expected can no longer quietly exceed what was planned for.

  • Selah stops creating duplicate beliefs.

    After reading a note, Selah checks whether each belief it found is one you already have, so "Grace" and "Grace of God" stay a single entry. That check had a size limit set too low and was failing quietly, and every time it failed, the whole batch was added again as new. The limit is raised and the check now asks for far less back, so it fits.

  • Scanned PDFs are now turned away at upload instead of becoming empty notes.

    A PDF made of photos or scans has no text in it to read, so importing one produced a note containing nothing but its filename — and Selah would then try to learn from the title alone. Those files are now declined as you upload them, with a note explaining why and what to do about it.

  • A single enormous file no longer runs up unbounded processing.

    Selah reads a long document in sections, and one file of nearly two million characters — a whole archive in a single upload — was read in over four hundred of them. Very long documents are now mapped up to a generous limit and marked as partly mapped, rather than processed without end. The document itself is still stored and searchable in full; splitting it into one file per teaching gets the whole thing mapped.

  • Selah no longer goes quiet in the middle of a long answer.

    Anything that took more than thirty seconds to write was cut off partway and never recovered — you saw it start working, then nothing, with no error and no explanation. Long answers now have the time they need, and short ones are unaffected. This was the reason a rewrite of a long note could never finish.

  • Selah remembers what it just said.

    Its previous reply was being dropped from the conversation on every turn, so it could not refer back to a draft it had written moments earlier, and you could not either — the reply simply disappeared from the chat. Replies now stay put unless you actually edit or regenerate them.

  • Edits that rewrite or remove text still ask first; edits that only add do not.

    Adding a line under a heading no longer interrupts you for permission, because it is undoable either way. Rewriting or deleting still stops and waits.

  • Long sermons now finish processing.

    Raising the size limit in 0.43.0.1 made each step slower, and the longest documents could no longer finish in the time allowed — so they restarted from the beginning, over and over, without ever completing. Processing now has the time it needs, and work is saved as it goes rather than only at the end, so a document that gets interrupted keeps everything it had already read.

  • Uploaded sermons now make it into your knowledge graph.

    Long documents are read in sections, and the step that pulls themes out of each section had a size limit set too low. On dense sermon material it ran out of room mid-sentence and threw the whole document away — silently, and permanently after three tries. Short notes stayed under the limit, so this only ever bit people who uploaded real teaching material. The limit is raised, and a section that still fails no longer discards the rest of the document with it.

  • A busy processing queue no longer stalls itself.

    Documents were being picked up faster than they could be finished, so the ones at the back of each batch were dropped and had to wait to be recovered. Work now stops cleanly and hands back whatever it could not get to.

  • Deleting a note now actually deletes it.

    What Selah had learned from a note could outlive the note itself, so a deleted note could still surface in search or come back in conversation. Everything derived from it is now torn down with it.

  • The footer at the bottom of the landing page is left-aligned again

    instead of centred.

Changed

  • Your belief map stops splitting one belief into many.

    When Selah found a belief in your notes, it checked whether you already had it by comparing against an arbitrary slice of your map, so past a few hundred beliefs most of your map was invisible to that check. "God's Grace", "Divine Grace" and "Divine Mercy and Grace" could all end up as separate entries. Selah now compares by meaning against the closest matches in your whole map, merges the ones that are plainly the same thing, and only asks the model about the genuinely uncertain ones. It stays deliberately cautious: two beliefs that are close but not the same, like baptism in general and believer's baptism in particular, are kept apart. Losing a distinction you care about is worse than an untidy duplicate.

  • Reading your notes into your belief map is now far harder to break.

    Selah used to ask for its answer as plain text and then try to interpret it, which failed whenever a passage was dense enough to run past the space allowed. It now asks for a structured answer the model fills in directly, and asks for a bounded amount of it, so the space needed can be worked out in advance instead of estimated. This is the underlying cause of the processing failures fixed over the last few releases, rather than another raised limit.

  • The notes list reads as a list again.

    Every row is now the same height instead of three different ones depending on how long the preview happened to be, and each note takes two lines rather than three. More notes fit on a screen, and the titles are what your eye lands on.

  • Status only shows when it means something.

    Nearly every note sits at Active, so the green Active label was on every row carrying no information. It now appears only once a note has moved somewhere else.

  • A note with nothing in it says so

    rather than showing an empty gap.

  • A duplicated note starts with memory off.

    Two identical notes would otherwise let repetition read as conviction, and the companion cannot tell a copy from a second conviction. The copy says this plainly when you open it, and turning memory on is one click. Until you do, the copy will not appear in search or come back in conversation.

  • The changelog page and the roadmap now match

    , and each links to the other, so what shipped and what's coming read as one pair rather than two unrelated pages.

  • An unread reply from support is easier to notice.

    The dot on the Help button is red now instead of a quiet green that blended into the sidebar.

  • Help buttons are big enough to tap.

    The Help menu and its rows now meet the standard touch size on phones and tablets.

July 29, 2026

v0.40.30.1 → v0.41.0.0New

The Companion now feels alive while it works.

Added

  • The Companion now feels alive while it works.

    Thinking appears immediately, safe work steps use distinct icons for memory, web, notes, prayer, Scripture, tasks, and other activities, and the answer arrives as smoothly formatted Markdown instead of snapping into shape at the end.

  • Live replies now behave consistently on web and mobile.

    New words receive a quiet entrance, completed text stays still, the active reply keeps a trailing caret, and readers who scroll upward can return with Jump to latest.

Changed

  • Companion approvals are clearer and safer.

    Related changes to the same note are grouped into one decision, each approval is recorded before the reply continues, and duplicate taps cannot start multiple continuations.

  • Interrupted replies recover without a refresh.

    Selah checks persisted messages after a disconnect and when the app returns online or to the foreground. Recovered, partial, and missing replies are reported honestly, while normal background synchronization stays silent.

Fixed

  • Single-chapter highlights stay in their chapter.

    A Genesis 1 highlight no longer appears while reading later chapters because a missing range end now correctly means the same chapter, not the rest of the book.

  • Finishing Markdown syntax on mobile no longer reanimates earlier words.

    Closing bold, link, or code formatting preserves the existing text and animates only genuinely new content.