diff --git a/CHANGELOG b/CHANGELOG
index fe11013543ef021249d9c59f8e8af95308cf3295..eb33b5bc087db0ca861ee6232499ce6a04cfdb55 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,13 +1,12 @@
-BornAgain-1.20, released 2023.02.xx
+BornAgain-20.0, released 2023.03.27
   > Contributors:
     * Current maintainers: Ammar Nejati, Mikhail Svechnikov, Joachim Wuttke
     * Temporary contributors: Tobias Knopff, Matthias Puchner
     * Some contributions by: Randolf Beerwerth, Ludwig Jäck, Andrew McCluskey
     * See git log for details
   > Preface:
-    This release, the result of almost two years of intense work, brings
-    huge changes at all levels.  In the future, we will again publish
-    smaller change sets at shorter intervals.
+    This release, the result of two years of intense work, brings huge changes
+    at all levels.
       Much of this release is about "refactoring", i.e. internal changes that
     modify neither the user interface nor the outputs, but set data structures
     and internal interfaces right in order to enable future extensions.
@@ -15,15 +14,23 @@ BornAgain-1.20, released 2023.02.xx
     of the graphical sample editor by a expandable tables.  Also, there are
     numerous changes to the Python API.  Unfortunately, this means that most
     old scripts will be broken.  We recognize the importance of backward
-    compatibility, which however will take us some more work to achieve.
+    compatibility, which we hope to gradually achieve in forthcoming releases.
+      The restructured documentation has now three distinct sections for Python
+    scripting: a short tutorial, a collection of examples, and a reference.
+    Migration to this new structure is still incomplete; some reference sections
+    are still in old teaching-by-example style, and will be reworked later.
       In spite of thorough testing, it is quite likely that some bugs slipped in.
     If you suspect a bug or observe any other undesirable behavior, please
     submit a report to our issue tracker.  We will investigate any such report
-    with high  priority, and publish hotfix releases as appropriate.
+    with high priority, and publish hotfix releases as appropriate.
+      With this release, the version number scheme changed. Recognising that
+    there will be never be the right moment to pass from BornAgain 1.x.y to 2.0.0,
+    we removed the leading "1" for good, and promoted the old minor to new major.
+    In the future, new major releases shall be published several times per year.
   > API: renamed classes and functions
     * R3, C3 <- kvector_t, cvector_t
     * ScatteringSimulation <- GISASSimulation
-    * QzScan, AlphaScan <- QSpecScan, AngularSpecScan
+    * QzScan, AlphaScan, IBeamScan <- QSpecScan, AngularSpecScan, ISpecularScan
     * SimulationResult::convertedBinCenters <- axis
     * RefractiveMaterial <- HomogeneousMaterial
     * Formfactors:
@@ -34,6 +41,8 @@ BornAgain-1.20, released 2023.02.xx
     * Interference... <- InterferenceFunction...
     * and several more
   > API: further changes:
+    * ReflectometrySimulation, OffspecSimulation, DepthprobeSimulation constructors
+      now all take the same 'scan' argument
     * Swapped arguments of CoreAndShell constructor
     * Scan limits now refer to points, not to bin edges
     * Polarizer and analyzer are now set by function Instrument::setPolFilters
@@ -53,8 +62,10 @@ BornAgain-1.20, released 2023.02.xx
     * Docks geometry and most other settings are saved upon closing
     * Light/dark/native themes at choice
   > Installers
-    * Self-contained binary package for Unix
+    * Self-contained binary package for Linux
     * Mac installer: corrections done immediately after release of 1.19.0
+    * Python packages: Python wheels are produced for Py3.8-3.10, for Windows, Mac, and
+      Linux platforms.
   > Documentation:
     * Preserve old web docs (starting with 1.19) as web site now supports multiple versions
     * Move versioned part of the web docs to this source repository, directory hugo/
@@ -70,8 +81,8 @@ BornAgain-1.20, released 2023.02.xx
     * Unify 'polarized' switches
     * Correct initialization of FTDecayFunction1DVoigt and FTDecayFunction2DVoigt
   > Internal refactoring:
-    * Merge or removed experimental code from v1.19 (directories mvvm and gui2)
     * GUI updated to Qt6
+    * Merge or removed experimental code from v1.19 (directories mvvm and gui2)
     * Many internal functions no longer exposed to Python
     * Remove other duplicate or inactive code; inlined short functions
     * Merge some classes
@@ -81,7 +92,7 @@ BornAgain-1.20, released 2023.02.xx
     * Split directories Sample (user defined) and Resample (preprocessed, especially by slicing)
     * Make many class members const, rm some copy c'tors
     * Rename some internals (e.g. RTCoefficients -> IFlux; Computation -> Contribution)
-    * GUI: replace string-based mechanism for addressing items
+    * Remove string-based mechanism for addressing GUI items
 
 BornAgain-1.19.0, released 2021.03.17
   > API changes: