v2.0.0
v2.0.0 (2024-08-12)
https://pypi.org/project/idf-component-manager/2.0.0/
Some noticeable changes:
- Major refactoring of parsers of
idf_component.yml
anddependencies.lock
files. Error messages are more precise and helpful now. - Better support for environment variables. You can use conditions in
if
rules - Hash sum of the component is checked only when component is downloaded. The old strict behavior can be enabled with IDF_COMPONENT_STRICT_CHECKSUM env variable.
- All environment variables now have prefix
IDF_COMPONENT_
- Drop support of python 2.7 and IDF 4.*
Feat
- drop support of root level
commit_sha
in the manifest file - Add more descriptive error message for authentication
- compare .component_hash by default, support optionally strict checksum
- Make environment variables in if rules required to have a value
- Revoke token on logout CLI command
- Use compote CLI when executed as module
- support debug mode by setting env var IDF_COMPONENT_MANAGER_DEBUG_MODE
- use current solution while changing target or idf version if it works
- Drop support of Python 2.7
- remove redundant option --namespace from component pack CLI
Fix
- pack and upload components without manifests
- Fix login command with non-existing directory
- union of constraints of unequal clauses
- Wrong version returned by
compote version
- Add upload mode to the pack_component
- optional dependencies always skipped when "version" undefined
- skip optional dependencies while solving dependencies
- api response string could be empty
- revert name slug re changes
- correct error message when manifest file is not a dict
- docs: fix render of '--'
- support env var in git source fields
git
,path
- support env var in local source fields
path
,override_path
- assume false when exceptions raised in if clause
- reset version solver states when the old solution not working
- test_check_for_newer_component_versions wrong component_hash
- store download_url only in storage client
- cleanup dependencies, lift version restrictions
- Consistent naming convention for ESP Component Registry
- local components in lock file not exist
- re-trigger version solver when optional dependency now meet conditions
- skip the optional dependencies while version solving
- Fix 'default' profile not loading from the config file
- Invalid component name on upload
- Handle missing files/broken symlinks when calculating hash
Refactor
- unify env var with pydantic-settings
- rename service_url to registry_url in manifest files
- remove api cache with file
- remove poetry and do project cleanup
- rewrite with pydantic
- Change comment types to regular ones
- Replace format() with f-strings