Skip to content

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 30 Oct 15:01
Immutable release. Only release title and notes can be modified.
5c51124

kjak v1.1.0

kjak sends one notification to Slack, Discord, e-mail, any HTTP API or a
plugin of your own, from the command line, a script or CI. v1.1.0 is about
getting started: a tutorial for every feather in English and Japanese,
complete configuration examples, a self-documenting kjak config init, and
configuration changes that keep your comments when they only add. It is a
minor release: everything v1.0.0 guarantees
(docs/stability.md)
is kept.

Highlights

  • Tutorials for every feather, in English and Japanese: Discord, Slack,
    Gmail, any SMTP server, HTTP APIs and plugins, from the setup on the
    service to a first notification, with complete config.toml files, the
    command line, secrets, troubleshooting and security notes
    (docs/tutorials).
    The plugin tutorial comes with a small working plugin,
    kjak-feather-log.
  • Configuration examples: complete files for one feather, several,
    groups, templates and secrets files
    (docs/examples).
  • kjak config init writes a catalog: the same configuration as before
    (no feather), followed by a commented example of every feather, group,
    template and default, each feather linked to its tutorial. kjak config init --minimal writes it without the examples.
  • Comments kept when adding. feather add, group set and template set of a new name append to the file and keep its comments and layout.
    Other changes still rewrite it, and now say so when that drops comments
    (kjak: note: FILE was rewritten without its comments).
  • Documentation checked in CI. The example files and the TOML blocks of
    the tutorials, the getting started guides and the READMEs are parsed and
    validated (the TOML of the other documents is parsed). The kjak
    commands of the documents' sh blocks are run, in order, against the
    real command line in an empty sandbox (send as a dry run): an unknown
    command, flag, level, type or a value of the wrong form fails the build;
    lines with shell substitutions or redirections, and commands that read
    standard input, are left out. Links are checked, and a feather type
    without a tutorial in both languages, or without an example, fails the
    build.

Compatibility

  • New: the flag kjak config init --minimal. Nothing is removed or
    changed in meaning.
  • kjak config init writes a longer file; its configuration is the same as
    v1.0.0's (tested). The text of the file is not part of the contract.
  • A file that only gets a new feather, group or template is appended to
    instead of rewritten; what it contains reads back exactly as a rewrite
    would (kjak checks, and rewrites otherwise).
  • OS-native notifications are still not supported: the type names os,
    native, macos, linux and windows stay reserved and refused.

Install

brew install magicdrive/tap/kjak            # macOS, Linux; brew upgrade kjak later

or, without Homebrew, on macOS and Linux:

curl -fsSLO https://raw.githubusercontent.com/magicdrive/kjak/v1.1.0/install.sh
sh install.sh --version v1.1.0              # into ~/.local/bin; sh install.sh --upgrade later

or the archive of your platform below, checked with kjak_checksums.txt
and, optionally, its build provenance:

gh attestation verify kjak_1.1.0_linux_amd64.tar.gz --repo magicdrive/kjak \
  --signer-workflow magicdrive/kjak/.github/workflows/release.yml --source-ref refs/tags/v1.1.0

Developers can build from source with Go 1.27 (make build, or
go install github.com/magicdrive/kjak@v1.1.0).

Platforms

platform archive
macOS arm64, amd64 tar.gz; Homebrew, install script
Linux amd64, arm64 tar.gz; Homebrew, install script
Windows amd64 zip

The notes of v1.0.0 on keychains, secrets-file permissions and plugins per
platform still apply.

Known limitations

  • OS-native notifications are not supported (a later version).
  • Windows has no keychain support. On macOS and Linux the keychain tools
    are tested as test doubles, not against a real keychain.
  • Changes other than adding a feather, group or template rewrite the
    configuration file without its comments.
  • Plugins are not sandboxed: they run with your rights.
  • The macOS binaries are not notarized.

Full Changelog: v1.0.0...v1.1.0