Changelog

Copy Markdown

v0.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 --force to 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 :telemetry spans 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 .tar package output with package: [compression: :none].
  • Added Volt incremental asset policy to skip npm install and output cleaning unless explicitly requested.

Changed

  • Release assembly now runs with --no-compile because 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!/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

v0.1.1 - 2026-06-20

Added

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.