17 KiB
Changelog
All notable changes to this project are documented in this file.
0.20.0 (2019-10-21)
Adds support for A/B Testing and retry policies when using App Mesh
Features
- Implement App Mesh A/B testing based on HTTP headers match conditions #340
- Implement App Mesh HTTP retry policy #338
- Implement metrics server override #342
Improvements
- Add the app/name label to services and primary deployment #333
- Allow setting Slack and Teams URLs with env vars #334
- Refactor Gloo integration #344
Fixes
- Generate unique names for App Mesh virtual routers and routes #336
0.19.0 (2019-10-08)
Adds support for canary and blue/green traffic mirroring
Features
Improvements
Fixes
0.18.6 (2019-10-03)
Adds support for App Mesh conformance tests and latency metric checks
Improvements
- Add support for acceptance testing when using App Mesh #322
- Add Kustomize installer for App Mesh #310
- Update Linkerd to v2.5.0 and Prometheus to v2.12.0 #323
Fixes
- Fix slack/teams notification fields mapping #318
0.18.5 (2019-10-02)
Adds support for confirm-promotion webhooks and blue/green deployments when using a service mesh
Features
Improvements
- Canary promotion improvements to avoid dropping in-flight requests #310
- Update end-to-end tests to Kubernetes v1.15.3 and Istio 1.3.0 #306
Fixes
- Skip primary check for App Mesh #315
0.18.4 (2019-09-08)
Adds support for NGINX custom annotations and Helm v3 acceptance testing
Features
- Add annotations prefix for NGINX ingresses #293
- Add wide columns in CRD #289
- loadtester: implement Helm v3 test command #296
- loadtester: add gPRC health check to load tester image #295
Fixes
- loadtester: fix tests error logging #286
0.18.3 (2019-08-22)
Adds support for tillerless helm tests and protobuf health checking
Features
- loadtester: add support for tillerless helm #280
- loadtester: add support for protobuf health checking #280
Improvements
- Set HTTP listeners for AppMesh virtual routers #272
Fixes
0.18.2 (2019-08-05)
Fixes multi-port support for Istio
Fixes
- Fix port discovery for multiple port services #267
Improvements
- Update e2e testing to Istio v1.2.3, Gloo v0.18.8 and NGINX ingress chart v1.12.1 #268
0.18.1 (2019-07-30)
Fixes Blue/Green style deployments for Kubernetes and Linkerd providers
Fixes
- Fix Blue/Green metrics provider and add e2e tests #261
0.18.0 (2019-07-29)
Adds support for manual gating and pausing/resuming an ongoing analysis
Features
- Implement confirm rollout gate, hook and API #251
Improvements
- Refactor canary change detection and status #240
- Implement finalising state #257
- Add gRPC load testing tool #248
Breaking changes
- Due to the status sub-resource changes in #240, when upgrading Flagger the canaries status phase will be reset to
Initialized - Upgrading Flagger with Helm will fail due to Helm poor support of CRDs, see workaround
0.17.0 (2019-07-08)
Adds support for Linkerd (SMI Traffic Split API), MS Teams notifications and HA mode with leader election
Features
Improvements
0.16.0 (2019-06-23)
Adds support for running Blue/Green deployments without a service mesh or ingress controller
Features
- Allow blue/green deployments without a service mesh provider #211
- Add the service mesh provider to the canary spec #217
- Allow multi-port services and implement port discovery #207
Improvements
- Add FAQ page to docs website
- Switch to go modules in CI #218
- Update e2e testing to Kubernetes Kind 0.3.0 and Istio 1.2.0
Fixes
- Update the primary HPA on canary promotion #216
0.15.0 (2019-06-12)
Adds support for customising the Istio traffic policy in the canary service spec
Features
- Generate Istio destination rules and allow traffic policy customisation #200
Improvements
- Update Kubernetes packages to 1.14 and use go modules instead of dep #202
0.14.1 (2019-06-05)
Adds support for running acceptance/integration tests with Helm test or Bash Bats using pre-rollout hooks
Features
- Implement Helm and Bash pre-rollout hooks #196
Fixes
- Fix promoting canary when max weight is not a multiple of step #190
- Add ability to set Prometheus url with custom path without trailing '/' #197
0.14.0 (2019-05-21)
Adds support for Service Mesh Interface and Gloo ingress controller
Features
- Add support for SMI (Istio weighted traffic) #180
- Add support for Gloo ingress controller (weighted traffic) #179
0.13.2 (2019-04-11)
Fixes for Jenkins X deployments (prevent the jx GC from removing the primary instance)
Fixes
- Do not copy labels from canary to primary deployment #178
Improvements
- Add NGINX ingress controller e2e and unit tests #176
0.13.1 (2019-04-09)
Fixes for custom metrics checks and NGINX Prometheus queries
Fixes
- Fix promql queries for custom checks and NGINX #174
0.13.0 (2019-04-08)
Adds support for NGINX ingress controller
Features
- Add support for nginx ingress controller (weighted traffic and A/B testing) #170
- Add Prometheus add-on to Flagger Helm chart for App Mesh and NGINX 79b3370
Fixes
- Fix duplicate hosts Istio error when using wildcards #162
0.12.0 (2019-04-29)
Adds support for SuperGloo
Features
- Supergloo support for canary deployment (weighted traffic) #151
0.11.1 (2019-04-18)
Move Flagger and the load tester container images to Docker Hub
Features
- Add Bash Automated Testing System support to Flagger tester for running acceptance tests as pre-rollout hooks
0.11.0 (2019-04-17)
Adds pre/post rollout webhooks
Features
- Add
pre-rolloutandpost-rolloutwebhook types #147
Improvements
Breaking changes
- Set default
meshIstio gateway only if no gateway is specified #141
0.10.0 (2019-03-27)
Adds support for App Mesh
Features
Improvements
- Reconcile Kubernetes ClusterIP services #122
Fixes
0.9.0 (2019-03-11)
Allows A/B testing scenarios where instead of weighted routing, the traffic is split between the primary and canary based on HTTP headers or cookies.
Features
- A/B testing - canary with session affinity #88
Fixes
- Update the analysis interval when the custom resource changes #91
0.8.0 (2019-03-06)
Adds support for CORS policy and HTTP request headers manipulation
Features
Improvements
- Refactor the routing management #72 #80
- Fine-grained RBAC #73
- Add option to limit Flagger to a single namespace #78
0.7.0 (2019-02-28)
Adds support for custom metric checks, HTTP timeouts and HTTP retries
Features
- Allow custom promql queries in the canary analysis spec #60
- Add HTTP timeout and retries to canary service spec #62
0.6.0 (2019-02-25)
Allows for HTTPMatchRequests and HTTPRewrite to be customized in the service spec of the canary custom resource.
Features
- Add HTTP match conditions and URI rewrite to the canary service spec #55
- Update virtual service when the canary service spec changes #54 #51
Improvements
- Run e2e testing on Kubernetes Kind for canary promotion #53
0.5.1 (2019-02-14)
Allows skipping the analysis phase to ship changes directly to production
Features
- Add option to skip the canary analysis #46
Fixes
- Reject deployment if the pod label selector doesn't match
app: <DEPLOYMENT_NAME>#43
0.5.0 (2019-01-30)
Track changes in ConfigMaps and Secrets #37
Features
- Promote configmaps and secrets changes from canary to primary
- Detect changes in configmaps and/or secrets and (re)start canary analysis
- Add configs checksum to Canary CRD status
- Create primary configmaps and secrets at bootstrap
- Scan canary volumes and containers for configmaps and secrets
Fixes
- Copy deployment labels from canary to primary at bootstrap and promotion
0.4.1 (2019-01-24)
Load testing webhook #35
Features
- Add the load tester chart to Flagger Helm repository
- Implement a load test runner based on rakyll/hey
- Log warning when no values are found for Istio metric due to lack of traffic
Fixes
- Run wekbooks before the metrics checks to avoid failures when using a load tester
0.4.0 (2019-01-18)
Restart canary analysis if revision changes #31
Breaking changes
- Drop support for Kubernetes 1.10
Features
- Detect changes during canary analysis and reset advancement
- Add status and additional printer columns to CRD
- Add canary name and namespace to controller structured logs
Fixes
- Allow canary name to be different to the target name
- Check if multiple canaries have the same target and log error
- Use deep copy when updating Kubernetes objects
- Skip readiness checks if canary analysis has finished
0.3.0 (2019-01-11)
Configurable canary analysis duration #20
Breaking changes
- Helm chart: flag
controlLoopIntervalhas been removed
Features
- CRD: canaries.flagger.app v1alpha3
- Schedule canary analysis independently based on
canaryAnalysis.interval - Add analysis interval to Canary CRD (defaults to one minute)
- Make autoscaler (HPA) reference optional
0.2.0 (2019-01-04)
Webhooks #18
Features
- CRD: canaries.flagger.app v1alpha2
- Implement canary external checks based on webhooks HTTP POST calls
- Add webhooks to Canary CRD
- Move docs to gitbook docs.flagger.app
0.1.2 (2018-12-06)
Improve Slack notifications #14
Features
- Add canary analysis metadata to init and start Slack messages
- Add rollback reason to failed canary Slack messages
0.1.1 (2018-11-28)
Canary progress deadline #10
Features
- Rollback canary based on the deployment progress deadline check
- Add progress deadline to Canary CRD (defaults to 10 minutes)
0.1.0 (2018-11-25)
First stable release
Features
- CRD: canaries.flagger.app v1alpha1
- Notifications: post canary events to Slack
- Instrumentation: expose Prometheus metrics for canary status and traffic weight percentage
- Autoscaling: add HPA reference to CRD and create primary HPA at bootstrap
- Bootstrap: create primary deployment, ClusterIP services and Istio virtual service based on CRD spec
0.0.1 (2018-10-07)
Initial semver release
Features
- Implement canary rollback based on failed checks threshold
- Scale up the deployment when canary revision changes
- Add OpenAPI v3 schema validation to Canary CRD
- Use CRD status for canary state persistence
- Add Helm charts for Flagger and Grafana
- Add canary analysis Grafana dashboard