After a year of development, a significant release of the OpenWrt 25.12.0 distribution has been introduced, intended for networking devices such as routers, switches, and access points. OpenWrt supports over 2200 devices and offers a build system that simplifies cross-compilation and the creation of custom builds. Such builds allow the creation of ready-made firmware with the desired set of pre-installed packages, optimized for specific tasks. Ready-made builds have been published for 41 target platforms (in the previous branch, 39 platforms were supported).
Key changes in OpenWrt 25.12:
- The transition from the opkg toolkit to the APK (Alpine Package Keeper) package manager, developed by the Alpine project, has been made. This transition expanded package management capabilities, improved metadata processing efficiency, enabled digital signature verification for locally installed packages, and modernized the process of upgrading the entire system to a new version of the distribution. APK supports most of the capabilities of opkg, but the command-line parameters of these package managers differ.
Among the advanced features of APK, the following stands out: The command 'apk list --installed --orphaned', which allows you to view all unused dependencies that can be safely removed without harming the system. The ability to eliminate the need for a separate index update command—opkg operations that required running different commands—can be consolidated into one command in apk; for instance, instead of 'opkg update && opkg install dnsmasq-full', you can run 'apk --update-cache add dnsmasq-full'.
Comparison of some apk and opkg commands for performing typical actions:
apk update opkg update apk add pkg opkg install pkg apk del pkg opkg remove pkg apk list opkg list apk list P opkg list P apk list --installed [P] opkg list-installed apk list --upgradeable [P] opkg list-upgradable apk list --providers [P] opkg -A whatprovides P apk info P opkg info P apk info --all P no equivalent apk info --contents P opkg files P - The ASU (Attended SysUpgrade) service is enabled by default, allowing users to upgrade the firmware to a new version of the system without losing existing settings and installed user packages. Through the LuCI web interface or command-line toolkit, users can submit a request to generate an updated firmware image, specifying the packages installed in their system. After a while, server ASU creates an image that corresponds to the requested content, after which the user downloads it and flashes it onto their device. An additional option is provided to retain existing settings in the updated firmware.
- The command line operation history is preserved between sessions. The operation history is stored in a RAM disk and is not lost after re-login. Storing history in RAM avoids unnecessary write operations on Flash drives, but as an option, you can enable history storage on a permanent medium by editing the script '/etc/profile.d/busybox-history-file.sh'.
- The basic package includes a repository containing Qt5, GTK, SDL3, wlroots, wayland, and other libraries for creating graphical interfaces and running graphical applications.
- Shell scripts for working with Wi-Fi and managing network configurations have been rewritten in uCode, which has a syntax similar to JavaScript. uCode is noted for being a safer and more efficient language, simplifying maintenance and enabling direct integration with ubus and UCI.
- Support for over 180 new devices has been added. The total number of supported devices has exceeded 2200.
- For devices with Realtek chipsets, support for Ethernet switches has been expanded, including 10-gigabit options.
- Support for SoC ipq50xx and ipq60xx has been added to the qualcommax platform.
- A new siflower platform has been added for SoC Siflower SF21A6826/SF21H8898.
- Platforms sunxi/arm926ejs and microchipsw/lan969x have been added for SoC Allwinner F1C100/200s and Microchip LAN969x switches.
- Package versions have been updated, including musl 1.2.5, glibc 2.41, gcc 14.3.0, binutils 2.44, dnsmasq 2.91, dropbear 2025.89, and busybox 1.37.0.
- The Linux kernel has been updated to version 6.12.71 with the cfg80211/mac80211 wireless stack, ported from kernel 6.18.7 (the previous branch shipped with kernel 6.6 with the wireless stack from kernel 6.12).
Source: opennet.ru
