diff --git a/docs/release-notes/v2.4.0.md b/docs/release-notes/v2.4.0.md
index af8b7633d9a76f79218c25996279103dac35cf82..43ce11979f155a2973421fad00b5fb784c6affa1 100644
--- a/docs/release-notes/v2.4.0.md
+++ b/docs/release-notes/v2.4.0.md
@@ -249,3 +249,23 @@ can be specified in various ways. Previously, they could only be passed as
 `(func, args)` tuples. Now, they can either be passed as `(func, args)`,
 `(func, kwargs)` or `(func, args, kwargs)`, where `args` is still a tuple
 of positional arguments, and `kwargs` is a dict of keyword ones.
+
+## Other changes
+
+### Fix redundant sharing of model weights with clients
+
+`FederatedServer` now keeps track of clients having received the latest global
+model weights, and avoids sending them redundantly with future training (or
+evaluation) requests. To achieve this, `TrainRequest` and `EvaluationRequest`
+now support setting their `weights` field to `None`.
+
+### Update TensorFlow supported versions
+
+Older TensorFlow versions (v2.5 to 2.10 included) were improperly marked as
+supported in spite of `TensorflowOptiModule` requiring at least version 2.11
+to work (due to changes of the Keras Optimizer API). This has been corrected.
+
+Upcoming TensorFlow versions (v2.16 and onwards) introduce backward-breaking
+changes, which are probably due to the backend swap from Keras 2 to Keras 3.
+To keep safe, these versions are currently marked as unsupported, awaiting
+further investigation once version 2.16 is finalized.