NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Go modules, #574 by repository stars
Latest stable
v1.17.0
Last release 16 days ago
30 Oct 2026
Release timing varies
gaps range from 8 days to 2 months
Rarely documented
notes for 11 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
326 releases · first in 2018
Drag across the ruler to compare, or tap a release to open it.
When a command has a default:"withargs" child, Kong offers the default command's flags while parsing the parent's own tokens. A flag given before an e
When a command has a default:"withargs" child, Kong offers the default
command's flags while parsing the parent's own tokens. A flag given
before an explicitly named sibling command was therefore parsed into the
default command's flag. The sibling was then selected, the default
command never ran, and the value was silently dropped. In block/spectre
this made spectre divergences --server-url=X clear act on the default
server instead of X.
var cli struct {
Divergences struct {
List ListCmd `cmd:"" default:"withargs"`
Clear ClearCmd `cmd:""`
} `cmd:""`
}Now, when trace selects a child other than the withargs default
(either a command or a branching argument), it checks whether any flag
owned by the default command was already parsed, and fails with an error
such as:
flag --server-url applies to the default command "list", not "clear"
The value is not moved to a same-named flag on the selected sibling,
because the two flags may differ in type or meaning.
Behaviour that is unchanged and covered by the new table-driven test
next to the existing withargs tests:
divergences --server-url=X still runs list with X.divergences list --server-url=X, divergences --server-url=X list,divergences clear --server-url=X still work.🤖 Generated with Claude Code
Co-authored-by: Claude Opus 5.5 noreply@anthropic.com
Your coding agent can read these notes before it upgrades. Set up the MCP server →
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
DefaultEnvars cleared Flag.Envs for env:"-" but left the marker in Value.Tag.Envs , which help formatting uses. Clear both representations and cover t
Fixes #636.
DefaultEnvars cleared Flag.Envs for env:"-" but left the marker in
Value.Tag.Envs, which help formatting uses. Clear both representations
and cover the generated help with a regression test.
Tests:
go test ./... -run '^TestDisabledDefaultEnvarAutoHelp$' -count=1go test ./... -run 'EnvarAutoHelp|^TestEnv$|^TestEnvars' -count=1go test ./...golangci-lint run --new-from-rev=HEADNothing published for this version
Nothing published for this version
When a resolver returns an integer for a float32 / float64 flag, floatDecoder handled the integer case with target.Set(reflect.ValueOf(v)) . Since an
When a resolver returns an integer for a float32/float64 flag,
floatDecoder handled the integer case with
target.Set(reflect.ValueOf(v)). Since an int is not assignable to a
float field, this panics and crashes the whole program:
panic: reflect.Set: value of type int is not assignable to type float64
This is easy to hit because resolvers return any and typed config
sources commonly yield integers for numeric fields.
var cli struct {
Rate float64
}
resolver := kong.ResolverFunc(func(_ *kong.Context, _ *kong.Path, flag *kong.Flag) (any, error) {
if flag.Name == "rate" {
return 5, nil // int, not float
}
return nil, nil
})
kong.Must(&cli, kong.Resolvers(resolver)).Parse(nil) // panicsConvert the integer to a float and use SetFloat, matching the other
branches in floatDecoder and the existing pattern in
durationDecoder. The default branch error message was also a copy
from intDecoder ("expected an int") and is corrected to "expected a
float".
Added a regression test (TestResolverWithFloatFromInt) that panics
before the change and passes after. Full suite passes.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
fix: Allow the root node to define Help()
fix: Allow the root node to define Help() (#593)
Thanks to @cmilesdev for the first pass in #579 !
Thanks to @cmilesdev for the first pass in #579!
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
feat: expose ValueFormatter option through HelpOptions for custom Hel…
feat: expose ValueFormatter option through HelpOptions for custom Hel…
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Commands can be dispatched via string, so this is not necessary to constitute a command.
Commands can be dispatched via string, so this is not necessary to constitute a command.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Update license of levenshtein method
Update license of levenshtein method (#539)
Nothing published for this version
Nothing published for this version
This allows for eg. foo --number -10 , foo --flag -bar .
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
feat: Allow configuring global hooks via Kong's functional options (#…
feat: Allow configuring global hooks via Kong's functional options (#…
Nothing published for this version
Nothing published for this version
Nothing published for this version
Reinstated use of ParseError for all error paths so as to retain existing semantics.
Reinstated use of ParseError for all error paths so as to retain existing semantics.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.