Releases: Kong/kongctl
v0.8.0
kongctl Release Highlights
v0.8.0 is a feature-rich release that brings Event Gateway to general availability, introduces powerful new declarative configuration capabilities, adds two new CLI verbs, and delivers a wave of dependency and reliability improvements.
⚠️ Behavior Changes
--authorizationis now required forlistenandtail audit-logscommands (#718). If you rely on these commands in scripts, update them to supply the flag explicitly.
✨ What's New
🚀 Event Gateway — Now Generally Available
Event Gateway support has graduated from a feature-flag preview to GA. The --event-gateway flag has been removed; all Event Gateway resources are now available by default. This release completes the full policy surface:
| Resource | PR |
|---|---|
| Cluster policy | #556 |
| Produce policy | #702 |
| Consume policy | #758 |
| Schema registry | #787 |
| Static keys | #803 |
| TLS trust bundles | #830 |
🔑 DCR Provider Resource Support
Dynamic Client Registration (DCR) provider resources are now manageable through kongctl declarative configuration (#795).
🌍 !env YAML Tag for Declarative Configuration
Declarative YAML files now support the !env tag to inject environment variable values at plan/apply time, keeping secrets out of source control (#690):
api_key: !env MY_API_KEY📖 New explain and scaffold Verbs
Two new CLI top-level verbs make it easier to discover and bootstrap resources:
# Show what fields a resource type supports
kongctl explain konnect apis
# Generate a starter declarative YAML scaffold
kongctl scaffold konnect api my-api(#588)
🐛 Fixes & Improvements
- Fixed
kongctl viewhang —kongctl viewno longer hangs on certain terminal environments (#704). - Null API attribute clears — Re-applying a declarative config that explicitly clears (nulls) an API attribute now converges correctly instead of drifting (#797).
- Child resource protection inheritance — Child resources now correctly inherit deletion-protection from their parent resources (#584).
- Security dependency updates —
golang.org/x/netbumped to v0.51.0 andgithub.com/buger/jsonparserto v1.1.2 to address known CVEs. - SDK Konnect Go updated to v0.31.0 with latest API coverage (#766, #837).
🙏 Contributors
Thanks to everyone who contributed to this release:
@harshadixit12— Event Gateway GA features (cluster/produce/consume policies, schema registry, static keys, TLS trust bundles)@rspurgeon— DCR Provider,!envtag,explain/scaffoldverbs, fixes, test infrastructure, and overall release coordination
🔗 Commit References
Features
ef11593Feat/event gateway cluster policy (#556)d4f2577Feat: addedexplainandscaffoldverbs (#588)c4f0523Feat: add!envyaml tag support (#690)9a95e35Feat: Event Gateway produce policy (#702)71cafcaFeat: event gateway consume policy (#758)b28be54Feat: Event gateway schema registry (#787)973245fFeat: Adds DCR Provider resource support (#795)70644ddfeat: event gateway static keys (#803)b524561feat: event gateway tls trust bundles (#830)2c632bcfeat: remove event gateway flag (#831)
Fixes
268bca7fix(deps): update module github.com/oapi-codegen/runtime to v1.2.0 (#562)2ccb481fix(deps): update module github.com/oapi-codegen/oapi-codegen/v2 to v2.6.0 (#563)a86946cfix(deps): update module github.com/daveshanley/vacuum to v0.24.0 (#569)395edacfix(deps): update module golang.org/x/net to v0.51.0 [security] (#571)88875c2fix(deps): update module github.com/mattn/go-runewidth to v0.0.21 (#625)4daa381fix(deps): update module github.com/buger/jsonparser to v1.1.2 [security] (#628)34e5f70fix(deps): update module github.com/daveshanley/vacuum to v0.25.0 (#653)f503a0afix(deps): update module github.com/charmbracelet/colorprofile to v0.4.3 (#648)e6b3468fix(deps): update module golang.org/x/term to v0.41.0 (#649)0374cfafix(deps): update module golang.org/x/text to v0.35.0 (#651)2431483fix(deps): update module github.com/daveshanley/vacuum to v0.25.1 (#675)bb67b38fix(deps): update module github.com/daveshanley/vacuum to v0.25.2 (#691)73a9e2afix(deps): update module github.com/oapi-codegen/runtime to v1.3.0 (#703)2e1bf5cFix:kongctl viewhang issue (#704)f5a39eaFix: inherit protection for child resources (#584)b7787d4Fix: Further tuning of e2e resets (#640)52d66f8Test: Various fixes to networking client centered around e2e testing (#623)448ba68fix(deps): Upgrades to sdk-konnect-go 0.30.0 (#766)46b00bafix(deps): update module github.com/lucasb-eyer/go-colorful to v1.4.0 (#778)69245effix(deps): update module golang.org/x/sys to v0.43.0 (#776)16c60cafix(deps): update module charm.land/bubbles/v2 to v2.1.0 (#761)2ea770cfix(deps): update module github.com/kong/go-apiops to v0.4.0 (#763)bbf218bfix(deps): update module github.com/oapi-codegen/runtime to v1.3.1 (#762)47924f7Fix: output fix for weekly repo status (#793)40df593Fix: preserve null API attribute clears and converge on re-apply (#797)9c60df7fix(deps): update module github.com/daveshanley/vacuum to v0.25.3 (#796)99c3c63fix(deps): update module github.com/daveshanley/vacuum to v0.25.5 (#799)a9aaa79fix(deps): update module github.com/itchyny/gojq to v0.12.19 (#801)d7feee7Fix: Upgrade gh-aw to v0.68.1 and fix triage workflows (#802)980ce4ffix(deps): update module github.com/mattn/go-runewidth to v0.0.22 (#812)- [
fd3b6f4](https://github.com/Kong/kongctl/comm...
v0.7.0
kongctl Release Highlights
v0.7.0 brings GitHub Copilot CLI agent skill integration to kongctl, letting AI agents natively operate Kong Konnect resources through kongctl's declarative workflows.
✨ What's New
🤖 GitHub Copilot CLI Agent Skills (#552)
kongctl now ships with built-in agent skills for the GitHub Copilot CLI. This enables AI agents to use kongctl for declarative Kong Konnect configuration workflows — from querying resources to running plan/apply/sync operations — directly within an AI-assisted terminal session.
Skills included:
kongctl-declarative— Set up, initialize, and manage declarative configuration for Kong Konnect. Covers creating manifests, generating config from OpenAPI specs, and running APIOps workflows (plan,diff,apply,sync,delete,adopt).kongctl-query— Inspect Kong Konnect resources read-only. Lists, gets, and checks portals, APIs, control planes, and more, with output in text, JSON, or YAML.
This lays the groundwork for AI-driven Kong Konnect operations directly from your terminal.
🐛 Fixes & Improvements
Code Simplification & Clarity (#551)
Internal refactor to reduce duplication and improve readability across several core components:
internal/declarative/resources/auth_strategy.go— ExtractedremarshalConfighelper to eliminate duplicate marshal/unmarshal patterns.internal/konnect/helpers/portal_auth_settings_response.go— Split compound guard conditions into separate, self-explanatory checks.test/e2e/harness/scenario/run.go— Properly capturesWalkDirerrors with contextual warning logs.test/e2e/harness/retry.go— Improved comment clarity for retry logic.
No user-facing behavior changes; improves maintainability and debuggability.
🔗 Commit References
Features
Other Changes
3cfd808simplify: reduce duplication and improve clarity in auth strategy, portal helpers, and e2e harness (#551)
Full Changelog: v0.6.0...v0.7.0
Generated by Release
v0.6.0
kongctl Release Highlights
✨ What's New
Enhanced Dump Filtering
Filter dump operations by resource names and IDs with the new --filter-* options, making it easier to export specific subsets of your Kong configuration:
kongctl dump --filter-name=my-api
kongctl dump --filter-id=abc-123Field-Level Declarative Diffs
Declarative diffs now show granular field-level changes instead of whole-resource replacements, giving you precise visibility into what will actually change during an apply operation.
Docker Image Distribution
kongctl is now published as a Docker image alongside binary releases, simplifying integration into containerized workflows and CI/CD pipelines.
docker pull kong/kongctl:latest🐛 Fixes & Improvements
Portal Sync Mode Fix
Fixed a critical bug where external portal child pages were incorrectly marked for deletion in sync mode (#541), preserving your portal content structure.
App Authentication Strategy Normalization
Resolved inconsistent configuration keys for key_auth and oidc app authentication strategies, ensuring predictable declarative config behavior (#534).
CLI Command Cleanup
Removed non-declarative subcommands from kongctl delete and removed the kongctl create verb to streamline the CLI surface toward declarative-first workflows.
Go 1.26 Modernization
Upgraded to Go 1.26 with comprehensive codebase modernization using go fix, bringing performance improvements and modern Go idioms throughout.
📚 Docs & DX
- Added comprehensive declarative configuration reference page
- Improved user-agent headers for better debugging and support interactions
- Enhanced E2E test harness with better retry logic and timeout diagnostics
🔗 Commit References
Features
6a1340cFeat: Event Gateway DP certificate management (#530)c0e6e3cFeat: Enhanced delcarative diffs to show field level changes (#526)70052a7Feat: Adds dump filter for resource names and ids (#537)3023a32Feat: Improved user-agent headers originating from kongctl (#512)7622a81Feat: Adds Docker image building to release process (#495)
Fixes
58d05b0Bug: External portal child pages are marked for deletion in sync mode (#541)27960caFix: Repaired broken goreleaser action ver4cc3736Fix: Upgradedsdk-konnect-gotov0.25.0(#547)73ffb3fTidy: go fix run (#546)4c33a3bFix: e2e harness retry defaults and improve timeout diagnostics (#545)4c8ad94Fix: hardens some sec suggestions after GH action review (#535)d7e3722Fix: normalize app auth strategy config keys for key_auth/oidc (#534)16c7ebffix(deps): update module github.com/ajg/form to v1.7.1 (#531)c74492cFix: Added mode to declarative diff command (#525)8c19c88fix(deps): update module github.com/mattn/go-runewidth to v0.0.20 (#523)7340f37fix(deps): update module github.com/ajg/form to v1.7.0 (#524)3bca523Fix: remove non-declarative subcommands fromkongctl delete(#517)2569280Fix: Fix workflows using improper key for reading secrets (#511)367bb42Fix: Docker permission error for kongctl user (#508)e315beaFix: Transitioned to goreleaser for docker builds and publication (#504)e1f682bfix: use env context instead of secrets in step-level if conditions in docker-publish workflow (#503)fd39e92Fix: Removed clipboard build time dependencies no longer required (#502)b9b878dFix: The release process to use go 1.26 (#498)1e0c55aTask: Upgrade go to 1.26.0 andgo fixmodernization (#479)4a616ecFix: release notes simplification0083b7cFix: release notes simplification and other workflow updates (#476)d6478b6Fix: release workflow shas (#473)0dc5cc6Fix: Minor tweaks to release workflow
Other Changes
bedd4b4Upgrades: gh aw upgrades (#543)8acc9bfDocs: Add declarative configuration reference page (#510)303797dchore(deps): update github/gh-aw action to v0.46.4 (#538)227e223chore(deps): update github/gh-aw action to v0.46.2 (#536)0802bedUpgrades: gh aw recompile (#529)43b2d32chore(deps): update github/gh-aw action to v0.46.0 (#521)c6e1917Task: Give agents.md instructions to use standard go build dirs (#520)c305339simplifier: code simplifications 2026-02-28 (#519)1175a95cmd: removekongctl createverb from CLI (#515)fb50c23chore(deps): update github/gh-aw action to v0.44.0 (#507)1031430chore(deps): update docker/setup-qemu-action action to v3.7.0 (#506)c6dba22chore(deps): update docker/setup-buildx-action action to v3.12.0 (#505)72db612refactor: extract checkStdinApprovalConflict helper to eliminate triple-duplicated stdin/TTY check (#494)ecb087fchore(deps): update docker/metadata-action action to v5.10.0 (#501)0b76583chore(deps): update docker/login-action action to v3.7.0 (#500)06100ddTask: Recompiled agentics workflows (#499)9582440chore(deps): update docker/build-push-action action to v6.19.2 (#497)049bacechore(deps): pin dependencies (#496)5400fe4chore(deps): update github/gh-aw action to v0.43.23 (#489)b23a26echore(deps): update github/gh-aw action to v0.43.22 (#487)db687f1chore(deps): update github/gh-aw action to v0.43.21 (#484)59964ecTidy: Remove unnecessary PR tempalte (#480)7730c3eTask: code simplification consolidate duplicate patterns in lint, listen, and flag parsing (#475)a0aea7fchore(deps): pin github/gh-aw ac...
v0.5.0
kongctl Release Highlights
Welcome to kongctl v0.5.0! This release brings powerful new CLI capabilities, expanded declarative workflow support, and meaningful quality-of-life improvements for everyday Kong Konnect users.
✨ What's New
kongctl listen — Real-time Konnect Audit-Log Streaming
A brand-new listen command lets you subscribe to and stream Audit-Log events from Konnect in real time, giving you live visibility into Konnect activity, authorizations, API access, and more
kongctl listen --help
kongctl tail --helpkongctl lint — Validate Declarative Config
A new lint command validates your declarative configuration files before you apply them, catching errors early in the workflow.
kongctl lint -f config.yamlkongctl patch file — File-based Patching
Apply partial updates to resources from a file, complementing the existing inline patch support.
kongctl patch file -f patch.yamlkongctl delete -f — Bulk Declarative Cleanup
You can now use -f (file input) with the delete command to remove all resources described in a declarative input file — enabling clean, repeatable teardown of environments.
kongctl delete -f config.yamlExpanded --jq Filter Support
The --jq flag for filtering output is now available across all get and list commands, making it easier to extract and script against specific fields.
kongctl get control-planes --jq '.items[].name'🐛 Fixes & Improvements
--jqwith empty arrays: Fixed a bug where jq filters incorrectly returnednullfor empty array responses (#461).plancommand flags: The-o/--outputflag is now correctly rejected on theplancommand, with improved error messages and examples (#450).- Actionable arg errors:
plan,diff, andsyncnow emit clear, actionable errors when unexpected positional arguments are passed (#451). - TUI theme cycling: Real-time theme cycling in the TUI viewer improves terminal compatibility, especially in non-standard terminal emulators (#449).
- Improved API request/response logging: More structured and readable logs for HTTP interactions when using
--log-level debug/trace(#457). - Declarative API optimization: Reduced API calls in declarative sync operations for faster and more efficient
plan/applyworkflows (#464). - Dependency updates:
charmbracelet/bubblesv1,golang.org/x/term,golang.org/x/text.
📚 Docs & DX
- Developer site documentation is now prominently referenced in the main README (#469).
AGENTS.mdupdated with flag-binding patterns for contributors (#448).- Fixed incorrect
-oflag usage inpatchcommand examples (#440). - Fixed the deck integration example (#441).
🔗 Commit References
Features
a4aafe1Addmake modtarget for dependency management (#422)386b0c4Add kongctl patch file command (#436)e2e2b72Feat: Broadens support for --jq filters on get & list commands (#444)2747d7cFeat: Improves logging for API request/response data (#457)4218155feat(view): add real-time theme cycling in TUI to improve terminal compatibility (#449)91b88f0Feat: Event Gateway Listeners (#365)a1e7911Feat: Adding kongctl listen feature (#435)0af8d47Add kongctl lint command (#443)af4dc24Feat: Addskongctl delete -fsupport enabling broad resource cleanup from declarative inputs (#463)654acb4Feat: Improving kongctl release workflow (#472)
Fixes
fd7ee37Fix: Quick fix to the deck integration example (#441)fa60691fix(deps): update module github.com/charmbracelet/bubbles to v1 (#453)81d18b2fix(deps): update module golang.org/x/term to v0.40.0 (#459)9ef5b9bfix(deps): update module golang.org/x/text to v0.34.0 (#460)4ddff53fix: jq filter returns null for empty array responses (#461)905d06bfix: reject -o/--output flag in plan command, fix misleading examples, and update e2e scenarios (#450)e788b01Fix: Linter error on tail stream and fix for Makefile to match CI (#471)
Other Changes
3fe2bfcConfigure weekly repo status to categorize discussions as Announcements (#426)923f96fchore(deps): pin dependencies (#437)0031161Refactor tableview: reduce duplication, simplify control flow, optimize sorting (#434)daa6e3aRefactor verb switch statements to eliminate exhaustive matching overhead (#439)f278f1erefactor: introducing base resource and generic methods to reduce boilerplate code (#411)a2c29a0refactor: introduced registry pattern for resources (#414)0dbef34Upgrade go version and golangci lint (#446)4f6f559refactor: Cleanup some command configurations (#447)b83a882docs: Document flag binding pattern in AGENTS.md (#448)30c6c75cmd: reject positional args on plan/diff/sync with actionable error (#451)f854673refactor: simplify ShouldUseColor by merging duplicate cases (#458)a355706cmd: simplify sync command context setup for consistency with plan/diff (#466)ca8b56fDocs: Mention developer site documentation in main README (#469)2078389Task: Optimizes declarative Konnect API utilization (#464)
For full details, review the generated changelog entries below.
Full Changelog: v0.4.2...v0.5.0
Generated by Release
v0.4.2
Changelog
- b632d8a Add @Kong/apiops-contributors to CODEOWNERS (#398)
- a2d3c00 Add agentic workflow code-simplifier (#404)
- 2e19eb9 Add agentic workflow daily-repo-status
- c90fc37 Add agentic workflow issue-triage (#381)
- 9312008 Code Simplifier - auth fix
- f72272e Code Simplifier - copilot model
- 18e0cff Code Simplifier - copilot model
- 0e1dde5 Code Simplifier - engine claude
- 12c1fd0 Code Simplifier - remove copilot assignment
- 189b235 Code Simplifier - route to issue instead of pr
- 0d3bf3b Disable CGO to fix MacOS Gatekeeper blocking homebrew installs (#419)
- cad65cc Fix env var auth resolution with empty config.yaml (#385)
- 6d399b2 Merge pull request #373 from Kong/add-workflow-workflows-daily-repo-status.md-7576
- aa9a15b Release: 0.4.2 (#420)
- 893f51d Set up Copilot instructions using AGENTS.md as single source of truth (#387)
- b1d909e Task: Changes the AW for repo status to weekly (#376)
- 89ac505 Tidy: Cleans up old claude instructions, centralizes on agents.md (#388)
- fcdf98b Tidy: Make issue triage label its work
- 3b9a1b8 Update charmbracelet dependencies to unblock Renovate (#396)
- f456f54 Workflows: Improves triage workflow names
- 421b286 Workflows: Improves triage workflows
- 27ce9f3 Workflows: Improves triage workflows
- a6f6cab Workflows: Improves triage workflows including slash command
- dda58f7 Workflows: Improves triage workflows including slash command
- c5b4410 Workflows: Improves triage workflows including slash command (#384)
- 254e7fb Workflows: Updates aw workflows (#400)
- 8efa8b7 chore(deps): pin github/gh-aw action to 9382be3 (#377)
- aaee288 chore(deps): update actions/download-artifact action to v7 (#374)
- a2a6344 chore(deps): update actions/download-artifact action to v7 (#382)
- 0516a99 fix(deps): update module github.com/ajg/form to v1.6.1 (#379)
- 0774dc1 fix(deps): update module github.com/charmbracelet/x/ansi to v0.11.6 (#412)
- a9f05c4 refactor: extract profile env prefix construction to helper (#410)
v0.4.1
v0.4.0
Changelog
- 132cf06 FIX: False deletes for api_implementations (#349)
- 1b529b6 Feat/egw virtual clusters (#356)
- b0437a2 Feat: Adds adopt and dump commands for organization teams (#348)
- 209fef9 Feat: Extends supported resources for kongctl view (#351)
- 3517697 Feat: Kong branding update to color theme (#368)
- 78a81d3 Fix: Disable event gateways by default until full implementation (#367)
- 00b40e2 Fix: Makes brittle portal applications test off by default and optional (#360)
- e01ed92 Fix: Makes declarative dump command work with child resources (#363)
- 7bed368 Release: 0.4.0 Beta (#364)
- 1fc91b1 Test: test PAT resolution from flag and env for kai sub command (#350)
- 3a437fc chore(deps): update peter-evans/create-pull-request action to v8.1.0 (#355)
- b8db2e6 feat: added declarative support for organization teams (#325)
- dab8000 fix(deps): update module github.com/alecthomas/chroma/v2 to v2.23.0 (#347)
- b5275ee fix(deps): update module github.com/alecthomas/chroma/v2 to v2.23.1 (#357)
- 577e525 fix(deps): update module github.com/kong/sdk-konnect-go to v0.19.0 (#354)
v0.3.8
Changelog
- 38487ba Feat/event gateway backend clusters (#336)
- 697090d Feat: Adds kongctl + deck partner declarative capabilities (#328)
- eafeb4d Fix: makes portal email domains unique for e2e testing (#333)
- 2ac9a17 Planning: Add planning document around deck and kongctl as partners (#324)
- 0d438fe Release: 0.3.8 (#344)
- f5812b4 chore(deps): update actions/checkout action to v6.0.2 (#332)
- 108fb24 chore(deps): update actions/setup-go action to v6.2.0 (#334)
- 92a444d chore(deps): update kong/setup-deck action to v1.6.0 (#342)
- ea202b7 feat: added imperative get support for system-accounts (#319)
- 98b373b fix(deps): update module github.com/alecthomas/chroma/v2 to v2.22.0 (#331)
- 74221d0 fix(deps): update module github.com/kong/sdk-konnect-go to v0.17.1 (#326)
- c799738 fix(deps): update module github.com/kong/sdk-konnect-go to v0.18.2 (#335)
- b618578 fix(deps): update module golang.org/x/term to v0.39.0 (#329)
- 5d322f8 fix(deps): update module golang.org/x/text to v0.33.0 (#330)
- 7a56205 tests: added filtering logic for resetting orgs (#339)
v0.3.7
v0.3.6
Changelog
- 4150c28 Feat: Adds STOP_AFTER feature to e2e test harness to allow override for steps to run (#301)
- 4b88b49 Feat: Adds catalog service resource support (#297)
- 7e8d2af Feat: Adds e2e test authoring getting started (#303)
- d3b23e6 Fix: removes uneeded --interactive flag from imperative commands (#317)
- 8e9096e Release: 0.3.6
- c5bd128 chore(deps): update actions/upload-artifact action to v6 (#311)
- 858824d chore(deps): update peter-evans/create-pull-request action to v7.0.11 (#302)
- f806dd2 chore(deps): update peter-evans/create-pull-request action to v8 (#306)
- 65d2350 fix(deps): update module github.com/alecthomas/chroma/v2 to v2.21.1 (#312)
- 8077cde fix(deps): update module github.com/kong/sdk-konnect-go to v0.16.0 (#313)
- 9609ae9 fix(deps): update module github.com/spf13/cobra to v1.10.2 (#300)
- 4231341 fix(deps): update module golang.org/x/term to v0.38.0 (#304)
- ccffeb9 fix(deps): update module golang.org/x/text to v0.32.0 (#305)
- 1ae6c71 fix: adjust !file boundaries and env var mapping (#321)
- 95860a5 lint: fix errors and exhaustive switches (#316)