# Changelog ## 0.7.5-dev ## 0.7.4 Features * Add quite flag to git clone (#546) * Improve docs for Homebrew (#553, #554) Fixed Bugs * Don't include the current directory in `PATH` variable in `asdf env` environment (#543, #560) * Fix `asdf plugin-test` dependency on Git when installed via Homebrew (#509, #556) ## 0.7.3 Features * Make `asdf install` check for versions in legacy files (#533, #539) Fixed Bugs * Address shellcheck warning and use shell globbing instead of `ls` (#525) ## 0.7.2 Features * Add unit tests for untested code in asdf.sh and asdf.fish (#286, #507, #508) * Switched to a maintained version of BATS (#521) Fixed Bugs * Don't iterate on output of `ls` (#513) * Check shims for full tool version so adding new versions to a shim works properly (#517, #524) ## 0.7.1 Features * Add mksh support * Add documentation about using multiple versions of the same plugin * Remove post_COMMAND hooks * Add `asdf shell` command to set a version for the current shell (#480) * Ignore comments in .tool-versions (#498, #504) Fixed Bugs * Avoid modifying `fish_user_paths` * Restore support for legacy file version (#484) * Restore support for multiple versions * Fix bug when trying to locate shim (#488) * Run executable using `exec` (#502) ## 0.7.0 Features * Shims can be invoked directly via `asdf exec [args...]` without requiring to have all shims on path (#374). * New `asdf env ` can be used to print or execute with the env that would be used to execute a shim. (#435) * Configurable command hooks from `.asdfrc` (#432, #434) Suppose a `foo` plugin is installed and provides a `bar` executable, The following hooks will be executed when set: ```shell pre_asdf_install_foo = echo will install foo version ${1} post_asdf_install_foo = echo installed foo version ${1} pre_asdf_reshim_foo = echo will reshim foo version ${1} post_asdf_reshim_foo = echo reshimmed foo version ${1} pre_foo_bar = echo about to execute command bar from foo with args: ${@} post_foo_bar = echo just executed command bar from foo with args: ${@} pre_asdf_uninstall_foo = echo will remove foo version ${1} post_asdf_uninstall_foo = echo removed foo version ${1} ``` * New shim version meta-data allows shims to not depend on a particular plugin nor on its relative executable path (#431) Upgrading requires shim re-generation and should happen automatically by `asdf-exec`: `rm -rf ~/.asdf/shims/` followed by `asdf reshim` * Added lots of tests for shim execution. We now make sure that shim execution obeys plugins hooks like `list-bin-paths` and `exec-path`. * Shims now are thin wrappers around `asdf exec` that might be faster for most common use case: (versions on local .tool-versions file) but fallbacks to slower `get_preset_version_for` which takes legacy formats into account. * Shim exec recommends which plugins or versions to set when command is not found. * `asdf reshim` without arguments now reshims all installed plugins (#407) * Add `asdf shim-versions ` to list on which plugins and versions is a command available. (#380, #433) * Add documentation on installing dependencies via Spack (#471) Fixed Bugs * Fix `update` command so it doesn't crash when used on Brew installations (#429, #474, #439, #436) ## 0.6.3 Features * Make `which` command work with any binary included in a plugin installation (#205, #382) * Add documentation for documentation website (#274, #396, #422, #423, #427, #430) Fixed Bugs * Silence errors during tab completion (#404) * Remove unused asdf shims directory from `PATH` (#408) * Fix issues with update command that prevented updates for installations in custom locations (#411) * Fix shellcheck warnings on OSX (#416) * Add tests for versions set by environment variables (#417, #327) * Continue `list` output even when version is not found (#419) * Fixed user paths for fish (#420, #421) * Custom exec path tests (#324, #424) ## 0.6.2 Fixed Bugs * Fix `system` logic so shims directory is removed from `PATH` properly (#402, #406) * Support `.tool-versions` files that don't end in a newline (#403) ## 0.6.1 Features * Make `where` command default to current version (#389) * Optimize code for listing all plugins (#388) * Document `$TRAVIS_BUILD_DIR` in the plugin guide (#386) * Add `--asdf-tool-version` flag to plugin-test command (#381) * Add `-p` flag to `local` command (#377) Fixed Bugs * Fix behavior of `current` command when multiple versions are set (#401) * Fix fish shell init code (#392) * Fix `plugin-test` command (#379) * Add space before parenthesis in `current` command output (#371) ## 0.6.0 Features * Add support for `ASDF_DATA_DIR` environment variable (#275, #335, #361, #364, #365) Fixed Bugs * Fix `asdf current` so it works when no versions are installed (#368, #353) * Don't try to install system version (#369, #351) * Make `resolve_symlink` function work with relative symlinks (#370, #366) * Fix version changing code so it preserves symlinks (#329, #337) * Fix ShellCheck warnings (#336) ## 0.5.1 Features * Better formatting for `asdf list` output (#330, #331) Fixed Bugs * Correct environment variable name used for version lookup (#319, #326 #328) * Remove unnecessary `cd` in `asdf.sh` (#333, #334) * Correct Fish shell load script (#340) ## 0.5.0 Features * Changed exit codes for shims so we use codes with special meanings when possible (#305, #310) * Include plugin name in error message if plugin doesn't exist (#315) * Add support for custom executable paths (#314) * `asdf list` with no arguments should list all installed versions of all plugins (#311) Fixed Bugs * Print "No version set" message to stderr (#309) * Fix check for asdf directories in path for Fish shell (#306) ## 0.4.3 Features * Suggest action when no version is set (#291, #293) Fixed Bugs * Fix issue with asdf not always being added to beginning of `$PATH` (#288, #303, #304) * Fix incorrect `ASDF_CONFIG_FILE` environment variable name (#300) * Fix `asdf current` so it shows environment variables that are setting versions (#292, 294) ## 0.4.2 Features * Add support for `ASDF_DEFAULT_TOOL_VERSIONS_FILENAME` environment variable (#201, #228) * Only add asdf to `PATH` once (#261, #271) * Add `--urls` flag to `plugin-list` commands (#273) Fixed Bugs * Incorrect `grep` command caused version command to look at the wrong tool when reporting the version (#262) ## 0.4.1 Features * `asdf install` will also search for `.tool-versions` in parent directories (#237) Fixed Bugs * bad use of `sed` caused shims and `.tool-versions` to be duplicated with `-e` (#242, #250) * `asdf list` now outputs ref-versions as used on `.tool-versions` file (#243) * `asdf update` will explicitly use the `origin` remote when updating tags (#231) * All code is now linted by shellcheck (#223) * Add test to fail builds if banned commands are found (#251) ## 0.4.0 Features * Add CONTRIBUTING guidelines and GitHub issue and pull request templates (#217) * Add `plugin-list-all` command to list plugins from asdf-plugins repo. (#221) * `asdf current` shows all current tool versions when given no args (#219) * Add asdf-plugin-version metadata to shims (#212) * Add release.sh script to automate release of new versions (#220) Fixed Bugs * Allow spaces on path containing the `.tool-versions` file (#224) * Fixed bug in `--version` functionality so it works regardless of how asdf was installed (#198) ## 0.3.0 Features * Add `update` command to make it easier to update asdf to the latest release (#172, #180) * Add support for `system` version to allow passthrough to system installed tools (#55, #182) Fixed Bugs * Set `GREP_OPTIONS` and `GREP_COLORS` variables in util.sh so grep is always invoked with the correct settings (#170) * Export `ASDF_DIR` variable so the Zsh plugin can locate asdf if it's in a custom location (#156) * Don't add execute permission to files in a plugin's bin directory when adding the plugin (#124, #138, #154) ## 0.2.1 Features * Determine global tool version even when used outside of home directory (#106) Fixed Bugs * Correct reading of `ref:` and `path:` versions (#112) * Remove shims when uninstalling a version or removing a plugin (#122, #123, #125, #128, #131) * Add a helpful error message to the install command (#135) ## 0.2.0 Features * Improve plugin API for legacy file support (#87) * Unify `asdf local` and `asdf global` version getters as `asdf current` (#83) * Rename `asdf which` to `asdf current` (#78) Fixed Bugs * Fix bug that caused the `local` command to crash when the directory contains whitespace (#90) * Misc typo corrections (#93, #99) ## 0.1.0 * First tagged release