OpenWrt 25.12.0 ships with new package manager, built-in upgrade tool, support for 2200+ devices


OpenWrt 25.12.0 is now available for download. The release incorporates over 4,700 commits since branching from OpenWrt 24.10.

Package manager changes

One of the most significant structural changes in 25.12.0 is the replacement of the opkg package manager with apk, the Alpine Package Keeper. The OpenWrt fork of opkg is no longer maintained, and the project moved to apk as an actively maintained alternative.

The command-line interface for apk differs from opkg, and the project has published an opkg-to-apk cheatsheet for users managing existing systems. Most package names remain the same, with only a small number changing.

Attended sysupgrade now installed by default

The attended sysupgrade (ASU) application is now included in default LuCI installations. On devices with larger flash storage, the owut command-line upgrade tool is also included by default.

ASU enables users to upgrade firmware while retaining installed packages and configuration. It does this by submitting the list of installed packages to a build server, which assembles a custom firmware image with those packages baked into the SquashFS filesystem. This stores packages more compactly than the overlay filesystem method.

Three clients are available for running ASU: the web-based Firmware Selector, the LuCI Attended Sysupgrade interface, and owut for command-line use.

Shell history stored in RAM

Shell command history is now preserved across sessions using a RAM-backed filesystem. Prior to this change, history was lost between logins. The default configuration avoids writing history to flash storage, which reduces write cycles on devices with limited flash endurance. Users who want persistent history storage can change the behavior by editing /etc/profile.d/busybox-history-file.sh.

Wi-Fi management scripts rewritten in ucode

The Wi-Fi scripts have been rewritten in ucode, continuing a broader effort to replace shell scripts in OpenWrt’s management layer. The project uses ucode for system scripts because it runs faster and has fewer error-prone behaviors than shell scripts, and it integrates directly with the ubus messaging system and UCI configuration interface.

Device and hardware support

OpenWrt 25.12.0 supports over 2,200 devices in total, adding support for over 180 devices that were not supported in 24.10. New hardware targets include:

  • The siflower target for Siflower SF21A6826 and SF21H8898 SoCs
  • The sunxi/arm926ejs subtarget for Allwinner F1C100 and F1C200s SoCs
  • The microchipsw/lan969x target for Microchip LAN969x switches
  • Extended support in the realtek target, covering 10G Ethernet switch SoCs
  • Extended support in the qualcommax target for ipq50xx and ipq60xx SoCs

Core component versions

The 25.12.0 release ships with Linux kernel 6.12.71 across all targets. The toolchain includes gcc 14.3.0, binutils 2.44, musl libc 1.2.5, and glibc 2.41. Key package versions include dnsmasq 2.91, dropbear 2025.89, busybox 1.37.0, and a hostapd master snapshot from August 2025. The cfg80211/mac80211 wireless stack is drawn from kernel 6.18.7.

Known issues

Two Wi-Fi interoperability problems are documented at release. Pixel 10 phones have difficulty connecting to WPA3-protected Wi-Fi 6 access points. Separately, enabling 802.11r Fast Transition causes connectivity problems with some Wi-Fi clients when WPA3 is in use. Both issues are tracked in the project’s GitHub issue tracker.

Users of Zyxel EX5601-T0 devices need to verify WAN interface configuration, as the port was renamed from eth1 to wan.

End-of-life timeline for 24.10

With the 25.12.0 stable release, the 24.10 series enters a six-month wind-down period. Security updates for OpenWrt 24.10 will end in September 2026. Direct sysupgrade from 23.05 to 25.12.0 is not officially supported.



Source link