Release Apache APISIX 2.9
#
Change- change: rename plugin's balancer method to before_proxy #4697
#
Core- 🌅 feat: increase timers limitation #4843
- 🌅 feat: make A/B test APISIX easier by removing "additionalProperties = false" #4797
- 🌅 feat: support dash in args (#4519) #4676
- 🌅 feat(admin): reject invalid proto #4750
#
Plugin- 🌅 feat(ext-plugin): support ExtraInfo #4835
- 🌅 feat(gzip): support special * to match any type #4817
- 🌅 feat(real-ip): implement the first version #4813
- 🌅 feat(limit-*): add custom reject-message for traffic control #4808
- 🌅 feat: Request-ID plugin add snowflake algorithm #4559
- 🌅 feat: Added authz-casbin plugin and doc and tests for it #4710
- 🌅 feat: add error log skywalking reporter #4633
- 🌅 feat(ext-plugin): send the idempotent key when preparing conf #4736
#
Bugfix- fix: the issue that plugins in global rule may be cached to route #4867
- fix(grpc-transcode): support converting nested message #4859
- fix(authz-keycloak): set permissions as empty table when lazy_load_path is false #4845
- fix(proxy-cache): keep cache_method same with nginx's proxy_cache_methods #4814
- fix(admin): inject updatetime when the requst is PATCH with sub path #4765
- fix(admin): check username for updating consumer #4756
- fix(error-log-logger): avoid sending stale error log #4690
- fix(grpc-transcode): handle enum type #4706
- fix: when a request caused a 500 error, the status was converted to 405 #4696