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

shreemaanabhishek 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 9a3ef2ecc chore: release 3.15.0 (#12947)
9a3ef2ecc is described below

commit 9a3ef2ecc94c798b03e9e1c338b761695729de4f
Author: Shreemaan Abhishek <[email protected]>
AuthorDate: Thu Feb 5 19:41:01 2026 +0545

    chore: release 3.15.0 (#12947)
---
 .requirements              |  2 +-
 CHANGELOG.md               | 59 ++++++++++++++++++++++++++++++++++++++++++++++
 apisix/core/version.lua    |  2 +-
 ci/check_changelog_prs.ts  |  4 +++-
 docs/en/latest/config.json |  2 +-
 docs/zh/latest/config.json |  2 +-
 6 files changed, 66 insertions(+), 5 deletions(-)

diff --git a/.requirements b/.requirements
index f5bafe315..a2b0f88c8 100644
--- a/.requirements
+++ b/.requirements
@@ -18,4 +18,4 @@
 APISIX_PACKAGE_NAME=apisix
 
 APISIX_RUNTIME=1.3.3
-APISIX_DASHBOARD_COMMIT=39be363cdbc5395d3163572c532be95f3dbad03a
+APISIX_DASHBOARD_COMMIT=bbe05ad95396f90db03d831660f454c2844d906e
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 36d3c66e1..21f8e0256 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -23,6 +23,7 @@ title: Changelog
 
 ## Table of Contents
 
+- [3.15.0](#3150)
 - [3.14.1](#3141)
 - [3.14.0](#3140)
 - [3.13.0](#3130)
@@ -82,6 +83,64 @@ title: Changelog
 - [0.7.0](#070)
 - [0.6.0](#060)
 
+## 3.15.0
+
+**The changes marked with :warning: are not backward compatible.**
+
+### Change
+
+- :warning: fix: disallow creating duplicate plugins in global rules 
[#12800](https://github.com/apache/apisix/pull/12800)
+
+### Core
+
+- feat: kubernetes discovery readiness check 
[#12852](https://github.com/apache/apisix/pull/12852)
+- feat: standalone mode status api 
[#12810](https://github.com/apache/apisix/pull/12810)
+- feat: add validate API to standalone mode 
[#12718](https://github.com/apache/apisix/pull/12718)
+- feat: add dependency protocol checking and deletion checking for stream 
routing [#12794](https://github.com/apache/apisix/pull/12794)
+- feat: relax resource name length restriction to 256 
[#11822](https://github.com/apache/apisix/pull/11822)
+- feat: add support for wildcard on SNIs for SSL 
[#12668](https://github.com/apache/apisix/pull/12668)
+- refactor: use secret URI as key for cache and refactor lrucache 
[#12682](https://github.com/apache/apisix/pull/12682)
+- fix: maintain node_version for independent upstream 
[#12856](https://github.com/apache/apisix/pull/12856)
+- fix: request failure during reload after any Eureka node fails 
[#12906](https://github.com/apache/apisix/pull/12906)
+- fix: nacos service discovery request lacks retries after failure 
[#12734](https://github.com/apache/apisix/pull/12734)
+- fix: load full data during init_worker phase require a new apisix-runtime 
[#12678](https://github.com/apache/apisix/pull/12678)
+- chore: upgrade lua-resty-logger-socket 
[#12898](https://github.com/apache/apisix/pull/12898)
+- chore: upgrade lua-resty-dns-client to 7.1.0 
[#12851](https://github.com/apache/apisix/pull/12851)
+- change: remove lua-resty-worker-events from the core dependencies 
[#12930](https://github.com/apache/apisix/pull/12930)
+
+### Plugins
+
+- feat: rate limiting plugins support setting keepalive for redis policy 
[#12861](https://github.com/apache/apisix/pull/12861)
+- feat: support `apisix_request_id` variable with request-id plugin 
[#12931](https://github.com/apache/apisix/pull/12931)
+- feat: support vertex-ai [#12933](https://github.com/apache/apisix/pull/12933)
+- feat: support gemini openai api 
[#12883](https://github.com/apache/apisix/pull/12883)
+- feat: support anthropic openai api 
[#12881](https://github.com/apache/apisix/pull/12881)
+- feat: add support for openrouter 
[#12878](https://github.com/apache/apisix/pull/12878)
+- feat: auth plugins respond with `www-authenticate` header with realm 
[#12864](https://github.com/apache/apisix/pull/12864)
+- feat: allow grpc web in non prefix based routes 
[#12830](https://github.com/apache/apisix/pull/12830)
+- feat(file-logger): add path properties to file-logger plugin metadata 
[#12825](https://github.com/apache/apisix/pull/12825)
+- feat(log): add nested log format support for logger plugins 
[#12697](https://github.com/apache/apisix/pull/12697)
+- feat: add max pending entries to all logger plugins 
[#12709](https://github.com/apache/apisix/pull/12709)
+- feat(kafka-logger): add support for scram for authentication 
[#12693](https://github.com/apache/apisix/pull/12693)
+- fix(limit-conn): implement configurable redis key expiry 
[#12872](https://github.com/apache/apisix/pull/12872)
+- fix(skywalking): start timer when route is hit 
[#12855](https://github.com/apache/apisix/pull/12855)
+- fix: eliminate deepcopy when destroying prometheus 
[#12905](https://github.com/apache/apisix/pull/12905)
+- fix(limit-req): ensure safe eviction of keys in redis 
[#12911](https://github.com/apache/apisix/pull/12911)
+- fix(limit-count): use meta parent to identify plugin source 
[#12900](https://github.com/apache/apisix/pull/12900)
+- fix: Make protocol_name optional and default to 'MQTT' for mqtt plugin 
[#12831](https://github.com/apache/apisix/pull/12831)
+- fix(batch-requests): the number of sub-responses does not match that of 
sub-requests [#12779](https://github.com/apache/apisix/pull/12779)
+- fix(ai-proxy): correct logging schema key in ai-proxy-multi 
[#12795](https://github.com/apache/apisix/pull/12795)
+- fix(plugin_metadata): ensure enable_data_encryption initialization & 
querying issue [#12624](https://github.com/apache/apisix/pull/12624)
+
+### Bugfixes
+
+- fix: correct handling of endpointSlices in Kubernetes service discovery 
[#12634](https://github.com/apache/apisix/pull/12634)
+- fix: Adding request-id header in case of empty header value in request 
[#12837](https://github.com/apache/apisix/pull/12837)
+- fix(docker): adjust permissions for apisix directory to run in openshift 
without anyuid command [#12824](https://github.com/apache/apisix/pull/12824)
+- fix: correct pre/post hook typos in Kubernetes discovery and improve cleanup 
safety [#12288](https://github.com/apache/apisix/pull/12288)
+- fix(performance): move the ipv6 check to schema validation 
[#12714](https://github.com/apache/apisix/pull/12714)
+- fix(authz-keycloak): strip query string when resolving resources with 
lazy_load_paths [#12914](https://github.com/apache/apisix/pull/12914)
+
 ## 3.14.1
 
 ### Bugfixes
diff --git a/apisix/core/version.lua b/apisix/core/version.lua
index db47f95cb..f98207c40 100644
--- a/apisix/core/version.lua
+++ b/apisix/core/version.lua
@@ -20,5 +20,5 @@
 -- @module core.version
 
 return {
-    VERSION = "3.14.1"
+    VERSION = "3.15.0"
 }
diff --git a/ci/check_changelog_prs.ts b/ci/check_changelog_prs.ts
index dc7929557..ed7543623 100755
--- a/ci/check_changelog_prs.ts
+++ b/ci/check_changelog_prs.ts
@@ -51,7 +51,9 @@ const IGNORE_PRS = [
     // 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,
     //3.14.0
-    8772, 12655
+    8772, 12655,
+    // 3.15.0
+    12761, 12805, 12844, 12863, 12829, 12725, 12948
 ];
 
 
diff --git a/docs/en/latest/config.json b/docs/en/latest/config.json
index 7052adca4..bb5495678 100644
--- a/docs/en/latest/config.json
+++ b/docs/en/latest/config.json
@@ -1,5 +1,5 @@
 {
-  "version": "3.14.1",
+  "version": "3.15.0",
   "sidebar": [
     {
       "type": "category",
diff --git a/docs/zh/latest/config.json b/docs/zh/latest/config.json
index fa08cc666..fc1dd46b3 100644
--- a/docs/zh/latest/config.json
+++ b/docs/zh/latest/config.json
@@ -1,5 +1,5 @@
 {
-  "version": "3.14.1",
+  "version": "3.15.0",
   "sidebar": [
     {
       "type": "category",

Reply via email to