V7.21rc [testing] is released!

Before an upgrade:

  1. Remember to make backup/export files before an upgrade and save them on another storage device;
  2. Make sure the device will not lose power during upgrade process;
  3. Device has enough free storage space for all RouterOS packages to be downloaded.

What's new in 7.21rc6 (2026-Jan-09 11:16):

  • bridge - expose more DHCP snooping warning logs;
  • bridge - fixed possible DHCP packet drop caused by the add-dhcp-option82;
  • firewall - clear relevant masqueraded connection tracking entries on IP address change;
  • log - fixed memory leak;
  • tr069-client - expose 5G NR signal metrics for the Chateau R17 ax;
  • w60g - fixed possible memory leak when an interface is disabled;
  • winbox - fixed Preshared Key "auto" and "none" options for WireGuard Peer;

What's new in 7.21rc5 (2026-Jan-06 14:28):

  • bridge - fixed dynamic switch-cpu VLAN creation (introduced in v7.20);
  • bridge - improved system stability when forwarding traffic with fast-path and bridged interface gets removed or disabled (introduced in v7.20);
  • bth - make user private-key sensitive;
  • certificate - added option to configure built-in trust store (replaced "builtin-trust-anchors" parameter) (additional fixes);
  • console - updated copyright notice;
  • disk - fixed auto-mount for disks formatted without partitions (introduced in v7.21beta2);
  • ike2 - fixed incorrect key length used for CHILD SA keys (introduced in v7.21beta2);
  • ipv6 - added "self" option for IPv6/ND DNS advertise settings (additional fixes);

What's new in 7.21rc4 (2025-Dec-29 15:47):

  • ethernet - improved Ethernet port mapping to ensure a consistent and reliable interface order for wAP ax;
  • ipv6 - initialize RA receiving when enabled and without any other IPv6 configuration;
  • ovpn - fixed OVPN server handling on reboot (introduced in v7.20);
  • sfp - fixed "sfp-tx-fault" state indication for CRS520-4XS-16XQ;

What's new in 7.21rc3 (2025-Dec-22 13:50):

  • bgp - fixed l2vpn-cisco decoding (introduced in v7.20);
  • bgp - fixed occasional corruption of MPLS labels in BGP VPN update messages;
  • fetch - fixed certificate trust store usage when executed by another RouterOS program (introduced in v7.21beta7);
  • file - improved error messages provided to GUI;
  • firewall - added support for TOS/mask matching for raw rules (additional fixes);
  • isis - improved system stability when changing passive flag;
  • lte - fixed LTE interface IPv6 address generation to use EUI-64 (introduced in v7.20);
  • lte - fixed missing IP assignment on non-passthrough LTE interface in multi-apn setup (introduced in v7.21beta2);
  • lte - fixed no re-connection after cellular network requested APN deactivation on Chateau 5G ax R17;
  • sfp - fixed link initialization issue with S-RJ01 modules on TILE architecture (introduced in v7.21beta2);
  • switch - fixed non-IP multicast packet receive on 98DX8208, 98DX8216, 98DX8212, 98DX8332, 98DX3257, 98DX4310, 98DX8525, 98DX3255, 98CX8410 switches;
  • system - detect policy mismatch sooner if script is executed internally by some other service;
  • wifi-mediatek - added Superchannel regulatory profile;

What's new in 7.21rc2 (2025-Dec-15 11:35):

  • bridge - fixed issue where use-ip-firewall was enabled due to running container (introduced in v7.21beta8);
  • certificate - added certificate "trust-store" parameter (additional fixes);
  • console - fixed empty output in route menus when using "print where gateway";
  • console - improved service stability and memory allocation when using "regexp" operator;
  • console - improved service stability when executing commands that can timeout;
  • hotspot - prevent service from starting unnecessarily in the background on export/print commands;
  • lte - ask for user confirmation before installing eSIM profile (additional fixes);
  • ovpn - improved system stability when using cipher=blowfish128;
  • socksify - listen on all addresses for incoming connections;
  • ups - fixed board hibernation shutdown;
  • usb - fixed cases where USB bus order could change on D53 devices;

What's new in 7.21rc1 (2025-Dec-03 09:17):

  • bgp - fixed missing VRF parameter in template configuration after upgrade;
  • certificate - added certificate "trust-store" parameter (additional fixes);
  • console - added fetch-changelog flag to check-for-updates command;
  • container - fixed web-top app configuration export (introduced in v7.21beta2);
  • dhcp - execute "lease-script" with DHCP server creator user permissions;
  • ethernet - improved system stability for RB912, RB911 devices;
  • lte - ask for user confirmation before installing eSIM profile (CLI and WinBox 4 only) (additional fixes);
  • ppp - added multi-APN support to ppp-client dialer;
  • pppoe-server - fixed client disconnects when multiple servers with different service names are active (introduced in v7.20);
  • routerboard - do not show "upgrade-firmware" if available installation is older than minimal supported one;
  • switch - fixed issue with VLAN configuration corruption for 98DX224S, 98DX226S, 98DX3236 switches (introduced in v7.21beta2);
  • system - updated PCI id names;

Other changes since v7.20:
Available here https://mikrotik.com/download/changelogs?channelFilter=testing

To upgrade, click "Check for updates" at /system package in your 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)
0 voters

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.

Still (as reported before…) this parameter is called “builtin-trust-store". Any chance to update that in the changelog?

No, there are two different things! What you meant is related to this changelog item:

And that item does already mention "built-in".

While the item you quoted:

is another new "feature". If you go to your certificate list, you'll see that now each certificate has this section:

That allows you to specify the individual sections where the certificate should be trusted.

As an example: Before this version, if you implement EAP-TLS authentication with User Manager, for Dot1X or Hotspot, WPA2/3-Enterprise, etc, the client being authenticated only needs to present a certificate signed by any of the CA you might have in your certificate list. Which means if you have that R12 intermediate certificate from Let's Encrypt in your list for example (like in my screenshot), in theory Let's Encrypt would be able to issue fake certificates that allow login to your Hotspot or WPA2-Enterprise WiFi. This is actually a big security hole.

Now in 7.21 even if I have this R12 certificate from Let's Encrypt in my list, I can turn off the checkboxes like userman, dot1x, radius, etc... on this particular certificate, and only keep dns and fetch for example, and Let's Encrypt won't be able to issue certificates that can give access my EAP-TLS WPA3-Enterprise WiFi anymore.

Ah! Ok, got it… Now that I saw this and re-read the changelog it makes sense.

No idea why I missed this before… Thanks for clarification!

Does not generate wg preshared key - auto

And fasttrack still doesn't work after rebooting the router, although it is enabled.

Still waiting for ability to disable autoreplacement of tabs with spaces in scripts...

:smiling_cat_with_heart_eyes:

Uhm...

“BE” without 6 GHz band does not give anything mindblowing as main problem nowadays is congestion of 2,4 and 5 GHz bands…

And 6GHz will be congested even faster if everybody start using 320MHz channels… Just like old days when 5GHz AC band and 80MHz channels become popular

This is unfortunately NOT a good change!

My ISPs only give out dynamic IPv6 prefixes via DHCPv6 which change with each PPPoE redial/router reboot. Those prefixes have both Valid Lifetime and Preferred Lifetime set at 5 hours. The problem is that when the router reboots for example, RouterOS doesn't announce that the old prefixes are deprecated, which means after a reboot the clients all have multiple prefixes, both new as well as the old, no longer valid ones, marked as preferred. As a result, they may have no IPv6 connectivity to the internet if they pick the addresses with the old prefixes as source addresses.

Until now I was able to workaround the issue by setting:

/ipv6 nd prefix default
set preferred-lifetime=10m valid-lifetime=10m

And the advertised prefixes are valid/preferred for at most 10 minutes. Which means when the issue occurred after a router reboot/redial, clients will have a period of invalid "preferred" addresses for at most 10 minutes, before the old addresses disappear and IPv6 WAN connectivity is possible again.

Now with the change in 7.21 the two settings above are ignored. Instead, the lifetime is now taken from the pool with the ISP prefix, and in my case with 5 hours lifetime.

I am now sitting here with my devices having no IPv6 for the next 4.3 hours:

Could you please change it, so that the lifetime values are the smaller values of the settings and what stored in the pool?

Well theoretically without IPV6 for the next 4.3 hours as you wouldnt deploy this for real yet. :wink:

My question is why do I see a new button called APP on my ax3, just below Tools and just before Container but on my RGB450 RB, the new APP button is missing??

7.21rc1, and latest winbox on both, plus boards updated to firmware etc.

The App thing is only available for arm64 and x86, and requires the container package: Containerized App management - RouterOS - MikroTik Documentation.

And this time it's in the documentation too ...

Requirements

The App system inherits the same requirements as the Container package:

  • Architecture Support: arm64, and x86 architectures
  • Container Package: Must be installed
  • Device Mode: Container mode must be enabled (requires physical access and device reset)
  • External Storage: Highly recommended for optimal performance
  • Memory Requirements: Adequate RAM for container operations (16MB SPI flash devices may require external storage for images)
  • Architecture Limitations: Devices with EN7562CT CPU (like hEX Refresh) are not supported

Yeah I had the container package loaded and assumed if I can load the container package the APP button would be available.

Unfortunately. after a few hours trying 7.21rc1 on my home RB5009, I have to downgrade back to 7.20.5. This is the first time I had to downgrade something on this RB5009. The issues I encountered include:

  • The prefix lifetime change mentioned in the post above.

  • Fasttrack (both IPv4 and IPv6) no longer working. All the counters on the "dummy" dynamic rules are not increasing except for a few KiB and a few packets on the IPv4 dummy counters which appear to have increased for a very short time right after reboot.

  • Very simple DSTNAT rules simply no longer work, in both the IPv4 and IPv6 NAT tables. Here as some of the rules:

    /ip firewall nat
    add action=dst-nat chain=dstnat dst-address-type=local dst-port=53 \
        in-interface-list=VLAN protocol=udp to-addresses=10.23.8.6
    add action=dst-nat chain=dstnat dst-address-type=local dst-port=53 \
        in-interface-list=VLAN protocol=tcp to-addresses=10.23.8.6
    add action=dst-nat chain=dstnat dst-address-type=local dst-port=853 \
        in-interface-list=VLAN protocol=tcp to-addresses=10.23.8.6
    

    The counters are simply not increasing and stays at 0 except for the first rule which has a couple of packets counted. When I turn on logging on all of the rules and reboot the router, it turns out that right after reboot for some seconds, the DSTNAT rules would be hit (hence the few packets counters). However after a few tens of seconds, none of the counters are increasing and nothing is logged anymore. Something might have changed internally after the post boot activities have completed. Replacing in-interface-list with in-interface made no difference.

    It might have something to do with the fasttrack counters also stop increasing after a short period after boot.

Anyway, I've downgraded back to 7.20.5 and everything is working normally again. Once I've more time, I'll try to reproduce the issues on other devices.

I noticed in this version that my IP cameras are having micro stutterers in live view on both version 7.20.x and 7.21rc downgrade to 7.19.6 Fix

I can confirm that (for IPv4) and still IPsec with User Manager stops working after upgrade from v7.20.x ( post V7.21beta [testing] is released! - #25 by kowal with SUP-201086)

Thanks, the problem has been fixed.

On upgrading to this from beta9 (?) my iperf3 container will no longer auto-start on boot. /container/print complains:

Flags: S - STOPPED
Columns: NAME, ROOT-DIR, INTERFACE, CPU-USAGE, TAG
#   NAME           ROOT-DIR        INTERFACE  C  TAG
;;; child spawn failed: container run error
0 S iperf3:latest  /iperf3:latest  veth1      0  quay.io/tangent/iperf3:latest

The logs say the same thing.

If I remove it and re-add it, it runs until the next reboot, and then the problem recurs.

This is on an RB4011, so no /app without USB storage or a tmpfs imitation.

It doesn't matter because this container writes nothing but one tiny temporary file per connection attempt internally, on /tmp, which I recall being auto-mapped onto tmpfs by the container.npk runner.