v2.1.0-rc.1

higress-group/higressv2.1.0-rc.1Mar 27, 2025by johnlanni

AI Summary

This release candidate introduces significant enhancements to AI capabilities, including support for new embedding providers (Ollama, HuggingFace) and OpenAI contract compatibility, alongside improvements to the AI search plugin and general plugin SDK optimizations.

Key Highlights

  • Added support for Ollama and HuggingFace embedding models in ai-cache.
  • Unified SSE processing logic and improved reasoning content transformation for Qwen.
  • Added AI search plugin support for Quark and Elasticsearch hybrid search.
  • Enhanced the plugin SDK and added a new replay protection plugin.

New Features

  • Support for Quark AI search integration
  • Support for HuggingFace embeddings
  • Replay protection plugin
  • Unified SSE processing logic
  • Support for pushing multi-arch images to a custom image registry
  • Support for forwarding embedding calls to Ollama in ai-proxy
  • AI-search plugin supports controlling through the web_search_options parameter

Full Release Notes

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

## New Contributors
* @maratrixx made their first contribution in https://github.com/alibaba/higress/pull/1807
* @firebook made their first contribution in https://github.com/alibaba/higress/pull/1834
* @Colstuwjx made their first contribution in https://github.com/alibaba/higress/pull/1852
* @hzhswyz made their first contribution in https://github.com/alibaba/higress/pull/1918
* @Fengxq2014 made their first contribution in https://github.com/alibaba/higress/pull/1922

**Full Changelog**: https://github.com/alibaba/higress/compare/v2.0.7...v2.1.0-rc.1