Skip to content

Releases: LucasPickering/env-select

1.1.3 - 2024-02-13

13 Feb 13:45
Compare
Choose a tag to compare

Release Notes

  • Escape single quotes in variable names/values (#65)
  • Preserve quotes in command arguments passed to es run (#72)

Install env-select 1.1.3

Install prebuilt binaries via Homebrew

brew install LucasPickering/homebrew-tap/env-select

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/env-select/releases/download/v1.1.3/env-select-installer.sh | sh

Download env-select 1.1.3

File Platform Checksum
env-select-aarch64-apple-darwin.tar.xz macOS Apple Silicon checksum
env-select-x86_64-apple-darwin.tar.xz macOS Intel checksum
env-select-x86_64-pc-windows-msvc.zip Windows x64 checksum
env-select-x86_64-unknown-linux-gnu.tar.xz Linux x64 checksum

1.1.2 - 2024-02-11

11 Feb 22:57
Compare
Choose a tag to compare

Release Notes

Changed

  • Fix some typos in docs and warning messages (oops)

Install env-select 1.1.2

Install prebuilt binaries via Homebrew

brew install LucasPickering/homebrew-tap/env-select

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/env-select/releases/download/v1.1.2/env-select-installer.sh | sh

Download env-select 1.1.2

File Platform Checksum
env-select-aarch64-apple-darwin.tar.xz macOS Apple Silicon checksum
env-select-x86_64-apple-darwin.tar.xz macOS Intel checksum
env-select-x86_64-pc-windows-msvc.zip Windows x64 checksum
env-select-x86_64-unknown-linux-gnu.tar.xz Linux x64 checksum

1.1.1 - 2024-02-11

11 Feb 22:17
Compare
Choose a tag to compare

Release Notes

Changed

  • es set subcommand no longer requires --source-file arg
    • The intention is to make the command useful even without the wrapping function (and to provide helpful hint output)
  • Rename binary from env-select to es
    • I'm not considering this a breaking change, because running the binary directly was not considered a supported use case.

Install env-select 1.1.1

Install prebuilt binaries via Homebrew

brew install LucasPickering/homebrew-tap/env-select

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/env-select/releases/download/v1.1.1/env-select-installer.sh | sh

Download env-select 1.1.1

File Platform Checksum
env-select-aarch64-apple-darwin.tar.xz macOS Apple Silicon checksum
env-select-x86_64-apple-darwin.tar.xz macOS Intel checksum
env-select-x86_64-pc-windows-msvc.zip Windows x64 checksum
env-select-x86_64-unknown-linux-gnu.tar.xz Linux x64 checksum

1.1.0 - 2024-02-09

09 Feb 01:34
Compare
Choose a tag to compare

Release Notes

Added

  • Pass a list of strings to multiple to filter which values are loaded from a mapping

Changed

  • Resolve values in parallel
    • This means profile resolution will only take as long as the slowest step, rather than the sum of all steps

Install env-select 1.1.0

Install prebuilt binaries via Homebrew

brew install LucasPickering/homebrew-tap/env-select

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/env-select/releases/download/v1.1.0/env-select-installer.sh | sh

Download env-select 1.1.0

File Platform Checksum
env-select-aarch64-apple-darwin.tar.xz macOS Apple Silicon checksum
env-select-x86_64-apple-darwin.tar.xz macOS Intel checksum
env-select-x86_64-pc-windows-msvc.zip Windows x64 checksum
env-select-x86_64-unknown-linux-gnu.tar.xz Linux x64 checksum

1.0.0 - 2024-02-02

02 Feb 01:01
Compare
Choose a tag to compare

Release Notes

Added

Changed

  • Use es instead of env-select in CLI help output
  • es show config now accepts optional arguments to print for a single application or profile

Install env-select 1.0.0

Install prebuilt binaries via Homebrew

brew install LucasPickering/homebrew-tap/env-select

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/env-select/releases/download/v1.0.0/env-select-installer.sh | sh

Download env-select 1.0.0

File Platform Checksum
env-select-aarch64-apple-darwin.tar.xz macOS Apple Silicon checksum
env-select-x86_64-apple-darwin.tar.xz macOS Intel checksum
env-select-x86_64-pc-windows-msvc.zip Windows x64 checksum
env-select-x86_64-unknown-linux-gnu.tar.xz Linux x64 checksum

v0.11.0

24 Aug 17:12
Compare
Choose a tag to compare

Breaking Changes

  • Remove the concept of native commands
    • The command value source is effectively gone, and the shell value source type has to renamed to command to replace the old one
      • In other words, the shell type is gone and the command field for the command type now takes a string instead of a string[]
    • Side effects can now only be shell commands (string literals)
    • This is to reduce the overall complexity of the tool. I don't thi
      nk there's a strong use case for native commands, where you can't just use shell commands

New Features

  • Add cwd option to command value source type, to force the command to execute in a particular directory
  • Modifications to the PATH variable will be prepended to the existing value, rather than replacing it
    • This special behavior is based on the variable name, and only applies to PATH

v0.10.0

15 Aug 13:15
Compare
Choose a tag to compare

Breaking Changes

  • Cascading config files are now only merged down to the profile level

New Features

  • Added side effects. See usage docs for more. Imperative environment configuration!

Other

  • Sourceable output from es set is now written to a temporary file instead of stdout. This difference is handled by the shell functions, so no change to behavior for users

v0.9.0

31 Jul 20:18
Compare
Choose a tag to compare

Breaking Changes

  • es show is now broken into sub-subcommands: es show config and es show shell
  • Unknown keys in config will now be rejected

New Features

  • Add --run-in-shell flag to es run
  • es run and es set no longer require an application name in the command; if not given, they will prompt, the same way they prompt for profile name

Other

  • Provide more context if the subprocess in es run fails

v0.8.0

18 Jul 13:13
Compare
Choose a tag to compare

New Features

  • Load multiple values from a single source with the multiple flag
    • Supported for all value source types
  • file value source, which loads value(s) from a file path (combine with multiple = true for maximum fun!)
  • Support non-string primitives for simple literal values
    • E.g. VARIABLE1 = 123 or VARIABLE2 = false
    • These values will simply be stringified before export, since shells only understand strings anyway

Other

  • Improve test coverage!

v0.7.0

13 Jul 10:55
Compare
Choose a tag to compare

This should be the last release with major breaking changes. The config layout has changed dramatically in order to support planned (and unplanned) future features.

Breaking Changes

  • Removed vars config section. You can no longer provide mappings for single variables. Instead, define a set of profiles with single variables
    • This feature didn't provide any additional functionality, it was just a slight convenience at the cost of complexity both for users and code
  • Restructured profile config:
    • Renamed apps field to applications
    • Add new profiles and variables subfields
    • Overall, this means apps.app1.profile1.VARIABLE1 will now be applications.app1.profiles.profile1.variables.VARIABLE1
    • This is more tedious, but allows for current and future features to fit into the config

New Features

  • Profile inheritance - profiles can now extend other profiles, eliminating the need to copy-paste a bunch of common content between profiles

Other

  • es shell function definitions now use the full path to the env-select binary rather than relying on PATH
    • This eliminates the need to add env-select to the PATH, and also guarantees that the copy of env-select that is being executed by es is the one that generated that es definition in the first place