Skip to content

v0.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 28 Oct 03:59
· 2 commits to main since this release
v0.3.0
884828e

kzig 0.3.0 gives the app's mode a kzig name: KZIG_ENV. Requires Zig 0.17.0. Pre-alpha: APIs will change.

Highlights

  • KZIG_ENV says how the app runs: development, test, or anything else (unset included) for production. It turns on dev_defaults, the migrations-at-boot policy, and Swagger with disable_in_prod. NODE_ENV is still read when KZIG_ENV isn't set, so KickJS .env files and deployment configs keep working; KZIG_ENV wins when both are set.
  • Process.env: inject *const kzig.Process and read .development, .@"test" or .production (dev_or_test is still there).
  • kzig new: the scaffolded Config no longer has a node_env field that defaulted to development while the app ran as production, and its tests boot with KZIG_ENV=test.
  • Releases now get their notes from scripts/release-notes.sh: hand-written highlights from .github/release-notes/<tag>.md, then the commits since the last tag. RELEASING.md documents the flow.

Changes to note when upgrading

  • kzig dev and kzig start set KZIG_ENV (to development / production) instead of NODE_ENV, and only when neither is set. If your own Config reads a node_env field, either set NODE_ENV yourself or read Process.env instead.

Features

  • KZIG_ENV says how the app runs (NODE_ENV still read when it's unset); Process.env; the scaffold's Config drops its misleading node_env

Maintenance

  • release notes from the commits since the last tag (scripts/release-notes.sh, used by the release workflow); RELEASING.md

Install

zig fetch --save git+https://github.com/forinda/kzig#v0.3.0

Prebuilt kzig CLIs for Linux (x86_64, aarch64) and macOS (x86_64, arm64) are attached, with SHA256SUMS.

Full changelog: v0.2.0...v0.3.0