Skip to content

Commit 31c88e4

Browse files
authored
Merge branch 'apache:master' into dev-apisix
2 parents 217b0a0 + 7b1e78a commit 31c88e4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+2005
-196
lines changed

.asf.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,10 @@ github:
5454
dismiss_stale_reviews: true
5555
require_code_owner_reviews: true
5656
required_approving_review_count: 3
57+
release/3.14:
58+
required_pull_request_reviews:
59+
require_code_owner_reviews: true
60+
required_approving_review_count: 3
5761
release/3.13:
5862
required_pull_request_reviews:
5963
require_code_owner_reviews: true

.github/workflows/doc-lint.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
steps:
2525
- uses: actions/checkout@v4
2626
- name: 🚀 Use Node.js
27-
uses: actions/setup-node@v4.4.0
27+
uses: actions/setup-node@v6.0.0
2828
with:
2929
node-version: "12.x"
3030
- run: npm install -g markdownlint-cli@0.25.0

.github/workflows/lint.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
uses: actions/checkout@v4
3434

3535
- name: Setup Nodejs env
36-
uses: actions/setup-node@v4.4.0
36+
uses: actions/setup-node@v6.0.0
3737
with:
3838
node-version: '12'
3939

.requirements

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@
1717

1818
APISIX_PACKAGE_NAME=apisix
1919

20-
APISIX_RUNTIME=1.3.2
21-
APISIX_DASHBOARD_COMMIT=70712bd33f55f7979d4cb73a898e9778e0fbfe8b
20+
APISIX_RUNTIME=1.3.3
21+
APISIX_DASHBOARD_COMMIT=39be363cdbc5395d3163572c532be95f3dbad03a

CHANGELOG.md

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ title: Changelog
2323

2424
## Table of Contents
2525

26+
- [3.14.1](#3141)
27+
- [3.14.0](#3140)
2628
- [3.13.0](#3130)
2729
- [3.12.0](#3120)
2830
- [3.11.0](#3110)
@@ -80,6 +82,123 @@ title: Changelog
8082
- [0.7.0](#070)
8183
- [0.6.0](#060)
8284

85+
## 3.14.1
86+
87+
### Bugfixes
88+
89+
- fix: port conflict in worker process for prometheus port [#12667](https://github.com/apache/apisix/pull/12667)
90+
91+
### Core
92+
93+
- fix: add warning log when skipping check for disabled plugin [#12655](https://github.com/apache/apisix/pull/12655)
94+
- chore: add test for verifying lua-resty-openssl bug fix [#12656](https://github.com/apache/apisix/pull/12656)
95+
96+
## Doc improvements
97+
98+
- docs: remove unnecessary sentence in opentelemetry plugin doc [#12660](https://github.com/apache/apisix/pull/12660)
99+
100+
## 3.14.0
101+
102+
**The changes marked with :warning: are not backward compatible.**
103+
104+
### Change
105+
106+
- :warning: feat: admin api no longer populates default values when writing [#12603](https://github.com/apache/apisix/pull/12603)
107+
- :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)
108+
- :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)
109+
110+
### Bugfixes
111+
112+
- fix: redact encrypted fields from error log [#12629](https://github.com/apache/apisix/pull/12629)
113+
- fix: run init_worker of apisix.admin module in stream subsystem [#12632](https://github.com/apache/apisix/pull/12632)
114+
- fix(ai-proxy-multi): inconsistent resolved nodes for healthcheck [#12594](https://github.com/apache/apisix/pull/12594)
115+
- fix: only trust X-Forwarded-* headers from trusted_addresses [#12551](https://github.com/apache/apisix/pull/12551)
116+
- fix(plugin/redirect): ensure redirect when scheme is not https [#12561](https://github.com/apache/apisix/pull/12561)
117+
- fix: fix ui redirect error when behind proxy [#12566](https://github.com/apache/apisix/pull/12566)
118+
- fix(secret): refresh stale lru cache item in background [#12614](https://github.com/apache/apisix/pull/12614)
119+
- fix: healthcheck manager missing runtime information [#12607](https://github.com/apache/apisix/pull/12607)
120+
- fix(standalone): support stream route in admin api mode [#12604](https://github.com/apache/apisix/pull/12604)
121+
- fix: only log response body when include_resp_body is enabled [#12599](https://github.com/apache/apisix/pull/12599)
122+
- fix: correct spelling error in get_healthcheck_events_module function name [#12587](https://github.com/apache/apisix/pull/12587)
123+
- fix: typo in ai-proxy-multi [#12601](https://github.com/apache/apisix/pull/12601)
124+
- fix(ai-proxy-multi): panic when instance dont have custom endpoint [#12584](https://github.com/apache/apisix/pull/12584)
125+
- fix(ai-prompt-decorator): prevent message accumulation across requests [#12582](https://github.com/apache/apisix/pull/12582)
126+
- fix: docker entrypoint remove stream_worker_events.sock if exists [#12546](https://github.com/apache/apisix/pull/12546)
127+
- fix: add exptime to ewma shared dict items [#12557](https://github.com/apache/apisix/pull/12557)
128+
- fix(ai-proxy): catch malformed override endpoint in schema validation [#12563](https://github.com/apache/apisix/pull/12563)
129+
- fix: missing ctx.llm_raw_usage in non-stream mode [#12564](https://github.com/apache/apisix/pull/12564)
130+
- fix(ai-proxy): set llm variables default value to 0 [#12549](https://github.com/apache/apisix/pull/12549)
131+
- fix(ai-proxy): check type of choices/usage/content fields before use it [#12548](https://github.com/apache/apisix/pull/12548)
132+
- fix(discovery/kubernetes): adjust id length [#12536](https://github.com/apache/apisix/pull/12536)
133+
- fix: basic auth scheme supports case insensitivity [#12539](https://github.com/apache/apisix/pull/12539)
134+
- fix: when only tls.verify, skip the logic of judging client cert [#12527](https://github.com/apache/apisix/pull/12527)
135+
- fix(etcd): load full data from etcd while worker restart [#12523](https://github.com/apache/apisix/pull/12523)
136+
- fix(etcd): upgrade revision when watch request timeout [#12514](https://github.com/apache/apisix/pull/12514)
137+
- fix: enable issue of endpointslices for k8s discovery [#11654](https://github.com/apache/apisix/pull/11654)
138+
- fix(grpc-web): missing trailers when empty resp body [#12490](https://github.com/apache/apisix/pull/12490)
139+
- fix: can not get hostname in redhat [#12267](https://github.com/apache/apisix/pull/12267)
140+
- fix: batch processor cache not working when configure plugin in service [#12474](https://github.com/apache/apisix/pull/12474)
141+
- fix(forward-auth): extra_headers not resolving variable on $post_arg. [#12435](https://github.com/apache/apisix/pull/12435)
142+
- fix: skipped failing bailedout tests in CI [#12462](https://github.com/apache/apisix/pull/12462)
143+
- fix(api-breaker): inconsistent circuit breaking due to premature breaker_time increment [#12451](https://github.com/apache/apisix/pull/12451)
144+
- fix(standalone): lack of configuration validation in api [#12424](https://github.com/apache/apisix/pull/12424)
145+
- fix(log-rotate): skip access log when enable_access_log is set to false [#11310](https://github.com/apache/apisix/pull/11310)
146+
- fix(opentelemetry): remove plugin attr set_ngx_var [#12411](https://github.com/apache/apisix/pull/12411)
147+
- fix: broken mcp-bridge test cases [#12425](https://github.com/apache/apisix/pull/12425)
148+
- fix(request-validation): support Content-Type header with charset for urlencoded data [#12406](https://github.com/apache/apisix/pull/12406)
149+
- fix: zipkin trace_id and span_id format in ngx_var [#12403](https://github.com/apache/apisix/pull/12403)
150+
- fix(consumer): missed consumer update due to wrong version in cache [#12413](https://github.com/apache/apisix/pull/12413)
151+
- revert: fix: forward-auth request body too large [#12404](https://github.com/apache/apisix/pull/12404)
152+
- fix: get_keys only return first 1024 items in shared dict by default [#12380](https://github.com/apache/apisix/pull/12380)
153+
154+
### Core
155+
156+
- ci: migrate docker image for testing to bitnamilegacy repo [#12562](https://github.com/apache/apisix/pull/12562)
157+
- chore: remove redundant profile.apisix_home assignment in start [#12529](https://github.com/apache/apisix/pull/12529)
158+
- chore: upgrade deps to solve vulnerability alerts [#12473](https://github.com/apache/apisix/pull/12473)
159+
- refactor: add healthcheck manager to decouple upstream [#12426](https://github.com/apache/apisix/pull/12426)
160+
- feat: add last modified and digest metadata to standalone API [#12526](https://github.com/apache/apisix/pull/12526)
161+
- feat: support ctx.var.post_arg for vars based route matching on request body [#12388](https://github.com/apache/apisix/pull/12388)
162+
- feat: add a global switch to disable upstream health check [#12407](https://github.com/apache/apisix/pull/12407)
163+
- feat: support multiple json.delay_encode objects in single log [#12395](https://github.com/apache/apisix/pull/12395)
164+
165+
### Plugins
166+
167+
- feat: support OIDC claim validator [#11824](https://github.com/apache/apisix/pull/11824)
168+
- feat: support traffic split plugin for stream routes [#12630](https://github.com/apache/apisix/pull/12630)
169+
- feat: add ksuid algorithm on request-id plugin [#12573](https://github.com/apache/apisix/pull/12573)
170+
- feat: add fallback mechanism for specific error codes in ai-proxy-multi [#12571](https://github.com/apache/apisix/pull/12571)
171+
- feat(ai-proxy): add upstream_response_time in access log [#12555](https://github.com/apache/apisix/pull/12555)
172+
- feat(ai-proxy): add new ctx variable for request llm model [#12554](https://github.com/apache/apisix/pull/12554)
173+
- feat: add support for azure-ai driver [#12565](https://github.com/apache/apisix/pull/12565)
174+
- feat(ai-proxy): add support for pushing logs in ai-proxy plugins [#12515](https://github.com/apache/apisix/pull/12515)
175+
- feat: add ai-aliyun-content-moderation plugin [#12530](https://github.com/apache/apisix/pull/12530)
176+
- feat: allow to use environment variables for openid-connect plugin [#11451](https://github.com/apache/apisix/pull/11451)
177+
- feat(ai-proxy-multi): add support for healthcheck [#12509](https://github.com/apache/apisix/pull/12509)
178+
- feat(ai-proxy): add latency and usage in access log and prometheus metrics [#12518](https://github.com/apache/apisix/pull/12518)
179+
- feat: support limit-conn in workflow plugin [#12465](https://github.com/apache/apisix/pull/12465)
180+
- feat(datadog): Improve Datadog plugin tag support [#11943](https://github.com/apache/apisix/pull/11943)
181+
- feat: decoupled prometheus exporter's calculation and output [#12383](https://github.com/apache/apisix/pull/12383)
182+
- feat: add support for extra_headers in forward-auth plugin [#12405](https://github.com/apache/apisix/pull/12405)
183+
- feat: Add AIMLAPI provider support to AI plugins [#12379](https://github.com/apache/apisix/pull/12379)
184+
185+
## Doc improvements
186+
187+
- docs: update admin api documentation for plugin metadata list endpoint [#12621](https://github.com/apache/apisix/pull/12621)
188+
- docs: add new dashboard documentation [#12616](https://github.com/apache/apisix/pull/12616)
189+
- docs: update note for API-drive standalone mode [#12612](https://github.com/apache/apisix/pull/12612)
190+
- docs: Improve chaitin-waf plugin docs and remove unintended highlights [#12608](https://github.com/apache/apisix/pull/12608)
191+
- docs: remove outdate dashboard doc [#12596](https://github.com/apache/apisix/pull/12596)
192+
- docs: update apisix_upstream_response_time and request_llm_model in access log info [#12583](https://github.com/apache/apisix/pull/12583)
193+
- docs: remove LLM variable in access log examples [#12503](https://github.com/apache/apisix/pull/12503)
194+
- docs: update jwt-auth docs [#12450](https://github.com/apache/apisix/pull/12450)
195+
- docs: update rpm installation guide [#12460](https://github.com/apache/apisix/pull/12460)
196+
- docs: fix typo in credentials doc [#12434](https://github.com/apache/apisix/pull/12434)
197+
- docs: add dashboard ui tips [#12420](https://github.com/apache/apisix/pull/12420)
198+
- docs: correct minor typo for openwhisk [#12401](https://github.com/apache/apisix/pull/12401)
199+
- docs: update changelog with breakchange notices [#12396](https://github.com/apache/apisix/pull/12396)
200+
- docs: improve openid-connect plugin doc and add keycloak OIDC tutorial [#11889](https://github.com/apache/apisix/pull/11889)
201+
83202
## 3.13.0
84203

85204
**The changes marked with :warning: are not backward compatible.**

apisix/admin/resource.lua

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,6 @@ function _M:check_conf(id, conf, need_id, typ, allow_time)
117117
end
118118
end
119119

120-
core.log.info("conf : ", core.json.delay_encode(conf))
121-
122120
-- check the resource own rules
123121
if self.name ~= "secrets" then
124122
core.log.info("schema: ", core.json.delay_encode(self.schema))

apisix/balancer.lua

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,8 +193,6 @@ end
193193
-- 1. in the access phase so that we can set headers according to the picked server
194194
-- 2. each time we need to retry upstream
195195
local function pick_server(route, ctx)
196-
core.log.info("route: ", core.json.delay_encode(route, true))
197-
core.log.info("ctx: ", core.json.delay_encode(ctx, true))
198196
local up_conf = ctx.upstream_conf
199197

200198
for _, node in ipairs(up_conf.nodes) do

apisix/cli/config.lua

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,9 @@ local _M = {
8383
lru = {
8484
secret = {
8585
ttl = 300,
86-
count = 512
86+
count = 512,
87+
neg_ttl = 60,
88+
neg_count = 512
8789
}
8890
}
8991
},
@@ -289,7 +291,7 @@ local _M = {
289291
"ext-plugin-post-resp",
290292
"ai-request-rewrite",
291293
},
292-
stream_plugins = { "ip-restriction", "limit-conn", "mqtt-proxy", "syslog" },
294+
stream_plugins = { "ip-restriction", "limit-conn", "mqtt-proxy", "syslog", "traffic-split" },
293295
plugin_attr = {
294296
["log-rotate"] = {
295297
timeout = 10000,

apisix/cli/ngx_tpl.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ http {
105105
}
106106
107107
server {
108-
listen {* prometheus_server_addr *};
108+
listen {* prometheus_server_addr *} reuseport;
109109
110110
access_log off;
111111
@@ -578,7 +578,7 @@ http {
578578
579579
{% if enabled_plugins["prometheus"] and prometheus_server_addr then %}
580580
server {
581-
listen {* prometheus_server_addr *};
581+
listen {* prometheus_server_addr *} reuseport;
582582
583583
access_log off;
584584

apisix/consumer.lua

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,6 @@ function plugin_consumer()
178178
plugins[name].len = plugins[name].len + 1
179179
core.table.insert(plugins[name].nodes, plugins[name].len,
180180
consumer)
181-
core.log.info("consumer:", core.json.delay_encode(consumer))
182181
end
183182
end
184183

@@ -248,7 +247,6 @@ function create_consume_cache(consumers_conf, key_attr)
248247
local consumer_names = {}
249248

250249
for _, consumer in ipairs(consumers_conf.nodes) do
251-
core.log.info("consumer node: ", core.json.delay_encode(consumer))
252250
local new_consumer = consumer_lrucache(consumer, nil,
253251
fill_consumer_secret, consumer)
254252
consumer_names[new_consumer.auth_conf[key_attr]] = new_consumer

0 commit comments

Comments
 (0)