v2.3.1 (2022-12-28)
Significant changes:
- Support OpenTelemetry for tracing.
- Add new filter Redirector to handle HTTP 3xx redirects.
- Add prometheus support for Proxy and HTTPServer.
Implemented enhancements:
- Add LDAP mode for basic authentication.
- Add Broker mode for MQTTProxy.
- Support HTTPS for egctl and easegress-server.
- Enhance egctl delete.
v2.3.0 (2022-11-28)
Significant changes:
- HTTPServer: support radix tree router and routing by client IP.
- Add new filter OPAFilter for Open Policy Agent.
Implemented enhancements:
- Load Balance: support session and server health check.
- Making running objects dump interval configurable.
- Simplify CORSAdaptor.
Fixed bugs:
- Fix unexpected EOF when compression is enabled.
- Remove duplicated code in codectool.
- Update keyfunc for compatibility and bug fixes.
- Fix mqtt test random fail.
v2.2.0 (2022-10-18)
Significant changes:
- Add new filter WebSocketProxy and remove controller WebSocketServer.
- Add new filter OIDCAdaptor for OpenID Connect 1.0 authorization.
- Add new filter DataBuilder.
Implemented enhancements:
- Support routing by query string.
- Update wasmtime-go.
- Add more signing algorithm for JWT validator.
- Support websocket for ingress controller.
Fixed bugs:
- Fix cluster test random fail.
- Fix EaseMonitorMetrics status error.
- Fix GlobalFilter jsonschema validator error.
v2.1.1 (2022-09-09)
Implemented enhancements:
- Add ResultBuilder filter
- Speed up DNS01 challenge
- Add EaseTranslateBot example (code-free workflow by using Easegress pipeline)
- Speed up MQTTProxy client connection
- Check Kubernetes version for ingress controller
Fixed bugs:
- Fix default logger bug
- Fix HTTP runtime ticker bug
- Fix ingress translation error
v2.1.0 (2022-08-09)
Significant changes:
- Define user data in pipeline spec.
jumpIf
support jumping on an empty result.- Bump API version to v2 (v1 APIs are kept for compatibility).
Implemented enhancements:
- RequestAdaptor support signing the request (experimental).
- RequestBuilder support form data (HTTP only).
- Add
disableReport
option to tracing. - Logs go to stdout/stderr by default.
Fixed bugs:
- HTTPServer does not work as expected when match all header is enabled.
jumpIf
not working with global filter.- Response headers set by filters before a Proxy are all lost.
- Nacos registry doesn't work.
- Panic in StatusSyncController.
- MQTT client is not closed as expected.
v2.0.0 (2022-07-07)
Significant changes:
- Pipeline
- Pipeline is protocol-independent now.
- Add
RequestBuilder
filter,ResponseBuilder
filter and built-in filterEND
. - Add the support of
namespace
. - Add the support of filter alias.
- Filter
Retryer
,CircuitBreaker
andTimeLimiter
are removed, resilience policies are now defined on pipeline and injected into filters that support resilience. - Filter
APIAggregator
is removed.
Implemented enhancements:
- Tracing is now using Zipkin B3 format.
- Cluster
- Drop the support of dynamic cluster management.
- Depreciated configuration method is removed.
v1.5.3 (2022-06-28)
Implemented enhancements:
Fixed bugs:
- Wrong HTTP request scheme if the
X-Forwarded-Proto
header contains two or more items#634 - Fix request "Content-Length" header missing bug #649
v1.5.2 (2022-05-10)
Significant changes:
- Support external standalone etcd #595
Implemented enhancements:
- Support Easegress ingress rewrite target #617
- Support the AND-OR header strategy in HTTPServer #613
- Support proxy to send zipkin b3 headers #579
Fixed bugs:
- Fix proxy pool bug #614
- Fix FaasController request host field #586
- Fix Easemonitor metrics status convert error #583
- Fix Status sync controller pointer error #582
- Fix HTTPPipeline creation fail #577
v1.5.1 (2022-04-06)
Significant changes:
- Turn profiling on/off runtime #543
Implemented enhancements:
- Change the way StatusSyncController stores statuses to reduce memory usage #542
- Support custom image name #545
- HTTPServer prefix and fullpath support rewrite_target #553
- Refactor the Docker entrypoint.sh #569
Fixed bugs:
- Fix proxy fallback #537
- Resolve inconsistent path selection #536
- Validate CircuitBreaker filter #551
v1.5.0 (2022-03-03)
Significant changes:
-
HTTP basic auth filter #454
-
HeaderLookup filter #454
-
HeaderToJSON filter #458
-
CertExtractor filter #474
-
Custom data management #456, #500
NOTE: The dynamic cluster management feature (e.g. adding a new primary node without stopping the cluster) is deprecated and will be removed in the next release, please switch to static cluster management. You can refer to this cookbook chapter or follow Helm example for more info on how to define a static cluster.
Implemented enhancements:
- Add pipeline route for mqttproxy #453
- Install script to install the systemd service #461, #463
- RequestAdaptor support compress/decompress request body #497
- CorsAdaptor support origin #498
- Filter out 'TLS handshake error' #533
- Test #469, #507
- Documentation #464, #465, #475, #499
Fixed bugs:
- Fix empty http request body read panic #457
- Fix paging in query nacos service registry #478
- Fix duplicate response header #482
- Add close option to httpRequest.SetBody #502
- Fix wrong service name in nacos service registry #504
- Remove method & path from httpRequest #524
- Make cluster.Mutex to be goroutine same #527
- Fix empty request scheme #529
- Fix typo #471, #479,
v1.4.1 (2022-01-07)
Implemented enhancements:
- Improve performance of Proxy filter #414
- Ingress Controller tutorial and Helm Charts to support multi nodes #395
Fixed bugs:
- Reduce etcd server memory usage #439
- Support PEM in both base64 and plain text #425
- Only set host when server addr is IP (close #447) #451
- Copy backend http response header to httpresponse #449
- Fix httpserver httppipeline status not show error #441
- Mock filter to support header match #409
- Fix wrong content-type #430
- Fix easegress-server yaml validation #432
- Change status code 403 to 401 when jwt signer and oauth2 validation fail #426
- Fix typos #423 #417 #416 #410
- Expose max-sync-message-size in options #419
- Enable calling mirrorPool reader Read after EOF #411
- Use ClusterJoinURLs for secondary members #403
v1.4.0 (2021-12-07)
Significant changes:
- Support automated certificate management with ACME (Let's Encrypt) #391
- Cluster configuration made simpler #382
- WebAssembly SDK for Golang #370
Implemented enhancements:
- New feature
GlobalFilters
to HTTPPipeline#376 - Linux kernel tuning guide#361
- WebSocket proxy user guide#385
- Cluster deployment guide#369
Fixed bugs:
v1.3.2 (2021-11-08)
Implemented enhancements:
- Performance improvement#277
Fixed bugs:
- Wrong host function name in WasmHost#317
- Wrong name in WebSocket spec#328
- Response body corrupt after pass ResponseAdapter#345
- Failed to create pipeline when filters are not sorted as flow#348
v1.3.1 (2021-10-20)
Implemented enhancements:
- Improve docker image build speed#306
- Add doc for MQTT proxy#300
- MQTT proxy performance optimization#304
Fixed bugs:
- Fix MQTT closed client related bugs#302
- Change logger level from Error to Warn#296
- Fix Eureka port number#309
v1.3.0 (2021-10-13)
Significant changes:
- MQTT support #203
Implemented enhancements:
- Add chart files for helm-install #254
- Add license checker #247
- Improve egctl to support sending multi configs at once #230
- Create objects from spec files at startup #202
- Support bi-directional service registry controllers #171
Fixed bugs:
- Fix typo
- Make
docker run
with default config without parameter #248 - Fix random failure of jmx test cases #290
- Correctly handle empty object name #289
- Update doc/developer-guide.md #250
- Update cluster example, no std-log-level in option #278
- Add readme in cn #267
- Correctly update restfulapi in ctl #249
- Update func match() in pkg/object/httpserver/mux.go #245
- Refine the flash sale document #243
- Fix lint warning #242
- Fix wrong link for ingress controller guide #232
- Update ingresscontroller.md to fix permission issue #227
- Fix test fail caused by random order of map iteration #224
- Add host functions for cluster data (flash sale support) #188
- Avoid send duplicated metrics data #217
v1.2.1 (2021-09-08)
Significant changes:
Implemented enhancements:
- Trafficcontroller copy mutex by pointer #211
- Move limitlistener to util for other protocol proxy use#210
- Skip invalid ip cidr parse result #184
Fixed bugs:
- Fix interface nil convert panic #164
v1.2.0 (2021-08-23)
Significant changes:
Implemented enhancements:
- Add user-guide for WasmHost filter #138
- Refactor APIAggregator filter #153
- Add PR deployment testing #130
- Format and correct code according to golint #124#131
Fixed bugs:
v1.1.0 (2021-07-16)
Significant changes:
- Kubernetes Ingress Controller #25
- WASM:The new plugin mechanism for the Easegress #1(Still working on AssemblyScript SDK, coming soon...)
Implemented enhancements:
- CI: Add codecov into github action #121
- Mesh: convert service instance API to
pb/json
#109 - Support dynamic admin API && correct syncer && make interface cleaner #96
- CI: check unnecessary dependencies #77
Fixed bugs:
- Github Action failed due to the unit test of TestCluster #111
- Fix unit test failure of semaphore and cluster #110
- Use default spec correctly & fix httppipeline.Validate without recursively checking #100
v1.0.1 (2021-06-29)
Significant changes:
- Use traffic controller to manage TrafficGate and Pipeline #20
- FaaSController #59
- Upgrade MeshController to use TrafficController #79
- Replace the Iris with Go-Chi Framework #24
Implemented enhancements:
- Golang/protobuf warning #36
- Support an HTTPServer bind multiple certs #31
- HTTP
Host
header can't be written properly into headers for backend request #27 - Support strip trailing slash #85
- Add multiple certs support, close #31 #48
- Docker: add tzdata package for latest alpine #45
- Deps: use dependabot to update dependencies #43
Fixed bugs:
- Possible regression introduce by FaaSController #73
- HTTPPipeline loadBalance is required but causes panic if missing #63
- Server help messages print multiple times #37
- Fix double free etcd #87