This is an automated email from the ASF dual-hosted git repository.

shreemaan-abhishek pushed a commit to branch release/3.17
in repository https://gitbox.apache.org/repos/asf/apisix.git


The following commit(s) were added to refs/heads/release/3.17 by this push:
     new 06f3037b5 chore: release 3.17.0
06f3037b5 is described below

commit 06f3037b57546a58f5e5c9ad8741c4a881387bac
Author: Abhishek Choudhary <[email protected]>
AuthorDate: Wed Jun 10 16:54:01 2026 +0800

    chore: release 3.17.0
    
    Signed-off-by: Abhishek Choudhary <[email protected]>
---
 CHANGELOG.md               | 60 ++++++++++++++++++++++++++++++++++++++++++++++
 apisix/core/version.lua    |  2 +-
 ci/check_changelog_prs.ts  |  6 +++++
 docs/en/latest/config.json |  2 +-
 docs/zh/latest/config.json |  2 +-
 5 files changed, 69 insertions(+), 3 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 941c95881..b6b88f386 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -23,6 +23,7 @@ title: Changelog
 
 ## Table of Contents
 
+- [3.17.0](#3170)
 - [3.16.0](#3160)
 - [3.15.0](#3150)
 - [3.14.1](#3141)
@@ -84,6 +85,65 @@ title: Changelog
 - [0.7.0](#070)
 - [0.6.0](#060)
 
+## 3.17.0
+
+**The changes marked with :warning: are not backward compatible.**
+
+### Change
+
+- :warning: change(auth): require configured jwt claims, harden empty 
claims_to_verify and key-auth anonymous fallback 
[#13468](https://github.com/apache/apisix/pull/13468)
+- :warning: remove server-side token generation endpoint 
(`/apisix/plugin/jwe/encrypt`) from jwe-decrypt plugin 
[#13464](https://github.com/apache/apisix/pull/13464)
+- :warning: bound batch-requests pipeline item count, timeout, and tighten 
request schema [#13492](https://github.com/apache/apisix/pull/13492)
+- :warning: default signed_headers to ["date"] in hmac-auth plugin 
[#13388](https://github.com/apache/apisix/pull/13388)
+- :warning: sign request URI cookie and tighten cookie attributes in cas-auth 
plugin (new required `cookie.secret`) 
[#13331](https://github.com/apache/apisix/pull/13331)
+- :warning: add consumer_isolation (default true) and cache_set_cookie options 
to proxy-cache plugin [#13350](https://github.com/apache/apisix/pull/13350)
+
+### Core
+
+- perf(core): cache parsed JSON request body to avoid redundant decoding 
[#13377](https://github.com/apache/apisix/pull/13377)
+- fix: replace module-level mutable tables with per-call allocation 
[#13369](https://github.com/apache/apisix/pull/13369)
+- fix: preserve stream service plugin context 
[#13402](https://github.com/apache/apisix/pull/13402)
+- fix: remove stale HTTP2 body guard 
[#13428](https://github.com/apache/apisix/pull/13428)
+- fix: isolate logger response body buffers 
[#13450](https://github.com/apache/apisix/pull/13450)
+- fix(xrpc): bound redis command-line preallocation size 
[#13483](https://github.com/apache/apisix/pull/13483)
+
+### Plugins
+
+- feat: add acl plugin [#13349](https://github.com/apache/apisix/pull/13349)
+- feat: add data-mask plugin 
[#13347](https://github.com/apache/apisix/pull/13347)
+- feat: add saml-auth plugin 
[#13346](https://github.com/apache/apisix/pull/13346)
+- feat: add dingtalk-auth plugin 
[#13381](https://github.com/apache/apisix/pull/13381)
+- feat: add feishu-auth plugin 
[#13382](https://github.com/apache/apisix/pull/13382)
+- feat(plugin): add error-page plugin 
[#13380](https://github.com/apache/apisix/pull/13380)
+- feat(plugin): add graphql-limit-count plugin 
[#13372](https://github.com/apache/apisix/pull/13372)
+- feat(plugin): add graphql-proxy-cache plugin 
[#13435](https://github.com/apache/apisix/pull/13435)
+- feat: add proxy-buffering plugin 
[#13446](https://github.com/apache/apisix/pull/13446)
+- feat(proxy-cache): honor Vary header for memory strategy 
[#13376](https://github.com/apache/apisix/pull/13376)
+- feat(cas-auth): support configuring an absolute callback URL 
[#13413](https://github.com/apache/apisix/pull/13413)
+- feat(openid-connect): make client_secret optional for local JWT verification 
modes [#13472](https://github.com/apache/apisix/pull/13472)
+- feat(openid-connect): update session config to support lua-resty-session, 
fixes deprecated session.cookie.lifetime 
[#13178](https://github.com/apache/apisix/pull/13178)
+- feat(ai-proxy-multi): add max_retries and retry_on_failure_within_ms for 
fallback [#13495](https://github.com/apache/apisix/pull/13495)
+- feat(hmac-auth): add max_req_body_size to bound request body during 
validation [#13478](https://github.com/apache/apisix/pull/13478)
+- feat: add max_req_body_size to bound client request body in forward-auth and 
ai-proxy [#13466](https://github.com/apache/apisix/pull/13466)
+- perf(ai-proxy): optimize SSE decoder - remove PCRE, add decode_buf, fix 
comment lines [#13391](https://github.com/apache/apisix/pull/13391)
+- perf(ai): reuse raw request body when unchanged 
[#13406](https://github.com/apache/apisix/pull/13406)
+- perf(limit-count): use evalsha with NOSCRIPT fallback for Redis script 
execution [#13363](https://github.com/apache/apisix/pull/13363)
+- fix: sort AI proxy upstream request JSON keys 
[#13461](https://github.com/apache/apisix/pull/13461)
+- fix(ai-proxy-multi): stabilize domain health checks 
[#13441](https://github.com/apache/apisix/pull/13441)
+- fix(ai-proxy): map upstream LLM timeouts to 504 instead of 500 
[#13481](https://github.com/apache/apisix/pull/13481)
+- fix(limit): atomic redis commits and resolved-var validation 
[#13467](https://github.com/apache/apisix/pull/13467)
+- fix(security): encrypt missing secret-like plugin fields at rest 
[#13389](https://github.com/apache/apisix/pull/13389)
+- fix(gcp): report auth_file path instead of file contents in parse error 
[#13409](https://github.com/apache/apisix/pull/13409)
+- fix(authz-keycloak): copy permissions before appending http_method_as_scope 
[#13410](https://github.com/apache/apisix/pull/13410)
+- fix(authz-casdoor): scope session cookie per Casdoor client 
[#13387](https://github.com/apache/apisix/pull/13387)
+- fix(opa): apply send_headers_upstream for headers absent from OPA response 
[#13433](https://github.com/apache/apisix/pull/13433)
+- fix(cas-auth): harden session and callback handling 
[#13427](https://github.com/apache/apisix/pull/13427)
+- fix(cas-auth): return 400 instead of 500 for SLO POST with empty body 
[#13471](https://github.com/apache/apisix/pull/13471)
+- fix(jwe-decrypt): reject tokens that fail to decrypt 
[#13404](https://github.com/apache/apisix/pull/13404)
+- fix: harden cors, multi-auth and body-transformer plugins against malformed 
requests [#13469](https://github.com/apache/apisix/pull/13469)
+- fix(proxy-mirror): keep the original method path when mirroring gRPC 
requests [#13499](https://github.com/apache/apisix/pull/13499)
+- fix(dingtalk-auth): clear client-supplied X-Userinfo before authentication 
[#13491](https://github.com/apache/apisix/pull/13491)
+
 ## 3.16.0
 
 **The changes marked with :warning: are not backward compatible.**
diff --git a/apisix/core/version.lua b/apisix/core/version.lua
index b3a151244..326e22e8b 100644
--- a/apisix/core/version.lua
+++ b/apisix/core/version.lua
@@ -20,5 +20,5 @@
 -- @module core.version
 
 return {
-    VERSION = "3.16.0"
+    VERSION = "3.17.0"
 }
diff --git a/ci/check_changelog_prs.ts b/ci/check_changelog_prs.ts
index 0c5bfa24a..d831ef1b9 100755
--- a/ci/check_changelog_prs.ts
+++ b/ci/check_changelog_prs.ts
@@ -56,6 +56,12 @@ const IGNORE_PRS = [
     12761, 12805, 12844, 12863, 12829, 12725, 12948,
     // 3.16.0
     12958, 13053, 13148, 13100, 13094, 13081,
+    // 3.17.0
+    // 13386 (add configurable request JSON library) + 13407 (qjson error fix) 
were
+    // fully reverted by 13449 within this release, so they net to a no-op and 
are
+    // not user-facing. 13485 is a test-only change (its "fix " subject dodges 
the
+    // type filter).
+    13386, 13407, 13449, 13485,
 ];
 
 
diff --git a/docs/en/latest/config.json b/docs/en/latest/config.json
index 1dc91c6b3..7691e4580 100644
--- a/docs/en/latest/config.json
+++ b/docs/en/latest/config.json
@@ -1,5 +1,5 @@
 {
-  "version": "3.16.0",
+  "version": "3.17.0",
   "sidebar": [
     {
       "type": "category",
diff --git a/docs/zh/latest/config.json b/docs/zh/latest/config.json
index 6240fe6e4..78ab8ad88 100644
--- a/docs/zh/latest/config.json
+++ b/docs/zh/latest/config.json
@@ -1,5 +1,5 @@
 {
-  "version": "3.16.0",
+  "version": "3.17.0",
   "sidebar": [
     {
       "type": "category",

Reply via email to