Changelog
Copy Markdownv0.3.1 - 2026-06-26
Changed
- Artifact builds now reuse an existing clean-checkout artifact by default before running compile, assets, or
mix release. - Added
--forceto rebuild an artifact even when the existing manifest and tarball match the current checkout.
v0.3.0 - 2026-06-25
Added
- Added configurable compile policy for artifact builds, including stable-CWD incremental defaults and optional compile profiling.
- Added
:telemetryspans and optional timing summaries for build phases. - Added package cache reuse for unchanged release directories.
- Added package byte reuse across artifact version/name changes.
- Added BEAM-native uncompressed
.tarpackage output withpackage: [compression: :none]. - Added Volt incremental asset policy to skip npm install and output cleaning unless explicitly requested.
Changed
- Release assembly now runs with
--no-compilebecause ReleaseKit owns the compile phase. - Package cache fingerprinting now reuses file digests by size and mtime, mirroring Mix compiler stale checks.
- Manifest reads use safe ETF decoding after loading ReleaseKit manifest modules.
v0.2.1 - 2026-06-23
Changed
- Changed ETF manifests to store the typed
%ReleaseKit.Manifest{}contract directly. - Added
ReleaseKit.Manifest.read!/1and 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/vanillanow uses the first-class Volt asset preset.
Removed
- Removed the legacy
:prebuildartifact option. - Removed
--skip-prebuildfrommix release_kit.artifact.
v0.1.1 - 2026-06-20
Added
- Added configurable artifact prebuild steps through the
ReleaseKit.Stepbehaviour. - Added optional
ReleaseKit.Step.Volt, compiled only when:voltand:npmare available. - Added
--skip-prebuildtomix release_kit.artifact. - Added a real
examples/vanillaPhoenix/Volt application that builds withmix release_kit.artifact.
Changed
- Artifact defaults can now be configured with
config :release_kit, :artifactand 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.