Releases: alsaadii98/dok
Releases · alsaadii98/dok
Release list
v0.1.6
Added
dok history <image>— the layers of an image with a size bar each, read
top-down in build order the way the Dockerfile was written rather than
newest-first the waydocker historyprints it. Recovers the instruction
from both the classic builder's/bin/sh -c #(nop)wrapper and BuildKit's
direct form, collapses a multi-lineRUNonto one row, and marks every layer
over 10% of the image.-rrestores docker's order,--no-trunckeeps long
instructions whole.dok health— the containers that declare a healthcheck, and only those,
with the failing streak, the first line of the last probe's output and the
probe's exit code. Unhealthy sorts first.-unarrows to what is failing,
-aincludes stopped containers. The count of containers without a
healthcheck is reported too, since an empty table and a table missing half
the stack otherwise look the same.
Fixed
dok inspect <name> --demoanswered as the api container whatever name was
given, sodok inspect redis --demoshowed api's id, image and healthcheck.
The fixture now varies by service, and only api, postgres and grafana declare
a healthcheck — grafana's is failing, which is what givesdok health --demo
something to show.
What's Changed
- site: redesign, and list dok ports by @alsaadii98 in #16
- site: restore the original design, keep the improvements by @alsaadii98 in #17
- chore(packaging): bump scoop and the AUR PKGBUILDs to 0.1.5 by @alsaadii98 in #19
- feat: add dok history by @alsaadii98 in #18
- feat: add dok health by @alsaadii98 in #20
- release: 0.1.6 by @alsaadii98 in #21
Full Changelog: v0.1.5...v0.1.6
v0.1.5
Added
dok ports— every published port in one flat table, sorted by host port, so
"who owns 5432?" is a glance instead of a scan across wrapped lines. Skips
exposed-but-unpublished ports, collapses the IPv4/IPv6 pair docker reports for
a wildcard binding into one row, shows aBINDcolumn only when some binding
is narrower than every interface, and marks the case where two containers
claim the same address, port and protocol.
Changed
- The demo stack binds postgres to
127.0.0.1rather than every interface,
which is how a database is usually published and givesdok ports --demo
something to show in itsBINDcolumn.
What's Changed
- docs: fix the social card, link the roadmap to its issues by @alsaadii98 in #13
- feat: add dok ports by @alsaadii98 in #14
- release: 0.1.5 by @alsaadii98 in #15
New Contributors
- @alsaadii98 made their first contribution in #13
Full Changelog: v0.1.4...v0.1.5
v0.1.4
Added
dok uninstall— removes dok the same waydok updatereplaces it. A
standalone binary deletes itself (on Windows it is renamed aside and swept up
a moment later, since Windows will not unlink a running image); a packaged
one is left to its manager and that manager's removal command is printed.
--purgealso removes~/.config/dokand~/.cache/dok,--dry-runlists
what would go,-yskips the prompt.
Changed
- Install detection now recognises scoop, winget and pacman as well, and asks
dpkg/rpm/pacmanfor the real package name instead of assuming
dok. - A config file that fails to parse no longer blocks
dok uninstall: it warns
and carries on with the defaults, so a bad config cannot trap anyone in an
install they cannot leave. Every other command still refuses to guess.
Full Changelog: v0.1.3...v0.1.4
v0.1.3
Added
dok update— checks GitHub for a newer release and installs it. A
standalone binary is replaced in place after its checksum is verified; a
packaged one prints the rightbrew/apk/dpkg/rpm/cargo
command instead.--checkreports without installing.- A once-a-day update check that prints one dim line after a command's output
when a newer version exists. Off for piped output,--demo, and whenever
DOK_NO_UPDATE_CHECKis set.
Changed
- Tables no longer let one long value push every other column across the
screen:NAME,IMAGE,PORTS,REPOSITORYandTAGare capped at a
share of the terminal and truncated past it. - Swarm container names lose their random task id —
api.1.hsnfrtha…renders
asapi.1, which is the part that tells two replicas apart. - Header underlines stop at the end of the word instead of running the full
width of the column.
Full Changelog: v0.1.2...v0.1.3
v0.1.2
Fixed
dok ps | headpanicked withfailed printing to stdout: Broken pipe.
Rust ignores SIGPIPE by default; dok restores it, so piping into a reader
that stops early now exits quietly like any other Unix tool.
Added
- Alpine Linux packages. Every release now carries
dok-x86_64.apkand
dok-aarch64.apk, built withabuildinside Alpine from the same static
musl archive the tarballs ship, and install-tested before publishing. dok events --demoreplays a canned minute of daemon events, so the stream
can be seen (and screenshotted) without a daemon.- Animated SVG casts:
scripts/ansi2cast.pyrenders captured output into an
SVG that types the command, reveals the output and loops, with no JavaScript.
The website hero cyclesps,images,logsandeventsin one file.
Changed
- The static screenshots now use the same chrome and palette as the website's
cards, so images and page are one surface instead of two. - The site is a proper responsive layout: 6/4/1-column bento, terminal frames
that scroll instead of shrinking, and a copy button on every install command.
What's Changed
- ci: bump the actions group across 1 directory with 7 updates by @dependabot[bot] in #7
New Contributors
- @dependabot[bot] made their first contribution in #7
Full Changelog: v0.1.1...v0.1.2
v0.1.1
Fixed
--demopanicked withSocketNotFoundErroron machines with no Docker
socket, which was the one case it exists to serve. It now builds an offline
client instead of probing the filesystem.dok top --demoprinted a daemon error per container; it now has fixtures
like every other demo command.
Changed
- Homebrew installs a prebuilt binary instead of compiling from source, so it
no longer pulls rust, llvm, z3 and python.brew install --HEADstill builds
from source.
Full Changelog: v0.1.0...v0.1.1
v0.1.0
First public release.
Added
ps(ls) — containers grouped by compose project, with short ids, state
dots, health marks,:8080→80port mapping, compacted status and ages.images(img) — size and age gradients, dangling images marked
reclaimable, per-image container counts.df(du) — disk usage per category with used/reclaimable bars, and
-vfor the biggest images, containers, volumes and build-cache entries.inspect— inspect JSON folded into identity/state/config/resources/
network/mounts/labels, with credential-looking env values masked.logs— merged multi-container tail, stable per-container colours, stderr
marked on the separator, level tokens and JSON lines highlighted.top— processes inside containers nested by parent PID.tree— compose projects, networks with container IPs, volumes with mount
points.stats— live CPU/memory/IO dashboard with a total-CPU sparkline.events— colour-coded daemon event stream,exec_*hidden by default.themes— 10 built-in themes carrying palette, glyph set and layout, plus
--previewand--init.- Configuration via
~/.config/dok/config.toml, including custom themes that
inherit from a built-in. --demoon every command: renders a built-in example stack with no daemon,
and is what generates the screenshots in the docs.
Full Changelog: https://github.com/alsaadii98/cool-docker-commands/commits/v0.1.0