HAProxy Unified Gateway
Changelog
On this page
The changelog shows you an in-depth list of changes included in HAProxy Unified Gateway.
Version 1.0
Release 1.0.0 - 2026-03-23 Jump to heading
- TEST/MEDIUM fix username for docker login with token
- TEST/MINOR enhance the way we display Backend and Frontend diffs when a test fail
- TEST/MEDIUM add test to conformance run in CI
- MEDIUM Allow inject traffic for conformance tests in CI Docker in Docker fun
- MINOR allow conformance MR to run in fork
- MINOR run MR conformance tests also on push
- MEDIUM adapt logic for listener conflicts to conformance tests.
- TEST/MINOR add Gateway conditions diff in the test fail
- CLEANUP/MINOR cleanup some tasks
- BUILD/MINOR go.mod update k8s.io packages
- BUG/MEDIUM fix a case for conformance test GatewayWithAttachedRoutes
- BUG/MEDIUM fix missing observed generation in HTTPRoute status
- BUILD/MINOR ci run conformance tests on default branch push
- BUILD/MINOR add nightly conformance report job
- TEST/MEDIUM add a stage with the conformance tests that currently pass
- MAJOR update the Gateway status addresses and Hug Service ports.
- CLEANUP/MINOR fix some small typo
- MINOR ci cancel pipelines if MR needs rebase
- CLEANUP/MINOR replace panic with graceful exit on job errors
- TEST remove test todo tag and task
- BUILD/MINOR ci update docker actions and simplify buildx caching
- BUILD/MINOR bump check-commit to v5.5.2
- BUILD/MINOR add workflow to build and push http-echo image
- TEST remove test todo tag and task
- TEST fix test exact route no match
- CLEANUP/MINOR remove push rule for docker-build job
- TEST/MINOR TLSRoute use v1 in tests for 1.5.0
- BUG/MINOR correct CRD name and handle clientset error gracefully
- BUG/MEDIUM fix issues with Defaults that do not have haproxytech in spec name
- TEST add conformance tests to CI
- MINOR update gitignore file
- MEDIUM fix for compliance test GatewayInvalidTLSConfiguration
- MAJOR introduce conformance tests
- MINOR change the condition message for conflicting listener
- MAJOR allow identical Listeners on different Gateways
- BUILD/MINOR go.mod update k8s.io packages
- BUILD/MINOR go.mod update golang.org/x packages
- CLEANUP/MINOR add fallback to AddMapEntry during map sync
- MAJOR escape backslash character in host name
- MAJOR Ensure that first socket in runtime api list has admin level enabled
- CLEANUP/MINOR docker clean procedure
- BUILD/MINOR ci use newer images in ci
- TEST/MEDIUM ci add metric gathering in ci testing
- MAJOR add prometheus metric for hug
- BUILD/MINOR go.mod update k8s.io packages
- BUILD/MINOR go.mod update golang.org/x packages
- CLEANUP/MINOR change imagePullPolicy in our examples
- BUILD/MINOR ci use new haproxy registry
- BUILD/MINOR update tools used in repository
- CLEANUP/MINOR logs use more meaningful defaults
- CLEANUP/MINOR fix typo for MergeStrategy
- BUG/MEDIUM add Defaults to the crd job
- TEST/MINOR comment out not implement feature test
- TEST add timeout HTTP Route tests
- MINOR add http timeout for gateway server round in HTTP Route
- TEST/MEDIUM add tests for Defaults Custom Resource
- DOC/MAJOR add documentation for Defaults Custom Resource
- MAJOR add support for Defaults Custom Resource
- TEST/MEDIUM add tests for Global CR
- BUG/MAJOR fix missing DeepCopy of default Global value
- BUG/MEDIUM implement correct MarshalJSON for Global
- TEST/MINOR cleanup to use same base method
- MAJOR add the support of Global Custom Resource
- MINOR remove master-worker from haproxy.cfg
- TEST/MAJOR kill haproxy in test TearDown
- TEST add session persistence test
- MINOR pick session persistence in case of collision
- MINOR add idle timeout for session persistence
- MINOR add absolute timeout in session persistence
- MEDIUM session persistence by cookie
- BUILD/MINOR add generated zip files to repo
- BUG/MINOR ci correct GH actions
- CLEANUP/MINOR use the same way to check maps and cleanup fixtures in all tests.
- MEDIUM ensure with direct control that the runtime is ready after a reload
- BUG/MEDIUM perform runtime map update but skip empty mapID
- MINOR reduce log volume for maps
- MINOR lower log level for start of map processing
- CLEANUP remove non formatted log in map manager
- TEST/MAJOR activate the map runtime checks for all tests
- BUG/MAJOR fix reload issue
- TEST activate tests for Gateway API 1.5.0
Version 0.9
Release 0.9.3 - 2026-03-20 Jump to heading
- BUILD/MINOR go.mod update k8s.io packages
- BUG/MEDIUM fix a case for conformance test GatewayWithAttachedRoutes
- BUG/MEDIUM fix missing observed generation in HTTPRoute status
- BUILD/MINOR ci run conformance tests on default branch push
- BUILD/MINOR add nightly conformance report job
- TEST/MEDIUM add a stage with the conformance tests that currently pass
- MAJOR update the Gateway status addresses and Hug Service ports.
- CLEANUP/MINOR fix some small typo
Release 0.9.2 - 2026-03-19 Jump to heading
- MINOR ci cancel pipelines if MR needs rebase
- CLEANUP/MINOR replace panic with graceful exit on job errors
- TEST remove test todo tag and task
- BUILD/MINOR ci update docker actions and simplify buildx caching
- BUILD/MINOR bump check-commit to v5.5.2
- BUILD/MINOR add workflow to build and push http-echo image
- TEST remove test todo tag and task
- TEST fix test exact route no match
- CLEANUP/MINOR remove push rule for docker-build job
- TEST/MINOR TLSRoute use v1 in tests for 1.5.0
- BUG/MINOR correct CRD name and handle clientset error gracefully
- BUG/MEDIUM fix issues with Defaults that do not have haproxytech in spec name
- TEST add conformance tests to CI
- MINOR update gitignore file
- MEDIUM fix for compliance test GatewayInvalidTLSConfiguration
- MAJOR introduce conformance tests
- MINOR change the condition message for conflicting listener
- MAJOR allow identical Listeners on different Gateways
Release 0.9.1 - 2026-03-16 Jump to heading
- BUILD/MINOR go.mod update k8s.io packages
- BUILD/MINOR go.mod update golang.org/x packages
- CLEANUP/MINOR add fallback to AddMapEntry during map sync
- MAJOR escape backslash character in host name
- MAJOR Ensure that first socket in runtime api list has admin level enabled
- CLEANUP/MINOR docker clean procedure
- BUILD/MINOR ci use newer images in ci
- TEST/MEDIUM ci add metric gathering in ci testing
- MAJOR add prometheus metric for hug
- BUILD/MINOR go.mod update k8s.io packages
- BUILD/MINOR go.mod update golang.org/x packages
- CLEANUP/MINOR change imagePullPolicy in our examples
- BUILD/MINOR ci use new haproxy registry
- BUILD/MINOR update tools used in repository
- CLEANUP/MINOR logs use more meaningful defaults
- CLEANUP/MINOR fix typo for MergeStrategy
- BUG/MEDIUM add Defaults to the crd job
- TEST/MINOR comment out not implement feature test
- TEST add timeout HTTP Route tests
- MINOR add http timeout for gateway server round in HTTP Route
- TEST/MEDIUM add tests for Defaults Custom Resource
- DOC/MAJOR add documentation for Defaults Custom Resource
- MAJOR add support for Defaults Custom Resource
- TEST/MEDIUM add tests for Global CR
- BUG/MAJOR fix missing DeepCopy of default Global value
- BUG/MEDIUM implement correct MarshalJSON for Global
- TEST/MINOR cleanup to use same base method
- MAJOR add the support of Global Custom Resource
- MINOR remove master-worker from haproxy.cfg
- TEST/MAJOR kill haproxy in test TearDown
- TEST add session persistence test
- MINOR pick session persistence in case of collision
- MINOR add idle timeout for session persistence
- MINOR add absolute timeout in session persistence
- MEDIUM session persistence by cookie
- BUILD/MINOR add generated zip files to repo
- BUG/MINOR ci correct GH actions
- CLEANUP/MINOR use the same way to check maps and cleanup fixtures in all tests.
- MEDIUM ensure with direct control that the runtime is ready after a reload
- BUG/MEDIUM perform runtime map update but skip empty mapID
- MINOR reduce log volume for maps
- MINOR lower log level for start of map processing
- CLEANUP remove non formatted log in map manager
- TEST/MAJOR activate the map runtime checks for all tests
- BUG/MAJOR fix reload issue
- TEST activate tests for Gateway API 1.5.0
Release 0.9.0 - 2026-03-06 Jump to heading
- TEST do not allow gateway api 1.5.0 tests to fail
- TEST add checking maps over runtime
- TEST/MINOR ci add task generation to ci jobs
- BUILD/MINOR ci add check to make sure image can be built
- BUILD/MINOR go.mod update k8s.io packages
- BUILD/MINOR go.mod update golang.org/x packages
- TEST fix stop testenv error
- TEST/MEDIUM add tests that do not wait for maps to be empty
- MEDIUM activate servers scale test in CI
- MEDIUM adapt Gateway manifest to be compliant with Gateway API 1.5.0
- MEDIUM reload if runtime map update fails
- TEST adapt test to do
- MEDIUM remove map files directory when gateway is removed
- TEST map files test for addition
- TEST add package and format modifier in test task
- MAJOR new map files management
- MAJOR jobs add job for creating and updating CRDs and installing gateway API
- TEST/MAJOR add tests for servers creation/deletion through the runtime API
- MAJOR add server through runtime socket
- BUG/MEDIUM Fix listener conflict detection to ignore deleted Gateways and their listeners
- BUG remove frontend when gateway is removed
- BUG/MEDIUM fix server name generation by using the correct port variable
- BUG/MINOR update predicate in controller registration
- CLEANUP/MINOR remove deprecated config options
- MEDIUM Synchronize the controller and the hug app
- CLEANUP/MINOR remove backend CR name from examples and tests
- MEDIUM use structured backend client native calls
- CLEANUP/MINOR remove echo2.yaml and gateway2.yaml from dev-init
- MAJOR Support multiple listeners on the same port
- BUILD/MINOR ci update revive version
- BUILD/MEDIUM go update go version to 1.26
- OPTIM/MINOR use more efficient go code
- BUILD/MINOR update version of betteralign
- CLEANUP/MINOR crd name in backend CRD is meaningless so remove it
- BUILD/MINOR check that CRD generated files are up to date
- TEST/MINOR log failed conditions
- BUILD/MINOR ci use latest go releaser version for building releases
- BUILD/MINOR ci ensure internal commits have correct state
- MINOR change linkID from link1 to hug
- MINOR fix linter issue
- TEST/MEDIUM re enable tests for hostname wildcard and match type path prefix
- MEDIUM add handling of hostname wildcard and match type prefix
- TEST re activate test with regexp
- BUG/MEDIUM add handling of regexp that start with caret character
- TEST/MINOR ci add job for future tests
- TEST/MEDIUM add more tests around hostname and match type
Version 0.8
Release 0.8.0 - 2026-02-04 Jump to heading
- TEST/MEDIUM more examples and tests for combinations of hostname and match type
- TEST/MEDIUM start adding map test for each combination of hostname and match type
- TEST/MEDIUM add ports 31081 and 31445
- TEST/MINOR rename some condition files
- TEST/MINOR add more check for maps
- BUG/MINOR ci fix github action for checking build state
- BUILD/MINOR ci add more info when job fails
- DOC update test documentation with parallel run.
- TEST/MAJOR allow test to run in parallel
- TEST/MINOR add force restart haproxy
- TEST/MINOR add test for tls route
- BUG fix matching hostname result with empty hostname for gateway and TLS route
- BUG remove star prefix in domain wildcard map file key
- BUG/MAJOR Delete the entry in map when service is deleted
- MINOR add wait haproxy process to be gone before starting it again on direct control restart
- MINOR add options fo force restart HAProxy at startup
- MINOR change startup log level configuration
- MINOR update certs root path in comments
- MINOR add stats Frontend bind port
- BUG/MINOR remove TCPRequest of type lua
- BUG/MINOR optionForwardFor set only for HTTP backends
- BUG/MEDIUM if a runtime command failed we should reload haproxy to ensure consistency
- BUG fix the removal of the backend of a TLSRoute when service is removed
- MEDIUM bump kind k8s envtest versions
- TEST/MINOR Add a kind cluster creation for local debugging
- BUG/MEDIUM enqueueHTTPRouteForService did not properly enqueue an HTTPRoute on Service update or delete
- BUG/MEDIUM ci use pebble fork in CI builds
- TEST/MEDIUM add missing CRDs to envtest
- BUG/MEDIUM fix hostname matching when ports are present
- BUG fix removal service referenced by TLS route
- BUG add the if not exist condition to map matching with TLS Route
- BUG fix HTTP hostname matching against listener hostname
- TEST hostname matching between listeners and routes
- BUG fix TLS hostname matching against listener hostname
- CLEANUP/MINOR remove dead code
- CLEANUP/MEDIUM Refactored functions to avoid duplicated code for checking supported GroupKinds and Secrets.
- CLEANUP/MEDIUM use standard EnqueueFor mechanism
- MINOR group dev-init routes http and https
- MINOR change tasks from internal true to false
- MEDIUM add a complete example deployed in default namespace
- MINOR change logs to type text for dev environment.
- MINOR remove tune.ssl.default-dh-param from defaults
- MINOR add logs settings to defaults
- BUG/MINOR ci fix running github actions
- BUG/MINOR tests fix namespace getter logic
- CLEANUP/MINOR fix typos
- TEST/MEDIUM add integration tests for Backend CRD
- BUILD/MINOR go.mod update k8s.io packages
- BUILD/MINOR go.mod update golang.org/x packages
- BUILD/MINOR update go tools
- BUILD/MINOR ci ensure that proper go version is used for go install
- MEDIUM use pebble fork to correctly handle stop signals
- MINOR add TLS route example
- MINOR add domain wildcard SNI map file
- MINOR install or accommodate yaml files for TLSRoute
- MINOR add SNI map for TLS route with passthrough
- MINOR add TCP rules for SSL Passthrough Frontend
- MINOR add backends TLS routes servers
- MINOR add SSL passthrough and TLS routes
- CLEANUP/MINOR ci reduce number of artifacts in ci
- BUILD/MINOR ci use better reports for ci jobs
- BUILD/MINOR ci update ci tooling
- MEDIUM create a crd k8s job
- MINOR ci add reports for test fails
- BUILD/MINOR go.mod update k8s.io packages
- BUILD/MINOR go.mod update golang.org/x packages
- TEST add multiple listeners per gateway match with one parentRef from HTTPRoute
- MEDIUM add multi listeners matching per gateway with a single parent reference from HTTPRoute
- MINOR add hostname matching when host names route are empty
- CLEANUP/MINOR k0s update k0s setting k8s cluster
- BUG/MINOR fix go releaser
Version 0.7
Release 0.7.0 - 2025-11-11 Jump to heading
- TEST/MEDIUM fix username for docker login with token
- TEST/MINOR enhance the way we display Backend and Frontend diffs when a test fail
- TEST/MEDIUM add test to conformance run in CI
- MEDIUM Allow inject traffic for conformance tests in CI Docker in Docker fun
- MINOR allow conformance MR to run in fork
- MINOR run MR conformance tests also on push
- MEDIUM adapt logic for listener conflicts to conformance tests.
- TEST/MINOR add Gateway conditions diff in the test fail
- CLEANUP/MINOR cleanup some tasks
- BUILD/MINOR go.mod update k8s.io packages
- BUG/MEDIUM fix a case for conformance test GatewayWithAttachedRoutes
- BUG/MEDIUM fix missing observed generation in HTTPRoute status
- BUILD/MINOR ci run conformance tests on default branch push
- BUILD/MINOR add nightly conformance report job
- TEST/MEDIUM add a stage with the conformance tests that currently pass
- MAJOR update the Gateway status addresses and Hug Service ports.
- CLEANUP/MINOR fix some small typo
- MINOR ci cancel pipelines if MR needs rebase
- CLEANUP/MINOR replace panic with graceful exit on job errors
- TEST remove test todo tag and task
- BUILD/MINOR ci update docker actions and simplify buildx caching
- BUILD/MINOR bump check-commit to v5.5.2
- BUILD/MINOR add workflow to build and push http-echo image
- TEST remove test todo tag and task
- TEST fix test exact route no match
- CLEANUP/MINOR remove push rule for docker-build job
- TEST/MINOR TLSRoute use v1 in tests for 1.5.0
- BUG/MINOR correct CRD name and handle clientset error gracefully
- BUG/MEDIUM fix issues with Defaults that do not have haproxytech in spec name
- TEST add conformance tests to CI
- MINOR update gitignore file
- MEDIUM fix for compliance test GatewayInvalidTLSConfiguration
- MAJOR introduce conformance tests
- MINOR change the condition message for conflicting listener
- MAJOR allow identical Listeners on different Gateways
- BUILD/MINOR go.mod update k8s.io packages
- BUILD/MINOR go.mod update golang.org/x packages
- CLEANUP/MINOR add fallback to AddMapEntry during map sync
- MAJOR escape backslash character in host name
- MAJOR Ensure that first socket in runtime api list has admin level enabled
- CLEANUP/MINOR docker clean procedure
- BUILD/MINOR ci use newer images in ci
- TEST/MEDIUM ci add metric gathering in ci testing
- MAJOR add prometheus metric for hug
- BUILD/MINOR go.mod update k8s.io packages
- BUILD/MINOR go.mod update golang.org/x packages
- CLEANUP/MINOR change imagePullPolicy in our examples
- BUILD/MINOR ci use new haproxy registry
- BUILD/MINOR update tools used in repository
- CLEANUP/MINOR logs use more meaningful defaults
- CLEANUP/MINOR fix typo for MergeStrategy
- BUG/MEDIUM add Defaults to the crd job
- TEST/MINOR comment out not implement feature test
- TEST add timeout HTTP Route tests
- MINOR add http timeout for gateway server round in HTTP Route
- TEST/MEDIUM add tests for Defaults Custom Resource
- DOC/MAJOR add documentation for Defaults Custom Resource
- MAJOR add support for Defaults Custom Resource
- TEST/MEDIUM add tests for Global CR
- BUG/MAJOR fix missing DeepCopy of default Global value
- BUG/MEDIUM implement correct MarshalJSON for Global
- TEST/MINOR cleanup to use same base method
- MAJOR add the support of Global Custom Resource
- MINOR remove master-worker from haproxy.cfg
- TEST/MAJOR kill haproxy in test TearDown
- TEST add session persistence test
- MINOR pick session persistence in case of collision
- MINOR add idle timeout for session persistence
- MINOR add absolute timeout in session persistence
- MEDIUM session persistence by cookie
- BUILD/MINOR add generated zip files to repo
- BUG/MINOR ci correct GH actions
- CLEANUP/MINOR use the same way to check maps and cleanup fixtures in all tests.
- MEDIUM ensure with direct control that the runtime is ready after a reload
- BUG/MEDIUM perform runtime map update but skip empty mapID
- MINOR reduce log volume for maps
- MINOR lower log level for start of map processing
- CLEANUP remove non formatted log in map manager
- TEST/MAJOR activate the map runtime checks for all tests
- BUG/MAJOR fix reload issue
- TEST activate tests for Gateway API 1.5.0
- TEST do not allow gateway api 1.5.0 tests to fail
- TEST add checking maps over runtime
- TEST/MINOR ci add task generation to ci jobs
- BUILD/MINOR ci add check to make sure image can be built
- BUILD/MINOR go.mod update k8s.io packages
- BUILD/MINOR go.mod update golang.org/x packages
- TEST fix stop testenv error
- TEST/MEDIUM add tests that do not wait for maps to be empty
- MEDIUM activate servers scale test in CI
- MEDIUM adapt Gateway manifest to be compliant with Gateway API 1.5.0
- MEDIUM reload if runtime map update fails
- TEST adapt test to do
- MEDIUM remove map files directory when gateway is removed
- TEST map files test for addition
- TEST add package and format modifier in test task
- MAJOR new map files management
- MAJOR jobs add job for creating and updating CRDs and installing gateway API
- TEST/MAJOR add tests for servers creation/deletion through the runtime API
- MAJOR add server through runtime socket
- BUG/MEDIUM Fix listener conflict detection to ignore deleted Gateways and their listeners
- BUG remove frontend when gateway is removed
- BUG/MEDIUM fix server name generation by using the correct port variable
- BUG/MINOR update predicate in controller registration
- CLEANUP/MINOR remove deprecated config options
- MEDIUM Synchronize the controller and the hug app
- CLEANUP/MINOR remove backend CR name from examples and tests
- MEDIUM use structured backend client native calls
- CLEANUP/MINOR remove echo2.yaml and gateway2.yaml from dev-init
- MAJOR Support multiple listeners on the same port
- BUILD/MINOR ci update revive version
- BUILD/MEDIUM go update go version to 1.26
- OPTIM/MINOR use more efficient go code
- BUILD/MINOR update version of betteralign
- CLEANUP/MINOR crd name in backend CRD is meaningless so remove it
- BUILD/MINOR check that CRD generated files are up to date
- TEST/MINOR log failed conditions
- BUILD/MINOR ci use latest go releaser version for building releases
- BUILD/MINOR ci ensure internal commits have correct state
- MINOR change linkID from link1 to hug
- MINOR fix linter issue
- TEST/MEDIUM re enable tests for hostname wildcard and match type path prefix
- MEDIUM add handling of hostname wildcard and match type prefix
- TEST re activate test with regexp
- BUG/MEDIUM add handling of regexp that start with caret character
- TEST/MINOR ci add job for future tests
- TEST/MEDIUM add more tests around hostname and match type
- TEST/MEDIUM more examples and tests for combinations of hostname and match type
- TEST/MEDIUM start adding map test for each combination of hostname and match type
- TEST/MEDIUM add ports 31081 and 31445
- TEST/MINOR rename some condition files
- TEST/MINOR add more check for maps
- BUG/MINOR ci fix github action for checking build state
- BUILD/MINOR ci add more info when job fails
- DOC update test documentation with parallel run.
- TEST/MAJOR allow test to run in parallel
- TEST/MINOR add force restart haproxy
- TEST/MINOR add test for tls route
- BUG fix matching hostname result with empty hostname for gateway and TLS route
- BUG remove star prefix in domain wildcard map file key
- BUG/MAJOR Delete the entry in map when service is deleted
- MINOR add wait haproxy process to be gone before starting it again on direct control restart
- MINOR add options fo force restart HAProxy at startup
- MINOR change startup log level configuration
- MINOR update certs root path in comments
- MINOR add stats Frontend bind port
- BUG/MINOR remove TCPRequest of type lua
- BUG/MINOR optionForwardFor set only for HTTP backends
- BUG/MEDIUM if a runtime command failed we should reload haproxy to ensure consistency
- BUG fix the removal of the backend of a TLSRoute when service is removed
- MEDIUM bump kind k8s envtest versions
- TEST/MINOR Add a kind cluster creation for local debugging
- BUG/MEDIUM enqueueHTTPRouteForService did not properly enqueue an HTTPRoute on Service update or delete
- BUG/MEDIUM ci use pebble fork in CI builds
- TEST/MEDIUM add missing CRDs to envtest
- BUG/MEDIUM fix hostname matching when ports are present
- BUG fix removal service referenced by TLS route
- BUG add the if not exist condition to map matching with TLS Route
- BUG fix HTTP hostname matching against listener hostname
- TEST hostname matching between listeners and routes
- BUG fix TLS hostname matching against listener hostname
- CLEANUP/MINOR remove dead code
- CLEANUP/MEDIUM Refactored functions to avoid duplicated code for checking supported GroupKinds and Secrets.
- CLEANUP/MEDIUM use standard EnqueueFor mechanism
- MINOR group dev-init routes http and https
- MINOR change tasks from internal true to false
- MEDIUM add a complete example deployed in default namespace
- MINOR change logs to type text for dev environment.
- MINOR remove tune.ssl.default-dh-param from defaults
- MINOR add logs settings to defaults
- BUG/MINOR ci fix running github actions
- BUG/MINOR tests fix namespace getter logic
- CLEANUP/MINOR fix typos
- TEST/MEDIUM add integration tests for Backend CRD
- BUILD/MINOR go.mod update k8s.io packages
- BUILD/MINOR go.mod update golang.org/x packages
- BUILD/MINOR update go tools
- BUILD/MINOR ci ensure that proper go version is used for go install
- MEDIUM use pebble fork to correctly handle stop signals
- MINOR add TLS route example
- MINOR add domain wildcard SNI map file
- MINOR install or accommodate yaml files for TLSRoute
- MINOR add SNI map for TLS route with passthrough
- MINOR add TCP rules for SSL Passthrough Frontend
- MINOR add backends TLS routes servers
- MINOR add SSL passthrough and TLS routes
- CLEANUP/MINOR ci reduce number of artifacts in ci
- BUILD/MINOR ci use better reports for ci jobs
- BUILD/MINOR ci update ci tooling
- MEDIUM create a crd k8s job
- MINOR ci add reports for test fails
- BUILD/MINOR go.mod update k8s.io packages
- BUILD/MINOR go.mod update golang.org/x packages
- TEST add multiple listeners per gateway match with one parentRef from HTTPRoute
- MEDIUM add multi listeners matching per gateway with a single parent reference from HTTPRoute
- MINOR add hostname matching when host names route are empty
- CLEANUP/MINOR k0s update k0s setting k8s cluster
- BUG/MINOR fix go releaser
- DOC/MINOR use dockerhub image for controller example deployment
- DOC/MINOR add more detailed description
- BUILD/MINOR update go dependencies
- BUILD/MEDIUM change module path to haproxy-unified-gateway
- BUILD/MAJOR ci add github workflows
- BUILD/MAJOR replace s6 with pebble
- MINOR avoid committing binary file
- DOC/MEDIUM add example for HTTPS offload
- MEDIUM change Hug Service NodePort from 30443 to 31443
- BUG/MEDIUM lower global maxconn value
- CLEANUP/MINOR ci use better detection of large files in ci
- BUILD/MINOR docker clean docker image add security component
- BUILD/MINOR ci use docker 28.1 version
- BUILD/MINOR go use go 1.25
- MINOR respond with 404 for missing backend
- BUILD/MINOR add version info to application
- DOC/MEDIUM add example for extended Backend CRD
- DOC/MINOR fix typo in backend CRD example README file
- MINOR when starting up see if we have already map written
- DOC add a basic example for Backend CRD
- BUG/MEDIUM fix the matching of Service Port with EndpointSlice Port
- MEDIUM add Backend CRD
- BUG/MEDIUM avoid wrong detection of server list changes
- TEST/MEDIUM Use a specific PIDFile location for tests
- DOC/MINOR add some basic deployments examples
- BUILD/MINOR use 31xxx ports for examples
- DOC/MINOR add readme information
- CLEANUP/MINOR remove random examples from repo
- CLEANUP/MINOR add an example how to deploy controller
- BUG/MINOR fix target port in kind cluster
- BUG/MEDIUM when blue green deployment is used correctly set weights
- MINOR use more readable and more performant option to extract host
- MINOR Fix taskfile to support kubectl on darwin/arm
- BUG/MEDIUM fix servers not created when a httproute is added
- TEST/MINOR use same HAProxy file for deploy and tests
- CLEANUP/MINOR fix potential nil dereference in multiple places
- MEDIUM implement runtime update of maps
- MEDIUM use default config check if all important parts are there
- MINOR add domain wildcard maps to speed up routing
- CLEANUP/MINOR kind by default build binary in docker
- BUG/MINOR add hostname to path routing
- CLEANUP/MINOR use set ports when creating kind clusters
- BUG/MINOR correct routing rules when lua is used
- MEDIUM add lua routing for complex cases
- MAJOR add lua routing file
- MAJOR add creation of maps
- BUILD/MINOR kubectl use most recent kubectl version
- BUG/MINOR k0s correctly remove k0s cluster
- BUILD/MINOR increase k0s version of k8s to 1.34
- MEDIUM watch endpoints and endpointslices and add servers
- DOC/MINOR remove lua scripts from example
- TEST/MEDIUM add integration tests for backends
- BUG/MEDIUM do not delete a backend if it is still referenced in another route
- MEDIUM manage backends step 3
- MEDIUM manage backends step 2
- MEDIUM Manage Backends step 1
- MEDIUM compute AttachedRoutes in Gateway listener status
- TEST/MEDIUM separate gateway tls integration tests in folders
- CLEANUP/MINOR avoid duplicated code in status patch and update
- MEDIUM handling of HTTPRoute part 2
- BUG/MEDIUM initialize Referenced gateways
- BUILD/MINOR use 0.19.0 version of controller gen
- BUILD/MEDIUM k0s add k0s as option to spawn k8s
- BUILD/MEDIUM add HTTPRoute partial handling
- BUILD/MINOR ci upgrade check commit in CI
- MEDIUM add checks on Gateway Listeners conflicts
- BUG/MEDIUM proceed with all valid listeners when 1 listener is invalidRef
- MEDIUM reset listener checks
- TEST/MEDIUM add integration tests for certificates
- CLEANUP/MINOR remove commented kubeconfig from main
- TEST/MEDIUM add a envtest kubeconfig for integration tests
- BUG/MINOR use correct file path for configuration update
- CLEANUP rename /usr/local/unified-controller to /usr/local/hug
- CLEANUP rename HaproxyGate CRD to HugGate CRD
- CLEANUP rename the configuration CRD to HugConf
- MINOR ignore controller binary
- CLEANUP/MINOR rename the crt-list directory from crtlistfiles into crtlists
- BUG/MINOR ci fix namespace check for ci jobs
- BUILD/MINOR ci use proper version of yq
- CLEANUP/MINOR ci speed up ci jobs
- BUG/MINOR tests fix test runs
- CLEANUP/MINOR ci allow ci jobs on forks
- DOC/MINOR add missing license to source files
- BUG/MINOR use haproxy path that if path is defined
- BUILD/MINOR make taskfile structure simpler
- BUG/MEDIUM fix deletion of certificates through runtime3
- MEDIUM add certificate runtime commands
- BUILD/MINOR add betteralign to also fix issues it reports
- BUILD/MINOR ci do not run same jobs in multiple places
- DOC/MINOR add some package documentation
- BUILD/MINOR update go tooling
- BUILD/MINOR ci prevent committing files larger that 1MB
- BUG/MEDIUM sort Listener status by name
- MEDIUM store certificate and crt-list on disk
- MEDIUM upgrade haproxy to 3.2
- MEDIUM rename controller directory to hug
- MEDIUM add integration tests for Gateway Listener status with TLS Certificate
- MEDIUM update the haproxy unified gateway service
- MEDIUM add handling of Gateway Listener TLS
- MEDIUM revert haproxy to 3.1
- MINOR change Listener ports to 8080 and 8443
- MEDIUM start building configuration update result
- MEDIUM delete the Frontend if the Gateway listener is invalid
- MEDIUM add reload manager and Haproxy reload for Frontends
- MEDIUM add Gateway listener statuses and check on Gateway listeners
- TEST/MEDIUM Add integration tests for Gateway
- MINOR fix message for invalid parametersRef in Gateway conditions
- DOC/MINOR add the URL for the envtest version releases
- MEDIUM gateway can start with an initial configuration
- MEDIUM improve logs and add a new text handler
- CLEANUP/MINOR simplify namespace handling
- CLEANUP/MINOR do not panic if template is wrong
- BUILD/MINOR ci update k8s version
- BUILD/MINOR haproxy update haproxy version
- CLEANUP/MINOR correct package name
- BUILD/MEDIUM ci split job into multiple files
- MEDIUM add Binds to haproxy configuration writing
- MEDIUM for Frontends sends the diffs to the Controller and writes haproxy config for Frontends
- MEDIUM add management of Gateways
- MEDIUM remove the list of gateway classes for controller start parameters
- MEDIUM remove symlink in /etc/unified-controller
- MEDIUM move haproxy.cfg to unified-controller folder
- MINOR cleanup on existing builder for GatewayClass et versions as well as HaproxyGate
- BUILD/MINOR ci update tooling
- BUG/MINOR use proper version of controller gen
- MEDIUM add integration test for GatewayClass adding and removing HaproxyGate
- MINOR cleanup in diff loops
- MEDIUM add integration tests for dynamic installed versions
- MEDIUM fix issue with dynamic update of supported versions
- MINOR by default use the locally built binary
- MEDIUM add s6-overlay remove haproxy pod
- MEDIUM loop only on diff- First drop
- MEDIUM looping on updates only
- MINOR looping on updates only not on all cluster store objects
- MINOR enhance logging settings
- MEDIUM prepare for status to be updated form outside
- MEDIUM start building tree for gatewayclass2
- MEDIUM configuration should contain at least 1 GatewayClass
- MEDIUM wrong predicate for HTTPRoute
- MEDIUM upgrade controller-runtime to 0.21.0
- MEDIUM change predicate on GatewayClass to allow multiple
- MEDIUM split haproxygate checks into different file
- MINOR add some missing log categories
- MINOR remove wrong Gateway field in gatewayclass
- MEDIUM add channel to receive the built tree
- MINOR change log source file key to avoid duplication
- MINOR remove gatewayclass entreprise categorizer
- MEDIUM add integration tests for GatewayClass for ignored gatewayclass
- MEDIUM add more integration tests for GatewayClass
- MEDIUM add a default logger
- MINOR update some logs
- MEDIUM add mutex to object store
- MEDIUM add one integration test for GatewayClass using testenv
- MEDIUM enhance logging for controller runtime
- MINOR remove useless files
- MEDIUM add envtest for integration tests
- MEDIUM add check for parameterRefs in GatewayClass
- MEDIUM add controller configuration CRD
- MEDIUM start processing HaproxyGate
- MEDIUM add HaproxyGate CRD
- MEDIUM fix linter issues
- MEDIUM kubeconfig is added as controller option
- MEDIUM change tryUpdateStatus so template it
- MEDIUM add clusterStore and start building a tree
- MAJOR move controller code to new package
- BUILD/MINOR ci update ci tooling
- BUILD/MAJOR use revive as linter
- BUG/MAJOR do not require .env file on start its optional
- MAJOR use standard slogger as default logger
- CLEANUP/MEDIUM go do not use go tool mechanism
- MINOR add option to load ENV variables from .env file
- CLEANUP/MINOR use separate go mod file for tools
- CLEANUP/MINOR use taskfile folder
- BUILD/MINOR introduce betteralign as linter
- MINOR unite all loggers
- MEDIUM add a skeleton based on controller-runtime
- BUILD/MAJOR ci add setup for gitlab ci
- CLEANUP/MINOR clean task file so version are mentioned once
- MEDIUM add temporary image for haproxy
- BUG/MINOR doc always sort Arguments
- BUILD/MINOR add new version of linter
- MAJOR add kind testing environment
- DOC/MINOR display application name on start
- CLEANUP/MINOR correct linter errors
- MINOR add logging option
- Initial commit