Skip to content

Releases: s2005/wcli0

v1.3.1

30 May 10:16

Choose a tag to compare

Changed

  • Bumped GitHub Actions actions/checkout and actions/setup-node to @v6 (Node 24 runtime) across the build/test and publish workflows, clearing the Node 16/20 runtime-deprecation warnings (#85)

v1.3.0

30 May 09:09
b2f49ec

Choose a tag to compare

Added

  • http (Streamable HTTP) transport mode (MCP protocol revision 2025-03-26, single /mcp endpoint) alongside stdio and legacy sse transports (#84)
    • CLI flags: --transport http, --http-host (default 127.0.0.1), --http-port (default 9444), --http-allowed-origins
    • Config: transport.httpHost, transport.httpPort, transport.httpAllowedOrigins with validation and serialization
    • Stateful, isolated sessions seeded from the primary session's working directory
  • sse (HTTP/SSE) transport mode for the MCP server (#83)
    • CLI flags: --transport sse, --sse-host, --sse-port (default 127.0.0.1:9444)

Changed

  • Upgraded MCP SDK to 1.29.0 for StreamableHTTPServerTransport
  • Refactored shared HTTP logic into httpShared.ts; closeSseServer is now a thin wrapper over closeHttpServer

Security

  • DNS-rebinding defense via Origin allowlisting (loopback + bind host + explicit httpAllowedOrigins)
  • Request body size cap (4 MB); malformed Host header returns 400 instead of crashing
  • Per-session isolation

Full Changelog: v1.2.4...v1.3.0

v1.2.4

29 May 12:07

Choose a tag to compare

Fixed

  • Preserve case for Unix/WSL paths in normalizeAllowedPaths -- stops lowercasing on case-sensitive filesystems
  • WSL path conversion now gated on .exe suffix -- only converts /mnt/c/ to C:\ when spawning a Windows binary
  • Replace bare 'node' with process.execPath in test helpers to fix spawn ENOENT errors

Added

  • WSL2 integration tests (12 tests) using real bash -c instead of the wsl-emulator
  • Windows shell tests for cmd, powershell, and gitbash
  • Path case preservation unit tests
  • Gitignore cleanup (.mcp.json, .claude/)

Full Changelog: v1.2.3...v1.2.4

v1.2.3

24 Feb 19:02
3acd5ac

Choose a tag to compare

Fixed

  • set_current_directory metadata bug: Fixed previousDirectory field returning the requested path instead of the actual previous working directory
  • Corrected state consistency when process.chdir() fails - serverActiveCwd is no longer updated on failed directory changes

Added

  • Comprehensive test coverage (20 tests) for set_current_directory tool
  • Tests cover path validation, normalization, state management, metadata verification, and edge cases

v1.2.2

21 Feb 22:12
0dfab5d

Choose a tag to compare

[1.2.2] - 2026-02-14\n\n### New Features\n- Per-command timeout parameter ( imeout) for execute_command (1-3600s).\n\n### Improvements\n- Updated tool descriptions and schema docs for timeout support.\n\n### Added\n- Comprehensive tests for timeout validation and behavior.\n\n### Fixed\n- Stabilized initialDir missing-path test for cross-machine reliability.

v1.2.1

18 Dec 08:58

Choose a tag to compare

Fixed

  • Ensure YOLO mode clears shell-specific overrides (fixes issue where blocked operators would persist in autonomous mode)
  • Updated unit test descriptions and added documentation for new features

v1.2.0

17 Dec 10:54

Choose a tag to compare

Added

  • Separate unsafe and yolo CLI flags: New --yolo flag for autonomous mode, distinct from --unsafe flag for better control over security bypasses

Changed

  • Increased default log retention: Extended from 60 minutes to 24 hours for better debugging experience

Fixed

  • Replace fixed timeout with polling in logFileContent tests (fixes intermittent test failures under heavy load)
  • Make changelog headings unique to resolve MD024 lint errors

v1.1.0

26 Nov 13:10

Choose a tag to compare

What's New in v1.1.0

Added

  • Modular Shell Architecture: Complete refactoring of shell handling for better extensibility
    • Plugin-based shell module system with dynamic loading
    • Shell registry for managing available shells
  • Truncation Fallback System: Enhanced output handling for long-running commands
    • File-based log storage for truncated output
    • get_command_output tool to retrieve full output from truncated commands
    • Command metadata header in file-based logs
  • Per-Command Output Limit: New maxOutputLines parameter for individual commands
  • CLI Logging Options: New command-line flags for logging configuration

Changed

  • Improved documentation with consolidated shell architecture guides
  • Enhanced tool descriptions with maxOutputLines documentation
  • Type-safe logging config usage throughout codebase

Fixed

  • Cross-platform path separator handling in truncation
  • Windows path handling in truncation messages
  • Log directory traversal security checks
  • MCP folder propagation in server configuration
  • ESM import compatibility in performance tests

See CHANGELOG.md for complete details.

v1.0.9 - Log Management System

06 Nov 19:05

Choose a tag to compare

Added

  • Log Management System: Automatic storage of command execution logs
    • Output truncation showing last N lines (default: 20) for long-running commands
    • Full log storage with configurable retention and size limits
    • MCP resources for querying historical command output
    • Advanced filtering: line ranges, search with context, recent logs
  • Log Resources:
    • cli://logs/list - List all stored command execution logs with metadata
    • cli://logs/recent?n={count} - Get the N most recent logs (default: 5)
    • cli://logs/commands/{id} - Access full output from a specific command execution
    • cli://logs/commands/{id}/range?start={n}&end={m} - Query specific line ranges (supports negative indices)
    • cli://logs/commands/{id}/search?q={pattern}&context={n}&occurrence={n} - Search logs with regex patterns and context lines
  • Logging Configuration: New global.logging configuration section
    • maxOutputLines: Number of lines to show in immediate response (default: 20)
    • enableTruncation: Enable tail truncation for long outputs (default: true)
    • maxStoredLogs: Maximum number of logs to store (default: 50)
    • maxLogSize: Maximum size per log entry in bytes (default: 1MB)
    • maxTotalStorageSize: Maximum total storage size (default: 50MB)
    • enableLogResources: Enable log resource endpoints (default: true)
    • logRetentionMinutes: How long to keep logs (default: 60 minutes)
    • cleanupIntervalMinutes: Cleanup frequency (default: 5 minutes)
  • Tail Functionality: Smart truncation preserves the last N lines of output for long-running commands
  • Line Range Processor: Query specific line ranges from stored logs
  • Search Processor: Search logs with regex patterns, context lines, and occurrence selection

Changed

  • Command execution now returns truncated output with links to full logs when output exceeds configured line limit
  • Truncation messages include execution ID for accessing full output via log resources

Release v1.0.8

09 Jul 20:08

Choose a tag to compare

v1.0.8 - 2025-07-09

Fixed

  • Updated bin path for wcli0 in package.json to ensure proper executable resolution

This patch release fixes the executable path configuration in package.json, ensuring that the wcli0 command can be properly resolved when installed globally.

Full Changelog: v1.0.7...v1.0.8