Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Latest commit

Β 

History

History
364 lines (302 loc) Β· 13.4 KB

File metadata and controls

364 lines (302 loc) Β· 13.4 KB

Fast Filesystem MCP Changelog

v3.5.1 - Safe Logging System πŸ›‘οΈ

πŸ”‡ Safe MCP Logger Implementation

  • JSON-RPC Safety: Prevents console output from interfering with MCP communication
  • Custom Logger: Replaced all console.* calls with safe logger implementation
  • Error Prevention: Eliminates JSON parsing errors in Claude Desktop

πŸŽ›οΈ Debug Configuration

  • Environment Variables:
    • DEBUG_MCP=true or MCP_DEBUG=true: Enable debug logging
    • MCP_LOG_FILE=/path/to/log.txt: Write logs to file instead of stderr
    • MCP_SILENT_ERRORS=true: Suppress error messages in responses
  • Auto-suppression: Debug output automatically disabled by default

πŸ› Bug Fixes

  • Fixed JSON parsing errors in MCP server communication
  • Resolved console output interference with JSON-RPC protocol
  • Corrected stdout/stderr separation for proper MCP operation

πŸ”§ Technical Improvements

  • All logging now goes through SafeMCPLogger class
  • Automatic console override when debugging disabled
  • File-based logging support for production debugging
  • Clean separation of debug output and JSON-RPC communication

v3.5.0 - Performance Breakthrough Release πŸš€

πŸ”₯ Bulk Ripgrep Optimization - 50x Performance Boost

  • Revolutionary Performance: Replace per-file ripgrep calls with single bulk search operation
  • Performance Metrics:
    • Average search time: ~62ms across all scenarios
    • Throughput: 4,850 files/second
    • 50x faster than previous implementation
    • Excellent scaling (0.27x sublinear scaling factor)
  • Memory Efficiency: Precomputed results caching via global map
  • Smart Batching: Process 500+ files in ~125ms

πŸ› οΈ Enhanced Search Capabilities

  • New Parameter: include_hidden - Search hidden files and directories
  • Improved Error Handling: Robust process cleanup and fallback mechanisms
  • Better Context Support: Enhanced context lines handling
  • File Pattern Filtering: More efficient file type filtering

πŸ› Critical Bug Fixes

  • TypeScript Compilation: Fixed function parameter structure mismatch in searchCodeWithRipgrep
  • Variable Scope: Resolved maxResults undefined variable error
  • Pattern Validation: Fixed missing conditional statement in empty pattern check
  • Process Management: Improved ripgrep process cleanup and error handling

🌐 Developer Experience

  • Internationalization: Translated all tool descriptions to English
  • Comprehensive Testing: Added extensive test suite (unit + smoke + performance benchmarks)
  • Better Documentation: Enhanced with performance metrics
  • Clean Build: Added dist/ to .gitignore

πŸ“Š Performance Benchmarks

Dataset Size Content Search Filename Search Throughput
50 files 47ms 4.33ms 1,064 files/sec
200 files 114ms 9ms 1,754 files/sec
500 files 125ms 12.67ms 4,000 files/sec

πŸ™ Credits

  • Major Optimization: @sting8k - Bulk ripgrep optimization implementation
  • Bug Fixes & Release: @efforthye - TypeScript fixes and release management

πŸ’‘ Migration Guide

No breaking changes! New optional parameter:

await searchCode({
  path: "./src", 
  pattern: "searchTerm",
  include_hidden: true  // ← New parameter
});

v3.4.0 - Tool Optimization & Windows Support Enhancement

πŸ—‘οΈ Deprecated Tool Removal

  • Removed fast_edit_file: Deprecated legacy editing tool has been completely removed
    • This tool was causing conflicts and performance issues
    • All editing functionality now handled by more robust alternatives:
      • fast_edit_block - Precise block editing with safety checks
      • fast_safe_edit - Smart editing with risk detection
      • fast_edit_multiple_blocks - Multi-block editing
      • fast_edit_blocks - Batch editing operations

πŸͺŸ Windows Support Enhancement

  • Improved Windows compatibility: Enhanced cross-platform file operations
  • Better path handling: Improved Windows path normalization and handling
  • Enhanced system integration: Better integration with Windows filesystem features

πŸ‘₯ Contributors

  • New contributor: @sting8k - Windows support improvements and tool optimization

πŸ”§ Technical Improvements

  • Cleaner codebase: Removed redundant and problematic code
  • Better maintainability: Simplified tool hierarchy reduces maintenance overhead
  • Improved performance: Elimination of conflicting tools improves overall performance

πŸ› οΈ Migration Guide

If you were using fast_edit_file, please migrate to:

  • For simple edits: Use fast_edit_block
  • For multiple edits: Use fast_edit_blocks
  • For safer edits: Use fast_safe_edit

πŸ“‹ Full Feature Set

All other functionality remains unchanged:

  • File reading/writing with auto-chunking
  • Directory operations and tree navigation
  • Advanced search capabilities (ripgrep integration)
  • Complex file operations (copy, move, delete, batch)
  • Archive management (compress/extract)
  • Directory synchronization
  • Large file streaming support

Changelog

v3.1.0 - Advanced File Operations & Complex File Tasks

Major New Features - Complex File Operations

File Management Operations

  • fast_copy_file: Copy files and directories with advanced options

    • Recursive directory copying
    • Timestamp preservation
    • Overwrite protection
    • Automatic directory creation
  • fast_move_file: Move/rename files and directories

    • Cross-device move support (copy + delete fallback)
    • Backup creation before overwrite
    • Directory creation
    • Safe overwrite handling
  • fast_delete_file: Safe file and directory deletion

    • Protection against system directories
    • Confirmation requirements with force override
    • Recursive directory deletion
    • Backup before deletion option

Batch Operations

  • fast_batch_file_operations: Execute multiple file operations in sequence
    • Support for copy, move, delete, rename operations
    • Dry-run mode for operation preview
    • Stop-on-error or continue-on-error modes
    • Comprehensive backup system
    • Detailed operation results

Archive Management

  • fast_compress_files: Create compressed archives

    • Support for tar, tar.gz, tar.bz2 formats
    • Configurable compression levels
    • Exclude patterns for selective compression
    • Multiple file/directory input support
  • fast_extract_archive: Extract compressed archives

    • Automatic format detection
    • Selective file extraction
    • Overwrite protection
    • Permission preservation

Directory Synchronization

  • fast_sync_directories: Advanced directory synchronization
    • Multiple sync modes: mirror, update, merge
    • Preserve newer files option
    • Delete extra files option
    • Exclude patterns support
    • Dry-run capability

πŸ”§ Enhanced Features

  • Cross-platform compatibility: All operations work on Windows, macOS, and Linux
  • Safety mechanisms: Multiple confirmation layers and backup systems
  • Performance optimization: Efficient handling of large file operations
  • Error recovery: Comprehensive error handling with rollback capabilities
  • Detailed reporting: Comprehensive operation summaries and results

πŸ“‹ Usage Examples

Batch File Operations

await fast_batch_file_operations({
  operations: [
    { operation: "copy", source: "/src/file1.txt", destination: "/dest/file1.txt" },
    { operation: "move", source: "/temp/file2.txt", destination: "/archive/file2.txt" },
    { operation: "delete", source: "/tmp/old_file.txt" }
  ],
  dry_run: false,
  create_backup: true,
  stop_on_error: true
});

Directory Synchronization

await fast_sync_directories({
  source_dir: "/source/project",
  target_dir: "/backup/project",
  sync_mode: "update",
  delete_extra: false,
  preserve_newer: true,
  exclude_patterns: [".git", "node_modules", "*.log"]
});

File Compression

await fast_compress_files({
  paths: ["/project/src", "/project/docs"],
  output_path: "/backups/project_backup.tar.gz",
  format: "tar.gz",
  compression_level: 6,
  exclude_patterns: ["*.log", "node_modules", ".git"]
});

πŸ›‘οΈ Safety & Security

  • System directory protection: Prevents accidental deletion of critical paths
  • Backup integration: Configurable backup creation before destructive operations
  • Force confirmation: Explicit confirmation required for dangerous operations
  • Path validation: Comprehensive path safety checks
  • Error recovery: Automatic rollback on operation failures

🎯 Performance Improvements

  • Streaming operations: Large file handling with memory efficiency
  • Parallel processing: Batch operations with optimal resource usage
  • Cross-device optimization: Intelligent handling of cross-filesystem operations
  • Progress tracking: Detailed operation progress and timing information

πŸ“¦ Updated Dependencies

  • Enhanced error handling throughout all operations
  • Improved logging and debugging capabilities
  • Better integration with system tools (tar, etc.)

πŸ”„ Breaking Changes

  • None - All existing functionality remains fully compatible

πŸ“ˆ What This Solves

This update directly addresses the feedback about "λ³΅μž‘ν•œ 파일 μž‘μ—…" (complex file operations) by providing:

  1. 파일 이동, 볡사 λ“±μ˜ κ³ κΈ‰ μž‘μ—… - Full support for advanced file operations
  2. μ—¬λŸ¬ 파일 일괄 처리 κΈ°λŠ₯ - Comprehensive batch processing capabilities
  3. Archive management - Complete compression and extraction support
  4. Directory synchronization - Advanced sync capabilities

πŸ† Benefits

  • Productivity: Handle complex file operations without switching tools
  • Safety: Multiple safety layers prevent data loss
  • Efficiency: Batch operations reduce overhead and improve performance
  • Flexibility: Configurable options for different use cases
  • Reliability: Comprehensive error handling and recovery mechanisms

v2.8.0 - Batch Block Editing

New Features

  • fast_edit_blocks: New tool for efficient batch block editing
  • Multiple precise edits: Process multiple fast_edit_block operations in a single call
  • Safety-first approach: Each edit validates expected replacements before applying changes
  • Performance optimization: Significantly faster than sequential fast_edit_block calls

Usage Example

await fast_edit_blocks({
  path: "/path/to/file.ts",
  edits: [
    {
      old_text: "// old comment 1",
      new_text: "// new comment 1",
      expected_replacements: 1
    },
    {
      old_text: "function oldName()",
      new_text: "function newName()",
      expected_replacements: 1
    }
  ],
  backup: true
});

Key Benefits

  • Speed: Process multiple edits in one operation instead of multiple calls
  • Safety: Each edit includes safety checks and expected replacement counts
  • Efficiency: Reduced overhead for large-scale code refactoring
  • Reliability: Maintains backup and error recovery features

Technical Details

  • Sequential processing ensures each edit applies to the current state
  • Detailed edit results with success/failure status for each operation
  • Maintains all safety features of fast_edit_block
  • Backward compatible with existing tools

v2.7.0 - Configurable Backup System

New Features

  • Configurable Backup System: Control backup file creation via CREATE_BACKUP_FILES environment variable
  • Backup Control: Set CREATE_BACKUP_FILES=true to enable backup file creation (default: false to reduce clutter)
  • Smart Backup Management: Backup files only created when necessary and when enabled

Configuration

{
  "mcpServers": {
    "fast-filesystem": {
      "command": "npx",
      "args": ["-y", "fast-filesystem-mcp"],
      "env": {
        "CREATE_BACKUP_FILES": "false"
      }
    }
  }
}

Key Changes

  • All editing functions now respect the ENABLE_BACKUP setting
  • Backup status included in response information
  • Default behavior: backups enabled (set to false to disable)
  • Enhanced server info includes backup configuration status

Performance Improvements

  • Reduced file system clutter when backups disabled
  • Faster operations when backup creation is skipped
  • Maintained data safety with configurable backup options

v2.5.3 - Token Optimization and Large File Focus

Token Usage Optimization

  • Simplified emoji guidelines: Short English messages instead of verbose Korean
  • Reduced response size: Removed unnecessary emoji detection details
  • Token savings: Approximately 70% reduction in token usage per operation

Key Changes

  • Emoji guidelines now show simple "Emojis not recommended in files" message
  • Removed detailed emoji position tracking and verbose recommendations
  • Streamlined file info responses
  • Updated README to focus on large file handling capabilities

Performance Improvements

  • Faster response processing due to smaller payloads
  • Better cost efficiency for large-scale file operations
  • Maintained all core functionality while reducing verbosity

v2.5.2

  • Universal emoji guidelines for all file types

v2.5.1

  • Smart emoji guideline system

v2.5.0

  • Checkpoint system and emoji removal features

v2.4.1

  • Basic filesystem functionality
  • Large file streaming support
  • Pagination support
  • Claude optimizations