diff --git a/doc/whats-new.rst b/doc/whats-new.rst
index 0743a29316b..478b687154d 100644
--- a/doc/whats-new.rst
+++ b/doc/whats-new.rst
@@ -15,10 +15,18 @@ What's New
np.random.seed(123456)
-.. _whats-new.2023.11.1:
+.. _whats-new.2023.12.0:
-v2023.11.1 (unreleased)
------------------------
+v2023.12.0 (2023 Dec 08)
+------------------------
+
+This release brings new `hypothesis `_ strategies for testing, significantly faster rolling aggregations as well as
+``ffill`` and ``bfill`` with ``numbagg``, a new :py:meth:`Dataset.eval` method, and improvements to
+reading and writing Zarr arrays (including a new ``"a-"`` mode).
+
+Thanks to our 16 contributors:
+
+Anderson Banihirwe, Ben Mares, Carl Andersson, Deepak Cherian, Doug Latornell, Gregorio L. Trevisan, Illviljan, Jens Hedegaard Nielsen, Justus Magin, Mathias Hauser, Max Jones, Maximilian Roos, Michael Niklas, Patrick Hoefler, Ryan Abernathey, Tom Nicholas
New Features
~~~~~~~~~~~~
@@ -27,7 +35,7 @@ New Features
Accessible under :py:mod:`testing.strategies`, and documented in a new page on testing in the User Guide.
(:issue:`6911`, :pull:`8404`)
By `Tom Nicholas `_.
-- :py:meth:`rolling` uses numbagg `_ for
+- :py:meth:`rolling` uses `numbagg `_ for
most of its computations by default. Numbagg is up to 5x faster than bottleneck
where parallelization is possible. Where parallelization isn't possible — for
example a 1D array — it's about the same speed as bottleneck, and 2-5x faster
@@ -36,7 +44,7 @@ New Features
By `Maximilian Roos `_.
- Use a concise format when plotting datetime arrays. (:pull:`8449`).
By `Jimmy Westling `_.
-- Avoid overwriting unchanged existing coordinate variables when appending by setting ``mode='a-'``.
+- Avoid overwriting unchanged existing coordinate variables when appending with :py:meth:`Dataset.to_zarr` by setting ``mode='a-'``.
By `Ryan Abernathey `_ and `Deepak Cherian `_.
- :py:meth:`~xarray.DataArray.rank` now operates on dask-backed arrays, assuming
the core dim has exactly one chunk. (:pull:`8475`).