# Changelog
## v0.2.1 - 2026-06-23
### Changed
- Changed ETF manifests to store the typed `%ReleaseKit.Manifest{}` contract directly.
- Added `ReleaseKit.Manifest.read!/1` and validation for typed manifest consumers.
## v0.2.0 - 2026-06-23
### Added
- Added manifest format v2 with artifact, target, build, and asset metadata.
- Added SHA-256 checksum sidecars for release tarballs.
- Added target-aware artifact and manifest naming.
- Added lifecycle steps for `:before_compile`, `:before_release`, `:after_release`, `:before_package`, and `:after_package`.
- Added first-class Volt asset presets with flat config, named profiles, multiple profiles, Tailwind, source maps, public directory, asset URL prefix, and production build toggles.
- Added validation for ReleaseKit artifact config, lifecycle steps, asset presets, Volt profile config, and target config.
### Changed
- ReleaseKit now records Volt asset metadata in the ETF manifest when Volt assets are built.
- `examples/vanilla` now uses the first-class Volt asset preset.
### Removed
- Removed the legacy `:prebuild` artifact option.
- Removed `--skip-prebuild` from `mix release_kit.artifact`.
## v0.1.1 - 2026-06-20
### Added
- Added configurable artifact prebuild steps through the `ReleaseKit.Step` behaviour.
- Added optional `ReleaseKit.Step.Volt`, compiled only when `:volt` and `:npm` are available.
- Added `--skip-prebuild` to `mix release_kit.artifact`.
- Added a real `examples/vanilla` Phoenix/Volt application that builds with `mix release_kit.artifact`.
### Changed
- Artifact defaults can now be configured with `config :release_kit, :artifact` and overridden by CLI flags.
- Documentation now focuses on end-user install, configuration, prebuild steps, and deployment boundaries.
## v0.1.0 - 2026-06-20
### Added
- Initial ReleaseKit package.
- Added OTP release tarball creation.
- Added ETF manifest generation with runtime command, environment hints, and optional HTTP health-check metadata.
- Added `mix release_kit.artifact`.