You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG/CHANGELOG-v0.15.md
+96
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,11 @@
6
6
*[Upgrading with embedded Acme](#upgrading-with-embedded-acme)
7
7
*[Upgrading with custom repositories](#upgrading-with-custom-repositories)
8
8
*[Contributors](#contributors)
9
+
*[v0.15.0-beta.1](#v0150-beta1)
10
+
*[Reference](#reference-b1)
11
+
*[Release notes](#release-notes-b1)
12
+
*[Improvements](#improvements-b1)
13
+
*[Fixes](#fixes-b1)
9
14
*[v0.15.0-alpha.3](#v0150-alpha3)
10
15
*[Reference](#reference-a3)
11
16
*[Release notes](#release-notes-a3)
@@ -44,6 +49,10 @@ Breaking backward compatibility from v0.14:
44
49
* Log debug level is enabled by default. HAProxy Ingress has a good balance between low verbosity and useful information on its debug level.
45
50
* Default image for the log sidecar changed from `whereisaaron/kube-syslog-sidecar` to `ghcr.io/crisu1710/kube-syslog-sidecar:0.2.0`. It is the same codebase, just adding support for multiple architectures.
46
51
52
+
### New controller engine
53
+
54
+
HAProxy Ingress starting from v0.15 uses [controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) as its watch and notification engine for Ingress and Gateway API resources. This is an internal implementation that shouldn't change controller behavior. v0.15 still preserves the legacy controller, it can be enabled by configuring envvar `HAPROXY_INGRESS_RUNTIME` as `LEGACY`, and can be used on debugging, when checking a misbehavior in the new controller. Please file an [issue at GitHub](https://github.com/jcmoraisjr/haproxy-ingress/issues/new?template=bug.md) in the case you find a problem in the new controller, even if the issue is solved moving to the old one. v0.16 will remove the old controller engine implementation.
55
+
47
56
### Deprecated command-line options
48
57
49
58
The following command-line options were deprecated on v0.15 and should be removed on a future version:
@@ -92,11 +101,14 @@ See the full syntax and default values in the [README.md](https://github.com/hap
92
101
93
102
* Ali Afsharzadeh ([guoard](https://github.com/guoard))
94
103
* Andrej Baran ([andrejbaran](https://github.com/andrejbaran))
This is the first beta version of the v0.15 branch, having important stability changes and vulnerability fixes since alpha.3. The main branch now is open for v0.16 development, including but not limited to code cleanup, better Gateway API support, and quic/h3.
142
+
143
+
Find below a list of improvements made since `alpha.3`.
144
+
145
+
Exclusive v0.15 changes include:
146
+
147
+
- Robert found a misbehavior on status update, due to a misconfigured leader election. A controller instance that lost leader didn't start an election, so didn't have a chance to be the leader anymore.
148
+
- Gateway API now supports multiple certificates on a single Gateway Listener.
149
+
150
+
Other changes already merged to the stable branches:
151
+
152
+
- Controller now retries to apply a haproxy reload in the case of a failure. Older controller versions didn't retry because all the failures are related with misconfiguration, but since master-worker and external modes are options, other network or socket related issues might happen.
153
+
- TCP services now supports a list of TLS certificates.
154
+
155
+
Fixes merged to stable branches:
156
+
157
+
- Robson, Moacir and Fabio found a memory leak on Gateway API reconciliation. Depending on the changes being applied, an older in memory representation of the load balancer state is referenced by the new one, creating a chain of old representations not having a chance to be collected by GC.
158
+
- rdavyd found an endpoint configuration overwrite in the case the same service, or a distinct service with the same endpoints are added in a single rule of a single HTTPRoute on Gateway API.
159
+
- All known vulnerable components were updated, like go's stdlib and `golang.org/x/crypto`
160
+
161
+
Dependencies:
162
+
163
+
- embedded haproxy from 2.6.17 to 2.6.21
164
+
- client-go from v0.30.2 to v0.32.3
165
+
- controller-runtime from v0.18.4 to v0.20.3
166
+
- go from 1.22.4 to 1.23.7, having `//go:debug default=go1.19` for backward compatibility (legacy controller)
167
+
168
+
## Improvements (b1)
169
+
170
+
New features and improvements since `v0.15.0-alpha.3`:
171
+
172
+
* Bump golang.org/x/crypto from 0.24.0 to 0.27.0 [d768c6e](https://github.com/jcmoraisjr/haproxy-ingress/commit/d768c6e6981fdf6f11d543cdc9bb4c21f89055d0)
173
+
* Update client-go and controller-runtime dependencies [#1168](https://github.com/jcmoraisjr/haproxy-ingress/pull/1168) (jcmoraisjr)
174
+
* Bump github.com/Masterminds/sprig/v3 from 3.2.3 to 3.3.0 [d949e8e](https://github.com/jcmoraisjr/haproxy-ingress/commit/d949e8e64f1e5b9c40c04d1a51b37369e8b86f9e)
175
+
* Bump github.com/prometheus/client_golang from 1.19.1 to 1.20.3 [47b7542](https://github.com/jcmoraisjr/haproxy-ingress/commit/47b75426b3f9c7bc01c183030022eed6de6789ca)
176
+
* Bump github.com/prometheus/client_golang from 1.20.3 to 1.20.4 [19d1d95](https://github.com/jcmoraisjr/haproxy-ingress/commit/19d1d957817e21e5f12d6f20f2885490edf46919)
* update go from 1.23.6 to 1.23.7 [fe1f6aa](https://github.com/jcmoraisjr/haproxy-ingress/commit/fe1f6aa7506f18a3646b8a701fa3e6a4687446bd) (Joao Morais)
187
+
* change reconciler to a custom type [#1222](https://github.com/jcmoraisjr/haproxy-ingress/pull/1222) (jcmoraisjr)
188
+
* improve metrics doc and configuration [#1223](https://github.com/jcmoraisjr/haproxy-ingress/pull/1223) (jcmoraisjr)
189
+
* adjust backward compatible debug default version [3259854](https://github.com/jcmoraisjr/haproxy-ingress/commit/3259854c4111a5e9338a4f28accdf393f758ace9) (Joao Morais)
0 commit comments