Before an upgrade:
- Remember to make backup/export files before an upgrade and save them on another storage device;
- Make sure the device will not lose power during upgrade process;
- Device has enough free storage space for all RouterOS packages to be downloaded.
What's new in 7.22beta5 (2026-Jan-21 11:17):
- app - added support for custom apps;
- app - allow configuring bridge port pvid for app;
- app - calibre-web app auto add db if none exists;
- app - fixed fossil app login typo;
- app - show app URL only when it is running;
- app - show DNS URL for app only if it has a reverse-proxy;
- bridge - added RA guard feature (additional fixes);
- bridge - fixed dynamic switch-cpu VLAN creation (introduced in v7.22beta1);
- chr - improved fast-path stability when using vmxnet3 driver;
- console - added timestamp support to print follow/follow-only (additional fixes);
- container - fixed issue where containers may not start with large mounts;
- container - fixed nftables/iptables not working with "Message too long" error;
- container - made container mounts writable by the user;
- container - use the user-defined envs and envlist for container shell command;
- defconf - added single port MGMT bridge on CCR/RDS for easier /app configuration;
- dhcpv6-relay - fixed link-layer address inconsistency with the original link-layer address in relay-forward packets;
- disk - added support for file-based swap space;
- fetch - added HTTP/2 support on ARM64 and x86/CHR devices (additional fixes);
- ip - added reverse-proxy support (additional fixes);
- ippool6 - allow creating sub-pool by specifying "from-pool";
- lte - added roaming barring field to LTE "show-capabilities" menu;
- lte - fixed "allow-roaming" setting to return error for modems that do not support roaming barring;
- lte - fixed cases where AT dialer could get stuck in "modem not ready" state;
- lte - fixed cases where incorrect network modes and bands could be suggested for active interface;
- lte - fixed modem recovery after unexpected modem reboot for Chateau 5G and Chateau 5G R16 (introduced in v7.22beta1);
- lte - strip modem reported padding characters for SIM card (ICCID) on Chateau ax R17;
- radius - fixed initialization of incoming UDP socket in some situations;
- radius - fixed RadSec SSL CPU usage increase on closed connections;
- radius - improved logging;
- routerboot - allow installing ARM64 on L009 device ("/system routerboard upgrade" required; configure "/system/routerboard/settings set preferred-architecture=arm64 boot-device=try-ethernet-once-then-nand"; start Netinstall with ARM64 image and reboot the device (DO NOT load the backup routerboot with reset button); downgrading to older versions must be avoided) (additional fixes);
- sfp - improved initialization and linking for some QSFP modules (additional fixes);
- snmp - fixed handling of the script "dont-require-permissions" parameter when executing scripts using MIKROTIK-MIB::mtxrScriptRunOutput;
- snmp - fixed permission error reporting when executing scripts using MIKROTIK-MIB::mtxrScriptRunOutput (introduced in v7.21);
- snmp - fixed script "run-count" update after execution;
- switch - fixed switch type for hAP ax lite devices (introduced in v7.22beta1);
- webfig - added missing icons for Firewall table;
- wifi - improved support for 802.11be access points (additional fixes);
- wifi - updated regulatory information for Malaysia;
- wifi-mediatek - fixed malformed information elements in beacons (introduced in v7.22beta1);
- wifi-mediatek - updated driver and firmware;
- winbox - added Container Repull command;
- winbox - added SwOS Allow From field;
- winbox - move "Default" panel from "IPv6/ND/Proxy" to "IPv6/ND/Prefixes";
- winbox - show separator after "Protocol" field for IPv6 Firewall rules;
- wireguard - improved stability;
- zerotier - improved route removal;
What's new in 7.22beta3 (2026-Jan-14 14:35):
- bgp - changed multipath to number argument;
- bgp - fixed BGP output sometimes not being cleaned after session restart;
- bgp - fixed ignore-as-path-len not being used;
- bgp - fixed update messages not being sent on default-prepend value change;
- bgp - implemented add-path;
- bridge - improved logic for interface remove;
- bridge - improved stability when using MVRP (introduced in v7.21);
- bridge - improved VRRP MAC address handling;
- bridge - removed vlan-filtering check when changing the MVRP setting (allows disabling MVRP through WinBox);
- certificate - fixed empty trust store handling in certain cases (introduced in v7.21);
- console - added left shift (<<) and right shift (>>) support for IPv6 addresses;
- console - added on-event script runner support to print follow/follow-only;
- console - added timestamp support to print follow/follow-only;
- console - fixed time drift for interface last-link-down-time and last-link-up-time;
- console - improved command decoding to drop extraneous commands (visible in history logging);
- console - improved export command to avoid empty [find];
- console - improved history logging when performing object rename with set/reset;
- console - use the same flag output format for both print brief and detail;
- container - changed app auto update to be off by default;
- defconf - improved firewall rule for local traffic to the loopback interface;
- detnet - added request-interval setting (additional fixes);
- disk - added trim command which functions similarly to fstrim;
- disk - fixed issue where iSCSI did not work with ESXi and XEN hypervisors;
- disk - fixed issue with disks not mounting after swapping devices;
- disk - fixed opening a drive in read-only mode if it became locked;
- disk - improved BTRFS stability on TILE devices;
- disk - renamed format file-system=trim and trim-secure to format file-system=discard and discard-secure;
- gps - fixed GPS port disappearance after reboot for EC25-EU&KNe;
- health - fixed fan and PSU state logging for MIPSBE devices;
- ip - added reverse-proxy;
- ipv6 - improved system stability when manipulating IPv6 configuration that was added while IPv6 was disabled;
- log - added comment support to rule entries;
- lte - added AT command timeout for EC25-EU&KNe;
- lte - do not allow modem firmware-upgrade on "inactive" interface;
- lte - do not reconfigure on AT command timeout for MBIM modems;
- lte - enable DHCP relay packet forwarding to the cellular network for EG120K-EA and RG650E-AU;
- lte - fixed APN configuration for QMI modems in a 3G network when use-network-apn=yes is used;
- lte - fixed roaming barring support for the EC200A-EU modem (introduced in v7.22beta1);
- lte - hide external antenna selection menu for the Chateau AX R17;
- lte - improved APN IP type handling by enabling only the IP protocols defined in the assigned APN profile for config-less modems;
- lte - show ICCID and IMSI also when the interface is disabled;
- poe-out - firmware update for 802.3bt capable boards (the update will cause a brief power interruption to poe-out interfaces);
- rip,pimsm - separate the interface property from the address in /routing/rip/interface and /routing/pimsm/interface menus;
- route - prevent creating routing tables with the same name;
- snmp - added 5G NSA connection signal indications: nr-rsrp, nr-rsrq, nr-sinr;
- snmp - fixed CA band indication;
- snmp - report RouterOS version in SNMPv2-MIB::sysDescr;
- ssh - improved logging;
- system - added reset-configuration keep-apps=yes;
- system - display serial ports in the /system/resource/hardware menu;
- system - fixed possible configuration loss;
- wifi - added optional show-frame=radiotap parameter value to make sniffer display the radiotap header of captured frames;
- wifi - fixed functionality of the wireless-signal-strength LED trigger;
- wifi - improved support for 802.11be access points (additional fixes);
- wifi - quicker re-connections to APs for interfaces in station mode;
- wifi-qcom - update regulatory information for Malaysia;
- winbox - added confirmation message to Format Drive;
- winbox - added error reporting to CAPsMAN Manager menu;
- winbox - added socsify icon for firewall NAT rules;
- winbox - fixed the "New QoS Profile" field for switch rules;
- winbox - fixed modem firmware-upgrade for the RG650E-EU modem;
- winbox - make File Share URL field clickable (additional fixes);
- winbox - updated some setting and title names;
- x86 - fixed interface hang on RTL8125 when processing IP-fragmented UDP traffic (additional fixes);
What's new in 7.22beta1 (2026-Jan-02 08:46):
- bgp - fixed early-cut not working properly;
- bgp - implement multipath (ability for BGP best path to select ECMP routes);
- bgp - implement revised input error handling per RFC 7606;
- bridge - added local and static MAC synchronization for MLAG;
- bridge - added MLAG support per bridge interface (/interface/bridge/mlag menu is moved to /interface/bridge; configuration is automatically updated after upgrade; downgrading to an older version will result in MLAG configuration loss);
- bridge - added MLAG-specific aged and aged-peer flags to host table;
- bridge - added RA guard feature;
- bridge - fixed MAC moving between regular ports and bonds for MLAG;
- bridge - fixed MLAG state being permanently disabled when changing bridge interface settings;
- bridge - improved MAC synchronization for MLAG;
- certificate - improved certificate export process;
- certificate - improved logging;
- console - added :continue and :break commands for various loops;
- console - added :exit command to terminate scripts;
- console - added "comments" parameter to print command to control comment and error output;
- console - added comparison operators for ID values;
- console - added Ctrl+Left/Right word navigation;
- console - added Ctrl+w word deletion;
- console - added hint for dry-run import parameter;
- console - allow undefined variables in dry-run import;
- console - changed autocomplete expansion criteria;
- console - disable follow command in /ip/firewall/connection menu;
- console - fixed brief print for entries with multiple comments;
- console - fixed setting of /interface/wireless/scan-list;
- console - fixed value type names in comparison errors;
- console - implement string casting in :tobool command;
- console - improved error tracing when using find command;
- console - improved set/remove command handling in /file menu;
- console - look up variable in global scope if argument scope lookup failed;
- console - parse width parameter for non-interactive SSH commands;
- console - show smaller QR codes where possible;
- container - added jupyter-notebook, livebook and myip apps;
- container - added support for zstd extraction;
- container - internal stability improvements;
- detnet - added request-interval setting;
- detnet - changed default port from MNDP to a random unused UDP port;
- dhcp-server - improved failure/error logging for both IPv4 and IPv6;
- dhcpv4-client - fixed inability to reference disabled DHCP client by interface name;
- dhcpv4-client - request DOMAINNAME (15) option from the server;
- dhcpv4-server - improved DHCP option handling;
- dhcpv4-server - improved logging;
- dhcpv4-server - send all found lease options in reply to DHCPINFORM;
- dhcpv6-client - allow unsetting "pool-prefix-length" parameter;
- dhcpv6-client - improved log messages;
- dhcpv6-server - swap input and output RADIUS accounting statistics counters;
- disk - show if driver is encrypted and locked;
- fetch - added HTTP/2 support on ARM64 and x86/CHR devices;
- fetch - increased default maximum redirect count to 2;
- fetch - return error code and HTTP headers to :onerror script;
- fetch - treat HTTP 304 return code as success;
- firewall - clear relevant masqueraded connection tracking entries on WAN address change;
- hotspot - allow WireGuard interface type;
- hotspot - do not invalidate static ARP entries;
- hotspot - fixed www response after login by cookie;
- iot - improved LoRa FSK modulation downlinking;
- ipsec - added "none" option to IPsec key QKD certificate field;
- ipsec - added IKEv2 DDoS cookie activation setting;
- ipsec - added logging for IPsec policy template group;
- ipsec - added logging of IKEv2 connection SPI and initiator address;
- ipsec - adjusted minimum generated PSK key length;
- ipsec - fixed IKEv2 child policy reqid lost on rekey;
- ipsec - fixed IKEv2 child reqid handling on traffic selector update;
- ipv6 - added dhcp6-pd-preferred to /ipv6/nd/prefix to control P flag in Prefix Info Option RFC 9762;
- ipv6 - delete SLAAC default route if there are no active SLAAC prefixes present and no new RAs received;
- ipv6 - do not generate duplicate dynamic link-local addresses on tunnel type interfaces;
- ipv6 - enable IPv6 fast-path after removing firewall rules;
- log - added option to clear echo logs;
- log - added option to prepend topics to BSD syslog message;
- log - added script target for log actions;
- log - fixed incorrect log message shown after canceling supout.rif creation;
- log - fixed minor spelling issues;
- log - fixed missing ID in trace logs after removing logging rule;
- log - log "Secret must be set to run scripts from SMS" error only if ":cmd" prefix is used in SMS message;
- log - use uppercase MAC address in firewall logging;
- lte - added "auto" MTU option for LTE interfaces to use network-advertised MTU on supported devices;
- lte - added multi-apn and framed routing support for EC200A-EU modem (requires latest FW version);
- lte - added USB tethering support using iOS devices;
- lte - clear about field status on firmware upgrade;
- lte - do not flap LTE passthrough assinged interface on modem link state change;
- lte - do not reconfigure LTE interface on configuration change error;
- lte - fixed changing MAC address for EC200A-EU modem;
- lte - fixed eSIM errors appearing on devices without eSIM support;
- lte - fixed firmware update and status refresh for R11eL-EC200A-EU modem;
- lte - fixed LTE interface IPv6 address generation to use EUI-64 for EC25-EU&KNe;
- lte - improved APN IP type handling by enabling only the IP protocols defined in the assigned APN profile for config-less modems;
- lte - make inactive LTE interface settable, LTE interface settings can be set without waiting for modem initial initialization;
- lte - removed delay before querying modem status for config-less modems with info channel;
- mac-telnet - added interface property;
- macsec - fixed hardware offload on S53 and C53 devices;
- mesh - fixed missing S flag on interfaces after mesh disable/enable;
- ping - added IPv6 support for flood-ping;
- poe-out - added LLDP support for dual-signature PDs;
- poe-out - firmware update for 802.3at capable boards (the update will cause brief power interruption to poe-out interfaces);
- poe-out - firmware update for 802.3bt capable boards (the update will cause brief power interruption to poe-out interfaces);
- ppp - fixed Framed-Route attribute not being applied to correct VRF;
- ppp - fixed premature PPP client disconnect on BG77 modems during firmware update;
- rose-storage - added XFS support;
- route - added logs for check-gateway state changes;
- route - expose built-in routing rules and allow changing their order under the /routing/rule menu;
- route - fixed route removal after unexpected safe mode termination;
- routerboot - allow installing ARM64 on L009 device ("/system routerboard upgrade" required; configure "/system/routerboard/settings set preferred-architecture=arm64 boot-device=try-ethernet-once-then-nand"; start Netinstall with ARM64 image and reboot the device (DO NOT load the backup routerboot with reset button); downgrading to older versions must be avoided);
- routerboot - fixed linking to 1000M-half for KNOT Embedded LTE4 ("/system routerboard upgrade" required);
- routerboot - fixed possible Netinstall failure for KNOT Embedded LTE4 ("/system routerboard upgrade" required);
- sfp - improved initialization and linking for some QSFP modules;
- smips - reduced package size and removed ip-scan, mac-scan, ping-speed, flood-ping features;
- snmp - fixed issue where bulk walk might skip the first OID;
- supout - wait up to 5 minutes for export to complete and show incomplete output in case of timeout;
- switch - fixed missing switch-cpu port counters;
- switch - updated switch-marvell.npk driver;
- undo - show user when configuring DHCP server or hotspot with setup command;
- upgrade - added "password" parameter to "local-upgrade" feature when configuring through CLI;
- upgrade - added IPv6 support for local package source and mirror;
- upgrade - fixed local package mirror check interval;
- upgrade - removed redundant commands from local package menu;
- usb - updated device ids for ax88179_178a driver;
- w60g - fixed possible memory leak when an interface is disabled;
- webfig - added new section "Common names" in skin designer;
- webfig - added support for collapsible tree view for menus like Interfaces, Files, Queues;
- webfig - added support for URL fields;
- webfig - fixed ability to set interworking.realms-raw WiFi interface attribute;
- webfig - fixed skin designer mobile view for QuickSet and Terminal;
- webfig - fixed Torch Filters default values;
- webfig - improved address type field input value validation;
- wifi - added keepalive message in CAPsMAN data channel;
- wifi - allow specifying hostname to caps-man-addresses;
- wifi - fixed channel switching for MediaTek access points;
- wifi - fixed FT support with wpa2-psk-sha2;
- wifi - fixed possible certificate failure after CAPsMAN disable/enable;
- wifi - improved spectral-history width for console;
- wifi - improved stability and fixed multiple issues;
- wifi - improved support for 802.11be access points;
- wifi - improved system stability when using spectral-scan;
- winbox - added "Force Check" for local upgrade;
- winbox - added comment in "System/Ports/Remote Access" menu;
- winbox - added GUI support for IPsec QDK;
- winbox - added missing LoRa channel fields;
- winbox - added warning when changing global script variables;
- winbox - allow using specified skin without the sensitive policy;
- winbox - fixed applying a skin to a user authenticated with RADIUS;
- winbox - fixed applying a skin to WinBox if it was uploaded via the branding package;
- winbox - fixed default flag in certain menus;
- winbox - fixed Preshared Key "auto" and "none" options for WireGuard Peer;
- winbox - make File Share URL field clickable;
- winbox - recognize imported certificate key size;
- winbox - rename "Change Now" to "Change" button in "System/Password" menu;
- winbox - replace "DHCP" with "DHCPv6" in IPv6 menus;
- winbox - show warnings in "MPLS/Traffic Eng/Tunnel" menu;
- winbox - updated various WiFi properties;
- wireguard - merged upstream fixes and improvements;
- wireless - avoid joining BSS that previously failed until all other options tried;
- wireless - improved system stability when changing nstreme mode;
- wireless - improved system stability when eap-method=passthrough configured for station;
- x86 - added JME network driver;
- x86 - fixed interface hang on RTL8125 when processing IP-fragmented UDP traffic;
- x86 - improved link establishing on Intel X710 series NIC;
To upgrade, click Check For Updates under System/Packages menu and select the development Channel in RouterOS configuration interface, or head to our download page: http://www.mikrotik.com/download
- Everything went smoothly
- I encountered an issue after the update (please post about the device, configuration, and unexpected symptoms)
- I encountered an issue, but solved it (please post the solution)
If you experience version related issues, then please send supout file from your router to support@mikrotik.com. The file must be generated while a router is not working as suspected or after some problem has appeared on the device
Please keep this forum topic strictly related to this particular RouterOS release.