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

ashishtiwari pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix.git


The following commit(s) were added to refs/heads/master by this push:
     new c77be83c8 chore: release 3.14.0 (#12647)
c77be83c8 is described below

commit c77be83c869b020c2a347cdb08258da04dc9349e
Author: Ashish Tiwari <[email protected]>
AuthorDate: Fri Oct 10 11:17:07 2025 +0530

    chore: release 3.14.0 (#12647)
---
 .asf.yaml                         |   4 ++
 CHANGELOG.md                      | 103 ++++++++++++++++++++++++++++++++++++++
 apisix/core/version.lua           |   2 +-
 ci/check_changelog_prs.ts         |   4 +-
 docs/en/latest/building-apisix.md |   2 +-
 docs/en/latest/config.json        |   2 +-
 docs/zh/latest/config.json        |   2 +-
 7 files changed, 114 insertions(+), 5 deletions(-)

diff --git a/.asf.yaml b/.asf.yaml
index 603066ceb..5d0702283 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -54,6 +54,10 @@ github:
         dismiss_stale_reviews: true
         require_code_owner_reviews: true
         required_approving_review_count: 3
+    release/3.14:
+      required_pull_request_reviews:
+        require_code_owner_reviews: true
+        required_approving_review_count: 3
     release/3.13:
       required_pull_request_reviews:
         require_code_owner_reviews: true
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 41c430ab2..0a3aa5ace 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -23,6 +23,7 @@ title: Changelog
 
 ## Table of Contents
 
+- [3.14.0](#3140)
 - [3.13.0](#3130)
 - [3.12.0](#3120)
 - [3.11.0](#3110)
@@ -80,6 +81,108 @@ title: Changelog
 - [0.7.0](#070)
 - [0.6.0](#060)
 
+## 3.14.0
+
+**The changes marked with :warning: are not backward compatible.**
+
+### Change
+
+- :warning: feat: admin api no longer populates default values when writing 
[#12603](https://github.com/apache/apisix/pull/12603)
+- :warning: change(jwt-auth): when algorithm is not RS256 or ES256, require 
the user to fill in secret [#12611](https://github.com/apache/apisix/pull/12611)
+- :warning: change(openid-connect): when bearer_only is false, require the 
user to fill in session.secret 
[#12609](https://github.com/apache/apisix/pull/12609)
+
+### Bugfixes
+
+- fix: redact encrypted fields from error log 
[#12629](https://github.com/apache/apisix/pull/12629)
+- fix: run init_worker of apisix.admin module in stream subsystem 
[#12632](https://github.com/apache/apisix/pull/12632)
+- fix(ai-proxy-multi): inconsistent resolved nodes for healthcheck 
[#12594](https://github.com/apache/apisix/pull/12594)
+- fix: only trust X-Forwarded-* headers from trusted_addresses 
[#12551](https://github.com/apache/apisix/pull/12551)
+- fix(plugin/redirect): ensure redirect when scheme is not https 
[#12561](https://github.com/apache/apisix/pull/12561)
+- fix: fix ui redirect error when behind proxy 
[#12566](https://github.com/apache/apisix/pull/12566)
+- fix(secret): refresh stale lru cache item in background 
[#12614](https://github.com/apache/apisix/pull/12614)
+- fix: healthcheck manager missing runtime information 
[#12607](https://github.com/apache/apisix/pull/12607)
+- fix(standalone): support stream route in admin api mode 
[#12604](https://github.com/apache/apisix/pull/12604)
+- fix: only log response body when include_resp_body is enabled 
[#12599](https://github.com/apache/apisix/pull/12599)
+- fix: correct spelling error in get_healthcheck_events_module function name 
[#12587](https://github.com/apache/apisix/pull/12587)
+- fix: typo in ai-proxy-multi 
[#12601](https://github.com/apache/apisix/pull/12601)
+- fix(ai-proxy-multi): panic when instance dont have custom endpoint 
[#12584](https://github.com/apache/apisix/pull/12584)
+- fix(ai-prompt-decorator): prevent message accumulation across requests 
[#12582](https://github.com/apache/apisix/pull/12582)
+- fix: docker entrypoint remove stream_worker_events.sock if exists 
[#12546](https://github.com/apache/apisix/pull/12546)
+- fix: add exptime to ewma shared dict items 
[#12557](https://github.com/apache/apisix/pull/12557)
+- fix(ai-proxy): catch malformed override endpoint in schema validation 
[#12563](https://github.com/apache/apisix/pull/12563)
+- fix: missing ctx.llm_raw_usage in non-stream mode 
[#12564](https://github.com/apache/apisix/pull/12564)
+- fix(ai-proxy): set llm variables default value to 0 
[#12549](https://github.com/apache/apisix/pull/12549)
+- fix(ai-proxy): check type of choices/usage/content fields before use it 
[#12548](https://github.com/apache/apisix/pull/12548)
+- fix(discovery/kubernetes): adjust id length 
[#12536](https://github.com/apache/apisix/pull/12536)
+- fix: basic auth scheme supports case insensitivity 
[#12539](https://github.com/apache/apisix/pull/12539)
+- fix: when only tls.verify, skip the logic of judging client cert 
[#12527](https://github.com/apache/apisix/pull/12527)
+- fix(etcd): load full data from etcd while worker restart 
[#12523](https://github.com/apache/apisix/pull/12523)
+- fix(etcd): upgrade revision when watch request timeout 
[#12514](https://github.com/apache/apisix/pull/12514)
+- fix: enable issue of endpointslices for k8s discovery 
[#11654](https://github.com/apache/apisix/pull/11654)
+- fix(grpc-web): missing trailers when empty resp body 
[#12490](https://github.com/apache/apisix/pull/12490)
+- fix: can not get hostname in redhat 
[#12267](https://github.com/apache/apisix/pull/12267)
+- fix: batch processor cache not working when configure plugin in service 
[#12474](https://github.com/apache/apisix/pull/12474)
+- fix(forward-auth): extra_headers not resolving variable on $post_arg. 
[#12435](https://github.com/apache/apisix/pull/12435)
+- fix: skipped failing bailedout tests in CI 
[#12462](https://github.com/apache/apisix/pull/12462)
+- fix(api-breaker): inconsistent circuit breaking due to premature 
breaker_time increment [#12451](https://github.com/apache/apisix/pull/12451)
+- fix(standalone): lack of configuration validation in api 
[#12424](https://github.com/apache/apisix/pull/12424)
+- fix(log-rotate): skip access log when enable_access_log is set to false 
[#11310](https://github.com/apache/apisix/pull/11310)
+- fix(opentelemetry): remove plugin attr set_ngx_var 
[#12411](https://github.com/apache/apisix/pull/12411)
+- fix: broken mcp-bridge test cases 
[#12425](https://github.com/apache/apisix/pull/12425)
+- fix(request-validation): support Content-Type header with charset for 
urlencoded data [#12406](https://github.com/apache/apisix/pull/12406)
+- fix: zipkin trace_id and span_id format in ngx_var 
[#12403](https://github.com/apache/apisix/pull/12403)
+- fix(consumer): missed consumer update due to wrong version in cache 
[#12413](https://github.com/apache/apisix/pull/12413)
+- revert: fix: forward-auth request body too large 
[#12404](https://github.com/apache/apisix/pull/12404)
+- fix: get_keys only return first 1024 items in shared dict by default 
[#12380](https://github.com/apache/apisix/pull/12380)
+
+### Core
+
+- ci: migrate docker image for testing to bitnamilegacy repo 
[#12562](https://github.com/apache/apisix/pull/12562)
+- chore: remove redundant profile.apisix_home assignment in start 
[#12529](https://github.com/apache/apisix/pull/12529)
+- chore: upgrade deps to solve vulnerability alerts 
[#12473](https://github.com/apache/apisix/pull/12473)
+- refactor: add healthcheck manager to decouple upstream 
[#12426](https://github.com/apache/apisix/pull/12426)
+- feat: add last modified and digest metadata to standalone API 
[#12526](https://github.com/apache/apisix/pull/12526)
+- feat: support ctx.var.post_arg for vars based route matching on request body 
[#12388](https://github.com/apache/apisix/pull/12388)
+- feat: add a global switch to disable upstream health check 
[#12407](https://github.com/apache/apisix/pull/12407)
+- feat: support multiple json.delay_encode objects in single log 
[#12395](https://github.com/apache/apisix/pull/12395)
+
+### Plugins
+
+- feat: support OIDC claim validator 
[#11824](https://github.com/apache/apisix/pull/11824)
+- feat: support traffic split plugin for stream routes 
[#12630](https://github.com/apache/apisix/pull/12630)
+- feat: add ksuid algorithm on request-id plugin 
[#12573](https://github.com/apache/apisix/pull/12573)
+- feat: add fallback mechanism for specific error codes in ai-proxy-multi 
[#12571](https://github.com/apache/apisix/pull/12571)
+- feat(ai-proxy): add upstream_response_time in access log 
[#12555](https://github.com/apache/apisix/pull/12555)
+- feat(ai-proxy): add new ctx variable for request llm model 
[#12554](https://github.com/apache/apisix/pull/12554)
+- feat: add support for azure-ai driver 
[#12565](https://github.com/apache/apisix/pull/12565)
+- feat(ai-proxy): add support for pushing logs in ai-proxy plugins 
[#12515](https://github.com/apache/apisix/pull/12515)
+- feat: add ai-aliyun-content-moderation plugin 
[#12530](https://github.com/apache/apisix/pull/12530)
+- feat: allow to use environment variables for openid-connect plugin 
[#11451](https://github.com/apache/apisix/pull/11451)
+- feat(ai-proxy-multi): add support for healthcheck 
[#12509](https://github.com/apache/apisix/pull/12509)
+- feat(ai-proxy): add latency and usage in access log and prometheus metrics 
[#12518](https://github.com/apache/apisix/pull/12518)
+- feat: support limit-conn in workflow plugin 
[#12465](https://github.com/apache/apisix/pull/12465)
+- feat(datadog): Improve Datadog plugin tag support 
[#11943](https://github.com/apache/apisix/pull/11943)
+- feat: decoupled prometheus exporter's calculation and output 
[#12383](https://github.com/apache/apisix/pull/12383)
+- feat: add support for extra_headers in forward-auth plugin 
[#12405](https://github.com/apache/apisix/pull/12405)
+- feat: Add AIMLAPI provider support to AI plugins 
[#12379](https://github.com/apache/apisix/pull/12379)
+
+## Doc improvements
+
+- docs: update admin api documentation for plugin metadata list endpoint 
[#12621](https://github.com/apache/apisix/pull/12621)
+- docs: add new dashboard documentation 
[#12616](https://github.com/apache/apisix/pull/12616)
+- docs: update note for API-drive standalone mode 
[#12612](https://github.com/apache/apisix/pull/12612)
+- docs: Improve chaitin-waf plugin docs and remove unintended highlights 
[#12608](https://github.com/apache/apisix/pull/12608)
+- docs: remove outdate dashboard doc 
[#12596](https://github.com/apache/apisix/pull/12596)
+- docs: update apisix_upstream_response_time and request_llm_model in access 
log info [#12583](https://github.com/apache/apisix/pull/12583)
+- docs: remove LLM variable in access log examples 
[#12503](https://github.com/apache/apisix/pull/12503)
+- docs: update jwt-auth docs 
[#12450](https://github.com/apache/apisix/pull/12450)
+- docs: update rpm installation guide 
[#12460](https://github.com/apache/apisix/pull/12460)
+- docs: fix typo in credentials doc 
[#12434](https://github.com/apache/apisix/pull/12434)
+- docs: add dashboard ui tips 
[#12420](https://github.com/apache/apisix/pull/12420)
+- docs: correct minor typo for openwhisk 
[#12401](https://github.com/apache/apisix/pull/12401)
+- docs: update changelog with breakchange notices 
[#12396](https://github.com/apache/apisix/pull/12396)
+- docs: improve openid-connect plugin doc and add keycloak OIDC tutorial 
[#11889](https://github.com/apache/apisix/pull/11889)
+
 ## 3.13.0
 
 **The changes marked with :warning: are not backward compatible.**
diff --git a/apisix/core/version.lua b/apisix/core/version.lua
index 882e228ef..42ed228e9 100644
--- a/apisix/core/version.lua
+++ b/apisix/core/version.lua
@@ -20,5 +20,5 @@
 -- @module core.version
 
 return {
-    VERSION = "3.13.0"
+    VERSION = "3.14.0"
 }
diff --git a/ci/check_changelog_prs.ts b/ci/check_changelog_prs.ts
index e2cad274d..dc7929557 100755
--- a/ci/check_changelog_prs.ts
+++ b/ci/check_changelog_prs.ts
@@ -49,7 +49,9 @@ const IGNORE_PRS = [
     // 3.12.0
     11769, 11816, 11881, 11905, 11924, 11926, 11973, 11991, 11992, 11829,
     // 3.13.0
-    9945, 11420, 11765, 12036, 12048, 12057, 12076, 12122, 12123, 12168, 
12199, 12218, 12225, 12272, 12277, 12300, 12306, 12329, 12353, 12364, 12375, 
12358
+    9945, 11420, 11765, 12036, 12048, 12057, 12076, 12122, 12123, 12168, 
12199, 12218, 12225, 12272, 12277, 12300, 12306, 12329, 12353, 12364, 12375, 
12358,
+    //3.14.0
+    8772, 12655
 ];
 
 
diff --git a/docs/en/latest/building-apisix.md 
b/docs/en/latest/building-apisix.md
index cf2c2da7e..470302df7 100644
--- a/docs/en/latest/building-apisix.md
+++ b/docs/en/latest/building-apisix.md
@@ -48,7 +48,7 @@ To build and package APISIX for a specific platform, see 
[apisix-build-tools](ht
 First of all, we need to specify the branch to be built:
 
 ```shell
-APISIX_BRANCH='release/3.13'
+APISIX_BRANCH='release/3.14'
 ```
 
 Then, you can run the following command to clone the APISIX source code from 
Github:
diff --git a/docs/en/latest/config.json b/docs/en/latest/config.json
index e9505f3a7..bee266f04 100644
--- a/docs/en/latest/config.json
+++ b/docs/en/latest/config.json
@@ -1,5 +1,5 @@
 {
-  "version": "3.13.0",
+  "version": "3.14.0",
   "sidebar": [
     {
       "type": "category",
diff --git a/docs/zh/latest/config.json b/docs/zh/latest/config.json
index 6462e8258..c0489e641 100644
--- a/docs/zh/latest/config.json
+++ b/docs/zh/latest/config.json
@@ -1,5 +1,5 @@
 {
-  "version": "3.13.0",
+  "version": "3.14.0",
   "sidebar": [
     {
       "type": "category",

Reply via email to