v4 Release Notes
v4.2.0 (2025-07-18)
Changes
- Enhanced Installation Guide.
- All data in Ingestion detail views (newly statistics and tabs) are now updated every 5 seconds with the logs.
- Most issues during ingestion are now stored as
IPFabricIngestionIssueobjects and can be viewed in separate Ingestion detail tab view. - Ingestion will show as passed when no errors occurred and only some issues were found.
- Added
extragroup for IPF SDK version7.3.
Fixes
- Device topology view was using the wrong data for Site ID.
- Sync settings are more strictly respected in the sync process. This applies for all models but
DeviceandInterfacewhich need to be obtained from the database if their child models are asked to be synced.
v4.1.0 (2025-06-24)
Changes
- Added
IPFabricTransformMapGroupmodel to groupIPFabricTransformMapobjects together. - Restoring transform maps restores only those with no group assigned.
- Sync now prioritizes using transform maps from groups specified in the sync settings.
- Dropped
extragroup support for IPF SDK <6.10and added version7.2.
Fixes
- Fixed topology view hanging on error.
- Updated docs to incorporate
local_settings.pyintoconfiguration.py.
v4.0.1 (2025-06-03)
Fixes
- NetBox plugin list showed the previous version as installed.
v4.0.0 (2025-05-27)
Changes
- We are now using netbox-branching to handle staging.
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:
Modify your configuration.py with the following content. Replace $ORIGINAL_DATABASE_CONFIG with your original DATABASE configuration dictionary. If you are using other DATABASE_ROUTERS, make sure to include them in the list.
from netbox_branching.utilities import DynamicSchemaDict
# Wrap DATABASES with DynamicSchemaDict for dynamic schema support
DATABASES = DynamicSchemaDict({
'default': $ORIGINAL_DATABASE_CONFIG,
})
# Employ netbox-branching custom database router
DATABASE_ROUTERS = [
'netbox_branching.database.BranchAwareRouter',
]
# Add `netbox-branching` to plugins list (must be last!)
PLUGINS = [
# ...
'netbox_branching',
]
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 -> syncandbranch -> ingestionto avoid conflicts with netbox-branching. - Renamed
Name -> Objectin list of ingestion changes and linked to the item if it exists. - Removed unused
statusfield fromIPFabricTransformMapand cleaned all references.
Fixes
- Quick search for staged changes was ignoring their values.
- Sync for
InventoryItemfailed 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. duplexandspeedonInterfacetakeunknownvalue asNone.- Correctly set
DeviceTypewhenmodelis empty. - Convert platform to
slugwhen using it forDeviceType. - Ignored
VLANwithVLAN ID0. - Ignore
InventoryItems withNoneserial number.