diff --git a/CHANGES.md b/CHANGES.md
index 557a4e3e5f574d14d52c9541291a85166a87ceb3..325c3462eec2465715bb6b0db05b55365c6a55f9 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -2,6 +2,16 @@
 
 ## 2022/06/03
 
+* **Incompatible** changes to the Solver error-handling logic: instead of
+  raising several different exceptions, the solver now raises a single Error
+  exception carrying a datatype indicating the error case.
+
+  All errors now consistently report the source location when
+  available (if it was provided when building the constraint). This
+  improves in particular the error-reporting behavior of our
+  demonstration client, which is now able to show source locations on
+  type-checking errors.
+
 * Support for rigid variables, that is, variables that cannot be unified with
   other rigid variables or with older flexible variables. These variables are
   introduced by the new combinators `letr1` and `letrn`. The exception