Skip to content

3.8.0

Choose a tag to compare

@github-actions github-actions released this 12 Nov 16:09

Added

  • Bun support: kool create bunjs my-app, Bun package-manager choices across the JavaScript/PHP framework presets, and Bun runtime configurations for supported JavaScript presets. AdonisJS on Bun remains experimental. PHP application services continue running on PHP. #540 by @FelipeEstevanatto
  • PHP 8.4 and 8.5 options in the PHP project wizards. Existing PHP defaults are unchanged. #540
  • Java and Spring Boot presets: kool create java my-app and kool create spring-boot my-app, using official Gradle images with Java 17, 21, and 25. Includes database/cache choices and Spring Initializr-backed language, Java-version, and dependency selection. #542 by @fbrissi
  • Non-interactive preset automation: repeatable --answer REF=value (-a) and --no-interaction (-n) on kool create and kool preset, plus input, API selection, and replacement actions. #542
  • Machine-readable output: --output json for status, info, script listings/errors, and JSON Lines logs, including log following. For example, kool --output json status or kool --output json run. The legacy kool run --json flag remains supported but is hidden. Executed scripts still emit their raw output. #536 by @danielsuguimoto
  • Container user selection: kool docker --user UID[:GID], including support for images that do not implement Kool's ASUSER convention. #540

Fixed and changed

  • Normalize project-creation paths so absolute and nested destinations are written to the host bind mount.
  • Ignore Compose warning noise when discovering service names and container IDs, and stop adding obsolete Compose version: attributes to new configurations.
  • Define Java Compose networks, validate supported Java versions, and support standalone Java preset installation.
  • Safely pass Spring application inputs through container environment variables and make Gradle initialization non-interactive.
  • Fix the MongoDB recipe's missing volume declaration and update its health check to mongosh.
  • Keep JSON status ordering deterministic, handle empty service lists, preserve parser errors, and avoid duplicate JSON error diagnostics.
  • Handle long log lines without truncating or hanging; keep Compose warnings out of JSON log data and preserve normal terminal diagnostic behavior.
  • Refresh generated command-reference documentation.

Validation and downloads

  • Release-guide documentation generation, formatting, lint, and race-enabled tests passed.
  • Java 17/21/25 project workflows and Spring Boot Java/Kotlin build and health checks passed. All database choices were checked for valid generated Compose configuration.
  • Attached below: six standalone binaries for macOS (amd64/arm64) and Linux (amd64/arm64/ARMv6/ARMv7), each with a SHA-256 checksum. Binaries were built with Go 1.26.9.
  • Docker images are published as kooldev/kool:3.8.0 and kooldev/kool:3; both were pulled and verified to report version 3.8.0.
  • Upgrade with kool self-update, or download the matching binary below. Existing projects do not need to regenerate their presets.
  • An isolated self-update from 3.7.1 to 3.8.0 was verified against the published release and checksums.

Known issue

The Docker image's security scan still reports deferred critical findings. This release does not fix or suppress those findings; see the scan result. The bundled Docker tooling and Alpine packages are not included in the standalone binaries attached below.

Full changelog: 3.7.1...3.8.0