What's Changed
- update helm docs by @johnlanni in #1782
- feat: add ollama embedding to ai-cache by @Beatrueman in #1794
- feat: Support transforming reasoning_content returned by Qwen to OpenAI contract by @CH3CHO in #1791
- fix: Fix a bug in openaiCustomUrl support by @CH3CHO in #1790
- Add ai search plugin by @johnlanni in #1804
- feat: Unify the SSE processing logic by @CH3CHO in #1800
- fix(typo): use the correct bing name for ai-search. by @maratrixx in #1807
- Add database configuration for plugins that use Redis. by @johnlanni in #1814
- set include_usage by default for all model providers by @johnlanni in #1818
- ai-search support quark by @rinfx in #1811
- add notes to gateway.rollingMaxUnavailable by @littlejiancc in #1819
- feat: update ai-token-ratelimit documentation by removing ai-statistics plugin by @cr7258 in #1767
- Ai data masking msg window by @007gzs in #1775
- feat: ext-auth plugin: Blacklist and whitelist modes support HTTP request method matching by @hanxiantao in #1798
- fix: remove last failed apiToken from retry apiToken list by @cr7258 in #1802
- feat: Support pushing multi-arch images to a custom image registry by @CH3CHO in #1815
- fix rust_wasm_build by @007gzs in #1824
- fix: Disable helm-docs action since it's still under development by @CH3CHO in #1828
- fix: gateway log config should read from helm\core\values.yaml when deploy with helm by @firebook in #1834
- Simplify the implementation of ai-search integration with quark and add a tutorial. by @johnlanni in #1838
- optimize ai search by @johnlanni in #1843
- feat(helm): add podLabels to gateway && controller by @daixijun in #1792
- doc: Update the description of timeout config of ai-proxy by @CH3CHO in #1845
- add plugin start log in sdk by @rinfx in #1831
- feat: Support only watching key resources in one namespace by @CH3CHO in #1821
- Set the llm-api-key field of the ai-search plugin to optional by @johnlanni in #1846
- chore: load EXTRA_TAGS from plugin .buildrc file to avoid build issue. by @Colstuwjx in #1852
- fix plugin_wrapper.go log level by @Colstuwjx in #1848
- fix: Fix the incorrect reasoning content concat logic in ai-proxy by @CH3CHO in #1842
- optimize ai-search references by @johnlanni in #1859
- optimize model router&mapper by @johnlanni in #1866
- feat: allow failover to distinguish between different endpoint of the same provider by @cr7258 in #1862
- feat: add replay protection plugin by @yunmaoQu in #1672
- feat: add huggingface embedding to ai-cache by @Beatrueman in #1864
- add redis init status log by @rinfx in #1867
- support default value by @rinfx in #1873
- feat: support elasticsearch hybrid search by @cr7258 in #1844
- bugfix:[frontend-gray plugin] For fetch requests, force no caching by @heimanba in #1856
- feat: support retry on http status code by @cr7258 in #1817
- fix openai embedding path by @johnlanni in #1881
- Rust WASM plugin support for matching service and route name prefixes is effective. by @007gzs in #1882
- AI-search plugin supports controlling through the web_search_options parameter. by @johnlanni in #1893
- fix chunk merge bug in ai-search by @johnlanni in #1895
- more optimize of ai search plugin by @johnlanni in #1896
- add variable from secret when applying istio cr by @2456868764 in #1877
- optimize retry&failover logic by @johnlanni in #1903
- feat: Support files and batches APIs provided by Azure OpenAI by @CH3CHO in #1904
- support nil option in NewCommonVmCtx by @johnlanni in #1909
- feat: Support forwarding embedding calls to Ollama in ai-proxy by @CH3CHO in #1913
- optimization parseIP in xff by @007gzs in #1915
- fix: Skip reading non-JSON request bodies in ai-proxy by @CH3CHO in #1914
- feat: add ratelimit metrics in the ai-token-ratelimit plugin by @hzhswyz in #1918
- feat: add xfyun emb to ai-cache by @Beatrueman in #1921
- feat: add buffer_limit functions by @Fengxq2014 in #1922
- Fix the error in the embedding interface under the AI proxy Qwen compatible mode. by @rinfx in #1928
- improve the logic for constructing redis key by @rinfx in #1933
- add example for extending span attributes by @rinfx in #1936
- optimize plugin sdk by @johnlanni in #1930
- feat: add golang filter and mcp-server by @Jing-ze in #1942
- chore: Remove redundant get-higress.sh by @CH3CHO in #1943
- feat: add config parse in mcp server by @Jing-ze in #1944
- Add remote mcp server sdk by @johnlanni in #1946
- add parse_rule_config fail log by @007gzs in #1938
- fix invalid ai-proxy cluster by @johnlanni in #1947
- revert wrapper changes by @johnlanni in #1948
- fix ai-search rewrite query when no search result found by @johnlanni in #1949
- add: add mcp server amap tools by @mirror58229 in #1951
- feat: add mcpServer in config map by @Jing-ze in #1953
- feat: update Go filter mcp-server by @Jing-ze in #1950
- Fix log import by @johnlanni in #1957
- fix: Fix the incorrect image used to build envoy by @CH3CHO in #1958
- key auth support multiple credentials by @johnlanni in #1956
- rel 2.1.0-rc.1 by @johnlanni in #1959
New Contributors
- @maratrixx made their first contribution in #1807
- @firebook made their first contribution in #1834
- @Colstuwjx made their first contribution in #1852
- @hzhswyz made their first contribution in #1918
- @Fengxq2014 made their first contribution in #1922
Full Changelog: v2.0.7...v2.1.0-rc.1