Release: Gateway 3.16 - #7202
Merged
Merged
Conversation
Co-authored-by: lena-larionova <54370747+lena-larionova@users.noreply.github.com>
Co-authored-by: lena-larionova <54370747+lena-larionova@users.noreply.github.com>
* Download Plugin Schemas and Metadata for 3.16 * rename Governance plugin to entitlement-enforcement --------- Co-authored-by: lena-larionova <54370747+lena-larionova@users.noreply.github.com> Co-authored-by: lena-larionova <lena.larionova@konghq.com>
* update support matrix for 3.16 * add os eols
* feat(gateway): Add metrics PDK functions for sandbox Signed-off-by: Icarus Wu <icaruswu66@qq.com> * add version tag --------- Signed-off-by: Icarus Wu <icaruswu66@qq.com> Co-authored-by: lena-larionova <54370747+lena-larionova@users.noreply.github.com>
* feat: update debugger span attributes * add version tags --------- Co-authored-by: lena-larionova <lena.larionova@konghq.com>
* dynamic log levels for data planes * fix table and use consistent punctuation * Apply batched suggestions from code review Co-authored-by: jbaross <james.baross@konghq.com> Co-authored-by: lena-larionova <54370747+lena-larionova@users.noreply.github.com> --------- Co-authored-by: jbaross <james.baross@konghq.com>
* Autodocs update * fix version directory names * fix indent error --------- Co-authored-by: lena-larionova <54370747+lena-larionova@users.noreply.github.com> Co-authored-by: lena-larionova <lena.larionova@konghq.com>
* proxy caching by principal * Apply batched suggestions from code review Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> --------- Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com>
…g_algorithm option
Add a standalone explainer for dynamic plugin ordering and document the new
`plugin_ordering_algorithm` option that selects which ordering algorithm runs.
* app/gateway/plugins/plugin-ordering.md (new): the principle behind dynamic
ordering ("at each step, run the highest-priority plugin whose `after`
requirements are already met"), a hand-worked step-by-step example so readers can
predict the exact order, a new-vs-legacy comparison (including the FTI-7177
displacement and the `before` != `after` asymmetry, with concrete sorted results),
the guarantees and non-guarantees, how request scope changes the result, and how
to adopt `new` on upgrade.
* app/_gateway_entities/plugin.md: trim the "Dynamic plugin ordering" reference
section to link to the new explainer, and note the `plugin_ordering_algorithm`
option under known limitations.
* app/_indices/gateway.yaml: add the new page to the "How Gateway Works" navigation.
FTI-7177
Signed-off-by: Walker Zhao <walker.zhao@konghq.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
works_on: - on-prem - konnect Signed-off-by: Walker Zhao <walker.zhao@konghq.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The doc was written against an early build and still called the algorithm "new" -- the shipped option is `legacy` / `priority_preserving` (kong.conf.default). Rename throughout, replace the placeholder A/B/C and e/d/c/b/a examples with real kong-ee plugins and priorities, and add a worked example (with the fix) for the one documented hard limitation: an unconfigured plugin can occasionally move further than a hand-picked order would need, in roughly one configuration in twenty that uses `ordering`. Also fixes a real accuracy bug carried by the old examples: an unconfigured plugin's absolute slot can shift when a mover passes through it, even though its order relative to other unconfigured plugins does not -- the old text claimed it "stays put" / "keeps its place," which wasn't true for the abstract example's `c`. Adds a short section on plugins that share a priority (routine for cloned plugins that don't override it) and bumps min_version to 3.16, matching the changelog entries this doc describes. Signed-off-by: Walker Zhao <walker.zhao@konghq.com>
…ing pages One merged page made it hard to say which algorithm produced which behavior. Split it into plugin-ordering-legacy.md and plugin-ordering-priority-preserving.md, each self-contained, and redirect the old URL to the priority_preserving page. The legacy page documents its real mechanism for the first time: a DFS post-order topological sort driven by a priority-ordered outer loop, where before/after build the identical dependency edge and a plugin's whole dependency chain gets appended ahead of everything else the moment the walk reaches it. Verified against the real module (topsort_plugins.lua + plugin_dependency.lua), including that its unguarded recursion does NOT overflow the stack at realistic -- or even 500,000-plugin -- chain lengths, so that is not listed as a limitation. The priority_preserving page keeps last round's content, reorganized so every comparison names which algorithm produced which result, with the legacy contrast moved up next to the worked example instead of appearing several sections later. Updates the two cross-links in plugin.md, the one nav entry in _indices/gateway.yaml, and adds a redirect for the retired URL. Signed-off-by: Walker Zhao <walker.zhao@konghq.com>
* generate metrics for 3.16, add missing 3.15 metrics * Apply batched suggestions from code review Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> Co-authored-by: lena-larionova <54370747+lena-larionova@users.noreply.github.com> --------- Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com>
…r Kong plugins (#7103) * skill for writing plugin examples for Kong plugins * Apply batched suggestions from code review Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> --------- Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com>
Co-authored-by: lena-larionova <54370747+lena-larionova@users.noreply.github.com>
…7189) * simple json transformation for kafka * add nullable to dictionary
…dates for p95 data correction for previous release (#7192)
✅ Deploy Preview for kongdeveloper ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
|
* add configuration example * add principal property * fix: example title * fix: version * fix: remove callout * add principal in the use case table * how-to * related resources * Apply batched suggestions from code review Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Apply suggestion from @juliamrch --------- Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com>
…7070) * Add PostgreSQL privileges reference for Kong Gateway Document the minimal PostgreSQL role attributes and privileges Kong Gateway needs for migrations, runtime, and admin CLI operations, since no existing page covered least-privilege database setup. Cross-link it from the datastore how-to and the sibling PostgreSQL reference pages. * Apply suggestion from @juliamrch * Apply batched suggestions from code review Co-authored-by: Julia <101819212+juliamrch@users.noreply.github.com> * Update app/gateway/postgresql-privileges-reference.md * Apply suggestion from @juliamrch * Apply batched suggestions from code review Co-authored-by: Julia <101819212+juliamrch@users.noreply.github.com> * Apply suggestion from @juliamrch * Apply suggestion from @juliamrch * Update app/gateway/postgresql-privileges-reference.md * Update app/gateway/postgresql-privileges-reference.md * fix: table * fix: table - blanck lines * fix: table - quotes * Apply batched suggestions from code review Co-authored-by: lena-larionova <54370747+lena-larionova@users.noreply.github.com> * fix formatting --------- Co-authored-by: Julia <101819212+juliamrch@users.noreply.github.com> Co-authored-by: lena-larionova <54370747+lena-larionova@users.noreply.github.com> Co-authored-by: lena-larionova <lena.larionova@konghq.com>
* dynamic plugin expression fields * adjust prereqs to cover more cases * adjust link names * add security considerations to PDK and to expressible reference * export control plane ID programmatically instead of manually * Apply batched suggestions from code review Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> Co-authored-by: lena-larionova <54370747+lena-larionova@users.noreply.github.com> --------- Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com>
* kafka message compression and decompression * add codec to dictionary * Apply batched suggestions from code review Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> --------- Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com>
Co-authored-by: lena-larionova <54370747+lena-larionova@users.noreply.github.com>
* entitlement enforcement plugin docs * remove credit checks feature and mark konnect-only * Apply batched suggestions from code review Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * add breaking changes entry and limitations section to plugin * minor adjustments based on demo * add diagram and rephrase limitation as configurable setting --------- Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com>
Co-authored-by: lena-larionova <54370747+lena-larionova@users.noreply.github.com>
* breaking change for cel update * clean up
…7215) * oidc mcp parity features * fix incorrect tool key * Update app/_kong_plugins/openid-connect/index.md Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> --------- Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com>
* QA 3.16 docs against PM demos * Apply batched suggestions from code review Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * fix on-prem API request * minor phrasing edit --------- Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com>
…7219) * ca cert guide draft * test and adjust * Apply batched suggestions from code review Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * test on konnect and fix all the things --------- Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com>
* Generate Gateway and plugins changelogs for version 3.16.0.0 * manually add breaking change entry for cel lib --------- Co-authored-by: lena-larionova <54370747+lena-larionova@users.noreply.github.com> Co-authored-by: lena-larionova <lena.larionova@konghq.com>
lena-larionova
marked this pull request as ready for review
September 15, 2026 16:54
Contributor
Author
|
The link checker isn't finding any 404s, it's just being rate-limited. |
cloudjumpercat
approved these changes
Sep 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release roll-up & preview PR for Gateway 3.15
New features
Plugin ordering
New opt-in
priority_preservingdynamic plugin ordering algorithm, alongside the existing algorithm (now namedlegacy)plugin_ordering_algorithmconfig paramMetrics PDK for custom plugins
New
kong.metricsPDK namespace for custom plugins to register counters, gauges, and histogramsOpenTelemetry metrics
Identity attributes on request/bandwidth metrics, custom PDK metrics export, and new stream/data-plane-connection metrics
kong.dp.connection.last_seen,kong.dp.config_hash,kong.dp.version.compatiblePrincipal-aware caching
Cache by authenticated Principal instead of Consumer
kong.client.get_principaladded to the PDK sandboxing allowlistLog-only / tap mode for validation and threat-protection plugins
Shared "tap mode" behavior: log a warning and proxy instead of blocking
Kafka / Confluent schema registry
Accept plain JSON for Avro schemas instead of Avro's type-tagged union wire format (
payload_encoding: simple_json)Dynamic log levels for data planes
New Admin API / Konnect API endpoints for setting a temporary, TTL-based log-level override on hybrid-mode data planes (10-3600s, default 600s)
Konnect analytics opt-out
New
analytics_enabled=offconfig option to disable analytics/telemetry only, while keeping Consumer sync, licensing, config sync, and error reporting activeDynamic plugin configuration with CEL
New "expressible fields" mechanism: specific plugin config fields can be computed per request via CEL instead of only gating whole-plugin execution, with a static fallback value
allow_when/deny_when)conditionfield, moved from the old expressions.md), and the new expressible-fields page aboveRoute by Kong Identity Principal metadata with Datakit
New how-to using Kong Identity Principals to dynamically set upstream host/scheme per authenticated caller, without a decK sync
kong.client.principalproperty + sign-principal-JWT exampleDatakit: verify call nodes against a custom CA
callnodes can now verify TLS against a private CA (config.ca_certificates) instead of only Kong's global trusted CA store, useful for internal services with private-CA-signed certsKafka / Confluent message compression
Producer-side compression (
compression_type: gzip/snappy/lz4) and transparent consumer-side decompression (including zstd)Redis OAuth 2.0 authentication
New OAuth 2.0 (client_credentials or password grant) option for Redis Cloud/Enterprise authentication, alongside AWS ElastiCache, Azure Managed Redis, and GCP Memorystore
PostgreSQL privileges reference
New least-privilege reference for the PostgreSQL role Kong Gateway needs for migrations, runtime, and admin CLI operations
Entitlement Enforcement plugin (Konnect only)
New plugin to block requests based on Metering & Billing entitlements: feature access and usage limits, checked via a two-tier Redis + per-worker cache against the Entitlement Access API. Credit-balance enforcement is not yet implemented (
config.credit_balance_requiredand theNO_CREDIT_AVAILABLEreason code currently have no effect, see breaking-changes/known-issues below)OIDC: actor tokens and MCP protected resource metadata
RFC 8693 actor-token support for token exchange (delegation, e.g. an AI agent acting on behalf of a user), and RFC 9728 OAuth 2.0 Protected Resource Metadata for MCP client auth-server discovery
Debugger: multi-instance Datakit tracing and new HTTP call spans
Support for distinguishing multiple Datakit plugin instances (base + clones) in traces, plus new spans/attributes for internal HTTP calls
plugin_name,parent_span_id,phase,sourcesfieldskong.io.http.request_uri,kong.io.http.read_resp_bodyspan typeshttp.url,kong.3p.external_request_id,proxy.kong.plugin.ref(multi-instance Datakit), plus the two attributes belowproxy.kong.upstream.addresstls.client.server_nameOther
Updates
debian13,rhel10,ubuntu2604distro support;latest: truemoved to 3.16)Tooling (not user-facing docs)
plugin-example, for writing/updating first-party plugin example YAMLs (.claude/skills/plugin-example/)