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.
- Application icon redrawn: an isometric container cube inside an orbit, replacing the three stacked blocks — the old mark read as a generic grid at panel size
- Ports tab: dev servers listening on the host (
ss -tulpn), sorted by port with IPv4/IPv6 rows merged, showing the owning process and PID - Free a port from the popup:
kill -TERM, or-KILLvia Force, behind a confirmation row - Tab-scoped clean on Ports: the broom signals every listed entry at once, deduplicated by process group
- Kill targets the listener's process group (
kill -TERM -- -<pgid>, group read fromps), falling back to the bare PID when unknown: a supervisor (turbo,concurrently,tsx --watch) otherwise respawns the killed child and re-grabs the port - The list covers every shape a dev server takes: this user's TCP listeners, the UDP sockets of those same processes (
livekit-server --devand other media/QUIC servers bind both), and root-owned TCP above port 1024 (asudo-started server, shown read-only). UDP-only chatter, system services below port 1024, and container-published ports stay out
- Flatpak packaging manifest (
flatpak/io.github.vaulttec_dev.CosmicContainers.json) for COSMIC Flatpak / Flathub - Host Docker access in Flatpak via
flatpak-spawn --host docker - Tab-scoped clean action (broom icon) running
docker container|image|volume prune, with confirmation and reclaimed-space feedback - Published ports and live CPU / RAM usage per container (
docker stats --no-stream, polled only while the popup is open)
- Application ID renamed to
io.github.vaulttec_dev.CosmicContainers(desktop entry, metainfo, icon paths) - Crate, binary, and command renamed from
linux-pop-extensiontocosmic-containers; settings from the old config directory are migrated on first load - Application icon replaced with an original design — the previous one was the Docker logo, a trademark of Docker, Inc.
- Popup doubled in size (800×960) with 16 rows per page
- Header refresh button replaced by the clean action; lists still auto-refresh every 5 seconds
- Flatpak permissions trimmed: dropped
--filesystem=/var/run/docker.sock(unused — the applet talks to the host CLI viaflatpak-spawn) and bothxdg-configoverrides; added--socket=fallback-x11
- Settings are written to
$XDG_CONFIG_HOMEwhen set; inside Flatpak$HOME/.configis a sandbox tmpfs, so the panel font size was lost on every restart - Panel button grows along the panel's major axis instead of being fixed to one icon width, and the applet surface is wrapped in
autosize_window, so the running count is no longer clipped; the font is capped to the panel thickness - Volume prune passes
-a: without it Docker removes only anonymous volumes and leaves unused named ones behind - Ports are also shown for stopped containers, read from their configured bindings (
docker psreports ports only while a container runs) - Settings path follows
APP_ID; legacy config under~/.config/linux-pop-extension/is migrated on first load
- Initial Rust crate layout (
lib+bin, integration smoke test) - SnakeFlow / pre-commit quality configuration
- README, LICENSE, SECURITY.md, CODEOWNERS, Dependabot, CI workflow