Skip to content

Release v0.0.45

Latest

Choose a tag to compare

@github-actions github-actions released this 30 Sep 18:51

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) and just pr-prep command 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-toolset and list-available-tools to 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-desc command 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.md for easy revert
    • Follows project PR template format automatically
  • Release Notes Generator Slash Command - Comprehensive release notes from merged PRs (#41, enhanced in later commits) by @AchintyaAshok

    • New /proj:generate-release-notes command 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
  • Local PR Validation Command - Run all CI checks before committing (#41) by @AchintyaAshok

    • Added just pr-prep command 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

🐛 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 }} to ssh-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
  • 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.md with 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
  • Release Notes Template - Standardized format for release documentation (#41) by @AchintyaAshok

    • Added .github/RELEASE_NOTES_TEMPLATE.md for consistent release notes
    • Includes sections for all change types, breaking changes, upgrade guides
    • Template used by /proj:generate-release-notes command
  • Updated Developer Workflow - Improved CLAUDE.md with mandatory validation step (#41) by @AchintyaAshok

    • Made just pr-prep mandatory before committing
    • Reordered task completion workflow for clarity
    • Prevents CI failures through local validation
  • 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

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.45

For 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.45

Global Installation

npm install -g @toolprint/hypertool-mcp@0.0.45

Verify Installation

hypertool-mcp --version

🐛 Found a Bug?

If you encounter any issues with this release, please:

  1. Check the issue tracker for existing reports
  2. 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:


Release notes generated with /proj:generate-release-notes 🤖