<a id="changelog"></a>

# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

Each revision is versioned by the date of the revision.

## 2026-10-22

- Centralize route validation with error counts in blocked statuses and detailed
  diagnostics identifying possible config sources in debug-log.
- Cleaned up the GatewayRouteState by removing the integrator mode sub-state.

## 2026-10-21

- Updated the home page to include two missing sections.

## 2026-10-19

- Moved the documentation tooling to the centrally managed `platform-engineering-documentation-files` Copier template and added a scheduled workflow that keeps it in sync. There is no change to the charm.

## 2026-10-07

- Add arm64 build for `gateway-route`

## 2026-09-29

### Added

- Added `haproxy-route-tcp` to modes of operation explanation page.
- Added an explanation page for `haproxy-route-tcp`

## 2026-09-23

### Added

- Added `cache-inactive` and `cache-max-size` config options, published to content-cache
  over the `cache-config` relation to control cache eviction and total disk usage.

## 2026-09-22

### Added

- Explicitly block all units when more than one unit is requested.

### Fixed

- Removed EndpointSlice cleanup logic for `gateway-route` (remnant from Integrator mode) which
  broke the backend services.

## 2026-09-2

### Added

- Added support for `strip-prefix` that is passed from the `ingress` relation.

## 2026-08-20

### Added

- Added the terraform release workflow that handles creation of tags when terraform files change.

### Fixed

- Fixed the publish workflow to call the `canonical/charm-ci` publish reusable workflow instead of the integration-test workflow.

## 2026-07-21

### Added

- Added support for the `Strict-Transport-Security` (HSTS) response header on HTTPS `HTTPRoute`s.
  When HTTPS is enforced, the `hsts_max_age` value published by `gateway-api-integrator`
  is injected as an HSTS header via a `ResponseHeaderModifier` filter.

## 2026-07-20

### Updated

- Updated terraform module to allow deploying `ingress-configurator` with Juju provider 2.x.

## 2026-06-26

### Fixed

- Fixed a bug where multiple `gateway-route` relations with enforced HTTPS caused the gateway to become unreachable. The fix creates one HTTPS HTTPRoute and one HTTP HTTPRoute per hostname, each referencing its dedicated Gateway listener.

### Added

- Added support IP based URL in `ingress` relation when integrated with `gateway-api-integrator` when
  no hostname is set.

### Removed

- Removed support for config-driven (external) backends with `gateway-route`, as the use case that originally motivated this feature no longer exists.

## 2026-06-17

### Added

- Added support for `gateway-route` in adapter mode when the workload port is not open.

## 2026-06-01

### Added

- Added support for `gateway-route` relation in adapter mode.

## 2026-04-20

### Added

- Added config options `tcp-timeout-server`, `tcp-timeout-connect`, and `tcp-timeout-queue`.

## 2026-03-17

### Added

- Added support for NodePort routing for Kubernetes substrates when an ingress is integrated,
  overriding the old routing behavior where the ingress data was used for sending traffic upstream.

## 2026-01-22

### Added

- Add config options `tcp-enforce-tls`, `tcp-health-check-interval`, `tcp-health-check-rise`
  `tcp-health-check-fall`, `tcp-health-check-type`, `tcp-health-check-send`,
  `tcp-health-check-expect`, `tcp-health-check-db-user`.

## 2026-01-15

### Added

- Add config options `tcp-retry-count`, `tcp-retry-redispatch`, `tcp-load-balancing-algorithm`,
  `tcp-load-balancing-consistent-hashing`.
- Fix bug where integrating with `haproxy-route-tcp` does not update the relation data.

## 2026-01-12

### Added

- Add external-grpc-port configuration to support gRPC traffic routing.

## 2025-11-25

### Added

- Added upgrade documentation.

## 2025-08-01

### Changed

- Add backend-protocol configuration option.

## 2025-07-21

### Changed

- Require interval, fall and rise health checks to either be all set or none

## 2025-07-14

### Added

- Add check-interval, check-rise, check-fall, check-path and check-port configurations

## 2025-07-10

### Added

- Add retry-count, retry-interval and retry-redispatch configurations

### Added

- Add ingress integration support

## 2025-07-09

### Added

- Add path and subdomain configuration to the `ingress-configurator` charm.
