Skip to content

Releases: haproxytech/haproxy-unified-gateway

HAProxy Unified Gateway v1.0.2

23 Apr 12:23

Choose a tag to compare

Release Notes

HAProxy Unified Gateway v1.0.2 8de9a5c

Build date: 2026-04-23T12:09:39Z

Changelog

  • 399c852 BUG/MINOR: fix regsub backreference in RequestRedirect ReplacePrefixMatch
  • 8de9a5c BUILD/MINOR: update latest branch and doc.yaml source for docker releases
  • bc207ba TEST/MINOR: assert generated regsub expression in RequestRedirect prefix test

HAProxy Unified Gateway v1.0.1

15 Apr 09:26

Choose a tag to compare

Release Notes

HAProxy Unified Gateway v1.0.1 370e8f6

Build date: 2026-04-15T09:08:34Z

Changelog

  • bf741fd BUG/MEDIUM: use Structured Backend API when Editing Backend
  • 1fb1c97 BUG/MINOR: bump active documentation version to 1.0
  • a169db8 BUG/MINOR: ci: use two-dot range for checking differences
  • 323f240 BUG/MINOR: fix BackendCreate dropping HTTPRequestRuleList on backend creation
  • 059c246 BUG/MINOR: preserve all rule messages when entire route has invalid filters
  • 9c0992a BUG/MINOR: remove CR and CI patch types
  • 6d2ca8a BUG/MINOR: skip redirect backend creation when CheckFilters is invalid
  • 5100e9d BUILD/MEDIUM: bump Gateway API version to 1.5.0 and fix codegen
  • 370e8f6 BUILD/MINOR: ci: add job to detect new go.mod dependencies in MRs
  • 916b44c BUILD/MINOR: go.mod: update k8s.io packages
  • 56c3812 CLEANUP/MINOR: Move hostnames match type test 3 in the right place
  • 8404224 CLEANUP/MINOR: Use the base function to check the map content
  • 731e411 CLEANUP/MINOR: convert expectation files from JSON to YAML
  • 8fa1ce9 CLEANUP/MINOR: document why cross-level filter check is asymmetric
  • 450f61c CLEANUP/MINOR: extract desiredBackendsMaps to eliminate duplicated match logic
  • 00120bc CLEANUP/MINOR: in all integration test, backend expectations are named yaml files, but the content was json
  • c6dda0c CLEANUP/MINOR: pick first entry from mapImpactedBEs instead of full loop
  • eb2634b CLEANUP/MINOR: remove a file that was used temporarily
  • 850727b CLEANUP/MINOR: remove beta status disclaimer from README
  • ac24f3c CLEANUP/MINOR: remove the task kind-create-debug
  • 4eda29d CLEANUP/MINOR: remove unused HasSideEffects, extract quoteFmt helper
  • 87171a2 CLEANUP: remove unused function in conformance test helpers
  • 640d764 DOC/MEDIUM: pin image tag to v1.0
  • e7a8328 DOC/MINOR: add CEL, httpfilters, and allowlist to aspell allowlist
  • 6b24fac DOC/MINOR: add lifecycle documentation generator
  • 8887e7d DOC/MINOR: clarify cluster-scoped requirements for prometheus metrics
  • 36fa418 DOC/MINOR: fix the namespace to get the Gateway IP
  • fec5e1c DOC/MINOR: metrics: add HTTPS warning notes to metrics documentation
  • af647b0 DOC/MINOR: update helm chart availability in README
  • 85eee94 MAJOR: add a feedback to the listeners Programmed condition
  • f1faf85 MEDIUM: add HTTPRoute status conditions for filter validation
  • caa92ba MEDIUM: add RequestRedirect filter and redirect pseudo-backend
  • 86bdeee MEDIUM: add ResponseHeaderModifier filter support
  • a42ea66 MEDIUM: add URLRewrite filter support
  • cbbfa47 MEDIUM: add an option to not color the text log output
  • 14d61bb MEDIUM: add filters package and wire RequestHeaderModifier in backends
  • 5e11896 MEDIUM: implement HTTPRouteFilter CORS support
  • 4018968 MEDIUM: move the status update into a separate go routine
  • 4d4ea23 MINOR: warn about Assisted-by and Signed-off-by commit trailers
  • 38eaaf5 OPTIM/MINOR: migrate tool management to check-go-tool
  • 9687114 TEST/MEDIUM: add a html version of conformance test results
  • 8e5d010 TEST/MEDIUM: add integration test for CORS filter
  • 7095172 TEST/MEDIUM: add integration test for RequestRedirect filter
  • 38e2688 TEST/MEDIUM: add integration test for ResponseHeaderModifier filter
  • 5c9dd4b TEST/MEDIUM: add integration test for URLRewrite filter
  • d829b7c TEST/MEDIUM: add integration tests for HTTPRouteFilter status conditions
  • 1f761a8 TEST/MEDIUM: add new feature for conformance tests
  • 524b9fe TEST/MEDIUM: add tests for Listener isolation feature (without hostname intersection)
  • 3ec3e05 TEST/MINOR: add metrics comparison functionality
  • 6a7f2d8 TEST/MINOR: add unit tests for http_filters package
  • 01f35b1 TEST/MINOR: ci: add additional check for trailer in commits
  • b242fef TEST/MINOR: remove index field from backend expectation fixtures
  • 90fa709 TEST/MINOR: remove useless index in http_error_rule_list

HAProxy Unified Gateway v1.0.0

23 Mar 22:31

Choose a tag to compare

Release Notes

HAProxy Unified Gateway v1.0.0 ec44950

Build date: 2026-03-23T22:13:37Z

Changelog

  • 2940662 CLEANUP/MINOR: cleanup some tasks
  • c9e31d6 MEDIUM: Allow inject traffic for conformance tests in CI, Docker in Docker fun
  • a9948e6 MEDIUM: adapt logic for listener conflicts to conformance tests.
  • 53c8799 MINOR: allow conformance MR to run in fork
  • 46dece5 MINOR: run MR conformance tests also on push
  • 89ad8dd TEST/MEDIUM: add test to conformance run in CI
  • ec44950 TEST/MEDIUM: fix username for docker login with token
  • 3079453 TEST/MINOR: add Gateway conditions diff in the test fail
  • e29a5e5 TEST/MINOR: enhance the way we display Backend and Frontend diffs when a test fail

HAProxy Unified Gateway v0.9.3

20 Mar 15:49

Choose a tag to compare

Release Notes

HAProxy Unified Gateway v0.9.3 f059b2d

Build date: 2026-03-20T15:32:04Z

Changelog

  • 2aa08bc BUG/MEDIUM: fix a case for conformance test GatewayWithAttachedRoutes
  • a3c7198 BUG/MEDIUM: fix missing observed generation in HTTPRoute status
  • ac93bfd BUILD/MINOR: add nightly conformance report job
  • 1e22c36 BUILD/MINOR: ci: run conformance tests on default branch push
  • f059b2d BUILD/MINOR: go.mod: update k8s.io packages
  • 78ca8a4 CLEANUP/MINOR: fix some small typo
  • 4250ff2 MAJOR: update the Gateway status addresses and Hug Service ports.
  • b45da2d TEST/MEDIUM: add a stage with the conformance tests that currently pass

HAProxy Unified Gateway v0.9.2

19 Mar 16:10

Choose a tag to compare

Release Notes

HAProxy Unified Gateway v0.9.2 8abf861

Build date: 2026-03-19T15:52:27Z

Changelog

  • 5202ac3 BUG/MEDIUM: fix issues with Defaults that do not have haproxytech in spec name
  • c6b0e36 BUG/MINOR: correct CRD name and handle clientset error gracefully
  • ddc4a59 BUILD/MINOR: add workflow to build and push http-echo image
  • 8052bc0 BUILD/MINOR: bump check-commit to v5.5.2
  • a53ad61 BUILD/MINOR: ci: update docker actions and simplify buildx caching
  • 3885b41 CLEANUP/MINOR: remove push rule for docker-build job
  • 800b0dc CLEANUP/MINOR: replace panic with graceful exit on job errors
  • 288a8c4 MAJOR: allow identical Listeners on different Gateways
  • a1400d7 MAJOR: introduce conformance tests
  • 46b9e97 MEDIUM: fix for compliance test GatewayInvalidTLSConfiguration
  • 968a393 MINOR: change the condition message for conflicting listener
  • 8abf861 MINOR: ci: cancel pipelines if MR needs rebase
  • d45d13c MINOR: update gitignore file
  • 6389298 TEST/MINOR: TLSRoute: use v1 in tests for 1.5.0
  • a7bfcbb TEST: add conformance tests to CI
  • 891ef42 TEST: fix test exact route no match
  • 75237bc TEST: remove test todo tag and task
  • cdb5d1b TEST: remove test todo tag and task

HAProxy Unified Gateway v0.9.1

17 Mar 08:03

Choose a tag to compare

Release Notes

HAProxy Unified Gateway v0.9.1 12220af

Build date: 2026-03-17T07:47:02Z

Changelog

  • 263c33d BUG/MAJOR: fix missing DeepCopy of default Global value
  • 529741c BUG/MAJOR: fix reload issue
  • b342d67 BUG/MEDIUM: add Defaults to the crd job
  • 720467a BUG/MEDIUM: implement correct MarshalJSON for Global
  • e126819 BUG/MEDIUM: perform runtime map update but skip empty mapID
  • 806a8cf BUG/MINOR: ci: correct GH actions
  • f50eacc BUILD/MINOR: add generated zip files to repo
  • bcd38f4 BUILD/MINOR: ci: use new haproxy registry
  • 943eeaa BUILD/MINOR: ci: use newer images in ci
  • 9fc857e BUILD/MINOR: go.mod: update golang.org/x packages
  • 0f53ca3 BUILD/MINOR: go.mod: update golang.org/x packages
  • 12220af BUILD/MINOR: go.mod: update k8s.io packages
  • 20151cf BUILD/MINOR: go.mod: update k8s.io packages
  • 319afaa BUILD/MINOR: update tools used in repository
  • a557c18 CLEANUP/MINOR: add fallback to AddMapEntry during map sync
  • 848d68d CLEANUP/MINOR: change imagePullPolicy in our examples
  • 29a6198 CLEANUP/MINOR: docker: clean procedure
  • f9b048b CLEANUP/MINOR: fix typo for MergeStrategy
  • 1f1ff54 CLEANUP/MINOR: logs: use more meaningful defaults
  • 4f2c310 CLEANUP/MINOR: use the same way to check maps and cleanup fixtures in all tests.
  • 7194936 CLEANUP: remove non formatted log in map manager
  • a5e6253 DOC/MAJOR: add documentation for Defaults Custom Resource
  • afeb969 MAJOR: Ensure that first socket in runtime api list has admin level enabled
  • 87a7ce9 MAJOR: add prometheus metric for hug
  • 4473916 MAJOR: add support for Defaults Custom Resource
  • b40b8a1 MAJOR: add the support of Global Custom Resource
  • 94081b2 MAJOR: escape backslash character in host name
  • b432a0e MEDIUM: ensure with direct control that the runtime is ready after a reload
  • e43f356 MEDIUM: session persistence by cookie
  • cbbb9c8 MINOR: add absolute timeout in session persistence
  • f723cdf MINOR: add http timeout for gateway server round in HTTP Route
  • b8331bd MINOR: add idle timeout for session persistence
  • d1e749e MINOR: lower log level for start of map processing
  • 33cfbb7 MINOR: pick session persistence in case of collision
  • 29e6ee5 MINOR: reduce log volume for maps
  • cf43000 MINOR: remove master-worker from haproxy.cfg
  • 8d3e978 TEST/MAJOR: activate the map runtime checks for all tests
  • da432ce TEST/MAJOR: kill haproxy in test TearDown
  • af694c5 TEST/MEDIUM: add tests for Defaults Custom Resource
  • 60d3883 TEST/MEDIUM: add tests for Global CR
  • 0bea91f TEST/MEDIUM: ci: add metric gathering in ci testing
  • 83f1b81 TEST/MINOR: cleanup to use same base method
  • 8c0d0ad TEST/MINOR: comment out not implement feature test
  • a537064 TEST: activate tests for Gateway API 1.5.0
  • 115fb05 TEST: add session persistence test
  • b774fc4 TEST: add timeout HTTP Route tests

HAProxy Unified Gateway v0.9.0

09 Mar 08:39

Choose a tag to compare

Release Notes

HAProxy Unified Gateway v0.9.0 4313502

Build date: 2026-03-09T08:24:54Z

Changelog

  • bf4f5da BUG/MEDIUM: Fix listener conflict detection to ignore deleted Gateways and their listeners
  • 850fb90 BUG/MEDIUM: add handling of regexp that start with caret character
  • 3dc7bc0 BUG/MEDIUM: fix server name generation by using the correct port variable
  • ef6435d BUG/MINOR: update predicate in controller registration
  • b2f1cff BUG: remove frontend when gateway is removed
  • 41f91ee BUILD/MEDIUM: go: update go version to 1.26
  • ee976a1 BUILD/MINOR: check that CRD generated files are up to date
  • 75396ea BUILD/MINOR: ci: add check to make sure image can be built
  • c6cbdbf BUILD/MINOR: ci: ensure internal commits have correct state
  • c5b33c0 BUILD/MINOR: ci: update revive version
  • 8016818 BUILD/MINOR: ci: use latest go releaser version for building releases
  • a680a63 BUILD/MINOR: go.mod: update golang.org/x packages
  • b9318e3 BUILD/MINOR: go.mod: update k8s.io packages
  • fc09325 BUILD/MINOR: update version of betteralign
  • 28ed5d2 CLEANUP/MINOR: crd: name in backend CRD is meaningless, so remove it
  • 2ea8be4 CLEANUP/MINOR: remove backend CR name from examples and tests
  • 158b342 CLEANUP/MINOR: remove deprecated config options
  • 9470fd0 CLEANUP/MINOR: remove echo2.yaml and gateway2.yaml from dev-init
  • e23a095 MAJOR: Support multiple listeners on the same port
  • c1e6877 MAJOR: add server through runtime socket
  • c5d4889 MAJOR: jobs: add job for creating and updating CRDs and installing gateway API
  • ca63c7e MAJOR: new map files management
  • 7ae5ab3 MEDIUM: Synchronize the controller and the hug app
  • 313bc7b MEDIUM: activate servers scale test in CI
  • 7f9c525 MEDIUM: adapt Gateway manifest to be compliant with Gateway API 1.5.0
  • 9b5d083 MEDIUM: add handling of hostname wildcard and match type prefix
  • 8acee2d MEDIUM: reload if runtime map update fails
  • e215bae MEDIUM: remove map files directory when gateway is removed
  • 53da951 MEDIUM: use structured backend client native calls
  • e886710 MINOR: change linkID from link1 to hug
  • 5add99d MINOR: fix linter issue
  • 895179c OPTIM/MINOR: use more efficient go code
  • df01837 TEST/MAJOR: add tests for servers creation/deletion through the runtime API
  • 4b5683e TEST/MEDIUM: add more tests around hostname and match type
  • a2ee474 TEST/MEDIUM: add tests that do not wait for maps to be empty
  • 7316788 TEST/MEDIUM: re enable tests for hostname wildcard and match type path prefix
  • 369c1fc TEST/MINOR: ci: add job for future tests
  • f25604c TEST/MINOR: ci: add task generation to ci jobs
  • 1aa2649 TEST/MINOR: log failed conditions
  • b9d1ef8 TEST: adapt test to do
  • 2e08001 TEST: add checking maps over runtime
  • 1296b6b TEST: add package and format modifier in test task
  • 4313502 TEST: do not allow gateway api 1.5.0 tests to fail
  • 14a9589 TEST: fix stop testenv error
  • f275a01 TEST: map files test for addition
  • 9bc8452 TEST: re activate test with regexp