v2.9.0
ddb-mcp v2.9.0
This release is mostly about getting character sheet numbers right. We squashed a bunch of small bugs that were quietly producing the wrong AC, HP, speed, languages, darkvision, and initiative for certain builds — especially Monks, Bards, Rangers, Scouts, and anyone using manual overrides or 2024 rules. Under the hood, the character parser was rewritten into smaller pieces, which makes future fixes faster.
Bug Fixes
- Monk class features now correctly turn off when you put on armor. Unarmored Movement and the Defense fighting style no longer light up while you're wearing a breastplate.
- Languages are finally complete. Player-added languages, languages set via the new D&D Beyond picker, and the full catalogue of languages from every published sourcebook are now all collected and named correctly (no more "Language #47").
- AC manual overrides are now respected. If you've typed an AC value directly into D&D Beyond, that number is what you'll see.
- Hit points use D&D Beyond's "override" value when you've rolled HP or set them manually, instead of always recomputing from class averages.
- Darkvision stacks correctly for Gloom Stalker Rangers — Umbral Sight now extends your race's darkvision (e.g. 60 ft + 30 ft = 90 ft) instead of replacing it.
- Initiative now includes the Bard's Jack of All Trades bonus.
- Speed bonuses from class and feat features now apply: Scout's roving movement, Barbarian's Fast Movement, the Roving feat, and Mobile all bump your speed as they should.
- Remarkable Athlete (Champion Fighter) now adds the half-proficiency bonus to non-proficient Strength, Dexterity, and Constitution skill checks.
- 2024 ability score increases from races are no longer double-counted. If you're using a 2024 character with a background-driven ASI, the race-side ASI is correctly ignored.
- Ability scores cap at 20 when computed from ASIs, per the PHB rule (magic items like Belt of Giant Strength still raise the cap as expected).
- Speed calculation no longer gets confused by leftover modifiers from optional class features you didn't actually take.
- Library listings no longer show the same sourcebook twice.
Security
- Tightened input validation across all tools and properly URL-encoded user-supplied IDs, so handcrafted requests can't sneak unexpected characters into D&D Beyond URLs.
Improvements
- Major internal rewrite of the character parser. Behaviour is unchanged for players, but the code is now organised by topic (stats, AC, defenses, features, weapons, spells, inventory, etc.), with snapshot tests against real characters to catch regressions. This is what made the long list of bug fixes above possible.