Repository navigation
v1.1.0
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 completeconfig.tomlfiles, 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 initwrites 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 --minimalwrites it without the examples.- Comments kept when adding.
feather add,group setandtemplate setof 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). Thekjak
commands of the documents'shblocks are run, in order, against the
real command line in an empty sandbox (sendas 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 initwrites 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,linuxandwindowsstay reserved and refused.
Install
brew install magicdrive/tap/kjak # macOS, Linux; brew upgrade kjak lateror, 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 lateror 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.0Developers 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