Skip to content

Releases: glennib/envoke

v2.0.1

22 Apr 07:30
c033d5e

Choose a tag to compare

Other

  • small fix
  • set envoke-env version to 2

v2.0.0

22 Apr 06:25

Choose a tag to compare

Migration from v1

v2 has four breaking changes. Each section lists the v1 invocation on the left
and its v2 equivalent on the right.

CLI split into subcommands

The flat envoke [FLAGS] [ENV] [-- CMD...] grammar is gone. Each mode is now
its own subcommand.

v1 v2
envoke prod envoke render prod (alias envoke r prod)
envoke prod -- ./serve envoke exec prod -- ./serve (alias envoke x prod -- ./serve)
envoke --schema envoke schema
envoke --completions bash envoke completions bash
envoke --list-environments envoke meta environments
envoke --list-tags envoke meta tags
envoke --list-overrides envoke meta overrides

-o/--output, -f/--format, and --template are now render-only and error
under other subcommands. -c/--config, -q/--quiet, --no-parallel,
-t/--tag, --all-tags, and -O/--override remain global and may appear
before or after the subcommand. When repeatable flags (-t/--tag,
-O/--override) are split across the subcommand boundary, they follow
last-write-wins — pick one side.

--prepend-export removed

Superseded by --format shell-export in v1.12.0 and now retired.

v1 v2
envoke prod --prepend-export envoke render prod --format shell-export

--format shell removed; default format is now dotenv

v1 v2
envoke prod (default shell) envoke render prod (default dotenv)
envoke prod --format shell envoke render prod --format shell-export

The dotenv encoding was reworked for portability: literal strings round-trip
unchanged across dotenvy (mise, Rust), godotenv (Docker Compose),
python-dotenv, and node dotenv, and $ never expands at the consumer.
A new dotenv_escape minijinja filter is exposed in both output templates and
variable-source templates.

skip source is now a bare string

# v1
envs:
  prod:
    skip: true

# v2
envs:
  prod: skip

skip: false was never meaningful (it was rejected at runtime); the object
form is simply gone.

Fixed

  • (render) [breaking] drop shell format, portable dotenv encoding

Other

  • (resolve) bound external source fan-out with a worker pool
  • sync internal doc comments and test fixtures with v2 CLI
  • (cli) [breaking] drop --prepend-export
  • (cli) [breaking] split into subcommands (render, exec, meta, schema, completions)
  • (config) [breaking] Source::Skip becomes a unit variant

v1.12.0

21 Apr 19:33
b582102

Choose a tag to compare

Added

  • (cli) add --format with curated output presets

v1.11.0

21 Apr 18:38
c850fb1

Choose a tag to compare

Added

  • (cli) add exec form envoke <env> -- <cmd>

Other

  • polish README and sync CLAUDE.md for the exec form

v1.10.1

20 Apr 21:41
0d86d22

Choose a tag to compare

Other

  • promote envoke-env mise plugin in README

v1.10.0

20 Apr 21:11
4048d96

Choose a tag to compare

Added

  • read target environment from ENVOKE_ENV env var

v1.9.0

16 Apr 12:55
da7c35b

Choose a tag to compare

Added

  • parallelize cmd/sh source resolution

Fixed

  • disable format_strings in rustfmt to prevent mangling help text

v1.8.1

16 Apr 11:07
6a54678

Choose a tag to compare

Other

  • Merge pull request #41 from glennib/renovate/clap-4.x-lockfile
  • Merge pull request #39 from glennib/claude/add-miette-diagnostics-KXtbn

v1.8.0

15 Apr 20:52
0393952

Choose a tag to compare

Added

  • enable tojson filter in minijinja templates

Other

  • (deps) update rust crate clap_complete to v4.6.2
  • (deps) update rust crate minijinja to v2.19.0
  • ignore autogenerated release workflow in Renovate
  • (deps) update actions/checkout action to v6
  • upgrade dist

v1.7.2

07 Mar 22:26
7caaf47

Choose a tag to compare

Other

  • update Cargo.lock dependencies