# asdf changelog > One version manager for every language runtime, driven by a plugin per tool. - Vendor: asdf - Category: Developer Tools - Official site: https://asdf-vm.com - Tracked by: What's New (https://whatsnew.fyi/product/asdf) - Harvested from: GitHub (asdf-vm/asdf) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## Releases ### v0.20.0 - Date: 2026-07-07 - Version: v0.20.0 - Original notes: https://github.com/asdf-vm/asdf/releases/tag/v0.20.0 - Permalink: https://whatsnew.fyi/product/asdf/releases/v0.20.0 - **added** — Add warning to asdf info output when ASDF_TOOL_VERSIONS_FILENAME value is invalid - **fixed** — Shallow clone plugin repositories for faster installs - **fixed** — Update nushell completion code so it works on latest version of nushell ##### [0.20.0](https://github.com/asdf-vm/asdf/compare/v0.19.0...v0.20.0) (2026-07-07) ###### Features * add warning to `asdf info` output when `ASDF_TOOL_VERSIONS_FILENAME` value is invalid ([#2293](https://github.com/asdf-vm/asdf/issues/2293)) ([244e513](https://github.com/asdf-vm/asdf/commit/244e513e772b764745d7dffa02541c431788f2e1)) ###### Bug Fixes * shallow clone plugin repositories for faster installs ([#2256](https://github.com/asdf-vm/asdf/issues/2256)) ([badc9db](https://github.com/asdf-vm/asdf/commit/badc9db33e7b662addb525b4f10476be1d75de60)) * update nushell completion code so it works on latest version of nushell ([#2275](https://github.com/asdf-vm/asdf/issues/2275)) ([51ebfb4](https://github.com/asdf-vm/asdf/commit/51ebfb46a47820b2e914d7c5fb228fc9496f1cf5)) ### v0.19.0 - Date: 2026-04-24 - Version: v0.19.0 - Original notes: https://github.com/asdf-vm/asdf/releases/tag/v0.19.0 - Permalink: https://whatsnew.fyi/product/asdf/releases/v0.19.0 - **added** — Do not override semver ordering during completion - **fixed** — Convert hyphens to underscores when converting plugin names to generate valid environment variables - **fixed** — Make plugin test command resolve latest version properly - **fixed** — Fix nushell completions --ignore-errors deprecation - **fixed** — Return error from repo.RemoteUrl function - **fixed** — Set ASDF_INSTALL_* environment variables for reshim command - **fixed** — Use os.PathListSeparator ##### [0.19.0](https://github.com/asdf-vm/asdf/compare/v0.18.1...v0.19.0) (2026-04-24) ###### Features * don't override semver ordering during completion ([#2263](https://github.com/asdf-vm/asdf/issues/2263)) ([aaa84d2](https://github.com/asdf-vm/asdf/commit/aaa84d2f113f4d6514038c7953ba9f1f2311523a)) ###### Bug Fixes * convert hyphens to underscores when converting plugin names to generate valid environment variables ([2ffb5b8](https://github.com/asdf-vm/asdf/commit/2ffb5b871c9339a3edbaa4fe4ffecf62a90afc81)) * make plugin test command resolve latest version properly ([1485ff4](https://github.com/asdf-vm/asdf/commit/1485ff42e7a661846c12fd8b577c72c2969a9868)) * nushell completions --ignore-errors deprecation ([#2157](https://github.com/asdf-vm/asdf/issues/2157)) ([a813610](https://github.com/asdf-vm/asdf/commit/a813610611852b963c19d90b03c66d05e9a2a7de)) * return error from repo.RemoteUrl function ([71e9567](https://github.com/asdf-vm/asdf/commit/71e9567497b5b66be1dc3e0c143a2eb5d042ffa5)) * set ASDF_INSTALL_* environment variables for reshim command ([3ec1610](https://github.com/asdf-vm/asdf/commit/3ec1610956426b4aca271edff9df6f63572108bc)) * use os.PathListSeparator ([#2195](https://github.com/asdf-vm/asdf/issues/2195)) ([d5efb1e](https://github.com/asdf-vm/asdf/commit/d5efb1edd45028f2c113a98b7a11244c08254369)) ### v0.18.1 - Date: 2026-03-04 - Version: v0.18.1 - Original notes: https://github.com/asdf-vm/asdf/releases/tag/v0.18.1 - Permalink: https://whatsnew.fyi/product/asdf/releases/v0.18.1 - **fixed** — Only show already installed versions in shell completion for the asdf set command - **fixed** — Set LANG=C for locale-dependent tests ##### [0.18.1](https://github.com/asdf-vm/asdf/compare/v0.18.0...v0.18.1) (2026-03-02) ###### Bug Fixes * Only show already installed versions in shell completion for the asdf set command ([#2172](https://github.com/asdf-vm/asdf/pull/2172)) ([c3910d7](https://github.com/asdf-vm/asdf/commit/c3910d73776980e649605205352334c09c8c85b1)) * set LANG=C for locale-dependent tests ([#2197](https://github.com/asdf-vm/asdf/issues/2197)) ([2423f6d](https://github.com/asdf-vm/asdf/commit/2423f6da496b5b1955ce9cb19d524dc0a7b88e26)) ### v0.18.0 - Date: 2025-06-07 - Version: v0.18.0 - Original notes: https://github.com/asdf-vm/asdf/releases/tag/v0.18.0 - Permalink: https://whatsnew.fyi/product/asdf/releases/v0.18.0 - **changed** — asdf list exit with status code of 0 when no versions installed - **fixed** — correct flag handling in commands run by asdf exec - **fixed** — only return version starting with number when no filter is supplied - **fixed** — print all error output to stderr when shim can't be resolved - **changed** — rename tool version filename environment variable for clarity - **changed** — upgrade urfave/cli to version 3 ##### [0.18.0](https://github.com/asdf-vm/asdf/compare/v0.17.0...v0.18.0) (2025-06-07) ###### Features * `asdf list` exit with status code of 0 when no versions installed ([#2116](https://github.com/asdf-vm/asdf/issues/2116)) ([e7d5289](https://github.com/asdf-vm/asdf/commit/e7d5289c57894ebbc0f966cb91794efd970377af)) ###### Bug Fixes * correct flag handling in commands run by `asdf exec` ([#2115](https://github.com/asdf-vm/asdf/issues/2115)) ([d6cd693](https://github.com/asdf-vm/asdf/commit/d6cd6930cff8e7159cb2f1a57b23bd0ec1faa6ac)) * only return version starting with number when no filter is supplied ([#2120](https://github.com/asdf-vm/asdf/issues/2120)) ([cf29b51](https://github.com/asdf-vm/asdf/commit/cf29b5136bbe481ae3803dbdb78086c808eeef7a)) * print all error output to stderr when shim can't be resolved ([#2109](https://github.com/asdf-vm/asdf/issues/2109)) ([c9049ea](https://github.com/asdf-vm/asdf/commit/c9049ea2fd09fc7958fb1a5a5b44e0670740465b)) * rename tool version filename environment variable for clarity ([#2101](https://github.com/asdf-vm/asdf/issues/2101)) ([e3d6014](https://github.com/asdf-vm/asdf/commit/e3d6014419296281c4156fc65a3e02bb542495a2)) * upgrade urfave/cli to version 3 ([#2105](https://github.com/asdf-vm/asdf/issues/2105)) ([392d09a](https://github.com/asdf-vm/asdf/commit/392d09a8b263a5ef18fd05f27312717bf9baa292)) ### v0.17.0 - Date: 2025-05-20 - Version: v0.17.0 - Original notes: https://github.com/asdf-vm/asdf/releases/tag/v0.17.0 - Permalink: https://whatsnew.fyi/product/asdf/releases/v0.17.0 - **added** — Add back support for shim templates resolution - **added** — Log failure to add plugin in "plugin test" - **changed** — Switch back to native git client - **fixed** — Correct intersection logic in `shims.FindExecutable` function so ordering of multiple versions is preserved - **fixed** — Correct output of install command when system or path version set - **fixed** — Ensure output always ends with a newline when printed - **fixed** — Handle tilde in env vars - **fixed** — Remove default error action from plugin command - **removed** — Remove unused ForcePrepend option from Go code - **fixed** — Set correct version for go install and make builds ##### [0.17.0](https://github.com/asdf-vm/asdf/compare/v0.16.7...v0.17.0) (2025-05-19) ###### Features * add back support for shim templates resolution ([#2076](https://github.com/asdf-vm/asdf/issues/2076)) ([a3bccea](https://github.com/asdf-vm/asdf/commit/a3bccea5c9b64bf81675efaa5c76d6eb367fd37f)) * log failure to add plugin in "plugin test" ([#2059](https://github.com/asdf-vm/asdf/issues/2059)) ([92de803](https://github.com/asdf-vm/asdf/commit/92de803ff15f1a887f031d570ae6404f008d829d)) * switch back to native git client ([#1998](https://github.com/asdf-vm/asdf/issues/1998)) ([1efa2bb](https://github.com/asdf-vm/asdf/commit/1efa2bbd04b833d0435a15bddd882beb973cfc2d)) ###### Bug Fixes * address linter warning ([67581cf](https://github.com/asdf-vm/asdf/commit/67581cf030d4eb39f261acac5e861444fedad7f6)) * correct intersection logic in `shims.FindExecutable` function so ordering of multiple versions is preserved ([#2063](https://github.com/asdf-vm/asdf/issues/2063)) ([083f20a](https://github.com/asdf-vm/asdf/commit/083f20aa3e21cad594b35972ca570eb47e389899)) * correct output of install command when system or path version set ([#2097](https://github.com/asdf-vm/asdf/issues/2097)) ([82d67e3](https://github.com/asdf-vm/asdf/commit/82d67e3242b0ac4d01cccd9712daaae574ce6eca)) * ensures output always ends with a newline when printed ([#2098](https://github.com/asdf-vm/asdf/issues/2098)) ([6f4837e](https://github.com/asdf-vm/asdf/commit/6f4837ea9b82b442fdfa78c3bb315b088e60dc9c)) * handle tilde in env vars ([#2092](https://github.com/asdf-vm/asdf/issues/2092)) ([6da599a](https://github.com/asdf-vm/asdf/commit/6da599a93ad2655c2bf061c038da330ee4413985)) * remove default error action from plugin command ([#2027](https://github.com/asdf-vm/asdf/issues/2027)) ([c376481](https://github.com/asdf-vm/asdf/commit/c376481cb4d1fa1e67dd9ef326381c07c935151d)) * remove unused ForcePrepend option from Go code ([#2089](https://github.com/asdf-vm/asdf/issues/2089)) ([49e9f33](https://github.com/asdf-vm/asdf/commit/49e9f330a719de6bd599b84c90b93e7d7358043c)) * set correct version for go install and make builds ([#2077](https://github.com/asdf-vm/asdf/issues/2077)) ([4c73527](https://github.com/asdf-vm/asdf/commit/4c73527d6323ca41d8ea9a9e78a8db49f3794d16)) ### v0.16.7 - Date: 2025-03-27 - Version: v0.16.7 - Original notes: https://github.com/asdf-vm/asdf/releases/tag/v0.16.7 - Permalink: https://whatsnew.fyi/product/asdf/releases/v0.16.7 - **fixed** — Remove comment from first line zsh completion output ##### [0.16.7](https://github.com/asdf-vm/asdf/compare/v0.16.6...v0.16.7) (2025-03-25) ###### Bug Fixes * remove comment from first line zsh completion output ([#2035](https://github.com/asdf-vm/asdf/issues/2035)) ([#2037](https://github.com/asdf-vm/asdf/issues/2037)) ([74d7b17](https://github.com/asdf-vm/asdf/commit/74d7b17a1cc9f640cf0f5134416d1cf7a56fe19f)) ### v0.16.6 - Date: 2025-03-21 - Version: v0.16.6 - Original notes: https://github.com/asdf-vm/asdf/releases/tag/v0.16.6 - Permalink: https://whatsnew.fyi/product/asdf/releases/v0.16.6 - **fixed** — Correct ASDF_INSTALL_* envvar unset test - **fixed** — Correct concurrency to align with documentation - **fixed** — Correct handling of ASDF_FORCE_PREPEND environment variable - **fixed** — Improve zsh completion suggestions - **fixed** — Remove filtering from latest-stable call - **fixed** — Remove install directory for version when install fails ##### [0.16.6](https://github.com/asdf-vm/asdf/compare/v0.16.5...v0.16.6) (2025-03-21) ###### Bug Fixes * correct ASDF_INSTALL_* envvar unset test ([#2006](https://github.com/asdf-vm/asdf/issues/2006)) ([6fbf94a](https://github.com/asdf-vm/asdf/commit/6fbf94a75b8e045eea53038182e376b21a6947e4)) * correct concurrency to align with documentation ([#2014](https://github.com/asdf-vm/asdf/issues/2014)) ([807ea38](https://github.com/asdf-vm/asdf/commit/807ea3883139da48300e72931680431aa35e593d)) * correct handling of `ASDF_FORCE_PREPEND` environment variable ([#2011](https://github.com/asdf-vm/asdf/issues/2011)) ([43a84a0](https://github.com/asdf-vm/asdf/commit/43a84a024faeacb04044c9e2cf20ccbe87ea4263)) * improve zsh completion suggestions ([#2022](https://github.com/asdf-vm/asdf/issues/2022)) ([b1cf58d](https://github.com/asdf-vm/asdf/commit/b1cf58d2bd01c1c2c3662cca6bd8927d68a37258)) * remove filtering from latest-stable call ([#2032](https://github.com/asdf-vm/asdf/issues/2032)) ([6fcdcdf](https://github.com/asdf-vm/asdf/commit/6fcdcdf6df693fec6d643fab54e2d520bd5b539b)) * remove install directory for version when install fails ([#2024](https://github.com/asdf-vm/asdf/issues/2024)) ([932ac46](https://github.com/asdf-vm/asdf/commit/932ac468b7c24c2adef90a293a1f7280a0074cc4)) ### v0.16.5 - Date: 2025-03-04 - Version: v0.16.5 - Original notes: https://github.com/asdf-vm/asdf/releases/tag/v0.16.5 - Permalink: https://whatsnew.fyi/product/asdf/releases/v0.16.5 - **fixed** — Always propagate env variables when executing commands - **fixed** — Build static binary to improve portability - **fixed** — Correct exit status when sub-command does not exist - **fixed** — Latest version returns latest version - **fixed** — Preserve files untracked by Git on plugin update - **fixed** — Set correct env vars on recursive calls - **fixed** — Simplify env vars parsing ##### [0.16.5](https://github.com/asdf-vm/asdf/compare/v0.16.4...v0.16.5) (2025-03-04) ###### Bug Fixes * always propagate env variables when executing commands ([#1982](https://github.com/asdf-vm/asdf/issues/1982)) ([80265a8](https://github.com/asdf-vm/asdf/commit/80265a8eecedc623cb8cf5cca18ae563e9d4f94c)) * build static binary to improve portability ([#1993](https://github.com/asdf-vm/asdf/issues/1993)) ([45047a6](https://github.com/asdf-vm/asdf/commit/45047a6c451599e718f996fdadbdcea3ecf683fd)) * correct exit status when sub-command does not exist ([#1991](https://github.com/asdf-vm/asdf/issues/1991)) ([3dd0dd3](https://github.com/asdf-vm/asdf/commit/3dd0dd3b475d1c4ddcb6d76248a988be5cceef51)), closes [#1928](https://github.com/asdf-vm/asdf/issues/1928) * latest version returns latest version ([#1996](https://github.com/asdf-vm/asdf/issues/1996)) ([0ceac7a](https://github.com/asdf-vm/asdf/commit/0ceac7af8c126980901caba4d8daa80900819451)) * preserve files untracked by Git on plugin update ([#1995](https://github.com/asdf-vm/asdf/issues/1995)) ([d4d8db0](https://github.com/asdf-vm/asdf/commit/d4d8db035d9f349bfed513af6976734db18e2c14)) * set correct env vars on recursive calls ([#1989](https://github.com/asdf-vm/asdf/issues/1989)) ([97a91cc](https://github.com/asdf-vm/asdf/commit/97a91cc8d01bda0896a50dff50a162e87fd61e57)) * simplify env vars parsing ([#1988](https://github.com/asdf-vm/asdf/issues/1988)) ([8990b6b](https://github.com/asdf-vm/asdf/commit/8990b6b4ae3c9754f3764289f0d7cf410815d29d)), closes [#1986](https://github.com/asdf-vm/asdf/issues/1986) ### v0.16.4 - Date: 2025-02-22 - Version: v0.16.4 - Original notes: https://github.com/asdf-vm/asdf/releases/tag/v0.16.4 - Permalink: https://whatsnew.fyi/product/asdf/releases/v0.16.4 - **fixed** — Add a newline delimiter when suggesting versions to install - **fixed** — Correct version resolution order to restore legacy file fallback behavior - **fixed** — Support environment variables with equals sign and newlines in value ##### [0.16.4](https://github.com/asdf-vm/asdf/compare/v0.16.3...v0.16.4) (2025-02-19) ###### Bug Fixes * Add a newline delimiter when suggesting versions to install ([#1972](https://github.com/asdf-vm/asdf/issues/1972)) ([38bea71](https://github.com/asdf-vm/asdf/commit/38bea7145495a53c1a6fbad0542a32a4e7937e91)) * correct version resolution order to restore legacy file fallback behavior ([#1956](https://github.com/asdf-vm/asdf/issues/1956)) ([6696d47](https://github.com/asdf-vm/asdf/commit/6696d4702937442842a3643fab31d21a7fd0208f)) * support environment variables with equals sign and newlines in value ([#1977](https://github.com/asdf-vm/asdf/issues/1977)) ([1acf082](https://github.com/asdf-vm/asdf/commit/1acf0824ccfd33f118cb7440970df9e43899a1c1)) ### v0.16.3 - Date: 2025-02-17 - Version: v0.16.3 - Original notes: https://github.com/asdf-vm/asdf/releases/tag/v0.16.3 - Permalink: https://whatsnew.fyi/product/asdf/releases/v0.16.3 - **fixed** — Add missing version command - **fixed** — Correct formatting of version in already installed error message - **fixed** — Correct typo in Upgrading to 0.16.0 documentation - **fixed** — Don't error if version already installed - **fixed** — Pass environment variables through to exec-env callback - **fixed** — Repair invalid fish shell completion code - **fixed** — Return no error from shims.RemoveAll when shims dir missing ##### [0.16.3](https://github.com/asdf-vm/asdf/compare/v0.16.2...v0.16.3) (2025-02-17) ###### Bug Fixes * add missing version command ([#1931](https://github.com/asdf-vm/asdf/issues/1931)) ([5339c41](https://github.com/asdf-vm/asdf/commit/5339c413d2fd77e971ed9b7621f0454b96fe3a0d)) * correct formatting of version in "already installed" error message ([df5e283](https://github.com/asdf-vm/asdf/commit/df5e283fb74a63faecd9ab234af1f0c24f1afdcd)) * correct typo in `Upgrading to 0.16.0` documentation ([#1938](https://github.com/asdf-vm/asdf/issues/1938)) ([7e8e5f6](https://github.com/asdf-vm/asdf/commit/7e8e5f60d13b0672e65982e21d7dc864246be8eb)) * don't error if version already installed ([06f8990](https://github.com/asdf-vm/asdf/commit/06f89907b2002db0e53b9bb2acd8ad11935f051c)) * pass environment variables through to `exec-env` callback ([9e6b559](https://github.com/asdf-vm/asdf/commit/9e6b5594080acd4208427505d9018123f1fb1f36)) * repair invalid fish shell completion code ([#1936](https://github.com/asdf-vm/asdf/issues/1936)) ([8388f99](https://github.com/asdf-vm/asdf/commit/8388f992e9be7f21313d8c8e363b43e82e44f207)) * return no error from shims.RemoveAll when shims dir missing ([#1967](https://github.com/asdf-vm/asdf/issues/1967)) ([45c31c9](https://github.com/asdf-vm/asdf/commit/45c31c9761f62a45896f6e45707a60fd0c1f4111))