Skip to content

v4.8 Release Notes

This document describes all new features and changes in the release. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Release Overview

Existing IP Fabric syncs change on upgrade. - VLANs are matched by VLAN ID at a Location rather than by name: the first sync renames any VLAN whose name has drifted and moves VLANs into a new per-Location VLAN Group. - A Device's Serial now holds the chassis serial, with IP Fabric's own identifier in a custom field. - An Interface's Enabled follows the state IP Fabric reports. - Objects the sync finds unchanged no longer get a change log entry on every run.

  • The IP Fabric integration syncs much more of what IP Fabric reports: Prefixes with the Locations and VLAN they are seen in, an IP Address for each discovered host, FHRP virtual addresses, Software Versions and Software Image Files, switchport VLAN modes and tagged VLANs, port channel membership, subinterface parents, and Interfaces that only the managed address table names. Each new object type is opt-in on the Job form.
  • New Tenant and Namespace options on the IP Fabric job scope a sync to one Tenant's objects and put its IP Addresses, Prefixes and VRFs in a chosen Namespace.
  • The synced and safe-delete Tag names are now settings, so two IP Fabric instances can sync into one Nautobot.
  • Several IP Fabric correctness fixes. Safe Delete Mode is no longer shared between concurrent syncs, which could delete objects in a run that had it selected. Warnings now reach the Job log instead of only the worker log. Deselecting Locations no longer removes the Cables and VRF and VLAN assignments at sites IP Fabric does not report. Bulk Write Mode now handles moves to Locations and ports created in the same run.
  • The Infoblox integration fixes VLANs in a VLAN Range, Extensible Attributes mapped to a Location or VRF, VLAN Group updates that were never saved, and a load time that grew quadratically with the number of objects.
  • The Cisco SD-WAN integration now releases VRFs a Device no longer uses and stops saving every Device on every sync.
  • The optional ipfabric dependency now allows SDK 8, for IP Fabric 8 servers. A new install gets SDK 8, which cannot connect to IP Fabric 7; installs against IP Fabric 7 need to pin ipfabric<8.

v4.8.0 (2025-08-27)

Added

  • #193 - Added the ipfabric_synced_tag and ipfabric_safe_delete_tag settings to the IP Fabric integration, so the Tags it marks synced and safe-deleted objects with can be renamed, for example to run two IP Fabric instances against one Nautobot.
  • #884 - Added the interface state IP Fabric observed to the IP Fabric integration, as IPFabric L1 State, IPFabric L2 State and IPFabric State Reason custom fields on each Interface.
  • #890 - Added an opt-in "Sync Interface VLANs" option to the IP Fabric integration that records each switchport's 802.1Q mode and the VLANs it carries, and puts an addressed Interface such as an SVI in the VLAN its address reports. The modes, the precedence between the two tables and the cases where a VLAN is left off are documented in the IP Fabric integration.
  • #891 - Added Prefix synchronization to the IP Fabric integration, behind a new Sync Prefixes job option that is off by default. Each network in IP Fabric's IPv4 and IPv6 managed IP summary becomes a Prefix in the Global Namespace, recorded at the Locations it is seen at. A Prefix Nautobot already holds is adopted rather than duplicated, and only Prefixes the sync has tagged are ever removed. The job reports networks that overlap a network seen only at other sites.
  • #892 - Added the VLAN a network is reported in to the Prefixes the IP Fabric integration syncs. A network whose addresses are in different VLANs is left without one, and the VLANs are recorded in a custom field.
  • #893 - Added the ipfabric_stack_member_name and ipfabric_stack_master_name settings to the IP Fabric integration, which names the Devices of a stack, and renames the stack Devices already synced when either changed.
  • #895 - Added a Sync Software Versions option to the IP Fabric integration, off by default. It sets each Device's Software Version from the OS version IP Fabric reports, creating the version under the Device's Platform where Nautobot has none.
  • #896 - Added a Sync Software Images option to the IP Fabric integration, off by default. It sets the image file each Device booted from, creating the Software Image File under the Device's Software Version and mapping it to the Device's Device Type.
  • #897 - The IP Fabric sync now records which port channel an Interface is a member of, read from IP Fabric's port channel member status table.
  • #898 - Added a Sync Host Addresses option to the IP Fabric integration, which creates an IP Address for each host IP Fabric discovered, with its DNS name and MAC address, under the synced Prefix that covered it.
  • #1234 - Added new documentation for contrib module.
  • #1301 - Added grouping and descriptions to Infoblox-managed custom fields so they're clearly identified.
  • #1342 - Added a VLAN Group per Location to the IP Fabric integration, named after the Location, so that Nautobot constrains a VLAN ID to one VLAN there. VLANs that predate the group are moved into it on the first sync after upgrading, whether or not anything else about them changed. The cases where a VLAN is left outside the group are documented in the IP Fabric integration.
  • #1343 - The IP Fabric sync now syncs Interfaces that IP Fabric's interface inventory does not return but that its managed address table names, such as an SVI, a loopback or a tunnel. The job reports what the inventory omitted, once per naming scheme.
  • #1345 - A subinterface synced from IP Fabric is now put under the port it is configured on, through Nautobot's Parent Interface. Nautobot accepts a parent only on a virtual Interface, so a subinterface given one is synced as virtual.
  • #1347 - Added Prefixes to the IP Fabric integration's Strict Objects. Selected, the sync creates no Prefixes: an interface address that no existing Prefix covers is left unwritten and reported at the end of the sync, and a network IP Fabric reports is only adopted where Nautobot already holds it, so address space in use that an externally governed IPAM does not account for is surfaced instead of absorbed.
  • #1348 - Added a Tenant option to the IP Fabric job. When set, the sync only reads that Tenant's Devices, VLANs, VRFs, Route Targets and Prefixes from Nautobot, gives the Tenant to the objects it creates and to existing ones that have none, and leaves objects of other Tenants untouched.
  • #1363 - Added a Namespace option to the IP Fabric job, which puts the sync's IP Addresses, Prefixes and VRFs in the chosen Namespace instead of always in the Global Namespace.
  • #1376 - Added aruba-instant and clearpass platforms to manufacturer Aruba Networks for LibreNMS integration

Changed

  • #177 - Reduced Infoblox API client log noise: per-page progress and IPv6 DHCP Range messages are now logged at debug level, and API errors are no longer logged a second time before being raised.
  • #197 - The IP Fabric sync now writes the chassis serial (snHw) to a Device's Serial field, rather than the serial IP Fabric identifies the Device by (sn), which Nautobot's field does not mean. The latter is recorded in the new IPFabric Unique Serial Number custom field. A Device IP Fabric reports no chassis serial for keeps the serial Nautobot holds rather than having it cleared, and the job reports how many.
  • #884 - Changed the IP Fabric integration to derive an Interface's Enabled from the physical state and reason IP Fabric reports, rather than writing every Interface as enabled. An Interface is synced as not enabled where the physical state names the administrator, or where it is down and the reason does, which is how most platforms report a shut port. A state that names neither is reported in the job log and leaves Nautobot's value alone. The states this covers are documented in the IP Fabric integration's Interface state section.
  • #1341 - An IP Fabric Interface whose type is resolved from neither the reported media type nor the Interface's name now keeps the type Nautobot holds, rather than being overwritten with the configured default. The default still applies to an Interface the sync creates. The job log reports what went unresolved, once per media type and once per naming scheme.
  • #1342 - Changed the IP Fabric integration to identify a VLAN by its VLAN ID at a Location rather than by its name, so that a VLAN renamed on the network is synced as an update instead of as a delete and a create. The first sync after upgrading renames any VLAN that Nautobot holds under a different name for the same VLAN ID at the same Location, where previously it would have created a second VLAN and removed or deprecated the first.
  • #1348 - Changed the IP Fabric integration's Sync Tagged Only option to cover Cables, so a Cable that does not carry the synced Tag is neither removed for being absent from IP Fabric nor displaced by a link IP Fabric reports.
  • #1362 - Stopped recording a change log entry for an IP Fabric object the sync found unchanged. An object IP Fabric still reports exactly as Nautobot holds it is stamped with one update of its custom field data rather than a full save, so its last_synced_from_sor date still moves but its Change Log tab now shows the runs that changed something rather than one entry per run. An object the sync does change is written in full, with validation and a change log entry, as before.
  • #1364 - Changed the IP Fabric integration to write Interfaces, addresses, Interface VLAN assignments, VRF assignments and Cables only to the Devices a run reads.
  • #1364 - Changed the IP Fabric integration to read the Devices and VLANs it tagged at Locations another App owns when Locations are deselected under Sync Tagged Only, so that they are updated rather than created again on every run.
  • #1364 - Changed the IP Fabric integration to remove the Devices and VLANs it tagged at Locations another App owns, subject to Safe Delete Mode, when IP Fabric stops reporting them at a site it still reports.
  • #1366 - Changed the IP Fabric integration to allow version 8 of the ipfabric SDK, so it can connect to IP Fabric 8 servers. A new install now gets SDK 8, which won't connect to an IP Fabric 7 server; installs against IP Fabric 7 need to pin ipfabric<8, as described in the IP Fabric setup guide.

Fixed

  • #667 - Fixed Infoblox Extensible Attributes listed in cf_fields_ignore by their Nautobot custom field key (for example site_code) still being synchronized.
  • #808 - Fixed the Infoblox to Nautobot sync failing with a KeyError for VLANs that belong to a VLAN Range, or whose VLAN or VLAN View name contains a space.
  • #809 - Fixed Infoblox sync failures when an Extensibility Attribute maps to a Location or VRF on VLANs, VLAN Groups, Namespaces or IP Addresses.
  • #809 - Fixed VLAN Group updates from Infoblox not being saved to Nautobot.
  • #1342 - Fixed the IP Fabric integration skipping a VLAN whose name is longer than Nautobot's name field. The name is truncated and the full value reported in the job log, rather than the VLAN going unsynced.
  • #1361 - Fixed the IP Fabric integration sharing Safe Delete Mode between concurrent syncs. It was set on the adapter and model classes rather than per run, so two syncs in one Celery worker shared it and a run with Safe Delete Mode selected could delete objects because a concurrent run without it was started second. It now reaches the adapter through its constructor, as the other job options do, and each model reads it from the adapter it is bound to.
  • #1362 - Reduced the work an IP Fabric sync does per object further. An unchanged IP Address, Interface, VLAN, Location or Cable is stamped with one update rather than a validated save worth about eleven queries, a new Cable is written once rather than twice, resolving an address reads the address table once rather than twice, and the Status and LocationType checks a VLAN needs are resolved once for the run rather than once per VLAN. Objects queued for deletion are held as a model and primary key rather than as loaded instances, which on a large teardown were retained with everything their queryset selected alongside them.
  • #1364 - Fixed the IP Fabric integration removing the Cables, VRF assignments, Interface VRFs and Interface VLANs of the Devices at a site IP Fabric does not report when Locations are deselected.
  • #1364 - Fixed Bulk Write Mode in the IP Fabric integration failing to move a Device already in Nautobot to a Location created in the same run, missing the port or port channel created in the same run for an Interface already in Nautobot, and not saving the virtual chassis membership of a Device already in Nautobot.
  • #1364 - Fixed Bulk Write Mode in the IP Fabric integration creating a second IP Address for a discovered host whose address the same run assigned to an Interface.
  • #1366 - Fixed the IP Fabric job hiding why its IP Fabric client could not be created; the Job log now includes the reason, such as an SDK and server major version mismatch or a connection failure. The Nautobot server log now records the reason too when the Job form cannot list snapshots, and the form recovers once IP Fabric is reachable again instead of failing until the worker restarts.
  • #1397 - Fixed the IP Fabric integration reporting most of its warnings only to the worker log. 49 messages, 36 of them warnings or errors, were written to a module level logger that Nautobot does not attach the Job Result handler to, so an operator reading the sync in the UI could not see which records it had declined to write. Every message now goes through the job logger, and no module of the integration keeps a logger of its own. What the sync reports about every object it touches is counted and summarised once rather than written per object, since a job log entry is a database write: Safe Delete Mode reports one line per object type and outcome, and the pseudo management Interfaces, Devices with no usable serial number and self-linking connectivity matrix entries are each reported as a count.
  • #1407 - Fixed the IP Fabric sync leaving logical interfaces with no port behind them, such as Junos gr-0/0/0, st0, irb, vlan and gre, IOS-XR Null0 and Linux tun devices, with the default physical type rather than recording them as virtual.
  • #1410 - Fixed the IP Fabric integration never syncing FHRP virtual addresses. They are now read from IP Fabric's FHRP group state table, which names the Interface each address is on, and IPv6 and secondary virtual addresses are included.
  • #1425 - Fixed the Infoblox Nautobot adapter adding the integration's built-in custom field names to the configured cf_fields_ignore list on every object it loaded, which made loading slow down quadratically with the number of objects.
  • #1433 - Fixed the Cisco SD-WAN integration leaving a VRF assigned to a Device after the SD-WAN Manager reported a different VRF, or no VRF, on that Device's interfaces. Unused VRFs are now released from the Device, and deleted when no interface anywhere still uses them.
  • #1433 - Fixed the Cisco SD-WAN integration saving every Device on every sync, which recorded a change log entry for a Location the sync deliberately leaves untouched. A Device whose only difference is its Location is no longer written.

Documentation

  • #700 - Documented that a default Infoblox configuration, External Integration and Secrets Group are created at startup when no Infoblox configuration exists.
  • #789 - Fixed the Infoblox configuration documentation to list each setting by its field name, alongside its form label, and corrected the documented defaults for the DNS record type and the Network View to Namespace map.

Housekeeping

  • #1364 - Applied deferred change logging to every IP Fabric model operation from a shared base class, and declared which models write object by object, rather than each model doing both by hand.
  • #1386 - Stopped the deprecated cable lookups in the IP Fabric integration failing invoke pylint on Nautobot 3.2. pylint-nautobot 1.1.0 added nb-deprecated-cable-lookup, which flags the Nautobot 3.0 and 3.1 arm of a version check where cable_termination does not exist. The warning is suppressed on that one line until those versions are no longer served, in a form that also passes on Nautobot 3.1, whose pylint-nautobot does not have that checker to name.
  • #1396 - Changed the punctuation in the IP Fabric integration documentation and code comments, replacing em dashes with the commas, colons, semicolons and parentheses each sentence called for.