Files
n8n-mcp/CHANGELOG.md
czlonkowski 263753254a chore: bump version to 2.14.2 and update changelog
- Bumped version from 2.14.1 to 2.14.2
- Added comprehensive changelog entry for validation fixes
- Documents fixes for Google Drive fileFolder resource false positives
- Documents fixes for Code node expression validation false positives
- Documents enhanced error handling improvements from code review
2025-09-29 18:27:43 +02:00

5.8 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[2.14.2] - 2025-09-29

Fixed

  • Validation false positives for Google Drive nodes with 'fileFolder' resource
    • Added node type normalization to handle both n8n-nodes-base. and nodes-base. prefixes correctly
    • Fixed resource validation to properly recognize all valid resource types
    • Default operations are now properly applied when not specified
    • Property visibility is now correctly checked with defaults applied
  • Code node validation incorrectly flagging valid n8n expressions as syntax errors
    • Removed overly aggressive regex pattern /\)\s*\)\s*{/ that flagged valid expressions
    • Valid patterns like $('NodeName').first().json are now correctly recognized
    • Function chaining and method chaining no longer trigger false positives
  • Enhanced error handling in repository methods based on code review feedback
    • Added try-catch blocks to getNodePropertyDefaults and getDefaultOperationForResource
    • Validates data structures before accessing to prevent crashes with malformed node data
    • Returns safe defaults on errors to ensure validation continues

Added

  • Comprehensive test coverage for validation fixes in tests/unit/services/validation-fixes.test.ts
  • New repository methods for better default value handling:
    • getNodePropertyDefaults() - retrieves default values for node properties
    • getDefaultOperationForResource() - gets default operation for a specific resource

Changed

  • Enhanced filterPropertiesByMode to return both filtered properties and config with defaults applied
  • Improved node type validation to accept both valid prefix formats

[2.14.1] - 2025-09-26

Changed

  • BREAKING: Refactored telemetry system with major architectural improvements
    • Split 636-line TelemetryManager into 7 focused modules (event-tracker, batch-processor, event-validator, rate-limiter, circuit-breaker, workflow-sanitizer, config-manager)
    • Changed TelemetryManager constructor to private, use getInstance() method now
    • Implemented lazy initialization pattern to avoid early singleton creation

Added

  • Security & Privacy enhancements for telemetry:
    • Comprehensive input validation with Zod schemas
    • Enhanced sanitization of sensitive data (URLs, API keys, emails)
    • Expanded sensitive key detection patterns (25+ patterns)
    • Row Level Security on Supabase backend
    • Data deletion contact info (romuald@n8n-mcp.com)
  • Performance & Reliability improvements:
    • Sliding window rate limiter (100 events/minute)
    • Circuit breaker pattern for network failures
    • Dead letter queue for failed events
    • Exponential backoff with jitter for retries
    • Performance monitoring with overhead tracking (<5%)
    • Memory-safe array limits in rate limiter
  • Comprehensive test coverage enhancements:
    • Added 662 lines of new telemetry tests
    • Enhanced config-manager tests with 17 new edge cases
    • Enhanced workflow-sanitizer tests with 19 new edge cases
    • Improved coverage from 63% to 91% for telemetry module
    • Branch coverage improved from 69% to 87%

Fixed

  • TypeScript lint errors in telemetry test files
    • Corrected variable name conflicts in integration tests
    • Fixed process.exit mock implementation in batch-processor tests
    • Fixed tuple type annotations for workflow node positions
    • Resolved MockInstance type import issues
  • Test failures in CI pipeline
    • Fixed test timeouts caused by improper fake timer usage
    • Resolved Timer.unref() compatibility issues
    • Fixed event validator filtering standalone 'key' property
    • Corrected batch processor circuit breaker behavior
  • TypeScript error in telemetry test preventing CI build
  • Added @supabase/supabase-js to Docker builder stage and runtime dependencies

[2.14.0] - 2025-09-26

Added

  • Anonymous telemetry system with Supabase integration to understand usage patterns

    • Tracks active users with deterministic anonymous IDs
    • Records MCP tool usage frequency and error rates
    • Captures sanitized workflow structures on successful validation
    • Monitors common error patterns for improvement insights
    • Zero-configuration design with opt-out support via N8N_MCP_TELEMETRY_DISABLED environment variable
  • Enhanced telemetry tracking methods:

    • trackSearchQuery - Records search patterns and result counts
    • trackValidationDetails - Captures validation errors and warnings
    • trackToolSequence - Tracks AI agent tool usage sequences
    • trackNodeConfiguration - Records common node configuration patterns
    • trackPerformanceMetric - Monitors operation performance
  • Privacy-focused workflow sanitization:

    • Removes all sensitive data (URLs, API keys, credentials)
    • Generates workflow hashes for deduplication
    • Preserves only structural information
  • Comprehensive test coverage for telemetry components (91%+ coverage)

Fixed

  • Fixed TypeErrors in get_node_info, get_node_essentials, and get_node_documentation tools that were affecting 50% of calls
  • Added null safety checks for undefined node properties
  • Fixed multi-process telemetry issues with immediate flush strategy
  • Resolved RLS policy and permission issues with Supabase

Changed

  • Updated Docker configuration to include Supabase client for telemetry support
  • Enhanced workflow validation tools to track validated workflows
  • Improved error handling with proper null coalescing operators

Documentation

  • Added PRIVACY.md with comprehensive privacy policy
  • Added telemetry configuration instructions to README
  • Updated CLAUDE.md with telemetry system architecture

Previous Versions

For changes in previous versions, please refer to the git history and release notes.