# changelog

author: Jafar Al-Gharaibeh <jafar@atcorp.com> - 8.3
changelog:
  - General:
  -    Add camelcase json keys in addition to pascalcase (Wrong JSON keys will be depracated)
  -    Fix corruption when route-map delete/add sequence happens (fast re-add)
  -    Reworked gRPC
  -    RFC5424 & journald extended syslog target
  - bfdd:
  -    Fix broken FSM in active/passive modes
  - bgpd:
  -    Notification Message Support for BGP Graceful Restart (rfc8538)
  -    BGP Cease Notification Subcode For BFD
  -    Send Hold Timer for BGP (own implementation without an additional knob)
  -    New `set as-path replace` command for BGP route-map
  -    New `match peer` command for BGP route-map
  -    New `ead-es-frag evi-limit` command for EVPN
  -    New `match evpn route-type` command for EVPN route-map to match Type-1/Type-4
  -    JSON outputs for all RPKI show commands
  -    Set attributes via route-map for BGP conditional advertisements
  -    Pass non-transitive extended communities between RS and RS-clients
  -    Send MED attribute when aggregate prefix is created
  -    Fix aspath memory leak in aggr_suppress_map_test
  -    Fix crash for `show ip bgp vrf all all neighbors 192.168.0.1 ...`
  -    Fix crash for `show ip bgp vrf all all`
  -    Fix memory leak for BGP Community Alias in CLI
  -    Fix memory leak when setting BGP community at egress
  -    Fix memory leak when setting BGP large-community at egress
  -    Fix SR color nexthop processing in BGP
  -    Fix setting local-preference in route-map using +/-
  -    Fix crash using Lua and route-map to set attributes via scripts
  -    Fix crash when issuing various forms of `bgp no-rib`
  - isisd:
  -    JSON output for show summary command
  -    Fix crash when MTU mismatch occurs
  -    Fix crash with xfrm interface type
  -    Fix infinite loop when parsing LSPs
  -    Fix router capability TLV parsing issues
  - vtysh:
  -    New `show thread timers` command
  - ospfd6:
  -    Add LSA statistics to LSA database
  -    Add LSA stats to `show area json` output
  -    Show time left in hello timer for `show ipv6 ospf6 int`
  -    Restart SPF when distance is updated
  -    Support keychain for ospf6 authentication
  - ospfd:
  -    New `show ip ospf reachable-routers` command
  -    Restart SPF when distance is updated
  -    Use consistent JSON keys for `show ip ospf neighbor` and detail version
  - pimd:
  -    Add additional IGMP stats
  -    Add IGMP join sent/failed statistics
  -    Add IGMP total groups and total source groups to statistics
  -    New `debug igmp trace detail` command
  -    New `ip pim passive` command
  -    JSON support added for command `show ip igmp sources`
  -    Allow the LPM match work properly with prefix lists and normal RPs
  -    Do not allow 224.0.0.0/24 range in IGMP join
  -    Fix IGMP packet/query check
  -    Handle PIM join/prune receive flow for IPv6
  -    Handle receive of (*,G) register stop with source address as 0
  -    Handle of exclude mode IGMPv3 report messages for SSM-aware group
  -    Handle of IGMPv2 report message for SSM-aware group range
  -    Send immediate join with possible sg rpt prune bit set
  -    Show group-type under `show ip pim rp-info`
  -    Show total received messages IGMP stats
  - staticd:
  -    Capture zebra advertised ECMP limit
  -    Do not register existing nexthop to Zebra
  -    Reject route config with too many nexthops
  -    Track nexthops per-safi
  - watchfrr:
  -    Add some more information to `show watchfrr`
  -    Send operational state to systemd
  - zebra:
  -    Add ability to know when FRR is not ASIC offloaded
  -    Add command for setting protodown bit
  -    Add dplane type for netconf data
  -    Add ECMP supported to `show zebra`
  -    Add EVPN status to `show zebra`
  -    Add if v4/v6 forwarding is turned on/off to `show zebra`
  -    Add initial zebra tracepoint support
  -    Add kernel nexthop group support to `show zebra`
  -    Add knowledge about ra and rfc 5549 to `show zebra`
  -    Add mpls status to `show zebra`
  -    Add netlink debug dump for netconf messages
  -    Add netlink debugs for ip rules
  -    Add OS and version to `show zebra`
  -    Add support for end.dt4
  -    Add to `show zebra` the type of vrf devices being used
  -    Allow *BSD to specify a receive buffer size
  -    Allow multiple connected routes to be choosen for kernel routes
  -    Allow system routes to recurse through themselves
  -    Do not send RAs w/o link-local v6 or on bridge-ports
  -    Evpn disable remove l2vni from l3vni list
  -    Evpn-mh bonds protodown check for set
  -    Evpn-mh use protodown update reason api
  -    Fix cleanup of meta queues on vrf disable
  -    Fix crash in evpn neigh cleanup all
  -    Fix missing delete vtep during vni transition
  -    Fix missing vrf change of l2vni on vxlan interface
  -    Fix rtadv startup when config read in is before interface up
  -    Fix use after deletion event in FreeBSD
  -    Fix v6 route replace failure turned into success
  -    Get zebra graceful restart working when restarting on *BSD
  -    Handle FreeBSD routing socket enobufs
  -    Handle protodown netlink for vxlan device
  -    Include mpls enabled status in interface output
  -    Include old reason in evpn-mh bond update
  -    Keep the interface flags safe on multiple ioctl calls
  -    Let /32 host route with same ip cross vrf
  -    Make router advertisement warnings show up once every 6 hours
  -    Prevent crash if zebra_route_all is used for a route type
  -    Prevent installation of connected multiple times
  -    Protodown-up event trigger interface up
  -    Register nht nexthops with proper safi
  -    Update advertise-svi-ip macips w/ new mac
  -    When handling unprocessed messages from kernel print usable string
  -    New `show ip nht mrib` command
  -    Handle ENOBUFS errors for FreeBSD


author: Jafar Al-Gharaibeh <jafar@atcorp.com> - 8.4
changelog:
  - New BGP command (neighbor PEER soo) to configure SoO to prevent routing loops and suboptimal routing on dual-homed sites.
  - Command debug bgp allow-martian replaced to bgp allow-martian-nexthop because previously we allowed using martian next-hops when debug is turned on.
  - Implement BGP Prefix Origin Validation State Extended Community rfc8097
  - Implement Route Leak Prevention and Detection Using Roles in UPDATE and OPEN Messages rfc9234
  - BMP L3VPN support
  - PIMv6 support
  - MLD support
  - New command to enable using reserved IPv4 ranges as normal addresses for BGP next-hops, interface addresses, etc.
  - For a full list of bug fixes, please refer to https://frrouting.org/release/


author: Jafar Al-Gharaibeh <jafar@atcorp.com> - 8.5
changelog:
  - Major Highlights:
  -   Add support for per-VRF SRv6 SID
  -   Add BGP labeled-unicast Add-Path functionality
  -   Implementation of SNMP BGP4v2-MIB (IPv6 support) for better network management and monitoring
  -   Add BGP new command neighbor path-attribute discard
  -   Add BGP new command neighbor path-attribute treat-as-withdraw
  -   Implement L3 route-target auto/wildcard configuration
  -   Implement BGP ACCEPT_OWN Community Attribute (rfc7611)
  -   Implement The Accumulated IGP Metric Attribute for BGP (rfc7311)
  -   Implement graceful-shutdown command per neighbor
  -   Add BGP new command to configure TCP keepalives for a peer bgp tcp-keepalive
  -   Traffic control (TC) ZAPI implementation
  -   SRv6 uSID (microSID) implementation
  -   Start deprecating start-shell, ssh, and telnet commands due to security reasons
  -   Add VRRPv3 an ability to disable IPv4 pseudo-header checksum
  -   BFD integration for static routes
  -   Allow protocols to configure BFD sessions with automatic source selection
  -   Allow zero-length opaque LSAs for OSPF (rfc5250)
  -   Add ISIS new command set-overload-bit on-startup
  -   PIMv6 BSM support
  - For a full list of new features and bug fixes, please refer to:
  -   https://frrouting.org/release/


author: Jafar Al-Gharaibeh <jafar@atcorp.com> - 9.0
changelog:
  - Major highlights:
  -   Centralized Management Daemon (mgmtd)
  -   Switched to libyang minimum version 2.1.80
  -   Memory footprint for BGP reduced drastically
  -   Add BGP `neighbor path-attribute treat-as-withdraw` command
  -   Add BGP ASN dot notation support (RFC 5396)
  -   Add BGP Software Version capability
  -   Allow BGP peering via 127.0.0.0/8
  -   Deprecate BGP `internet` community - this is the Cisco-specific community, which is never been RFC-defined and confusing
  -   Implement `match source-protocol` for BGP route maps
  -   Implement BGP Node Target extended communities (draft-ietf-idr-node-target-ext-comm)
  -   Implement Flex-Algo for SR-MPLS (RFC 9350)
  -   Add support for IS-IS `advertise-passive-only`
  -   Add IS-IS `affinity-map` support
  -   Add the `graceful-restart hello-delay` OSPFv2/OSPFv3 command
  -   Add the `ipv6 mld join` PIMv6 command
  -   Add `allow-ecmp x` RIP/RIPng command
  -   Add BFD support for RIP
  - For a full list of new features and bug fixes, please refer to:
  -   https://frrouting.org/release/


author: Donatas Abraitis <donatas@opensourcerouting.org> - 9.1
changelog:
  - Major highlights:
  -   OSPFv2 HMAC-SHA Cryptographic Authentication
  -   BGP MAC-VRF Site-Of-Origin support
  -   BGP Dynamic capability support
  -   IS-IS SRv6 uSID support (RFC 9352)
  -   Change next-hop resolution via the default route for a traditional profile
  -   Add support for VLAN, ECN, DSCP mangling/filtering
  -   Zebra support for route replace semantics in FPM
  -   New command for BGP `neighbor x addpath-tx-best-selected`
  -   New command for BGP `mpls bgp l3vpn-multi-domain-switching`
  -   A couple more new BGP route-map commands for as-path, communities manipulation


author: Jafar Al-Gharaibeh <jafar@atcorp.com> - 10.0
changelog:
  - Major highlights:
  -   Introduce local host routes
  -   Require libyang 2.1.128
  -   Add suport to configire a log file per daemon
  -   BGP BMP Loc-RIB (RFC9069) support
  -   eBGP-OAD (One Administrative Domain) support
  -   BGP RPKI VRF support
  -   BGP SNMP traps for BGP4-MIBV2
  -   Management (mgmtd) daemon "replace" operation support
  -   BGP dynamic capabilities for addpath, fqdn, orf capabilities
  -   SRv6 encapsulation source address feature
  -   OSPFv3 Point-To-Multipoint mode


author: Jafar Al-Gharaibeh <jafar@atcorp.com> - 10.1
changelog:
  - Breaking changes
  -   Enable BGP dynamic capability by default for datacenter profile
  -   Split BGP `rpki cache` command into separate per SSH/TCP
  -   Add deprecation cycle for OSPF `router-info X [A.B.C.D]` command
  - Major highlights:
  -   BGP dampening per-neighbor support
  -   BMP send-experimental stats
  -   Implement extended link-bandwidth for BGP
  -   Paths Limit for Multiple Paths in BGP
  -   New command for OSPFv2 `ip ospf neighbor-filter NAME [A.B.C.D]`
  -   Implement non-broadcast support for point-to-multipoint networks


author: Jafar Al-Gharaibeh <jafar@atcorp.com> - 10.2
changelog:
  - Major highlights:
  -   PIM candidate BSR/RP [#16438]
  -   Static IGMP join without an IGMP report [1#6450]
  -   PIM AutoRP discovery/announcements [#16634]
  -   IGMP proxy [#16861]
  -   SRv6 SID Manager [#15604]
  -   Add `bgp ipv6-auto-ra` command [#16354]
  -   Implement `neighbor x remote-as auto` for BGP [#16345]
  -   Implement `bgp dual-as` for BGP [#16816]
  -   Implement BGP-wide configuration for graceful restart [#16099]
  -   Handle kernel routes appropriately (should fix recent NOPREFIXROUTE issue) [#16300]
  -   Add `cisco-authentication` password support for NHRP [#16172]


author: Jafar Al-Gharaibeh <jafar@atcorp.com> - 10.3
changelog:
  - Major highlights:
  -   Lua 5.4 support
  -   Fixed CVE-2024-55553
  -   New match community-count BGP command to limit communities count
  -   New set metric igp|aigp BGP command to inject IGP metric as MED into BGP
  -   New bgp ipv6-auto-ra BGP command
  -   Optimize BGP EVPN L2VNI/L3VIN remote routes processing
  -   Respect non-transitive BGP extended communities between direct peers
  -   Drop deprecated bgp network import-check exact command
  -   Handle BGP ENHE (Extended Next Hop Encoding) capability via dynamic capability
  -   Implement BGP connect backoff retry
  -   Implement an ability to import BMP information from a separate BGP instance
  -   Add support of BGP color extended community color-only types
  -   Implement SBFD
  -   Add support for SRv6 static SIDs
  -   Implement embedded-rp for PIMv6
  -   Implement AutoRP mapping-agent for PIM
  -   Implement MSDP peer SA limiting


