# [4.8.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.7.0...v4.8.0) (2025-06-19)
### Bug Fixes
* installer has fast v4 update option now to keep the bmad method up to date with changes easily without breaking any customizations from the user. The SM and DEV are much more configurable to find epics stories and architectureal information when the prd and architecture are deviant from v4 templates and/or have not been sharded. so a config will give the user the option to configure the SM to use the full large documents or the sharded versions! ([aea7f3c](aea7f3cc86))
* prevent double installation when updating v4 ([af0e767](af0e767ecf))
* resolve undefined config properties in performUpdate ([0185e01](0185e012bb))
* update file-manager to properly handle YAML manifest files ([724cdd0](724cdd07a1))
### Features
* add early v4 detection for improved update flow ([29e7bbf](29e7bbf4c5))
* add file resolution context for IDE agents ([74d9bb4](74d9bb4b2b))
* update web builder to remove IDE-specific properties from agent bundles ([2f2a1e7](2f2a1e72d6))
- Remove 'root' property from YAML when building web bundles
- Remove 'IDE-FILE-RESOLUTION' and 'REQUEST-RESOLUTION' properties
- Filter out IDE-specific activation instructions
- Keep agent header minimal for web bundles
- Ensures web bundles are clean of IDE-specific configuration
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added flag to prevent installer.install() being called twice
- Fixed undefined 'directory' error by using answers.directory
- Update flow now completes without errors
- Prevents 'Cannot read properties of undefined' error after successful update
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added optional chaining for newConfig.ide access
- Added ides array to config object in performUpdate
- Fixes 'Cannot read properties of undefined' error after update
- Ensures all required config properties are present for showSuccessMessage
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Now detects existing v4 installations immediately after directory prompt
- Offers update option upfront for existing v4 installations
- If user declines update, continues with normal installation flow
- Added 'update' install type handling in installer
- Improves user experience by streamlining the update process
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: add expansion pack installation system with game dev and infrastructure expansion packs
- Added expansion pack discovery and installation to BMAD installer
- Supports interactive and CLI installation of expansion packs
- Expansion pack files install to destination root (.bmad-core)
- Added game development expansion pack (.bmad-2d-phaser-game-dev)
- Game designer, developer, and scrum master agents
- Game-specific templates, tasks, workflows, and guidelines
- Specialized for Phaser 3 + TypeScript development
- Added infrastructure devops expansion pack (.bmad-infrastructure-devops)
- Platform engineering agent and infrastructure templates
- Expansion pack agents automatically integrate with IDE rules
- Added list:expansions command and --expansion-packs CLI option
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
* alpha expansion packs and installer update to support installing expansion packs optionally
* node20
---------
Co-authored-by: Brian Madison <brianmadison@Brians-MacBook-Pro.local>
Co-authored-by: Claude <noreply@anthropic.com>
- Reset both package.json files to version 4.3.0
- The v5.0.0 bump was accidental due to BREAKING CHANGE in commit message
- Enhanced lint-staged to check all YAML files in project including .bmad-core/
- This ensures husky catches YAML formatting issues before push
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix regex pattern to match both yml and yaml in agent markdown files
- This resolves validation failures after yaml-format standardized to 'yaml'
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Convert all functions to async to support chalk ES module import
- Replace string.replace with manual regex processing for async formatYamlContent calls
- This resolves the ERR_REQUIRE_ESM error in GitHub Actions format step
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add custom semantic-release plugin to sync installer package.json
- Update semantic-release config to include installer package.json in releases
- Disable manual version bump script in favor of conventional commits
- Add helper script for version synchronization
- This ensures semantic-release fully manages both package.json files
BREAKING CHANGE: Manual version bumping via npm scripts is now disabled. Use conventional commits for automated releases.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Reset manual version bump to let semantic-release handle versioning going forward.
This aligns with the last semantic-release version (4.2.0) and allows proper
automated releases based on conventional commits.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove promisify wrapper for glob since modern glob package is already async
- Fix ERR_INVALID_ARG_TYPE error in v3-to-v4-upgrader.js
- This resolves GitHub Actions validation failures
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* chore: fix installation directory handling to use .bmad-core as default path
- Remove redundant ./ prefix from default directory
- Update all default paths from ./.bmad-core to .bmad-core
- Add logic to handle direct .bmad-core path selection
- Treat parent as project root when .bmad-core specified
- Simplify directory state detection for existing files
- Remove unknown_existing state type from installer logic
* chore: refactor installer to use modern JS patterns and improve code clarity
## CHANGES
- Replace require with node:path import
- Add block scoping to switch cases
- Remove unused options parameter from update
- Use optional chaining for ideConfig check
- Replace forEach with for...of loops
- Use template literals for string concatenation
- Add early return to avoid else block
- Update spell check dictionary entries
* chore: update dependencies to latest major versions
## CHANGES
- Update @kayvan/markdown-tree-parser to v1.5.0
- Update chalk to v5.4.1 for ESM support
- Update commander to v14.0.0 with Node 20 requirement
- Update fs-extra to v11.3.0
- Update glob to v11.0.3 with new API
- Update inquirer to v12.6.3 with modular design
- Update ora to v8.2.0 with improved features