Skip to content

Releases: link-foundation/command-stream

0.9.4

11 Jan 01:20

Choose a tag to compare

Document Array.join() pitfall and add best practices (fixes #153)

  • Add js/BEST-PRACTICES.md with detailed usage patterns for arrays, security, and error handling
  • Add Common Pitfalls section to README.md explaining the Array.join() issue
  • Add js/docs/case-studies/issue-153/ with real-world bug investigation from hive-mind#1096
  • Add rust/BEST-PRACTICES.md for Rust-specific patterns
  • Add 34 tests for array interpolation covering correct usage and anti-patterns
  • Reorganize file structure: move JS-related docs to js/ folder, case studies to js/docs/case-studies/

Related Pull Request: #154


npm version

0.9.2

10 Jan 15:38

Choose a tag to compare

Reorganize Rust code with modular utilities (matching JS pattern)

  • Extract trace.rs (152 lines) - Logging and tracing utilities
  • Extract ansi.rs (194 lines) - ANSI escape code handling
  • Extract quote.rs (161 lines) - Shell quoting utilities
  • Update utils.rs to re-export from new modules and focus on CommandResult/VirtualUtils
  • Update lib.rs with new module declarations and re-exports

The Rust structure now mirrors the JavaScript modular organization for consistency.
All modules remain well under the 1500-line limit guideline.

Related Pull Request: #152


npm version

0.9.1

08 Jan 21:59

Choose a tag to compare

Reorganize codebase with modular utilities for better maintainability

  • Extract trace/logging utilities to $.trace.mjs
  • Extract shell detection to $.shell.mjs
  • Extract stream utilities to $.stream-utils.mjs and $.stream-emitter.mjs
  • Extract shell quoting to $.quote.mjs
  • Extract result creation to $.result.mjs
  • Extract ANSI utilities to $.ansi.mjs
  • Extract global state management to $.state.mjs
  • Extract shell settings to $.shell-settings.mjs
  • Extract virtual command registration to $.virtual-commands.mjs
  • Add commands/index.mjs for module exports
  • Update $.utils.mjs to use shared trace module

All new modules follow the 1500-line limit guideline. The Rust code
structure already follows best practices with tests in separate files.

Related Pull Request: #150


npm version

0.9.0

31 Dec 08:39

Choose a tag to compare

Add Rust translation and reorganize codebase

  • Reorganize JavaScript source files into js/ folder structure
  • Move tests from root tests/ to js/tests/
  • Add complete Rust translation in rust/ folder with:
  • Shell parser supporting &&, ||, ;, |, (), and redirections
  • All 21 virtual commands (cat, cp, mv, rm, touch, mkdir, ls, cd, pwd, echo, yes, seq, sleep, env, which, test, exit, basename, dirname, true, false)
  • ProcessRunner for async command execution with tokio
  • Comprehensive test suite mirroring JavaScript tests
  • Case study documentation in docs/case-studies/issue-146/

Related Pull Request: #147


npm version

0.8.3

28 Dec 04:16

Choose a tag to compare

Fix trace logs interfering with output when CI=true

  • Removed automatic trace log enabling when CI environment variable is set
  • Trace logs no longer pollute stderr in CI/CD environments (GitHub Actions, GitLab CI, etc.)
  • Added COMMAND_STREAM_TRACE environment variable for explicit trace control
  • COMMAND_STREAM_TRACE=true explicitly enables tracing
  • COMMAND_STREAM_TRACE=false explicitly disables tracing (overrides COMMAND_STREAM_VERBOSE)
  • COMMAND_STREAM_VERBOSE=true continues to work as before
  • JSON parsing works reliably in CI environments

Fixes #135

Related Pull Request: #138


npm version

0.8.2

28 Dec 02:36

Choose a tag to compare

Add Windows shell detection support

  • Added Windows-specific shell detection (Git Bash, PowerShell, cmd.exe)
  • Use 'where' command on Windows instead of 'which' for PATH lookups
  • Fallback to cmd.exe on Windows when no Unix-compatible shell is found
  • Updated timing expectations in tests for slower Windows shell spawning
  • Created case study documentation for Windows CI failures (Issue #144)

Related Pull Request: #145


npm version

0.8.1

27 Dec 18:03

Choose a tag to compare

Test patch release


npm version

0.8.0

27 Dec 17:07

Choose a tag to compare

Transition to new CI/CD template with modern best practices

Features:

  • Changeset-based versioning for semantic version management
  • OIDC trusted publishing to npm (no tokens required)
  • Manual and automatic release workflows
  • Multi-platform testing (Ubuntu, macOS, Windows)
  • Node.js compatibility testing (v20, v22, v24)
  • ESLint + Prettier with Husky pre-commit hooks
  • Code duplication detection with jscpd
  • Consolidated release workflow for all publishing

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.

Related Pull Request: #143


npm version

Release v0.7.1

09 Sep 15:06
5e4d2d6

Choose a tag to compare

🚀 New Release: command-stream v0.7.1

📦 Installation

npm install command-stream
# or
bun add command-stream

🔗 NPM Package

View on NPM

📋 Changes

See commit history for details.

Release v0.7.0

04 Sep 09:36

Choose a tag to compare

🚀 New Release: command-stream v0.7.0

📦 Installation

npm install command-stream
# or
bun add command-stream

🔗 NPM Package

View on NPM

📋 Changes

See commit history for details.