v1.3.3
🔒 Security
- Hardened
create_db_backup—mysqldumpis now spawned with an argv array (no shell), the MySQL password is passed via theMYSQL_PWDenv var so it's no longer visible intasklist/ps, and table/database names are validated as identifiers before being passed in. - Locked down
update_config— the tool can no longer rewrite theconfig_filessection. Without this, an agent could repointworldserver_confto any path and then write to it viawrite_server_config. Editconfig.jsondirectly to change those paths. - Redact passwords in RA echoes —
create_accountandset_account_passwordno longer surface the plaintext password through RA command echoes back to the agent.
🐛 Fixes
- Fixed dead
schemaOverrideconfig (the headline v1.3.0 feature actually does something now).index.tswas callinginitializeSchema()with no argument, so the override file was never loaded. The override is now read fromconfig.schemaOverrideand merged on top of the default MoP schema. Per-table deep merge so partial overrides (e.g. justaccount.dp) no longer wipe the other columns in that table. - Fixed
creature(spawn) schema —get_creature_spawnsnow goes through the schema resolver instead of hard-codingid, anddiscover_schemadetects whether your core usescreature.id(MoP/Cata) orcreature.id1(TC 3.3.5 / AzerothCore). - Fixed
add_dprace condition — the previous SELECT-then-UPDATE pattern lost concurrent updates. Now uses a single atomicUPDATE … SET dp = dp + ?.
🧹 Cleanups
- Removed dead
player_nameparameter fromspawn_creature— the parameter was accepted but its value was ignored. RA has no per-call player context. - Schema resolver footgun fix — tool handlers now call
getSchema()per-invocation instead of capturing it at registration time. This means a futurereload_schematool would actually work. example.config.jsonnow ships withschemaOverridepre-set toschema_override.json, so the post-discover_schemaflow works out of the box.
📝 Documentation
- Rewrote the Add to Your AI Client section with clear, copy-paste install blocks for Claude Desktop, Claude Code (VS Code extension + CLI), Codex CLI, and Antigravity (UI flow first, JSON config as fallback).
- Removed the inline changelog (release notes now live here on the Releases page).
- Fixed the Lookup & Editing tool count (10 → 13). Total is still 76.
- Tightened the Dynamic Schema section now that the override flow actually works.
🛠️ Build / repo hygiene
- Added
.github/workflows/build.yml— type-check + build matrix on Node 18 / 20 / 22 for every push and PR tomain. .gitignorenow covers.mcp.json,.claude/,.vscode/mcp.json(per-developer MCP client wiring with user-specific absolute paths).
v1.3.1was intentionally skipped between v1.3.0 and v1.3.2.
Full diff: v1.3.2...v1.3.3