diff --git a/changelog/3.6.0/3.6.0.md b/changelog/3.6.0/3.6.0.md new file mode 100644 index 000000000000..0d254d5f0fe8 --- /dev/null +++ b/changelog/3.6.0/3.6.0.md @@ -0,0 +1,384 @@ +## Kong + + +### Performance +#### Performance + +- Bumped the concurrency range of the lua-resty-timer-ng library from [32, 256] to [512, 2048]. + [#12275](https://github.com/Kong/kong/issues/12275) + [KAG-2932](https://konghq.atlassian.net/browse/KAG-2932) [KAG-3452](https://konghq.atlassian.net/browse/KAG-3452) + +- Cooperatively yield when building statistics of routes to reduce the impact to proxy path latency. + [#12013](https://github.com/Kong/kong/issues/12013) + +#### Configuration + +- Bump `dns_stale_ttl` default to 1 hour so stale DNS record can be used for longer time in case of resolver downtime. + [#12087](https://github.com/Kong/kong/issues/12087) + [KAG-3080](https://konghq.atlassian.net/browse/KAG-3080) + +- Bumped default values of `nginx_http_keepalive_requests` and `upstream_keepalive_max_requests` to `10000`. + [#12223](https://github.com/Kong/kong/issues/12223) + [KAG-3360](https://konghq.atlassian.net/browse/KAG-3360) +#### Core + +- Reuse match context between requests to avoid frequent memory allocation/deallocation + [#12258](https://github.com/Kong/kong/issues/12258) + [KAG-3448](https://konghq.atlassian.net/browse/KAG-3448) +#### PDK + +- Performance optimization to avoid unnecessary creations and garbage-collections of spans + [#12080](https://github.com/Kong/kong/issues/12080) + [KAG-3169](https://konghq.atlassian.net/browse/KAG-3169) + +### Breaking Changes +#### Core + +- **BREAKING:** To avoid ambiguity with other Wasm-related nginx.conf directives, the prefix for Wasm `shm_kv` nginx.conf directives was changed from `nginx_wasm_shm_` to `nginx_wasm_shm_kv_` + [#11919](https://github.com/Kong/kong/issues/11919) + [KAG-2355](https://konghq.atlassian.net/browse/KAG-2355) +#### Plugin + +- **azure-functions**: azure-functions plugin now eliminates upstream/request URI and only use `routeprefix` configuration field to construct request path when requesting Azure API + [#11850](https://github.com/Kong/kong/issues/11850) + [KAG-2841](https://konghq.atlassian.net/browse/KAG-2841) + +### Deprecations +#### Plugin + +- **ACME**: Standardize redis configuration across plugins. The redis configuration right now follows common schema that is shared across other plugins. + [#12300](https://github.com/Kong/kong/issues/12300) + [KAG-3388](https://konghq.atlassian.net/browse/KAG-3388) + +- **Rate Limiting**: Standardize redis configuration across plugins. The redis configuration right now follows common schema that is shared across other plugins. + [#12301](https://github.com/Kong/kong/issues/12301) + [KAG-3388](https://konghq.atlassian.net/browse/KAG-3388) + +- **Response-RateLimiting**: Standardize redis configuration across plugins. The redis configuration right now follows common schema that is shared across other plugins. + [#12301](https://github.com/Kong/kong/issues/12301) + [KAG-3388](https://konghq.atlassian.net/browse/KAG-3388) + +### Dependencies +#### Core + +- Bumped atc-router from 1.2.0 to 1.6.0 + [#12231](https://github.com/Kong/kong/issues/12231) + [KAG-3403](https://konghq.atlassian.net/browse/KAG-3403) + +- Bumped kong-lapis from 1.14.0.3 to 1.16.0.1 + [#12064](https://github.com/Kong/kong/issues/12064) + + +- Bumped LPEG from 1.0.2 to 1.1.0 + [#11955](https://github.com/Kong/kong/issues/11955) + [UTF-8](https://konghq.atlassian.net/browse/UTF-8) + +- Bumped lua-messagepack from 0.5.2 to 0.5.3 + [#11956](https://github.com/Kong/kong/issues/11956) + + +- Bumped lua-messagepack from 0.5.3 to 0.5.4 + [#12076](https://github.com/Kong/kong/issues/12076) + + +- Bumped lua-resty-aws from 1.3.5 to 1.3.6 + [#12439](https://github.com/Kong/kong/issues/12439) + + +- Bumped lua-resty-healthcheck from 3.0.0 to 3.0.1 + [#12237](https://github.com/Kong/kong/issues/12237) + [FTI-5478](https://konghq.atlassian.net/browse/FTI-5478) + +- Bumped lua-resty-lmdb from 1.3.0 to 1.4.1 + [#12026](https://github.com/Kong/kong/issues/12026) + [KAG-3093](https://konghq.atlassian.net/browse/KAG-3093) + +- Bumped lua-resty-timer-ng from 0.2.5 to 0.2.6 + [#12275](https://github.com/Kong/kong/issues/12275) + [KAG-2932](https://konghq.atlassian.net/browse/KAG-2932) [KAG-3452](https://konghq.atlassian.net/browse/KAG-3452) + +- Bumped OpenResty from 1.21.4.2 to 1.25.3.1 + [#12327](https://github.com/Kong/kong/issues/12327) + [KAG-3515](https://konghq.atlassian.net/browse/KAG-3515) [KAG-3570](https://konghq.atlassian.net/browse/KAG-3570) [KAG-3571](https://konghq.atlassian.net/browse/KAG-3571) [JIT-2](https://konghq.atlassian.net/browse/JIT-2) + +- Bumped OpenSSL from 3.1.4 to 3.2.0 + [#12264](https://github.com/Kong/kong/issues/12264) + [KAG-3459](https://konghq.atlassian.net/browse/KAG-3459) + +- Bump resty-openssl from 0.8.25 to 1.2.0 + [#12265](https://github.com/Kong/kong/issues/12265) + + +- Bumped ngx_brotli to master branch, and disabled it on rhel7 rhel9-arm64 and amazonlinux-2023-arm64 due to toolchain issues + [#12444](https://github.com/Kong/kong/issues/12444) + [FTI-5706](https://konghq.atlassian.net/browse/FTI-5706) + +- Bumped lua-resty-healthcheck from 1.6.3 to 3.0.0 + [#11834](https://github.com/Kong/kong/issues/11834) + [KAG-2704](https://konghq.atlassian.net/browse/KAG-2704) +#### Default + +- Bump `ngx_wasm_module` to `a7087a37f0d423707366a694630f1e09f4c21728` + [#12011](https://github.com/Kong/kong/issues/12011) + + +- Bump `Wasmtime` version to `14.0.3` + [#12011](https://github.com/Kong/kong/issues/12011) + + +### Features +#### Configuration + +- display a warning message when Kong Manager is enabled but the Admin API is not enabled + [#12071](https://github.com/Kong/kong/issues/12071) + [KAG-3158](https://konghq.atlassian.net/browse/KAG-3158) + +- add DHE-RSA-CHACHA20-POLY1305 cipher to the intermediate configuration + [#12133](https://github.com/Kong/kong/issues/12133) + [KAG-3257](https://konghq.atlassian.net/browse/KAG-3257) + +- The default value of `dns_no_sync` option has been changed to `off` + [#11869](https://github.com/Kong/kong/issues/11869) + [FTI-5348](https://konghq.atlassian.net/browse/FTI-5348) + +- Allow to inject Nginx directives into Kong's proxy location block + [#11623](https://github.com/Kong/kong/issues/11623) + + +- Validate LMDB cache by Kong's version (major + minor), +wiping the content if tag mismatch to avoid compatibility issues +during minor version upgrade. + [#12026](https://github.com/Kong/kong/issues/12026) + [KAG-3093](https://konghq.atlassian.net/browse/KAG-3093) +#### Core + +- add ngx_brotli module to kong prebuild nginx + [#12367](https://github.com/Kong/kong/issues/12367) + [KAG-2477](https://konghq.atlassian.net/browse/KAG-2477) + +- Allow primary key passed as a full entity to DAO functions. + [#11695](https://github.com/Kong/kong/issues/11695) + + +- Build deb packages for Debian 12. The debian variant of kong docker image is built using Debian 12 now. + [#12218](https://github.com/Kong/kong/issues/12218) + [KAG-3015](https://konghq.atlassian.net/browse/KAG-3015) + +- The expressions route now supports the `!` (not) operator, which allows creating routes like +`!(http.path =^ "/a")` and `!(http.path == "/a" || http.path == "/b")` + [#12419](https://github.com/Kong/kong/issues/12419) + [KAG-3605](https://konghq.atlassian.net/browse/KAG-3605) + +- Add `source` property to log serializer, indicating the response is generated by `kong` or `upstream`. + [#12052](https://github.com/Kong/kong/issues/12052) + [FTI-5522](https://konghq.atlassian.net/browse/FTI-5522) + +- Ensure Kong-owned directories are cleaned up after an uninstall using the system's package manager. + [#12162](https://github.com/Kong/kong/issues/12162) + [FTI-5553](https://konghq.atlassian.net/browse/FTI-5553) + +- Support `http.path.segments.len` and `http.path.segments.*` fields in the expressions router +which allows matching incoming (normalized) request path by individual segment or ranges of segments, +plus checking the total number of segments. + [#12283](https://github.com/Kong/kong/issues/12283) + [KAG-3351](https://konghq.atlassian.net/browse/KAG-3351) + +- `net.src.*` and `net.dst.*` match fields are now accessible in HTTP routes defined using expressions. + [#11950](https://github.com/Kong/kong/issues/11950) + [KAG-2963](https://konghq.atlassian.net/browse/KAG-2963) [KAG-3032](https://konghq.atlassian.net/browse/KAG-3032) + +- Extend support for getting and setting Gateway values via proxy-wasm properties in the `kong.*` namespace. + [#11856](https://github.com/Kong/kong/issues/11856) + +#### PDK + +- Increase the precision of JSON number encoding from 14 to 16 decimals + [#12019](https://github.com/Kong/kong/issues/12019) + [FTI-5515](https://konghq.atlassian.net/browse/FTI-5515) +#### Plugin + +- Introduced the new **AI Prompt Decorator** plugin that enables prepending and appending llm/v1/chat messages onto consumer LLM requests, for prompt tuning. + [#12336](https://github.com/Kong/kong/issues/12336) + + +- Introduced the new **AI Prompt Guard** which can allow and/or block LLM requests based on pattern matching. + [#12427](https://github.com/Kong/kong/issues/12427) + + +- Introduced the new **AI Prompt Template** which can offer consumers and array of LLM prompt templates, with variable substitutions. + [#12340](https://github.com/Kong/kong/issues/12340) + + +- Introduced the new **AI Proxy** plugin that enables simplified integration with various AI provider Large Language Models. + [#12323](https://github.com/Kong/kong/issues/12323) + + +- Introduced the new **AI Request Transformer** plugin that enables passing mid-flight consumer requests to an LLM for transformation or sanitization. + [#12426](https://github.com/Kong/kong/issues/12426) + + +- Introduced the new **AI Response Transformer** plugin that enables passing mid-flight upstream responses to an LLM for transformation or sanitization. + [#12426](https://github.com/Kong/kong/issues/12426) + + +- Tracing Sampling Rate can now be set via the `config.sampling_rate` property of the OpenTelemetry plugin instead of it just being a global setting for the gateway. + [#12054](https://github.com/Kong/kong/issues/12054) + [KAG-3126](https://konghq.atlassian.net/browse/KAG-3126) +#### Admin API + +- add gateway edition to the root endpoint of the admin api + [#12097](https://github.com/Kong/kong/issues/12097) + [FTI-5557](https://konghq.atlassian.net/browse/FTI-5557) + +- Enable `status_listen` on `127.0.0.1:8007` by default + [#12304](https://github.com/Kong/kong/issues/12304) + [KAG-3359](https://konghq.atlassian.net/browse/KAG-3359) +#### Clustering + +- **Clustering**: Expose data plane certificate expiry date on the control plane API. + [#11921](https://github.com/Kong/kong/issues/11921) + [FTI-5530](https://konghq.atlassian.net/browse/FTI-5530) + +### Fixes +#### Configuration + +- fix error data loss caused by weakly typed of function in declarative_config_flattened function + [#12167](https://github.com/Kong/kong/issues/12167) + [FTI-5584](https://konghq.atlassian.net/browse/FTI-5584) + +- respect custom `proxy_access_log` + [#12073](https://github.com/Kong/kong/issues/12073) + [FTI-5580](https://konghq.atlassian.net/browse/FTI-5580) +#### Core + +- prevent ca to be deleted when it's still referenced by other entities and invalidate the related ca store caches when a ca cert is updated. + [#11789](https://github.com/Kong/kong/issues/11789) + [FTI-2060](https://konghq.atlassian.net/browse/FTI-2060) + +- Now cookie names are validated against RFC 6265, which allows more characters than the previous validation. + [#11881](https://github.com/Kong/kong/issues/11881) + + +- Remove nulls only if the schema has transformations definitions. +Improve performance as most schemas does not define transformations. + [#12284](https://github.com/Kong/kong/issues/12284) + [FTI-5260](https://konghq.atlassian.net/browse/FTI-5260) + +- Fix a bug that the error_handler can not provide the meaningful response body when the internal error code 494 is triggered. + [#12114](https://github.com/Kong/kong/issues/12114) + [FTI-5374](https://konghq.atlassian.net/browse/FTI-5374) + +- Header value matching (`http.headers.*`) in `expressions` router flavor are now case sensitive. +This change does not affect on `traditional_compatible` mode +where header value match are always performed ignoring the case. + [#11905](https://github.com/Kong/kong/issues/11905) + [KAG-2905](https://konghq.atlassian.net/browse/KAG-2905) + +- print error message correctly when plugin fails + [#11800](https://github.com/Kong/kong/issues/11800) + [KAG-2844](https://konghq.atlassian.net/browse/KAG-2844) + +- fix ldoc intermittent failure caused by LuaJIT error. + [#11983](https://github.com/Kong/kong/issues/11983) + [KAG-1761](https://konghq.atlassian.net/browse/KAG-1761) + +- use NGX_WASM_MODULE_BRANCH environment variable to set ngx_wasm_module repository branch when building Kong. + [#12241](https://github.com/Kong/kong/issues/12241) + [KAG-3396](https://konghq.atlassian.net/browse/KAG-3396) + +- Eliminate asynchronous timer in syncQuery() to prevent hang risk + [#11900](https://github.com/Kong/kong/issues/11900) + [KAG-2913](https://konghq.atlassian.net/browse/KAG-2913) [FTI-5348](https://konghq.atlassian.net/browse/FTI-5348) + +- **tracing:** Fixed an issue where a DNS query failure would cause a tracing failure. + [#11935](https://github.com/Kong/kong/issues/11935) + [FTI-5544](https://konghq.atlassian.net/browse/FTI-5544) + +- Expressions route in `http` and `stream` subsystem now have stricter validation. +Previously they share the same validation schema which means admin can configure expressions +route using fields like `http.path` even for stream routes. This is no longer allowed. + [#11914](https://github.com/Kong/kong/issues/11914) + [KAG-2961](https://konghq.atlassian.net/browse/KAG-2961) + +- **Tracing**: dns spans are now correctly generated for upstream dns queries (in addition to cosocket ones) + [#11996](https://github.com/Kong/kong/issues/11996) + [KAG-3057](https://konghq.atlassian.net/browse/KAG-3057) + +- Validate private and public key for `keys` entity to ensure they match each other. + [#11923](https://github.com/Kong/kong/issues/11923) + [KAG-390](https://konghq.atlassian.net/browse/KAG-390) + +- **proxy-wasm**: Fixed "previous plan already attached" error thrown when a filter triggers re-entrancy of the access handler. + [#12452](https://github.com/Kong/kong/issues/12452) + [KAG-3603](https://konghq.atlassian.net/browse/KAG-3603) +#### PDK + +- response.set_header support header argument with table array of string + [#12164](https://github.com/Kong/kong/issues/12164) + [FTI-5585](https://konghq.atlassian.net/browse/FTI-5585) + +- Fix an issue that when using kong.response.exit, the Transfer-Encoding header set by user is not removed + [#11936](https://github.com/Kong/kong/issues/11936) + [FTI-5028](https://konghq.atlassian.net/browse/FTI-5028) + +- **Plugin Server**: fix an issue where every request causes a new plugin instance to be created + [#12020](https://github.com/Kong/kong/issues/12020) + [KAG-2969](https://konghq.atlassian.net/browse/KAG-2969) +#### Plugin + +- Add missing WWW-Authenticate headers to 401 response in basic auth plugin. + [#11795](https://github.com/Kong/kong/issues/11795) + [KAG-321](https://konghq.atlassian.net/browse/KAG-321) + +- Enhance error responses for authentication failures in the Admin API + [#12456](https://github.com/Kong/kong/issues/12456) + [SEC-912](https://konghq.atlassian.net/browse/SEC-912) [KAG-1672](https://konghq.atlassian.net/browse/KAG-1672) + +- Expose metrics for serviceless routes + [#11781](https://github.com/Kong/kong/issues/11781) + [FTI-5065](https://konghq.atlassian.net/browse/FTI-5065) + +- **Rate Limiting**: fix to provide better accuracy in counters when sync_rate is used with the redis policy. + [#11859](https://github.com/Kong/kong/issues/11859) + [KAG-2906](https://konghq.atlassian.net/browse/KAG-2906) + +- **Rate Limiting**: fix an issuer where all counters are synced to the same DB at the same rate. + [#12003](https://github.com/Kong/kong/issues/12003) + [KAG-2904](https://konghq.atlassian.net/browse/KAG-2904) + +- **Datadog**: Fix a bug that datadog plugin is not triggered for serviceless routes. In this fix, datadog plugin is always triggered, and the value of tag `name`(service_name) is set as an empty value. + [#12068](https://github.com/Kong/kong/issues/12068) + [FTI-5576](https://konghq.atlassian.net/browse/FTI-5576) +#### Clustering + +- Fix a bug causing data-plane status updates to fail when an empty PING frame is received from a data-plane + [#11917](https://github.com/Kong/kong/issues/11917) + [KAG-2967](https://konghq.atlassian.net/browse/KAG-2967) +## Kong-Manager + + + + + + +### Features +#### Default + +- Added a JSON/YAML format preview for all entity forms. + [#157](https://github.com/Kong/kong-manager/issues/157) + + +- Adopted resigned basic components for better UI/UX. + [#131](https://github.com/Kong/kong-manager/issues/131) [#166](https://github.com/Kong/kong-manager/issues/166) + + +- Kong Manager and Konnect now share the same UI for plugin selection page and plugin form page. + [#143](https://github.com/Kong/kong-manager/issues/143) [#147](https://github.com/Kong/kong-manager/issues/147) + + +### Fixes +#### Default + +- Standardized notification text format. + [#140](https://github.com/Kong/kong-manager/issues/140) + diff --git a/changelog/unreleased/kong-manager/entity_form_preview.yml b/changelog/3.6.0/kong-manager/entity_form_preview.yml similarity index 100% rename from changelog/unreleased/kong-manager/entity_form_preview.yml rename to changelog/3.6.0/kong-manager/entity_form_preview.yml diff --git a/changelog/unreleased/kong-manager/redesigned_basic_components.yml b/changelog/3.6.0/kong-manager/redesigned_basic_components.yml similarity index 100% rename from changelog/unreleased/kong-manager/redesigned_basic_components.yml rename to changelog/3.6.0/kong-manager/redesigned_basic_components.yml diff --git a/changelog/unreleased/kong-manager/standardized_notification_format.yml b/changelog/3.6.0/kong-manager/standardized_notification_format.yml similarity index 100% rename from changelog/unreleased/kong-manager/standardized_notification_format.yml rename to changelog/3.6.0/kong-manager/standardized_notification_format.yml diff --git a/changelog/unreleased/kong-manager/unified_plugin_pages.yml b/changelog/3.6.0/kong-manager/unified_plugin_pages.yml similarity index 100% rename from changelog/unreleased/kong-manager/unified_plugin_pages.yml rename to changelog/3.6.0/kong-manager/unified_plugin_pages.yml diff --git a/changelog/3.6.0/kong/.gitkeep b/changelog/3.6.0/kong/.gitkeep new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/changelog/unreleased/kong/add-ai-prompt-decorator-plugin.yml b/changelog/3.6.0/kong/add-ai-prompt-decorator-plugin.yml similarity index 100% rename from changelog/unreleased/kong/add-ai-prompt-decorator-plugin.yml rename to changelog/3.6.0/kong/add-ai-prompt-decorator-plugin.yml diff --git a/changelog/unreleased/kong/add-ai-prompt-guard-plugin.yml b/changelog/3.6.0/kong/add-ai-prompt-guard-plugin.yml similarity index 100% rename from changelog/unreleased/kong/add-ai-prompt-guard-plugin.yml rename to changelog/3.6.0/kong/add-ai-prompt-guard-plugin.yml diff --git a/changelog/unreleased/kong/add-ai-prompt-template-plugin.yml b/changelog/3.6.0/kong/add-ai-prompt-template-plugin.yml similarity index 100% rename from changelog/unreleased/kong/add-ai-prompt-template-plugin.yml rename to changelog/3.6.0/kong/add-ai-prompt-template-plugin.yml diff --git a/changelog/unreleased/kong/add-ai-proxy-plugin.yml b/changelog/3.6.0/kong/add-ai-proxy-plugin.yml similarity index 100% rename from changelog/unreleased/kong/add-ai-proxy-plugin.yml rename to changelog/3.6.0/kong/add-ai-proxy-plugin.yml diff --git a/changelog/unreleased/kong/add-ai-request-transformer-plugin.yml b/changelog/3.6.0/kong/add-ai-request-transformer-plugin.yml similarity index 100% rename from changelog/unreleased/kong/add-ai-request-transformer-plugin.yml rename to changelog/3.6.0/kong/add-ai-request-transformer-plugin.yml diff --git a/changelog/unreleased/kong/add-ai-response-transformer-plugin.yml b/changelog/3.6.0/kong/add-ai-response-transformer-plugin.yml similarity index 100% rename from changelog/unreleased/kong/add-ai-response-transformer-plugin.yml rename to changelog/3.6.0/kong/add-ai-response-transformer-plugin.yml diff --git a/changelog/unreleased/kong/add-gateway-edition-to-root-endpoint-admin-api.yml b/changelog/3.6.0/kong/add-gateway-edition-to-root-endpoint-admin-api.yml similarity index 100% rename from changelog/unreleased/kong/add-gateway-edition-to-root-endpoint-admin-api.yml rename to changelog/3.6.0/kong/add-gateway-edition-to-root-endpoint-admin-api.yml diff --git a/changelog/unreleased/kong/add_ngx_brotli_module.yml b/changelog/3.6.0/kong/add_ngx_brotli_module.yml similarity index 100% rename from changelog/unreleased/kong/add_ngx_brotli_module.yml rename to changelog/3.6.0/kong/add_ngx_brotli_module.yml diff --git a/changelog/unreleased/kong/atc_reuse_context.yml b/changelog/3.6.0/kong/atc_reuse_context.yml similarity index 100% rename from changelog/unreleased/kong/atc_reuse_context.yml rename to changelog/3.6.0/kong/atc_reuse_context.yml diff --git a/changelog/unreleased/kong/basic_www_authenticate.yml b/changelog/3.6.0/kong/basic_www_authenticate.yml similarity index 100% rename from changelog/unreleased/kong/basic_www_authenticate.yml rename to changelog/3.6.0/kong/basic_www_authenticate.yml diff --git a/changelog/unreleased/kong/bump-atc-router.yml b/changelog/3.6.0/kong/bump-atc-router.yml similarity index 100% rename from changelog/unreleased/kong/bump-atc-router.yml rename to changelog/3.6.0/kong/bump-atc-router.yml diff --git a/changelog/unreleased/kong/bump-cocurrency-limit-of-timer-ng.yml b/changelog/3.6.0/kong/bump-cocurrency-limit-of-timer-ng.yml similarity index 100% rename from changelog/unreleased/kong/bump-cocurrency-limit-of-timer-ng.yml rename to changelog/3.6.0/kong/bump-cocurrency-limit-of-timer-ng.yml diff --git a/changelog/unreleased/kong/bump-lapis-1.16.0.1.yml b/changelog/3.6.0/kong/bump-lapis-1.16.0.1.yml similarity index 100% rename from changelog/unreleased/kong/bump-lapis-1.16.0.1.yml rename to changelog/3.6.0/kong/bump-lapis-1.16.0.1.yml diff --git a/changelog/unreleased/kong/bump-lpeg-1.1.0.yml b/changelog/3.6.0/kong/bump-lpeg-1.1.0.yml similarity index 100% rename from changelog/unreleased/kong/bump-lpeg-1.1.0.yml rename to changelog/3.6.0/kong/bump-lpeg-1.1.0.yml diff --git a/changelog/unreleased/kong/bump-lua-messagepack-0.5.3.yml b/changelog/3.6.0/kong/bump-lua-messagepack-0.5.3.yml similarity index 100% rename from changelog/unreleased/kong/bump-lua-messagepack-0.5.3.yml rename to changelog/3.6.0/kong/bump-lua-messagepack-0.5.3.yml diff --git a/changelog/unreleased/kong/bump-lua-messagepack-0.5.4.yml b/changelog/3.6.0/kong/bump-lua-messagepack-0.5.4.yml similarity index 100% rename from changelog/unreleased/kong/bump-lua-messagepack-0.5.4.yml rename to changelog/3.6.0/kong/bump-lua-messagepack-0.5.4.yml diff --git a/changelog/unreleased/kong/bump-lua-resty-aws-1.3.6.yml b/changelog/3.6.0/kong/bump-lua-resty-aws-1.3.6.yml similarity index 100% rename from changelog/unreleased/kong/bump-lua-resty-aws-1.3.6.yml rename to changelog/3.6.0/kong/bump-lua-resty-aws-1.3.6.yml diff --git a/changelog/unreleased/kong/bump-lua-resty-healthcheck-3.0.1.yml b/changelog/3.6.0/kong/bump-lua-resty-healthcheck-3.0.1.yml similarity index 100% rename from changelog/unreleased/kong/bump-lua-resty-healthcheck-3.0.1.yml rename to changelog/3.6.0/kong/bump-lua-resty-healthcheck-3.0.1.yml diff --git a/changelog/unreleased/kong/bump-lua-resty-lmdb-1.4.1.yml b/changelog/3.6.0/kong/bump-lua-resty-lmdb-1.4.1.yml similarity index 100% rename from changelog/unreleased/kong/bump-lua-resty-lmdb-1.4.1.yml rename to changelog/3.6.0/kong/bump-lua-resty-lmdb-1.4.1.yml diff --git a/changelog/unreleased/kong/bump-lua-resty-timer-ng-to-0.2.6.yml b/changelog/3.6.0/kong/bump-lua-resty-timer-ng-to-0.2.6.yml similarity index 100% rename from changelog/unreleased/kong/bump-lua-resty-timer-ng-to-0.2.6.yml rename to changelog/3.6.0/kong/bump-lua-resty-timer-ng-to-0.2.6.yml diff --git a/changelog/unreleased/kong/bump-ngx-wasm-module.yml b/changelog/3.6.0/kong/bump-ngx-wasm-module.yml similarity index 100% rename from changelog/unreleased/kong/bump-ngx-wasm-module.yml rename to changelog/3.6.0/kong/bump-ngx-wasm-module.yml diff --git a/changelog/unreleased/kong/bump-openresty.yml b/changelog/3.6.0/kong/bump-openresty.yml similarity index 100% rename from changelog/unreleased/kong/bump-openresty.yml rename to changelog/3.6.0/kong/bump-openresty.yml diff --git a/changelog/unreleased/kong/bump-openssl.yml b/changelog/3.6.0/kong/bump-openssl.yml similarity index 100% rename from changelog/unreleased/kong/bump-openssl.yml rename to changelog/3.6.0/kong/bump-openssl.yml diff --git a/changelog/unreleased/kong/bump-resty-openssl.yml b/changelog/3.6.0/kong/bump-resty-openssl.yml similarity index 100% rename from changelog/unreleased/kong/bump-resty-openssl.yml rename to changelog/3.6.0/kong/bump-resty-openssl.yml diff --git a/changelog/unreleased/kong/bump-wasmtime.yml b/changelog/3.6.0/kong/bump-wasmtime.yml similarity index 100% rename from changelog/unreleased/kong/bump-wasmtime.yml rename to changelog/3.6.0/kong/bump-wasmtime.yml diff --git a/changelog/unreleased/kong/bump_dns_stale_ttl.yml b/changelog/3.6.0/kong/bump_dns_stale_ttl.yml similarity index 100% rename from changelog/unreleased/kong/bump_dns_stale_ttl.yml rename to changelog/3.6.0/kong/bump_dns_stale_ttl.yml diff --git a/changelog/unreleased/kong/bump_ngx_brotli.yml b/changelog/3.6.0/kong/bump_ngx_brotli.yml similarity index 100% rename from changelog/unreleased/kong/bump_ngx_brotli.yml rename to changelog/3.6.0/kong/bump_ngx_brotli.yml diff --git a/changelog/unreleased/kong/ca_certificates_reference_check.yml b/changelog/3.6.0/kong/ca_certificates_reference_check.yml similarity index 100% rename from changelog/unreleased/kong/ca_certificates_reference_check.yml rename to changelog/3.6.0/kong/ca_certificates_reference_check.yml diff --git a/changelog/unreleased/kong/clustering-empty-data-plane-hash-fix.yml b/changelog/3.6.0/kong/clustering-empty-data-plane-hash-fix.yml similarity index 100% rename from changelog/unreleased/kong/clustering-empty-data-plane-hash-fix.yml rename to changelog/3.6.0/kong/clustering-empty-data-plane-hash-fix.yml diff --git a/changelog/unreleased/kong/cookie-name-validator.yml b/changelog/3.6.0/kong/cookie-name-validator.yml similarity index 100% rename from changelog/unreleased/kong/cookie-name-validator.yml rename to changelog/3.6.0/kong/cookie-name-validator.yml diff --git a/changelog/unreleased/kong/cp-expose-dp-cert-details.yml b/changelog/3.6.0/kong/cp-expose-dp-cert-details.yml similarity index 100% rename from changelog/unreleased/kong/cp-expose-dp-cert-details.yml rename to changelog/3.6.0/kong/cp-expose-dp-cert-details.yml diff --git a/changelog/unreleased/kong/dao-pk-as-entity.yml b/changelog/3.6.0/kong/dao-pk-as-entity.yml similarity index 100% rename from changelog/unreleased/kong/dao-pk-as-entity.yml rename to changelog/3.6.0/kong/dao-pk-as-entity.yml diff --git a/changelog/unreleased/kong/debian-12-support.yml b/changelog/3.6.0/kong/debian-12-support.yml similarity index 100% rename from changelog/unreleased/kong/debian-12-support.yml rename to changelog/3.6.0/kong/debian-12-support.yml diff --git a/changelog/unreleased/kong/declarative_config_fix.yml b/changelog/3.6.0/kong/declarative_config_fix.yml similarity index 100% rename from changelog/unreleased/kong/declarative_config_fix.yml rename to changelog/3.6.0/kong/declarative_config_fix.yml diff --git a/changelog/unreleased/kong/default_status_port.yml b/changelog/3.6.0/kong/default_status_port.yml similarity index 100% rename from changelog/unreleased/kong/default_status_port.yml rename to changelog/3.6.0/kong/default_status_port.yml diff --git a/changelog/unreleased/kong/deps_bump_lua_resty_healthcheck.yml b/changelog/3.6.0/kong/deps_bump_lua_resty_healthcheck.yml similarity index 100% rename from changelog/unreleased/kong/deps_bump_lua_resty_healthcheck.yml rename to changelog/3.6.0/kong/deps_bump_lua_resty_healthcheck.yml diff --git a/changelog/unreleased/kong/display-warning-message-for-km-misconfig.yml b/changelog/3.6.0/kong/display-warning-message-for-km-misconfig.yml similarity index 100% rename from changelog/unreleased/kong/display-warning-message-for-km-misconfig.yml rename to changelog/3.6.0/kong/display-warning-message-for-km-misconfig.yml diff --git a/changelog/unreleased/kong/enhance_admin_api_auth_error_response.yml b/changelog/3.6.0/kong/enhance_admin_api_auth_error_response.yml similarity index 100% rename from changelog/unreleased/kong/enhance_admin_api_auth_error_response.yml rename to changelog/3.6.0/kong/enhance_admin_api_auth_error_response.yml diff --git a/changelog/unreleased/kong/error_handler_494.yml b/changelog/3.6.0/kong/error_handler_494.yml similarity index 100% rename from changelog/unreleased/kong/error_handler_494.yml rename to changelog/3.6.0/kong/error_handler_494.yml diff --git a/changelog/unreleased/kong/expression_http_headers_sensitive.yml b/changelog/3.6.0/kong/expression_http_headers_sensitive.yml similarity index 100% rename from changelog/unreleased/kong/expression_http_headers_sensitive.yml rename to changelog/3.6.0/kong/expression_http_headers_sensitive.yml diff --git a/changelog/unreleased/kong/expressions_not_operator.yml b/changelog/3.6.0/kong/expressions_not_operator.yml similarity index 100% rename from changelog/unreleased/kong/expressions_not_operator.yml rename to changelog/3.6.0/kong/expressions_not_operator.yml diff --git a/changelog/unreleased/kong/feat-add-cipher-to-the-intermediate.yml b/changelog/3.6.0/kong/feat-add-cipher-to-the-intermediate.yml similarity index 100% rename from changelog/unreleased/kong/feat-add-cipher-to-the-intermediate.yml rename to changelog/3.6.0/kong/feat-add-cipher-to-the-intermediate.yml diff --git a/changelog/unreleased/kong/fix-declarative-config-flattened-data-loss.yml b/changelog/3.6.0/kong/fix-declarative-config-flattened-data-loss.yml similarity index 100% rename from changelog/unreleased/kong/fix-declarative-config-flattened-data-loss.yml rename to changelog/3.6.0/kong/fix-declarative-config-flattened-data-loss.yml diff --git a/changelog/unreleased/kong/fix-error-message-print.yml b/changelog/3.6.0/kong/fix-error-message-print.yml similarity index 100% rename from changelog/unreleased/kong/fix-error-message-print.yml rename to changelog/3.6.0/kong/fix-error-message-print.yml diff --git a/changelog/unreleased/kong/fix-ldoc-intermittent-fail.yml b/changelog/3.6.0/kong/fix-ldoc-intermittent-fail.yml similarity index 100% rename from changelog/unreleased/kong/fix-ldoc-intermittent-fail.yml rename to changelog/3.6.0/kong/fix-ldoc-intermittent-fail.yml diff --git a/changelog/unreleased/kong/fix-pdk-response-set-header-with-table.yml b/changelog/3.6.0/kong/fix-pdk-response-set-header-with-table.yml similarity index 100% rename from changelog/unreleased/kong/fix-pdk-response-set-header-with-table.yml rename to changelog/3.6.0/kong/fix-pdk-response-set-header-with-table.yml diff --git a/changelog/unreleased/kong/fix-upstream-uri-azure-function-plugin.yml b/changelog/3.6.0/kong/fix-upstream-uri-azure-function-plugin.yml similarity index 100% rename from changelog/unreleased/kong/fix-upstream-uri-azure-function-plugin.yml rename to changelog/3.6.0/kong/fix-upstream-uri-azure-function-plugin.yml diff --git a/changelog/unreleased/kong/fix-wasm-module-branch.yml b/changelog/3.6.0/kong/fix-wasm-module-branch.yml similarity index 100% rename from changelog/unreleased/kong/fix-wasm-module-branch.yml rename to changelog/3.6.0/kong/fix-wasm-module-branch.yml diff --git a/changelog/unreleased/kong/fix_dns_blocking.yml b/changelog/3.6.0/kong/fix_dns_blocking.yml similarity index 100% rename from changelog/unreleased/kong/fix_dns_blocking.yml rename to changelog/3.6.0/kong/fix_dns_blocking.yml diff --git a/changelog/unreleased/kong/fix_dns_disable_dns_no_sync.yml b/changelog/3.6.0/kong/fix_dns_disable_dns_no_sync.yml similarity index 100% rename from changelog/unreleased/kong/fix_dns_disable_dns_no_sync.yml rename to changelog/3.6.0/kong/fix_dns_disable_dns_no_sync.yml diff --git a/changelog/unreleased/kong/fix_dns_instrument_error_handling.yml b/changelog/3.6.0/kong/fix_dns_instrument_error_handling.yml similarity index 100% rename from changelog/unreleased/kong/fix_dns_instrument_error_handling.yml rename to changelog/3.6.0/kong/fix_dns_instrument_error_handling.yml diff --git a/changelog/unreleased/kong/inject-nginx-directives-location.yml b/changelog/3.6.0/kong/inject-nginx-directives-location.yml similarity index 100% rename from changelog/unreleased/kong/inject-nginx-directives-location.yml rename to changelog/3.6.0/kong/inject-nginx-directives-location.yml diff --git a/changelog/unreleased/kong/introduce_lmdb_validation_tag.yml b/changelog/3.6.0/kong/introduce_lmdb_validation_tag.yml similarity index 100% rename from changelog/unreleased/kong/introduce_lmdb_validation_tag.yml rename to changelog/3.6.0/kong/introduce_lmdb_validation_tag.yml diff --git a/changelog/unreleased/kong/log-serializer-source-property.yml b/changelog/3.6.0/kong/log-serializer-source-property.yml similarity index 100% rename from changelog/unreleased/kong/log-serializer-source-property.yml rename to changelog/3.6.0/kong/log-serializer-source-property.yml diff --git a/changelog/unreleased/kong/optimize_keepalive_parameters.yml b/changelog/3.6.0/kong/optimize_keepalive_parameters.yml similarity index 100% rename from changelog/unreleased/kong/optimize_keepalive_parameters.yml rename to changelog/3.6.0/kong/optimize_keepalive_parameters.yml diff --git a/changelog/unreleased/kong/pdk-json-encoding-numbers-precision.yml b/changelog/3.6.0/kong/pdk-json-encoding-numbers-precision.yml similarity index 100% rename from changelog/unreleased/kong/pdk-json-encoding-numbers-precision.yml rename to changelog/3.6.0/kong/pdk-json-encoding-numbers-precision.yml diff --git a/changelog/unreleased/kong/pdk-response-send-remove-transfer-encoding.yml b/changelog/3.6.0/kong/pdk-response-send-remove-transfer-encoding.yml similarity index 100% rename from changelog/unreleased/kong/pdk-response-send-remove-transfer-encoding.yml rename to changelog/3.6.0/kong/pdk-response-send-remove-transfer-encoding.yml diff --git a/changelog/unreleased/kong/perf-tracing-from-timers.yml b/changelog/3.6.0/kong/perf-tracing-from-timers.yml similarity index 100% rename from changelog/unreleased/kong/perf-tracing-from-timers.yml rename to changelog/3.6.0/kong/perf-tracing-from-timers.yml diff --git a/changelog/unreleased/kong/plugin-server-instance-leak.yml b/changelog/3.6.0/kong/plugin-server-instance-leak.yml similarity index 100% rename from changelog/unreleased/kong/plugin-server-instance-leak.yml rename to changelog/3.6.0/kong/plugin-server-instance-leak.yml diff --git a/changelog/unreleased/kong/postremove.yml b/changelog/3.6.0/kong/postremove.yml similarity index 100% rename from changelog/unreleased/kong/postremove.yml rename to changelog/3.6.0/kong/postremove.yml diff --git a/changelog/unreleased/kong/prometheus_expose_no_service_metrics.yml b/changelog/3.6.0/kong/prometheus_expose_no_service_metrics.yml similarity index 100% rename from changelog/unreleased/kong/prometheus_expose_no_service_metrics.yml rename to changelog/3.6.0/kong/prometheus_expose_no_service_metrics.yml diff --git a/changelog/unreleased/kong/rate-limiting-fix-redis-sync-rate.yml b/changelog/3.6.0/kong/rate-limiting-fix-redis-sync-rate.yml similarity index 100% rename from changelog/unreleased/kong/rate-limiting-fix-redis-sync-rate.yml rename to changelog/3.6.0/kong/rate-limiting-fix-redis-sync-rate.yml diff --git a/changelog/unreleased/kong/respect-custom-proxy_access_log.yml b/changelog/3.6.0/kong/respect-custom-proxy_access_log.yml similarity index 100% rename from changelog/unreleased/kong/respect-custom-proxy_access_log.yml rename to changelog/3.6.0/kong/respect-custom-proxy_access_log.yml diff --git a/changelog/unreleased/kong/rl-shared-sync-timer.yml b/changelog/3.6.0/kong/rl-shared-sync-timer.yml similarity index 100% rename from changelog/unreleased/kong/rl-shared-sync-timer.yml rename to changelog/3.6.0/kong/rl-shared-sync-timer.yml diff --git a/changelog/unreleased/kong/router-report-yield.yml b/changelog/3.6.0/kong/router-report-yield.yml similarity index 100% rename from changelog/unreleased/kong/router-report-yield.yml rename to changelog/3.6.0/kong/router-report-yield.yml diff --git a/changelog/unreleased/kong/serviceless-routes-still-trigger-datalog-plugin.yml b/changelog/3.6.0/kong/serviceless-routes-still-trigger-datalog-plugin.yml similarity index 100% rename from changelog/unreleased/kong/serviceless-routes-still-trigger-datalog-plugin.yml rename to changelog/3.6.0/kong/serviceless-routes-still-trigger-datalog-plugin.yml diff --git a/changelog/unreleased/kong/standardize-redis-conifguration-acme.yml b/changelog/3.6.0/kong/standardize-redis-conifguration-acme.yml similarity index 100% rename from changelog/unreleased/kong/standardize-redis-conifguration-acme.yml rename to changelog/3.6.0/kong/standardize-redis-conifguration-acme.yml diff --git a/changelog/unreleased/kong/standardize-redis-conifguration-rate-limiting.yml b/changelog/3.6.0/kong/standardize-redis-conifguration-rate-limiting.yml similarity index 100% rename from changelog/unreleased/kong/standardize-redis-conifguration-rate-limiting.yml rename to changelog/3.6.0/kong/standardize-redis-conifguration-rate-limiting.yml diff --git a/changelog/unreleased/kong/standardize-redis-conifguration-response-rl.yml b/changelog/3.6.0/kong/standardize-redis-conifguration-response-rl.yml similarity index 100% rename from changelog/unreleased/kong/standardize-redis-conifguration-response-rl.yml rename to changelog/3.6.0/kong/standardize-redis-conifguration-response-rl.yml diff --git a/changelog/unreleased/kong/subsystems_do_not_share_router_schemas.yml b/changelog/3.6.0/kong/subsystems_do_not_share_router_schemas.yml similarity index 100% rename from changelog/unreleased/kong/subsystems_do_not_share_router_schemas.yml rename to changelog/3.6.0/kong/subsystems_do_not_share_router_schemas.yml diff --git a/changelog/unreleased/kong/support_http_path_segments_field.yml b/changelog/3.6.0/kong/support_http_path_segments_field.yml similarity index 100% rename from changelog/unreleased/kong/support_http_path_segments_field.yml rename to changelog/3.6.0/kong/support_http_path_segments_field.yml diff --git a/changelog/unreleased/kong/support_net_src_dst_field_in_expression.yml b/changelog/3.6.0/kong/support_net_src_dst_field_in_expression.yml similarity index 100% rename from changelog/unreleased/kong/support_net_src_dst_field_in_expression.yml rename to changelog/3.6.0/kong/support_net_src_dst_field_in_expression.yml diff --git a/changelog/unreleased/kong/tracing-dns-query-patch.yml b/changelog/3.6.0/kong/tracing-dns-query-patch.yml similarity index 100% rename from changelog/unreleased/kong/tracing-dns-query-patch.yml rename to changelog/3.6.0/kong/tracing-dns-query-patch.yml diff --git a/changelog/unreleased/kong/tracing-sampling-rate-scope.yml b/changelog/3.6.0/kong/tracing-sampling-rate-scope.yml similarity index 100% rename from changelog/unreleased/kong/tracing-sampling-rate-scope.yml rename to changelog/3.6.0/kong/tracing-sampling-rate-scope.yml diff --git a/changelog/unreleased/kong/validate_private_key.yml b/changelog/3.6.0/kong/validate_private_key.yml similarity index 100% rename from changelog/unreleased/kong/validate_private_key.yml rename to changelog/3.6.0/kong/validate_private_key.yml diff --git a/changelog/unreleased/kong/wasm-attach.yml b/changelog/3.6.0/kong/wasm-attach.yml similarity index 100% rename from changelog/unreleased/kong/wasm-attach.yml rename to changelog/3.6.0/kong/wasm-attach.yml diff --git a/changelog/unreleased/kong/wasm-dynamic-properties.yml b/changelog/3.6.0/kong/wasm-dynamic-properties.yml similarity index 100% rename from changelog/unreleased/kong/wasm-dynamic-properties.yml rename to changelog/3.6.0/kong/wasm-dynamic-properties.yml diff --git a/changelog/unreleased/kong/wasm-injected-shm-kv.yml b/changelog/3.6.0/kong/wasm-injected-shm-kv.yml similarity index 100% rename from changelog/unreleased/kong/wasm-injected-shm-kv.yml rename to changelog/3.6.0/kong/wasm-injected-shm-kv.yml diff --git a/changelog/unreleased/kong-manager/.gitkeep b/changelog/unreleased/kong-manager/.gitkeep new file mode 100644 index 000000000000..e69de29bb2d1