Releases: svyatov/oz
Releases · svyatov/oz
Release list
v0.2.2
Fixed
- 0.2.1 exists as a git tag and on
proxy.golang.org, and carries no GitHub
release. Its release run wrote the notes file into the checkout, and GoReleaser
refuses to build from a dirty working tree, so no binaries, bills of materials,
or Homebrew update accompanied that version. The notes now land outside the
checkout, and everything 0.2.1 was meant to ship arrives here
v0.2.0
Added
passwordoption type: masked entry that is redacted (****) everywhere oz displays a
command or answer (dry-run, confirmation prompt, values editor,oz run show), never written
to persisted state (last-used, presets, pins), and re-prompted every run. Asecret_env: NAME
channel delivers the value through the child process environment instead ofargv, keeping it
off the process list on Linux (see README for the flag-exposure limitation and platform scope)numberoption type: accepts integer/float input with optional inclusivemin/maxbounds;
rejects non-numeric or out-of-range input, and omits its flag when left blankoz test [wizard]: a hermetic snapshot harness that asserts a wizard's fixture answers
build the expected command. Fixtures live inwizards/testdata/<wizard>/as a<case>.yml
(pinnedversion:+answers:) and a sibling<case>.golden;--updateregenerates the
goldens. Execution is hermetic: the pinned version drives option filtering (no detection)
and dynamic-choice answers are taken as literal values (no shell runs), so fixtures pass on
any machine. Runs in CI overwizards/as a gate: a wizard that ships no fixture fails- Proving-pack registry wizards exercising the harness's hard cases:
docker-run(multi-select),
git-switch(dynamic-choice supplied as a literal), withrails-newandbundle-gemcovering
version gating, each with passing fixtures bundle-gemregistry wizard: wraps Bundler'sbundle gemgenerator with version-aware
options verified against real Bundler binaries from 2.2 to 4.x:--changelog(≥2.2.8),
--github-username(≥2.2.16),--linter(≥2.2.31, supersedes the<2.2.31--rubocop),
--extvaluesc/rust(≥2.4)/go(≥4.0), and--bundle(≥2.7);--rubocopis hidden on
4.x where it was removed. Includes a version picker viabundle _<version>_ gem
Fixed
oz list/oz list --remote: add column spacing so the wizard name, description,
and(installed)tag no longer run together, and a trailing blank line to match
every other command's output- Registry now served from the main repo (
svyatov/ozwizards/+index.yml)
instead of a separateoz-wizardsrepo, sooz add,oz list --remote, and
oz updatework out of the box; override withOZ_REGISTRY_URL - rails-new wizard: expose
--skip-asset-pipelineon Rails 8.x via a version-gated
toggle (the asset-pipeline selector is< 8.0only, so 8.x had no way to skip it)
Install
brew install svyatov/tap/oz
go install github.com/svyatov/oz/cmd/oz@v0.2.0Full changelog: https://github.com/svyatov/oz/blob/main/CHANGELOG.md
v0.1.0
Initial public release.
Features
- Interactive TUI wizard engine powered by Bubbletea
- YAML-based wizard configuration with select, confirm, input, and multi-select field types
- Auto-generate wizard configs from any CLI tool's
--helpoutput (59 formats supported) - Wizard registry with
addandupdatecommands - Version detection with semver-based option filtering
- Presets and pinned options for quick reuse
- Conditional visibility (
show_when/hide_when) - Dynamic choices via shell commands
- Dry-run mode and command copy-to-clipboard
- Shell completions (bash, zsh, fish, powershell)
Install
# Homebrew (macOS)
brew install svyatov/tap/oz
# Go
go install github.com/svyatov/oz/cmd/oz@latestOr download binaries below.