You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added file watching: a per-process watch block restarts a process when its files change, with include/exclude globs, a configurable debounce, and cascade: true to restart the process's dependents transitively (in dependency order, so a rebuilt artifact is ready before its consumers restart). A process that has exited while its watch is still armed reports the new Watching state, and the TUI names the file that caused each restart. Watch-triggered restarts skip the restart backoff and reset the restart counter, since they are user intent rather than a crash loop. File watching can be turned off entirely with --no-watch / PC_NO_WATCH.
Added support for multiple namespaces per process: namespace now accepts either a single string or a list of strings (similar to docker-compose profiles), so a shared process (e.g. a database) can be selected and operated as part of any of its namespaces, addresses issue #519.
Bug Fixes
Fixed restarting a process shutting the whole project down when that process was configured with availability.exit_on_end or restart: exit_on_failure. Every exit routed through the same path, and a restarted process does not exit cleanly (a SIGTERMed process reports a non-zero code), so an intentional restart was indistinguishable from the process ending. This affected manual restarts from the TUI, the CLI and the API; it is also what would have made every watch-triggered restart end the project.
Fixed namespace operations skipping processes that were not started: process-compose namespace start <ns> now starts every configured member of the namespace, including processes excluded from an up <process>... selection or marked disabled: true, instead of failing with "namespace not found (no processes assigned)", addresses issue #528.
Fixed a project update or reload starting the processes that were excluded from a process-compose up <process>... selection: the selection is now re-applied to the reloaded configuration, the same way the --namespace admission policies already were.
Fixed a project or process update shutting the project down when it restarted the only running process: the momentary gap while the process is stopped is no longer mistaken for the project having completed.
Fixed stopping or restarting a process while it is still waiting on its dependencies: the process was left wedged in Terminating and its still-waiting instance later started an untracked copy, which stop, start and restart could not manage, which a subsequent start duplicated, and which survived down as an orphan. A pending process now stops immediately instead of waiting for its dependencies to resolve, and a superseded instance can no longer deregister its replacement, addresses issue #530.
Fixed the TUI Namespace Operations modal silently ignoring failures: a failed namespace start, stop or restart is now reported in an error dialog instead of only being written to the log file.
Fixed the HTTP API rejecting process names that contain slashes: routes are now matched against the raw percent-encoded path and the client encodes process names as path segments, addresses issue #523.
Client-mode commands (down, attach, list, process, project, namespace) now write their internal logs to a separate log file (/tmp/process-compose-$USER-client.log by default) instead of truncating the log file of a running server, documentation by @soy-chrislo.
Changelog
4857b39 Merge branch 'main' of github.com:F1bonacc1/process-compose
c458fd2 chore: release v1.122.0 notes and update vendor hash