NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Go modules
Last release 1 months ago
28 Aug 2026
Release timing varies
gaps range from 8 days to 2 months
Rarely documented
notes for 10 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
315 releases · first in 2018
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
One column per quarter.
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
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
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
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
Your coding agent can read these notes before it upgrades. Set up the MCP server →