diff --git a/NEWS b/NEWS
index fbc6e2bdc1be87a78e007296e3e9bde1250e41f2..ef96d5dcf10447008c16c6bef2a97d50d0f76503 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,147 @@
+ModemManager 1.24.0
+-------------------------------------------
+This is a new stable release of ModemManager.
+
+The following notes are directed to package maintainers:
+
+ * This version now requires:
+   ** libmbim >= 1.32.0 (for the optional MBIM support)
+   ** libqmi >= 1.36.0 (for the optional QMI support)
+
+The most important features and changes in this release are the following:
+
+ * API:
+   ** Add new TIMEOUT, PROTOCOL, and THROTTLED core errors
+   ** Add new MMCarrierLockError errors
+   ** Add new Messaging interface SetDefaultStorage method
+   ** Fix MM_BEARER_IP_FAMILY_ANY ABI break introduced in 1.20
+   ** Add new Cell Broadcast API
+   ** Report sub-system vendor and product IDs in Firmware device IDs
+
+ * Core:
+   ** Improved handling of odd +CGDCONT responses
+   ** Add support for putting modems in low-power mode during suspend
+   ** Retry AT+CNUM a couple times if the SIM is busy
+   ** Fix probing of modems that only expect a single AT port
+   ** Reprobe modems on late port additions; ensures modems use the optimal
+      control channel regardless of kernel/udev timing
+   ** Ignore FASTBOOT ports during probing
+   ** Better logging of user requests
+   ** Fix probing of single-port devices by starting support check on first port
+      addition
+   ** Don't crash as often due to assumption that a primary modem port always
+      exists
+   ** Add support for loading and setting initial EPS bearer settings
+   ** Quite a few memory leak fixes
+   ** Lay groundwork for Intel XMM7xxx RPC-based devices
+   ** restart AT probing if a port is stuck in PPP mode when modem is detected
+   ** Serialize core modem operations to prevent multiple D-Bus clients from
+      interrupting each other's operations
+   ** Work around elogind sometimes not sending the PrepareForSleep signal
+   ** Add generic Qualcomm Firehose and Sahara firmware update support
+
+ * Translations:
+   ** Updated Brazilian Portuguese and Polish translations
+
+ * Modem interface:
+   ** Logic to detect SIM swaps has been improved
+   ** Do not set up carrier configs if the eSIM has no profiles
+   ** Add delay between consecutive power state transitions for reliability
+   ** Allow low-power state change while modem is enabled
+
+ * 3GPP interface:
+   ** Add 'NetworkRejection' property reporting errors during network
+      registration
+
+ * Location interface:
+   ** Allow enabling the interface without a SIM
+
+ * Profile Manager interface:
+   ** Throttle updates from the modem to once every two seconds
+
+ * Messaging interface:
+   ** Validate supported storages
+   ** Load default storage at initialization time
+
+ * Bearer:
+   ** Add new 'force' property to set EPS initial bearer settings
+
+ * udev:
+   ** Always ignore Qualcomm recovery layout devices (05c6:9008)
+   ** Add ID_MM_QMI_PREALLOCATED_LINKS tag for NET ports
+   ** Add ID_MM_QMI_PCO_DISABLED tag to disable PCO
+
+ * mmcli:
+   ** Higher long-running operation timeouts to avoid exiting before MM is done
+   ** Print bearer D-Bus path after connection
+
+ * libmm-glib:
+   ** 3gpp-profile: fix loading roaming allowance and profile source
+
+ * SMS:
+   ** Ensure send/store always uses the same modem port
+   ** Better re-assemble multi-part messages using both number and reference
+
+ * Dispatcher:
+   ** New 'setup' dispatcher runs after port probing but before ModemManager
+      takes control
+
+ * qrtr-bus-watcher:
+   ** Increase wait time after probing to more reliably detect modems
+
+ * MBIM:
+   ** Improvements to SIM hot-swap detection and handling
+   ** Fix re-opening MBIM ports if modem drops off the bus while being probed
+   ** Don't die if ICCID is missing from the Subscriber Ready response
+   ** Detect changes in carrier lock state
+   ** Default to IPV4V6 dual-stack when IP type is unspecified
+   ** Fix handling IP types from Provisioned Context Element V2 objects
+   ** Don't ignore 'none' type profiles
+   ** Use MBIMEx to list profiles if we can
+   ** Detect SLAAC configuration updates to handle IPv6 connectivity on modems
+      that take longer to run SLAAC themselves
+   ** Add support for MS extensions device reset
+   ** Update all attach settings (home/partner/non-partner) to the same values
+      so that roaming attach uses same settings as home
+   ** Read operator name from SIM EF files rather than from the network
+
+ * QMI:
+   ** Report specific IP version disallowed rather than just "IP version
+      mismatch" errors
+   ** Fix re-opening QMI ports if modem drops off the bus while being probed
+   ** Add support for preallocated multiplexed links
+   ** Don't prematurely finish power operations until the modem is really done
+   ** Change operator description priority to prefer long name, short name, then
+      service name. This better matches expected IoT SIM behavior.
+   ** Implement Cell Info for GSM
+   ** Reload operator description on network changes
+   ** Map DUN APN type to MM Tethering type
+   ** Fix enabling Serving System indications if the modem doesn't support
+      System Info
+   ** Implement getting/setting UE mode
+
+ * Plugins:
+   ** Allow plugins to match on PCI subsystem device ID property
+   ** quectel: added support for RM520N; support AT-based location and SIM hot-
+      swap for MBIM devices; support AT-over-MBIM; support DFOTA firmware update
+      method; support power operations for AT-based devices; add FCC unlock
+      for more devices; DTMF notification support;
+   ** mtk-legacy: renamed from 'mtk'; add support for MT6229 (eg CAT B100)
+   ** mtk: new plugin with MBIM support for t7xx devices (eg FM350, L850, etc)
+   ** fibocom: add support for firmware update settings; add support for
+      FM135 devices
+   ** cinterion: switch primary and secondary port for PLS8; use PPP on
+      secondary port; default to no authentication with no user/password;
+      fix runtime PDP context reading; increase COPS timeout; implement FDL
+      update method; implement loading current modes
+   ** mbm: keep GPS interface running over reinitialization if needed
+   ** huawei: support loading/setting of LTE bands; add support for IPv6
+   ** simtech: add support for A760x devices; fix USB audio handling
+   ** rolling: new plugin with support for Rolling Wireless (ex-Fibocom) devices
+   ** netprisma: new plugin with support for Netprisma (ex-Quectel) devices
+   ** cellient: new plugin for Cellient devices
+   ** telit: fix loop enabling events on secondary ports
+
 
 ModemManager 1.22.0
 -------------------------------------------
diff --git a/RELEASING b/RELEASING
index aa70795708482e50811c01c6a46743f976f818e3..ed72d756c0d28d04d6106193288b3b0246d5e897 100644
--- a/RELEASING
+++ b/RELEASING
@@ -25,7 +25,7 @@ The ModemManager releases are generated using meson.
     $ ninja -C build
 
 3) Run the test suite and install locally:
-    $ ninja -C build test
+    $ ninja -C build dist
     $ sudo ninja -C build install
 
 4) Create directories for the manpages and gtk-doc documentation in
diff --git a/meson.build b/meson.build
index 98e5f5f50e11d764465dd68f9642da3a4444269a..e9c94e13585c41cbc0618073790a8d4788059285 100644
--- a/meson.build
+++ b/meson.build
@@ -3,7 +3,7 @@
 
 project(
   'ModemManager', 'c',
-  version: '1.23.12',
+  version: '1.23.95',
   license: 'GPL2',
   default_options: [
     'buildtype=debugoptimized',
@@ -45,9 +45,9 @@ mm_glib_pkgincludedir = mm_includedir / mm_glib_name
 # - Otherwise, increment c and zero r.
 #   - If the interface has grown (that is, the new library is compatible with old code), increment a.
 #   - If the interface has changed in an incompatible way (that is, functions have changed or been removed), then zero a.
-current = 10
+current = 11
 revision = 0
-age = 10
+age = 11
 mm_glib_version = '@0@.@1@.@2@'.format(current - age, age, revision)
 
 mm_gir_version = '1.0'
@@ -259,14 +259,14 @@ config_h.set('WITH_BUILTIN_PLUGINS', enable_builtin_plugins)
 # MBIM support (enabled by default)
 enable_mbim = get_option('mbim')
 if enable_mbim
-  mbim_glib_dep = dependency('mbim-glib', version: '>= 1.31.5')
+  mbim_glib_dep = dependency('mbim-glib', version: '>= 1.31.95')
 endif
 config_h.set('WITH_MBIM', enable_mbim)
 
 # QMI support (enabled by default)
 enable_qmi = get_option('qmi')
 if enable_qmi
-  qmi_glib_dep = dependency('qmi-glib', version: '>= 1.35.6')
+  qmi_glib_dep = dependency('qmi-glib', version: '>= 1.35.95')
 endif
 config_h.set('WITH_QMI', enable_qmi)