CHANGELOG: Add SE-0189, which went in a while ago. (#13992)

(cherry picked from commit 0665e21afe352f08123a63022f0f360d6e354674)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2ca05d11..cd2edc7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -22,6 +22,23 @@
 Swift 4.1
 ---------
 
+* [SE-0189][]
+
+  If an initializer is declared in a different module from a struct, it must
+  use `self.init(…)` or `self = …` before returning or accessing `self`.
+  Failure to do so will produce a warning in Swift 4 and an error in Swift 5.
+  This is to keep a client app from accidentally depending on a library's
+  implementation details, and matches an existing restriction for classes,
+  where cross-module initializers must be convenience initializers.
+
+  This will most commonly affect code that extends a struct imported from C.
+  However, most imported C structs are given a zeroing no-argument initializer,
+  which can be called as `self.init()` before modifying specific properties.
+
+  Swift library authors who wish to continue allowing initialization on a
+  per-member basis should explicitly declare a public memberwise initializer
+  for clients in other modules to use.
+
 * [SE-0166][] / [SE-0143][]
 
   The standard library now defines the conformances of `Optional`,