v6.2.0 is primarily a reliability and consolidation release.
Rather than introducing one large user-facing feature, this version strengthens the foundations of TOR2E:
more automated regression coverage, fixes to several gameplay and persistence issues, terminology cleanup,
and architectural work around Foundry VTT 14, Active Effects, data models and sheet updates.
🧪
Regression tests
Many more table workflows are now protected end-to-end.
🛠️
Bug fixes
Rolls, persistence, sheets, migrations and combat workflows received targeted fixes.
🌍
Translation & language
Terminology and legacy project wording were cleaned up.
⚙️
Tech & architecture
Source/effective-value handling and the test/tooling foundations were simplified.
✦
🧪 Regression tests
The largest visible body of work in v6.2.0 is the expansion of the automated regression suite.
TOR2E now protects many more complete Foundry workflows instead of relying only on isolated unit tests.
Dice and Roll Dialog
- Weary Success Dice behavior is covered for results 1–3.
- Miserable + Eye of Sauron automatic failure is covered.
- Gandalf Rune and Eye of Sauron outcomes are covered deterministically.
- Favoured, Ill-favoured, and cancellation between the two states are covered.
- Hope and Inspired bonuses are covered through the Roll Dialog.
- Manual bonus and penalty Success Dice are covered, including the zero floor.
- Manual companion support and Fellowship Focus/support interactions now have regression coverage.
Actors, Items and Communities
- Player-hero creation and persistence after reopening the sheet.
- Adversary Endurance and Hate persistence.
- NPC Occupation and Description persistence.
- Lore Actor Role and Description persistence.
- Community Connections and Patrons persistence.
- Armour creation and persistence.
- Creation of every simple Item type through the Foundry UI.
- Persistence of Item types using Active Effects.
Combat and chat attribution
- Weapon rolls with combat metadata.
- Protection actions against the correct adversary.
- NPC skill-roll attribution in chat.
- Community traveller skill-roll attribution to the correct Actor and action.
Much of this section is invisible during play, but it materially reduces the risk of future releases
breaking established TOR2E rules and workflows.
✦
🛠️ Bug fixes
v6.2.0 also resolves a set of issues affecting rolls, sheet editing, persistence and world upgrades.
Rolls
- Roll result classification is protected from Failure through Extraordinary Success.
- Task rolls now honor Foundry's configured chat message mode.
- Skill migration preserves both rank and favoured state.
Active Effects and editable values
- Active Effects are no longer unintentionally re-applied during full form submissions.
- Editable fields targeted by Active Effects now reconcile displayed effective values with their stored source values.
- Community and NPC editable fields now follow the same effective-value model.
Persistence and sheets
- NPC and Lore editors were made reliable enough to preserve their edited rich-text fields.
- Community Patron handling when dropping Characters was simplified and normalized.
- Item sheets regain reliable scrolling.
- Character Sheet tab handling for Endurance and Hope maximum values was corrected.
- Window resize handles now remain usable above sheet content.
Migration safety
- A failed world upgrade no longer advances the stored world version as if the migration had succeeded.
- Partial-update side effects were removed from migration data handling.
✦
🌍 Translation & language
This release does not contain a major translation-pack or internationalization overhaul.
The language-related changes visible in the release history are mainly terminology and project-name cleanup.
- The legacy SWERPG label on the Character Sheet was corrected to TOR2E.
- Project documentation and conventions were updated to replace remaining legacy SWERPG references with TOR2E terminology.
- Documentation paths and internal naming were normalized to make future maintenance clearer and more consistent.
✦
⚙️ Tech & architecture
A substantial part of v6.2.0 is architectural cleanup intended to make future development safer and easier to reason about.
Source values vs. effective values
- Legacy
use-source-value infrastructure was removed.
- Source data is now encapsulated more explicitly in sheet context.
- Community updates are built from source data more safely.
- Actor data preparation remains synchronous.
- Direct-write and update rules around
_source, _preUpdate and effective values are now documented through ADRs.
Sheet architecture
- The custom Actor and Item sheet submission queue was removed.
- Character-type handling in extended Actor data preparation was simplified.
- Journey Log updates now target the relevant collection entries instead of replacing broader structures.
- Embedded Active Effect creation now returns the created documents as expected.
Tooling and test infrastructure
- The JavaScript lint stack moved to ESLint 10 flat config.
- A deterministic
DiceRig was added for programmable dice results in tests.
TORSuccessDie.roll() gained min/max result options used by the deterministic test infrastructure.
- The E2E workflow was optimized so the Foundry world can stay open for a full regression campaign instead of reopening for every scenario.
- Foundry VTT 14 Build 366+ user-selection and asynchronous tour-overlay handling were hardened.
- E2E JSDoc, dice-testing and audit-method documentation were expanded.
✦
Upgrade
- Make sure you are running a supported Foundry VTT 14 build.
- Back up your world before updating.
- Update TOR2E to v6.2.0 through Foundry's package manager.
- Open your world normally and let the system perform any required upgrade work.
- If a migration reports a failure, stop and investigate it rather than assuming the world was upgraded successfully.
✦
In short
v6.2.0 is a foundation release: fewer silent regressions, safer sheet updates, more dependable persistence,
and significantly broader automated coverage of the rules and workflows used at the table.
The result is not one headline feature, but a TOR2E system that is better prepared for the next ones.