- Enhance MCP server robustness and usability: - Implement smart project root detection with hierarchical fallbacks - Make projectRoot parameter optional across all MCP tools - Add comprehensive PROJECT_MARKERS for reliable project detection - Improve error messages and logging for better debugging - Split monolithic core into focused direct-function files - Implement full suite of MCP commands: - Add task management: update-task, update-subtask, generate - Add task organization: expand-task, expand-all, clear-subtasks - Add dependency handling: add/remove/validate/fix dependencies - Add analysis tools: analyze-complexity, complexity-report - Rename commands for better API consistency (list-tasks → get-tasks) - Enhance documentation and developer experience: - Create and bundle new taskmaster.mdc as comprehensive reference - Document all tools with natural language patterns and examples - Clarify project root auto-detection in documentation - Standardize naming conventions across MCP components - Add cross-references between related tools and commands - Improve UI and progress tracking: - Add color-coded progress bars with status breakdown - Implement cancelled/deferred task status handling - Enhance status visualization and counting - Optimize display for various terminal sizes This major update significantly improves the robustness and usability of the MCP server while providing comprehensive documentation for both users and developers. The changes make Task Master more intuitive to use programmatically while maintaining full CLI functionality.
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