Skip to content

v2.0.0

Compare
Choose a tag to compare
@kumekay kumekay released this 12 Aug 14:41
· 128 commits to main since this release

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 and dependencies.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