Changelog

New features, improvements, and fixes in ScryRPG.

Legend: New New features Improved Improvements Fix Bug fixes Breaking Breaking changes

October 2026

Character Sheets Built Around Every System, a Lore Web That Fits on Screen, and Spells You Can Create

The character sheet is where you spend most of a session, and with this update it’s built around the game you’re playing. D&D 5e sheets got their sections in the last update. Now Pathfinder 2e, Draw Steel and Daggerheart get theirs.

Sheets for every system

Each sheet groups features into sections by where they come from, such as a class and its subclass, with a jump link to each section and a search across all of them. Pathfinder 2e feats are grouped by type, from ancestry feats to archetype feats, and Draw Steel hero abilities are grouped by action, with kit and titles in their own sections. Daggerheart sheets add an Experiences card. Add an entry inside a section and the sheet remembers where it came from. Resources sit together at the top, and rows are compact enough to scan mid-fight.

The header at the top of the sheet now lays out by the space it has, so it reads cleanly with the sidebar open or closed and on a tablet. Collapse it and you get a compact card with the portrait, level and class, HP and conditions, so you can keep your character in view while you work further down the sheet.

Spells, straight from the compendium

On D&D 5e and Pathfinder 2e sheets, Add spell opens the compendium, so the spells on your sheet are real compendium entries with their full details. When a spell isn’t there, create it from the same picker with the full spell form, art upload included. It’s saved as your own compendium entry and added to your sheet in one step. On tables with strict library rules, creating spells is left to the GM.

A lore web you can read

Some pages in a campaign know everyone. The web around them used to run off screen and tangle. Now connections are grouped by relationship and labeled from the page you’re looking at, so a child reads “Child of” its parent instead of the other way round. Pages two steps away show which connection they come through. The layout adapts from a wide screen down to a phone, and the mini-web on each page and the preview your players see use the same layout.

Family trees show only family, with children placed under their parents and one label each. Session pages stay off other pages’ webs and start filtered out of the full web, and pages that aren’t connected to anything open from a side panel.

In the Atlas, each step of the breadcrumb trail opens a menu of the maps inside it, and the trail starts with All maps. On phones the upper trail folds into one menu so it fits.

Also in this update

Your familiar keeps GM-only names secret: adding a GM-only NPC to an encounter your players can see no longer shows them its name.

The help docs are up to date. Every guide was checked against the app and rewritten where it had fallen behind, including free rein, monthly AI usage, imports, RSVP through your familiar and requesting identification.

A New Home for Your Familiar, Imports You Can Review at a Glance, and a Lore Page for Every Character

The biggest change since the last update is your familiar. It has two places to live now. Your private page is for the questions you’d rather ask on your own: what’s in the party stash, what happened last session, how many healing potions you have left. The party room is shared. Everyone in the party can see who’s there and who’s typing, session events show up in the room as they happen, and replies appear word by word as the familiar writes them.

Free rein, with the questions that matter

Most of what you ask your familiar to do is routine: add a potion, move coins into the stash, update a character’s notes. Free rein is now on by default, so those changes just happen.

Some changes deserve a second look, and the familiar still stops for those. It asks first before it deletes or reveals anything, changes who’s in the party or what they can do, touches another player’s character or inventory, uses someone else’s monthly usage, or makes a large change. If you’d rather approve everything, turn free rein off in settings.

When a change fails partway through, the whole change rolls back. “Nothing was applied” means your campaign is exactly as you left it. Requests the familiar couldn’t finish are marked on their conversation, so you can pick them up later, and changes from earlier in a conversation are labeled so they never read as the answer to what you just asked.

Imports you can review at a glance

Imports have their own pages. Start one from your notes, a vault or a session recording, see every import you’ve run, and open any past import to see what it added and what was undone.

Review asks for your attention only where it’s needed. Records the importer is confident about are ready to go, and the ones that need a decision come to the front. Large imports get a review workspace with item cards you can read at a glance.

GM secrets stay where they belong. Sections of your notes written for the GM stay GM-only, and the last check on every import can only hide a record, never reveal one. When a player in your party runs an import, the party GM can open it, undo it, or keep it as it is.

Uploads with accented letters and special characters import cleanly, and a slow save in review waits for the server instead of telling you it failed.

About 20 times more from your familiar

AI credits are retired. In their place, every plan comes with a monthly AI usage allowance, and the free plan’s allowance covers about 20 times as much as its credits did. Paid plans are multiples of the free plan, and each plan shows its multiple, so comparing plans is simple.

Your plan page shows how much of this month’s usage you’ve used as a percentage, and you’ll get a heads-up at 50%, 75% and 90%. Usage resets every month on every plan, including annual plans.

Imports count toward the same allowance as everything else your familiar does. Big imports show an estimate before they start, so you know what an import will use before you commit to it.

A lore page for every character

Every character in a party now has its own lore page. It tells the character’s story and works like any other lore page: it has connections, visibility and history, and it shows up in the party’s lore. The character sheet has a Lore tab that edits the same story, so the sheet and the page never drift apart.

The Lore tab reads like the page it feeds. Your story shows as formatted text, and the pencil beside each part opens it right where it sits, with Save and Cancel. Add sections with whatever titles your character needs, and set any section to Private when only you and the GM should read it. Private sections sit together at the end, marked with a lock, and only you and the GM ever see them.

Players can link their own characters to factions, the Start here primer shows your party, places and people as art tiles, and a note shared with you tells you that you can read it on the page.

At the table

Spells on the character sheet are easier to scan mid-fight and show their compendium art. D&D 5e concentration and condition changes save, and characters with older stat formats save again.

Inventories are tidier: empty stacks are gone, wide screens use two columns, and the stash scrolls while you drag an item toward it. You’re no longer notified about your own inventory changes.

Hidden shops and loot stay hidden everywhere until the GM reveals them, including searches and the live party feed. Need or Greed pauses while a loot pile is hidden, and its deadline waits with it.

On Discord, /item quantity takes relative changes like +3 or -2, the HP form applies damage and healing, and joining a party ends by asking which character you’re bringing. Your familiar’s replies in a server channel name the party they’re about, and Discord-only accounts can RSVP to game sessions.

Your account

Deleting your account works from Settings. You no longer have to email us: start it in Settings and confirm with the code we email you. Changing or resetting your password signs out your other sessions. Behind the scenes, we’ve patched the server’s Ruby version and rotated our service credentials.

September 2026

Players Join New Parties Directly, Starter Content Leaves Room, and Import Reviews Keep Your Choices

A GM who shares an invite link usually means, “Come join us.” On a newly created party, that link now does exactly that: players join without waiting for a second approval. The same applies to an invite code, and to someone a player forwards the link to. Capacity and plan limits still apply.

Existing parties keep their join setting. If you want to approve each arrival, that choice remains; if invitations should come only from the GM, that remains too. For parties that require approval, join requests now email the owner, GMs and managers with a link to Members. Those emails respect party email preferences and unsubscribes.

When you’re the only member, an Invite your players card puts the sharing options on the party home, provided link sharing is enabled. Once a player joins, the party creator gets a prompt to reveal the unopened starter loot. Revealing it opens the loot view, ready for players to claim their share.

Room for your own shop and loot

A sample shop should help you understand how shops work without occupying the space intended for your own. The starter shop now sits outside the deployed-shop limit, and starter loot sits outside the monthly loot allowance. Existing parties get the shop change right away, so a free GM whose shop slot was occupied by the sample can deploy their own shop alongside it. Starter loot already counted this month stays counted until your loot allowance resets.

When you reach the shop limit, the prompt gives you the numbers: how many shops you have deployed and how many your plan allows. Where a free option exists, it comes first, such as deleting a shop you no longer need or archiving a character. Building encounters stays free after the monthly deployment limit.

For shops, loot, encounters, parties and characters, the paid option names the cheapest plan that covers the action, its allowance and its monthly price, and free users can proceed directly to checkout. Other limits, such as AI credits, collections, saved decks and inventory, link to Compare plans. When you reach a shop, loot, encounter or character limit inside a party you created, the prompt also shows All for One progress, including how many members have contributed their tokens toward lifting those limits for the party.

Pick up an import where you left it

Reviewing campaign notes can mean deciding which names belong together and which entries to leave out. A reload shouldn’t make you repeat those decisions. Campaign and recap reviews now save your choices as a draft, with saving, saved and error messages. Those choices survive a reload, an installed-app update or a failed save.

Recap review groups rows into matched, new, held and ambiguous. Safe matches arrive selected. Doubtful rows are held with an explanation, leaving only ambiguous rows that require an answer. Before Confirm, counts show what will be created, updated, matched, held or dropped.

Notes without a title get a proposed one. An audio upload suggests a played date from the recording’s timestamp, falling back to the upload time, and labels it as a suggestion. Transcript drafts break into paragraphs at sentence boundaries while retaining speakers and timestamps. Character names and names from recent sessions now reach transcription as hints.

Large campaign imports that previously failed can now reach review. Approved NPC possessions are kept as reference text in their GM notes. Shop stock ranges and loot chances retain their values in the preview, and Pathbuilder equipment quantities and platinum make the trip.

Campaign Confirm is safe to retry without duplicating records. If you’ve revised the source, you can replace the retained preview with a new one instead of working around an outdated draft.

Browse, bring it to the party, print it

Small artwork on detail pages now opens at full size when clicked. Collection cards and rows show a stack of art from their first three members, making their contents easier to recognize. Campaign-setting collections keep their icon.

Spells and abilities appear throughout Discover, including recommendations, spotlights and search suggestions. Community Picks draws from every marketplace type, and creator profiles have Creatures, Encounters and Spells tabs with counts. The public site also has a spells-and-abilities hub and individual pages.

Item packs deploy to party inventory or a party character. The party picker lists places where you’re GM, and collections that cannot be deployed no longer offer that button.

For cards, Safari’s first export keeps its artwork. If required art cannot be included, export stops with an error instead of handing you an incomplete file. Firefox clipping and content shifts are fixed, saved-deck conflicts explain why an update or deletion failed, and rotated calibration labels are centered on their crosshairs. Session printing keeps headings with the content they introduce.

Keep each other’s changes and secrets

Two people can open the same inventory before either finishes an edit. Individual item actions now check whether the item or its container changed in the meantime. If it did, the older edit is refused with a message to reload and reopen it. Someone else’s change stays intact while you take another look. Renaming or deleting a container gets the same check: if the container or its character changed while the dialog was open, the change is refused with the same reload message.

Party-visible recap imports also keep a firmer boundary around GM knowledge. GM-only lore names are excluded from the AI’s context even when the GM runs the import, and those imports cannot automatically update hidden lore entries.

A stalled request is now cut off so it cannot take the whole app down. During a slowdown, the app limits retries instead of adding more work to the queue. Transaction history loads faster too.

On a shared device, signing out must also close access to the previous account’s campaign. After you accept the installed app’s update prompt, it removes saved campaign responses and stops keeping them for offline viewing. That prevents those offline copies, including GM notes, from appearing for the next account. It also means recently viewed campaign data is no longer available that way without a connection.

Your Party's Sessions Have a Home

When you’re catching up before the next game, a recap can send you looking for the lore it mentions or the encounter you want to revisit. Those now have a place together. Every party has a Sessions page, with upcoming and past game nights that players can see too. Curators schedule a night with a title, date and time; opening it brings together its recap, the lore it touched, events, transcripts and encounters. Plans change, so curators can reschedule or cancel a night, or merge a duplicate into the session it belongs to. Any session can be exported as a Markdown file for the table.

A session’s number follows the night you played, which isn’t always the order you get around to writing things down. We work it out each time from the played date, falling back to the scheduled date, instead of saving a number that needs correcting later. Log an earlier night and it takes its place. Cancelled sessions leave the count, and an undated session gets no number. The list, session view, timeline’s Session lane, merge picker and exported file name all use the same numbering. If your notes carry a different number, the session view keeps that reference beside the current label as “Session N in your notes”.

Your notes are also a way to fill that record. Paste them into Import and choose Recap import to log the session and its recap, with a choice for each piece of lore: match an existing entry, create one or skip it. Matching lore gets updated and matching party characters get linked. If you’re writing in a familiar conversation, pasted prose notes get a Start import card that carries them into the importer. A recording you’ve reviewed and approved on the transcript review page can become that session’s recap through the same preview and confirmation.

Putting a recap against the wrong night would make the rest of that work misleading. The importer looks for a date within three days of the session’s date, an exact title and a session number, and attaches the notes only when there’s a single strong match, such as the title and date agreeing. Otherwise it shows the candidates and their evidence, with a Create a new session option that fills in the title, date and number from your notes. Your approval applies to the preview you read. If someone creates a matching session or edits lore it touches while you’re deciding, confirmation stops with “The plan changed” and refreshes the preview for you to review again.

Session notes don’t always tell you which events belong in the chronicle, or what day they happened in the world’s calendar. Those are decisions for the curator. Recap events arrive as proposals to confirm, date or dismiss from the session view, one at a time or together. Confirmed events without dates sit in a Session lane on the lore timeline, so keeping them in the history doesn’t require inventing a calendar day. Curators can also see what each import changed and revert it, or take a mention of a shop or loot and turn it into a template.

A player’s notes can also describe a person or place the GM has kept hidden. The convergence queue flags those pairs for curators on the session view, because recognizing the same person isn’t permission to reveal what the GM knows. Merge into the GM’s entry and it becomes visible to the party, with the player’s duplicate archived and kept as a perspective on it. Merge into the player’s entry and the GM’s text becomes GM notes there. Dismiss the pair and both stand. The choice is checked against the versions you were shown. If either entry has changed since you opened the flag, the action stops and asks you to reload and look again. If an entry has been archived, the pair can only be dismissed.

Reminders are built, but we’re giving the release a cycle in production before it starts sending notices. Once they’re on, a party can enable notices when a night is scheduled, moved or cancelled, and choose a reminder three hours, one day or two days before it starts. Each member can turn session email off without other preference changes undoing that choice. There is no fixed sending time saved when a session is scheduled. Instead, a check every ten minutes reads the party’s current settings, so changing the lead time two hours before a game still changes when its reminder is due. Creating the reminder also records that it has been made, in the same step, so restarting after an interruption can’t send a second one.

August 2026

Hand Out the Whole Party at Once

Handing characters back to the players who play them worked, and it was tedious. The GM who ran the import owns every sheet that came out of it, and returning six characters meant six trips through the same dialog. That is a fine shape for a one-off transfer between two players and a poor one for the moment a campaign starts.

The party members page now has a Hand out characters control. It lists the characters you own in that party, one row each, with a recipient picker beside every one. Assign the rows you want, send them all at once, and each recipient gets an ordinary transfer offer to accept or decline. Nothing about the handshake changes: ownership still moves only when the person on the other end says yes, and accepting in a sponsored party still costs them nothing.

Rows are independent. A player who cannot receive a character right now, because they are at their limit or have left the party, gets a row that says so, and every other offer still goes out. When a character’s name resembles a player’s, that pairing is marked as a suggestion, but the suggestion is a hint and never a selection. You decide who gets what, because you are the one who knows.

Offer history got more honest at the same time. A pending offer can stop being valid for several different reasons, and until now all of them showed up as the same three words. Now the history names what happened: the character changed owners, or left the party, or the party was archived, or the recipient is no longer in it. A move made by support reads as one, rather than looking like a transfer somebody agreed to.

Lore Edits Stop Fighting You

Lore is something a party edits together, which means your view of it changes while you are looking at it. That is the point, but it had a rough edge: when another member edited an entity, the live update could blank that entity’s picture in your panel, and it stayed blank until you reloaded the page. Updates now say that the image changed and let your view load the current one, so the panel keeps up instead of emptying out.

Two things in the lore editor were fixed alongside it. The relationship dialog would reset its own fields while you were still editing them, wiping changes you had not saved yet. And wiki-link autocomplete resolved against wherever your cursor had ended up by the time the suggestion finished loading, rather than where it was when you asked, so typing quickly could plant a link in the wrong spot. Both behave now.

Characters Change Hands, and Sponsored Parties Stop Costing Their Players

A GM who imports the party’s character sheets ends up owning all of them. That is the correct outcome at import time, and the wrong one about ten minutes later, when the players want their own characters. Until now there was no way out of it: ownership of a character was permanent in practice, so the paladin belonged to whoever ran the import, forever.

Characters can change hands now. A character’s owner offers it to a member of the party it belongs to. The offer sits there until it is answered. When the receiver accepts, ownership moves and everything owned through the character goes with it: inventory, containers, stats, the lot. The character stays in the same party, and who originally created it does not change. Both sides get told what happened, so the receiver sees the offer arrive and the sender learns whether it was taken up.

It is a handshake rather than a handoff, and that is deliberate. Accepting a character occupies one of your character slots, and the free plan has exactly one. An unsolicited transfer could have filled a player’s only slot with something they never asked for. So the receiver decides. The sender can revoke an offer that has not been answered yet, offers expire after fourteen days on their own, and if the receiver is at their character limit when they go to accept, the offer stays pending rather than failing, with the upgrade path shown.

Sponsored parties are where this gets genuinely free. Characters in a party covered by One for All or All for One do not count against the member’s own character limit. A player sitting at their cap can accept a handed-over character in a sponsored party with no upgrade prompt, no archiving, and no charge, because the sponsored party sits outside their personal count entirely.

The other side of that benefit is what happens when it stops. A One for All sponsorship can lapse, and a party can change owner and carry its All for One coverage away with it. Either way, characters that were covered start counting again. When that happens you get a notice that names the party, tells you how many active characters you now have against how many your plan holds, and states plainly that all of them are safe and fully playable. Nothing is deleted, nothing is locked; you simply cannot add more until you archive one or upgrade.

Your Familiar Shows Its Work, Character Sheets Import What You Wrote, and the Relationship Graph Untangles

Your familiar no longer asks you to take its word for anything. When you ask it to change your campaign, whether that is spawning loot, editing lore, or reorganizing an inventory, it answers with a plan you can read: every change it intends to make, listed with the riskiest at the top, and the credit cost quoted before you decide anything. The approve button says what approval means. A routine plan reads Approve; a destructive one names the act itself, so the button for a plan that deletes twelve items says so in as many words, and you are never one ambiguous click from an irreversible change.

Approval is where the work starts, not where visibility ends. The card tracks each change as it applies, marks what succeeded and what failed, and keeps the running total honest. If the plan is not what you wanted, decline it, or send it back with suggestions and let your familiar revise. Decisions stay in sync across devices, so a plan approved on your phone shows as resolved on your desktop, and plans that sit unanswered expire on a visible timer instead of lingering forever. Shop purchases made in conversation got the same discipline: they now run through the exact purchase flow the storefront uses, ending a bug where buying through the familiar could corrupt a shop’s stock records.

A character sheet exported from D&D Beyond is a fillable PDF. The printed page holds only the sheet’s labels: CHARACTER NAME, CLASS & LEVEL, ARMOR CLASS. What you wrote lives in the form fields layered on top. Our importer read the printed page, which means a finished level 7 paladin and a blank template looked identical to it, and the result was the worst kind of failure: a report that one file processed successfully and zero things were found.

The importer now reads the form fields too. Names, classes, ability scores, backgrounds, inventory, the answers you typed into every box arrive alongside the page text, and a D&D Beyond export brings your character into the campaign the way it was meant to. The fix covers fillable PDFs generally, including the official Wizards character sheets and other form-based exports, with proper handling for checkboxes, multi-select fields, and accented text.

An imported sheet should also hand you the gear you own, not a parallel universe of it. An item written as Studded Leather could miss the official Studded Leather Armor on a naming technicality, and the importer would invent a stand-in: right name, wrong weight, wrong value, and a duplicate listing sitting next to the real thing. Matching now normalizes those naming differences and accepts corroborated near-matches, so imported equipment lands attached to the official catalog entry with the numbers the book intends. Defensive traits made the trip too: resistances, immunities, and vulnerabilities on the sheet now arrive on the character, and a currency row that reads zero imports as exactly nothing.

The silence around a failed import is gone as well. When an extraction genuinely finds nothing, the review screen says so plainly and points at the likely cause instead of presenting an empty page with a disabled import button. Scanned or image-heavy PDFs, which carry almost no readable text, are flagged on the file before you spend time wondering where your content went. An import that finds nothing is now a conversation, not a shrug.

The relationship graph had the opposite problem: it showed you everything at once. A campaign with a couple of hundred entities collapsed into a knot of overlapping beads with labels stacked on top of one another, which is a fine way to prove your world is large and a poor way to show what is in it. The layout now spaces entities according to how they actually connect, and it runs until it settles rather than stopping partway. Labels hold a constant size no matter how far you zoom, and when two would collide, one steps aside instead of both becoming unreadable.

Seeing the whole web at once is rarely what you want anyway. You can now filter it down to the question you actually have: only factions and the allegiances between them, only your locations, only the conflicts. Pick from nine entity categories and six kinds of relationship, and the remaining web relaxes into the space that frees up. Search finds an entity by name and lights it up in place, and if your current filter is hiding a match, it is still listed and one click away rather than quietly absent. Drag an entity to pin it where you want it, and release everything with a single control when you would rather start over. Every category now carries its own mark inside the bead, with a legend to read them by, so the categories stay distinguishable without relying on color alone. Underneath all of that, the board finally holds still: creating a new entity drops it into place instead of reshuffling everything you were looking at, and a link that points at a specific entity now centers on it.

Characters stopped being mislabeled in their own story, too. A player character imported from GM notes could surface in the graph tagged as an NPC, with an Open Character button that led to a missing page. Characters in the graph are player characters now, full stop, and the button opens the sheet. Which character you are acting as is also something you can see and change everywhere: the character page header carries a star, the starred character is the one your Discord commands and your familiar act on, and an Active badge marks it across your character cards. The Discord side of that switch got fixed in the same pass, where the switch action in /character used to show a confirmation while changing nothing.

Parties see more of each other, deliberately. Any member of your party can open a fellow member’s character sheet in view-only mode, so a GM can check a player’s loadout mid-session and a player can size up the rest of the table. Editing, deleting, and every other write stays with the character’s owner.

Image uploads got a repair pass of their own. A configuration gap broke uploads on the six newer surfaces: Atlas maps, lore entries, creatures, encounters, abilities, and adventure module covers, all failing with a terse provider error while item and character art continued to work. All six surfaces upload, crop, and save now, the upload widget works inside dialogs like Create Map, and the dialog shows a preview of your uploaded image so a successful upload looks successful. Under the hood, every upload preset moved to signed mode, so nothing reaches your campaign’s media without the server authorizing that specific upload, and the server refuses unknown upload targets outright. When an upload does fail, the reason appears in plain words under the button you clicked. Cropped uploads no longer fail authorization, and archiving a lore entity now clears its map pins from open atlas views on the spot.

Have feedback?

Tell us what would make your campaign easier to run, prep, and remember.