Releases: apache/apisix-ingress-controller
Release 2.0.0-rc4
Highlights
In APISIX Standalone mode, launching an ADC process for each endpoint causes high startup overhead that grows with the number of endpoints. ADC Server mode addresses this by running as a persistent service, reducing CPU cost and improving synchronization efficiency.
Features
- feat: support adc server mode #2520
Bugfixes
- fix: set websocket when passed true and add websocket e2e test #2497
- fix: deadlock occurs when updating configuration fails #2531
- fix: traffic-split weight distribution and add e2e tests #2495
- fix: list is missing index parameter #2513
- fix: status should not be recorded when ingressclass does not match #2519
- fix: support tlsSecret from http.backends in ApisixRoute #2518
Please try out the release binaries and report any issues at
https://github.com/apache/apisix-ingress-controller/issues.
Contributors
- Ashish Tiwari
- AlinsRan
- Traky Deng
- iliya
- 琚致远 / Zhiyuan Ju
Changes
23 commits
07672cce
fix: deadlock occurs when updating configuration fails (#2531)ba39a7ac
chore: upgrade adc to 0.21.0 (#2532)8c5f0dcb
chore: migrate redirect plugin e2e tests (#2529)69db98c4
chore: remove adc binary from dockerfile (#2530)75d068aa
feat: support adc server mode (#2520)1faf2ae4
chore: migrate e2e tests for httproute basic (#2525)2a798d13
fix(test): Unstable controllername assertion (#2523)e5d831e4
chore: remove redundant backend traffic policy attachment (#2524)eb7c06a6
chore: migrate retries/timeout tests for apisixupstream (#2517)404d1508
docs: mention stream is currently not supported in the CRD docs (#2522)6bc3731a
fix: support tlsSecret from http.backends in ApisixRoute (#2518)227062d2
fix: status should not be recorded when ingressclass does not match (#2519)5775f23a
fix: list is missing index parameter (#2513)95787e6e
chore: refactor provider (#2507)c9ead0ee
fix indentation (#2512)ce0c5f4c
refactor: E2E tests to support parallel tests (#2501)77b8210c
docs: update load balancing Gateway API doc for RC3 fix (#2506)7a435c97
chore(deps): bump golang.org/x/oauth2 from 0.24.0 to 0.27.0 (#2485)40712363
chore(test): Refactor loop to use range over integer in test (#2494)ac5e56dd
chore: add test cases for external service (#2500)a2bea453
docs: fix links (#2502)49ef9d40
fix: set websocket when passed true and add websocket e2e test (#2497)a35cad5e
fix: traffic-split weight distribution and add e2e tests (#2495)
Dependency Changes
- golang.org/x/oauth2 v0.24.0 -> v0.27.0
Previous release can be found at 2.0.0-rc3
Release 2.0.0-rc3
Highlights
Features
Bugfixes
- fix: route names with the same prefix were mistakenly deleted #2472
- fix: should not return when service type is ExternalName #2468
- fix: remove duplicate sync func #2476
- fix: full sync during restart results in loss of dataplane traffic #2489
Please try out the release binaries and report any issues at
https://github.com/apache/apisix-ingress-controller/issues.
Contributors
- AlinsRan
- Ashing Zheng
- Traky Deng
Changes
14 commits
66c2b0a
fix: full sync during restart results in loss of dataplane traffic (#2489)f6196ff
chore: differentiate the API versions for CRD testing (#2492)7a6151c
feat: support event triggered synchronization (#2478)38023b2
fix: doc broken links (#2490)7ede0e3
docs: update getting started docs (RC2) (#2481)eb7a65b
chore: update status only when changes occur (#2473)f02e350
docs: fix description error in upgrade doc (#2440)94fcceb
feat: support custom metrics (#2480)1156414
fix: remove duplicate sync func (#2476)f536c26
chore: refactor e2e-test (#2467)4745958
fix: route names with the same prefix were mistakenly deleted (#2472)2b9b787
fix: should not return when service type is ExternalName (#2468)d91a3ba
doc: recommended to use apisix-standalone mode for installation. (#2470)0a4e05c
chore(ci): remove add-pr-comment step (#2463)
Dependency Changes
- filippo.io/edwards25519 v1.1.0 new
- github.com/aws/aws-sdk-go-v2 v1.32.5 new
- github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.7 new
- github.com/aws/aws-sdk-go-v2/config v1.28.5 new
- github.com/aws/aws-sdk-go-v2/credentials v1.17.46 new
- github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.20 new
- github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.41 new
- github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.24 new
- github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.24 new
- github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 new
- github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.24 new
- github.com/aws/aws-sdk-go-v2/service/acm v1.30.6 new
- github.com/aws/aws-sdk-go-v2/service/autoscaling v1.51.0 new
- github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.44.0 new
- github.com/aws/aws-sdk-go-v2/service/dynamodb v1.37.1 new
- github.com/aws/aws-sdk-go-v2/service/ec2 v1.193.0 new
- github.com/aws/aws-sdk-go-v2/service/ecr v1.36.6 new
- github.com/aws/aws-sdk-go-v2/service/ecs v1.52.0 new
- github.com/aws/aws-sdk-go-v2/service/iam v1.38.1 new
- github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 new
- github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.5 new
- github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.5 new
- github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.5 new
- github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.5 new
- github.com/aws/aws-sdk-go-v2/service/kms v1.37.6 new
- github.com/aws/aws-sdk-go-v2/service/lambda v1.69.0 new
- github.com/aws/aws-sdk-go-v2/service/rds v1.91.0 new
- github.com/aws/aws-sdk-go-v2/service/route53 v1.46.2 new
- github.com/aws/aws-sdk-go-v2/service/s3 v1.69.0 new
- github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.6 new
- github.com/aws/aws-sdk-go-v2/service/sns v1.33.6 new
- github.com/aws/aws-sdk-go-v2/service/sqs v1.37.1 new
- github.com/aws/aws-sdk-go-v2/service/ssm v1.56.0 new
- github.com/aws/aws-sdk-go-v2/service/sso v1.24.6 new
- github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.5 new
- github.com/aws/aws-sdk-go-v2/service/sts v1.33.1 new
- github.com/aws/smithy-go v1.22.1 new
- github.com/cpuguy83/go-md2man/v2 v2.0.4 -> v2.0.5
- github.com/go-sql-driver/mysql v1.7.1 -> v1.8.1
- github.com/gruntwork-io/terratest v0.47.0 -> v0.50.0
- github.com/jackc/pgpassfile v1.0.0 new
- github.com/jackc/pgservicefile 5a60cdf6a761 new
- github.com/jackc/pgx/v5 v5.7.1 new
- github.com/jackc/puddle/v2 v2.2.2 new
- github.com/pquerna/otp v1.2.0 -> v1.4.0
- github.com/stretchr/testify v1.9.0 -> v1.10.0
- github.com/urfave/cli v1.22.14 -> v1.22.16
- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 -> v0.54.0
- go.opentelemetry.io/otel v1.28.0 -> v1.29.0
- go.opentelemetry.io/otel/metric v1.28.0 -> v1.29.0
- go.opentelemetry.io/otel/sdk v1.28.0 -> v1.29.0
- go.opentelemetry.io/otel/trace v1.28.0 -> v1.29.0
- golang.org/x/oauth2 v0.21.0 -> v0.24.0
- golang.org/x/time v0.5.0 -> v0.8.0
- google.golang.org/genproto/googleapis/api ef581f913117 -> dd2ea8efbc28
- google.golang.org/genproto/googleapis/rpc f6361c86f094 -> dd2ea8efbc28
- google.golang.org/grpc v1.66.2 -> v1.67.1
- google.golang.org/protobuf v1.34.2 -> v1.35.1
Previous release can be found at 2.0.0-rc2
Release 2.0.0-rc2
Highlights
Features
- feat: support gatewayproxy controller to discovery of dataplane endpoints #2444
- feat: add synchronization status to CRD #2460
Bugfix
- fix: should not contain plaintext token in log message #2462
- fix: add more event filter across controllers #2449
- fix: a failing endpoint shouldn't affect others #2452
- fix: Add provider endpoints to translate context #2442
- fix: config not provided should not be retried #2454
- fix: apisixroute backend service reference to apisixupstream #2453
- fix: adc backend server on different mode #2455
- fix: support filter endpoint when translate backend ref #2451
- fix: reduce the complexity of calculating route priority #2459
Please try out the release binaries and report any issues at
https://github.com/apache/apisix-ingress-controller/issues.
Contributors
- AlinsRan
- Ashing Zheng
- 悟空
Changes
20 commits
6c5847c
fix: should not contain plaintext token in log message. (#2462)cdc6b38
chore: unified logger print (#2456)9d7e018
feat: add synchronization status to CRD (#2460)df2362b
doc: add getting-started doc (#2450)d317e5e
fix: reduce the complexity of calculating route priority (#2459)3a017c7
fix: adc backend server on different mode (#2455)43bbe76
fix: apisixroute backend service reference to apisixupstream (#2453)4f22fb6
fix: config not provided should not be retried (#2454)bce4c69
fix: a failing endpoint shouldn't affect others (#2452)d8be46e
fix: support filter endpoint when translate backend ref. (#2451)18f03ea
fix: add more event filter across controllers (#2449)dc03c31
chore: Update artifact and report names with provider type (#2447)634bc52
feat(ci): support build dev image (#2448)6352263
feat: gatewayproxy controller (#2444)40a2d2c
doc: add config.json (#2446)5d20cec
docs: add install and developer-guide doc (#2439)66e87fc
docs: remove unless commit in changelog 200-rc1 (#2441)fdcc436
chore: move generate-crd to assets (#2445)dfc76d6
fix: Add provider endpoints to translate context (#2442)409a474
chore: move doc to en/latest directory (#2443)
Release 2.0.0-rc1
Highlights
Add Gateway API Extensions apisix.apache.org/v1alpha1
Enable additional features not included in the standard Kubernetes Gateway API, developed and maintained by Gateway API implementers to extend functionality securely and reliably.
-
GatewayProxy: Defines connection settings between the APISIX Ingress Controller and APISIX, including auth, endpoints, and global plugins. Referenced via parametersRef in Gateway, GatewayClass, or IngressClass
-
BackendTrafficPolicy: Defines traffic management settings for backend services, including load balancing, timeouts, retries, and host header handling in the APISIX Ingress Controller.
-
Consumer: Defines API consumers and their credentials, enabling authentication and plugin configuration for controlling access to API endpoints.
-
PluginConfig: Defines reusable plugin configurations that can be referenced by other resources like HTTPRoute, enabling separation of routing logic and plugin settings for better reusability and manageability.
-
HTTPRoutePolicy: Configures advanced traffic management and routing policies for HTTPRoute or Ingress resources, enhancing functionality without modifying the original resources.
Support APISIX Standalone API-Driven Mode (Experimental)
This new implementation addresses the issue of ETCD instability in Kubernetes, removing the need for ETCD support. Routing rules are now stored entirely in memory and can be updated through the API. This change allows you to run Ingress Controllers more reliably in a stateless mode.
You can enable this mode in APISIX Ingress Controller configuration file by specifying:
provider:
type: "apisix-standalone"
For major changes introduced in this release, refer to the upgrade guide.
If you encounter any problems while using the implementation, please submit an issue along with the reproduction steps. The APISIX Team will review and resolve it.
Contributors
- AlinsRan
- Ashing Zheng
Changes
12 commits
c1533c9
fix: the sync_period of the provider should not be 0s (#2438)0db882d
chore: remove useless example files in dockerfile (#2434)11ecb35
fix: set default provider type (#2436)16f9d60
fix(crd): missing shortname and printcolumn (#2435)e6fa3b8
chore: upgrade adc to 0.20.0 (#2432)03877e0
fix(ci): run e2e group by resource api group (#2431)b21d429
chore: revert release-src cmd in makefile (#2433)5588c00
docs: update resources and overview (#2430)67ad69a
chore: remove charts folder (#2428)c7d7732
chore: remove useless provider (#2429)cfa8fd5
feat: support apisix provider type and add ingress docs (#2427)756ed51
refactor: new apisix ingress controller (#2421)
v1.8.4 🌈
What's New
- upgrade: etcd-adapter and add e2e test @Revolyssup (#2369)
- chore: upgrade ubuntu from 20.04 to latest @Revolyssup (#2352)
- chore: upgrade actions/upload-artifact and actions/download-artifact @nic-6443 (#2328)
- docs: update http[].match.exprs any -> all @acuteaura (#2270)
- fix: attempt to shut down when provider init fails @acuteaura (#2263)
👨🏽💻 Contributors
Thank you to our contributors for making this release possible:
@Revolyssup, @acuteaura and @nic-6443
v1.8.3 🌈
What's New
- fix: candidate controllers missing Forget call in workqueue @Revolyssup (#2308)
👨🏽💻 Contributors
Thank you to our contributors for making this release possible:
@Revolyssup
v1.8.2 🌈
What's New
- fix: deletion of references @Revolyssup (#2213)
🧰 Maintenance
- chore(deps): bump golang.org/x/net from 0.20.0 to 0.23.0 in /test/e2e @dependabot (#2220)
👨🏽💻 Contributors
Thank you to our contributors for making this release possible:
@Revolyssup, @dependabot and @dependabot[bot]
v1.8.1 🌈
What's New
- chore: remove redundant logs and improve logs for users @Revolyssup (#2206)
- fix: use force=true to hard delete the apisix resource @Revolyssup (#2210)
- chore: upgrade etcd-adapter to latest version @Revolyssup (#2205)
- chore(ci): remove tao12345666333 and lingsamuel in reviewers @AlinsRan (#2150)
- test: failing flaky unit test @Revolyssup (#2151)
- refactor(cmd/ingress): invert signal ctx logic @acuteaura (#2139)
- chore: update NOTICE to 2024 @zll600 (#2149)
- fix: remove path validation @Revolyssup (#2140)
- feat: add plugin_config_namespace parameter to ApisixRoute @Revolyssup (#2137)
- docs: clarify usage of external service discovery @Revolyssup (#2124)
- feat: add release notes for v1.8.0 release (#2111) @Revolyssup (#2115)
🧰 Maintenance
- chore(deps): bump github.com/onsi/ginkgo/v2 from 2.16.0 to 2.17.1 in /test/e2e @dependabot (#2195)
- chore(deps): bump github.com/spf13/cobra from 1.7.0 to 1.8.0 @dependabot (#2196)
- chore(deps): bump k8s.io/apimachinery from 0.29.2 to 0.29.3 in /test/e2e @dependabot (#2185)
- chore(deps): bump k8s.io/client-go from 0.29.0 to 0.29.2 in /test/e2e @dependabot (#2162)
- chore(deps): bump go.uber.org/zap from 1.26.0 to 1.27.0 in /test/e2e @dependabot (#2172)
- chore(deps): bump k8s.io/api from 0.29.0 to 0.29.2 in /test/e2e @dependabot (#2163)
- chore(deps): bump k8s.io/apimachinery from 0.29.0 to 0.29.2 in /test/e2e @dependabot (#2161)
- chore(deps): bump github.com/onsi/ginkgo/v2 from 2.13.2 to 2.16.0 in /test/e2e @dependabot (#2177)
👨🏽💻 Contributors
Thank you to our contributors for making this release possible:
@AlinsRan, @Revolyssup, @acuteaura, @dependabot, @dependabot[bot] and @zll600
Release v1.8.0 🌈
What's New
- docs: clarify usage of external service discovery @Revolyssup (#2124)
- feat: add release notes for v1.8.0 release (#2111) @Revolyssup (#2115)
- docs: update keys based helm chart version @Revolyssup (#2085)
- feat: add
skip_mtls_uri_regex
support for ApisixTls @aynp (#1915) - feat: add support for multiple labels with same key @Revolyssup (#2099)
- feat: Allow merging nested values in plugin config secretRef @Revolyssup (#2096)
- feat: allow configuring timeout and retries for upstream with ingress @Revolyssup (#1876)
- ci: add workflow to push docker image @Revolyssup (#2081)
- fix: upgrade etcd-adapter @Revolyssup (#2078)
- docs: Add doc for ApisixConsumer @Revolyssup (#2074)
- fix: create unique TLS object for each item in Ingress tls @Revolyssup (#1989)
- feat: add release-drafter @Revolyssup (#2068)
- fix: replace string comparison with 64 bit int @Revolyssup (#2062)
- chore: add Revolyssup in reviewers @Revolyssup (#2059)
- chore(deps): bump google.golang.org/grpc from 1.42.0 to 1.56.3 in /test/e2e/testbackend @dependabot (#2026)
- docs: add best practice docs to avoid race condition bw kubelet and apisix @Revolyssup (#2045)
- chore: correct Makefile comments @jiangfucheng (#2038)
- Renamed field in examples according to CRD @nayavu (#2032)
🐛 Bug Fixes
- fix: Some CRDs missing status sub-resource @Chever-John (#1809)
🧰 Maintenance
- chore(deps): bump github.com/onsi/ginkgo/v2 from 2.13.1 to 2.13.2 in /test/e2e @dependabot (#2079)
- chore(deps): bump golang.org/x/crypto from 0.14.0 to 0.17.0 in /test/e2e @dependabot (#2107)
- chore(deps): bump k8s.io/client-go from 0.28.4 to 0.29.0 in /test/e2e @dependabot (#2105)
- chore(deps): bump k8s.io/api from 0.28.2 to 0.28.4 @dependabot (#2056)
- chore(deps): bump k8s.io/client-go from 0.28.3 to 0.28.4 in /test/e2e @dependabot (#2052)
- chore(deps): bump github.com/onsi/ginkgo/v2 from 2.13.0 to 2.13.1 in /test/e2e @dependabot (#2041)
- chore(deps): bump google.golang.org/grpc from 1.57.0 to 1.57.1 in /test/e2e @dependabot (#2024)
- chore(deps): bump k8s.io/apimachinery from 0.28.3 to 0.28.4 in /test/e2e @dependabot (#2054)
- chore(deps): bump github.com/gorilla/websocket from 1.5.0 to 1.5.1 in /test/e2e @dependabot (#2035)
- chore(deps): bump k8s.io/client-go from 0.28.2 to 0.28.3 in /test/e2e @dependabot (#2016)
- chore(deps): bump k8s.io/api from 0.28.2 to 0.28.3 in /test/e2e @dependabot (#2018)
👨🏽💻 Contributors
Thank you to our contributors for making this release possible:
@Chever-John, @Revolyssup, @aynp, @dependabot, @dependabot[bot], @jiangfucheng and @nayavu
Release v1.7.1
Welcome to the v1.7.1 release of apisix-ingress-controller!
This is a Patch version release.
Highlights
Please try out the release binaries and report any issues at
https://github.com/apache/apisix-ingress-controller/issues.
Contributors
- Jintao Zhang
- Sarasa Kisaragi
- Xin Rong
Changes
3 commits
Dependency Changes
This release has no dependency changes
Previous release can be found at v1.7.0