# Changelog

All notable changes to this project will be documented in this file.

## [0.3.2] - 2026-03-06

### Changed
- Sysbuild image discovery and resolution now flow through the resolved configuration, covering configured and unconfigured build layouts.
- BoM (SPDX) configuration initialization is handled during `ensure_configured`, including sysbuild image selection.

### Fixed
- Infinite config loop while configuring a fresh project with `[bom.build]` enabled.
- Incorrect error log colours.

### Tests
- Updated sysbuild image resolution and BoM configuration tests to match the new APIs and configuration flow.

## [0.3.1] - 2026-03-05

### Added
- `compile_commands.json` linking supports for sysbuild projects.

### Changed
- BoM generation configuration now runs automatically during project configuration, including sysbuild images.
- Additional compile_commands linkage tests covering sysbuild paths and default handling.
- Docs updated for sysbuild compile_commands linkage behavior.

## [0.3.0-r2] - 2026-03-05

### Added
- Cintribution guidelines
- Updated docs
- Issue templates

### Changed
- Justfile dev dependencies
- `just` install installation order (even if backlog/markdown-toc and pre-commit installation fails it still installs all cargo deps)

## [0.3.0] - 2026-03-05

### Added
- `menuconfig` command (alias `m`) with sysbuild list/image support.
- `bom` command (alias `spdx`) for SPDX BoM generation, with sysbuild list/image support.
- Zephyr workspace management commands (`workspace init/update/export/apply`) with force and no-update flags.
- Zephyr workspace config keys for workspace/base/url/manifest, including `.west` discovery and relative path handling.
- Expanded unit tests for CLI parsing, menuconfig/BoM flows, workspace behavior, config schema, logging, and exec paths.

### Fixed
- Normal verbosity no longer recolors underlying command output on failure; only kaze errors are red.
- Zephyr workspace overrides now resolve correctly when configured with relative paths.

### Changed
- CI pipeline now uploads coverage with Coveralls and handles packaging during tagged test runs.
- Docs refreshed updated with new workspace/menuconfig/BoM behavior and CLI examples.

## [0.2.1] - 2026-03-03

### Fixed
- `init` no longer requires a resolved board; defaults to `nucleo_f767zi` when not set.
- Profile order now perserved as defined in `kaze.toml` instead of having lexicological ordering.

### Changed
- README clarified config merge order, project args schema, and build layout/`compile_commands` behavior.
- README examples updated to show per-profile runners.
- Refactored app entrypoint into a testable function

### Added
- Missing unit tests for config schema, runner verbosity, cmd args merging, sysbuild image resolution and selection.

## [0.2.0] - 2026-03-01

### Added
- Sysbuild project support for configure/build/flash/run command behavior.
- Logging helpers and consistent success-completion logs for command handlers.
- Colored output: green kaze logs and red error output (including command failures).
- SimpleDots spinner during command execution at verbosity `-vv`.
- `compile_commands.json` symlink handling for profile builds (default/first profile).
- Tests covering verbosity, colored output helpers, compile_commands linking, and sysbuild flows.

### Changed
- Verbosity defaults to `-vv` (level 2) with explicit quiet/verbose behavior.
- `kaze.toml` schema uses `[project.args]` for global phase args (legacy `[args]` rejected).
- Extra argument forwarding and merge order clarified and fixed across commands.
- Build/run/flash command flow updated to prefer direct Zephyr binary when available.
- Docs updated for logging, verbosity, spinner behavior, and compile_commands linking.

## [0.1.2] - 2026-02-26

### Added
- Proper profile resolution
- `--all` arg support
- Integration tests that exercise the CLI entrypoint success and failure paths.
- Expanded unit tests for command execution, config resolution, config loading, and CLI parsing.
- Criterion benchmarks for config loading, config resolution, and command dispatch.

### Changed
- Test helpers and assertions updated to satisfy clippy checks.

## [0.1.1] - 2026-02-25

### Added
- CLI subcommands for init, boards, runners, profiles, clean, conf, build, run, and flash workflows.
- Declarative project configuration via `kaze.toml`.
- Build directory resolution with safe clean behavior.
- Zephyr workspace discovery via `ZEPHYR_BASE` or `.west` workspace detection.
- Command execution wrapper with verbosity controls and phase-specific argument passthrough.
