1. 5dd7b9f fix(openid-connect): handle temporarily_unavailable error redirects from the ID provider (#13825) by Mohammad Izzraff Janius · 31 hours ago master
  2. f17bcb2 fix(hmac-auth): pass ctx when hiding the Authorization header (#13820) by Arjen10 · 31 hours ago
  3. 48fd32b fix(data-mask): compact JSON array when removing an element (#13818) by Arjen10 · 31 hours ago
  4. 74c5e27 fix(dev-image): add libwww-perl (#13815) by Arjen10 · 31 hours ago
  5. e40857a fix(jwe-decrypt): skip decrypt when token is missing and strict is false (#13822) by Arjen10 · 31 hours ago
  6. 2b69dbc perf(core): sanitize the X-Forwarded-* headers in the NGINX config (#13803) by AlinsRan · 2 days ago
  7. 32a59c8 chore: add OpenAPI repository topics (#13804) by Yilia Lin · 2 days ago
  8. e22bb1c feat(data_encryption): support AES-256 keys in the encryption keyring (#13756) by AlinsRan · 2 days ago
  9. 5c5e1b2 fix(ai-proxy-multi): keep the client request body intact across fallback retries (#13793) by Mohammad Izzraff Janius · 4 days ago
  10. 39b9e43 feat(openid-connect): support PAR and DPoP client options (#13649) by LIAN_XIAOYI · 5 days ago
  11. a242282 fix(ai-content-moderation): moderate the OpenAI `developer` role (#13780) by Shreemaan Abhishek · 5 days ago
  12. d359156 perf(plugin): reuse the filtered global-rule plugin set across phases (#13779) by AlinsRan · 8 days ago
  13. 74af128 docs: add ldap-auth-advanced plugin documentation (#13794) by Mohammad Izzraff Janius · 8 days ago
  14. 524d34c fix: encode control characters in $upstream_uri to prevent CRLF injection (#13787) by Nic · 8 days ago
  15. 60bb943 fix(sls-logger): verify the TLS certificate of the log server (#13785) by Nic · 8 days ago
  16. 2d396ae fix(error-log-logger): do not log the kafka sasl password (#13786) by Nic · 8 days ago
  17. c05c2ec fix(loki-logger): encrypt the headers field (#13784) by Nic · 8 days ago
  18. 78800ae fix: normalize the case of hosts carried on a service (#13781) by AlinsRan · 8 days ago
  19. 11c2d58 feat(ai-aws-content-moderation): add request_check_roles and request_check_mode (#13773) by Shreemaan Abhishek · 10 days ago
  20. 88f37dc fix(etcd): do not advance the watch revision on a timeout, and make the recovery reload cheap (#13721) by AlinsRan · 10 days ago
  21. eca38b2 fix(ci): wait for the kafka broker before creating topics (#13709) by AlinsRan · 11 days ago
  22. 08aef84 fix(plugin): preserve plugin-conf state across consumer route merge (#13757) by AlinsRan · 11 days ago
  23. b87b54d fix(stream): initialize env and secret for TLS cert resolution (#12935) by Surya Parua · 11 days ago
  24. ec07ba5 feat: add ldap-auth-advanced plugin (core authentication) (#13762) by Mohammad Izzraff Janius · 11 days ago
  25. 1738065 fix(ai-aws-content-moderation): respect Comprehend's segment limits and reuse the client (#13767) by Shreemaan Abhishek · 11 days ago
  26. 19e56c4 fix(ai-content-moderation): stop re-counting converted chunks in realtime batches (#13765) by Shreemaan Abhishek · 12 days ago
  27. 5f33466 fix(limit-conn): use parent resource key for consumer isolation (#13600) by DanielWu-star · 13 days ago
  28. 906d883 feat(ai-aws-content-moderation): moderate LLM responses, including streams (#13735) by Shreemaan Abhishek · 2 weeks ago
  29. 59558be chore(core): remove the dead clean_handlers mechanism (#13761) by AlinsRan · 2 weeks ago
  30. 9699cdc fix(prometheus): bump nginx-lua-prometheus-api7 to 1.0.0 (#13754) by AlinsRan · 2 weeks ago
  31. b8738ef fix(config_etcd): keep the previous value when a full reload gets invalid data (#13717) by AlinsRan · 3 weeks ago
  32. fbf78b0 feat(ai-proxy-multi): add semantic load-balancing algorithm (#13676) by AlinsRan · 3 weeks ago
  33. 7c9d605 fix(secret): log an error when a secret reference cannot be resolved (#13737) by Shreemaan Abhishek · 3 weeks ago
  34. ce54248 fix(control): reconcile /v1/plugins/reload like the admin reload path (#13745) by AlinsRan · 3 weeks ago
  35. fcefe6d fix(healthcheck): probe domain nodes by the node domain, not the resolved ip (#13743) by AlinsRan · 3 weeks ago
  36. 64cd2df feat(openid-connect): add set_raw_id_token_header option (#13616) by Luarx · 3 weeks ago
  37. 15c894f fix(admin): encrypt only after successful validation (#13729) by Shreemaan Abhishek · 3 weeks ago
  38. 6125bf3 feat: support http_method and http_req_body in active health checks (#13726) by AlinsRan · 3 weeks ago
  39. 924ee23 docs: add SEO metadata for HTTP/3 guide (#13730) by Yilia Lin · 3 weeks ago
  40. af8466e chore(deps): bump lua-resty-openapi-validator to 1.0.6 (#13728) by AlinsRan · 3 weeks ago
  41. f92576f refactor(ai-providers): make the LLM request client ctx-free (#13699) by AlinsRan · 3 weeks ago
  42. 070853d feat: bound request and response body buffering in plugins (#13705) by Shreemaan Abhishek · 3 weeks ago
  43. 82fcf54 feat(proxy-rewrite): support multiple same-name headers in headers.add/set (#13597) by AlinsRan · 3 weeks ago
  44. a4c4832 fix(cli): quote nginx_config.envs entries so values with spaces work (#13713) by AlinsRan · 4 weeks ago
  45. 132f5a2 fix(openid-connect): redirect instead of 500 on a stale authorization callback (#13712) by AlinsRan · 4 weeks ago
  46. c9eaca6 fix(admin): reconcile plugins reload instead of trusting the broadcast (#13714) by AlinsRan · 4 weeks ago
  47. f9f4a70 fix(ai-proxy): report error-path latency vars in milliseconds (#13711) by AlinsRan · 4 weeks ago
  48. 0f35b15 fix(wolf-rbac): clear upstream identity headers when auth response omits userInfo (#13696) by Shreemaan Abhishek · 4 weeks ago
  49. de5cbb4 fix(opentelemetry): use oneOf for metadata additionalProperties value type (#13690) by Shreemaan Abhishek · 4 weeks ago
  50. ec14387 change(debug): report executed plugins with phase in execution order (#13710) by Nic · 4 weeks ago
  51. 34d42ef feat(stream): support set_real_ip_from to trust an inbound PROXY protocol header (#13700) by Nic · 4 weeks ago
  52. 90617c4 fix(prometheus): bump nginx-lua-prometheus-api7 to 0.20260716 (#13708) by Nic · 4 weeks ago
  53. c14d8e4 test(error-log-logger): don't assert a fixed JSON key order for the broker list (#13703) by Nic · 4 weeks ago
  54. 85bbd30 test(kubernetes): stop TEST 3 failing on the expected apiserver connect error (#13701) by Nic · 4 weeks ago
  55. 3978aa3 fix(limit-count): commit() must report the window-weighted remaining (#13704) by Nic · 4 weeks ago
  56. 9ba9769 chore: bump apisix-runtime to 1.3.11 (#13697) by Nic · 4 weeks ago
  57. 6c68775 fix(balancer): keep least_conn load state across upstream scaling (#13666) by AlinsRan · 4 weeks ago
  58. 72b2475 fix(admin): duplicate consumer authentication keys are silently accepted (#13529) by Nic · 4 weeks ago
  59. b86a6c8 feat(kafka-logger): add TLS support for Kafka brokers (#13607) by JinHwanKim · 4 weeks ago
  60. cd61deb fix(request-validation): guard non-string Content-Type before lower() (#13691) by Shreemaan Abhishek · 4 weeks ago
  61. 6a0ab86 fix(key-auth): propagate real auth error to multi-auth orchestrator (#13693) by Shreemaan Abhishek · 4 weeks ago
  62. a3e5f66 fix(ai-content-moderation): validate deny_code is a valid HTTP status (#13692) by Shreemaan Abhishek · 4 weeks ago
  63. 6c7b56a fix(json): make cjson instances inherit APISIX's cjson options (#13680) by AlinsRan · 4 weeks ago
  64. 36e5ef1 fix(healthcheck): reuse the checker on node-only upstream changes instead of destroy-and-rebuild (#13629) by AlinsRan · 5 weeks ago
  65. 53e5bb5 fix(cli): remove stale key after resolving env var in config keys (#12885) by Artem Pronchakov · 5 weeks ago
  66. f194355 ci: bump apisix-runtime to 1.3.9 (#13695) by Nic · 5 weeks ago
  67. c3d7d5e test: add missing regression coverage for data-mask and saml-auth (#13684) by Shreemaan Abhishek · 5 weeks ago
  68. 51bf1fb fix(basic-auth): validate anonymous_consumer against schema (#13682) by Shreemaan Abhishek · 5 weeks ago
  69. 58a4aa6 feat(ai-rate-limiting): support redis policy for shared counters (#13670) by Shreemaan Abhishek · 5 weeks ago
  70. 2790b2f feat: raise default sizes for non-evictable shared dicts (#13688) by Nic · 5 weeks ago
  71. 1f16a6c fix: fetch secrets from upstream ssl config (#13062) by J.A. · 5 weeks ago
  72. cbd264a fix(opentelemetry): validate x-request-id before using it as trace_id (#12990) by prasun srivastav · 5 weeks ago
  73. 100be4c fix(datadog): cap coalesced DogStatsD datagram size, fall back to per-metric sends (#13665) by Shreemaan Abhishek · 5 weeks ago
  74. 2f0898c fix: invalidate secret LRU cache on /secrets changes (#13668) by Shreemaan Abhishek · 5 weeks ago
  75. c7a76b2 fix(grpc-transcode): encode empty repeated fields as JSON arrays (#13678) by AlinsRan · 5 weeks ago
  76. 8f32786 fix: remove dead chaos tests and bump vulnerable test dependencies (#13679) by Ming Wen · 5 weeks ago
  77. 08aafa5 docs: improve README with quickstart, AI Gateway section, and TOC (#13677) by Ming Wen · 5 weeks ago
  78. a28d9bb fix(ai-proxy): correct Anthropic Messages to OpenAI Chat request conversion (#13674) by Nic · 5 weeks ago
  79. 99106e5 fix(admin): harden stream_route superior_id dependency checks (#13672) by Shreemaan Abhishek · 5 weeks ago
  80. 809455e test(file-logger): cover per-node upstream_unresolved_host mapping (#13669) by Shreemaan Abhishek · 5 weeks ago
  81. 9962bee fix: reject consumer auth when secret reference fails to resolve (#13667) by Shreemaan Abhishek · 5 weeks ago
  82. a3a8138 fix(proxy-rewrite): query string discarded when use_real_request_uri_… (#12843) by YapWC · 5 weeks ago
  83. 7f67c20 fix(log-rotate): reopen logs after partial rotation (#13375) by Zhi Yuan Ju · 5 weeks ago
  84. 0e139c7 feat(router): add match_uri_encoded_slash to keep %2F in path parameters (#13626) by AlinsRan · 5 weeks ago
  85. dadce3a docs: update Debian APT repo instructions (#13660) by Traky Deng · 6 weeks ago
  86. 03a7276 feat(ai-aliyun-content-moderation): moderate system and tool role content (#13646) by AlinsRan · 6 weeks ago
  87. 2b6df4f refactor(ai-aws-content-moderation): moderate decoded LLM content in access phase (#13647) by Shreemaan Abhishek · 6 weeks ago
  88. 333f46a fix(dns): correct error() call in dns client initialization (#13358) by Surya Parua · 6 weeks ago
  89. ca0c318 fix(resource): support all plugin-bearing resource types in fetch_latest_conf (#13663) by AlinsRan · 6 weeks ago
  90. d0c3cee feat(prometheus): add metrics for AI cache hits, misses, bypasses, and embedding latency (#13659) by Mohammad Izzraff Janius · 6 weeks ago
  91. 070a783 test: assert admin metadata GET decrypts on first request (#13645) by Shreemaan Abhishek · 6 weeks ago
  92. 4756428 perf(loggly): hoist per-request closure out of log phase (#13648) by Shreemaan Abhishek · 6 weeks ago
  93. 7b90388 perf(datadog): reuse one UDP socket per batch and coalesce metrics (#13653) by Shreemaan Abhishek · 6 weeks ago
  94. bb70ec0 perf(zipkin): skip span tag construction for unsampled requests (#13656) by Shreemaan Abhishek · 6 weeks ago
  95. a2d34cd feat(ai-cache): add streaming support with format tagging (#13644) by Mohammad Izzraff Janius · 6 weeks ago
  96. b83f323 fix(ai-cache): preserve non-text content in exact key and L2 bypass (#13654) by Shreemaan Abhishek · 6 weeks ago
  97. 5e5554f fix(forward-auth): re-frame buffered POST body for the auth request (#13642) by Shreemaan Abhishek · 6 weeks ago
  98. f6d0ee8 fix(prometheus): truncate llm model-name labels to bound cardinality (#13637) by Shreemaan Abhishek · 6 weeks ago
  99. d2f94b0 fix(opentelemetry): give inject_core_spans its own tracer cache key (#13633) by Shreemaan Abhishek · 6 weeks ago
  100. 11dfb18 fix(ai-protocols): flatten structured message content in the protocol layer (#13634) by Nic · 6 weeks ago