Default configuration is broken?

In new RouterOS releases, at least 6.43.2 and 6.42.9, after reset routers almost don’t have default configuration: there’s only address 192.168.88.1 on ether1, no bridge, no dhcp, no firewall, etc. I’ve seen this after reset on hap ac2 and hex lite.
On various routers (hap lite, hex lite, hex, rb751g-2hnd, rb2011uias-2hnd) with routeros 6.42.9 default configuration looks like this:

> /system default-configuration print without-paging
            script: #| IP address 192.168.88.1/24 is on ether1
                    #| ether1 is enabled
                    
                    :global action
                    
                    # these commands are executed after installation or configuration reset
                    :if ($action = "apply") do={
                        :delay 5s
                        /ip address add address=192.168.88.1/24 interface=ether1 comment="default configuration"
                    }
                    
                    # these commands are executed if user requests to remove default configuration
                    :if ($action = "revert") do={
                        /ip address {
                            :local o [find address="192.168.88.1/24" interface="ether1" comment="default configuration"]
                        :if ([:len $o] != 0) do={ remove $o }
                        }
                    }
  caps-mode-script: #-------------------------------------------------------------------------------
                    # Note: script will not execute at all (will throw a syntax error) if
                    #       dhcp or wireless-fp packages are not installed
                    #-------------------------------------------------------------------------------
                    
                    #| CAP configuration
                    #|
                    #|   Wireless interfaces are set to be managed by CAPsMAN.
                    #|   All ethernet interfaces and CAPsMAN managed interfaces are bridged.
                    #|   DHCP client is set on bridge interface.
                    
                    # bridge port name
                    :global brName  "bridgeLocal";
                    :global logPref "defconf:";
                    
                    
                    :global action;
                    
                    :log info $action
                    
                    :if ($action = "apply") do={
                    
                      # wait for ethernet interfaces
                      :local count 0;
                      :while ([/interface ethernet find] = "") do={
                        :if ($count = 30) do={
                          :log warning "DefConf: Unable to find ethernet interfaces";
                          /quit;
                        }
                        :delay 1s; :set count ($count + 1);
                      }
                    
                      :local macSet 0;
                      :local tmpMac "";
                    
                      :foreach k in=[/interface ethernet find] do={
                        # first ethernet is found; add bridge and set mac address of the ethernet port
                        :if ($macSet = 0) do={
                          :set tmpMac [/interface ethernet get $k mac-address];
                          /interface bridge add name=$brName auto-mac=no admin-mac=$tmpMac comment="defconf";
                          :set macSet 1;
                        }
                        # add bridge ports
                        /interface bridge port add bridge=$brName interface=$k comment="defconf"
                      }
                    
                      # try to add dhcp client on bridge interface (may fail if already exist)
                      :do {
                        /ip dhcp-client add interface=$brName disabled=no comment="defconf"
                      } on-error={ :log warning "$logPref unable to add dhcp client";}
                    
                    
                      # try to configure caps (may fail if for example specified interfaces are missing)
                      :local interfacesList "";
                      :local bFirst 1;
                    
                      # wait for wireless interfaces
                      :while ([/interface wireless find] = "") do={
                        :if ($count = 30) do={
                          :log warning "DefConf: Unable to find wireless interfaces";
                          /quit;
                        }
                        :delay 1s; :set count ($count + 1);
                      }
                    
                      # delay just to make sure that all wireless interfaces are loaded
                      :delay 5s;
                      :foreach i in=[/interface wireless find] do={
                        if ($bFirst = 1) do={
                          :set interfacesList [/interface wireless get $i name];
                          :set bFirst 0;
                        } else={
                          :set interfacesList "$interfacesList,$[/interface wireless get $i name]";
                        }
                      }
                      :do {
                        /interface wireless cap
                          set enabled=yes interfaces=$interfacesList discovery-interfaces=$brName bridge=$brName
                      } on-error={ :log warning "$logPref unable to configure caps";}
                    
                    }
                    
                    :if ($action = "revert") do={
                      :do {
                        /interface wireless cap
                          set enabled=no interfaces="" discovery-interfaces="" bridge=none
                      } on-error={ :log warning "$logPref unable to unset caps";}
                    
                      :local o [/ip dhcp-client find comment="defconf"]
                      :if ([:len $o] != 0) do={ /ip dhcp-client remove $o }
                    
                      /interface bridge port remove [find comment="defconf"]
                      /interface bridge remove [find comment="defconf"]
                    
                    }

There’s really only 192.168.88.1 on ether1 and that’s it. All routers were upgraded from 6.40.9 to 6.42.9 via Dude or /system/package.

I don’t know if Mikrotik have removed the previous default config in favor of people using Quickset https://wiki.mikrotik.com/wiki/Manual:Quickset instead, but if they have done it should really be mentioned in the release notes

I noticed this as well. It would be very irritating if this is a new standard because this would fragment the setup procedure for multi-port Routerboard setups.

Definitely eager to hear from MikroTik staff about whether this was an accident or deliberate.

Unfortunately, it looks like default configuration is not properly generated on 6.42.8 and 6.42.9 versions. A workaround is to upgrade your router to the latest stable or testing builds and reset configuration then. We will definitely resolve the issue in the next long-term version. Sorry for any inconvenience.

QA on updates is getting quite poor lately. How does a change like this even happen to a “bugfix only” branch?

its no longer “bugfix” branch :laughing: