v2.9.4
April 2026
Core / Infrastructure Apr 16
- Fixed Removed hardcoded Gemini API fallback key from
api/rag/config.php; the file now requiresGEMINI_API_KEYfrom environment and fails loudly when missing - Fixed Removed hardcoded Gemini key from
content/articles/images/generated/generate-trust-illustrations.py; script now reads fromos.environ["GEMINI_API_KEY"] - Improved Expanded
.gitignoreto exclude.env,.env.*,api/config.php,api/rag/config.php,vendor/, build artifacts, test output, and local worktree state - New Added
.env.exampletemplate so contributors can scaffold environment without exposure risk - Fixed Purged stale Gemini key from all worktree copies of
api/rag/config.phpand from every.claude/settings.local.jsonpermission allowlist - Fixed Removed macOS-duplicated broken git refs (
origin/claude 2,origin/main 2) that were blockinggit log --all
Icebreaker Spinner Apr 16
- Improved "Set Up Board" now generates a single polished Workshopr-branded universal template (cream + red palette, Fraunces title, rich content panels) instead of five generic shells
- Improved Full icebreaker payload (overview, instructions, objectives, outcomes, facilitator notes, materials, variations) now ships to the board, with Markdown stripped and true FigJam bold applied to emphasized ranges
- New Workshopr logo + logotype render at the top of every generated board
- Fixed "Set Up Board" button now reflects real async state (idle → setting up → ready / retry) and surfaces errors returned from the FigJam sandbox
- Fixed Content now renders inside the generated section container — uses a proper
Framechild instead of relying on the section's non-container parenting