Changelog
Current version: v0.4.12 (566c3da)
# Changelog All notable changes to WoDVTT are documented here. The format follows Keep a Changelog, and this project uses Semantic Versioning. ## [0.4.12] - 2026-08-01 ### Changed - Chat messages and dice rolls inside a session now show the time on your own clock. Until now they showed the server's time, so a message sent at 21:57 in Berlin was listed as 19:57 — with nothing on screen to suggest the number was not yours. - A session's start and end are shown in your own time zone as well, and the zone is always named next to them, so a time on this page is never a number you have to guess the meaning of. - When you are in a different time zone from the game master, the session page also states their local time — "19:00 (20:00 for the game master)" — so you can confirm you have understood rather than trust arithmetic you cannot see. - In the session list the time zone is named only when yours differs from the one the session was scheduled in. A group that all plays in one zone sees no extra label on every row. ### Note - Times now also carry a machine-readable value with their offset, so screen readers and copy-and-paste get an unambiguous moment rather than a bare number. - Sessions created before time zones were recorded keep displaying exactly as they do today, with no zone named — there is none to name. ## [0.4.11] - 2026-08-01 ### Changed - Session start times in your session list are now shown in your own time zone, detected automatically from your device with nothing to set up. A game master in Berlin who schedules an evening for 20:00 and a player reading the same session in London now each see that moment on their own clock. - A session starting within the next week is introduced with "today", "tomorrow" or "in N days" alongside the exact time — never instead of it. ### Note - On a first visit the start time shows a short placeholder until your time zone is known, rather than briefly showing a time in the wrong zone and correcting itself a moment later. Returning visits show your local time immediately. - Sessions created before this change carry no recorded time zone and keep displaying exactly as they do today, unchanged. ## [0.4.10] - 2026-08-01 ### Added - Sessions can now carry the time zone they were scheduled in. Nothing looks different yet: this is the groundwork for showing session times in each reader's own local time. Sessions that already exist are untouched and keep displaying exactly as they do today. ### Operator note - Deploying this version applies a small database change that adds one empty column to the sessions table. No existing data is read, rewritten, or removed, and the step can be reversed by removing the column again. ## [0.4.9] - 2026-07-31 ### Fixed - Your sessions now actually appear under "My sessions". The page built the table but never asked for its contents, so the list stayed empty for everyone, no matter how many sessions they had. Nothing was ever lost — the sessions were there the whole time, and they show up again with no further action. - Joining a session from the list works again. The "Join" button only exists on a row, so while the list was empty there was no way to join from it. ### Changed - "My sessions" now speaks plainly and in your language. Column headings and session states are translated into German and English instead of showing internal English terms, and the two state columns no longer both read "Active" — one now tells you *when* (planned, happening now, over) and the other tells you what the game master has set (draft, scheduled, open, finished, archived). - If you have no sessions yet, the page now says so in a sentence and offers to create your first one, instead of showing an empty table with the technical note "No records to display". - If the list cannot be loaded, the page now says what happened, reassures you that nothing is lost, and offers a "Try again" button rather than leaving you on a dead end. - Start times are shown in your language's usual date format instead of a technical timestamp. ## [0.4.8] - 2026-07-31 ### Fixed - The character sheet really does stay within the screen width on a phone now. The previous release fixed one of the two causes; the sheet still slid sideways because the hidden label that tells a screen reader what the delete column is for sat outside its table's scrolling area and quietly held the page open to the full width of the widest weapon table. The Combat and the Merits & Flaws tables continue to scroll on their own, so every column stays reachable. The automated check that was meant to catch this now reproduces the hidden label as well, and fails if it is ever left out again. ## [0.4.7] - 2026-07-30 ### Fixed - The character sheet no longer scrolls sideways on phone-sized screens. The Combat and the Merits & Flaws panels now stay within the screen width, and their wide tables scroll on their own, so every column remains reachable. ## [0.4.6] - 2026-07-30 ### Changed - The start page is now a proper welcome screen. It greets you, points you straight at your characters and your sessions, and shows a short preview of a character's traits. - The start page no longer displays internal development notes and reference codes that were never meant for players and storytellers. - Wording on the start page is now fully available in German and English, including the short descriptions on the overview cards. ## [0.4.5] - 2026-07-30 ### Fixed - Saving a brand-new character no longer leaves the "unsaved changes" note on screen. Once the character is saved the note disappears and the Save button stays inactive until the next edit. - A character you have just created is no longer presented as a genealogy/reference entry. Its row in the character list shows the usual completeness indicator, and opening its sheet no longer starts with the reference-entry notice. Imported genealogy entries keep that label exactly as before. ## [0.4.4] - 2026-07-30 ### Fixed - Pages now render in the intended gothic and serif typefaces. The typefaces the design calls for were referenced by the stylesheet but never shipped with the app, so every page quietly fell back to the reader's default system fonts and wasted a handful of failed downloads on each visit. The typefaces are now included and served directly by the app, with no third-party font service involved. All of them are published under the SIL Open Font License, and their licence texts are shipped alongside them. ## [0.4.3] - 2026-07-21 ### Security - Updated an internal cryptography dependency to address published security advisories. ### Changed - Centrally declared dependency versions are now applied consistently across the whole application, including parts that previously kept older versions indirectly. ## [0.4.2] - 2026-07-20 ### Fixed - The app now stays usable and falls back to its packaged themes when the theme service is slow or temporarily unavailable, instead of failing the page. - Error pages now carry the same browser security protections as regular pages. ## [0.4.1] - 2026-07-07 ### Added - Added an administrator data-import experience for reloading the bundled vampire dataset with reviewable results. - Added data-quality improvements that make incomplete lore entries, duplicates, and import issues easier to identify. - Added public release visibility through version metadata and the changelog page. ### Changed - Updated shared character-sheet controls and app shell styling for a more consistent experience. - Improved browser cache behavior for shared styling updates. - Improved app-switcher loading performance. ### Fixed - Fixed session-expiry handling so browser sessions are not kept or discarded at the wrong time. - Fixed pagination edge cases for very large page values. - Refreshed outdated testing documentation. ### Security - Strengthened development-only authentication safeguards so local sign-in helpers cannot be enabled outside development. - Reduced refresh-session lifetime. - Updated an internal dependency to address a published security advisory. - Kept dice results generated on the server. ## [0.4.0] - 2026-06-25 ### Added - Established `0.4.0` as the first WoDVTT SemVer baseline. - Added account sign-in, email confirmation, two-factor setup, recovery codes, passkeys, account management, and administrator user management. - Added player and game-master character-sheet management with role-aware access and soft delete support. - Added Vampire character sheets with attributes, skills, disciplines, hunger, willpower, convictions, and chronicle-tenet fields. - Added theme selection, theme import/export, and gothic visual styling for the app experience. - Added English and German localization foundations. - Added deployed service version metadata and health information. - Added public API documentation and structured error responses for client integrations. - Added automated tests for core API and user-interface behavior. ### Changed - Adopted an interactive server app model for the web experience. - Simplified deployment routing around the current hosting model.