Changed
- Extend the behavior of `compote manifest create` and `compote manifest add-dependency` to create a manifest file based on the context of the current working directory (context of a project or a component)
- Disable API cache by default
- Updated error message if override_path is not a folder
Added
- Add documentation for compote CLI
- Add a check for the existence of a dependency in the registry when using the `compote manifest add-dependency` command
- Add `-W | --warnings-as-errors` flag to `compote` to treat warnings as errors
- Add `-p | --path` flag to `compote manifest create` and `compote manifest add-dependency` to specify the path to the manifest file
- Add `compote manifest schema` to generate the json schema file of the `idf_component.yml`
- Add `compote cache clear` to drop system-wide cache of components and API cache
- Make file cache path configurable via `IDF_COMPONENT_CACHE_PATH` environment variable
- Add `compote cache path` command to print the path to the cache directory
- Add `compote cache size` command to print the size of the cached data
- Add `compote version` command to print the version of the component manager
- Add `IDF_COMPONENT_OVERWRITE_MANAGED_COMPONENTS` environment variable to allow overwrite files in the managed_component directory, even if they have been modified by the user
- Add documentation project for the component manager and Espressif component registry
- Treat local source dependency priority higher
- Add `--install` flag to `compote autocomplete` to create the completion files and append the sourcing code into the rc files. By default, print the completion functions to the console.
- Add `--dry-run` flag to `compote autocomplete --install` to simulate the install script.
- Add `--dry-run` flag to `compote component upload` to simulate the upload process
- Print message with the reason why the component manager desided to solve dependencies again
- Add `update-dependencies` command to `idf.py` for updating dependencies of the project
- Add manifest format reference to the documentation
- Add `compote component yank` CLI command to yank version of the component from the registry
- Show warnings from the component registry during uploading components
- Add config for ReadTheDocs
- Add `dest-dir` option to `compote component pack` command to specify the destination directory for the archive
- Add `compote registry login` CLI command to login to the component registry and store the token in the config file
Fixed
- Fix deprecation warnings not showing up in the terminal
- Fix regular expression for repository URL validation
- Stop injecting shell config files by default in `compote autocomplete`
- Prevent possible DNS spoof when `dependencies.lock` file exists and no need to be updated.
- Always add `idf` as a dependency to `dependencies.lock` file even without explict declaration.
- Fix git submodule update error when using submodule exists in the `path` field specified in the corresponding git dependency
- Fixed a bug where dependencies of the component weren't updating when local component changed
- Fix mixed slashes in paths on Windows
- Make different error messages for non-existing Version and Component
- Fixed a bug where it was required to set IDF version and target for non-IDF dependent actions
- Fix checks for targets in manifest validator, to make sure newer targets don't cause errors on older ESP-IDF versions