kongctl Release Highlights
⚠️ Breaking Fixes
- AI Gateway manifests now require an explicit
namefield (#2096). Managed AI Gateways match bynameonly — not bydisplay_name,ref, or cached ID. The legacy incorrectname = refdefault has been removed. Existing manifests that omitnamemust set the actual Konnect API name before runningapplyorsync. Changing a gateway'snamedeclares a different resource andsyncmay trigger deletion of the old one, including its consumers and credentials.
✨ What's New
-
Persistent extension flags across subcommands (#2176). Extension flags can now be placed before or after a subcommand — both forms are equivalent:
kongctl ai --context example status kongctl ai status --context example
Supports string and boolean declarations, inherited help text, and forwarding that preserves token order, repeated values, and aliases.
-
--no-truncfor full-width text tables (#2122). Long resource names (such as Mesh dataplane names) are no longer clipped in table output. Enable with--no-trunc,text.no-truncin config, or theKONGCTL_<PROFILE>_TEXT_NO_TRUNCenvironment variable.kongctl get konnect gateway control-planes --no-trunc
-
Safe offline uninstall via the shell installer (#2177). Shell-installer users can now run
--uninstallto cleanly remove the kongctl binary. The operation is noninteractive, works offline, respects stable/preview install directories, and refuses to remove symlinks, directories, or package-manager targets.
🐛 Fixes & Improvements
-
AI Gateway cursor pagination fixed (#2096). Lists of AI Gateway consumers stopped after the first page when the API returned an opaque cursor. Plan/sync could silently recreate consumers beyond item 100. The shared pagination helper now accepts bare cursors, next-page URLs, and query-string snippets, and rejects repeated or cyclic cursors with an error instead of returning incomplete results.
-
AI Gateway vault schemas aligned with the SDK (#2187). Declarative AWS vaults incorrectly rejected valid
assume_role_arnconfiguration, and the hand-maintained schema missed fields from other vault types. Vault discovery and validation are now derived from the SDK unions — all seven vault types and all ten HashiCorp authentication branches retain their supported fields through loading, planning, execution, and dump/reload. -
Auth variants distinguished in extended explain (#2149). Extended explain output no longer merges Bedrock and SageMaker authentication fields into a single list. Each provider's credentials now appear in their own context, and `{(redacted) is shown as an accepted alternative in write-only field errors.
📚 Docs & DX
- Extension guide, learning-site lessons, and Go/script examples updated with persistent flag placement, parsing, inheritance, and compatibility rules (#2176).
- Installer help, README, and contributor notes document the new
--uninstallworkflow (#2177). - Migration guidance for the AI Gateway
namerequirement and consumer deletion consequences (#2096).
🔗 Commit References
Features
c63cb23feat(cmd): support persistent extension flags across subcommands (#2176)c4c432ffeat(installer): add safe offline uninstall support (#2177)0e0ace9feat(cmd): add no-trunc for full-width text tables (#2122)
Fixes
0076b78fix(declarative): align AI Gateway vault schemas with SDK (#2187)7b340e3fix(declarative): distinguish auth variants in extended explain (#2149)aec18c0fix(konnect): correct AI Gateway identity and cursor pagination (#2096)971bf2cfix(release): verify and recover signed draft releases by ID (#2089)6d7eb1cfix(deps): update dependency astro to v7.3.1 (#2184)4f3fd26fix(deps): update module github.com/daveshanley/vacuum to v0.30.3 (#2179)45de697fix(deps): update module github.com/mattn/go-runewidth to v0.0.29 (#2166)4e6efe2fix(deps): update module golang.org/x/sys to v0.48.0 (#2160)0fef5e3fix(deps): update dependency astro to v7.2.10 (#2159)97f84ccfix(deps): update module golang.org/x/sync to v0.23.0 (#2154)8d180effix(deps): update dependency astro to v7.2.9 (#2120)89dbc65fix(deps): update dependency astro to v7.2.8 (#2113)30bdef9fix(deps): update module github.com/daveshanley/vacuum to v0.30.1 (#2107)a936493fix(deps): update dependency astro to v7.2.7 (#2099)5288660fix(deps): update module github.com/kong/kongctl to v1.15.1 (#2091)
Other Changes
0df578cchore(deps): update dependency vitest to v5 (#2185)7ffff8dchore(deps): update dependency goreleaser/goreleaser to v2.18.0 (#2183)a5a46derefactor(declarative): reuse child validation and resource matching helpers (#2180)96a1eeerefactor(declarative): register control-plane child loading capabilities (#2174)8c9db52test(e2e): expand portal document replay coverage (#2173)a925a61test(e2e): capture scenario failures and command timings (#2172)924576ebuild(deps): bump nanoid from 3.3.16 to 3.3.19 in /site (#2169)0de9100chore(deps): update actions/deploy-pages action to v5.0.1 (#2164)17f3f78chore(deps): update docker/setup-qemu-action action to v4.3.0 (#2163)0e10371chore(deps): update github/gh-aw-actions action to v0.89.12 (#2162)e4c4696task(ci): reuse compatible Go caches on E2E dependency updates (#2156)ee2be3dchore(deps): update github/gh-aw-actions action to v0.89.9 (#2158)8556160refactor(declarative): register Event Gateway child loading capabilities (#2155)d1e1bb8chore(deps): update step-security/harden-runner action to v2.21.1 (#2151)892b1ddchore(deps): update github/gh-aw-actions action to v0.89.8 (#2153)adc0d17refactor(simplify): modernize namespace normalization (#2146)3de35ecrefactor(declarative): register API child loading capabilities (#2148)f91e18etest(e2e): enable Portal visibility replay on PRs (#2147)11c67aarefactor(declarative): register Portal child loading capabilities (#2143)8bcff66test(e2e): enable Portal sync replay on PRs (#2142)23df22arefactor(declarative): register desired namespace selection (#2141)4b56cadtest(e2e): add single-item event gateway coverage (#2140)5ced01atest(e2e): enable reviewed control plane replay on PRs (#2133)0304cc7refactor(declarative): share observation caching across all managed roots (#2139)0cfdf34test(e2e): remove a user-defined team label in org sync coverage (#2136)de7d59dchore(deps): update alpine:3 docker digest to 28bd5fe (#2138)8d140e2refactor(simplify): reuse publication records and simplify credential payloads (#2137)4cda781refactor(declarative): share Portal and API observation caching (#2130)e1710c8test(e2e): prototype isolated control-plane scenario replay (#2131)41824cdchore(ci): update the KSAI workflows for ksai/v3.42.1 (#2116)f631f8ctest(e2e): cover AI Gateway model name-only changes (#2129)e7278f0build(deps): bump svgo from 4.0.2 to 4.1.0 in /site (#2127)584e36achore(deps): update golangci-lint to v2.13.2 (#2123)7861ba3refactor(declarative): register AI Gateway child loading capabilities (#2118)811df7brefactor(declarative): retire legacy API child operations and simplify helpers (#2119)872035etask(release): schedule Homebrew cask disablement (#2117)34885e2refactor(declarative): register Portal and organization sync scope (#2108)662b953test(e2e): cover organization system account dump round trips (#2110)0a93618test(e2e): cover organization team role diffs (#2112)cf8747btest(e2e): cover DCR provider adopt namespace rejection (#2111)02a2079test(e2e): cover analytics dashboard adopt namespace overwrite (#2109)b518225refactor(declarative): register nested gateway child scopes (#2103)329d7d6refactor(declarative): register namespace and collection scope capabilities (#2102)5877b85chore(deps): update node.js to v24.20.0 (#2101)38aaca3refactor(declarative): centralize resource executor registration (#2092)b0a066dtest(e2e): activate weighted scenario sharding with rollback (#2100)d9b0c32test(e2e): report weighted shard assignments without changing live execution (#2094)290a96bchore(deps): update goreleaser/goreleaser-action action to v7 (#2088)19fa4dftask(release): add read-only Apple notarization diagnostics (#2090)
Full Changelog: v1.15.1...v1.16.0> Generated by Release · opus46 · 85.8 AIC · ⌖ 31.5 AIC · ⊞ 4.4K