Skip to content

Latest commit

 

History

History
295 lines (218 loc) · 10.1 KB

File metadata and controls

295 lines (218 loc) · 10.1 KB

Release Notes: v1.7.1

Release Date: 2025-12-16 Type: Maintenance Release Focus: Repository Cleanup and Workflow Enhancements

Overview

Version 1.7.1 is a maintenance release that establishes CyberChef-MCP as a focused MCP server implementation by removing 88 unused upstream web UI files (~19,260 lines of code) and enhancing the upstream synchronization workflow. This release improves project clarity, reduces maintenance burden, and strengthens the fork's identity while preserving all MCP server functionality.

Key Highlights:

  • 88 web UI files removed (81 src/web/ components + 4 browser tests + 3 configs)
  • Net reduction: ~19,260 lines of code
  • Complete upstream sync workflow rewrite for selective file copying
  • Enhanced configuration files for better fork identity
  • All 343 MCP tests passing, 78.93% coverage maintained
  • Zero breaking changes - fully backward compatible

What's Changed

Repository Cleanup (88 Files Removed)

Removed Web UI Components (81 files from src/web/):

  • Stylesheets: CSS files for web interface styling
  • Fonts: Web font files for UI typography
  • Images: Icons, logos, and UI graphics
  • UI Components: HTML, template, and JavaScript files for browser interface

Removed Browser Tests (4 files from tests/browser/):

  • Nightwatch.js browser testing framework tests
  • UI-specific test cases not applicable to MCP server

Removed Web-Only Configuration Files (3 files):

  • nightwatch.json - Browser testing configuration
  • postcss.config.js - CSS processing configuration
  • .devcontainer/devcontainer.json - VS Code dev container setup

Impact:

  • Net reduction: ~19,260 lines of code
  • Clearer project scope: MCP server focus vs. web application
  • Reduced maintenance burden: Fewer files to track during upstream syncs
  • Faster container builds: Smaller Docker build context
  • All MCP functionality preserved: 343 tests passing, 78.93% coverage

Workflow Enhancements

1. Enhanced Upstream Monitor Workflow

File: .github/workflows/upstream-monitor.yml

Changes:

  • Updated for ref-proj/CyberChef/ directory structure
  • Monitors full upstream clone instead of sparse checkout
  • Improved change detection for complete repository state
  • Better integration with selective sync workflow

2. Complete Upstream Sync Rewrite

File: .github/workflows/upstream-sync.yml

Changes:

  • Selective File Copying Model: Copies only src/core/operations/*.mjs from upstream
  • Prevents Web UI Restoration: Explicitly excludes 88 deleted files during sync
  • Verification Step: Ensures no excluded files are copied to main codebase
  • Pull Request Creation: Creates PR for review instead of direct merge to master
  • Comprehensive Testing: Runs full test suite before PR creation
  • Safe Sync Philosophy: Preserves MCP-specific modifications through selective copying

Benefits:

  • No more accidental restoration of deleted web UI files
  • Safer synchronization process with human review
  • Clear separation between upstream core operations and MCP-specific code
  • Easier conflict resolution through PR-based workflow

3. Enhanced Rollback Workflow

File: .github/workflows/rollback.yml

Changes:

  • Added before/after state comparison table
  • Enhanced ref-proj rollback guidance
  • Better documentation of rollback process
  • Clearer verification steps

4. New Upstream Sync Documentation

File: docs/guides/upstream-sync-guide.md (540 lines)

Contents:

  • Comprehensive guide to selective sync workflow
  • Explanation of sync model vs. full git merge
  • Documentation of 88 file exclusion rules
  • Troubleshooting guidance for common sync issues
  • Workflow diagrams for monitor → sync → merge flow
  • Testing strategy for pre-sync, during sync, and post-sync validation
  • Common scenarios: routine updates, manual sync, rollback, breaking changes

Configuration Updates

1. CODE_OF_CONDUCT.md

Changes:

  • Updated enforcement contact from GCHQ to doublegate@pm.me
  • Fork-specific reporting mechanism for community conduct issues
  • Maintains same code of conduct standards as upstream

2. LICENSE

Changes:

  • Added fork notice header crediting both:
    • GCHQ (original CyberChef creators)
    • DoubleGate (MCP fork maintainer)
  • Maintains Apache 2.0 license from upstream
  • Clarifies fork relationship and dual attribution

3. eslint.config.mjs

Changes:

  • Fixed ESLint 9+ flat config structure with proper exports
  • Removed legacy eslintConfig export
  • Added comprehensive MCP server documentation in comments
  • Improved configuration organization and readability

4. .editorconfig

Changes:

  • Added comprehensive file type configurations:
    • JSON files (2-space indent)
    • YAML files (2-space indent)
    • Markdown files (trim trailing whitespace)
    • Shell scripts (4-space indent)
    • Python files (4-space indent)
    • TypeScript/JavaScript (4-space indent)
  • Ensures consistent formatting across all file types
  • Better IDE integration for contributors

5. .cspell.json

Changes:

  • Added 96 project-specific technical terms:
    • CyberChef operations (e.g., "YARA", "Zlib", "Bzip")
    • MCP terminology (e.g., "mcpVersion", "Vitest", "Codecov")
    • Technical terms (e.g., "readonly", "tmpfs", "nonroot")
    • Cryptographic algorithms (e.g., "Argon2id", "bcryptjs")
  • Reduces false positives in spell checking
  • Improves documentation accuracy

GitHub Template Updates

5 Templates Updated for Fork-Specific References:

  1. CONTRIBUTING.md

    • Updated contribution guidelines for MCP-specific features
    • Clarified relationship with upstream GCHQ/CyberChef
    • Added MCP server development workflow
  2. ISSUE_TEMPLATE.md

    • Updated issue reporting guidelines
    • Clarified fork-specific vs. upstream issues
  3. bug-report.md

    • Updated upstream repository references
    • Added MCP server-specific bug categories
  4. feature-request.md

    • Added context for MCP-specific features vs. upstream operations
    • Clarified feature request scope for fork
  5. operation-request.md

    • Updated to reflect upstream sync model
    • Clarified process for requesting new operations

Migration Guide

No migration required. This release is 100% backward compatible with v1.7.0.

All configuration changes are internal to the project structure and do not affect:

  • MCP server API
  • Docker image usage
  • Environment variable configuration
  • Client integration (Claude Desktop, Cursor AI, etc.)

Existing v1.7.0 users can upgrade directly:

# Docker Hub
docker pull doublegate/cyberchef-mcp:latest

# GitHub Container Registry
docker pull ghcr.io/doublegate/cyberchef-mcp_v1:latest

Verification Results

Test Suite

✅ All 343 MCP tests passing
✅ ESLint: 0 errors, 1 warning (expected)
✅ Coverage: 78.93% lines, 89.33% functions

Test Breakdown:

  • errors.test.mjs: 35 tests
  • streaming.test.mjs: 27 tests
  • logger.test.mjs: 30 tests
  • recipe-validator.test.mjs: 40 tests
  • recipe-storage.test.mjs: 30 tests
  • validation.test.mjs: 21 tests
  • recipe-manager.test.mjs: 32 tests
  • mcp-server.test.mjs: 67 tests
  • v1.7.0.test.mjs: 32 tests
  • retry.test.mjs: 29 tests

Docker Image

✅ Container size: ~90MB compressed
✅ Chainguard distroless base image
✅ Non-root execution (UID 65532)
✅ All 464 MCP tools operational

Workflow Validation

✅ upstream-monitor.yml: Syntax valid
✅ upstream-sync.yml: Selective copy logic verified
✅ rollback.yml: State comparison functional
✅ All GitHub Actions workflows passing

Technical Details

Files Modified (11 total)

  1. package.json - mcpVersion: 1.7.0 → 1.7.1
  2. CLAUDE.md - Version reference updated
  3. CHANGELOG.md - [Unreleased] → [1.7.1] - 2025-12-16
  4. README.md - Version references and v1.7.1 release notes link
  5. src/node/mcp-server.mjs - VERSION constant: 1.7.0 → 1.7.1
  6. tests/mcp/mcp-server.test.mjs - Version test expectation updated
  7. .cspell.json - Added 96 project-specific terms
  8. .editorconfig - Added comprehensive file type configurations
  9. CODE_OF_CONDUCT.md - Fork-specific enforcement contact
  10. LICENSE - Fork notice header with dual attribution
  11. eslint.config.mjs - Fixed ESLint 9+ flat config structure

Workflow Files Modified (3 total)

  1. .github/workflows/upstream-monitor.yml - Enhanced for ref-proj structure
  2. .github/workflows/upstream-sync.yml - Complete rewrite for selective copying
  3. .github/workflows/rollback.yml - Enhanced state comparison

Documentation Added (1 file)

  1. docs/guides/upstream-sync-guide.md - Comprehensive 540-line guide

Breaking Changes

None. This is a fully backward-compatible maintenance release.

All changes are internal to the repository structure and development workflows. The MCP server API, Docker image usage, and client integration remain unchanged from v1.7.0.

Known Issues

None. All functionality from v1.7.0 is preserved.

Contributors

  • Claude Opus 4.5 - Release automation, comprehensive testing, documentation
  • DoubleGate - Project maintenance, workflow design, fork strategy

Related Documentation

Support

If you find this project useful, consider supporting its development:

Buy Me a Coffee Thanks.dev

Links