This is an automated email from the ASF dual-hosted git repository.
shreemaan-abhishek pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-website.git
The following commit(s) were added to refs/heads/master by this push:
new 18fecf76dcd blog: add 2026 April monthly report (#2034)
18fecf76dcd is described below
commit 18fecf76dcd43e5e43edcaf75c947f6315e5d335
Author: Yilia Lin <[email protected]>
AuthorDate: Thu Apr 30 12:31:23 2026 +0800
blog: add 2026 April monthly report (#2034)
---
blog/en/blog/2026/04/30/2026-apr-monthly-report.md | 149 +++++++++++++++++++++
blog/zh/blog/2026/04/30/2026-apr-monthly-report.md | 149 +++++++++++++++++++++
2 files changed, 298 insertions(+)
diff --git a/blog/en/blog/2026/04/30/2026-apr-monthly-report.md
b/blog/en/blog/2026/04/30/2026-apr-monthly-report.md
new file mode 100644
index 00000000000..60a536d0127
--- /dev/null
+++ b/blog/en/blog/2026/04/30/2026-apr-monthly-report.md
@@ -0,0 +1,149 @@
+---
+title: "2026 Monthly Report (April 01 - April 30)"
+keywords: ["Apache APISIX", "API Gateway", "Monthly Report", "Contributor"]
+description: Our monthly Apache APISIX community report generates insights
into the project's monthly developments. The reports provide a pathway into the
Apache APISIX community, ensuring that you stay well-informed and actively
involved.
+tags: [Community]
+image:
https://static.api7.ai/uploads/2026/04/30/eNntRfyu_2026-apr-monthly-report-cover-en.webp
+---
+
+> Recently, we've introduced and updated some new features, including AWS
Bedrock support in `ai-proxy`, native Anthropic Messages API protocol support,
OpenAI Responses API support, expression-based rate limiting in
`ai-rate-limiting`, UUID v7 generation in `request-id`, and more. For more
details, please read this month's newsletter.
+
+<!--truncate-->
+
+## Introduction
+
+From its inception, the Apache APISIX project has embraced the ethos of
open-source community collaboration, propelling it into the ranks of the most
active global open-source API gateway projects. The proverbial wisdom of
'teamwork makes the dream work' rings true in our way and is made possible by
the collective effort of our community.
+
+From April 1st to April 30th, 17 contributors made 129 commits to Apache
APISIX. We sincerely appreciate your contributions to Apache APISIX.
+
+## Contributor Statistics
+
+
+
+
+
+## Feature Highlights
+
+### 1. Support AWS Bedrock in `ai-proxy` Plugin
+
+PR: https://github.com/apache/apisix/pull/13249
+
+Contributor: [shreemaan-abhishek](https://github.com/shreemaan-abhishek)
+
+This PR adds AWS Bedrock as a supported provider in the `ai-proxy` plugin.
Users can now route AI requests to models hosted on AWS Bedrock using the same
unified interface, expanding the range of supported AI platforms alongside
existing providers like OpenAI and Anthropic.
+
+### 2. Add Per-Protocol `request_body` Override and Rename `max_tokens`
Mapping to `llm_options`
+
+PR: https://github.com/apache/apisix/pull/13269
+
+Contributor: [nic-6443](https://github.com/nic-6443)
+
+This PR allows users to override the request body on a per-protocol basis in
the `ai-proxy` plugin, providing finer-grained control over how requests are
sent to different AI providers. It also renames the `max_tokens` mapping field
to `llm_options` for improved clarity and extensibility.
+
+### 3. Add Provider-Aware `max_tokens` Override with Priority Control
+
+PR: https://github.com/apache/apisix/pull/13251
+
+Contributor: [nic-6443](https://github.com/nic-6443)
+
+This PR adds provider-aware `max_tokens` override support to the `ai-proxy`
plugin, with explicit priority control so that plugin-level settings can be
properly overridden by request-level values. This gives users more predictable
behavior when capping token usage across different AI providers.
+
+### 4. Abort Upstream Read on Client Disconnect During Streaming
+
+PR: https://github.com/apache/apisix/pull/13254
+
+Contributor: [nic-6443](https://github.com/nic-6443)
+
+This PR improves the streaming behavior of the `ai-proxy` plugin by aborting
the upstream read when the client disconnects mid-stream. Previously, APISIX
would continue reading from the upstream AI provider even after the client had
gone away, wasting resources. Now the connection is cleanly terminated.
+
+### 5. Add `max_stream_duration_ms` and `max_response_bytes` Safeguards
+
+PR: https://github.com/apache/apisix/pull/13250
+
+Contributor: [nic-6443](https://github.com/nic-6443)
+
+This PR introduces two new safety limits to the `ai-proxy` plugin:
`max_stream_duration_ms` caps the total duration of a streaming response, and
`max_response_bytes` limits the total bytes read from the upstream AI provider.
These safeguards help protect against runaway AI responses consuming excessive
time or memory.
+
+### 6. Add `core.response.get_response_source()` API for Response Origin
Classification
+
+PR: https://github.com/apache/apisix/pull/13224
+
+Contributor: [nic-6443](https://github.com/nic-6443)
+
+This PR adds a new core API `core.response.get_response_source()` that allows
plugins to determine whether the current response originated from the upstream,
a plugin (e.g., via `ngx.exit()`), or the APISIX core itself. This is useful
for plugins that need to apply different logic depending on the response origin.
+
+### 7. Make `/configs/validate` Available in All Modes
+
+PR: https://github.com/apache/apisix/pull/13220
+
+Contributor: [nic-6443](https://github.com/nic-6443)
+
+This PR makes the `/configs/validate` Admin API endpoint available in all
deployment modes (including standalone mode), not just etcd-backed mode. Users
can now validate their configuration files regardless of how APISIX is deployed.
+
+### 8. Upgrade `lua-resty-limit-traffic` to v1.2.0 in `limit-count`
+
+PR: https://github.com/apache/apisix/pull/13212
+
+Contributor: [nic-6443](https://github.com/nic-6443)
+
+This PR upgrades the underlying `lua-resty-limit-traffic` library used by the
`limit-count` plugin to v1.2.0, bringing in upstream bug fixes and performance
improvements.
+
+### 9. Add Expression-Based Limit Strategy in `ai-rate-limiting`
+
+PR: https://github.com/apache/apisix/pull/13191
+
+Contributor: [nic-6443](https://github.com/nic-6443)
+
+This PR adds expression-based limit strategy support to the `ai-rate-limiting`
plugin. Users can now define dynamic rate limit keys using APISIX expressions
(e.g., based on request headers, consumer names, or other variables), enabling
more flexible and fine-grained AI token rate limiting policies.
+
+### 10. Add OpenAI Responses API (`/v1/responses`) Support
+
+PR: https://github.com/apache/apisix/pull/13186
+
+Contributor: [nic-6443](https://github.com/nic-6443)
+
+This PR adds support for the OpenAI Responses API endpoint (`/v1/responses`)
in the `ai-proxy` plugin. This allows users to proxy requests to the newer
OpenAI Responses API, which provides stateful, multi-turn conversation
capabilities.
+
+### 11. Enhance `encrypt_fields` to Support Nested Structures
+
+PR: https://github.com/apache/apisix/pull/13192
+
+Contributor: [nic-6443](https://github.com/nic-6443)
+
+This PR enhances the `encrypt_fields` mechanism to support nested field
structures, allowing sensitive credentials stored in deeply nested plugin
configurations to be properly encrypted and decrypted. This improves security
coverage for plugins that use nested configuration objects.
+
+### 12. Add `rate-limiting-info` Variable
+
+PR: https://github.com/apache/apisix/pull/13155
+
+Contributor: [shreemaan-abhishek](https://github.com/shreemaan-abhishek)
+
+This PR adds a new built-in variable `rate-limiting-info` that exposes rate
limiting metadata (such as remaining quota and reset time) as an APISIX
variable. Plugins and logging configurations can now reference this variable to
include rate limit context in logs or responses.
+
+### 13. Add Native Anthropic Messages API Protocol Support
+
+PR: https://github.com/apache/apisix/pull/13181
+
+Contributor: [nic-6443](https://github.com/nic-6443)
+
+This PR adds native support for the Anthropic Messages API protocol in the
`ai-proxy` plugin. Users can now send requests using the native Anthropic
Messages API format directly, providing better compatibility with
Anthropic-specific features without requiring OpenAI-compatible translation.
+
+### 14. Add UUID v7 Generation Support in `request-id`
+
+PR: https://github.com/apache/apisix/pull/13152
+
+Contributor: [shreemaan-abhishek](https://github.com/shreemaan-abhishek)
+
+This PR adds UUID v7 generation support to the `request-id` plugin. Unlike
UUID v4 (random), UUID v7 is time-ordered, making it more suitable for
distributed tracing and log correlation where chronological ordering of request
IDs is desirable.
+
+### 15. Support Batch TCP/UDP Port Ranges in `stream_proxy` Config
+
+PR: https://github.com/apache/apisix/pull/13153
+
+Contributor: [shreemaan-abhishek](https://github.com/shreemaan-abhishek)
+
+This PR adds support for specifying batch TCP/UDP port ranges in the
`stream_proxy` configuration, allowing users to listen on a range of ports
(e.g., `9000-9010`) instead of listing each port individually. This simplifies
configuration for services that require multiple consecutive ports.
+
+## Conclusion
+
+The [official website](https://apisix.apache.org/) and [GitHub
Issues](https://github.com/apache/apisix/issues) of Apache APISIX provide a
wealth of documentation of tutorials, and real-world use cases. If you
encounter any issues, you can refer to the documentation, search for keywords
in Issues, or participate in discussions on Issues to share your ideas and
practical experiences.
diff --git a/blog/zh/blog/2026/04/30/2026-apr-monthly-report.md
b/blog/zh/blog/2026/04/30/2026-apr-monthly-report.md
new file mode 100644
index 00000000000..b78cd75acb8
--- /dev/null
+++ b/blog/zh/blog/2026/04/30/2026-apr-monthly-report.md
@@ -0,0 +1,149 @@
+---
+title: "2026 社区月报 (04.01 - 04.30)"
+keywords: ["Apache APISIX", "API 网关", "社区月报", "贡献者"]
+description: Apache APISIX 社区的月报旨在帮助社区成员更全面地了解社区的最新动态,方便大家参与到 Apache APISIX
社区中来。
+tags: [Community]
+image:
https://static.api7.ai/uploads/2026/04/30/qaKsoh3b_2026-apr-monthly-report-cover-cn.webp
+---
+
+> 最近,我们引入并更新了一些新功能,包括 `ai-proxy` 插件支持 AWS Bedrock、原生支持 Anthropic Messages API
协议、支持 OpenAI Responses API、`ai-rate-limiting` 新增基于表达式的限流策略、`request-id` 插件支持
UUID v7 生成等。有关更多细节,请阅读本期月报。
+
+<!--truncate-->
+
+## 导语
+
+Apache APISIX 项目始终秉承着开源社区协作的精神,自问世起便崭露头角,如今已经成为全球最活跃的开源 API
网关项目之一。正如谚语所言,“众人拾柴火焰高”,这一辉煌成就,得益于整个社区伙伴的协同努力。
+
+从 2026.04.01 至 2026.04.30,有 17 名开发者提交了 129 个 commits,为 Apache APISIX
做出了重要贡献。感谢这些伙伴们对 Apache APISIX 的无私支持!正是因为你们的付出,才能让 Apache APISIX 项目不断改进、提升和壮大。
+
+## 贡献者统计
+
+
+
+
+
+## 近期亮点功能
+
+### 1. `ai-proxy` 插件支持 AWS Bedrock
+
+相关 PR:https://github.com/apache/apisix/pull/13249
+
+贡献者:[shreemaan-abhishek](https://github.com/shreemaan-abhishek)
+
+本 PR 为 `ai-proxy` 插件新增了对 AWS Bedrock 的支持。用户现在可以使用 `ai-proxy` 插件提供的统一接口,将 AI
请求路由到托管在 AWS Bedrock 上的模型,进一步扩展了所支持的 AI 平台范围。
+
+### 2. 支持按协议覆盖 `request_body` 并将 `max_tokens` 映射重命名为 `llm_options`
+
+相关 PR:https://github.com/apache/apisix/pull/13269
+
+贡献者:[nic-6443](https://github.com/nic-6443)
+
+本 PR 允许用户在 `ai-proxy` 插件中按协议覆盖请求体,为向不同 AI 提供商发送请求提供了更细粒度的控制。同时将 `max_tokens`
映射字段重命名为 `llm_options`,提升了配置的清晰度与可扩展性。
+
+### 3. 新增支持感知提供商的 `max_tokens` 覆盖及优先级控制
+
+相关 PR:https://github.com/apache/apisix/pull/13251
+
+贡献者:[nic-6443](https://github.com/nic-6443)
+
+本 PR 为 `ai-proxy` 插件新增感知 AI 提供商的 `max_tokens`
覆盖能力,并支持明确的优先级控制,使插件级别的设置可以被请求级别的值正确覆盖。这让用户在跨不同 AI 提供商限制 token 用量时行为更加可预期。
+
+### 4. 流式传输时客户端断开连接则中止上游读取
+
+相关 PR:https://github.com/apache/apisix/pull/13254
+
+贡献者:[nic-6443](https://github.com/nic-6443)
+
+本 PR 改善了 `ai-proxy` 插件的流式传输行为:当客户端在流式响应过程中断开连接时,会立即中止对上游 AI 提供商的读取。此前 APISIX
会在客户端断开后继续读取上游数据,浪费资源。现在连接将被清洁地终止。
+
+### 5. 新增 `max_stream_duration_ms` 和 `max_response_bytes` 安全限制
+
+相关 PR:https://github.com/apache/apisix/pull/13250
+
+贡献者:[nic-6443](https://github.com/nic-6443)
+
+本 PR 为 `ai-proxy` 插件引入了两个新的安全限制:`max_stream_duration_ms`
限制流式响应的总时长,`max_response_bytes` 限制从上游 AI 提供商读取的总字节数。这些保护措施有助于防止 AI
响应无限制地消耗时间或内存资源。
+
+### 6. 新增 `core.response.get_response_source()` API 用于响应来源分类
+
+相关 PR:https://github.com/apache/apisix/pull/13224
+
+贡献者:[nic-6443](https://github.com/nic-6443)
+
+本 PR 新增了核心 API `core.response.get_response_source()`,允许插件判断当前响应来源于上游、插件(如通过
`ngx.exit()` 返回)还是 APISIX 核心本身。这对需要根据响应来源执行不同逻辑的插件非常有用。
+
+### 7. `/configs/validate` 接口在所有模式下均可用
+
+相关 PR:https://github.com/apache/apisix/pull/13220
+
+贡献者:[nic-6443](https://github.com/nic-6443)
+
+本 PR 使 Admin API 的 `/configs/validate` 端点在所有部署模式(包括 Standalone 模式)下均可使用,而不仅限于
etcd 模式。用户无论以何种方式部署 APISIX,都可以验证配置文件的合法性。
+
+### 8. `limit-count` 插件升级 `lua-resty-limit-traffic` 至 v1.2.0
+
+相关 PR:https://github.com/apache/apisix/pull/13212
+
+贡献者:[nic-6443](https://github.com/nic-6443)
+
+本 PR 将 `limit-count` 插件底层依赖的 `lua-resty-limit-traffic` 库升级至 v1.2.0,引入了上游的 Bug
修复与性能改进。
+
+### 9. `ai-rate-limiting` 插件新增基于表达式的限流策略
+
+相关 PR:https://github.com/apache/apisix/pull/13191
+
+贡献者:[nic-6443](https://github.com/nic-6443)
+
+本 PR 为 `ai-rate-limiting` 插件新增了基于表达式的限流策略支持。用户现在可以使用 APISIX
表达式(如基于请求头、消费者名称或其他变量)动态定义限流 key,实现更灵活、更细粒度的 AI token 限流策略。
+
+### 10. 支持 OpenAI Responses API(`/v1/responses`)
+
+相关 PR:https://github.com/apache/apisix/pull/13186
+
+贡献者:[nic-6443](https://github.com/nic-6443)
+
+本 PR 为 `ai-proxy` 插件新增了对 OpenAI Responses API 端点(`/v1/responses`)的支持。用户现在可以通过
APISIX 代理发往最新 OpenAI Responses API 的请求,该 API 提供有状态的多轮对话能力。
+
+### 11. `encrypt_fields` 支持嵌套结构
+
+相关 PR:https://github.com/apache/apisix/pull/13192
+
+贡献者:[nic-6443](https://github.com/nic-6443)
+
+本 PR 增强了 `encrypt_fields`
机制,使其支持嵌套字段结构,从而允许对存储在深层嵌套插件配置中的敏感凭证进行正确加解密。这提升了使用嵌套配置对象的插件的安全覆盖范围。
+
+### 12. 新增 `rate-limiting-info` 变量
+
+相关 PR:https://github.com/apache/apisix/pull/13155
+
+贡献者:[shreemaan-abhishek](https://github.com/shreemaan-abhishek)
+
+本 PR 新增了内置变量 `rate-limiting-info`,将限流元数据(如剩余配额和重置时间)作为 APISIX
变量暴露出来。插件和日志配置现在可以引用该变量,在日志或响应中包含限流上下文信息。
+
+### 13. 原生支持 Anthropic Messages API 协议
+
+相关 PR:https://github.com/apache/apisix/pull/13181
+
+贡献者:[nic-6443](https://github.com/nic-6443)
+
+本 PR 为 `ai-proxy` 插件新增了对 Anthropic Messages API 协议的原生支持。用户现在可以直接使用原生 Anthropic
Messages API 格式发送请求,无需经过 OpenAI 兼容格式转换,提供了对 Anthropic 特有功能更好的兼容性。
+
+### 14. `request-id` 插件支持 UUID v7 生成
+
+相关 PR:https://github.com/apache/apisix/pull/13152
+
+贡献者:[shreemaan-abhishek](https://github.com/shreemaan-abhishek)
+
+本 PR 为 `request-id` 插件新增了 UUID v7 生成支持。与随机的 UUID v4 不同,UUID v7
基于时间排序,更适合分布式追踪和日志关联等需要按时间顺序排列请求 ID 的场景。
+
+### 15. `stream_proxy` 配置支持批量 TCP/UDP 端口范围
+
+相关 PR:https://github.com/apache/apisix/pull/13153
+
+贡献者:[shreemaan-abhishek](https://github.com/shreemaan-abhishek)
+
+本 PR 为 `stream_proxy` 配置新增了批量 TCP/UDP 端口范围支持,允许用户通过范围格式(如
`9000-9010`)指定连续端口,而无需逐一列举。这简化了需要监听多个连续端口的服务的配置工作。
+
+## 结语
+
+Apache APISIX 的项目[官网](https://apisix.apache.org/zh/)和 GitHub 上的
[Issues](https://github.com/apache/apisix/issues)
上已经积累了比较丰富的文档教程和使用经验,如果您遇到问题可以翻阅文档,用关键词在 Issues 中搜索,也可以参与 Issues
上的讨论,提出自己的想法和实践经验。