v2.0.4
higress-group/higressv2.0.4Dec 6, 2024by johnlanni
AI Summary
This release introduces wildcard domain routing with exact domain fallback, enhances the AI cache with vector similarity, and fixes critical configuration distribution issues.
Key Highlights
- Support for wildcard domain routing with exact domain fallback.
- Enhanced AI cache plugin with vector similarity-based recall and multi-DB support.
- Fixed RDS caching strategy issues during high-frequency configuration updates.
- Added model-router and model-mapper plugins.
New Features
- Wildcard domain routing with exact domain fallback
- AI cache vector similarity-based LLM cache recall
- Model-router and model-mapper plugins
- ApiToken failover mechanism
- Dify provider support (dashscope-finance)
Full Release Notes
## Recommended Upgrade Reasons
### Basic capability update
1. Support for wildcard domain routing with exact domain fallback
As in the example below, in the previous version, when requesting `www.example.com/abcd` , if no route was found under `www.example.com` , it would directly return a 404; in the current version, if no route is found under `www.example.com` , it will then find route under `*.example.com` .
```yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: wildcard-ingress
spec:
rules:
- host: "*.example.com"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: wildcard-service
port:
number: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: exact-ingress
spec:
rules:
- host: "www.example.com"
http:
paths:
- path: /abc
pathType: Exact
backend:
service:
name: exact-service
port:
number: 80
```
### ‼️ Important Fixes
1. In the previous 2.x versions, due to issues with the RDS caching strategy, the latest configuration might not have been distributed during high-frequency updates of the ingress. #1547
3. The previous 2.x version did not automatically configure the number of Envoy worker threads based on the cpu request/limit.
## What's Changed
* AI Agent plugin adds JSON formatting output feature by @xingyunyang01 in https://github.com/alibaba/higress/pull/1374
* feat: Automatically generating markdown documentation for helm charts with helm-docs by @littlejiancc in https://github.com/alibaba/higress/pull/1496
* Optimize AI security guard plugin by @rinfx in https://github.com/alibaba/higress/pull/1473
* fix example sse build error by @007gzs in https://github.com/alibaba/higress/pull/1503
* feat: supports custom prepare build script by @jizhuozhi in https://github.com/alibaba/higress/pull/1490
* Add a quick deployment solution to Alibaba Cloud by @hanans426 in https://github.com/alibaba/higress/pull/1506
* fix workflows build-and-push-wasm-plugin-image by @007gzs in https://github.com/alibaba/higress/pull/1508
* fix compile of wasm cpp plugins by @johnlanni in https://github.com/alibaba/higress/pull/1511
* use the body returned by the ext auth server when auth fails by @johnlanni in https://github.com/alibaba/higress/pull/1510
* feat: implement apiToken failover mechanism by @cr7258 in https://github.com/alibaba/higress/pull/1256
* fix: apitoken failover for coze by @cr7258 in https://github.com/alibaba/higress/pull/1515
* fix: update oidc plugin go.mod dependencies by @Jing-ze in https://github.com/alibaba/higress/pull/1522
* feat: Enhance ai-cache Plugin with Vector Similarity-Based LLM Cache Recall and Multi-DB Support by @EnableAsync in https://github.com/alibaba/higress/pull/1248
* fix: Refresh go.mod and go.sum file contents by @CH3CHO in https://github.com/alibaba/higress/pull/1525
* add model-mapper plugin & optimize model-router plugin by @johnlanni in https://github.com/alibaba/higress/pull/1538
* fix ai fallback by @johnlanni in https://github.com/alibaba/higress/pull/1541
* feat: support custom log by @pepesi in https://github.com/alibaba/higress/pull/1521
* feat: migrate baidu provider to v2 api by @cr7258 in https://github.com/alibaba/higress/pull/1527
* Optimize the overall log output by @johnlanni in https://github.com/alibaba/higress/pull/1549
* set concurrency argument of proxy by cpu limit/request by @johnlanni in https://github.com/alibaba/higress/pull/1552
* fix: 🐛 frontend-gray plugin incorrect URL parsing leads to routing failure. by @heimanba in https://github.com/alibaba/higress/pull/1550
* update ai proxy go mod by @johnlanni in https://github.com/alibaba/higress/pull/1556
* fix: qwen stream issue by @cr7258 in https://github.com/alibaba/higress/pull/1564
* fix xds cache by @johnlanni in https://github.com/alibaba/higress/pull/1559
* fix moonshot usage compatible problem by @rinfx in https://github.com/alibaba/higress/pull/1568
* feat: ai-proxy support dashscope-finance by @pepesi in https://github.com/alibaba/higress/pull/1554
* solve aliyun lvwang content length limit problem by @rinfx in https://github.com/alibaba/higress/pull/1569
* feat: allow cover api-version when use ai-proxy azure provider by @pepesi in https://github.com/alibaba/higress/pull/1535
* extension mechanism for custom logs and span attributes by @rinfx in https://github.com/alibaba/higress/pull/1451
* feat: ai-proxy support custom error handler by cover util.ErrorHandler by @pepesi in https://github.com/alibaba/higress/pull/1537
* rel: Release 2.0.4 by @johnlanni in https://github.com/alibaba/higress/pull/1571
## New Contributors
* @hanans426 made their first contribution in https://github.com/alibaba/higress/pull/1506
**Full Changelog**: https://github.com/alibaba/higress/compare/v2.0.2...v2.0.4