diff --git a/CHANGELOG.md b/CHANGELOG.md
index ed02034fc608e38fe9db7c5de6c3d573d739beb5..3c4ee6fb5de4d4746e9d323eaded6b900068a8be 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,15 +5,12 @@ Coq development, but not every API-breaking change is listed.  Changes marked
 
 ## Iris master
 
-Changes in and extensions of the theory:
+Changes in the theory of Iris itself:
 
 * Change in the definition of WP, so that there is a fancy update between
   the quantification over the next states and the later modality. This makes it
   possible to prove more powerful lifting lemmas: The new versions feature an
   "update that takes a step".
-* Weaken the semantics of CAS in heap_lang to be efficiently implementable:
-  CAS may only be used to compare "unboxed" values that can be represented in a
-  single machine word.
 * Add weakest preconditions for total program correctness.
 * "(Potentially) stuck" weakest preconditions and the "plainly modality" are no
   longer considered experimental.
@@ -22,13 +19,26 @@ Changes in and extensions of the theory:
 * Add the notion of an "observation" to the language interface, so that
   every reduction step can optionally be marked with an event, and an execution
   trace has a matching list of events.  Change WP so that it is told the entire
-  future trace of observations from the beginning.  Use this in heap_lang to
-  implement prophecy variables.
+  future trace of observations from the beginning.
 * The Löb rule is now a derived rule; it follows from later-intro, later
   being contractive and the fact that we can take fixpoints of contractive
   functions.
 * Add atomic updates and logically atomic triples, including tactic support.
   See `heap_lang/lib/increment.v` for an example.
+* Extend the state interpretation with a natural number that keeps track of
+  the number of forked-off threads, and have a global fixed proposition that
+  describes the postcondition of each forked-off thread (instead of it being
+  `True`). Additionally, there is a stronger variant of the adequacy theorem
+  that allows to make use of the postconditions of the forked-off threads.
+* The user-chosen functor used to instantiate the Iris logic now goes from
+  COFEs to Cameras (it was OFEs to Cameras).
+
+Changes in heap_lang:
+
+* Weaken the semantics of CAS in heap_lang to be efficiently implementable:
+  CAS may only be used to compare "unboxed" values that can be represented in a
+  single machine word.
+* Implement prophecy variables using the new support for "observations".
 * heap_lang now uses right-to-left evaluation order. This makes it
   significantly easier to write specifications of curried functions.
 * heap_lang values are now injected in heap_lang expressions via a specific
@@ -37,13 +47,8 @@ Changes in and extensions of the theory:
   the reflection mechanism that was needed for proving closedness, atomicity and
   "valueness" of a term. The price to pay is the addition of new
   "administrative" reductions in the operational semantics of the language.
-* Extend the state interpretation with a natural number that keeps track of
-  the number of forked-off threads, and have a global fixed proposition that
-  describes the postcondition of each forked-off thread (instead of it being
-  `True`). Additionally, there is a stronger variant of the adequacy theorem
-  that allows to make use of the postconditions of the forked-off threads.
-* The user-chosen functor used to instantiate the Iris logic now goes from
-  COFEs to Cameras (it was OFEs to Cameras).
+* heap_lang now has support for allocating, accessing and reasoning about arrays
+  (continuously allocated regions of memory).
 
 Changes in Coq: