* fix(expand): Fix tag corruption in expand command - Fix tag parameter passing through MCP expand-task flow - Add tag parameter to direct function and tool registration - Fix contextGatherer method name from _buildDependencyContext to _buildDependencyGraphs - Add comprehensive test coverage for tag handling in expand-task - Ensures tagged task structure is preserved during expansion - Prevents corruption when tag is undefined. Fixes expand command causing tag corruption in tagged task lists. All existing tests pass and new test coverage added. * test(e2e): Add comprehensive tag-aware expand testing to verify tag corruption fix - Add new test section for feature-expand tag creation and testing - Verify tag preservation during expand, force expand, and expand --all operations - Test that master tag remains intact and feature-expand tag receives subtasks correctly - Fix file path references to use correct .taskmaster/tasks/tasks.json location - Fix config file check to use .taskmaster/config.json instead of .taskmasterconfig - All tag corruption verification tests pass successfully in E2E test * fix(changeset): Update E2E test improvements changeset to properly reflect tag corruption fix verification * chore(changeset): combine duplicate changesets for expand tag corruption fix Merge eighty-breads-wonder.md into bright-llamas-enter.md to consolidate the expand command fix and its comprehensive E2E testing enhancements into a single changeset entry. * Delete .changeset/eighty-breads-wonder.md * Version Packages * chore: fix package.json * fix(expand): Enhance context handling in expandAllTasks function - Added `tag` to context destructuring for better context management. - Updated `readJSON` call to include `contextTag` for improved data integrity. - Ensured the correct tag is passed during task expansion to prevent tag corruption. --------- Co-authored-by: Parththipan Thaniperumkarunai <parththipan.thaniperumkarunai@milkmonkey.de> Co-authored-by: Parthy <52548018+mm-parthy@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Changesets
This folder has been automatically generated by @changesets/cli, a build tool that works with multi-package repos or single-package repos to help version and publish code. Full documentation is available in the Changesets repository.
What are Changesets?
Changesets are a way to track changes to packages in your repository. Each changeset:
- Describes the changes you've made
- Specifies the type of version bump needed (patch, minor, or major)
- Connects these changes with release notes
- Automates the versioning and publishing process
How to Use Changesets in Task Master
2. Making Changes
- Create a new branch for your changes
- Make your code changes
- Write tests and ensure all tests pass
3. Creating a Changeset
After making changes, create a changeset by running:
npx changeset
This will:
- Walk you through a CLI to describe your changes
- Ask you to select impact level (patch, minor, major)
- Create a markdown file in the
.changesetdirectory
4. Impact Level Guidelines
When choosing the impact level for your changes:
- Patch: Bug fixes and minor changes that don't affect how users interact with the system
- Example: Fixing a typo in output text, optimizing code without changing behavior
- Minor: New features or enhancements that don't break existing functionality
- Example: Adding a new flag to an existing command, adding new task metadata fields
- Major: Breaking changes that require users to update their usage
- Example: Renaming a command, changing the format of the tasks.json file
5. Writing Good Changeset Descriptions
Your changeset description should:
- Be written for end-users, not developers
- Clearly explain what changed and why
- Include any migration steps or backward compatibility notes
- Reference related issues or pull requests with
#issue-number
Examples:
# Good
Added new `--research` flag to the `expand` command that uses Perplexity AI
to provide research-backed task expansions. Requires PERPLEXITY_API_KEY
environment variable.
# Not Good
Fixed stuff and added new flag
6. Committing Your Changes
Commit both your code changes and the generated changeset file:
git add .
git commit -m "Add feature X with changeset"
git push
7. Pull Request Process
- Open a pull request
- Ensure CI passes
- Await code review
- Once approved and merged, your changeset will be used during the next release
Release Process (for Maintainers)
When it's time to make a release:
- Ensure all desired changesets are merged
- Run
npx changeset versionto update package versions and changelog - Review and commit the changes
- Run
npm publishto publish to npm
This can be automated through Github Actions
Common Issues and Solutions
- Merge Conflicts in Changeset Files: Resolve just like any other merge conflict
- Multiple Changes in One PR: Create multiple changesets if changes affect different areas
- Accidentally Committed Without Changeset: Create the changeset after the fact and commit it separately