v1.3.4

higress-group/higressv1.3.4Feb 20, 2024by johnlanni

AI Summary

A significant performance and resource management update. It drastically reduces the time for resource changes to take effect (from ~15s to ~1s) by enabling SRDS (Service Registry Discovery Service) by default and implementing Gateway API support.

Key Highlights

  • Massive performance improvement (15s -> 1s) for resource changes
  • Enable SRDS by default
  • Support for Gateway API resources
  • Support for matching pseudo headers
  • Wasm support for OPA (Open Policy Agent)

New Features

  • Enable SRDS by default
  • Support matching pseudo headers
  • Wasm support for OPA (Open Policy Agent)
  • Request-validation plugin
  • Custom-response plugin (Golang version)

Full Release Notes

## What's Changed

### Intro

In this version we have implemented a huge improvement that can support a large number of Ingress and Gateway API resources and significantly reduce the effective time of resource changes.
> In the previous version, when there were 1k ingresses or httproutes (with different domain names and different backend services), changing one ingress took about 15 seconds to take effect, but currently it only takes about 1 second.

###  Feature

* Enable srds by default by @johnlanni in https://github.com/alibaba/higress/pull/811
* feat: optimize transformer go wasm plugin by @Uncle-Justice in https://github.com/alibaba/higress/pull/712
* feat: add global option for upstream by @sjcsjc123 in https://github.com/alibaba/higress/pull/798
* feat: Support matching pseudo headers by @CH3CHO in https://github.com/alibaba/higress/pull/803
* feat: wasm support opa (Open Policy Agent) by @baerwang in https://github.com/alibaba/higress/pull/760
* feat: add request-validation plugin by @sjcsjc123 in https://github.com/alibaba/higress/pull/700
* Implement the Go Wasm plugin: bot-detect by @OnlyPiglet in https://github.com/alibaba/higress/pull/747
* feat: add new param for global option by @sjcsjc123 in https://github.com/alibaba/higress/pull/813
* feat: implement custom-response plugin in the golang version by @cr7258 in https://github.com/alibaba/higress/pull/689

###  Bugfix

* fix CVE-2023-44487 by @johnlanni in https://github.com/alibaba/higress/pull/784
* fix: strip port from host when match scope rds by @johnlanni in https://github.com/alibaba/higress/pull/770
* fix memleak of srds compute by @johnlanni in https://github.com/alibaba/higress/pull/772
* bugfix(main): fix test coverage panic permission denied in darwin/arm64 by @LZiHaN in https://github.com/alibaba/higress/pull/741
* remove useless kube client in nacos v1 watcher by @johnlanni in https://github.com/alibaba/higress/pull/788
* fix: bug with close setting of idle timeout by @sjcsjc123 in https://github.com/alibaba/higress/pull/775
* bugfix: "path=/" will cause panic in WAF plugin by @rinfx in https://github.com/alibaba/higress/pull/809
* fix rds cache by @johnlanni in https://github.com/alibaba/higress/pull/815
* fix: hgctl latest version bug by @2456868764 in https://github.com/alibaba/higress/pull/816

### Others(test/optimize/...)

* test: e2e test support http body check by @Uncle-Justice in https://github.com/alibaba/higress/pull/733
* test: add testcases for CompareRequest&Response by @Uncle-Justice in https://github.com/alibaba/higress/pull/778
* Optimize rds cache by @johnlanni in https://github.com/alibaba/higress/pull/779
* docs: Pre-development preparation by @baerwang in https://github.com/alibaba/higress/pull/762
* improve log output format by @hansedong in https://github.com/alibaba/higress/pull/789
* optimize destinationRule generate by @johnlanni in https://github.com/alibaba/higress/pull/782
* optimize rewrite regex by @johnlanni in https://github.com/alibaba/higress/pull/801
* e2e test opt by @sjcsjc123 in https://github.com/alibaba/higress/pull/746
* test: add codecov target for patch by @Uncle-Justice in https://github.com/alibaba/higress/pull/792
* Unify wasm go sdk version by @Uncle-Justice in https://github.com/alibaba/higress/pull/797
* add devcontainer for wasm-go plugin developing by @rinfx in https://github.com/alibaba/higress/pull/749
* feat: Use new goproxy in makefile by @llahu in https://github.com/alibaba/higress/pull/805
* Increase health check timeout of the first readiness probe from pilot-agent by @johnlanni in https://github.com/alibaba/higress/pull/827
* test: allow specifying HTTP protocol by @spacewander in https://github.com/alibaba/higress/pull/822

## New Contributors

* @LZiHaN made their first contribution in https://github.com/alibaba/higress/pull/741
* @hansedong made their first contribution in https://github.com/alibaba/higress/pull/789
* @llahu made their first contribution in https://github.com/alibaba/higress/pull/805

**Full Changelog**: https://github.com/alibaba/higress/compare/v1.3.3...v1.3.4