Skip to content

v4 Release Notes

v4.0.0 (2025-05-26)

Changes

Required upgrade steps

For successful migration please follow netbox-branching installation instructions. Step 3 and 4 should be enough since the plugin is installed as dependency and just needs enabling and configuring.

Simplified installation instructions:

  1. Enable the plugin in configuration.py (must be last!)
    PLUGINS = [
        # ...
        'netbox_branching',
    ]
    
  2. Create /opt/netbox/netbox/netbox/local_settings.py with following content. It assumes your configuration.py is in /opt/netbox/netbox/netbox/.
    from netbox_branching.utilities import DynamicSchemaDict
    from .configuration import DATABASE
    
    # Wrap DATABASES with DynamicSchemaDict for dynamic schema support
    DATABASES = DynamicSchemaDict({
        'default': DATABASE,
    })
    
    # Employ our custom database router
    DATABASE_ROUTERS = [
        'netbox_branching.database.BranchAwareRouter',
    ]
    

Danger

When upgrading to v4.0.0+, make sure to upgrade at the same step as NetBox to 4.3.0+. If you already upgraded your NetBox instance, follow Cannot resolve bases for [<ModelState: 'ipfabric_netbox.IPFabricBranch'>] instructions.

  • Renamed ingestion -> sync and branch -> ingestion to avoid conflicts with netbox-branching.
  • Renamed Name -> Object in list of ingestion changes and linked to the item if it exists.
  • Removed unused status field from IPFabricTransformMap and cleaned all references.

Fixes

  • Quick search for staged changes was ignoring their values.
  • Sync for InventoryItem failed when name was longer than 64 characters.
  • Unable to delete IP Fabric Ingestion in UI.
  • Data were not validated on model save.

Warning

This will cause more failures during data ingestion. These are not new, but are not hidden anymore. It would cause error when manipulating the faulty object synced by previous versions.

  • Ingestion Job was listed in Sync and not in Ingestion.
  • The Default value for template is empty string instead of None.
  • duplex and speed on Interface take unknown value as None.
  • Correctly set DeviceType when model is empty.
  • Convert platform to slug when using it for DeviceType.
  • Ignored VLAN with VLAN ID 0.
  • Ignore InventoryItems with None serial number.