env-select

v0.6.0

v0.6.0 Jul 8 2023 at 10:48 UTC

I tried to fit all the foreseeable breaking changes into this release, there may be some more though.

Breaking Changes

  • Complex value sources (i.e. anything other than a simple string) now require the type field. E.g. type = "literal" or type = "command"
    • As value sources get more intricate, options start to collide. This field makes it easy to disambiguate between source types, which allows them to have overlapping option names
  • Rename --shell-path option back to --shell, and it once again only requires a shell name, rather than a full path
    • The full path for the shell will be grabbed via the which command now. This means whatever shell you use must be in your PATH
  • Rename command value source type to shell
    • The old command name is now used for commands that are executed natively

New Features

  • Add run subcommand, for one-off environment usage
    • This runs a single command in the configured environment, rather than modifying the shell environment. Similar to kubectl exec or poetry run
  • Add command value source type, which accepts an array of strings and executes a command natively, rather than via the shell
  • Add kubernetes value source type, which executes a command in a kubernetes pod via kubectl
  • Support complex literal values, enabling the sensitive option for literals
    • This option probably isn't that useful, but now the field is supported globally
  • Add a third level of verbosity (-vvv) to enable more granularity in log filtering

Other

  • Fix macOS x86 build in CI (the binary will appear on releases now)
  • Add a bunch of tests