Changelog
User-facing changes to Hearth, in plain language. Internal refactors and
infrastructure are left out on purpose (see the git history for those). This is
the source for the in-app "What's new".
Unreleased
0.26.0 - 2026-08-28
First look. A stranger can read a real table before signing up, the Lorekeeper
has a door on every page and remembers its conversations, and you finally hear
when someone answers something you wrote.
Added
-
Guides for bringing your notes with you. A new page walks through moving
a campaign in from Obsidian, Notion, World Anvil or Google Docs, what happens
to each file, and how to fix the dates afterwards so four years of sessions
don't all land on one afternoon.
-
You can see a real table before signing up. The landing page links to
Emberwake, a campaign you can read without an account: five entries across a
season, table talk, a character sheet, and worldbuilding notes. It also shows
four real Lorekeeper answers with the entries they came from, so you can see
what it does before deciding whether you want it.
-
The Lorekeeper has a door on every page. It's a tab beside Feed and
Timeline now, and every entry has "Ask about this", which opens the
Lorekeeper with your question already started and the entry named. Until now
the only way in was a card on the feed, so a question that occurred to you
while reading meant navigating away and retyping what you were looking at.
-
You're told when someone replies to what you wrote. Until now the only
thing that reached your notifications was someone typing @your-name, so you
could write a session recap, have the whole table answer it, and never know.
A reply to your entry now shows up like a mention does, and says which it is.
A busy entry is one notification, not fifteen: once you've read it, the next
reply speaks up again.
-
Your Lorekeeper conversations are yours to keep. Every thread you have
started is now listed under "Threads" on the Lorekeeper page: open an old
one, pick up where you left off, and give it a name that says what it was
about. Starting a new conversation no longer hides the old one forever.
-
Delete a thread you are done with, and put it back if you change your mind.
Deleting is not destroying here either; a thread waits under "Recently
deleted" until you say otherwise. Your threads are private to you, so nobody
else at the table sees them in either list.
-
Your own Lorekeeper conversations now travel with the campaign export, in a
lorekeeper/ folder. Only yours.
Fixed
- Renaming a conversation no longer quietly changes which one the page reopens
next time.
0.25.0 - 2026-08-28
Nothing is lost. Deleting an entry no longer destroys it, a campaign can end
without being deleted, and the export finally contains everything.
Added
- Deleting an entry sends it to the trash instead of destroying it. A new
Trash page (Settings β Trash) lists what's been removed and puts any of it
back, with its comments and reactions intact. Nothing in there expires or is
cleared out on a timer: when you genuinely want something gone you say so, and
that's also when the space it was using is freed. This makes the duplicates
tool safe to experiment with.
- A campaign can be finished, or put on hiatus. A finished table stays fully
readable, searchable and answerable by the Lorekeeper; it just stops taking
new entries and folds away under "Past tables" on your dashboard, so the
campaigns you're still playing come first. You can pick it up again any time.
Changed
- Your export now contains the pictures. They used to be links that only
worked while you were signed in, which made an archive rather less yours than
advertised. The images are in the zip, the entries point at them, and the
whole thing reads the same on a computer that's never heard of Hearth.
- Your export now contains the conversations, kept with the entry they're
about, under a "Table talk" heading. Entries also carry more of their
details: the campaign they came from, when they were last edited, which
pictures belong to them.
- Exports have no size limit. Large campaigns download as they're built
rather than being assembled first, so a table with years of photos exports
the same as a small one.
Fixed
- When someone deletes their account, the entries they leave behind keep their
pictures. Their writing already stayed with the table; the images in it were
being deleted, leaving broken pictures in entries nobody could repair.
- A tab left open while Hearth updates recovers on its own.
0.24.0 - 2026-08-27
A speed release. Hearth downloads less than half of what it used to, and moving
around a campaign no longer reloads the whole app.
Changed
- Hearth loads about twice as fast on a cold visit. The app your browser has
to download shrank from roughly 2.4 MB to about 1 MB, and the page itself from
about 92 KB to 41 KB. Most of the saving is on a phone, on a slow connection,
the first time you open a link someone sent you.
- Switching between Feed, Timeline, Drafts, Members and Settings is instant.
It used to reload the entire app each time, which on a phone was the slowest
thing Hearth did. The links still work exactly as links should, including
opening in a new tab.
- The styling is now cached between visits instead of being re-sent with
every page.
Fixed
- A tab left open while Hearth updates no longer breaks. It used to fail with
a cryptic error in the browser console and need a reload; now it recovers on
its own.
0.23.0 - 2026-08-27
Capture at the table, and repairs to the draft-saving that 0.22.0 introduced.
Added
- Jot a line from tonight. A single field at the top of your campaign adds a
timestamped line to the session note you're building, so keeping notes during
play doesn't mean opening the whole composer. The morning after, open it under
Drafts and tidy it into an entry.
- Series, when you write. Fiction and sessions can be put in a series from
the composer, offering whatever series your table is already running. Before
this you could only set one by editing an entry afterwards.
- Add a picture, in one tap. Its own button beside "New entry", instead of
New entry then choosing the Gallery type.
- Credit a co-writer as you post. A game master can attribute an entry to
whoever actually wrote it while composing it, which matters most when pulling
in someone's Google Doc.
- The Drafts tab shows how many you have.
Fixed
- Several ways unsaved words could be lost. Starting an entry from a link or
a file no longer overwrites what you were already writing. "Save as draft" now
waits for the save to actually happen before saying it did, and shows you the
error if it didn't. Leaving a page or switching away on a phone saves first,
which matters because phones often close a tab without warning. An entry that
is only pictures now saves as a draft too.
- A revision could be deleted while you were restoring it, if the page and
your unsaved edits arrived in an unlucky order.
- Pictures in a pasted Google Doc are no longer dropped in silence. They
still can't come across automatically, but the entry now tells you how many
there were so you can add them, instead of showing blank images.
- Imported Word documents no longer show stray tags like
<u> in the text.
- Revisions of a published entry no longer clutter the Drafts page, where
their Publish button could only fail.
- Switching away from a draft no longer risks a blank page on slow
navigation.
0.22.0 - 2026-08-27
A getting-your-writing-in release: drafts that follow you between devices, and
two new one-step ways to start an entry from something you already wrote.
Added
- Your drafts follow you now. An unfinished entry used to live only in the
browser you started it in, so a session note begun on your phone wasn't there
on your laptop. Drafts are now saved to your table as you write, on the
composer and when revising a published entry alike. They save a couple of
seconds after you stop typing and whenever you leave a field, and a draft you
haven't titled yet is perfectly fine, it will wait under Drafts either way.
If you have the same entry open in two places, the second one is told rather
than quietly overwriting the first.
- Start an entry from a Google Doc link. Paste the link under "New entry"
and Hearth pulls the document into the composer for you to read over and
publish. Anyone who can write in the table can use it, not just the game
master.
- Start an entry from a file. Open a single
.md, .txt, .docx or .pdf
straight into the composer, without going through the bulk importer and its
review table.
- A composer that remembers. It keeps the entry type and visibility you last
used in that campaign, and fills in the next session number for you (until you
type your own).
Fixed
- Pictures on an entry published from a draft are visible to your table.
They were being shown only to whoever uploaded them, and appearing as broken
images to everyone else, until the entry happened to be edited again.
- Unsaved words are no longer dropped when a save is refused. If a save
couldn't go through, what you had typed could be discarded the next time you
opened the composer.
- Publishing no longer leaves a duplicate draft behind that reappeared later
as "picked up where you left off".
- Your game master cannot read your drafts. The drafts page said they could;
they never could, and now it says so.
0.21.1 - 2026-08-27
A first-run repair release: the fixes a brand-new game master and their
players hit in the first five minutes.
Changed
- Invite links now open the whole table by default. The seat picker used to
start on "Single use", which also expires in a week, so a game master who
pasted one link into their group chat found that only the first player could
join. New links are reusable by the whole table unless you choose otherwise,
every link now shows the date it expires, and the full web address is shown
(not just the path) so you can select and copy it anywhere.
- "N new" now means "since you last looked". The dashboard counted entries
since the last session write-up while the campaign feed counted them since
your last visit, so the same table could say "6 new" on one screen and
"nothing new since your last visit" on the next. Both now agree.
- The landing page says what's free, and what leaves with you. Plus a
clearer path to the "Why Hearth?" page, which is where the ownership and AI
stances live.
Fixed
- The verification email is sent when you sign up. It wasn't, which made
asking the Lorekeeper a dead end: it needs a verified email, and the message
told you to send the link "again" when nothing had ever arrived.
- The Lorekeeper card no longer appears where it can't work. On a server
with no AI provider configured, the campaign page still advertised it and
every question failed.
- The drafts page no longer claims your game master can read your drafts.
Drafts are only ever listed to the person who wrote them.
0.21.0 - 2026-07-16
An import-polish release: re-imports update instead of duplicating, a tool to fix
entry dates from your files' real timestamps, and co-writer credit on bulk import.
Added
- Fix imported entry dates from your files' real timestamps. A bulk import
can only guess an entry's date (a browser can't read a file's creation date).
A new tool, linked from the import page, lets you run a one-line command in
your entries' folder, paste what it prints, and set each entry's true date in
one reviewed batch. It only touches dates, nothing else.
- Credit a co-writer when you bulk-import. The import review table now has a
"Written by" column, so you can attribute each entry (or the whole batch, with
the column header) to the member who actually wrote it, instead of everything
landing under your name. (You can still reassign an entry's author later from
its edit page.)
Changed
- Re-importing a file updates its entry instead of making a copy. When you
bulk-import a folder again after editing some files, Hearth recognizes a file
it imported before and updates that entry in place, keeping its date and
session number, rather than creating a duplicate. The import review table
flags each row that "will update" so you can tell corrections from new entries
before publishing.
0.20.0 - 2026-07-16
A trust & hardening release: private images are now actually private, and Hearth
installs to your phone's home screen.
Added
- Install Hearth to your home screen. On a phone, Hearth can now be added as
an app: a home-screen icon that opens full-screen, without browser chrome, for
reading at the table or on the couch. On Android/Chrome, look for "Install
app"; on iPhone, use Share β Add to Home Screen. It still needs a connection
(no offline mode).
Changed
- Private images are now actually private. A picture in a members-only or
GM-only entry (its cover, gallery, or inline images) is served only to people
who can see that entry, instead of being viewable by anyone who has the direct
image link. Public entries' images stay openly viewable, and everything keeps
loading as before, this just closes the gap where a private image could be
opened by its raw URL.
0.19.0 - 2026-07-16
A design & accessibility release: a warm light mode, plus keyboard and
screen-reader improvements.
Added
- Light mode. A warm "candlelit parchment" theme for reading Hearth in
daylight, keeping the same fireside character as the dark theme. Flip it with
the β / π button in the top bar; Hearth remembers your choice on that device.
It stays dark by default and never follows your system setting, so your pick
is the only thing that changes it.
Changed
- The campaign list shows where you are. The left rail and the Campaigns
menu now highlight the campaign you're currently reading.
- Drafts and Members appear only to members. Someone who isn't in a
campaign (including a logged-out reader of a public one) no longer sees links
to those member-only pages, which used to answer with an error.
Fixed
- Image upload buttons work from the keyboard. "Change photo" and the other
picture pickers can now be reached with Tab and opened with Enter or Space,
so keyboard and screen-reader users can use them.
- Keyboard focus follows the composer. Opening "New entry" moves focus into
the composer, closing it returns focus to the button, and clearing a search
keeps focus in the search box, instead of dropping to the top of the page.
- A clearer prompt when you're signed out. The Drafts page now offers a
"Sign in" button when your session has lapsed, rather than a vague error.
- Phone touch fixes. On a phone, the small version stamp in the corner no
longer sits on top of the Lorekeeper's "Ask" button (tapping Ask sometimes
opened "What's new" instead), the page footer stacks instead of cramming
against the edge, and the campaign switcher's rows are a full touch target.
0.18.1 - 2026-07-16
Fixed
- The campaign sidebar no longer overlaps the dashboard. On mid-width
screens (around a 13" laptop), the left list of campaigns could sit on top of
the "Your campaigns" heading and cards. The sidebar now keeps its own column,
clear of the content, at every window size.
0.18.0 - 2026-07-15
A "writing craft" release: the tools that make writing and reading a campaign's
entries better, mentions and notifications, wiki links between entries, related
reading, comment reactions, and a formatting toolbar.
Added
- Mention people with
@their name, and get notified. Write @ and a
member's name in an entry or a comment and they'll see it in a new
Notifications page (the bell in the top bar, with a count of what's new). You
only ever get mentioned in something you can see, and a mention links straight
to where it happened.
- A formatting toolbar for writing. The entry composer and editor now have a
small row of buttons above the text, bold, italic, heading, quote, code, link,
and a divider, that wrap or insert the Markdown for you, so you don't have to
remember the syntax. The live Preview and the Markdown cheatsheet are still
right there.
- Related entries. The bottom of each entry now suggests a few others in the
campaign that read as most similar, so you can follow a thread across sessions.
It's drawn from the same understanding of your writing the Lorekeeper uses, but
needs no AI call and only ever lists entries you can see.
- Link between entries with
[[double brackets]]. Write [[The Fall of Emberfall]] anywhere in an entry (or a Lorekeeper answer) and it becomes a
link to that entry in the same campaign, matched by title. If nothing matches
yet, the link lands on a gentle "no entry named that here" note. It only ever
links to entries you can already see.
- React to comments. The little reactions you can already leave on an entry
now work on comments too. Each comment has a small "+" to pick one, and the
ones people have added show as a count you can tap to add yours or take it
back.
Fixed
- Campaign pages respond to clicks without a reload. On some pages, buttons
and tabs inside a campaign (opening the composer, switching sections, feed
actions) could stop responding until you reloaded. Those pages now come up
fully interactive.
0.17.0 - 2026-07-15
The archive keeps itself honest: tools to fix miscredited authorship, clear out
duplicate imports, and clean up what comes in from other apps, plus one
consistent way to move around a campaign.
Added
- Find duplicate entries. A campaign's Settings now has a "Find duplicates"
tool that surfaces near-identical entries, closest first, most useful after a
bulk import that brought the same file in twice. Each pair is shown side by
side with the exact lines that differ highlighted, so you can tell which is
the one to keep, then either keep both or delete the extra. GM-only.
- Fix who an entry is credited to. When you edit an entry, you (its author)
or a GM can now reassign it to any member of the campaign, from a "Written by"
picker. Handy after a bulk import, which brings every file in under the
importer's name, so a co-writer's entries can be handed back to them once
they've joined the table.
Changed
- Every campaign page shares one navigation bar. The campaign, timeline,
drafts, members, and settings pages now carry the same row of tabs, with the
page you're on highlighted, instead of a mix of a button cluster on the hub
and a lone "back to the campaign" link everywhere else. Moving around a
campaign is the same everywhere now, and it wraps to fit a phone. Settings
still shows only to GMs.
Fixed
- Sign-in and password-reset emails arrive reliably. Hearth's messages were
going out through a mailer that too often landed them in spam; they now send
through Resend, so verification links, password resets, and invites reach the
inbox.
- Imported files no longer show their metadata block as garbled text. A
markdown file that opens with a
--- frontmatter block (Obsidian notes, and
anything you exported from Hearth) used to keep that block in the entry body,
where it rendered as a stray heading. Import now reads the block, keeps any
tags it lists, and leaves it out of the entry. Exported-then-reimported
entries also recover their original date from the file.
0.16.1 - 2026-07-14
Fixed
- The "Previously onβ¦" recap no longer overlaps the Lorekeeper chat. It lives
only at the top of your campaign feed now β catch up there, then open the
Lorekeeper to ask your questions.
0.16.0 - 2026-07-14
A "delight the pilot" release: warmer moments across the app, a new AI recap,
and full data portability.
Added
- "Previously onβ¦" recaps. At the top of your campaign feed (and on the
Lorekeeper page) you can now have the Lorekeeper draw a short, read-aloud recap
of your last session and everything since, so the whole table can catch up in a
breath before the next game. It's drawn only when you ask for it, shared with
the table (never revealing GM-only notes), and you can refresh it whenever new
entries land. Appears only when the Lorekeeper is lit for your campaign.
- Export your whole campaign. From a campaign's Settings you can now download
the entire archive as a .zip of Markdown files, one folder per entry type,
exactly what you can see. Each entry keeps its title, dates, author, tags, and
visibility in simple frontmatter; images are linked, not bundled. Your words
stay yours, in a format any tool can read.
- Your table name, on your entries. Posts now show who wrote them, by your
per-campaign display name, the one you pick when you join or change anytime on
the members page. Players who go by a character name or handle appear that way
on their own entries, in comments, on the recap and saved Lorekeeper
conversations, and in invite emails, never by the name on their sign-in account.
Changed
- A warmer hearth. Visual touches across the app: publishing an entry lights
a brighter "inscribed in the archive" confirmation; your campaign emoji sit in
a wax-seal medallion on the dashboard; the opening letter of a post catches a
little firelight; hand-drawn line-art illustrations replace the old emoji in
empty and error screens; the timeline threads its entries on a lit cord with a
node for each; and the Lorekeeper shows a gentle ember pulse while it gathers
its thoughts.
- A warmer welcome for new GMs. Your very first campaign is quicker to start,
the create form now opens ready for you on an empty dashboard. Signup says up
front that your campaigns are never publicly listed. The composer reassures you
that a GM-only entry stays hidden from players, right when you choose it. And
the invites page nudges you to mint your first link and drop it in your group
chat.
0.15.0 - 2026-07-14
Added
- Invite your whole table with one link. When you create an invite you can
now choose how many people it seats: a single named seat (as before), up to 10
or 25, or a whole-table link you drop once into your group's chat. The members
page shows how many seats each link has used.
- See what's new since your last session. Your campaigns now carry a small
count of the entries posted since the table last played, on the dashboard
cards, the left rail, and the campaign switcher, so you can tell at a glance
which table has fresh reading before the next game. The dashboard cards also
show a quick digest: how many sessions a campaign has, and how long since the
last one.
Changed
- The dashboard uses your whole screen. On a wide display your campaign cards
now fill the width in more columns instead of a narrow center strip, so a big
roster of tables takes far less scrolling. Reading pages keep their
comfortable column width.
- The feed remembers where you were. Pick a type tab or run a search, open an
entry, and your browser's Back button now returns you to that same tab and
search instead of dumping you at the top of the full feed.
- The sign-in buttons wear their logos. "Continue with Google" and "Continue
with Discord" now show the familiar marks.
Fixed
- Imported titles lost their stray asterisks. Entries brought in from
markdown with a bold heading (
# **Deputies**) no longer keep the literal
** in their title, and titles already imported that way have been cleaned up.
0.14.0 - 2026-07-13
Added
- Connect your campaign to an AI assistant. Your account page has a new
"Connect to your favorite AI" section with step-by-step setup for Claude,
ChatGPT, and Grok. Point a chat assistant at your campaigns, ask it what
happened last session, who a character is, or to catch you up. Connecting is a
quick sign in and approve, with no keys to copy. It's read-only: the assistant
reads and searches only what you can already see at each table, and it can
never post, edit, or delete. The section also lists the assistants you've
connected and lets you disconnect any of them at any time.
0.13.0 - 2026-07-10
Added
- Connect your own tools to Hearth with API tokens. Your account page now
has an "API tokens" section: generate a named token (that you can expire and
revoke any time) and hand it to an integration. A token acts as you, it sees
and writes exactly what you can at each table, nothing more.
- A "Keep the hearth lit" link in the footer. When the site is configured
with a support page, the footer shows a small link to chip in toward Hearth's
running costs. Absent that config, nothing changes.
- Write your campaign from Obsidian. With a token, the new Hearth Obsidian
plugin pulls the posts you can see into your vault as plain markdown, lets you
edit them where you already write, and pushes updates back, with a safety
check so it never overwrites a change made on Hearth since you last pulled.
- The timeline opens on the latest entry. It now shows newest-first by
default (what just happened, up top), with a one-tap toggle to flip back to
oldest-first for a front-to-back read.
- One-click "Add Hearth to Discord." Campaign Settings now has a button
that invites the Hearth bot to your server with the right permissions, so
announcements actually post. (Adding the app by hand can grant only its
slash command and no bot, which silently drops every announcement.)
Fixed
- Discord delivery problems are no longer silent. If Hearth can't post to
a subscribed channel (e.g. the bot was removed), Settings now says so and
tells you how to fix it, instead of quietly dropping announcements. The
warning clears itself on the next successful post; a deleted channel
unsubscribes automatically.
0.12.1 - 2026-07-10
Changed
- The Lorekeeper answers at the right length. Open questions ("who is
X?", "how do these two stand?") now get a focused overview, the throughline
and the moments that matter most, instead of an exhaustive catalogue of
every appearance. Want the full telling? Ask it to "go deeper" or "tell me
more" and it opens up.
Fixed
- The Lorekeeper no longer trails off mid-sentence. When an answer reaches
its length limit, it says so plainly and invites you to ask it to go on,
rather than ending on a broken fragment.
0.12.0 - 2026-07-09
Changed
- The Lorekeeper understands what you mean, not just the words you use.
It now finds the entries that match the idea behind your question, so
asking "what was the archbishop scheming?" surfaces the right session even
when nobody ever wrote the word "scheme." Ask in your own words and it
lands on the right memories.
0.11.0 - 2026-07-09
Changed
- The Lorekeeper reads more carefully. Instead of stuffing the whole
campaign into every question (and dropping the oldest entries when the
archive grew large), it now pulls the recent and pinned spine plus the
passages that best match what you asked. Early-campaign details stay
reachable by name; shopping lists no longer crowd out the answer.
0.10.0 - 2026-07-03
Added
- Sign in with Google or Discord. One click to join or return, no password
to invent. If you already have a Hearth account under the same email, the
new sign-in method links to it: sign up one way, come back another, it's
the same account. (Appears once the server operator configures the
providers.)
0.9.1 - 2026-07-03
Fixed
- Emails to hello@ reliably arrive in full. Fetching an inbound email's
text needs a Resend API key with read access; the ops guide now says so,
and the fetch itself retries its fallback properly on network errors.
0.9.0 - 2026-07-03
Changed
- Discord announcements got richer. Each entry type now posts in its own
accent color (matching the tags in the app), sessions show their number,
the lead emoji matches the entry kind, and the teaser carries a few real
paragraphs instead of a sentence.
0.8.1 - 2026-07-03
Fixed
- Emails to hello@ arrive with their words. The first real inbound email
landed without its body (the notification only carries the envelope; the
text lives one API call away, and now we make it). Plain-text mail is used
as written; HTML-only mail is converted to readable text.
0.8.0 - 2026-07-03
Added
- Save a Lorekeeper conversation. Once a conversation exists, the
Lorekeeper page offers two ways to keep it: download the thread as a
markdown file, or publish it straight into the campaign as a Resource entry
(visible to players, or GM-only if you're a GM), where it joins the archive
and is searchable like anything else.
- Start a fresh Lorekeeper conversation. A "New conversation" button
turns the page (with a confirm, so you can save the old one first). Fresh
conversations also keep the Lorekeeper sharper: it stops dragging the
whole history of an old thread into every new question.
- Email us and a human really does read it. Mail to hello@rpg-hearth.cc
now lands in the same inbox as in-app feedback and reaches the operator
directly, so the promise on the privacy page is wired all the way through.
0.7.0 - 2026-07-03
Added
- Entries can be re-dated. Editing an entry now offers an "Entry date"
field, so stories imported from elsewhere can carry the date they were
actually written instead of the day they were uploaded. The feed, dividers,
and timeline all follow the corrected date.
- Imports guess each file's real date. The import table now has a Date
column, pre-filled from the file itself (a frontmatter date, a date in the
filename, or the file's last-modified time) with a date picker on every row
to correct the guess. Published imports land in the story's order, not the
upload's.
- Step between entries while reading. Every entry now ends with links to
the next and previous entry in the campaign, so reading the story in order
no longer means a round trip through the campaign page each time.
Changed
- A warmer, more bookish look throughout. Entry pages open with an ember
drop cap and a big chapter-style title; scene breaks and dividers carry a
small ember star instead of a bare line; cards wear a whisper of parchment
grain; a low hearth-glow warms the bottom of every page to match the one up
top; dates and labels share one quiet small-caps voice; and the landing
page's promises stand a little taller.
- Entries read like a book page. The entry text column now keeps to a
comfortable reading width with slightly larger, looser type, instead of
stretching the full width of the screen.
- The deletion notice points the right way. The banner on a campaign
scheduled for deletion now links to Settings, where cancel actually lives
(it used to name the members page, which was wrong).
- The campaign feed reads like chapters. Quiet "Session N" divider lines
now mark where each session's era begins in the All view, so scrolling a big
archive has rhythm instead of being one long wall.
- Warmer entry-type colors. The fiction, announcement, resource, gallery,
and character tags are tinted as if lit by the same fire as everything else,
instead of the cooler off-palette shades they had.
Fixed
- The campaign lists in the nav stay fresh. Creating, archiving, or
deleting a campaign now shows up in the left rail and the Campaigns
dropdown right away, instead of waiting for a full reload.
- No more phantom "unsaved words" warnings. A forgotten composer draft
(kept safe by autosave) used to trigger the "unsaved words" warning on every
navigation, about text you couldn't see. Now the warning only fires while
the composer is actually open, and a restored draft opens the composer so
you can see what came back. The entry editor likewise no longer counts
unchanged text as an unsaved edit.
0.6.0 - 2026-07-03
Added
- A public "Why Hearth?" page. The thinking behind the app, in one place:
text-first, plain Markdown, simple on purpose, meets your table in Discord
and Google Docs, the whole table writes, and the Lorekeeper is a librarian,
not an author. Linked from the landing page and the footer.
Changed
- Writing tools moved to the top of the campaign page. "New entry" and
"Import files" used to sit below the entire feed, so in a big campaign you
scrolled past everything to reach them. They now sit right under the campaign
header, and a freshly published entry appears directly beneath the composer.
- "Ask the Lorekeeper" glows like it means it. The Lorekeeper card on the
campaign page wears the hearth's warm ember glow instead of dressing like
fine print, so the eye finds it.
Fixed
- Bigger images upload again. Photos over 2MB were being rejected with an
unhelpful error; the full 20MB limit now works as intended.
- The Lorekeeper opens at the latest message. The conversation used to load
scrolled to the top of its history; it now starts at the end, where the
newest exchange is.
- "What's new" opens at the top. The changelog window used to open scrolled
to the bottom. It now starts at the newest entries, with a close button in the
top corner that stays put while you scroll.
0.5.0 - 2026-07-03
Added
- Clone a campaign for a rerun. Running the same adventure for a new group?
Clone an existing campaign from its settings page: it copies the settings and
lets you pick which entries to carry over (each comes in as a draft), with a
fresh, empty player roster. Any images on the entries are re-copied so the new
table stands on its own.
- A photo for yourself at each table. Set a per-campaign avatar on the
members page, separate from your account picture, so you can look different at
different tables.
Changed
- The Lorekeeper is a proper chatbox now. The ask box stays pinned at the
bottom and the conversation scrolls above it, pinned to the newest reply, the
way every chat app works, especially on a phone.
0.4.3 - 2026-07-03
Fixed
- Signed-in pages load reliably again. Opening or refreshing the app while
logged in could leave it stuck (a blank or unresponsive page, sometimes a
failed sign-in) that a refresh only sometimes cleared. The underlying cause is
fixed, so the dashboard, campaigns, and settings come up every time.
0.4.2 - 2026-07-03
Changed
- Reliable updates without the load penalty. Building on 0.4.1, the app
caches its code again (safely: each release ships a fresh, uniquely-named
bundle), so repeat visits stay fast while always loading the current version.
0.4.1 - 2026-07-03
Fixed
- Updates load reliably. After we shipped an update, some browsers (phones
especially) kept running the old version until you cleared your browsing data,
which could make signing in or moving around the app act stuck. The current
version now always loads.
0.4.0 - 2026-07-03
Added
- Import from more than markdown. The importer now takes Word (.docx) and
PDF files and Google Docs by link, converting each to markdown for the
review table. (Word and PDF conversion needs pandoc and poppler on the server;
a public/link-shared Google Doc needs neither.)
- What's new. Click the version in the corner to see a plain-language list of
recent changes.
0.3.0 - 2026-07-03
Added
- Import a campaign as a table. Bulk-import your markdown or text notes with
a review table: set the type and visibility for every file at once from the
column headers, edit the titles, and auto-number your sessions by date. Files
publish one at a time, so a single bad file never blocks the rest, and your
players get one tidy Discord notice, not one per file.
- Send feedback straight from the footer link. A human reads every note.
- About, Privacy, and Terms pages, plus a footer to reach them. The Privacy
page says plainly what happens to your writing (including the one time the AI
Lorekeeper sends your notes to an AI provider, and how to keep it off).
Changed
- Cleaner Discord announcements. New entries post as a tidy card that names
the entry and who logged it, with a timestamp; a bulk import posts one summary.
- The hearth glow is back, warmer. The lambent firelight around the window
frame is stronger, and it now frames the page without dimming the top bar.
Fixed
- Session numbers are editable. Editing an entry now lets you set or fix its
session number, so imported sessions no longer sort out of order.
- Duplicate campaign names work. Creating a second campaign named like an
existing one (a GM running the same adventure for several tables) no longer
fails; it just gets its own link.
- GM actions work from any link. Managing members, invites, settings, and
the rest now works whether you reached the campaign from your dashboard or
from a shared or Discord link.
0.2.0 - 2026-07-02
The public pilot release.
Added
- Image galleries: multi-image upload with a full-screen lightbox viewer.
- A share button on entries that copies a link (and, on an unlisted campaign,
can make an entry visible first).
- Bulk import of markdown/text notes.
- Discord bot: subscribe a channel and player-visible entries post there with a
rich preview.
- A left-hand campaign rail and switcher for hopping between tables.
- Footnotes in markdown.
Changed
- Restored the warm lambent glow around the window frame.