Releases: kubernetes-sigs/ingress2gateway
Release-v1.0.0
Installation
To install this release, refer to the instructions at https://github.com/kubernetes-sigs/ingress2gateway/blob/v1.0.0/README.md
(ingress2gateway v1.0.0 was tagged on 2026-03-20T20:21:16Z.)
Changelog
Major Themes
Emitters Framework
New pluggable emitter architecture enabling output to vendor-specific Gateway API
extensions. Supported emitters: standard (vanilla Gateway API), Agentgateway, Envoy Gateway, and Kgateway.
(#265, #273, #305, #320)
Extensive ingress-nginx Annotation Support
Significantly expanded ingress-nginx annotation coverage, adding translation for
header manipulation, GRPC, canary routing, path rewriting, timeouts, SSL and permanent/temporal redirects,
CORS, regex path matching, backend TLS, buffer sizing, IP access control.
A new annotation tracking system also
reports which annotations were parsed, unsupported, or unrecognized.
E2E Test Framework
Comprehensive end-to-end test suite built in pure Go with real cluster testing
across Ingress NGINX and Envoy Gateway providers. Covers TLS termination, SSL
redirect, canary routing, CORS, and timeouts. (#294, #330, #353, #366, #372)
Changes by Kind
Feature
- Emitters framework: pluggable emitter architecture separating providers (Ingress → IR) from emitters (IR → Gateway API resources). Includes standard, Agentgateway, Envoy Gateway, kgateway, and GCE emitters. (#265, #273, #305, #320, #336, #388, @Stevenjin8, @kkk777-7, @puertomontt, @chakravardhan, @markuskobler)
- Route rule name support for xPolicy CRD attachment (#298, @kkk777-7)
- ingress-nginx: header manipulation (
upstream-vhost,x-forwarded-prefix,connection-proxy-header) (#283, @eladmotola) - ingress-nginx: GRPC support annotation (#286, @eladmotola)
- ingress-nginx: extended canary support with
canary-by-header,canary-by-header-value, and cookie-based routing (#287, #365, #374, @jgreeer, @Stevenjin8) - ingress-nginx:
rewrite-targetannotation for path rewriting (#288, @Stevenjin8) - ingress-nginx: timeout annotations (
proxy-connect-timeout,proxy-send-timeout,proxy-read-timeout) (#289, #376, #377, @Stevenjin8) - ingress-nginx:
permanent-redirectandtemporal-redirectannotations with configurable status codes (#299, @jgreeer) - ingress-nginx: full CORS configuration (
allow-origin,allow-methods,allow-headers,allow-credentials,expose-headers,max-age). No longer requires--allow-experimental-gw-apiflag. (#303, #371, @chakravardhan, @kkk777-7) - ingress-nginx:
use-regexannotation withimplementationSpecificpath matching (#307, #344, @chakravardhan, @Stevenjin8) - ingress-nginx: Backend TLS via
proxy-ssl-verifyandproxy-ssl-secret, translated to BackendTLSPolicy (#308, @rajashish) - ingress-nginx:
proxy-body-sizeandclient-body-buffer-sizebuffer annotations (#305, #375, @kkk777-7, @Stevenjin8) - ingress-nginx:
whitelist-source-rangeanddenylist-source-rangeIP access control (#345, @kkk777-7) - ingress-nginx:
ssl-redirectannotation with per-route evaluation matching ingress-nginx per-location semantics (#290, #385, @Stevenjin8) - ingress-nginx: trailing slash redirects (#385, @Stevenjin8)
- ingress-nginx: annotation tracking with notifications for unsupported/unparsed annotations (#359, #361, #370, @Stevenjin8, @kkk777-7)
- Read resources from multiple input files and directories via
--input-file(#258, #357, @carmal891, @johananl) - Refactored notification system to provider- and emitter-scoped reports (#360, #384, @johananl, @Stevenjin8)
- E2E test suite with real cluster testing across Ingress NGINX and Envoy Gateway (#294, #330, #351, #353, #366, #372, @johananl, @Stevenjin8, @kkk777-7)
Bug or Regression
- Fix data race in NotificationAggregator (#292, @johananl)
- Fix setting proper secret group and kind in TLS certificateRefs (#302, @cnvergence)
- Fix panic on nil
ingress.rules.http(#335, @Stevenjin8) - Fix deduplicate TLS CertificateRefs in gateway listeners (#378, @Stevenjin8)
Other (Cleanup or Flake)
- Upgraded Gateway API to v1.5 (#367, @Stevenjin8)
- Migrate to golangci-lint v2 (#323, @kkk777-7)
- Bump Kong chart to v3.0.2 (#349, @johananl)
- Docs: Providers vs Emitters architecture description (#369, @markuskobler)
- Update main and ingress-nginx README (#390, @Stevenjin8)
Release-v1.0.0-rc1
Installation
To install this release, refer to the instructions at https://github.com/kubernetes-sigs/ingress2gateway/blob/v1.0.0-rc1/README.md
(ingress2gateway v1.0.0-rc1 was tagged on 2026-03-04T21:49:56Z.)
Major Themes
Emitters Framework
New pluggable emitter architecture enabling output to vendor-specific Gateway API
extensions. Providers now produce an intermediate representation (IR) that is
transformed by emitters into Gateway API resources with optional vendor-specific
extensions. Supported emitters: standard, Envoy Gateway, and Kgateway.
(#265, #273, #305, #320)
Extensive ingress-nginx Annotation Support
Added translation for many new ingress-nginx annotations covering header
manipulation, CORS, redirects, timeouts, path rewrite, backend TLS, buffer
sizing, IP range control, and more.
E2E Test Framework
Comprehensive end-to-end test suite with real cluster testing across Ingress
NGINX, Kong, and Istio providers. (#294, #330)
Changes by Kind
Feature
- Emitters: pluggable emitter framework with support for standard, Envoy Gateway, kGateway, and GCE targets (#265, #273, #305, #320)
- GCE infrastructure provider with support for internal/external load balancers, Cloud Armor, SSL policies, and health checks (#336)
- Read resources from multiple input files via the
--input-fileflag (#258) - Upgraded Gateway API to v1.5 (#367)
- ingress-nginx: header manipulation support for upstream-vhost, x-forwarded-prefix, connection-proxy-header, and custom-headers (#283)
- ingress-nginx: backend protocol annotation (HTTP, HTTPS, GRPC, GRPCS) (#286)
- ingress-nginx: extended canary support with header-based and cookie-based routing (#287, #374)
- ingress-nginx: path rewrite via rewrite-target annotation (#288)
- ingress-nginx: timeout annotations (proxy-connect-timeout, proxy-send-timeout, proxy-read-timeout) (#289, #353, #376, #377)
- ingress-nginx: SSL redirect annotation (#290)
- ingress-nginx: permanent and temporal redirect annotations with configurable status codes (#299)
- ingress-nginx: route rule name support (#298)
- ingress-nginx: full CORS configuration (allow-origin, methods, headers, credentials, expose-headers, max-age) (#303, #371)
- ingress-nginx: use-regex annotation support (#307, #344)
- ingress-nginx: backend TLS support via BackendTLSPolicy from proxy-ssl-* annotations (#308)
- ingress-nginx: buffer annotations (proxy-body-size, client-body-buffer-size) (#305)
- ingress-nginx: IP range control via whitelist-source-range and denylist-source-range (#345)
- ingress-nginx: parsed annotations tracking with notifications for unsupported/unparsed annotations (#370, #359)
- Log unparsed annotations (#361)
Bug or Regression
- Fix deduplicate TLS CertificateRefs in gateway listeners (#378)
- Fix applyTCPTimeouts loop using continue instead of return (#377)
- Fix canary annotation value parsed as bool instead of checking presence (#374)
- Fix reading ingresses from cluster (#357)
- Fix setting proper secret group and kind in certificateRefs (#302)
- Fix data race in NotificationAggregator (#292)
Other (Cleanup or Flake)
Release-v0.5.0
Installation
To install this release, refer to the instructions at https://github.com/kubernetes-sigs/ingress2gateway/blob/v0.5.0/README.md
(ingress2gateway v0.5.0 was tagged on 2026-01-13T20:26:04Z.)
Changelog
Refer to v0.5.0-rc1 changelog.
Release-v0.5.0-rc1
Installation
To install this release, refer to the instructions at https://github.com/kubernetes-sigs/ingress2gateway/blob/v0.5.0-rc1/README.md
(ingress2gateway v0.5.0-rc1 was tagged on 2025-11-07T17:42:14Z.)
Changelog
Feature
- Add parameter to ingress-nginx provider to select ingress class (#231, @adrianmoisey)
- Add support for kyaml printer (#242, @rikatz)
- Add support for named ports (#222, @gavinkflam)
- Added new fields in IR to track the source Ingress of each HTTPRoute BackendRef.
- Fixed incorrect canary weight assignment when a Service appeared under different paths in both canary and non-canary Ingresses.
- Added some more validations to ingress-nginx canary annotation parsing. (#251, @Stevenjin8)
- Adds support for the NGINX provider in ingress2gateway. (#224, @sarthyparty)
- The version of the binary can now be printed with the
versioncommand (e.g. ingress2gateway version) (#216, @spencerhance) - Upgraded GatewayAPI to v1.4.0 (#248, @Stevenjin8)
Bug or Regression
- Fix invocations for OIDC-enabled clusters from kubeconfig (#245, @jpiper)
- Print notification table on stderr (#233, @rikatz)
Other (Cleanup or Flake)
Release-v0.4.0
Installation
To install this release, refer to the instructions at https://github.com/kubernetes-sigs/ingress2gateway/blob/v0.4.0/README.md
(ingress2gateway v0.4.0 was tagged on 2025-01-17T18:00:15Z.)
Changelog
Refer to v0.4.0-rc1 changelog.
Release-v0.4.0-rc1
Installation
To install this release, refer to the instructions at https://github.com/kubernetes-sigs/ingress2gateway/blob/v0.4.0-rc1/README.md
(ingress2gateway v0.4.0-rc1 was tagged on 2024-12-26T18:12:28Z.)
v0.4.0-rc1
Major Themes
New Cilium support
Added support for translating Cilium Ingress to Gateway API (by @xtineskim)
Enhanced GKE support
GKE translation now supports translating Cloud Armor, Custom HealthChecks, and SSL Policies to their GKE Gateway equivalents (by @sawsa307)
Changes by Kind
Feature
- Added support for Cilium Ingress to Gateway API (#199, @xtineskim)
- Added notifications for OpenAPI3 (#178, @Devaansh-Kumar)
- Gateways translated via ingress2gateway will be attached with a new annotation
gateway.networking.k8s.io/generatorto track resources generated with ingress2gateway tool and its version. (#187, @sawsa307) - Added support for translating Cloud Armor security policy on GKE Ingress to GCPBackendPolicy on GKE Gateway. (#191, @sawsa307)
- Added support for translating Custom Health Check on GKE Ingress to HealthCheckPolicy on GKE Gateway. (#194, @sawsa307)
- Added support for translating SSL Policy on GKE Ingress to GCPGatewayPolicy on GKE Gateway. (#195, @sawsa307)
Release-v0.3.0
Installation
To install this release, refer to the instructions at https://github.com/kubernetes-sigs/ingress2gateway/blob/v0.3.0/README.md
(ingress2gateway v0.3.0 was tagged on 2024-08-21T17:52:54Z.)
v0.3.0
Major Themes
New Notifications Package
new notifications package to provide mechanism for providers to display useful information generated during conversion process (#160, @Devaansh-Kumar)
Changes by Kind
Feature
- Added notifications for Apisix (#176, @Devaansh-Kumar)
- Added notifications for Istio provider (#171, @Devaansh-Kumar)
- Added notifications for Kong (#173, @Devaansh-Kumar)
- Added notifications for ingress-nginx (#177, @Devaansh-Kumar)
- GCE now will display useful information generated during conversion process via the new notification package. (#169, @sawsa307)
Bug or Regression
Release-v0.3.0-rc1
Installation
To install this release, refer to the instructions at https://github.com/kubernetes-sigs/ingress2gateway/blob/v0.3.0-rc1/README.md
(ingress2gateway v0.3.0-rc1 was tagged on 2024-06-18T10:12:43Z.)
Changelog
Feature
- Add a
--kubeconfigflag to specify kubeconfig file location (#133, @YTGhost) - Added support for GCE provider. (#148, @sawsa307)
- Bump
ReferenceGranttov1beta1(#142, @YTGhost) - Deprecate
i2gw.InputResourcesand remove input resources fromToGatewayAPIfunction (#141, @YTGhost) - New support for OpenAPI Provider (#157, @guicassolato)
- Providers flag is now required (#159, @LiorLieberman)
- The Kong
TCPIngressresources are properly translated intoGateways,TCPRoutes, andTLSRoutes (#86, @mlavacca)
Bug or Regression
- Add translation when canary-weight is set to 0 (#137, @MregXN)
- Fix errors when CRDs are not installed in the cluster (#153, @LiorLieberman)
- Fixed ingress-nginx conversion tests (#139, @LiorLieberman)
- Improve error handling for Kong and Ingress Nginx providers, also prevents the tool from crashing in case no
pathTypeis specified (#152, @levikobi) - Allow & handle wildcard hosts in Istio VirtualServices (#155, @zirain)
Other (Cleanup or Flake)
Thanks to everyone who contributed to this release 🎉
Release-v0.2.0
Installation
To install this release, refer to the instructions at https://github.com/kubernetes-sigs/ingress2gateway/blob/v0.2.0/README.md
(ingress2gateway v0.2.0 was tagged on 2024-02-02T09:29:36Z.)
Changelog
Major Themes
Providers storage
Providers now fetch resources and store them in their local storage.
This expands to ingress fetching. It is no longer happening on i2gw package and moved to be fetched at the provider level.
New Providers
Istio and APISIX support has been added.
To check what features are currently supported please visit Istio and APIXIS.
Feature
- Add support for Istio API conversion to K8S Gateway API (#111, @dpasiukevich)
- Kong supports
ImplementationSpecificasPathTypeand converts it intoRegularExpression.(#89, @mlavacca) - Move ingress fetching logic to be isolated, per provider (#116, @LiorLieberman)
- New Apache APISIX provider. (#108, @pottekkat)
- Print generated GatewayClasses, TLSRoutes, TCPRoutes and ReferenceGrants in addition to Gateways and HTTPRoutes (#110, @dpasiukevich)
- The
HTTPRoutesare named with the following pattern: -. (#79, @mlavacca) - [Istio provider] set up code for reading istio custom resources (#99, @dpasiukevich)
Bug or Regression
- Duplicate
BackendRefsare removed from theHTTPRouterules. (#104, @pottekkat)
Dependencies
- Skip k8s client creation when reading local file. (#128, @dpasiukevich)
- Gateway API has been bumped to v1.0.0. (#98, @mlavacca)
Release-v0.2.0-rc1
Installation
To install this release, refer to the instructions at https://github.com/kubernetes-sigs/ingress2gateway/blob/v0.2.0-rc1/README.md
(ingress2gateway v0.2.0-rc1 was tagged on 2024-01-15T14:21:24Z.)
Changelog
Notable changes since v0.1.0
Providers storage
Providers now fetch resources and store them in their local storage.
This expands to ingress fetching. It is no longer happening on i2gw package and moved to be fetched at the provider level.
New Providers
Istio and APISIX support has been added.
To check what features are currently supported please visit Istio and APIXIS.
Feature
- Add support for Istio API conversion to K8S Gateway API (#111, @dpasiukevich)
- Kong supports
ImplementationSpecificasPathTypeand converts it intoRegularExpression.(#89, @mlavacca) - Move ingress fetching logic to be isolated, per provider (#116, @LiorLieberman)
- New Apache APISIX provider. (#108, @pottekkat)
- Print generated GatewayClasses, TLSRoutes, TCPRoutes and ReferenceGrants in addition to Gateways and HTTPRoutes (#110, @dpasiukevich)
- The
HTTPRoutesare named with the following pattern: -. (#79, @mlavacca) - [Istio provider] set up code for reading istio custom resources (#99, @dpasiukevich)
Bug or Regression
- Duplicate
BackendRefsare removed from theHTTPRouterules. (#104, @pottekkat)