diff --git a/NEWS.md b/NEWS.md
index b5e94a5ed638970823f0afd94327abb7c2a1b09d..ecc71280aecff7f1faa22350ba6d2533962e7b04 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,3 +1,25 @@
+# WirePlumber 0.3.0
+
+The desktop-ready release!
+
+Changes since 0.2.96:
+  - Changed how the device endpoints & nodes are named
+    to make them look better in JACK graph tools, such as qjackctl.
+    JACK tools use the ':' character as a separator to distinguish the node
+    name from the port name (since there are no actual nodes in JACK) and
+    having ':' in our node names made the graph look strange in JACK
+
+  - Fixed an issue with parsing wireplumber.conf that could cause
+    out-of-bounds memory access
+
+  - Fixed some pw_proxy object leaks that would show up in the log
+
+  - Fixed more issues with unlinking the stream volume (si-convert) node
+    from the ALSA sink node and suspending the both;
+    This now also works with PipeWire 0.3.5 and 0.3.6, so it is possible
+    to use these PipeWire versions with WirePlumber without disabling streams
+    on audio sinks.
+
 # WirePlumber 0.2.96
 
 Second pre-release (RC2) of WirePlumber 0.3.0
diff --git a/meson.build b/meson.build
index c36b4050da461c2324e14ad4e72d5f00aee1d4fc..650daa7c85a1df1fc63a589ac6824e5124030a85 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
 project('wireplumber', ['c', 'cpp'],
-  version : '0.2.96',
+  version : '0.3.0',
   license : 'MIT',
   meson_version : '>= 0.51.0',
   default_options : [