- Added `failure_summary` function to extract actionable errors from compiler logs.
- Updated manifest to include error details when firmware build fails.
- Added unit tests to verify the functionality of the new failure summary feature.
- Added retry mechanism for transient OSS upload errors with exponential backoff.
- Updated `upload_outputs` function to utilize the new upload logic.
- Enhanced documentation to reflect the new retry behavior for OSS uploads.
- Added unit tests to verify retry functionality and error handling.
- Incremented project version from 2.4.1 to 2.4.2 in CMakeLists.txt.
- Added support for `--build-options-json` in firmware_builder.py to allow custom build options.
- Implemented validation for build options to ensure correct data types and structure.
- Updated tests to cover new build options functionality and validation logic.
- Updated Docker image in GitHub Actions workflow from `espressif/idf:v6.0.1` to `espressif/idf:release-v6.1`.
- Removed obsolete build configurations for ESP32-S31 and BluFi options.
- Enhanced `firmware_builder.py` to emit build stage markers and handle board configurations more effectively.
- Updated documentation to reflect changes in build process and configuration handling.
- Added tests to verify board display names and configuration resolution logic.
- Introduced a Dockerfile for building firmware for XiaoZhi boards.
- Added entrypoint script to initialize the environment and execute the firmware build.
- Implemented firmware_builder.py for handling the build process, including validation and artifact collection.
- Created README.md with build instructions and usage examples.
- Added test suite for firmware builder functionality.
- Included .dockerignore to exclude unnecessary files from the Docker context.