Releases: F1bonacc1/process-compose
Releases · F1bonacc1/process-compose
Release list
v1.116.0
[v1.116.0] - 2026-06-16
New Features
- Added a
process-compose process send-keyscommand to inject keystrokes into a running interactive process's stdin, plus ashutdown.send_keysoption to cleanly stop programs that only quit on a keypress, addresses issue #507. - Added per-process
success_exit_codesto treat selected non-zero exit codes (e.g.130from a signal-driven shutdown) as a success, addresses issue #506. - Added process-level
extendsso a process can inherit and override the configuration of another process in the same project. - Added automatic replica name expansion in
depends_on, letting processes depend on a replicated group or on a specific replica, addresses issue #496, by @pcastellazzi. - Added a
PC_NAMESPACESenvironment variable as an alternative to--namespace/-nfor selecting which namespaces to run, addresses issue #491, by @ddanier. - Added the
pc_process_logs_search(BM25 log search) andpc_project_dependency_graphbuilt-in MCP control tools, by @jeanlucthumm .
Bug Fixes
- Fixed unfocused interactive processes blocking on a full PTY buffer by ensuring background drainage, addresses issue #508.
- Fixed a readiness cascade where dependents of an updated or restarted process could spuriously fail on a stale, cancelled process object, by @hebo6.
- Fixed a deadlock that wedged the logs WebSocket for an entire process under backpressure, by @hebo6.
- Fixed reloading a project that uses file-level
extends, which previously failed with an "already specified in files to load" error after the first successful load, by @eike-hass.
Changelog
- b9b8820 Add BM25 search and dependency graph as tools in the MCP server (#479)
- a4038d6 Add macOS runner to Go CI and optimize linter (#486)
- 0be8ab4 Fix log websocket backpressure
- 85686e5 Fix update readiness cascade (#497)
- 5e62578 Merge pull request #487 from eike-hass/fix/loader-filenames-mutation-on-reload
- a92cb36 Merge pull request #495 from hebo6/fix/logs-ws-deadlock
- 6a79994 Merge pull request #498 from ddanier/add-namespace-env
- cd7f6af chore: bump process-compose version to 1.110.0
- 1057510 chore: bump version to v1.116.0 and update release notes
- 5412c4e chore: modernize go
- 4970c98 chore: update project dependencies and nix vendor hash
- f0218ac feat: Add ability to define namespaces via environment variable
- fa951a0 feat: Automate replica names expansion in DependsOn (#496)
- 3f76f51 feat: add process level extend
- 60372ae feat: add support for custom success_exit_codes per process to allow non-zero exit statuses to be treated as success Addresses issue #506
- 9923ea3 feat: implement send-keys command to inject input into interactive processes addresses issue #507
- 3360bb4 fix(loader): persist user-supplied FileNames, not the extends-mutated slice
- c01127e fix: prevent PTY blocking for unfocused interactive processes by ensuring background drainage Addresses issue #508
- bcf2468 test(loader): regression test for reload-after-extends
- 8dcb6e1 修复日志ws死锁
v1.110.0
New Features
- Added process activity and silence monitoring in the TUI, with deduplication of silence notifications.
- Added a process state push-notification stream over WebSocket, plus a
process-compose process monitorCLI subcommand to subscribe to it, addresses issue #470. - Added a command palette to the TUI for process management - start, stop, restart, scale, signal, create, and delete.
- Added a
process-compose analyze critical-chainsubcommand that prints a tree of processes with startup timings, in the spirit ofsystemd-analyze critical-chain, by @ryantm - Added built-in MCP control tools (
pc_*) so MCP clients can manage the running project, opt-in viaexpose_control_tools: true. - Added Shift+Tab support and xterm-style modifier key sequence encoding in the terminal view.
- Added OSC 52 clipboard status notifications via the glippy v1.2.0 upgrade.
Bug Fixes
- Fixed daemons being included in total CPU and RAM calculations.
- Fixed process CPU metric retrieval to use
PercentWithContextwith interval 0, addresses issue #471. - Fixed the casing mismatch between Swagger docs (lower) and the REST API (capital), addresses issue #457.
Changelog
- d97d9b7 Merge branch 'main' of github.com:F1bonacc1/process-compose
- 073df29 chore: add build dependency to run target in Makefile
- 2cada8d chore: fix lint issues
- 8f91908 chore: move StateObserver from
apptotypes - c6aa57d chore: revert update check URL to official GitHub releases API
- b855374 chore: update claude command with raw mode and disable service in override config
- 898d9eb chore: update project dependencies and refresh vendor hash
- bd885ad feat: add 'process-compose analyze critical-chain' subcommand (#462)
- 8bf37a8 feat: add Shift+Tab support and implement xterm-style modifier key sequence encoding in terminal view
- 9342f1d feat: add command palette for process management (start, stop, scale, signal)
- 4af0ead feat: add process activity and silence monitoring to TUI
- 6cadae1 feat: add process creation and deletion through command pallete
- cd74b1c feat: add processes monitor push notifications over WS Issue #470
- 32c55e1 feat: implement MCP control tools for process-compose management
- 07e4114 feat: silence notifications deduplication
- 1e93cb9 feat: upgrade glippy to v1.2.0 and add status notifications for OSC 52 clipboard support
- 624a1bd fix!: address the mismatch between the swagger docs (lower) case and REST API (capital) case. Issue #457
- 3f92b0f fix: ignore daemons in total CPU & RAM calculations
- ccfb1e5 fix: update process CPU metric retrieval to use PercentWithContext with interval 0 Issue #471
v1.103.0
New Features
- Added text selection and clipboard copying support in terminal views.
- Added application cursor key mode (DECCKM) support for interactive terminal processes.
- Added context-aware help that updates dynamically when the terminal view is focused.
Bug Fixes
- Fixed extra brackets appearing in text containing ANSI escape sequences, addresses issue #449.
- Fixed zombie processes not being reaped after exit by @54rt1n in #450
- Fixed missing ANSI escape code support for disabling bold, underline, and reverse text styles in terminal views.
New Contributors
Full Changelog: v1.100.0...v1.103.0
v1.100.0
New Features
- POSIX Signal Support: Added support for sending custom POSIX signals to processes via the TUI, by @lynaghk.
- Process Environment Files: Added process-specific
env_filesupport to load environment variables from dedicated files, addresses issue (#406). - Log Color Control: Added the
--log-no-colorCLI flag andPC_LOG_NO_COLORenvironment variable to disable color output in log files, addresses issue (#440). - Self-Update Capability: Added a self-update command to securely download and install new versions.
- Shutdown Logging: Added explicit logging when a process exits or is skipped and triggers project shutdown.
- TUI Footer Links: Added "Donate" and "Ask Question" links to the TUI footer that open in the default browser.
Bug Fixes
- Fixed a race condition by waiting for the detached daemon's HTTP server to be ready before proceeding, addresses issue (#443) and (#424).
- Fixed the process editing loop to correctly exit if a user exits without changing the configuration.
- Fixed incorrectly typed
RestartPolicyandProcessConditionproperties when marshaling for editing. - Improved concurrency safety in the project runner.
New Contributors
Full Changelog: v1.94.0...v1.100.0
v1.94.0
New Features
- API Token Authentication: Added support for token-based authentication for the REST API and WebSocket connections. Configurable via
PC_API_TOKEN,PC_API_TOKEN_PATH, or the--token-fileflag. Issue #439 - MCP Server Support: Integrated Model Context Protocol (MCP) server for dynamic process management and tool execution, supporting both
stdioandssetransports. See blog post. - Template Rendering Control: Added
is_template_disabledoption to skip Go template rendering for processes containing JSON strings in their commands. - JSON Pretty-Print: Added a toggle for pretty-printing JSON logs in the TUI terminal view. By @EricWardner
New Contributors
- @EricWardner made their first contribution in #438
Full Changelog: v1.90.0...v1.94.0
v1.90.0
[v1.90.0] - 2026-01-31
New Features
- Namespace Operations: Added support for starting, stopping, and restarting namespaces via CLI (
namespacecommand), TUI (new namespace modal), and REST API. - Enhanced Port Monitoring: Added UDP port detection and child process listener detection, so processes that spawn worker children (e.g., uvicorn, npm) now correctly report all open ports, by @jessedhillon.
- Interactive Process Scrolling: Added scrollback support for interactive processes with mouse wheel and keyboard navigation (
Ctrl+Afollowed by arrow keys).
Bug Fixes
- Fixed
PC_ADDRESSenvironment variable not being read correctly, by @lbodor. - Improved Windows process stopping by dynamically building taskkill arguments and gracefully handling process not found errors.
Maintenance
- Testing: Improved test reliability and cross-platform compatibility, particularly for Windows.
- CI/CD: Added
clean-testracetarget to Makefile.
New Contributors
- @lbodor made their first contribution in #430
- @jessedhillon made their first contribution in #434
Full Changelog: v1.87.0...v1.90.0
v1.87.0
[v1.87.0] - 2026-01-03
New Features
- Process Dependency Graph: Added a comprehensive visualization feature available via CLI (
graphcommand), TUI (Ctrl+Q), and REST API (graph). Supports multiple output formats: ASCII, Mermaid, JSON, and YAML. - Scheduled Processes: Introduced support for cron and interval-based process execution.
- Enhanced TUI Interactivity: Added mouse support to the terminal view and a configurable escape character for interactive processes.
Bug Fixes
- Fixed a bug where environment variables were not correctly applied to foreground processes (#427).
- Fixed missing version information when the application is installed using
go install(#426). - Resolved various styling and layout issues for interactive processes in the TUI.
Maintenance
- CI/CD: Expanded the CI build matrix to include Windows and improved test coverage across all packages.
- Dependencies: Updated Go modules dependencies.
v1.85.0
New Features
Interactive Processes:
- Added initial support for interactive processes
- Added escape sequence
CTRL+A,ESCto switch focus from interactive processes
Configuration: - Added
--addressflag for API port configuration (Fixes #421) - Health-checks now use the same shell configuration as processes (Fixes #422)
Performance: - Improved recursive metrics collection performance
Bug Fixes
Interactive Mode:
- Fixed glyph handling/rendering
- Fixed shell process closing/termination
- Improved handling of special key combinations
- Fixed interactive colour rendering issues
- Fixed interactive process waiting to be drained
- Fixed initial terminal size issue
Core:
- Fixed process cloning issue (Fixes #420)
- Fixed
go installby moving main to the repo root - Implemented strict and non-strict validation for unknown fields in project extensions (Fixes #419)
Maintenance
- Updated Go module dependencies
Changelog
- b28cc1a Added interactive procs documentation
- f13558b Addes escape sequence CTRL+A, ESC from interactive focus
- 1a9bdad Fixed interactive process waiting to be drained
- 791e8ea Handle special key combinations
- b349e53 Interactive process p1
- a99b94d Update dependencies
- 5c346e3 chore: bump nix to 1.85.0
- 81bd789 chore: update Go module dependencies.
- 67feadc feat: add
--addressflag Fixes: #421 - eb8aee6 feat: helthcheck use same shell config as processes. Fixes #422
- cf667d8 feat: imporve recursive metrics collection performance
- 5ad29eb fix glyphs handling
- 024662a fix linter issues
- 2fd6ecd fix shell prosess close
- 31158b6 fix: Implement strict and non-strict validation for unknown fields in project extensions. Fixes: #419
- 1489ff4 fix: fixed process cloning Fixes #420
- 7c7ab9d fix: move main to the repo root to allow go install with pretty name
- 01231ff fixed initial size issue
- 12266d9 fixed interactive color issues
- 23ca692 tests: add terminal and processes order tests
v1.78.0
What's Changed
- Added clipboard copy/paste on Wayland
- Added ability to use
go installto install Process Compose
Bug Fixes
- fix: restore environment variable precedence and align with docker-compose by @ManuelLR in #417
- Fixed process log pagination error #415
- Respect PC_LOG_LEVEL env variable in the Process Compose client
- Ignore empty name in namespace logging
Dependencies
Update dependencies: gin, gopsutil, xterm
New Contributors
Full Changelog: v1.76.1...v1.78.0