@@ -23,6 +23,7 @@ title: Changelog
2323
2424## Table of Contents
2525
26+ - [ 3.12.0] ( #3120 )
2627- [ 3.11.0] ( #3110 )
2728- [ 3.10.0] ( #3100 )
2829- [ 3.9.0] ( #390 )
@@ -78,6 +79,68 @@ title: Changelog
7879- [ 0.7.0] ( #070 )
7980- [ 0.6.0] ( #060 )
8081
82+ ## 3.12.0
83+
84+ ### Change
85+
86+ - replace plugin attribute with plugin metadata in ` opentelemetry ` plugin [ #11940 ] ( https://github.com/apache/apisix/pull/11940 )
87+ - add expiration time for all Prometheus metrics [ #11838 ] ( https://github.com/apache/apisix/pull/11838 )
88+ - allow workflow config without case [ #11787 ] ( https://github.com/apache/apisix/pull/11787 )
89+ - refactor: ai-content-moderation to ai-aws-content-moderation (#12010 )
90+ - rectify business logic/code in ai-proxy [ #12055 ] ( https://github.com/apache/apisix/pull/12055 )
91+
92+ ### Bugfixes
93+
94+ - Fix: resync etcd when a lower revision is found [ #12015 ] ( https://github.com/apache/apisix/pull/12015 )
95+ - Fix: remove model options' ` stream ` default value [ #12013 ] ( https://github.com/apache/apisix/pull/12013 )
96+ - Fix: grpc-web response contains two trailer chunks [ #11988 ] ( https://github.com/apache/apisix/pull/11988 )
97+ - Fix: event_id is nil in chaitin-waf [ #11651 ] ( https://github.com/apache/apisix/pull/11651 )
98+ - Fix: race condition problem while update upstream.nodes [ #11916 ] ( https://github.com/apache/apisix/pull/11916 )
99+ - Fix: ` upstream_obj.upstream ` should not be a string [ #11932 ] ( https://github.com/apache/apisix/pull/11932 )
100+ - Fix: query params in override.endpoint not being sent to LLMs [ #11863 ] ( https://github.com/apache/apisix/pull/11863 )
101+ - Fix: corrupt data in routes() response due to healthchecker data [ #11844 ] ( https://github.com/apache/apisix/pull/11844 )
102+ - Fix: deepcopy should copy same table exactly only once [ #11861 ] ( https://github.com/apache/apisix/pull/11861 )
103+ - Fix: disallow empty key configuration attributes [ #11852 ] ( https://github.com/apache/apisix/pull/11852 )
104+ - Fix: etcd watch restart when receive invalid revision [ #11833 ] ( https://github.com/apache/apisix/pull/11833 )
105+ - Fix: missing parsed_url nil check [ #11637 ] ( https://github.com/apache/apisix/pull/11637 )
106+ - Fix: use ` plugin.get ` to fetch plugin configured in multi-auth plugin [ #11794 ] ( https://github.com/apache/apisix/pull/11794 )
107+ - Fix: allow special characters in uri params [ #11788 ] ( https://github.com/apache/apisix/pull/11788 )
108+ - Fix: add nil check to conf in body-transformer [ #11768 ] ( https://github.com/apache/apisix/pull/11768 )
109+ - Fix: use max_req_body_bytes field in custom_format [ #11771 ] ( https://github.com/apache/apisix/pull/11771 )
110+ - Fix: health checker can't be released due to health parent being released early [ #11760 ] ( https://github.com/apache/apisix/pull/11760 )
111+ - Fix: use right modifiedIndex for consumer when use credential [ #11649 ] ( https://github.com/apache/apisix/pull/11649 )
112+
113+ ### Core
114+
115+ - upgrade openresty version to v1.27.11 [ #11936 ] ( https://github.com/apache/apisix/pull/11936 )
116+ - Support the use of system-provided CA certs in ` ssl_trusted_certificate ` [ #11809 ] ( https://github.com/apache/apisix/pull/11809 )
117+ - support _ meta.pre_function to execute custom logic before execution of each phase [ #11793 ] ( https://github.com/apache/apisix/pull/11793 )
118+ - support anonymous consumer [ #11917 ] ( https://github.com/apache/apisix/pull/11917 )
119+ - accelerate the creation of the consumer cache [ #11840 ] ( https://github.com/apache/apisix/pull/11840 )
120+ - replace 'string.find' with 'core.string.find' [ #11886 ] ( https://github.com/apache/apisix/pull/11886 )
121+ - workflow plugin registration [ #11832 ] ( https://github.com/apache/apisix/pull/11832 )
122+
123+ ### Plugins
124+
125+ - refactor ai-proxy and ai-proxy-multi [ #12030 ] ( https://github.com/apache/apisix/pull/12030 )
126+ - support embeddings API [ #12062 ] ( https://github.com/apache/apisix/pull/12062 )
127+ - implement rate limiting based fallback strategy [ #12047 ] ( https://github.com/apache/apisix/pull/12047 )
128+ - ai-rate-limiting plugin [ #12037 ] ( https://github.com/apache/apisix/pull/12037 )
129+ - add ` valid_issuers ` field in ` openid-connect ` plugin [ #12002 ] ( https://github.com/apache/apisix/pull/12002 )
130+ - add ai-prompt-guard plugin [ #12008 ] ( https://github.com/apache/apisix/pull/12008 )
131+ - add jwt audience validator [ #11987 ] ( https://github.com/apache/apisix/pull/11987 )
132+ - store JWT in the request context [ #11675 ] ( https://github.com/apache/apisix/pull/11675 )
133+ - support proxying openai compatible LLMs [ #12004 ] ( https://github.com/apache/apisix/pull/12004 )
134+ - add ` ai-proxy-multi ` plugin [ #11986 ] ( https://github.com/apache/apisix/pull/11986 ) [ #12030 ] ( https://github.com/apache/apisix/pull/12030 )
135+ - make rate limiting response header names configurable [ #11831 ] ( https://github.com/apache/apisix/pull/11831 )
136+ - support mulipart content-type in ` body-transformer ` [ #11767 ] ( https://github.com/apache/apisix/pull/11767 )
137+ - plugins in multi-auth returns error instead of logging it [ #11775 ] ( https://github.com/apache/apisix/pull/11775 )
138+ - support configuring ` key_claim_name ` [ #11772 ] ( https://github.com/apache/apisix/pull/11772 )
139+ - add Total request per second panel in grafana dashboard [ #11692 ] ( https://github.com/apache/apisix/pull/11692 )
140+ - add ai-rag plugin [ #11568 ] ( https://github.com/apache/apisix/pull/11568 )
141+ - add ai-content-moderation plugin [ #11541 ] ( https://github.com/apache/apisix/pull/11541 )
142+ - use setmetatable to set hidden variables without effecting serialisation [ #11770 ] ( https://github.com/apache/apisix/pull/11770 )
143+
81144## 3.11.0
82145
83146### Change
0 commit comments