Release Date: December 2024 Codename: Breaking Changes Preparation
CyberChef MCP v1.8.0 is a preparatory release that introduces deprecation warnings, migration tools, and documentation to help users prepare for the breaking changes coming in v2.0.0. This release focuses on providing a smooth transition path while maintaining full backward compatibility.
- Deprecation Warning System - Runtime warnings for APIs changing in v2.0.0
- Migration Preview Tool - Analyze and transform recipes for v2.0.0 compatibility
- v2.0.0 Compatibility Mode - Opt-in preview of v2.0.0 behavior
- Deprecation Stats Tool - Track deprecated API usage in your session
- Comprehensive Breaking Changes Documentation
A comprehensive runtime warning system that alerts users when they use APIs that will change in v2.0.0.
Deprecation Codes:
| Code | Feature | Description |
|---|---|---|
| DEP001 | Tool naming | cyberchef_ prefix will be removed |
| DEP002 | Recipe schema | Enhanced Zod v4 validation |
| DEP003 | Error responses | Structured error codes |
| DEP004 | Configuration | Unified config file + env vars |
| DEP005 | Arguments | Named object args replace arrays |
| DEP006 | Recipe format | Explicit operation objects required |
| DEP007 | cyberchef_bake | Will be renamed to bake |
| DEP008 | cyberchef_search | Will be renamed to search |
Features:
- Warnings emitted once per session per code (no spam)
- Suppressible via
CYBERCHEF_SUPPRESS_DEPRECATIONS=true - Detailed migration guidance included with each warning
- Session-based tracking with statistics
New MCP tool cyberchef_migration_preview for analyzing and transforming recipes.
Usage:
{
"method": "tools/call",
"params": {
"name": "cyberchef_migration_preview",
"arguments": {
"recipe": { /* your recipe */ },
"mode": "analyze"
}
}
}Modes:
analyze- Check recipe for v2.0.0 compatibility issuestransform- Automatically convert recipe to v2.0.0 format
Output (analyze mode):
{
"compatible": true,
"issues": [
{
"code": "DEP005",
"location": "operations[0].args",
"message": "Positional array arguments are deprecated",
"severity": "warning",
"fix": "Convert array arguments to named object"
}
],
"issueCount": 1,
"breakingCount": 0,
"warningCount": 1
}Opt-in preview of v2.0.0 behavior where deprecation warnings become errors.
Enable:
V2_COMPATIBILITY_MODE=true npm run mcpOr in Docker:
docker run -i --rm -e V2_COMPATIBILITY_MODE=true cyberchef-mcpBehavior changes:
- Deprecation warnings elevated to errors
- Tool naming follows v2.0.0 conventions
- Stricter recipe validation
New MCP tool cyberchef_deprecation_stats for tracking deprecated API usage.
Usage:
{
"method": "tools/call",
"params": {
"name": "cyberchef_deprecation_stats",
"arguments": {}
}
}Output:
{
"warned": ["DEP001", "DEP005"],
"warnedDetails": [
{
"code": "DEP001",
"feature": "Tool naming convention",
"description": "The 'cyberchef_' prefix will be removed...",
"removalVersion": "2.0.0"
}
],
"total": 2,
"suppressed": false,
"v2CompatibilityMode": false,
"availableCodes": ["DEP001", "DEP002", "DEP003", "DEP004", "DEP005", "DEP006", "DEP007", "DEP008"],
"sessionDuration": 45000
}Comprehensive documentation at docs/v2.0.0-breaking-changes.md covering:
- Tool Naming Convention changes
- Recipe Schema changes
- Error Response Format changes
- Configuration System changes
- Legacy Argument Handling changes
- Recipe Array Format changes
- Meta-Tool Renames
- MCP Protocol Version updates
- Migration examples for each change
- FAQ section
| Variable | Default | Description |
|---|---|---|
V2_COMPATIBILITY_MODE |
false |
Enable v2.0.0 behavior preview |
CYBERCHEF_SUPPRESS_DEPRECATIONS |
false |
Suppress deprecation warnings |
| Category | Tests | Status |
|---|---|---|
| Deprecation System | 43 | Passing |
| Migration Preview | 38 | Passing |
| Total New Tests | 81 | Passing |
# Run all MCP tests including v1.8.0 features
npm run test:mcp
# Run deprecation tests specifically
npm run test:mcp -- deprecation
# Run migration preview tests specifically
npm run test:mcp -- migration-preview- Upgrade to v1.8.0 - Install this release
- Monitor deprecation warnings - Note which deprecations you trigger
- Use migration preview - Analyze your recipes with
cyberchef_migration_preview - Transform recipes - Use transform mode to convert recipes
- Test with v2 mode - Enable
V2_COMPATIBILITY_MODE=true - Update tool names - Remove
cyberchef_prefixes - Review breaking changes doc - Read
docs/v2.0.0-breaking-changes.md
Before (v1.x):
{
"name": "cyberchef_bake",
"arguments": {
"input": "Hello",
"recipe": [
{ "op": "To Base64", "args": ["A-Za-z0-9+/="] }
]
}
}After (v2.0.0 compatible):
{
"name": "bake",
"arguments": {
"input": "Hello",
"recipe": {
"name": "Encode Recipe",
"operations": [
{ "op": "To Base64", "args": { "alphabet": "A-Za-z0-9+/=" } }
]
}
}
}// Deprecation system
export {
DEPRECATION_CODES,
emitDeprecation,
emitToolNamingDeprecation,
emitMetaToolDeprecation,
emitRecipeFormatDeprecation,
getDeprecationStats,
resetDeprecations,
analyzeRecipeCompatibility,
transformRecipeToV2,
getToolName,
stripToolPrefix,
isV2CompatibilityMode,
areSuppressed
};
// Configuration constants
export {
V2_COMPATIBILITY_MODE,
SUPPRESS_DEPRECATIONS
};A standalone module (src/node/deprecation.mjs) containing:
- Deprecation code definitions
- Warning emission logic
- Recipe analysis and transformation
- Session tracking
- Utility functions
- All v1.7.x APIs remain functional
- No breaking changes in this release
- Existing recipes and configurations work unchanged
- Deprecation warnings guide users toward v2.0.0 patterns
- Migration tools enable gradual transition
- v2 compatibility mode allows testing before upgrade
# Pull latest image
docker pull ghcr.io/doublegate/cyberchef-mcp_v1:1.8.0
# Or update local installation
npm install# Check version
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' | docker run -i --rm ghcr.io/doublegate/cyberchef-mcp_v1:1.8.0
# Verify new tools
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | docker run -i --rm ghcr.io/doublegate/cyberchef-mcp_v1:1.8.0 | grep migration_previewNone at this time.
- DoubleGate (maintainer)
Apache-2.0
Full Changelog: v1.7.3...v1.8.0