Update keras initializer to be fully stateless.

There will be a behavior change after this cl.
1. Unseeded initializer will always generate same value after creation.
2. Unseeded initializer will raise a warning if it is reused (called) multiple times. This is to avoid reuse the instance for multiple variables, which could generate same value when shapes are the same.
3. Seeded initializer will always generate same value after creation, instead of determinist sequence.

PiperOrigin-RevId: 453967472
diff --git a/RELEASE.md b/RELEASE.md
index 498087c..1d7b494 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -10,6 +10,16 @@
     `tensorflow/python/tracking` and `tensorflow/python/checkpoint`. Please
     update your imports accordingly, the old files will be removed in Release
     2.11.
+*   RNG behavior change for `tf.keras.initializers`. Keras initializers will now
+    use stateless random ops to generate random numbers.
+    *   Both seeded and unseeded initializers will always generate the same
+        values every time they are called (for a given variable shape).
+        For unseeded initializers (`seed=None`), a
+        random seed will be created and assigned at initializer creation
+        (different initializer instances get different seeds).
+    *   An unseeded initializer will raise a warning if it is reused (called)
+        multiple times. This is because it would produce the same values
+        each time, which may not be intended.
 
 ## Known Caveats