111 lines
4.9 KiB
Markdown
111 lines
4.9 KiB
Markdown
# Changelog
|
|
|
|
## 2025-08-17 - 3.3.0 - feat(smartshell)
|
|
Add secure spawn APIs, PTY support, interactive/streaming control, timeouts and buffer limits; update README and tests
|
|
|
|
- Introduce execSpawn family (execSpawn, execSpawnStreaming, execSpawnInteractiveControl) for shell-free, secure execution of untrusted input (shell:false).
|
|
- Add PTY support (optional node-pty) with execInteractiveControlPty and execStreamingInteractiveControlPty; PTY is lazy-loaded and documented as an optional dependency.
|
|
- Expose interactive control primitives (sendInput, sendLine, endInput, finalPromise) for both spawn and shell-based executions, and streaming interfaces with process control (terminate, kill, keyboardInterrupt, customSignal).
|
|
- Implement timeouts, maxBuffer limits and onData callbacks to prevent OOM, stream output incrementally, and support early termination and debugging logs.
|
|
- Improve process lifecycle handling: safe unpipe/unpipe-on-error, smartexit integration, and safer signal-based tree-kill behavior.
|
|
- Enhance execAndWaitForLine with timeout and terminateOnMatch options to allow pattern-based waits with configurable behavior.
|
|
- Update README with a Security Guide recommending execSpawn for untrusted input, PTY usage guidance, and new feature documentation (timeouts, buffer limits, debug mode, environment control).
|
|
- Add extensive tests covering error handling, interactive control, passthrough, PTY behavior, spawn behavior, silent/streaming modes and environment propagation.
|
|
|
|
## 2025-08-16 - 3.2.4 - fix(tests)
|
|
Update tests & CI config, bump deps, add docs and project configs
|
|
|
|
- Add comprehensive README overhaul with detailed usage, examples, API reference and best practices.
|
|
- Add extensive silent-mode tests (test/test.silent.ts) to validate execSilent, execStrictSilent, execStreamingSilent and execAndWaitForLineSilent behaviors.
|
|
- Update test runner and script: test script now runs tstest with --verbose, --logfile and --timeout; tests now import tapbundle from @git.zone/tstest.
|
|
- Fix import in test/test.ts to use @git.zone/tstest/tapbundle.
|
|
- Bump devDependencies: @git.zone/tsbuild -> ^2.6.4, @git.zone/tstest -> ^2.3.2; bump @push.rocks/smartpromise -> ^4.2.3.
|
|
- Add typings entry and packageManager field to package.json.
|
|
- Add project configuration files (.serena/project.yml) and local settings (.claude/settings.local.json).
|
|
|
|
## 2025-02-20 - 3.2.3 - fix(core)
|
|
Refactor Smartshell class for improved code clarity and performance
|
|
|
|
- Refactored `_exec` method to improve code clarity.
|
|
- Introduced `IExecOptions` interface for better type handling.
|
|
- Replaced promise defer with native promises in command execution methods.
|
|
- Improved logging and error handling in child process execution.
|
|
- Ensured robust process management with signals handling.
|
|
|
|
## 2024-12-13 - 3.2.2 - fix(core)
|
|
Fix minor code style and formatting issues
|
|
|
|
|
|
## 2024-12-13 - 3.2.1 - fix(dependencies)
|
|
Update @types/node dependency version
|
|
|
|
- Updated @types/node dependency from version ^22.10.1 to ^22.10.2.
|
|
|
|
## 2024-12-09 - 3.2.0 - feat(SmartExecution)
|
|
Add support for scheduling restarts to SmartExecution
|
|
|
|
- Introduced the ability to handle consecutive restarts efficiently in SmartExecution.
|
|
- Ensures that multiple restart requests merge into a single additional restart request if one is already in progress.
|
|
|
|
## 2024-12-09 - 3.1.0 - feat(core)
|
|
Refactor codebase and update dependencies.
|
|
|
|
- Refactored core classes with improved structure and modularization.
|
|
- Updated tsbuild, tsrun, tapbundle, and @types/node dependencies to newer versions.
|
|
- Improved build script in package.json to use tsbuild with tsfolders.
|
|
|
|
## 2024-09-17 - 3.0.6 - fix(core)
|
|
Fix interactive shell execution and update dependencies
|
|
|
|
- Corrected the interactive shell execution logic by separating it into a dedicated method.
|
|
- Updated development dependencies for `@git.zone/tsbuild`, `@git.zone/tsrun`, `@git.zone/tstest`, `@push.rocks/tapbundle`, and `@types/node`.
|
|
- Updated runtime dependencies for `@push.rocks/smartpromise`, and `@types/which`.
|
|
- Removed legacy .gitlab-ci.yml file.
|
|
|
|
## 2024-05-29 - 3.0.5 - Documentation
|
|
update description
|
|
|
|
## 2024-04-18 - 3.0.4 to 3.0.5 - Maintenance
|
|
Bug fixes and configuration updates
|
|
|
|
- fix(core): update
|
|
- update tsconfig
|
|
- update npmextra.json: githost
|
|
|
|
## 2024-03-16 - 3.0.3 to 3.0.4 - Maintenance
|
|
Bug fixes
|
|
|
|
- fix(core): update
|
|
|
|
## 2023-06-22 - 2.0.30 to 3.0.3 - Major Update
|
|
Major changes including breaking changes, bug fixes, and improvements.
|
|
|
|
- BREAKING CHANGE(core): switched to ES syntax and added support for interactivity
|
|
- fix(core): update
|
|
|
|
## 2021-11-07 - 2.0.27 to 2.0.30 - Maintenance
|
|
Bug fixes
|
|
|
|
- fix(core): cosmetics
|
|
- fix(core): update
|
|
|
|
## 2021-08-17 - 2.0.26 to 2.0.27 - Maintenance
|
|
Bug fixes
|
|
|
|
- fix(core): update
|
|
|
|
## 2020-05-22 - 2.0.25 to 2.0.26 - Maintenance
|
|
Bug fixes
|
|
|
|
- fix(core): update
|
|
|
|
## 2019-08-27 - 2.0.22 to 2.0.25 - Maintenance
|
|
Bug fixes
|
|
|
|
- fix(core): update
|
|
|
|
## 2019-05-28 - 2.0.16 to 2.0.22 - Maintenance
|
|
Bug fixes
|
|
|
|
- fix(core): update
|