Skip to content

Releases: Kong/kongctl

v0.8.0

21 Apr 14:59
6f10d5c

Choose a tag to compare

Kong logo 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

  • --authorization is now required for listen and tail audit-logs commands (#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 view hangkongctl view no 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 updatesgolang.org/x/net bumped to v0.51.0 and github.com/buger/jsonparser to 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, !env tag, explain/scaffold verbs, fixes, test infrastructure, and overall release coordination

🔗 Commit References

Features

Fixes

  • 268bca7 fix(deps): update module github.com/oapi-codegen/runtime to v1.2.0 (#562)
  • 2ccb481 fix(deps): update module github.com/oapi-codegen/oapi-codegen/v2 to v2.6.0 (#563)
  • a86946c fix(deps): update module github.com/daveshanley/vacuum to v0.24.0 (#569)
  • 395edac fix(deps): update module golang.org/x/net to v0.51.0 [security] (#571)
  • 88875c2 fix(deps): update module github.com/mattn/go-runewidth to v0.0.21 (#625)
  • 4daa381 fix(deps): update module github.com/buger/jsonparser to v1.1.2 [security] (#628)
  • 34e5f70 fix(deps): update module github.com/daveshanley/vacuum to v0.25.0 (#653)
  • f503a0a fix(deps): update module github.com/charmbracelet/colorprofile to v0.4.3 (#648)
  • e6b3468 fix(deps): update module golang.org/x/term to v0.41.0 (#649)
  • 0374cfa fix(deps): update module golang.org/x/text to v0.35.0 (#651)
  • 2431483 fix(deps): update module github.com/daveshanley/vacuum to v0.25.1 (#675)
  • bb67b38 fix(deps): update module github.com/daveshanley/vacuum to v0.25.2 (#691)
  • 73a9e2a fix(deps): update module github.com/oapi-codegen/runtime to v1.3.0 (#703)
  • 2e1bf5c Fix: kongctl view hang issue (#704)
  • f5a39ea Fix: inherit protection for child resources (#584)
  • b7787d4 Fix: Further tuning of e2e resets (#640)
  • 52d66f8 Test: Various fixes to networking client centered around e2e testing (#623)
  • 448ba68 fix(deps): Upgrades to sdk-konnect-go 0.30.0 (#766)
  • 46b00ba fix(deps): update module github.com/lucasb-eyer/go-colorful to v1.4.0 (#778)
  • 69245ef fix(deps): update module golang.org/x/sys to v0.43.0 (#776)
  • 16c60ca fix(deps): update module charm.land/bubbles/v2 to v2.1.0 (#761)
  • 2ea770c fix(deps): update module github.com/kong/go-apiops to v0.4.0 (#763)
  • bbf218b fix(deps): update module github.com/oapi-codegen/runtime to v1.3.1 (#762)
  • 47924f7 Fix: output fix for weekly repo status (#793)
  • 40df593 Fix: preserve null API attribute clears and converge on re-apply (#797)
  • 9c60df7 fix(deps): update module github.com/daveshanley/vacuum to v0.25.3 (#796)
  • 99c3c63 fix(deps): update module github.com/daveshanley/vacuum to v0.25.5 (#799)
  • a9aaa79 fix(deps): update module github.com/itchyny/gojq to v0.12.19 (#801)
  • d7feee7 Fix: Upgrade gh-aw to v0.68.1 and fix triage workflows (#802)
  • 980ce4f fix(deps): update module github.com/mattn/go-runewidth to v0.0.22 (#812)
  • [fd3b6f4](https://github.com/Kong/kongctl/comm...
Read more

v0.7.0

06 Mar 19:20
2265d16

Choose a tag to compare

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 — Extracted remarshalConfig helper 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 captures WalkDir errors 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

  • 3cfd808 simplify: 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

04 Mar 03:04
27960ca

Choose a tag to compare

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-123

Field-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

  • 6a1340c Feat: Event Gateway DP certificate management (#530)
  • c0e6e3c Feat: Enhanced delcarative diffs to show field level changes (#526)
  • 70052a7 Feat: Adds dump filter for resource names and ids (#537)
  • 3023a32 Feat: Improved user-agent headers originating from kongctl (#512)
  • 7622a81 Feat: Adds Docker image building to release process (#495)

Fixes

  • 58d05b0 Bug: External portal child pages are marked for deletion in sync mode (#541)
  • 27960ca Fix: Repaired broken goreleaser action ver
  • 4cc3736 Fix: Upgraded sdk-konnect-go to v0.25.0 (#547)
  • 73ffb3f Tidy: go fix run (#546)
  • 4c33a3b Fix: e2e harness retry defaults and improve timeout diagnostics (#545)
  • 4c8ad94 Fix: hardens some sec suggestions after GH action review (#535)
  • d7e3722 Fix: normalize app auth strategy config keys for key_auth/oidc (#534)
  • 16c7ebf fix(deps): update module github.com/ajg/form to v1.7.1 (#531)
  • c74492c Fix: Added mode to declarative diff command (#525)
  • 8c19c88 fix(deps): update module github.com/mattn/go-runewidth to v0.0.20 (#523)
  • 7340f37 fix(deps): update module github.com/ajg/form to v1.7.0 (#524)
  • 3bca523 Fix: remove non-declarative subcommands from kongctl delete (#517)
  • 2569280 Fix: Fix workflows using improper key for reading secrets (#511)
  • 367bb42 Fix: Docker permission error for kongctl user (#508)
  • e315bea Fix: Transitioned to goreleaser for docker builds and publication (#504)
  • e1f682b fix: use env context instead of secrets in step-level if conditions in docker-publish workflow (#503)
  • fd39e92 Fix: Removed clipboard build time dependencies no longer required (#502)
  • b9b878d Fix: The release process to use go 1.26 (#498)
  • 1e0c55a Task: Upgrade go to 1.26.0 and go fix modernization (#479)
  • 4a616ec Fix: release notes simplification
  • 0083b7c Fix: release notes simplification and other workflow updates (#476)
  • d6478b6 Fix: release workflow shas (#473)
  • 0dc5cc6 Fix: Minor tweaks to release workflow

Other Changes

  • bedd4b4 Upgrades: gh aw upgrades (#543)
  • 8acc9bf Docs: Add declarative configuration reference page (#510)
  • 303797d chore(deps): update github/gh-aw action to v0.46.4 (#538)
  • 227e223 chore(deps): update github/gh-aw action to v0.46.2 (#536)
  • 0802bed Upgrades: gh aw recompile (#529)
  • 43b2d32 chore(deps): update github/gh-aw action to v0.46.0 (#521)
  • c6e1917 Task: Give agents.md instructions to use standard go build dirs (#520)
  • c305339 simplifier: code simplifications 2026-02-28 (#519)
  • 1175a95 cmd: remove kongctl create verb from CLI (#515)
  • fb50c23 chore(deps): update github/gh-aw action to v0.44.0 (#507)
  • 1031430 chore(deps): update docker/setup-qemu-action action to v3.7.0 (#506)
  • c6dba22 chore(deps): update docker/setup-buildx-action action to v3.12.0 (#505)
  • 72db612 refactor: extract checkStdinApprovalConflict helper to eliminate triple-duplicated stdin/TTY check (#494)
  • ecb087f chore(deps): update docker/metadata-action action to v5.10.0 (#501)
  • 0b76583 chore(deps): update docker/login-action action to v3.7.0 (#500)
  • 06100dd Task: Recompiled agentics workflows (#499)
  • 9582440 chore(deps): update docker/build-push-action action to v6.19.2 (#497)
  • 049bace chore(deps): pin dependencies (#496)
  • 5400fe4 chore(deps): update github/gh-aw action to v0.43.23 (#489)
  • b23a26e chore(deps): update github/gh-aw action to v0.43.22 (#487)
  • db687f1 chore(deps): update github/gh-aw action to v0.43.21 (#484)
  • 59964ec Tidy: Remove unnecessary PR tempalte (#480)
  • 7730c3e Task: code simplification consolidate duplicate patterns in lint, listen, and flag parsing (#475)
  • a0aea7f chore(deps): pin github/gh-aw ac...
Read more

v0.5.0

24 Feb 21:15
654acb4

Choose a tag to compare

Kong logo 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 --help

kongctl 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.yaml

kongctl patch file — File-based Patching

Apply partial updates to resources from a file, complementing the existing inline patch support.

kongctl patch file -f patch.yaml

kongctl 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.yaml

Expanded --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

  • --jq with empty arrays: Fixed a bug where jq filters incorrectly returned null for empty array responses (#461).
  • plan command flags: The -o/--output flag is now correctly rejected on the plan command, with improved error messages and examples (#450).
  • Actionable arg errors: plan, diff, and sync now 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/apply workflows (#464).
  • Dependency updates: charmbracelet/bubbles v1, golang.org/x/term, golang.org/x/text.

📚 Docs & DX

  • Developer site documentation is now prominently referenced in the main README (#469).
  • AGENTS.md updated with flag-binding patterns for contributors (#448).
  • Fixed incorrect -o flag usage in patch command examples (#440).
  • Fixed the deck integration example (#441).

🔗 Commit References

Features

  • a4aafe1 Add make mod target for dependency management (#422)
  • 386b0c4 Add kongctl patch file command (#436)
  • e2e2b72 Feat: Broadens support for --jq filters on get & list commands (#444)
  • 2747d7c Feat: Improves logging for API request/response data (#457)
  • 4218155 feat(view): add real-time theme cycling in TUI to improve terminal compatibility (#449)
  • 91b88f0 Feat: Event Gateway Listeners (#365)
  • a1e7911 Feat: Adding kongctl listen feature (#435)
  • 0af8d47 Add kongctl lint command (#443)
  • af4dc24 Feat: Adds kongctl delete -f support enabling broad resource cleanup from declarative inputs (#463)
  • 654acb4 Feat: Improving kongctl release workflow (#472)

Fixes

  • fd7ee37 Fix: Quick fix to the deck integration example (#441)
  • fa60691 fix(deps): update module github.com/charmbracelet/bubbles to v1 (#453)
  • 81d18b2 fix(deps): update module golang.org/x/term to v0.40.0 (#459)
  • 9ef5b9b fix(deps): update module golang.org/x/text to v0.34.0 (#460)
  • 4ddff53 fix: jq filter returns null for empty array responses (#461)
  • 905d06b fix: reject -o/--output flag in plan command, fix misleading examples, and update e2e scenarios (#450)
  • e788b01 Fix: Linter error on tail stream and fix for Makefile to match CI (#471)

Other Changes

  • 3fe2bfc Configure weekly repo status to categorize discussions as Announcements (#426)
  • 923f96f chore(deps): pin dependencies (#437)
  • 0031161 Refactor tableview: reduce duplication, simplify control flow, optimize sorting (#434)
  • daa6e3a Refactor verb switch statements to eliminate exhaustive matching overhead (#439)
  • f278f1e refactor: introducing base resource and generic methods to reduce boilerplate code (#411)
  • a2c29a0 refactor: introduced registry pattern for resources (#414)
  • 0dbef34 Upgrade go version and golangci lint (#446)
  • 4f6f559 refactor: Cleanup some command configurations (#447)
  • b83a882 docs: Document flag binding pattern in AGENTS.md (#448)
  • 30c6c75 cmd: reject positional args on plan/diff/sync with actionable error (#451)
  • f854673 refactor: simplify ShouldUseColor by merging duplicate cases (#458)
  • a355706 cmd: simplify sync command context setup for consistency with plan/diff (#466)
  • ca8b56f Docs: Mention developer site documentation in main README (#469)
  • 2078389 Task: 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

17 Feb 04:01
aa9a15b

Choose a tag to compare

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

13 Feb 01:29
1f81342

Choose a tag to compare

Changelog

v0.4.0

10 Feb 21:16
7bed368

Choose a tag to compare

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

28 Jan 17:06
0d438fe

Choose a tag to compare

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

15 Jan 02:15
ce8f8f9

Choose a tag to compare

Changelog

  • df05a5c Feat/event gateway control plane (#314)
  • b9ea614 Fix: Portal asset and api publication redundant update plans (#323)
  • ce8f8f9 Version: Bump to 0.3.7

v0.3.6

13 Jan 21:46
8e9096e

Choose a tag to compare

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)