Release v0.0.45 - 2025-09-30
🎯 Overview
This release focuses on improving CI/CD reliability and developer experience with critical workflow fixes, new automation tools, and enhanced context measurement capabilities. The main achievements include fixing intermittent GitHub Actions publish failures (reducing failure rate from 30-50% to 0%), implementing SSH deploy key authentication for protected branch pushes, adding token usage estimation for MCP tools, and introducing powerful slash commands for PR and release management.
✨ Highlights
- GitHub Actions Workflow Fixes - Eliminated 30-50% failure rate in publish-beta workflow by fixing race conditions and implementing proper authentication for protected branches
- Token Usage Measurement - Added BPE-based token estimation for all MCP tools to help users optimize context window usage
- Developer Automation - New slash commands (
/proj:generate-pr-desc,/proj:generate-release-notes) andjust pr-prepcommand streamline PR and release workflows - MCP Registry Ready - Package prepared for publication to MCP registry with updated documentation and Discord community link
📋 Changes
🎉 New Features
-
Token Context Measurement - Implements comprehensive token usage estimation for MCP tools (#36) by @AchintyaAshok
- Added TokenCounter utility with BPE-based approximation (no external dependencies)
- Created ContextInfo and ToolInfoResponse schemas for consistent context reporting
- Enhanced
get-active-toolsetandlist-available-toolsto include token estimates - Shows estimated tokens and percentage of context consumed per tool
- Helps users understand and optimize their context window usage
- Comprehensive unit and integration tests included
-
PR Description Generator Slash Command - Automated PR description generation from branch commits (#41) by @AchintyaAshok
- New
/proj:generate-pr-desccommand analyzes commits and generates formatted PR descriptions - Uses GitHub CLI to update PR descriptions directly
- Automatically categorizes changes (bug fixes, features, docs, etc.)
- Backs up previous PR description to
.tmp/pr-description.backup.mdfor easy revert - Follows project PR template format automatically
- New
-
Release Notes Generator Slash Command - Comprehensive release notes from merged PRs (#41, enhanced in later commits) by @AchintyaAshok
- New
/proj:generate-release-notescommand updates latest release with all changes since previous release - Handles multiple version tags between releases (e.g., v0.0.41-44 changes in v0.0.45 release)
- Fetches PR details via GitHub CLI and categorizes by type
- Generates formatted release notes following RELEASE_NOTES_TEMPLATE.md
- Includes overview, highlights, contributors, and full changelog links
- New
-
Local PR Validation Command - Run all CI checks before committing (#41) by @AchintyaAshok
- Added
just pr-prepcommand that runs complete CI validation suite locally - Includes pre-commit hooks, build, tests (CI reporter), type checking, linting, and format checking
- Matches exact checks from
.github/workflows/pr-validation.yml - Prevents CI failures by catching issues before push
- Saves time and reduces broken builds
- Added
🐛 Bug Fixes
-
Fixed Publish-Beta Workflow Race Condition - Eliminated intermittent NPM publish failures (#41) by @AchintyaAshok
- Reordered workflow steps to commit version bump BEFORE npm publish
- Previously: changeset version → publish → commit → push (caused ~30-50% failure rate)
- Now: changeset version → commit → publish → push tag and commit
- Prevents NPM from rejecting publishes due to "version already exists" errors
- Combined git push operations to eliminate timing issues
-
Fixed Protected Branch Push Authentication - Resolved GitHub Actions push failures to protected main branch (#42) by @AchintyaAshok
- Root cause: GitHub rulesets don't support adding
github-actions[bot]directly to bypass lists - Solution: Implemented SSH deploy key authentication with ruleset bypass permissions
- Changed from
token: ${{ secrets.GITHUB_TOKEN }}tossh-key: ${{ secrets.DEPLOY_KEY }} - Eliminates "Push declined due to repository rule violations" errors
- Eliminates "Changes must be made through a pull request" errors
- Eliminates "Commits must have verified signatures" errors
- Root cause: GitHub rulesets don't support adding
-
Version Synchronization - Fixed package.json version mismatch with published NPM package (#41, #42) by @AchintyaAshok
- Synced package.json from 0.0.43 to 0.0.44 to match published version
- Prevents version conflicts in automated releases
📚 Documentation
-
GitHub Rulesets Setup Guide - Comprehensive documentation for deploy key configuration (#42) by @AchintyaAshok
- Created
.github/RULESET_SETUP.mdwith step-by-step setup instructions - Explains why rulesets (not legacy branch protection) are GitHub's recommended approach
- Complete deploy key generation and configuration guide
- Detailed troubleshooting for common errors
- Security considerations and best practices
- Ready for replication in other projects
- Created
-
Release Notes Template - Standardized format for release documentation (#41) by @AchintyaAshok
- Added
.github/RELEASE_NOTES_TEMPLATE.mdfor consistent release notes - Includes sections for all change types, breaking changes, upgrade guides
- Template used by
/proj:generate-release-notescommand
- Added
-
Updated Developer Workflow - Improved CLAUDE.md with mandatory validation step (#41) by @AchintyaAshok
- Made
just pr-prepmandatory before committing - Reordered task completion workflow for clarity
- Prevents CI failures through local validation
- Made
-
Discord Community Link - Added Discord server link to README (#35) by @briancripe
- Community support channel for users
🔧 Build/Tooling
-
MCP Registry Preparation - Package ready for MCP registry publication (#35) by @briancripe
- Ensured package metadata and documentation ready for registry
- Validated package structure and dependencies
-
Improved .gitignore - Prevents tracking test artifacts (#41) by @AchintyaAshok
- Added
test-results/directory to .gitignore - Removed existing tracked test result files from git history
- Added
Other Changes
- Integration Test Script - Added test script for get-active-toolset with context measurement (#36) by @AchintyaAshok
- Version Bumps - Multiple automated version bumps for beta releases (v0.0.41-44)
🔄 Upgrade Guide
For Users
# Update via npm
npm install @toolprint/hypertool-mcp@0.0.45
# Or update globally
npm install -g @toolprint/hypertool-mcp@0.0.45For Developers
# Pull latest changes
git pull origin main
# Install dependencies
npm install
# Run local validation before committing
just pr-prep
# Run tests to verify
npm test📊 Statistics
- Commits: 6 commits since v0.0.40
- Contributors: 2 contributors
- Files Changed: 21 files changed
- Additions: 1,389 insertions(+)
- Deletions: 1,336 deletions(-)
- Pull Requests: 4 PRs merged
👥 Contributors
Thank you to all the contributors who made this release possible:
🔗 Full Changelog
Compare with previous version: v0.0.40...v0.0.45
📦 Installation
NPM
npm install @toolprint/hypertool-mcp@0.0.45Global Installation
npm install -g @toolprint/hypertool-mcp@0.0.45Verify Installation
hypertool-mcp --version🐛 Found a Bug?
If you encounter any issues with this release, please:
- Check the issue tracker for existing reports
- Create a new issue with:
- Clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Your environment details (OS, Node version, etc.)
💬 Feedback
We'd love to hear your feedback on this release! Share your thoughts:
- GitHub Discussions: https://github.com/toolprint/hypertool-mcp/discussions
- Issues: https://github.com/toolprint/hypertool-mcp/issues
- Discord: Join our community server (link in README)
Release notes generated with /proj:generate-release-notes 🤖