Changelog
February 28, 2026 · View on GitHub
All notable changes to poco are documented here.
[1.0.1] - 2026-02-28
Added
- Auto-create poco.yml — When running
poco uporpoco downin a directory withdocker-compose.yml(ordocker-compose.yaml) but nopoco.yml, poco automatically createspoco.ymlfrom the existing compose file(s). No manual edit needed. - Docker folder support — Auto-create also discovers compose files in a
docker/subfolder. When root compose exists,docker/*.ymlare added;docker/docker-compose.ymlis skipped (avoids build context issues when app/Dockerfile are in project root).
Changed
- Matrix effect — "SHIWAFORCE" occasionally readable in the falling digits during
poco up/poco down(~0.8% of lines).
[1.0] - 2026-02-25
First stable 1.0 release.
Summary since 0.99.3
- Kubernetes & Helm —
kubectx,kubens,helm-repos,helm-list; matrix effect and verbose for up/down;-VV/--no-matrixfor full log. - 0.99.5–0.99.6 — Matrix effect (20 lines, in-place); verbose merged compose; kubectx/kubens/helm-repos/helm-list.
- 0.99.7 — Presets (list/use/save); kube-get; interactive
-ifor kubectx/kubens/preset/helm-list; interactive menupoco -i. - 0.99.8 — Interactive menu shows current k8s context and namespace.
- 0.99.9 — Matrix on Windows/Git Bash (CON / dev/tty).
- 0.99.9.1–0.99.9.5 — Windows matrix: no pipe/dup2 (OSError 22 fix); subprocess capture; stdout/stderr to pipe; smoother refresh; no extra static lines.
- 0.99.9.4–0.99.9.5 — Pipe reader thread (no deadlock on
poco up); redirect own output so only matrix moves. - 0.99.9.6–0.99.9.7 — Filter matrix result: Executing before_script, " - ", Docker command lines; with
-Vonly merged compose + result. - 0.99.9.2 — Security: GitPython 3.1.41; README Security; pytest filter; CI pip-audit.
- 0.99.9.8 — Version check timeout (no block without internet); help “Upgrade: pip install --upgrade poco”; new-version message in green blink.
- 0.99.9.9 —
poco status(Docker Compose projects overview);-a/--all; subcommand args merged.
Added in 1.0
- before_docker_script — Optional host scripts before Docker:
windows,darwin,linuxin poco.yml; runs on host before before_script.
[0.99.9.9] - 2026-02-25
Added
- poco status — Overview of Docker Compose projects currently running (run from any directory). Use
poco status -aorpoco status --allto include stopped projects. Global help:-a --allwith status.
Changed
- Subcommand options (e.g.
status -a) are merged into StateHolder.args so commands see their flags. Main help lists-a --allfor status.
[0.99.9.8] - 2026-02-25
Changed
- Version check — Does not block startup when there is no internet (5s timeout); on new version shows upgrade command and "pip install --upgrade poco" in the message.
- Help — "Upgrade: pip install --upgrade poco" added at the top of the help (
poco -h/poco help). - New version notice — "New version of poco is available" is printed in blinking green in the terminal.
[0.99.9.7] - 2026-02-25
Changed
- Matrix / verbose result — "Docker command: [...]" lines are now filtered out when showing the final block after the matrix; with
-Vyou only see the merged compose and the result ([+] up/down, container table).
[0.99.9.6] - 2026-02-25
Changed
- Matrix result output — When showing the final block after the matrix, "Executing before_script..." and " - ..." lines are now filtered out so only the real result ([+] up/down, container table) is printed.
[0.99.9.5] - 2026-02-25
Fixed
- Windows matrix on
poco up— Redirect our own stdout/stderr to the pipe so messages like "Executing before_script" and "Docker command" no longer add extra static lines; only the 20-line matrix moves, same aspoco down.
[0.99.9.4] - 2026-02-25
Fixed
- Windows
poco up+ matrix — Matrix no longer runs forever: subprocess output is now read in a background thread so the pipe buffer never fills and the process can finish (avoids deadlock when docker compose writes a lot).
[0.99.9.3] - 2026-02-25
Fixed
- Matrix on Windows — Subprocess output (e.g. docker compose) is now captured via pipe so it no longer flashes through during the matrix; only the final result block is shown. No dup2 (avoids OSError 22).
Changed
- Matrix effect — Smoother on Windows: longer refresh interval (0.05s) and explicit flush; avoids choppy display on CON/console.
[0.99.9.2] - 2026-02-25
Security
- GitPython — Bumped from 3.1.30 to 3.1.41 to address PYSEC-2024-4, PYSEC-2023-137, PYSEC-2023-161, PYSEC-2023-165 (Windows path, clone options, path traversal). Run
pip-audit -r requirements.txtto verify; no known vulnerabilities in declared dependencies. - README — Added Security section: recommend
pip-auditandpip install -U setuptools wheelfor the toolchain.
Changed
- Pytest: filter DeprecationWarnings (e.g. from PyGithub) so test runs are warning-clean.
- CI: upgrade setuptools and wheel before install; run
pip-auditand fail on vulnerabilities.
[0.99.9.1] - 2026-02-25
Fixed
- Matrix on Windows — Avoid
OSError (22, 'Incorrect function')by not using pipe/dup2 on Windows; matrix runs to CON while command output goes to real stdout/stderr (no capture on win32).
[0.99.9] - 2026-02-25
Fixed
- Matrix effect on Windows / Git Bash — TTY stream is now obtained via
CONon Windows and/dev/ttyon Unix/Git Bash so the matrix rain works in Git Bash and native Windows console.
Changed
- Added unit tests for
_get_tty_stream(never raise, Unix path, all fail, Windows CON).
[0.99.8] - 2026-02-25
Improved
- Interactive menu (
poco -i) — Shows current Kubernetes context and namespace at the top when kubectl is available, so you always know where you are.
[0.99.7] - 2026-02-17
Added
- Presets — Save and switch kubectl context + namespace in one command:
poco preset list,poco preset use <name>,poco preset save <name>. Config:~/.poco/presets.yml. - kube-get — Shortcut for
kubectl get:poco kube-get <resource> [name]with optional-n <namespace>and-A(all namespaces). E.g.poco kube-get pods,poco kube-get ns. - Interactive mode (
-i/--choose) — Choose from list via menu or fzf (if installed):poco kubectx -i,poco kubens -i,poco preset use -i,poco helm-list -i(pick release then show helm status). - Interactive menu (
poco -i) — Step-by-step menu: start/stop project, Kubernetes (kubectx, kubens, kube-get, preset), Helm, catalog. Colored, multi-column lists; stays in menu when a command has nothing to show.
Changed
- Help and README: Presets, Kube-get, and Interactive mode sections; updated Kubernetes/Helm intro.
[0.99.6] - 2026-02-24
Added
- kubectx — List or switch kubectl context:
poco kubectx,poco kubectx <context>. - kubens — List or switch namespace:
poco kubens,poco kubens <namespace>. - helm-repos — List Helm repositories:
poco helm-repos. - helm-list — List Helm releases:
poco helm-list,poco helm-list --all-namespaces.
Changed
- Matrix effect: fixed height 20 lines, in-place update (no terminal scroll); width adapts to terminal (TTY fd); full-width lines, no half-filled rows.
- Verbose (
-V): merged docker compose config shown forup/down(before result or in final block). -VV/--no-matrix: no matrix, full log; implies verbose.- Help and docs: global options, Start/Stop descriptions, README Kubernetes & Helm section.
Fixed
poco up -Vandpoco -VV upnow work (global options passed to subcommands;-VVpreprocessed to--no-matrix).- Subcommand help (e.g.
poco repo) uses correct argv so help text is shown.
[0.99.5] - 2026-02-23
- Matrix-style effect for
poco up/poco down(optional,POCO_MATRIX=0to disable). - Capture output; show only final result block (e.g.
[+] up 10/10, container table). - On failure: red "glitch in the matrix" on TTY + full debug log.
- CI: Code Climate coverage upload non-blocking so PyPI publish always runs.