Skip to content

Releases: apache/apisix-ingress-controller

Release 1.5.0

02 Oct 00:36
4219c47
Compare
Choose a tag to compare

What's Changed

Read more

1.5.0-rc1

04 Aug 17:26
Compare
Choose a tag to compare
1.5.0-rc1 Pre-release
Pre-release

Highlights

The API version of all custom resources has been upgraded to v2 in this release and mark v2beta3 as deprecated. We plan to remove the v2beta2 API version in the next release. Please go to #707 for detail.

We have added partial support for Gateway API, which is not enabled by default, you can set enable_gateway_api=true to enable it.

Ingress resources can now use all APISIX plugin configurations by setting the annotation k8s.apisix.apache.org/plugin-config-name=xxx.

What's Changed

Read more

Release 1.4.1

10 May 09:02
Compare
Choose a tag to compare

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

This is a Patch version release.

Highlights

Roadmap

In next release(v1.5), custom resource's API version v2 will be GA released. Please go to #707 for detail.

Bug fixes

  • fix: consumer name contain "-" #828
  • fix: fix typo in ApidixRoute CRD #830
  • fix: add v2beta3 register resources #833
  • fix: ApisixClusterConfig e2e test case #859
  • fix: objects get from lister must be treated as read-only #829
  • fix ingress delete panic #872
  • fix json unmarshal error when list plguins #888
  • fix: check if stream_routes is disabled #868
  • fix: avoid create pluginconfig in the tranlsation of route #845
  • fix: filter useless pod update event #894
  • fix: fix ep resourceVersion comparison and clean up #901
  • fix: ingress update event handler not filter by watching namespaces #947

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

Contributors

  • Jintao Zhang
  • Nic
  • cmssczy
  • nevercase
  • JasonZhu
  • Sarasa Kisaragi
  • Xin Rong
  • Yu.Bozhong
  • champly
  • chen zhuo

Changes

24 commits

  • 8a257c4 chore: fix dead links
  • c90b602 ci: trigger v1.4.0 branch jobs
  • d0bc591 chore: revert isWatchingNamespace to namespaceWatching
  • e259826 fix ApisixConsumerBasicAuthValue password-yaml field error (#960)
  • 4d087b3 fix: ingress update event handler not filter by watching namespaces (#947)
  • 46da0e2 docs: upgrade apiVersion from v2beta1 to v2beta3 (#916)
  • 9a8c7ce chore: clean up useless code (#902)
  • eb90123 fix: fix ep resourceVersion comparison and clean up (#901)
  • db250da chore: shorten the route name for Ingress transformations (#898)
  • 3f14edd fetching newest Endpoint before sync (#821)
  • 8329b7c fix: filter useless pod update event (#894)
  • cbcae44 fix: avoid create pluginconfig in the tranlsation of route (#845)
  • e0518a4 fix: check if stream_routes is disabled (#868)
  • 90dd10e fix json unmarshal error when list plguins (#888)
  • 88cc0b3 fix ingress delete panic (#872)
  • 64eb176 chore: clean up v1 version related code (#867)
  • bf1d10e fix: objects get from lister must be treated as read-only (#829)
  • d1bb4ac fix: ApisixClusterConfig e2e test case (#859)
  • fd76c2a feat: ensure that the lease can be actively released before program shutdown to reduce the time required for failover (#827)
  • 4c94c76 chore: update ingress/comapre.go watchingNamespac from v2beta1 to v2beta3 (#832)
  • f9c60c2 fix: add v2beta3 register resources (#833)
  • 4a2ebaf chore: fix typo in ApidixRoute CRD (#830)
  • 46fcf3f fix: consumer name contain "-" (#828)
  • b7dd90a chore: v1.4 release

Dependency Changes

This release has no dependency changes

Previous release can be found at 1.4.0

Release 1.4.0

02 Jan 14:32
Compare
Choose a tag to compare

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

This is a GA release.

Highlights

Roadmap

In next release(v1.5), custom resource's API version v2 will be GA released. Please go to #707 for detail.

Breaking Changes

  • In this release(v1.4), all custom resource's API version has been upgraded to apisix.apache.org/v2beta3, and we deleted apisix.apache.org/v2beta3 and apisix.apache.org/v2alpha1. Please see #746

New Features

  • We have introduced the apisix.apache.org/v2beta3 API version for all custom resources and deleted v2alpha1 and v1 API version #746
  • Initial support for Gateway API #789
  • Add a new ApisixPluginConfig CRD for reuse common plugin configurations. #638
  • Support regex in Ingress path #779
  • We can update the load balancing IP of the Ingress, and it can work in various public cloud environments #740

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

Contributors

  • Jintao Zhang
  • kv
  • nevercase
  • LXM
  • Nic
  • chen zhuo
  • Mayo Cream
  • Nic
  • Alex Zhang
  • Baoyuan
  • Brhetty
  • Canh Dinh
  • Jintao Zhang
  • Sindweller
  • Yu.Bozhong
  • huzais520
  • oliver
  • rupipal
  • zhang lun hai

Changes

40 commits

  • a1ef639 feat: add ApisixPluginConfig controller loop and e2e test case (#815)
  • 819b003 fix: delete the cluster object when give up the leadership (#774)
  • 970df2b feat: Initial support for Gateway API (#789)
  • 7b62375 fix: some wrong or invalid logs (#804)
  • 52b2e2c docs(READEME.md): change img size (#805)
  • eeb7a49 chore: specify the K8S cluster version used for the test (#797)
  • d9fa775 chore: remove ApisixPluginConfig v2beta2 version (#795)
  • 6110bf5 feat: implement apisix healthz check (#770)
  • 4a6509c chore: Issue & PR template (#771)
  • d4c5b09 fix: When the spec field of the ApisixUpstream resource is empty, it will panic (#794)
  • 472fbcd feat: add ApisixPluginConfigs crd to v2beta3 (#792)
  • 413e7ca feat: implement pluginconfig clients (#638) (#772)
  • fe4a824 fix: ingress LB status records (#788)
  • 1b2bc34 docs: Optimize installation documentation (#785)
  • 4e84eb8 feat: support regex in path (#779)
  • 1bbadf0 feat: add v2beta3 (#746)
  • 26d5c5c Docs: add more config example (#777)
  • 1141e15 fix: test case param error (#780)
  • 0c6de2d feat: update Ingress LB status (#740)
  • f470867 fix: ingress do not watching any namespace when namespaceSelector is empty (#742)
  • 62d7897 fix: If resource synchronization retry occurs, other events of the same resource will be blocked (#760)
  • b127ff4 feat: init ApisixPluginConfig crd #4 (#638) (#694)
  • 703c6b2 fix: ApisixRoute backendPoint duplicate (#732) (#734)
  • 9fe7298 remove route timeout default value (#733)
  • 81f5ea1 feat: support https and grpcs as upstream scheme as well as mTLS mode (#755)
  • 9f2cd7f feat: support environment variable in config file (#745)
  • bdf6721 Fix bug typo in yaml (#763)
  • 719c42f docs: update proxy-the-httpbin-service.md (#757)
  • 580e7d4 feat: expose more prometheus metrics (#670)
  • 774077a docs: Customize the namespace used for installation (#747)
  • 4a862e2 fix: use independent dns service for UDP e2e test (#753)
  • 62b7162 fix: wrong var type in response_rewrite e2e (#754)
  • da30386 fix field tag omitempty (#723)
  • 7063189 docs: add upgrade guide (#735)
  • 65f7c88 feat: add label-selector for watching namespace (#715)
  • dc196ef fix unmarshal apisix/upstream field nodes be null (#724)
  • 2a73216 fix: verify generation in record status (#706)
  • 97fdc90 fix: ignore delete pod cache error msg (#714)
  • fa27b03 chore: fix spelling error in modules.png (#717)
  • 68125e3 chore: v1.3 release (#716)

Dependency Changes

  • github.com/gin-gonic/gin v1.6.3 -> v1.7.7
  • github.com/hashicorp/go-memdb v1.0.4 -> v1.3.2
  • github.com/hashicorp/go-multierror v1.1.0 -> v1.1.1
  • github.com/prometheus/client_golang v1.10.0 -> v1.11.0
  • github.com/spf13/cobra v1.1.1 -> v1.2.1
  • go.uber.org/multierr v1.3.0 -> v1.7.0
  • go.uber.org/zap v1.13.0 -> v1.19.1
  • golang.org/x/net 4163338589ed -> fe4d6282115f
  • k8s.io/api v0.21.1 -> v0.22.4
  • k8s.io/apimachinery v0.21.1 -> v0.22.4
  • k8s.io/client-go v0.21.1 -> v0.22.4
  • k8s.io/code-generator v0.21.1 -> v0.22.1
  • sigs.k8s.io/gateway-api v0.4.0 new

Previous release can be found at 1.3.0

Release 1.3.0

17 Oct 14:49
Compare
Choose a tag to compare

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

This is a GA release.

Highlights

Roadmap

In next release(v1.4), all custom resource versions will be upgraded to version v2beta3, and version v2 will be GA released in version 1.5. Please go to #707 for detail.

Breaking Changes

  • In this release(v1.3), the CRD version has been upgraded to apiextensions.k8s.io/v1, which means that the minimum version of Kubernetes supported by APISIX Ingress is v1.16 and later.
  • The ValidatingWebhookConfiguration version has been upgraded to admissionregistration.k8s.io/v1, which means that if you want using the default Dynamic Admission Control, you need ensure that the Kubernetes cluster is at least as new as v1.16.

New Features

  • We have introduced the v2beta2 version of ApisixRoute and will drop support for v2alpha1 ApisixRoute #698
  • Add cert-manager support #685
  • Add full compare when APISIX Ingress startup #680
  • Support TLS for Ingress v1 #634
  • Add admission server and a validation webhook for plugins #573
  • Add timeout field for ApisixRoute CR #609
  • Add new metrics apisix_ingress_controller_check_cluster_health and apisix_ingress_controller_sync_success_total #627

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

Contributors

  • kv
  • Hoshea Jiang
  • Jintao Zhang
  • Sarasa Kisaragi
  • Baoyuan
  • SergeBakharev
  • Sindweller
  • chen zhuo
  • liuxiran
  • oliver

Changes

27 commits

  • a290f12 docs: correct helm repo (#657)
  • a01888b feat: Change field retries to value from pointer. (#647)
  • 6f46ac2 Make webhook cover ApisixRoute v2beta2 (#705)
  • 9dd4f40 feat: add webhooks for consumer/tls/upstream (#667)
  • 657a1fd doc: add grpc proxy (#699)
  • 88be11a fix: CRD v1 preserve unknown fields (#702)
  • d46b248 feat: upgrade ApisixRoute v2beta2 apiversion. (#698)
  • 736aba3 feat: upgrade admission apiversion to v1 (#697)
  • 0630ac5 feat: upgrade CRD version to v1 (#693)
  • 957c315 feat: add full compare when ingress startup (#680)
  • 1b71fa3 feat: support cert-manager (#685)
  • 3e9bdbf fix: the fields in UpstreamPassiveHealthCheckUnhealthy should be timeouts (#687)
  • 5c9cdbe fix: remove the step of deleting httpbinsvc (#677)
  • 7216532 Remove volumeMounts when webhook is disabled (#679)
  • 1e1be74 add metric: check_cluster_health and sync_operation_total (#627)
  • 6a8658d fix: add initContainers to verify if apisix is ready (#660)
  • d4a832c feat: route crd add timeout fields (#609)
  • a9960c2 Add API for getting schema of route, upstream and consumer (#655)
  • 75a2aaa feat: Implement the admission server and a validation webhook for plugins (#573)
  • 270a176 fix: e2e failure due to count returned by APISIX (#640)
  • c284f38 docs: update practices index for website (#654)
  • 9ab367f docs: Supplement FAQ for the error log 'no matches for kind "ApisixRoute" in version "apisix.apache.org/v2beta1"' (#651)
  • 62b7590 feat: support TLS for ingress v1 (#634)
  • 68b7d7d chore: release v1.2.0 (#633)
  • d537ddc feat: add link check (#635)
  • d7128a1 chore: skip CodeQL if go files have no changes (#636)
  • d8854c3 docs: fix config.json (#628)

Dependency Changes

  • github.com/fsnotify/fsnotify v1.5.0 new
  • github.com/prometheus/client_golang v1.7.1 -> v1.10.0
  • github.com/slok/kubewebhook/v2 v2.1.0 new
  • github.com/stretchr/testify v1.6.1 -> v1.7.0
  • github.com/xeipuuv/gojsonschema v1.2.0 new
  • golang.org/x/sys 0f9fa26af87c -> bce67f096156

Previous release can be found at 1.2.0

Release 1.2.0

17 Aug 07:59
Compare
Choose a tag to compare

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

This is a GA release.

Highlights

New Features

  • Support ingress v1beta1 HTTPS #596
  • Implement schema API #601

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

Contributors

  • kv
  • Jintao Zhang
  • Baoyuan
  • Hoshea Jiang
  • chen zhuo
  • okaybase
  • yuanfeng0905
  • 天使莫忆

Changes

20 commits

Dependency Changes

  • github.com/google/uuid v1.2.0 new
  • github.com/onsi/ginkgo v1.16.4 new
  • golang.org/x/net 3d97a244fca7 -> 4163338589ed
  • golang.org/x/sys 0f9fa26af87c new
  • golang.org/x/tools v0.1.5 new

Previous release can be found at 1.1.0

Release 1.1.0

14 Jul 08:27
Compare
Choose a tag to compare

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

11 commits

  • 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

Release 1.0.0

16 Jun 02:46
7e146b6
Compare
Choose a tag to compare

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

58 commits

Read more

Release 0.6.0

13 May 13:46
c4514fb
Compare
Choose a tag to compare

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

Release 0.5.0

13 Apr 10:01
Compare
Choose a tag to compare

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)