Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 01 Jul 14:32
· 9 commits to main since this release
a15b781

Added

  • password option 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. A secret_env: NAME
    channel delivers the value through the child process environment instead of argv, keeping it
    off the process list on Linux (see README for the flag-exposure limitation and platform scope)
  • number option type: accepts integer/float input with optional inclusive min/max bounds;
    rejects non-numeric or out-of-range input, and omits its flag when left blank
  • oz test [wizard]: a hermetic snapshot harness that asserts a wizard's fixture answers
    build the expected command. Fixtures live in wizards/testdata/<wizard>/ as a <case>.yml
    (pinned version: + answers:) and a sibling <case>.golden; --update regenerates 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 over wizards/ 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), with rails-new and bundle-gem covering
    version gating, each with passing fixtures
  • bundle-gem registry wizard: wraps Bundler's bundle gem generator 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),
    --ext values c/rust (≥2.4)/go (≥4.0), and --bundle (≥2.7); --rubocop is hidden on
    4.x where it was removed. Includes a version picker via bundle _<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/oz wizards/ + index.yml)
    instead of a separate oz-wizards repo, so oz add, oz list --remote, and
    oz update work out of the box; override with OZ_REGISTRY_URL
  • rails-new wizard: expose --skip-asset-pipeline on Rails 8.x via a version-gated
    toggle (the asset-pipeline selector is < 8.0 only, 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.0

Full changelog: https://github.com/svyatov/oz/blob/main/CHANGELOG.md