Changelog
All notable changes to this project will be documented in this file.
v1.1.5 (2024-03-20)
Fix
python 2.7 old class
search sdkconfig path
improve error message when env var IDF_PATH not set
v1.1.4 (2023-12-29)
Fix
stop modifying yaml dict shared by yaml anchors
v1.1.3 (2023-11-13)
Fix
pyyaml dependency for python version older than 3.5
stop recursively copy when work dir in app dir
v1.1.2 (2023-08-16)
Feat
improve logging when manifest file is invalid
skip running “idf.py reconfigure” when modified components is empty
v1.1.1 (2023-08-02)
Fix
ignore idf_size.py error
v1.1.0 (2023-07-21)
Feat
support esp_rom caps as keywords in the manifest file
v1.0.4 (2023-07-20)
Fix
stop overriding supported targets with sdkconfig file defined one for disabled app
v1.0.3 (2023-07-19)
Fix
correct final reports with skipped apps and failed built apps
skip while collecting only when both depend components and files unmatched
v1.0.2 (2023-07-05)
Feat
support placeholder “@v”
Support keyword
IDF_VERSIONin the if statement
Fix
non-ascii character
build failed with warnings even without passing
--check-warnings
v1.0.1 (2023-06-12)
Fixed
glob patterns are matched recursively
v1.0.0 (2023-05-25)
Added
Support keyword
depends_filepatternsin the manifest fileSupport expanding environment variables in the manifest files
BREAKING CHANGES
Attributes Renamed
App.requires_componentsrenamed toApp.depends_componentsFolderRule.requires_componentsrenamed toFolderRule.depends_components
Functions Renamed
Manifest.requires_components()renamed toManifest.depends_components()
Signatures Changed
App.build()App.is_modified()find_apps()build_apps()
CLI Options Renamed
--depends-on-componentsrenamed to--modified-components--depends-on-filesrenamed to--modified-files--ignore-components-dependencies-file-patternsrenamed to--ignore-app-dependencies-filepatterns
Removed the deprecated CLI call methods, now these options only support space-separated list
--exclude--config--manifest-file--ignore-warning-str--default-build-targets
v0.6.1 (2023-05-10)
Fixed
Add missing dependency
pyyaml. It’s wrongly removed in 0.6.0.
v0.6.0 (2023-05-08) (yanked)
Added
Support configuration file with
tool.idf-build-appssection underpyproject.tomlfile.idf_build_apps.tomlfile
Improve help message, include default value, config name, and config type
Improve help message, add DeprecationWarning to change the CLI call method from “specify multiple times” to “space-separated list” for the following CLI options. (will be removed in 1.0.0)
--exclude--config--manifest-file--ignore-warning-str
Support placeholder
@pfor parallel indexSupport expand placeholders for CLI options
--collect-app-infoand--collect-size-infoSupport new keywords
CONFIG_NAMEin the manifest file
Fixed
Fix earlier python version pathlib does not support member function
expanduserissueRemove unused dependency
pyyaml
Refactored
Move
utils.setup_logging()tolog.setup_logging()Make CLI option
--default-build-targetsfrom comma-separated list to space-separated list (comma-separated list support will be removed in 1.0.0)
v0.5.2 (2023-04-07)
Fixed
Remove empty expanded sdkconfig files folder after build
Split up expanded sdkconfig files folder for different build
v0.5.1 (2023-04-06)
Fixed
Build with expanded sdkconfig file would respect the target-specific one under the original path
v0.5.0 (2023-03-29)
Added
Add an executable script
idf-build-apps. Now this tool could be run viaidf-build-apps build ...instead ofpython -m idf_build_apps build ...Support specify
-DSDKCONFIG_DEFAULTSforidf.py buildvia CLI option
--sdkconfig-defaultsvia environment variable
SDKCONFIG_DEFAULTS
Fixed
CLI option
-t,--targetis required, improve the error message
v0.4.1 (2023-03-15)
Fixed
Stop writing
app_infoandsize_infoif the build got skippedIDF_VERSION_MAJOR,IDF_VERSION_MINOR,IDF_VERSION_PATCHnow are integersSkip exclude files while removing build directory if files not exist
Use log level
INFOfor ignored warningsCan’t use
andin if clauses
v0.4.0 (2023-03-09)
This is the last version to support ESP-IDF v4.1 since it’s EOL on Feb. 24th, 2023.
Added
Support new keywords
IDF_VERSION_MAJOR,IDF_VERSION_MINOR,IDF_VERSION_PATCHin the manifest fileSupport colored output by default in UNIX-like systems
Add
--no-colorCLI option
Support ignore check component dependencies based on changed files and specified file patterns
Add
--ignore-component-dependencies-file-patternsCLI optionAdd
--depends-on-filesCLI option
Fixed
Improve the readability of the generated logs
v0.3.2 (2023-03-08)
Fixed
idf.py reconfigurewithout settingIDF_TARGETwrong log level on “Loading manifest file: …”. Set from
INFOtoDEBUGwrong log level on “Building app [ID]: …”. Set from
DEBUGtoINFO
v0.3.1 (2023-02-20)
Fixed
Relative path defined in the manifest files depend on the current work path
Added
manifest_rootpathargument infind_apps(). Will use this value instead as the root folder for calculating absolute path
v0.3.0 (2023-01-10)
Added
find_apps,build_appssupport--depends-on-components, will only find or build apps that require specified componentsmanifest file support
requires_components
Fixed
Wrong
App.verified_targetswhenCONFIG_IDF_TARGETset in app’ssdkconfig.defaultsfile
v0.2.1 (2022-09-02)
Fixed
Fix
--format jsonincompatible issue for IDF branches earlier than 5.0Fix type annotations incompatible issue for python versions earlier than 3.7
Fix f-string incompatible issue for python versions earlier than 3.7
Fix unpack dictionary ending comma syntax error for python 3.4
v0.2.0 (2022-08-31)
Added
Use
--format jsoninstead of--jsonwithidf_size.py