## 0.6.0 - 2023-12-28

### Added

- Clyde now ships with auto-completion for Bash, Elvish, Fish, PowerShell and Zsh.

- Clyde packages can now install Fish completion using the new `${fish_comp_dir}` variable.

- When downloading from GitHub, `clydetools` now uses a GitHub token if one is set in `$CLYDE_GITHUB_TOKEN` or in `$GITHUB_TOKEN`.

- `clydetools` now has a short documentation (docs/clydetools.md).

- `clyde list` and `clyde show` can now output their results in JSON.

- The package format now supports a new type of fetcher: `ScriptFetcher`. This fetcher uses the [Boa JavaScript engine](https://boajs.dev/) to allow fetching from many different sources.

### Changed

- `clyde setup` now installs Clyde itself inside the newly created Clyde home, making initial setup simpler (#149).

- When a new version of Clyde is available, `clyde upgrade` won't install any other package than the `clyde` package, ensuring install or upgrade of packages are done with the latest version of Clyde.

- Download messages have been simplified: they no longer show the number of attempts on the first attempt.

- `clydetools fetch` now recognizes `64-Bit` and `32-Bit` as x86_64 and x86 architectures.

- `clyde upgrade` now list packages which cannot be upgraded because they are pinned.

- `clydetools fetch` does not fail anymore to extract version numbers from tags with app name prefixes.

### Deprecated

- The `$CLYDE_INST_DIR` environment variable is now deprecated. `$CLYDE_HOME` is now defined by the activation script, so one can use `$CLYDE_HOME/inst` instead.

### Fixed

- `clyde search` is now more robust: it won't fail if a package file cannot be parsed, and won't try to load the `.pre-commit-config.yaml` file as a package.
