OpenWrt 25.12.0-rc1 - Release Candidate

Hi,

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

Download firmware images using the OpenWrt Firmware Selector:

Download firmware images directly from our download servers:

Please test this version

This is not the final version, this is a test version. Please report problems and bugs in our issue tracker.

Highlights in OpenWrt 25.12

OpenWrt 25.12.0-rc1 incorporates over 4300 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-rc1 for the full changelog.

General changes

  • Switch package manager from opkg to apk
  • Integration of attended Sysupgrade into default LuCI installation
  • The shell history is stored in RAM till the next reboot
  • Integration of video feed
  • Wi-Fi scripts converted to ucode

Target changes

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

Many new devices added

OpenWrt 25.12 supports over 2180 devices. Support for over 160 new devices was added in addition to the device support by OpenWrt 24.10.

Core components update

Core components have the following versions in 23.05.0-rc1:

  • Updated toolchain:
    • musl libc 1.2.5
    • glibc 2.41
    • gcc 14.3.0
    • binutils 2.44
  • Updated Linux kernel
    • 6.12.62 for all targets
  • main packages:
    • cfg80211/mac80211 from kernel 6.18.0
    • 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.

Upgrading to 25.12

Sysupgrade can be used to upgrade a device from 24.10 to 25.12, and configuration will be preserved in most cases.

:!: Sysupgrade from 23.05 to 25.12 is not officially supported.

Known issues


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

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

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

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

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:

29 Likes

Upgrades from 24.10 to 25.12 using the Attended Sysupgrade tools should be seamless, with the usual exceptions being any devices that have undergone conversion from swconfig to DSA.

If you encounter issues with ASU upgrades, please report them on the respective client threads:

There are no known targets or platforms with ASU issues at present, please report otherwise.

11 Likes

My favorite new feature in 25.12 is that busybox ash history has been enabled by default.

https://github.com/openwrt/openwrt/commit/e23b37b2d9a2e766b1ad151f59a04eb68b6a3341

  • Adds /etc/profile.d/ to backup list as default behavior
  • Creates /etc/profile.d/busybox-history-file.sh
  • See contents of above, specifies history to be written to /tmp, which is lost on reboot. If you want it to persist, change to for example /root, but beware of flash wear on applicable devices.

Here's what I've done on my x86 devices with durable storage:

$ cat /etc/profile.d/busybox-history-file.sh
export HISTFILE=/root/.busybox_ash_history

$ echo '/root/.busybox_ash_history' >> /etc/sysupgrade.conf

$ sysupgrade -l | grep ash_history
/root/.busybox_ash_history
4 Likes

Thanks to the dev team for, as always, putting a ton of effort into the project and delivering a new release.

Just a quick thought about two things potentially missing from the high level release notes, if applicable:

  1. Target(s) transitioned from swconfig to DSA. This has been noted in all of the previous releases, and is a really helpful datapoint. If there are any such targets with this new version, can that be noted in the release notes?
  2. Minimum storage/RAM requirements. It has been generally discussed that versions newer than 24.10 would require at least 16MB flash and 128MB RAM (up from 8/64). A quick check of the available devices in 25.12-rc1 seems to indicate that 8/64 is still technically supported (or at least it is still being built for those devices), but if there are any known issues or constraints despite the obvious fact that things will be tighter, that could also be useful in the release notes.
4 Likes

Not a question about the RC in particular, but what 25.12 is expected to bring in general: Is opkg to apk expected to be pain-free for everyone involved (server and client side) or is it going to be interesting? I’m not sure how major or impactful this particular feature is in the scheme of things (beyond updating any scripts for the new command and syntax).

Most questions about switching to APK were answered here:

It's been tested and tested for around 18 months so far.

There's a pinned APK cheat sheet if you need anything specific

3 Likes

There is also a lot of work done to modernize odhcpd and odhcp6c to comply with more RFCs.

6 Likes

5ghz wifi does not work xiaomi gigabit 4a router

Banana pi r4 2xSFP not work “sfp ethernet”

The interface names have changed. If I remember correctly, eth2 is now sfp-wan and eth1 is now sfp-lan.

You can make a sed command in /etc/config/network and reboot device

4 Likes

Is there a way to have the sed command run on first boot? I access my r4 via sfp and that would not come back up (rewiring it for 1g lan would obviously work). Would certainly cut back on questions, too...

1 Like

ipq5018 based devices are working at 800Mhz instead of 1008Mhz. Cpufreq scaling do not work outside initial setup. Workaround patch is supplied in PR 21185

1 Like

I performed a clean install on TP-Link EAP615 access point.
The 5GHz (DFS) and 2.4GHz radios are operational - no issues seen thus far.

Ran owut upgrade on an gl-inet mt3000, did not come back up. Going to grqab the spare from storage and will see if I can revive the bricked one somehow.

FWIW, a reset brought it back up. Now I will see if I can figure out what triggered it.

2 Likes

Uploaded 25.12.0-rc1 Xiaomi Redmi router AX6000 ubootmod. Works flawlessly.
I used to use a little bit of C at work 30 years or more ago and know how time consuming development can be.
Thank you to all the developers, efahl, testers & any I've left out.

1 Like

It's been a hard week-end night with the release of 24.10.5 and this brand new 25.12-0.rc-1.
Thank you for the devs team for their involvmement in this project.

It's impressive to see that the memory consumption is the same that of the previous kernel. I was used to see the consumption increase at each version. So I was able to install this onto the venerable WNR3700v2.

1 Like

Upgraded Zyxel NBG6616 from 24.10.x.

After owut upgrade -V 25.12.0-rc1 the router shuts down - and I had to poweroff/poweron manually. Then the upgrade finished - no problems so far (only used as spare, so no deep testing)

1 Like

Upgraded multiple ASUS Lyra MAP-AC2200 with “owut upgrade -V 25.12.0-rc1”.

Had to add -force because package was downgraded (jansson and luci-app-banip)

Package version changes:
jansson 2.14-r3 2.14.1-r1

luci-app-banip 25.340.26705~d88390b 1.6.0-r1

The old version could be due to some manual upgrade i did in the past which I cannot remember.

They are using WDS, as ap or client, and all seemes so work

Upgraded the following devices from OpenWrt 24.10.4 to 25.12.0-rc1 with sysupgrade images built using Image Builder.

  • 2x GL.iNet GL-MT6000 (Flint 2) (Target: mediatek/filogic)
  • 1x GL.iNet GL-MT3000 (Beryl AX) (Target: mediatek/filogic)
  • 3x Dynalink DL-WRX36 (Target: qualcommax/ipq807x)
  • 1x Netgear R7800 (Target: ipq806x/generic)

Thank you to all the devs.

1 Like

2 x zyxel T-56 updated. Device name changed from eth1 to wan. I manually changed the interface and all working fine with the exception of ipv6, where I do not get GUA address on my dhcp connection. I need to dig deeper, why this happens. My ISP claims they do not support Ipv6, however with 24.10.5 I received /64 preffix. Probably now with 25.12 the problem is fixed from OpenWrt side :slight_smile:

Btw- another Xiaomi ax3000t updated succesfully. Ipv6 is working fine on it, however with different ISP.

Thanks to eveyone involved and happy holidays!

Kr

K