Skip to content

v4.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 26 Jun 08:33
· 1 commit to master since this release

L5RCM v4.0.0 🎉

This is a major release: L5RCM ships an entirely new user interface, rebuilt from the ground up in QML, alongside a deep rework of the application's internals. The classic QWidget UI is still available, but the new sheet-style interface is now the default experience.

✨ A brand-new interface

  • Complete QML UI rewrite — every tab has been re-imagined as a themed character sheet: Character, Skills, Techniques, Spells, Kata, Kiho, Tattoos, Weapons & Armor, Advancements, Notes, Modifiers, Settings and About.
  • Per-clan accent theming — the sheet tints itself to your character's clan.
  • Responsive layout with a hamburger drawer sidebar, plus a user-selectable UI text size (Standard / Large / …).
  • Per-character section visibility — hide the sections you don't use from the sidebar or the View menu.
  • New typography (Cinzel headers, IM Fell English / Garamond body) and a bundled brush-kanji font for the CJK section icons.

🀄 Character building

  • Unified Origin Selection dialog — choose clan, family and school in one place, with Different School support (#448, #450, #451).
  • Join a new school (multiclass) directly within the rank-advancement flow.
  • "+" button to award experience points quickly (#404).
  • Editable base health multiplier (e.g. Earth ×5) (#389).
  • Batch heal/damage dialog for wounds, with a vertical wound ladder.

📦 Datapacks

  • New Library section: install datapacks from file, enable/disable, delete, and download the official packs from within the app.
  • Datapack-driven declarative stat modifiers — TN, rings and other effects are now evaluated from the records you own.

💾 Files & export

  • Autosave and resume-last-session, with discard guards on New/Open.
  • PDF and NPC sheet export from the new UI, with optional pre-printing of the current Armor TN (off by default).
  • Exported PDFs are now truly flattened, with word-wrap and non-ASCII fixes.

🌍 Localization

  • New en_US and en_GB locales.
  • Updated Italian, French, Spanish, Portuguese (Brazil) and Russian translations (with further community work via Weblate, including Arabic and Vietnamese).

🪟 Packaging

  • Per-user Windows installer that does not require administrator rights.
  • Automatic light/dark theme detection.

🐛 Notable fixes

  • Accept decimal Honor/Glory/Status input (#380)
  • Social flag tracks now read as rank-tenths (#402)
  • Spell slots no longer auto-advance on selection (#403)
  • Older saves load correctly — nested Rank objects are rehydrated (#397) and legacy school ranks are handled (backwards-compatible)
  • Taking off / wearing armor now works (#379)
  • Adjusting wounds no longer re-renders the whole sheet (#419)
  • Re-evaluate Family/School edit state when the character changes (#433)
  • Register each Liberation Sans face under its own name on Windows (#426)
  • Tooltips on tabs (#396); fixed obsolete README install instructions (#382)

🛠️ Under the hood

Large internal refactor: the API layer now resolves its session state through a contextvars-based L5RCMContext, main.py was decomposed into per-tab/per-concern UI mixins with dedicated Qt sinks, and the legacy Sink1..Sink4 monoliths were dismantled.

Full changelog: https://github.com/OpenNingia/l5rcm/compare/v3.20.0...v4.0.0