Table of Contents

1.1.0

Welcome to the 1.1.0 release of apisix-ingress-controller!

This is a GA release.

Highlights

New Features

Please try out the release binaries and report any issues at https://github.com/apache/apisix-ingress-controller/issues.

Contributors

  • Alex Zhang
  • Fang
  • kv
  • Jintao Zhang
  • Shuyang Wu
  • benson211

Changes

  • 67f3fd9 chore: endpointslice controller (#574)
  • 1c17b41 feat: add logic for ApisixRoute v2beta1 (#576)
  • a754f69 feat: abstract the endpoints-related logic (#563)
  • 4b16e28 chore: cleanup apisixservice. (#566)
  • 534fab3 feat: add v2beta1 structure for ApisixRoute (#572)
  • c871bdf test: dump the namespace content when e2e test cases failed (#571)
  • dbc8133 doc: update k3s-rke.md (#568)
  • 70d0100 chore: update config of installation by Kustomize (#557)
  • 2122d76 docs: clarify installation by Kustomize (#558)
  • b4a6889 Update default version in Makefile (#556)
  • f5cc76e chore: remove cancel-workflow.yml since no use (#550)

Dependency Changes

  • github.com/fsnotify/fsnotify v1.4.9 new
  • github.com/gruntwork-io/terratest v0.32.8 new
  • github.com/hashicorp/go-multierror v1.0.0 -> v1.1.0
  • k8s.io/api v0.20.2 -> v0.21.1
  • k8s.io/apimachinery v0.20.2 -> v0.21.1
  • k8s.io/client-go v0.20.2 -> v0.21.1

Previous release can be found at 1.0.0

1.0.0

Welcome to the 1.0.0 release of apisix-ingress-controller!

This is the first GA release.

Highlights

New Features

  • Support blocklist-source-range annotation for Ingress source #446
  • Add ApisixConsumer CRD #462
  • Support rewrite annotation for Ingress source #480
  • Support http-to-https redirect annotation for Ingress source #484
  • Add health check to apisix-admin and make the leader election recyclable 499
  • Support mTLS for ApisixTls #492
  • Support authentication for ApisixRoute #528

Please try out the release binaries and report any issues at https://github.com/apache/apisix-ingress-controller/issues.

Contributors

  • Alex Zhang
  • Sarasa Kisaragi
  • Jintao Zhang
  • kv
  • Shuyang Wu
  • Daming
  • Fang
  • Ayush das
  • Donghui0
  • Shivani chauhan
  • Yuelin Zheng
  • guoqqqi
  • 罗泽轩

Changes

  • f3ab30b docs: modify readme (#543)
  • f9df546 ci: do not run workflows for draft PRs (#542)
  • fca6211 chore: add authentication for ApisixRoute (#528)
  • 28c584e chore: remove echo plugin's auth test case. (#534)
  • 1eee479 fix: nil pointer dereference (#529)
  • 7379d57 docs: removed navigation title from sidebar to docs dropdown (#531)
  • 2bf4b6b fix: add namespace for subjects of ClusterRoleBinding (#527)
  • d3ec856 ci: use concurrency to cancel workflow (#525)
  • 5c1aa5e docs: add docs about Ingress feature comparison (#526)
  • d510a8a doc: update development.md (#524)
  • f6cb4f9 feat: consumer controller loop (#516)
  • 3337be7 feat: subset changes in controllers (#507)
  • c6ac8a4 fix: CI path filter (#522)
  • fa0d8a6 ci: remove stale ci/spell-checker configuration (#519)
  • 3d9fd07 ci: add changes filter (#520)
  • 38290a2 feat: ApisixTls support mTLS (#492)
  • 029c0d7 feat: add events and status for ApisixClusterConfig resource (#502)
  • a89be23 feat: subset translation (#497)
  • 87b7229 Update license-checker.yml (#510)
  • 495c631 chore: add verify scripts and verify-codegen CI (#513)
  • 2f2e6f8 feat: add permission to events, fix missing subresources in crd. (#514)
  • 880d573 ci: fix cancel workflow not working (#509)
  • cddcd29 feat: add pod controller and pod cache (#490)
  • 23e5ebd feat: apisixconsumer translator (#474)
  • fe2db92 chore: add docker ignore to avoid unwanted cache miss (#506)
  • d87f856 ci: fix cancel workflow not working (#508)
  • a3f58d0 fix: ack.md link fix (#503)
  • 553655b chore: add dnsPolicy for sample deployment (#498)
  • f089ffe test: remove custom apisix-default.yaml (#494)
  • b7736db ci: cancel duplicate workflow to reduce CI queue time (#505)
  • 582c4b3 chore: add health check to apisix-admin and make the leader election recyclable (#499)
  • 77a06cc feat: add support for http-to-https redirect annotation (#484)
  • fa98443 chore: regenerate codes (#491)
  • 6630aac fix: ingress_class configuration invalid(#475) (#477)
  • e8eddcc docs: ingress apisix the hard way (#479)
  • 36de069 feat: codegen script (#487)
  • 1d7b143 feat: support rewrite annotation (#480)
  • 5af1fb4 feat: add essential data structures for service subset selector (#489)
  • a16e980 fix: fatal error reported when run make build in release src (#485)
  • 1dd5087 chore: consumer data structures (#470)
  • d6d3796 chore: fix e2e ip-restriction plugin text (#488)
  • 92896f1 chore: e2e case for tcp proxy is unstable\nclose #473 (#486)
  • bc71e3e chore: add apisixconsumer data structures (#462)
  • 269cf07 test: add basic headless service e2e test (#466)
  • 1ffa862 fix: event record scheme error (#469)
  • 456fbd2 fix: remove upstream which is ref by multi-routes cause retry (#472)
  • a7e187b minor: optimize log message when the endpoint does not have a corresponding service (#458)
  • 63ae709 chore: fix broken links (#467)
  • 0bdd24b chore: change the required PR approving number to 2 (#463)
  • 015940c docs: fix APISIX helm installation (#459)
  • 4a55307 fix: add status subresource permission in clusterRole (#452)
  • 5d479ae feat: blocklist-source-range annotation (#446)
  • 8824bbd chore: refactor the process of annotations (#443)
  • 9d0e0b8 fix: wait for the default cluster ready continuously (#450)
  • fb11efc chore: refactor the structures of kube clients, shared index informer factories (#431)
  • f199cdb test: add e2e test cases for server-info plugin (#406)
  • b0a6f3e fix: typo in apisix_route_v2alpha1.md (#438)
  • d269a01 ci: introduce skywalking-eyes (#430)

Dependency Changes

  • golang.org/x/net 6772e930b67b -> 3d97a244fca7
  • gopkg.in/yaml.v2 v2.3.0 -> v2.4.0
  • k8s.io/code-generator v0.21.1 new

Previous release can be found at 0.6.0

0.6.0

We have added some new features, fixed some bugs, and made some optimizations to the internal code.

Note: The CRDs should be re-applied because of some new features

Core

  • Support TCP definition #115
  • Add labels to mark resources are pushed by ingress controller #242
  • Add jsonschema validate for ApisixUpstream and ApisixTls resource #371 #372
  • Support to record kubernetes events for resources processing #394
  • Support to report resources status #395
  • Support global_rules for cluster scoped plugins #402

Fix

  • Remove upstream caching correctly #421
  • Avoid retrying caused by 404 when deleting cache #424
  • Handle cookie exprs correctly #425

0.5.0

A lot of important features are supported in this release, it makes apisix-ingress-controller more powerful and flexible. Also, several bugs are fixed so the robustness is also enhanced.

We recommend you to use Apache APISIX 2.5 with this release. Note since CRDs are updated, when you upgrade your old release, manual steps are required to apply the new ApisixRoute. Please see the instruction 7 in FAQ for more details.

Core

  • Support traffic split feature (#308)
  • Support route match exprs (#304, #306)
  • Support to configure Ingress resources in version extensions/v1beta1 (#296, #315)
  • Add name fields when generating APISIX Routes and Upstreams (#333)
  • Support to use remote addrs as route match conditions (#347)
  • Schema for ApisixRoute CRD (#345)

Fix

  • Sometimes ApisixRoute update is ineffective (#319)
  • Priority field is not passed to APISIX (#329)
  • Route rule name in ApisixRoute can be duplicated (#330)
  • Use PUT instead of PATCH method when updating resources (#353)
  • Secrets controller doesn't push the newest cert and priv key to APISIX (#337)

Test

  • Use Kind to run e2e suites (#331)
  • Add e2e test cases for plugins redirect, uri-blocker, fault-injection, request-id, limit-count, echo, cors, response-rewrite, proxy-rewrite (#320, #327, #328, #334, #336, #342, #341)

0.4.0

This release mainly improves the program robustness and adds some features.

Core

  • Support Kubernetes Ingress resources #250
  • Support ApisixRoute v2alpha1 #262
  • Support healthchecks definition #117
  • Support secret controller #284
  • Project optimization #92

Test

  • Add test cases for pkg/kube #99

0.3.0

This release mainly improves the program robustness and adds some features.

Core

  • Support Leader election to let only the leader process resources #173;
  • Let Controller itself generates resource ids instead of relying on APISIX #199;
  • Change go module name from github.com/api7/ingress-controller to github.com/apache/apisix-ingress-controller #220;
  • Re draw the design diagram #214;
  • Support gRPC scheme in ApisixUpstream #225;
  • SSL resource cache optimization #203;

Deploy

  • Complete the compatibility tests on Amazon EKS, Google Cloud GKE, Ali Cloud ACK and etc #177, #180, #183;
  • Refactor the helm charts, merging ingress-apisix and ingress-apisix-base into apisix-ingress-controller #213;

Test

  • Now CI runs e2e test suites in parallel #172;

0.2.0

This release mainly improve basic features, bugfix and adds test cases.

Core

  • Enhanced documentation, easier to read and execute #129
  • API specification for CRDs #151
  • Support Canary plugin (Base on the feature in Apache APISIX) #13
  • Support prometheus metrics #143
  • Support install ingress controller by Helm Chart #153
  • Support reconcile loop. #149 #157 #163
  • Support namespaces filtering. #162
  • Some Refactor. #147 #155 #134

Test case

more e2e case #156 #142

Back to TOC

0.1.0

This release mainly improve basic features, bugfix and adds test cases.

Core

  • Enriched documentation.
  • CI Integration. #75 #80 #84 #87 #89 #97
  • Support retry when sync failed. #103
  • Support using kustomize install all resources. #72
  • Support command line configuration. #61
  • Support to define SSL by CRD. #95

Test case

  • Add E2E test environment. #101

Bugfix

  • invalid memory address or nil pointer dereference. #9

Back to TOC