OpenWrt 25.12.0 - Stable Release

Hauke Mehrtens hauke at hauke-m.de
Thu Mar 5 14:13:28 PST 2026


Hi,

The OpenWrt community is proud to announce the first stable release of 
the OpenWrt 25.12 stable series.

Download firmware images using the OpenWrt Firmware Selector:
   * https://firmware-selector.openwrt.org?version=25.12.0

Download firmware images directly from our download servers:
   * https://downloads.openwrt.org/releases/25.12.0/targets/


Highlights in OpenWrt 25.12
===========================

OpenWrt 25.12.0 incorporates over 4700 commits since branching the 
previous OpenWrt 24.10 release and has been under development for over 
one year.

Only the main changes are listed below.  See 
[changelog-25.12.0](https://openwrt.org/releases/25.12/changelog-25.12.0) 
for the full changelog.


Honoring Dave Täht
==================

OpenWrt 25.12 is named Dave's Guitar to honor Dave Täht, who sadly 
passed away on April 1, 2025.

Dave played a key role in reducing bufferbloat and improving network 
latency in OpenWrt and across the wider internet. His work made networks 
faster, more responsive, and more reliable for millions of users.

This release is dedicated to his memory and lasting impact on the 
networking community.


General changes
===============

The hardware requirements did not change significantly. Most devices 
supported by OpenWrt 24.10 are also supported in OpenWrt 25.12.


Switch package manager from opkg to apk
=======================================

OpenWrt has transitioned from the traditional **opkg** package manager 
to **apk** (Alpine Package Keeper).

This change brings several advantages:
   * apk is still maintained; the OpenWrt opkg fork is no longer maintained.

apk supports most features of opkg. Only very few package names changed. 
The command line arguments of apk are different from the command line 
arguments of opkg.

For users migrating existing systems, an official [opkg to apk 
cheatsheet](https://openwrt.org/docs/guide-user/additional-software/opkg-to-apk-cheatsheet) 
is available to ease the transition and map common workflows.


Integration of attended sysupgrade
==================================

The [attended 
sysupgrade](https://openwrt.org/docs/guide-user/installation/attended.sysupgrade) 
LuCI application is now installed by default.
`owut` is included by default in images for devices with larger flash 
storage.

ASU allows devices to:
   * Upgrade to new OpenWrt firmware versions
   * Automatically rebuild firmware images with all currently installed 
packages
   * Preserve system configuration during upgrades
   * ASU allows integrating additional installed packages directly into 
the SquashFS filesystem, which stores packages more efficiently than the 
overlay filesystem.

This dramatically simplifies upgrades: with just a few clicks in LuCI 
and a short wait, a custom firmware image is built and installed without 
manual intervention.


Shell history is preserved
==========================

Shell command history is now preserved across sessions by storing it in 
a **RAM-backed filesystem**.

Benefits:
   * Command history is no longer lost between logins
   * No unnecessary writes to flash storage by default

For users who prefer persistent history storage, this behavior can be 
changed by editing: ''/etc/profile.d/busybox-history-file.sh''

⚠️ **Note:** Storing history on flash will increase write cycles and may 
impact [flash 
endurance](https://en.wikipedia.org/wiki/Flash_memory#Write_endurance) 
over time.


Integration of video feed
==========================

The [OpenWrt video feed](https://github.com/openwrt/video) with Qt5 and 
UI applications is integrated by default.


Wi-Fi scripts in ucode
======================

The Wi-Fi scripts were rewritten in ucode.
This is part of the rewrite of the management scripts from shell scripts 
to ucode.

uCode is used for system scripts because it is faster and safer than 
shell scripts, and integrates directly with ubus and UCI.

Wi-Fi and network management scripts rewritten in uCode run faster, have 
fewer errors, and are easier to maintain.


Target changes
==============

   * Extend the realtek target with support for more switch SoCs like 
10G Ethernet switches.
   * Extend the qualcommax target with support for ipq50xx and ipq60xx SoCs.
   * Added the siflower target for Siflower SF21A6826/SF21H8898 SoCs
   * Added the sunxi/arm926ejs subtarget for Allwinner F1C100/200s SoCs
   * Added the microchipsw/lan969x target with support for Microchip 
LAN969x switches.


Many new devices added
======================

OpenWrt 25.12 supports over 2200 devices. Support for over 180 new 
devices was added in addition to the devices already supported in 
OpenWrt 24.10.
Most devices already supported by OpenWrt 24.10 are still supported.


Core components update
===================

Core components have the following versions in 25.12.0:

   * Updated toolchain:
     * musl libc 1.2.5
     * glibc 2.41
     * gcc 14.3.0
     * binutils 2.44
   * Updated Linux kernel
     * 6.12.71 for all targets
   * main packages:
     * cfg80211/mac80211 from kernel 6.18.7
     * hostapd master snapshot from August 2025
     * dnsmasq 2.91
     * dropbear 2025.89
     * busybox 1.37.0

In addition to the listed applications, many others were also updated.


OpenWrt 24.10 end of life
=========================

With the release of OpenWrt 25.12 stable series, the OpenWrt 24.10 
stable series will go end of life in 6 months. We will not provide 
security updates for OpenWrt 24.10 after September 2026. We encourage 
everyone to upgrade to OpenWrt 25.12 before September 2026.


Upgrading to 25.12
==================

Upgrading from 24.10 to 25.12 should be transparent on most devices, as 
most configuration data has either remained the same or will be 
translated correctly on first boot by the package init scripts.

  * Sysupgrade from 23.05 to 25.12 is not officially supported.

  *  Cron log level was fixed in busybox. 
`system. at system[0].cronloglevel` should be set to `7` for normal 
logging. `7` is the default now. If this option is not set, the default 
is used and no manual action is needed.

  * Bananapi BPI-R4: Interfaces ''eth1'' was renamed to ''sfp-lan'' or 
''lan4'', and interface ''eth2'' was renamed to ''sfp-wan'' to match the 
labels. You have to upgrade without saving the configuration.


Scratch installs/upgrades
=========================

If you wish to start from scratch (always the safest, but also the most 
work), simply download the pre-built image from the [downloads 
site](https://downloads.openwrt.org/releases/25.12.0/targets/) or from 
the [Firmware 
Selector](https://openwrt.github.io/firmware-selector-openwrt-org?version=25.12.0) 
to your device.  Make sure to create and save a backup, then install the 
image using `sysupgrade -n /tmp/firmware.bin` or the LuCI Backup/Flash 
Firmware, being sure to set "Keep settings and retain the current 
configuration" to its off position.  Restore or reconstruct your 
configuration using the contents of the backup as a template.

Attended Sysupgrade options
===========================

Attended Sysupgrade (ASU) allows you to build a custom image that 
retains all of your installed packages and their configuration 
transparently.  You need to use one of the three ASU clients that 
interface with the ASU server to produce this custom image:

   - [Firmware 
Selector](https://openwrt.github.io/firmware-selector-openwrt-org?version=25.12.0) 
- an online builder that requires you to manually supply it with the 
packages you wish to have installed.  This package list is sent to the 
ASU server, and a new custom device image is created containing those 
packages.  You may then download and install the image in LuCI 
Backup/Flash Firmware, but for this you would enable "Keep settings..."
   - [Luci Attended 
Sysupgrade](https://openwrt.org/docs/guide-user/installation/attended.sysupgrade#from_luci_web_page) 
- the web interface to the ASU server.  This tool allows you to choose a 
new OpenWrt version, then collects the names of the packages on your 
device and sends them up to the ASU server.  LuCI ASU then downloads the 
created image directly to your device and allows you to install it, 
without having to do any of the bookkeeping tasks involved with using 
the Firmware Selector.
   - 
[owut](https://openwrt.org/docs/guide-user/installation/sysupgrade.owut) 
- a command line package that does the same job as LuCI ASU, but 
provides more diagnostics and better visibility into what's happening at 
the various steps before and during the build process.

Both the LuCI ASU app and `owut` are optional packages in 24.10, so if 
you have not installed them, they won't be there by default.  Use either 
the LuCI Package Manager to install them, or you can do it from the 
command line with `opkg`:

```
$ opkg update
$ opkg install luci-app-attendedsysupgrade
$ opkg install owut
```

Note that you can install one or the other, or both together, they are 
completely independent packages.

Upgrades with Firmware Selector
===============================

The Firmware Selector does an excellent job of searching through the 
thousands of available device configurations and getting you to the 
right place.  But, some devices have several variants and possibly 
different image formats, so if you're unsure about which one you need or 
which device you're dealing with or anything else, go to the [|Firmware 
Selector support 
thread](https://forum.openwrt.org/t/the-openwrt-firmware-selector/81721) 
and ask away.


Upgrades with LuCI Attended Sysupgrade
======================================

The LuCI web interface is fairly self-explanatory. If anything is 
unclear, please refer to the [LuCI Attended Sysupgrade support 
thread](https://forum.openwrt.org/t/luci-attended-sysupgrade-support-thread/230552) 
for guidance.


Upgrades with owut
==================

If you choose to use `owut`, the fact that it's a command line program 
means you'll need a little more explanation regarding best practices. 
In any situation, it's always safe to do a `check` to see what's going on.

```
$ owut check --verbose --version-to 25.12
... a lot of output ...
```

This check should show you all the details of what this upgrade entails 
with regards to the packages available, and will point out any issues 
with package versions and so on.

Assuming the results of the `check` look good, you can simply do an 
`upgrade` next.

```
$ owut upgrade --verbose --version-to 25.12
... even more output ...
```

If you are unsure of anything you see in the `check`, during the 
`upgrade`, or simply have questions, jump on over to the [owut support 
thread](https://forum.openwrt.org/t/owut-openwrt-upgrade-tool/200035) on 
the forum and ask.


Known issues
============

   * Users of Zyxel EX5601-T0 devices need to check their WAN interfaces 
as the port was renamed from `eth1` to `wan`.
   * Pixel 10 phones have problems connecting to WPA3 protected WiFi 6 
APs. https://github.com/openwrt/openwrt/issues/21486
   * 802.11r Fast Transition (FT) causes problems with some WiFi clients 
when WPA3 is used. https://github.com/openwrt/openwrt/issues/22200

-----------------

Full release notes and upgrade instructions are available at
  https://openwrt.org/releases/25.12/notes-25.12.0

In particular, make sure to read the regressions and known issues before 
upgrading:
  https://openwrt.org/releases/25.12/notes-25.12.0#known_issues

For a detailed list of all changes since branching of 24.10, refer to
  https://openwrt.org/releases/25.12/changelog-25.12.0

To download the 25.12.0 images, navigate to:
  https://downloads.openwrt.org/releases/25.12.0/targets/
Use OpenWrt Firmware Selector to download:
  https://firmware-selector.openwrt.org?version=25.12.0

As always, a big thank you goes to all our active package maintainers, 
testers, documenters and supporters.

Have fun!

The OpenWrt Community

---

To stay informed of new OpenWrt releases and security advisories, there
are new channels available:

   * a low-volume mailing list for important announcements:
https://lists.openwrt.org/mailman/listinfo/openwrt-announce

   * a dedicated "announcements" section in the forum:
https://forum.openwrt.org/c/announcements/14

   * other announcement channels (such as RSS feeds) might be added in
     the future, they will be listed at https://openwrt.org/contact



More information about the openwrt-devel mailing list