@@ -27,6 +27,42 @@ items:
27
27
- version : 2.22.0
28
28
date : (TBD)
29
29
notes :
30
+ - type : feature
31
+ title : New telepresence replace command.
32
+ body : |-
33
+ The new `telepresence replace` command simplifies and clarifies container replacement.
34
+
35
+ Previously, the `--replace` flag within the `telepresence intercept` command was used to replace containers.
36
+ However, this approach introduced inconsistencies and limitations:
37
+
38
+ * **Confusion:** Using a flag to modify the core function of a command designed for traffic interception led
39
+ to ambiguity.
40
+ * **Inaccurate Behavior:** Replacement was not possible when no incoming traffic was intercepted, as the
41
+ command's design focused on traffic routing.
42
+
43
+ To address these issues, the `--replace` flag within `telepresence intercept` has been deprecated. The new
44
+ `telepresence replace` command provides a dedicated and consistent method for replacing containers, enhancing
45
+ clarity and reliability.
46
+
47
+ Key differences between `replace` and `intercept`:
48
+
49
+ 1. **Scope:** The `replace` command targets and affects an entire container, impacting all its traffic, while
50
+ an `intercept` targets specific services and/or service/container ports.
51
+ 2. **Port Declarations:** Remote ports specified using the `--port` flag are container ports.
52
+ 3. **No Default Port:** A `replace` can occur without intercepting any ports.
53
+ 4. **Container State:** During a `replace`, the original container is no longer active within the cluster.
54
+
55
+ The deprecated `--replace` flag still works, but is hidden from the `telepresence intercept` command help, and
56
+ will print a deprecation warning when used.
57
+ - type : feature
58
+ title : No dormant container present during replace.
59
+ body : |-
60
+ Telepresence will no longer inject a dormant container during a `telepresence replace` operation. Instead, the
61
+ Traffic Agent now directly serves as the replacement container, eliminating the need to forward traffic to the
62
+ original application container. This simplification offers several advantages when using the `--replace` flag:
63
+
64
+ - **Removal of the init-container:** The need for a separate init-container is no longer necessary.
65
+ - **Elimination of port renames:** Port renames within the intercepted pod are no longer required.
30
66
- type : feature
31
67
title : One single invocation of the Telepresence intercept command can now intercept multiple ports.
32
68
body : >-
@@ -50,15 +86,22 @@ items:
50
86
```
51
87
docs : install/manager#static-versus-dynamic-namespace-selection
52
88
- type : feature
53
- title : Removal of the dormant container during intercept with --replace.
54
- body : |-
55
- During a `telepresence intercept --replace operation`, the previously injected dormant container has been
56
- removed. The Traffic Agent now directly serves as the replacement container, eliminating the need to forward
57
- traffic to the original application container. This simplification offers several advantages when using the
58
- `--replace` flag:
59
-
60
- - **Removal of the init-container:** The need for a separate init-container is no longer necessary.
61
- - **Elimination of port renames:** Port renames within the intercepted pod are no longer required.
89
+ title : List output includes workload kind.
90
+ body : >-
91
+ The output of the `telepresence list` command will now include the workload kind (deployment, replicaset,
92
+ statefulset, or rollout) in all entries.
93
+ - type : change
94
+ title : Trigger the mutating webhook with Kubernetes eviction objects instead of patching workloads.
95
+ body : >-
96
+ Instead of patching workloads, or scaling the workloads down to zero and up again, Telepresence will now
97
+ create policy/v1 Eviction objects to trigger the mutating webhook. This causes a slight change in the
98
+ traffic-manager RBAC. The `patch` permissions are no longer needed. Instead, the traffic-manager must be
99
+ able to create "pod/eviction" objects.
100
+ - type : change
101
+ title : The telepresence-agents configmap is no longer used.
102
+ body : >-
103
+ The traffic-agent configuration was moved into a pod-annotation. This avoids sync problems between the
104
+ telepresence-agents (which is no no longer present) and the pods.
62
105
- type : change
63
106
title : Drop deprecated current-cluster-id command.
64
107
body : >-
@@ -75,6 +118,37 @@ items:
75
118
body : >-
76
119
macOS based systems will often PTR queries using nameslike `b._dns-sd._udp`, lb._dns-sd._udp, or
77
120
`db-dns-sd._udp`. Those queries are no longer dispatched to the cluster.
121
+ - type : bugfix
122
+ title : Using the --namespace option with telepresence causes a deadlock.
123
+ body : >-
124
+ Using `telepresence list --namespace <ns> with a namespace different from the one that telepresence was
125
+ connected to, would cause a deadlock, and then produce an empty list.
126
+ - type : bugfix
127
+ title : Fix problem with exclude-suffix being hidden by DNS search path.
128
+ body : >-
129
+ In some situations, a name ending with an exclude-suffix like "xyz.com" would be expanded by a search path
130
+ into "xyz.com.<connected namespace>" and therefore not be excluded. Instead, the name was sent to the cluster
131
+ to be resolved, causing an unnecessary load on its DNS server.
132
+ - version : 2.21.3
133
+ date : 2025-02-06
134
+ notes :
135
+ - type : bugfix
136
+ title : Using the --proxy-via flag would sometimes cause connection timeouts.
137
+ body : >-
138
+ Typically, a `telepresence connect --proxy-via <subnet>=<workflow>` would fail with a "deadline exceeded"
139
+ message when several workloads were present in the namespace, the one targeted by the proxy-via didn't yet
140
+ have an agent installed, and other workloads had an agent. This was due to a race condition in the logic
141
+ for the agent-based port-forwards in the root daemon. The conditions causing this race are now eliminated.
142
+ - type : bugfix
143
+ title : Fix panic in root daemon when using the "allow conflicting subnets" feature on macOS.
144
+ body : >-
145
+ A regression was introduced in version 2.21.0, causing a panic due to an unimplemented method in the
146
+ TUN-device on macOS based clients.
147
+ - type : bugfix
148
+ title : Ensure that annotation enabled traffic-agents are uninstall when uninstalling the traffic-manager.
149
+ body : >-
150
+ A traffic-agent injected because the workload had the inject annotation enabled would sometimes not get
151
+ uninstalled when the traffic-manager was uninstalled.
78
152
- version : 2.21.2
79
153
date : 2025-01-26
80
154
notes :
@@ -135,7 +209,7 @@ items:
135
209
guarantees that the environment variables and mounts propagated to the
136
210
client originate from the specified container. Additionally, if the
137
211
`--replace` option is used, it ensures that this container is replaced.
138
- docs : reference/intercepts /container
212
+ docs : reference/engagements /container
139
213
- type : feature
140
214
title : New telepresence ingest command
141
215
body : >-
@@ -200,7 +274,7 @@ items:
200
274
The Helm chart value `workloads` now supports the kinds `deployments.enabled`, `statefulSets.enabled`, `replicaSets.enabled`.
201
275
and `rollouts.enabled`. All except `rollouts` are enabled by default. The traffic-manager will ignore workloads, and
202
276
Telepresence will not be able to intercept them, if the `enabled` of the corresponding kind is set to `false`.
203
- docs : reference/intercepts /sidecar#disable-workloads
277
+ docs : reference/engagements /sidecar#disable-workloads
204
278
- type : feature
205
279
title : Improved command auto-completion
206
280
body : >-
@@ -374,7 +448,7 @@ items:
374
448
instead of a service port. The new behavior is enabled by adding a <code>telepresence.getambassador.io/inject-container-ports</code>
375
449
annotation where the value is a comma separated list of port identifiers consisting of either the name or the port number of a container
376
450
port, optionally suffixed with `/TCP` or `/UDP`.
377
- docs : https://telepresence.io/docs/reference/intercepts /cli#intercepting-without-a-service
451
+ docs : https://telepresence.io/docs/reference/engagements /cli#intercepting-without-a-service
378
452
- type : feature
379
453
title : Publish the OSS version of the telepresence Helm chart
380
454
body : >-
0 commit comments