Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,10 @@ github:
dismiss_stale_reviews: true
require_code_owner_reviews: true
required_approving_review_count: 3
release/3.12:
required_pull_request_reviews:
require_code_owner_reviews: true
required_approving_review_count: 3
release/3.11:
required_pull_request_reviews:
require_code_owner_reviews: true
Expand Down
62 changes: 62 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ title: Changelog

## Table of Contents

- [3.12.0](#3120)
- [3.11.0](#3110)
- [3.10.0](#3100)
- [3.9.0](#390)
Expand Down Expand Up @@ -78,6 +79,67 @@ title: Changelog
- [0.7.0](#070)
- [0.6.0](#060)

## 3.12.0

### Change

- refactor ai-proxy and ai-proxy-multi [#12030](https://github.com/apache/apisix/pull/12030)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think ai-proxy-multi does not exist in 3.11.0, so it should not be mentioned in "change". Only ai-proxy is considered a change.

#12055 this PR should be mentioned as well, it includes the change of not requiring an upstream configuration.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

- replace plugin attribute with plugin metadata [#11940](https://github.com/apache/apisix/pull/11940)
- each metric should have an expire time [#11838](https://github.com/apache/apisix/pull/11838)

### Bugfixes

- Fix: resync etcd when a lower revision is found [#12015](https://github.com/apache/apisix/pull/12015)
- Fix: remove model options' `stream` default value [#12013](https://github.com/apache/apisix/pull/12013)
- Fix: grpc-web response contains two trailer chunks [#11988](https://github.com/apache/apisix/pull/11988)
- Fix: event_id is nil in chaitin-waf [#11651](https://github.com/apache/apisix/pull/11651)
- Fix: race condition problem while update upstream.nodes [#11916](https://github.com/apache/apisix/pull/11916)
- Fix: `upstream_obj.upstream` should not be a string [#11932](https://github.com/apache/apisix/pull/11932)
- Fix: query params in override.endpoint not being sent to LLMs [#11863](https://github.com/apache/apisix/pull/11863)
- Fix: corrupt data in routes() response due to healthchecker data [#11844](https://github.com/apache/apisix/pull/11844)
- Fix: deepcopy should copy same table exactly only once [#11861](https://github.com/apache/apisix/pull/11861)
- Fix: disallow empty key configuration attributes [#11852](https://github.com/apache/apisix/pull/11852)
- Fix: etcd watch restart when receive invalid revision [#11833](https://github.com/apache/apisix/pull/11833)
- Fix: missing parsed_url nil check [#11637](https://github.com/apache/apisix/pull/11637)
- Fix: use `plugin.get` to fetch plugin configured in multi-auth plugin [#11794](https://github.com/apache/apisix/pull/11794)
- Fix: allow special characters in uri params [#11788](https://github.com/apache/apisix/pull/11788)
- Fix: add nil check to conf in body-transformer [#11768](https://github.com/apache/apisix/pull/11768)
- Fix: use max_req_body_bytes field in custom_format [#11771](https://github.com/apache/apisix/pull/11771)
- Fix: health checker can't be released due to health parent being released early [#11760](https://github.com/apache/apisix/pull/11760)
- Fix: use right modifiedIndex for consumer when use credential [#11649](https://github.com/apache/apisix/pull/11649)

### Core

- upgrade openresty version to v1.27.11 [#11936](https://github.com/apache/apisix/pull/11936)
- add support for "system" ssl_trusted_certificate [#11809](https://github.com/apache/apisix/pull/11809)
- support _meta.pre_function to execute custom logic before execution of each phase [#11793](https://github.com/apache/apisix/pull/11793)
- support anonymous consumer [#11917](https://github.com/apache/apisix/pull/11917)
- accelerate the creation of the consumer cache [#11840](https://github.com/apache/apisix/pull/11840)
- replace 'string.find' with 'core.string.find' [#11886](https://github.com/apache/apisix/pull/11886)
- workflow plugin registration [#11832](https://github.com/apache/apisix/pull/11832)

### Plugins

- support embeddings API [#12062](https://github.com/apache/apisix/pull/12062)
- implement rate limiting based fallback strategy [#12047](https://github.com/apache/apisix/pull/12047)
- ai-rate-limiting plugin [#12037](https://github.com/apache/apisix/pull/12037)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add xxx plugin

- add `valid_issuers` field in `openid-connect` plugin [#12002](https://github.com/apache/apisix/pull/12002)
- add ai-prompt-guard plugin [#12008](https://github.com/apache/apisix/pull/12008)
- add jwt audience validator [#11987](https://github.com/apache/apisix/pull/11987)
- store JWT in the request context [#11675](https://github.com/apache/apisix/pull/11675)
- support proxying openai compatible LLMs [#12004](https://github.com/apache/apisix/pull/12004)
- add `ai-proxy-multi` plugin [#11986](https://github.com/apache/apisix/pull/11986)
- make rate-limit response headers configurable [#11831](https://github.com/apache/apisix/pull/11831)
- allow workflow config without case [#11787](https://github.com/apache/apisix/pull/11787)
- support mulipart content-type in `body-transformer` [#11767](https://github.com/apache/apisix/pull/11767)
- plugins in multi-auth returns error instead of logging it [#11775](https://github.com/apache/apisix/pull/11775)
- support configuring `key_claim_name` [#11772](https://github.com/apache/apisix/pull/11772)
- add Total request per second panel in grafana dashboard [#11692](https://github.com/apache/apisix/pull/11692)
- add ai-rag plugin [#11568](https://github.com/apache/apisix/pull/11568)
- add ai-content-moderation plugin [#11541](https://github.com/apache/apisix/pull/11541)
- use setmetatable to set hidden variables without effecting serialisation [#11770](https://github.com/apache/apisix/pull/11770)
- rectify business logic/code in ai-proxy [#12055](https://github.com/apache/apisix/pull/12055)

## 3.11.0

### Change
Expand Down
2 changes: 1 addition & 1 deletion apisix/core/version.lua
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@
-- @module core.version

return {
VERSION = "3.11.0"
VERSION = "3.12.0"
}
2 changes: 1 addition & 1 deletion docs/en/latest/building-apisix.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 version `APISIX_VERSION` to be installed:

```shell
APISIX_VERSION='3.11.0'
APISIX_VERSION='3.12.0'
```

Then, you can run the following command to clone the APISIX source code from Github:
Expand Down
2 changes: 1 addition & 1 deletion docs/en/latest/config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "3.11.0",
"version": "3.12.0",
"sidebar": [
{
"type": "category",
Expand Down
2 changes: 1 addition & 1 deletion docs/zh/latest/building-apisix.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ import TabItem from '@theme/TabItem';
首先,我们需要指定需要安装的版本`APISIX_VERSION`:

```shell
APISIX_VERSION='3.11.0'
APISIX_VERSION='3.12.0'
```

然后,你可以运行以下命令,从 Github 克隆 APISIX 源码:
Expand Down
2 changes: 1 addition & 1 deletion docs/zh/latest/config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "3.11.0",
"version": "3.12.0",
"sidebar": [
{
"type": "category",
Expand Down
Loading