Skip to content

Releases: apache/apisix-ingress-controller

Release 2.0.0-rc5

19 Nov 10:07
4505994

Choose a tag to compare

Release 2.0.0-rc5 Pre-release
Pre-release

apisix-ingress-controller 2.0.0-rc5

Welcome to the v2.0.0-rc5 release of apisix-ingress-controller!
This is a pre-release of apisix-ingress-controller

Highlights

  • Gateway API Support: Added support for TCPRoute, UDPRoute, GRPCRoute, and TLSRoute, achieving comprehensive Gateway API coverage.
  • Enhanced Webhook Validation:
    • Introduced certificate conflict detection and Secret/Service resource checking to improve configuration consistency and security.
    • Added admission webhooks for IngressClass and Gateway resources.
  • GatewayProxy Improvements: Added conflict detection and stricter provider validation to prevent misconfiguration between instances.
  • APISIX Upstream Enhancements: Added support for health checks, service discovery, and port-level settings.
  • Improved Inter-Container Communication: Added Unix socket support for faster internal communication.
  • Conformance and Stability Fixes: Fixed multiple Gateway API conformance tests (PathRewrite, QueryParamMatching, RewriteHost, etc.) to ensure better compatibility.
  • Resilience Improvements: Introduced retry mechanism on sync failures.
  • Debugging and Observability: Added a unified API server for debugging and enhanced logging consistency.

Features

  • feat: add certificate conflict detection to admission webhooks #2603
  • feat: support resolve svc.ports[].appProtocol #2601
  • feat: add conflict detection for gateway proxy #2600
  • feat(gateway-api): support TLSRoute #2594
  • feat: support UDPRoute webhook #2588
  • feat: add Unix socket support for inter-container communication #2587
  • feat(apisixupstream): support portLevelSettings #2582
  • feat: add secret/service resource checker for webhook #2583
  • feat(gateway-api): add support for UDPRoute #2578
  • feat(apisixupstream): support discovery #2577
  • feat(apisixupstream): support healthcheck #2574
  • feat: add webhook for ingressclass and gateway #2572
  • feat(gateway-api): support GRPCRoute #2570
  • feat: add webhook server #2566
  • feat: add unified API server with debugging capabilities #2550
  • feat: add support for named servicePort in ApisixRoute backend #2553
  • feat: support stream_route for ApisixRoute #2551
  • feat: add support for CORS httproutefilter #2548
  • feat: add support for TCPRoute #2564
  • feat: support retry in case of sync failure #2534

Bug Fixes

  • fix(ingress): port.name matching failure for ExternalName Services #2604
  • fix(gatewayproxy): add stricter validation rules for provider #2602
  • fix: generate unique SSL IDs to prevent certificate conflicts across different hosts #2592
  • fix(conformance-test): HTTPRoutePathRewrite #2597
  • fix(conformance-test): HTTPRouteQueryParamMatching #2598
  • fix(conformance-test): HTTPRouteRewriteHost #2596
  • fix: residual data issue when updating ingressClassName #2543
  • fix: responseHeaderModifier fails to synchronize #2544
  • fix: handle httproute multi backend refs #2540
  • fix: sync exception caused by ingress endpoint 0 #2538
  • fix: use upstream id instead of inline upstream in traffic-split plugin #2546
  • fix: hmac-auth plugin spec compatibility with latest apisix #2528

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

Contributors

  • AlinsRan
  • Ashing Zheng
  • Ashish Tiwari
  • Traky Deng
  • ArthurMorgan

Changes

53 commits

Read more

Release 2.0.0-rc4

01 Sep 03:10
a23de40

Choose a tag to compare

Release 2.0.0-rc4 Pre-release
Pre-release

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

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

04 Aug 11:54
486cc65

Choose a tag to compare

Release 2.0.0-rc3 Pre-release
Pre-release

Highlights

Features

  • feat: support custom metrics #2480
  • feat: support event triggered synchronization #2478

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

07 Jul 12:29
f27bbfc

Choose a tag to compare

Release 2.0.0-rc2 Pre-release
Pre-release

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

Release 2.0.0-rc1

01 Jul 07:51
bb378f8

Choose a tag to compare

Release 2.0.0-rc1 Pre-release
Pre-release

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

v1.8.4 🌈

17 Mar 07:55
019d719

Choose a tag to compare

What's New

👨🏽‍💻 Contributors

Thank you to our contributors for making this release possible:
@Revolyssup, @acuteaura and @nic-6443

v1.8.3 🌈

17 Oct 08:32
8a9aba3

Choose a tag to compare

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 🌈

26 Apr 07:57
57b5aee

Choose a tag to compare

What's New

🧰 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 🌈

15 Apr 04:42
4d42c9a

Choose a tag to compare

What's New

🧰 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 🌈

19 Jan 07:04
6ad8902

Choose a tag to compare

What's New

🐛 Bug Fixes

🧰 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