Framework versions
| Framework | Game logic | Client | Availability |
|---|---|---|---|
| 2 | TypeScript | React client you write | Stable. create_game uses it when you pass no frameworkMajor. |
| 3 | Rust | React client you write | Preview, open to everyone. Pass frameworkMajor: 3 to create_game. |
| 1 | TypeScript | Board that Boardweaver draws from BWSS | Deprecated for new games. Existing games stay editable and playable. |
Match the game's version
Each game is pinned to one framework major. Pass the game's gameDefinitionId to list_doc_sections and get_doc_section, so they serve that major's catalog. list_doc_sections answers the version in frameworkVersion. With a pending upgrade, both serve the new major.
Each commit records its framework version, and a match keeps the commit it started with. A game stays on its major until you upgrade it.
Upgrade a game
Call upgrade_framework with the newer major. Follow the migration guide it returns, run validate_code until it answers valid: true, then call commit. A game never moves back to an older major.
The shared framework-* sections apply to every major. Each major's own catalog covers its source files, game logic, client and limits.