Replaced "All Users" tab with Active, Suspended, and Invited status tabs (#27036 by @robluton)
Added Save as New File option to image editor (#27084 by @JamesW1)
@directus/api
Added a new /ai/object endpoint to generate structured objects for autocomplete and other inline experiences (#26862 by @bryantgillespie)
@directus/composables
Eliminated redundant count requests in the useItems composable (#26906 by @okxint)
π Bug Fixes & Optimizations
@directus/app
Fixed export failing on collections with virtual fields like $thumbnail by excluding them from export defaults and the field picker (#27073 by @om-singh-D)
Added customizing of cache keys for flow endpoints. (#26935 by @costajohnt)
Create SQL export option for wrapping DML commands in a BEGIN/COMMIT transaction - (5560454)
Display approximate row count of tables in database tab on MS SQL - (146044f)
Support full table status option in SQLite, showing "Rows" from COUNT(*) for each table - (422935a)
Add security policy for supported versions and reporting - (7ce4a23)
Prefer KILL QUERY over KILL on MySQL and MariaDB, when using the "Kill process" menu item in Host > processlist - (b3743d8)
New attempt to leave the main window invisible behind the session manager - (be5322c)
Show virtual, stored and hidden columns in SQLite - (0a87a73)
π Enhancements
Move color scheme submenu from Tools to Display menu - (f7f90e8)
Export tables which are hidden through the table filter - (42e5277)
π Bug Fixes
Crash on macOS, due to running Connection.ShowWarnings directly in the TQueryThread - (d62807a)
Less aggressive debug compile mode, made the app unresponsive when trying to close - (8d48099)
Two more exception causes found in uploaded reports - (e33ea1d)
Sporadic "no database selected" when updating grid header with row details - (c9eb765)
Wrong use of Copy(), which is one-based not zero-based, and remove translated appendix to snipped log message which may use critical chars and confuse SynEdit - (e3fc3f5)
Various crash causes, reported in uploaded bug reports - (6215d19)
Missing required package LazControls for TSpinEditEx - (519a84a)
Remove default keystrokes from query editor: 2x ecRedo and 1x ecDeleteLine - (2bc9d78)
Wrong SQL on MS SQL when renaming table per table editor - (a763fd1)
Use default brew path to sshpass on macOS - (b7c3d07)
Status bar text gets written into the panel right besides the current one, on Linux/macOS - (dfb86d5)
Several crash causes Host subtabs when connection is lost externally - (1029657)
Non stored global setting for "sort alphabetically" checkbox in column selection - (0ccb1ac)
High CPU load and unresponsiveness through SynEdit highlighter when starting to edit large text in popup editor - (676fcd7)
Crash when enabling TShellListView.MultiSelect in OnFormShow, now sets options per setter method, before FormShow - (2acce35)
Crash on right-click in empty area of query result grid - (6309305)
Data grid context menu not opening after click in empty area - (10fc117)
Repaint columns list after move up/down a column - (6a0cbe3)
Out-of-memory error in call to sqlite3_open() on a non-existent SQLite database file - (e93924f)
Font bold + italic setting not stored in settings - (cc5b811)
Potentially crashing typecast in LoadRecentFilter - (da07591)
Initial FK names assigned in TfrmTableEditor.listForeignKeysNewText() were lacking the referencing table's table name in case the referencing table was not created yet (pr from Jochen Neubeck) - (d8cd61c)
Wrong schema queries in SQLite, always shows columns and indexes of first database file - (7072986)
BIT values in MS SQL grid queries prefixed with MySQL b'' style - (7456c38)
Random crash in dodgy typecast TEdit/TEditButton - (37add0f)
Crash when moving added column to very bottom - (b739799)
Load any foreign keys, anyway if the user owns them, on PostgreSQL - (dbab4cb)
Wrong captions on quick filter actions shown in preferences > shortcuts - (3e0bf91)
Crash in OpenTextFile, for a 0-bytes file - override the encoding to one without BOM - (27e26a6)
Keep column default value in table editor, when user changes its datatype to one in the same category as before (int => bigint) - (3c518ad)
Trim away spaces around name of routine parameter silently - (b681ebf)
Re-enable dropping sql files on main form - (314db47)
Missing translations, and rephrase the "themes not supported" text - (7dfad02)
TDBQuery.TableName always returned an empty string on MS SQL - (520a90c)
TDBQuery.Col() crashes with "Column not available" on certain locales - (a01acd1)
Reset DesignTimePPI in all forms from 120 to the default 96, let the IDE scale controls down and move or add some defaults like LCLVersion. - (e635ae5)
Allow $$ as delimiter again on non-PostgreSQL connections, and ` on non-MySQL connections - (71bb25b)
π Refactor
Migration from Array[TSQLSpecifityId] to TSqlProvider - (31ba8bf)
Make grid-highlight-same-text-color part of the predefined color schemes - (7854157)
Switch color scheme from Tools main menu - (c8c3b23)
Introduce global AppColorSchemes for managing SQL and grid colors, and sync both with the app's dark mode (still only on Windows) - (d313a59)
Sync active line color and brace highlight with the app's dark or light mode - (3510728)
Auto-switch to dark or light SQL colors in sync with the app's dark mode - (8a08e77)
Support dark mode, using MetaDarkStyle from OPM, and provide the 3 known custom settings: automatic, light and dark - (3f9e867)
Re-enable dropping files from file manager to "insert files to BLOB" dialog - (23fc9c0)
Upgrade DPI awareness to Per-Monitor v2, add TMainForm.FormChangeBounds as a replacement for the missing OnAfter/OnBeforeMonitorDpiChanged events - (9eab28e)
Re-enable menu item on list header context menu: "Toggle visibility of all columns" - (41169f7)
Support European umlauts/accents as \w (word char) in some regular expression areas - (304cd26)
Auto-uppercase keywords, data types and functions - (62cda84)
Recreate previous state of trigger after realizing the user edited code has errors - (e7e5e11)
Create a TSynEditMarkup descendant and use it for highlighting selected text occurrences - (8a667f2)
Create custom setting so the user may define a terminal app himself, and auto-detect terminal app if the setting is yet empty - (613e207)
Enable InnoSetup script for creating Windows installer - (317edcd)
Re-enable codepage => charset mapping using GetACP from DelphiCompat unit - (79e4654)
Re-enable ValidFilename function with platform specific lists of disallowed characters - (f3a0594)
Re-enable support for hyperlinks in message dialogues, and use TTaskDialog again for simple messages on Windows - (15eb52b)
Support portable mode with a portable.lock file in the app folder - (c528c5d)
ERangeError when editing text grid values which allow more than 2^31 chars, e.g. LONGTEXT - (42b5d52)
Set default value for ThemeIsDark for cases where AppleInterfaceStyle does not exist (= light mode) - (26ca75e)
Reload color scheme after auto-apply, reintroduce ThemeIsDark with a detection for Windows and macOS, use MetaDarkStyle units only on Windows - (b4afc3a)
Invalid typecast in List.Add(BaseForm.Components[i]), when running debug builds - (38faf57)
Wrong length of text detected (always 0) - (930a815)
Crash in data grid when switching to an empty table on ArchLinux - (e9b6835)
Next attempt to fix ERangeError crash in TBaseVirtualTree.UpdateVerticalRange - (c8e8bed)
Wrong ModalResult on "Replace all" button - (2367ac6)
Feature: [#23465] Change plugin JavaScript engine from Duktape to QuickJS-NG, allowing ES6+ features to be used in plugins.
Feature: [#26178] Port of the Spinning Cars from RollerCoaster Tycoon 1.
Improved: [#25314] Add unbanked and banked quarter helices to the Alpine, Corkscrew, Giga, Hybrid, Looping, Mine Ride, Mini, Multi-Dimension, Single Rail, Stand Up, Steeplechase and Twister tracks.
Improved: [#26044] Simplify Android installation by bundling OpenRCT2 assets in APK.
Improved: [#26293] Objects extracted from saves now have more information in their filenames.
Improved: [objects#432] Allow saving scenery from RCT1 with track designs.
Change: [#25962] The station style dropdown now shows entrance icons next to the labels for easier selection.
Change: [#26175] The ride colour tab is made more compact by collapsing unavailable sections instead of only hiding them.
Change: [#26178] Symmetric spinning trains and legacy βpre-reversedβ trains can no longer be reversed.
Fix: [#10616] Quarter-tile trees cannot be placed on dry portions of half-water tiles.
Fix: [#25128] Mute button displayed in wrong state after load.
Fix: [#25460] Infinite loop when moving track design ghost queue over queue loop with zero clearances.
Fix: [#25735] Ride synchronisation z-check works incorrectly.
UpSnap is, and always will be, free and open source software.
If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.
The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.
Added keyboard navigation to the cards layout (#26976 by @HZooly)
Added native Tabs group interface. Uninstall the extension if currently using it to avoid unintended side effects. (#26836 by @bryantgillespie)
Added bulk folder deletion from the files grid with move-up or delete-all options (#26886 by @HZooly)
Used shorter tooltip delay for disabled elements (#26965 by @HZooly)
@directus/utils
Added parseNow utility to resolve the $NOW dynamic variable (#26954 by @costajohnt)
π Bug Fixes & Optimizations
@directus/app
Fixed calendar picker crash when using dynamic variables (e.g. $NOW) (#26954 by @costajohnt)
Updated relationship_not_setup wording to clarify it may also result from missing permissions (#26918 by @Ikromjon1998)
Restored useItem support for custom query options like fields and deep by adding an optional extra query parameter and updating affected call sites. (#26985 by @LZylstra)
Fixed calendar picker crash when using dynamic variables (e.g. $NOW) (#26954 by @costajohnt)
@directus/schema
Fixed MySQL foreignKeys query to include TABLE_NAME in the JOIN condition, preventing a cartesian product when InnoDB statistics on system tables are degraded. (#26964 by @HattoriEnzo)
@directus/sdk
Fixed filter operator typing for date and time fields to support comparison and range operators. (#26957 by @costajohnt)
Main changes between OpenWrt 25.12.1 and OpenWrt 25.12.2
Only the main changes are listed below. See the full changelog for details.
Device support
airoha: rename kernel module kmod-pwm-an7581 to kmod-pwm-airoha β users with this module explicitly installed need to reinstall under the new name
apm821xx: fix U-Boot environment definitions for NETGEAR WNDR4700, Western Digital MyBookLive, Meraki MR24 and Meraki MX60; fix PCIe boot failure on Meraki MX60
ath79: fix initramfs boot for Huawei AP5030DN and AP6010DN
ath79: fix VLAN CPU port tagging on 2-CPU-port devices (affects several dual-CPU switch configurations)
ath79: remove incorrectly included WiFi packages from Mikrotik RB750r2 (device has no WiFi hardware)
ipq40xx: fix ART partition name for Linksys Velop WHW03 V1 β restores correct WiFi calibration data access
ipq40xx: fix MAC address reading for Linksys devices using eMMC-based NVMEM
lantiq: xrx200: fix failsafe mode on BT HomeHub 5A β LAN ports 1 & 2 now work correctly in failsafe (#22480)
mediatek: Bananapi BPI-R4: fix SFP+ electric module support β modules that stopped working after a snapshot upgrade are now functional again (#19878)
ramips: fix kernel decompress error that bricked ELECOM WRC-X1800GS on 25.12.0 (#22270)
ramips: fix initramfs kernel load address for TP-Link EAP615-Wall v1
ramips: fix MAC address assignment for Xiaomi Mi AC2100
realtek: fix D-Link fan control script
WiFi fixes and improvements
wifi-scripts: fix 160 MHz channel width configuration β hostapd was not correctly configured for 160 MHz, preventing its use (#22481)
wifi-scripts: fix SU beamformee antenna count β incorrect count was passed to the driver
hostapd: fix memory leak in Radio Resource Management (RRM) ubus interface
mac80211: ath12k: add thermal sensor support for QCA/IPQ devices
mac80211: ath9k: fix GPIO mask handling from device tree
mt76: fix severe WiFi latency regression (up to multiple seconds) on 2.4 GHz introduced in 25.12.1 β affected many MediaTek devices including OpenWrt One, Zyxel EX5601, ASUS RT-AX53U, Xiaomi AX3000T/AX6000, Cudy WR3000/X6, GL Flint 2 and others (#22491)
mt76: multiple further stability fixes for MediaTek WiFi chipsets (MT7615/MT7915/MT7996/MT7992/MT792x):
add per-link beacon monitoring for MLO (Multi-Link Operation)
fix MT7996/MT7992 link handling during MLO station add/remove
fix scan work requeue race with spinlock
Upgrading to 25.12.2
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.
For upgrades within the OpenWrt 25.12 stable series, Attended Sysupgrade is also supported, which allows preserving the installed packages.
Sysupgrade from 23.05 or earlier to 25.12 is not officially supported.
Cron log level was fixed in busybox. system.@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. fc0c518
Bananapi BPI-R4: Interface 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. cd8dcfe
TP-Link RE355 v1, RE450 v1 and RE450 v2: The partition layout and block size changed in this release to fix configuration loss on sysupgrade. Users upgrading from OpenWrt 25.12.0 or earlier must use sysupgrade -F to force the upgrade. The image must not exceed 5.875 MB (6016 KiB).
Meraki MX60: Direct sysupgrade to 25.12.2 is not possible without manual preparation β meraki_loadaddr must be changed before upgrading, as the default value is insufficient to boot OpenWrt 25.12+. See the device wiki page for instructions.
Known issues
Zyxel EX5601-T0: the WAN interface was renamed from eth1 to wan β check and update your network configuration after upgrading.
Pixel 10 phones have problems connecting to WPA3-protected WiFi 6 APs. #21486
802.11r Fast Transition (FT) causes connection problems with some WiFi clients when WPA3 is used. #22200
SQM CAKE MQ (cake_mq): throughput may be unexpectedly low on some configurations after the scheduler fixes in this release. #22344
Added support for importing data in the background (#26914)
Imports now automatically time out after 1 hour, with a maximum of 20 running concurrently. These limits can be configured via IMPORT_TIMEOUT and IMPORT_MAX_CONCURRENCY, respectively.
Improved build times using tsdownβs oxc-transform (#26604)
Exports previously available from @directus/types/collab are now exported directly from @directus/types
Shrunk app UI to 90% and converted all px to rem (16px browser default) (#26826)
Potential breaking change: The app UI has been shrunk to 90% of its previous size. Extensions that rely on hardcoded px values or the old 14px root font-size may render incorrectly β all app sizing now uses rem based on the 16px browser default.
@directus/api
Added support for importing data in the background (#26914 by @Nitwel)
@directus/types
Improved build times using tsdownβs oxc-transform (#26604 by @Nitwel)
@directus/specs
Updated fast-xml-parser, qs, minimatch, tar, undici, vue-split-panel and flatted dependencies (#26951 by @br41nslug)
β¨ New Features & Improvements
@directus/app
Added support for importing data in the background (#26914 by @Nitwel)
Added utility endpoint and UI to generate translations collections and fields. (#26742 by @bryantgillespie)
Added deployment provider link on the run detail page, opening deployments directly in Vercel or Netlify dashboards. (#26888 by @LZylstra)
Shrunk app UI to 90% and converted all px to rem (16px browser default) (#26826 by @formfcw)
@directus/api
Added tool search tool for Anthropic AI provider to reduce context usage (#26864 by @bryantgillespie)
Added support for setting the secure attribute on OpenID/OAuth2 cookies via the AUTH_<PROVIDER>_COOKIE_SECURE environment variable (#26628 by @dstockton)
Updated FilesService.uploadOne to support an optional storage parameter (#26882 by @gaetansenn)
Added AI SDK Devtools middleware support for debugging AI Assistant in development only. Added AI telemetry provider (#26678 by @bryantgillespie)
config for Braintrust and Langfuse, enabling sending traces for observability, usage, and token costs.
Added utility endpoint and UI to generate translations collections and fields. (#26742 by @bryantgillespie)
Added support for Redis namespace control (#26943 by @dstockton)
@directus/errors
Added support for importing data in the background (#26914 by @Nitwel)
@directus/env
Added support for importing data in the background (#26914 by @Nitwel)
Added support for Redis namespace control (#26943 by @dstockton)
@directus/system-data
Added utility endpoint and UI to generate translations collections and fields. (#26742 by @bryantgillespie)
@directus/constants
Added utility endpoint and UI to generate translations collections and fields. (#26742 by @bryantgillespie)
@directus/extensions-sdk
Shrunk app UI to 90% and converted all px to rem (16px browser default) (#26826 by @formfcw)
@directus/themes
Shrunk app UI to 90% and converted all px to rem (16px browser default) (#26826 by @formfcw)
Updated @directus/tsconfig dependency from 3.0.0 to 4.0.0 (#26879 by @AlexGaillard)
Added support for setting the secure attribute on OpenID/OAuth2 cookies via the AUTH_<PROVIDER>_COOKIE_SECURE environment variable (#26628 by @dstockton)
Added AI SDK Devtools middleware support for debugging AI Assistant in development only. Added AI telemetry provider (#26678 by @bryantgillespie)
config for Braintrust and Langfuse, enabling sending traces for observability, usage, and token costs.
Added cross origin opener policy settings (#26947 by @br41nslug)
@directus/ai
Updated @directus/tsconfig dependency from 3.0.0 to 4.0.0 (#26879 by @AlexGaillard)
@directus/composables
Updated @directus/tsconfig dependency from 3.0.0 to 4.0.0 (#26879 by @AlexGaillard)
@directus/constants
Updated @directus/tsconfig dependency from 3.0.0 to 4.0.0 (#26879 by @AlexGaillard)
@directus/errors
Updated @directus/tsconfig dependency from 3.0.0 to 4.0.0 (#26879 by @AlexGaillard)
@directus/extensions
Updated @directus/tsconfig dependency from 3.0.0 to 4.0.0 (#26879 by @AlexGaillard)
@directus/extensions-registry
Updated @directus/tsconfig dependency from 3.0.0 to 4.0.0 (#26879 by @AlexGaillard)
@directus/extensions-sdk
Updated @directus/tsconfig dependency from 3.0.0 to 4.0.0 (#26879 by @AlexGaillard)
UpSnap is, and always will be, free and open source software.
If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.
The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.
UpSnap is, and always will be, free and open source software.
If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.
The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.
Changelog
Bug fixes
105ae4f: fix: static page reload fails, use search param device id, close #1711 (@seriousm4x)
UpSnap is, and always will be, free and open source software.
If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.
The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.
UpSnap is, and always will be, free and open source software.
If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.
The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.
wireless-regdb: update from 2025.10.07 to 2026.02.04
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 24.10
Sysupgrade can be used to upgrade a device from 23.05 to 24.10, and configuration will be preserved in most cases.
For for upgrades inside the OpenWrt 24.10 stable series for example from a OpenWrt 24.10 release candidate Attended Sysupgrade is supported in addition which allows preserving the installed packages too.
Sysupgrade from 22.03 to 24.10 is not officially supported.
There is no configuration migration path for users of the ipq806x target for Qualcomm Atheros IPQ806X SoCs because it switched to DSA. You have to upgrade without saving the configuration.
''Image version mismatch. image 1.1 device 1.0 Please wipe config during upgrade (force required) or reinstall. Config cannot be migrated from swconfig to DSA Image check failed''
User of the Linksys E8450 aka. Belkin RT3200 running OpenWrt 23.05 or earlier will need to run installer version v1.1.3 or later in order to reorganize the UBI layout for the 24.10 release. A detailed description is in the OpenWrt wiki. Updating without using the installer will break the device. Sysupgrade will show a warning before doing an incompatible upgrade.
Users of the Xiaomi AX3200 aka. Redmi AX6S running OpenWrt 23.05 or earlier have to follow a special upgrade procedure described in the wiki. This will increase the flash memory available for OpenWrt. Updating without following the guide in the wiki break the device. Sysupgrade will show a warning before doing an incompatible upgrade.
Users of Zyxel GS1900 series switches running OpenWrt 23.05 or earlier have to perform a new factory install with the initramfs image due to a changed partition layout. Sysupgrade will show a warning before doing an incompatible upgrade and is not possible. After upgrading, the config file /etc/config/system should not be restored from a backup, as this will overwrite the new compat_version value.
Known issues
LEDs for Airoha AN8855 are not yet supported. Devices like the Xiaomi AX3000T with an Airoha switch will have their switch LEDs powered off. This issue will be addressed in an upcoming OpenWrt SNAPSHOT and the OpenWrt 24.10 minor release.
5GHz WiFi is non-functional on certain devices with ath10k chipsets. Affected models include the Phicomm K2T, TP-Link Archer C60 v3 and possibly others. For details, see issue #14541.
treewide: Linksys devices: fix MAC address assignment
WiFi fixes and improvements
mac80211: fix crash triggered by Channel Switch Announcement (CSA) when AP VLAN interfaces are in use
mt76: add MT7990 firmware support (new MediaTek WiFi 7 chipset)
mt76: mt7915: fix power save mode handling
mt76: mt7921/MT7902: add MT7902e MCU and DMA layout support
mt76: mt7996/mt7992: fix crash in transmit path, fix out-of-bounds access during hardware restart, improve MLO/CSA and radar detection support
wifi-scripts: fix incorrect VHT160 capability advertisement β was incorrectly set on non-160 MHz AP configurations, degrading station upload speed (#22435)
luci-mod-network: fix XSS vulnerability in WiFi scan modal (CVE-2026-32721)
ustream-ssl (OpenSSL variant): fix use-after-free crash causing uhttpd (the LuCI web server) to crash under high load (#19349)
Networking and system fixes
firewall4: set as the preferred firewall package over the legacy firewall package
iptables: prefer the nftables-backed variants (iptables-nft, ip6tables-nft) when iptables is pulled in as a dependency
kernel: CAKE QoS scheduler fixes β avoid unnecessary synchronization overhead when running without a rate limit, fix DiffServ rate scaling
kernel: SFP: improve Huawei MA5671a module support β module is now accessible even when no fiber is connected
odhcpd: fix segfault when disabling a DHCP interface, fix DHCPv4 lease tree corruption, fix truncated field in DHCPv6 lease queries, fix DNS search list padding
ppp: fix potential memory safety issue (undefined behavior in memcpy with overlapping buffers); remove the MRU limit patch for PPPoE connections (ppp-project/ppp#573)
Package manager (apk)
apk: update to version 3.0.5 with several OpenWrt-specific bug fixes
apk: add --force-reinstall option to reinstall already-installed packages without requiring a version change
Core component updates
apk: update from 3.0.2 to 3.0.5
jsonfilter: update from 2025-10-04 to 2026-03-16 (fixes CVE-2026-30873)
libubox: update from 2026-02-13 to 2026-03-13 (ABI version stabilized for 25.12 stable series)
Linux kernel: update from 6.12.71 to 6.12.74
odhcpd: update from 2026-01-19 to 2026-03-16
omcproxy: update from 2025-10-04 to 2026-03-07
procd: update from 2026-02-20 to 2026-03-14 (fixes CVE-2026-30874)
umdns: update from 2025-10-04 to 2026-02-06 (fixes CVE-2026-30871, CVE-2026-30872)
ustream-ssl: update from 2025-10-03 to 2026-03-01
Upgrading to 25.12.1
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.
For upgrades within the OpenWrt 25.12 stable series, Attended Sysupgrade is also supported, which allows preserving the installed packages.
Sysupgrade from 23.05 or earlier to 25.12 is not officially supported.
Cron log level was fixed in busybox. system.@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. fc0c518
Bananapi BPI-R4: Interface 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. cd8dcfe
TP-Link RE355 v1, RE450 v1 and RE450 v2: The partition layout and block size changed in this release to fix configuration loss on sysupgrade. Users upgrading from OpenWrt 25.12.0 or earlier must use sysupgrade -F to force the upgrade. The image must not exceed 5.875 MB (6016 KiB).
Known issues
Zyxel EX5601-T0: the WAN interface was renamed from eth1 to wan β check and update your network configuration after upgrading.
Pixel 10 phones have problems connecting to WPA3-protected WiFi 6 APs. #21486
802.11r Fast Transition (FT) causes connection problems with some WiFi clients when WPA3 is used. #22200
SQM CAKE MQ (cake_mq): throughput may be unexpectedly low on some configurations after the scheduler fixes in this release. #22344
160 MHz channel width cannot be configured. #22481
Create SQL export option for wrapping DML commands in a BEGIN/COMMIT transaction - (5560454)
Display approximate row count of tables in database tab on MS SQL - (146044f)
Support full table status option in SQLite, showing "Rows" from COUNT(*) for each table - (422935a)
Add security policy for supported versions and reporting - (7ce4a23)
Prefer KILL QUERY over KILL on MySQL and MariaDB, when using the "Kill process" menu item in Host > processlist - (b3743d8)
New attempt to leave the main window invisible behind the session manager - (be5322c)
Show virtual, stored and hidden columns in SQLite - (0a87a73)
π Enhancements
Move color scheme submenu from Tools to Display menu - (f7f90e8)
Export tables which are hidden through the table filter - (42e5277)
π Bug Fixes
Crash on macOS, due to running Connection.ShowWarnings directly in the TQueryThread - (d62807a)
Less aggressive debug compile mode, made the app unresponsive when trying to close - (8d48099)
Two more exception causes found in uploaded reports - (e33ea1d)
Sporadic "no database selected" when updating grid header with row details - (c9eb765)
Wrong use of Copy(), which is one-based not zero-based, and remove translated appendix to snipped log message which may use critical chars and confuse SynEdit - (e3fc3f5)
Various crash causes, reported in uploaded bug reports - (6215d19)
Missing required package LazControls for TSpinEditEx - (519a84a)
Remove default keystrokes from query editor: 2x ecRedo and 1x ecDeleteLine - (2bc9d78)
Wrong SQL on MS SQL when renaming table per table editor - (a763fd1)
Use default brew path to sshpass on macOS - (b7c3d07)
Status bar text gets written into the panel right besides the current one, on Linux/macOS - (dfb86d5)
Several crash causes Host subtabs when connection is lost externally - (1029657)
Non stored global setting for "sort alphabetically" checkbox in column selection - (0ccb1ac)
High CPU load and unresponsiveness through SynEdit highlighter when starting to edit large text in popup editor - (676fcd7)
Crash when enabling TShellListView.MultiSelect in OnFormShow, now sets options per setter method, before FormShow - (2acce35)
Crash on right-click in empty area of query result grid - (6309305)
Data grid context menu not opening after click in empty area - (10fc117)
Repaint columns list after move up/down a column - (6a0cbe3)
Out-of-memory error in call to sqlite3_open() on a non-existent SQLite database file - (e93924f)
Font bold + italic setting not stored in settings - (cc5b811)
Potentially crashing typecast in LoadRecentFilter - (da07591)
Initial FK names assigned in TfrmTableEditor.listForeignKeysNewText() were lacking the referencing table's table name in case the referencing table was not created yet (pr from Jochen Neubeck) - (d8cd61c)
Wrong schema queries in SQLite, always shows columns and indexes of first database file - (7072986)
BIT values in MS SQL grid queries prefixed with MySQL b'' style - (7456c38)
Random crash in dodgy typecast TEdit/TEditButton - (37add0f)
Crash when moving added column to very bottom - (b739799)
Load any foreign keys, anyway if the user owns them, on PostgreSQL - (dbab4cb)
Wrong captions on quick filter actions shown in preferences > shortcuts - (3e0bf91)
Crash in OpenTextFile, for a 0-bytes file - override the encoding to one without BOM - (27e26a6)
Keep column default value in table editor, when user changes its datatype to one in the same category as before (int => bigint) - (3c518ad)
Trim away spaces around name of routine parameter silently - (b681ebf)
Re-enable dropping sql files on main form - (314db47)
Missing translations, and rephrase the "themes not supported" text - (7dfad02)
TDBQuery.TableName always returned an empty string on MS SQL - (520a90c)
TDBQuery.Col() crashes with "Column not available" on certain locales - (a01acd1)
Reset DesignTimePPI in all forms from 120 to the default 96, let the IDE scale controls down and move or add some defaults like LCLVersion. - (e635ae5)
Allow $$ as delimiter again on non-PostgreSQL connections, and ` on non-MySQL connections - (71bb25b)
π Refactor
Migration from Array[TSQLSpecifityId] to TSqlProvider - (31ba8bf)
Fixed an issue with the certificate used to sign Windows releases [derrod/notr1ch/Fenrirthviti/RytoEX]
Release Candidate 3 Changes
Fixed an issue in obs-websocket where some sources (inputs) could not be updated [exeldro]
Release Candidate 2 Changes
Fixed a crash if some source data was null [Penwy]
Fixed a crash in Beta 1-2 and RC1 on Windows where OBS would crash on shutdown when started minimized to the system tray [Lordmau5]
Fixed a crash in Beta 1-2 and RC1 on Linux when renaming a source from the Audio Mixer [Warchamp7]
Fixed an issue in Beta 1-2 and RC1 where some buttons in the Audio Mixer were missing when using non-default font sizes [Warchamp7]
Fixed an issue in Beta 1-2 and RC1 where the Volume Controls in the Audio Mixer could render incorrectly with certain themes [Warchamp7]
Fixed an issue in Beta 1-2 and RC1 where sources with disabled audio would still appear in the Audio Mixer [Warchamp7]
Fixed an issue in Beta 1-2 and RC1 loading media files in Browser Sources [Warchamp7]
Improved plugin manager by allowing enabling/disabling missing plugins [Warchamp7]
Added partial support for Canvases to obs-websocket [exeldro/tt2468/Warchamp7]
Release Candidate 1 Changes
Removed new Add Source dialog [Warchamp7]
The Add Source dialog was deemed not ready for this release.
Fixed an issue in Beta 2 where an Image Slideshow could have its transition interrupted [Warchamp7]
Fixed an issue in Beta 1-2 where some strings were not translated [shiina424]
Fixed an issue in Beta 1-2 where full-height docks did not have the correct default setting [Warchamp7]
Fixed an issue in Beta 1-2 where the Audio Mixer menu would not be correct [Warchamp7]
Fixed an issue in Beta 1-2 where the Audio Mixer would not show the correct monitoring state [Warchamp7]
Fixed an issue in Beta 1-2 where Previewed sources weren't shown/hidden on enabling/disabling studio mode [Penwy]
Fixed an issue in Beta 1-2 where Previewed sources weren't added/removed to the mixer when adding/removing to the previewed scene [Penwy]
Fixed an issue in Beta 1-2 where changing the Peak Meter type would not be reflected correctly in the UI [Warchamp7]
Fixed an issue in Beta 1-2 where the Audio Mixer used more resources on macOS than previously [Warchamp7]
Fixed an issue in Beta 1-2 where the Audio Mixer did not use the correct colors for muted audio sources [Warchamp7]
Fixed an issue in Beta 1-2 where the rename dialog for the Audio Mixer and Transitions would unnecessarily ask for confirmation when closing without making changes [Warchamp7]
Fixed an issue in Beta 1-2 where visibility of items in the Audio Mixer could be incorrect [Warchamp7]
Fixed an issue in Beta 1-2 where the monitoring icon in the Audio Mixer would not update correctly [shiina424]
Fixed an issue in Beta 1-2 where some icons in the Audio Mixer were missing or not styled correctly [shiina424/Warchamp7]
Fixed an issue where PipeWire Camera framerates listed could be incorrect [tytan652]
Fixed an issue where HDR video playback in Media Source could be darker than expected [xtfo]
Fixed an issue on macOS where OBS Studio could crash on application shutdown if YouTube docks were active [PatTheMav]
Beta 2 Changes
Fixed an issue in Beta 1 causing buttons in the Audio Mixer to no longer display when changing font size [Warchamp7]
Fixed an issue in Beta 1 where some tooltips were missing from the Audio Mixer [Warchamp7]
Fixed an issue in Beta 1 where the dialogs spawned from the Audio Mixer on the Classic theme would be sized incorrectly [Warchamp7]
Fixed an issue in Beta 1 where changing themes would sometimes not update the Audio Mixer appearance [Warchamp7]
Fixed an issue in Beta 1 where the resolution and aspect ratio could be missing from the Video Format description for PipeWire Camera sources [pobrn]
Fixed an issue that could cause OBS to become unable to change profiles or video settings [exeldro]
Fixed an issue that could cause transitions to become locked [Warchamp7]
32.1 New Features
Added new Audio Mixer [Warchamp7]
Added new Add Source dialog [Warchamp7]
Added WebRTC Simulcast Support [Sean-Der]
Added missing undo/redo actions for scene items [cg2121]
Scale filtering, blending mode, blending method, deinterlacing mode and deinterlacing field order
32.1 Changes
Improved security of browser sources using local files [Warchamp7]
Removed "Source" from source names [Warchamp7]
Updated the Edit Transform dialog [Warchamp7]
Changed copying a scene item to copy all properties [cg2121/Warchamp7]
Disabled dock animations [Warchamp7]
Moved transition preview button to button box [exeldro]
Rearranged default dock positions [Warchamp7]
Increased media source playback slider update rate [Warchamp7]
Enabled palette for Light theme audio mixer [Warchamp7]
Changed default bitrates to 6000 kbps [mihawk90]
32.1 Bug Fixes
Fixed an issue where projector resolutions had decimals [Warchamp7]
Fixed sync of Preview/Program size and positioning [Warchamp7]
Refactored OBSBasic::Save to only save frontend canvas scenes/groups [dsaedtler]
Fixed NAL type for HEVC caption/BPM SEIs [dsaedtler]
Fixed an issue where video scaling could be incorrect in multivideo encoder scenarios [dsaedtler]
Fixed an issue with chapter markers having incorrect time when using file splitting [garyholmes]
Fixed an issue where some recordings could have black thumbnails [derrod]
Fixed an issue where the NVIDIA Blur and Background Blur could have banding or look splotchy [pkviet]
Fixed an issue where macOS Screen Capture would select an item for capture by default [jcm93]
Fixed an issue with PipeWire when capturing a device that does not require a framerate [tytan652]
Fixed an issue in obs-websocket where some sources (inputs) could not be updated [exeldro]
Release Candidate 2 Changes
Fixed a crash if some source data was null [Penwy]
Fixed a crash in Beta 1-2 and RC1 on Windows where OBS would crash on shutdown when started minimized to the system tray [Lordmau5]
Fixed a crash in Beta 1-2 and RC1 on Linux when renaming a source from the Audio Mixer [Warchamp7]
Fixed an issue in Beta 1-2 and RC1 where some buttons in the Audio Mixer were missing when using non-default font sizes [Warchamp7]
Fixed an issue in Beta 1-2 and RC1 where the Volume Controls in the Audio Mixer could render incorrectly with certain themes [Warchamp7]
Fixed an issue in Beta 1-2 and RC1 where sources with disabled audio would still appear in the Audio Mixer [Warchamp7]
Fixed an issue in Beta 1-2 and RC1 loading media files in Browser Sources [Warchamp7]
Improved plugin manager by allowing enabling/disabling missing plugins [Warchamp7]
Added partial support for Canvases to obs-websocket [exeldro/tt2468/Warchamp7]
Release Candidate 1 Changes
Removed new Add Source dialog [Warchamp7]
The Add Source dialog was deemed not ready for this release.
Fixed an issue in Beta 2 where an Image Slideshow could have its transition interrupted [Warchamp7]
Fixed an issue in Beta 1-2 where some strings were not translated [shiina424]
Fixed an issue in Beta 1-2 where full-height docks did not have the correct default setting [Warchamp7]
Fixed an issue in Beta 1-2 where the Audio Mixer menu would not be correct [Warchamp7]
Fixed an issue in Beta 1-2 where the Audio Mixer would not show the correct monitoring state [Warchamp7]
Fixed an issue in Beta 1-2 where Previewed sources weren't shown/hidden on enabling/disabling studio mode [Penwy]
Fixed an issue in Beta 1-2 where Previewed sources weren't added/removed to the mixer when adding/removing to the previewed scene [Penwy]
Fixed an issue in Beta 1-2 where changing the Peak Meter type would not be reflected correctly in the UI [Warchamp7]
Fixed an issue in Beta 1-2 where the Audio Mixer used more resources on macOS than previously [Warchamp7]
Fixed an issue in Beta 1-2 where the Audio Mixer did not use the correct colors for muted audio sources [Warchamp7]
Fixed an issue in Beta 1-2 where the rename dialog for the Audio Mixer and Transitions would unnecessarily ask for confirmation when closing without making changes [Warchamp7]
Fixed an issue in Beta 1-2 where visibility of items in the Audio Mixer could be incorrect [Warchamp7]
Fixed an issue in Beta 1-2 where the monitoring icon in the Audio Mixer would not update correctly [shiina424]
Fixed an issue in Beta 1-2 where some icons in the Audio Mixer were missing or not styled correctly [shiina424/Warchamp7]
Fixed an issue where PipeWire Camera framerates listed could be incorrect [tytan652]
Fixed an issue where HDR video playback in Media Source could be darker than expected [xtfo]
Fixed an issue on macOS where OBS Studio could crash on application shutdown if YouTube docks were active [PatTheMav]
Beta 2 Changes
Fixed an issue in Beta 1 causing buttons in the Audio Mixer to no longer display when changing font size [Warchamp7]
Fixed an issue in Beta 1 where some tooltips were missing from the Audio Mixer [Warchamp7]
Fixed an issue in Beta 1 where the dialogs spawned from the Audio Mixer on the Classic theme would be sized incorrectly [Warchamp7]
Fixed an issue in Beta 1 where changing themes would sometimes not update the Audio Mixer appearance [Warchamp7]
Fixed an issue in Beta 1 where the resolution and aspect ratio could be missing from the Video Format description for PipeWire Camera sources [pobrn]
Fixed an issue that could cause OBS to become unable to change profiles or video settings [exeldro]
Fixed an issue that could cause transitions to become locked [Warchamp7]
32.1 New Features
Added new Audio Mixer [Warchamp7]
Added new Add Source dialog [Warchamp7]
Added WebRTC Simulcast Support [Sean-Der]
Added missing undo/redo actions for scene items [cg2121]
Scale filtering, blending mode, blending method, deinterlacing mode and deinterlacing field order
32.1 Changes
Improved security of browser sources using local files [Warchamp7]
Removed "Source" from source names [Warchamp7]
Updated the Edit Transform dialog [Warchamp7]
Changed copying a scene item to copy all properties [cg2121/Warchamp7]
Disabled dock animations [Warchamp7]
Moved transition preview button to button box [exeldro]
Rearranged default dock positions [Warchamp7]
Increased media source playback slider update rate [Warchamp7]
Enabled palette for Light theme audio mixer [Warchamp7]
Changed default bitrates to 6000 kbps [mihawk90]
32.1 Bug Fixes
Fixed an issue where projector resolutions had decimals [Warchamp7]
Fixed sync of Preview/Program size and positioning [Warchamp7]
Refactored OBSBasic::Save to only save frontend canvas scenes/groups [dsaedtler]
Fixed NAL type for HEVC caption/BPM SEIs [dsaedtler]
Fixed an issue where video scaling could be incorrect in multivideo encoder scenarios [dsaedtler]
Fixed an issue with chapter markers having incorrect time when using file splitting [garyholmes]
Fixed an issue where some recordings could have black thumbnails [derrod]
Fixed an issue where the NVIDIA Blur and Background Blur could have banding or look splotchy [pkviet]
Fixed an issue where macOS Screen Capture would select an item for capture by default [jcm93]
Fixed an issue with PipeWire when capturing a device that does not require a framerate [tytan652]
Added support for a global draft version that is automatically available for all items when versioning is enabled (#26772)
Backward Compatibility: If you have an existing version with the key draft and a custom name other than βDraftβ, the display name will be standardized to βDraftβ (i.e. transformed) to support the new global versioning feature. The version content and functionality remain unchanged.
Added field permission and version access checks to Visual Editor (#26772)
The field access checks require an update of the @directus/visual-editing library to v2.0.0.
Fixed password reset sending emails to external auth provider users (#26627) requestPasswordReset now throws a Forbidden error for external auth provider users.
β¨ New Features & Improvements
@directus/app
Added support for a global draft version that is automatically available for all items when versioning is enabled (#26772 by @formfcw)
Persisted table column widths to localStorage (#26767 by @HZooly)
Added field permission and version access checks to Visual Editor (#26772 by @formfcw)
Added image and PDF upload support to Directus AI Assistant with a provider adapter pattern for 3 major providers (#26722 by @bryantgillespie)
(OpenAI, Anthropic, Gemini).
Added version support for visual editing in live preview (#26772 by @formfcw)
Supported provider webhooks for deployment real-time updates (#26683 by @gaetansenn)
Added version support to Visual Editor (#26772 by @formfcw)
Added lower_case_table_names support for mysql (#26736 by @licitdev)
Added image and PDF upload support to Directus AI Assistant with a provider adapter pattern for 3 major providers (#26722 by @bryantgillespie)
(OpenAI, Anthropic, Gemini).
Supported provider webhooks for deployment real-time updates (#26683 by @gaetansenn)
Supported provider webhooks for deployment real-time updates (#26683 by @gaetansenn)
@directus/ai
Added image and PDF upload support to Directus AI Assistant with a provider adapter pattern for 3 major providers (#26722 by @bryantgillespie)
(OpenAI, Anthropic, Gemini).
@directus/utils
Added image and PDF upload support to Directus AI Assistant with a provider adapter pattern for 3 major providers (#26722 by @bryantgillespie)
(OpenAI, Anthropic, Gemini).
Fixed v-select group click handler to respect item-level selectable property (#26650 by @alvarosabu)
Fixed license modal is not responsive on mobile screens (#26758 by @powerseed)
Fixed unsaved changes dialog showing collaborative variant when not in a collaborative session (#26713 by @formfcw)
Updated vue-split-panel dependency (#26709 by @HZooly)
Fixed datetime picker not closing after selecting a date (#26719 by @alvarosabu)
Added some missing translation keys for directus_settings and directus_roles. (#26744 by @powerseed)
Upgraded reka-ui to 2.8.2 for timefield two-digit hour fix (#26724 by @alvarosabu)
Fixed password reset sending emails to external auth provider users (#26627 by @dstockton)
Enabled βNavigate to Itemβ button for non-editable relational fields (#26711 by @HZooly)
Fixed auto-refresh on mobile by preserving sidebar state via Teleport (#26731 by @HZooly)
Fixed an issue where duplicated fields kept validation rules referencing the original field name. (#26602 by @vizzv)
Fixed drawer not scrolling to top when validation errors occur (#26741 by @robluton)
Fixed reset confirm state after flow error (#26803 by @HZooly)
Fixed performance degradation when editing forms with large GeoJSON geometry fields by using selective shallow cloning for geometry values. (#26560 by @alvarosabu)
Fixed extra tab stop in AI assistant header caused by a focusable VIcon inside VButton. (#26796 by @Mugesh13102001)
Guarded nav-bar and sidebar size stores against non-finite values (#26695 by @HZooly)
Added lower_case_table_names support for mysql (#26736 by @licitdev)
Prevented encrypted field decryption failures from crashing settings reads when the SECRET has changed. Fields that can't be decrypted now return null and log a warning instead of throwing. (#26764 by @bryantgillespie)
@directus/specs
Fixed password reset sending emails to external auth provider users (#26627 by @dstockton)
:::notice requestPasswordReset now throws a Forbidden error for external auth provider users.
:::
@directus/env
Increased the default QUERYSTRING_ARRAY_LIMIT from 100 to 500 (#26737 by @AlexGaillard)
@directus/utils
Replaced ip-matching dependency with node blocklist (#26806 by @br41nslug)
@directus/sdk
Updated ReadProviderOutput type to include the label field (#26645 by @kheiner)
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 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 is available to ease the transition and map common workflows.
Integration of attended sysupgrade
The 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 over time.
Integration of video feed
The OpenWrt video feed 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.@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 or from the Firmware Selector 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 - 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 - 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 - 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:
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 and ask away.
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 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. #21486
802.11r Fast Transition (FT) causes problems with some WiFi clients when WPA3 is used. #22200
Improved: [#24912] Staff now use an appropriate standing animation while waiting at level crossings.
Improved: [#25515] Path dragging can now be disabled via multiplayer group permissions.
Improved: [#25529] The map selection grid no longer redraws every frame if it has not changed.
Improved: [#25530] Wall dragging can now be cancelled without closing the Scenery window.
Improved: [#25575] Updated the network protocol to a new format that supports larger packets, allowing clients to connect reliably to servers with many objects or large maps.
Improved: [#25621] Added the Polish ZΕoty (PLN) to the list of available currencies.
Improved: [#25625] Renewing and refurbishing rides now also resets the downtime.
Improved: [#25662] The sprite build command is faster when building sprites from the same image file.
Change: [#21912] Toilet income is now categorised as shop sales instead of ride tickets.
Change: [#25403] Guests will not slide down the Spiral Slide if it's broken, even if they have already entered the ride structure.
Change: [#25485] Make the enlarged pressed swatch sprite more pronounced.
Change: [#25544] The default game window size is now 1280Γ720px instead of 640Γ480px.
Fix: [#9895] Stand-up coaster gets wrong intensity boost from the synchronisation bonus.
Fix: [#11617] Path corner connections are broken when hovering track design ghosts with paths over them in zero clearances.
Fix: [#22484] Lingering ghost entrance after placing park entrance.
Fix: [#24952] Duplicate track designs when running via Steam without having RCT1 linked.
Fix: [#25187] On-ride photo platform does not render as ghost when placing track design.
Fix: [#25229] Excessive logging of game actions, reduced to top-level game actions and filters ghost related ones.
Fix: [#25469] Drawing in the ui.imageManager.draw callback causes an assertion.
Fix: [#25524] The track construction arrow does not immediately change position when deleting track pieces.
Fix: [#25552] Clear Scenery does not show an error message about insufficient money if cash is negative.
Fix: [#25565] Chairlift station ends are missing tunnels at certain rotations.
Fix: [#25569] Placing park entrances in multiplayer does not show for other players, causing desyncs.
Fix: [#25571] Potential crash due to drawing a Crooked House ride.
Fix: [#25588] When the master server becomes unreachable the server would not register again until a restart.
Fix: [#25592] Log flume, river rapids, & splash boats can get control failure breakdown instead of brakes failure.
Fix: [#25595] Invisible entrance is added to imported SV4 saves.
Fix: [#25601] Inspection interval of a ride gets reset when opening the construction window.
Fix: [#25628] Availability of AVX2 and SSE4.1 is not detected correctly.
Fix: [#25639] Scenery window crashes when a no longer present object is still selected.
Fix: [#25641] Desync because of mismatching inspection intervals.
Fix: [#25642] The selection marker for purchasing land rights is not drawn with the correct colours.
Fix: [#25646] It is possible to remove scenery and paths when setting staff patrol areas and purchasing land.
Fix: [#25660] After saving a track design with scenery, that rideβs entrances and exits are visible in βHighlight path issuesβ mode.
Fix: [#25717] Umbrellas given to guests by means of cheats do not use the full (extended) range of colours.