Releases: s2005/wcli0
Releases · s2005/wcli0
v1.3.1
v1.3.0
Added
http(Streamable HTTP) transport mode (MCP protocol revision 2025-03-26, single/mcpendpoint) alongsidestdioand legacyssetransports (#84)- CLI flags:
--transport http,--http-host(default127.0.0.1),--http-port(default9444),--http-allowed-origins - Config:
transport.httpHost,transport.httpPort,transport.httpAllowedOriginswith validation and serialization - Stateful, isolated sessions seeded from the primary session's working directory
- CLI flags:
sse(HTTP/SSE) transport mode for the MCP server (#83)- CLI flags:
--transport sse,--sse-host,--sse-port(default127.0.0.1:9444)
- CLI flags:
Changed
- Upgraded MCP SDK to 1.29.0 for
StreamableHTTPServerTransport - Refactored shared HTTP logic into
httpShared.ts;closeSseServeris now a thin wrapper overcloseHttpServer
Security
- DNS-rebinding defense via Origin allowlisting (loopback + bind host + explicit
httpAllowedOrigins) - Request body size cap (4 MB); malformed
Hostheader returns 400 instead of crashing - Per-session isolation
Full Changelog: v1.2.4...v1.3.0
v1.2.4
Fixed
- Preserve case for Unix/WSL paths in
normalizeAllowedPaths-- stops lowercasing on case-sensitive filesystems - WSL path conversion now gated on
.exesuffix -- only converts/mnt/c/toC:\when spawning a Windows binary - Replace bare
'node'withprocess.execPathin test helpers to fixspawn ENOENTerrors
Added
- WSL2 integration tests (12 tests) using real
bash -cinstead 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
Fixed
- set_current_directory metadata bug: Fixed
previousDirectoryfield returning the requested path instead of the actual previous working directory - Corrected state consistency when
process.chdir()fails -serverActiveCwdis no longer updated on failed directory changes
Added
- Comprehensive test coverage (20 tests) for
set_current_directorytool - Tests cover path validation, normalization, state management, metadata verification, and edge cases
v1.2.2
[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
v1.2.0
Added
- Separate unsafe and yolo CLI flags: New
--yoloflag for autonomous mode, distinct from--unsafeflag 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
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_outputtool to retrieve full output from truncated commands- Command metadata header in file-based logs
- Per-Command Output Limit: New
maxOutputLinesparameter 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
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 metadatacli://logs/recent?n={count}- Get the N most recent logs (default: 5)cli://logs/commands/{id}- Access full output from a specific command executioncli://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.loggingconfiguration sectionmaxOutputLines: 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
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