diff --git a/README.md b/README.md
index c0bd27c29a1a24ee6226be440d92c43429f76c7f..f614e6c8d5f7425a8d904a1be3e30a0be9053fbe 100644
--- a/README.md
+++ b/README.md
@@ -30,7 +30,7 @@ the future development of Gluon.
 
 Please refrain from using the `master` branch for anything else but development purposes!
 Use the most recent release instead. You can list all releases by running `git tag`
-and switch to one by running `git checkout v2022.1 && make update`.
+and switch to one by running `git checkout v2023.1 && make update`.
 
 If you're using the autoupdater, do not autoupdate nodes with anything but releases.
 If you upgrade using random master commits the nodes *might break* eventually.
diff --git a/contrib/ci/minimal-site/site.conf b/contrib/ci/minimal-site/site.conf
index 9e068abcced276419fe1caa1c264873cc00a21ed..9b215d161557d6b20512d2329f792c040deda280 100644
--- a/contrib/ci/minimal-site/site.conf
+++ b/contrib/ci/minimal-site/site.conf
@@ -1,4 +1,4 @@
--- This is an example site configuration for Gluon v2022.1
+-- This is an example site configuration for Gluon v2023.1
 --
 -- Take a look at the documentation located at
 -- https://gluon.readthedocs.io/ for details.
diff --git a/contrib/ci/olsr-site/site.conf b/contrib/ci/olsr-site/site.conf
index 868d3d569d665f6d99335dde4f9a9c4115ade727..f71c33ce064d1ba3af00ab57ea54043e168c2116 100644
--- a/contrib/ci/olsr-site/site.conf
+++ b/contrib/ci/olsr-site/site.conf
@@ -1,4 +1,4 @@
--- This is an example site configuration for Gluon v2022.1
+-- This is an example site configuration for Gluon v2023.1
 --
 -- Take a look at the documentation located at
 -- https://gluon.readthedocs.io/ for details.
diff --git a/docs/conf.py b/docs/conf.py
index 801bb4beb0e0403567230d7c88a86666aa039c2e..70556fb045ca5a790f10b316d26d8f0bb752fbf8 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -24,7 +24,7 @@ copyright = 'Project Gluon'
 author = 'Project Gluon'
 
 # The short X.Y version
-version = '2022.1'
+version = '2023.1'
 # The full version, including alpha/beta/rc tags
 release = version
 
diff --git a/docs/features/dns-cache.rst b/docs/features/dns-cache.rst
index c5376ce8439d09371f7f33dd07e66f37d3c1af80..4cc496947bf0072843467f80f29e9d85992db786 100644
--- a/docs/features/dns-cache.rst
+++ b/docs/features/dns-cache.rst
@@ -1,3 +1,5 @@
+.. _dns-caching:
+
 DNS caching
 ===========
 
diff --git a/docs/features/vpn.rst b/docs/features/vpn.rst
index 88a84cbdb891d769ac85f7ff2034ea3ec4ad0f7f..52bb65fcf2fafe6133adc8f6c0e6fa9f050c0217 100644
--- a/docs/features/vpn.rst
+++ b/docs/features/vpn.rst
@@ -191,6 +191,8 @@ negative effects. Only when a previously connected node reboots the effect
 comes into play, as the gateway still knows about the old timestamp of the gluon
 node.
 
+.. _gluon-mesh-vpn-key-translate:
+
 gluon-mesh-vpn-key-translate
 """"""""""""""""""""""""""""
 
diff --git a/docs/releases/index.rst b/docs/releases/index.rst
index e54a3649c6d05a838390f9894fcb8928578b6063..5dfe7f89be9d2cce3cabdd19234ddc4c3a2d98e3 100644
--- a/docs/releases/index.rst
+++ b/docs/releases/index.rst
@@ -1,6 +1,12 @@
 Release Notes
 =============
 
+.. toctree::
+  :caption: Gluon 2023.1
+  :maxdepth: 2
+
+  v2023.1
+
 .. toctree::
   :caption: Gluon 2022.1
   :maxdepth: 2
diff --git a/docs/releases/v2023.1.rst b/docs/releases/v2023.1.rst
new file mode 100644
index 0000000000000000000000000000000000000000..d181f7f12a4c8385a2c1ef11697c92a72c95de04
--- /dev/null
+++ b/docs/releases/v2023.1.rst
@@ -0,0 +1,122 @@
+Gluon 2023.1
+============
+
+Important notes
+---------------
+
+Upgrades to v2023.1 and later releases are only supported from releases v2021.1 and later.
+This is due to migrations that have been removed to simplify maintenance.
+
+
+Added hardware support
+----------------------
+
+ath79-generic
+~~~~~~~~~~~~~
+
+- Extreme Networks
+
+  - WS-AP3805i
+
+ath79-nand
+~~~~~~~~~~
+
+- GL.iNet
+
+  - GL-XE300
+
+ramips-mt7621
+~~~~~~~~~~~~~
+
+- TP-Link
+
+  - EAP615-Wall
+
+- Wavlink
+
+  - WS-WN572HP3 4G
+
+ramips-mt76x8
+~~~~~~~~~~~~~
+
+- TP-Link
+
+  - TL-MR6400 (v5)
+
+
+Features
+--------
+
+DNS Caching
+~~~~~~~~~~~
+
+DNS caching using the dnsmasq resolver is reintroduced.
+
+See the :ref:`DNS caching documentation <dns-caching>` section for
+details on how to enable this feature.
+
+Cellular Modem Support
+~~~~~~~~~~~~~~~~~~~~~~
+
+Support for using cellular data connections as the primary uplink connection has been added
+to Gluon. This is supported for hardware that comes with a built-in cellular modem. The required user
+configuration for the APN and SIM-PIN can be performed in the Advanced Settings in Config Mode.
+
+To use this feature in config-mode, the ``web-cellular`` needs to be enabled in ``site.mk``.
+
+Interface Role UI
+~~~~~~~~~~~~~~~~~
+
+Interface Roles can now be assigned from the Network page of the Advanced Settings
+in Config Mode. This configuration is preserved on Gluon upgrades.
+
+WireGuard Key Translation
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This release adds a new mechanism for seamlessly translating existing fastd private keys on the nodes into
+equivalent WireGuard keys. The corresponding public keys can be translated **separately** on the servers.
+This mitigates the need to re-exchange public keys for communities when migrating to WireGuard-based VPN.
+
+See the :ref:`gluon-mesh-vpn-key-translate <gluon-mesh-vpn-key-translate>` section for details.
+
+
+Bugfixes
+--------
+
+- Custom channel lists using a radios ``channels`` UCI option are now preserved on upgrade
+  in case ``gluon.wireless.preserve_channels`` is set.
+- Custom HT modes for radios are now preserved when ``gluon.wireless.preserve_channels``
+  is set.
+- Broken mesh links between MediaTek 11ax and Qualcomm 11ac hardware are worked around. (`#2905 <https://github.com/freifunk-gluon/gluon/pull/2905>`_)
+- Fixed a bug in the MediaTek MT7621 NAND driver that caused devices to end in a bootlooping state
+  after the initial installation.
+
+
+Minor changes
+-------------
+
+- Images built for the ``x86`` targets are now natively bootable on
+  EFI systems without CSM or BIOS support modes.
+
+
+Known issues
+------------
+
+* The integration of the BATMAN_V routing algorithm is incomplete.
+
+  - Mesh neighbors don't appear on the status page. (`#1726 <https://github.com/freifunk-gluon/gluon/issues/1726>`_)
+    Many tools have the BATMAN_IV metric hardcoded, these need to be updated to account for the new throughput
+    metric.
+  - Throughput values are not correctly acquired for different interface types.
+    (`#1728 <https://github.com/freifunk-gluon/gluon/issues/1728>`_)
+    This affects virtual interface types like bridges and VXLAN.
+
+* Default TX power on many Ubiquiti devices is too high, correct offsets are unknown
+  (`#94 <https://github.com/freifunk-gluon/gluon/issues/94>`_)
+
+  Reducing the TX power in the Advanced Settings is recommended.
+
+* In configurations without VXLAN, the MAC address of the WAN interface is modified even when Mesh-on-WAN is disabled
+  (`#496 <https://github.com/freifunk-gluon/gluon/issues/496>`_)
+
+  This may lead to issues in environments where a fixed MAC address is expected (like VMware when promiscuous mode is disallowed).
diff --git a/docs/site-example/site.conf b/docs/site-example/site.conf
index a122a65307c9035220f104589f9501689d7ea276..8c0e7174023f096d98f19631882119bbbf768a8b 100644
--- a/docs/site-example/site.conf
+++ b/docs/site-example/site.conf
@@ -1,4 +1,4 @@
--- This is an example site configuration for Gluon v2022.1
+-- This is an example site configuration for Gluon v2023.1
 --
 -- Take a look at the documentation located at
 -- https://gluon.readthedocs.io/ for details.
diff --git a/docs/user/getting_started.rst b/docs/user/getting_started.rst
index 283550a306a9024f3ddd23bdf3fee0e0e1a072d1..547d41e7dc8abf2c757514ac51c4a4e891e6edb7 100644
--- a/docs/user/getting_started.rst
+++ b/docs/user/getting_started.rst
@@ -8,7 +8,7 @@ Gluon's releases are managed using `Git tags`_. If you are just getting
 started with Gluon we recommend to use the latest stable release of Gluon.
 
 Take a look at the `list of gluon releases`_ and notice the latest release,
-e.g. *v2022.1*. Always get Gluon using git and don't try to download it
+e.g. *v2023.1*. Always get Gluon using git and don't try to download it
 as a Zip archive as the archive will be missing version information.
 
 Please keep in mind that there is no "default Gluon" build; a site configuration
@@ -52,7 +52,7 @@ Building the images
 -------------------
 
 To build Gluon, first check out the repository. Replace *RELEASE* with the
-version you'd like to checkout, e.g. *v2022.1*.
+version you'd like to checkout, e.g. *v2023.1*.
 
 ::