NetBox v4.2
v4.2.0 (2025-01-06)
Breaking Changes
- Support for the Django admin UI has been completely removed. (The Django admin UI was disabled by default in NetBox v4.0.)
- NetBox has adopted collation-based natural ordering for many models. This may alter the order in which some objects are listed by default.
- Automatic redirects from pre-v4.1 UI views for virtual disks have been removed.
- The
siteandprovider_networkforeign key fields oncircuits.CircuitTerminationhave been replaced by theterminationgeneric foreign key. - The
siteforeign key field onipam.Prefixhas been replaced by thescopegeneric foreign key. - The
siteforeign key field onvirtualization.Clusterhas been replaced by thescopegeneric foreign key. - The
circuitforeign key field oncircuits.CircuitGroupAssignmenthas been replaced by themembergeneric foreign key. - Obsolete nested REST API serializers have been removed. These were deprecated in NetBox v4.1 under #17143.
New Features
Assign Multiple MAC Addresses per Interface (#4867)
MAC addresses are now managed as independent objects, rather than attributes on device and VM interfaces. NetBox now supports the assignment of multiple MAC addresses per interface, and allows a primary MAC address to be designated for each.
Quick Add UI Widget (#5858)
A new UI widget has been introduced to enable conveniently creating new related objects while creating or editing an object. For instance, it is now possible to create and assign a new device role when creating or editing a device from within the device form.
VLAN Translation (#7336)
User can now define policies which track the translation of VLAN IDs on IEEE 802.1Q-encapsulated interfaces. Translation policies can be reused across multiple interfaces.
Virtual Circuits (#13086)
New models have been introduced to support the documentation of virtual circuits as an extension to the physical circuit modeling already supported. This enables users to accurately reflect point-to-point or multipoint virtual circuits atop infrastructure comprising physical circuits and cables.
Q-in-Q Encapsulation (#13428)
NetBox now supports the designation of customer VLANs (CVLANs) and service VLANs (SVLANs) to support IEEE 802.1ad/Q-in-Q encapsulation. Each interface can now have it mode designated "Q-in-Q" and be assigned an SVLAN.
Enhancements
- #6414 - Prefixes can now be scoped by region, site group, site, or location
- #7699 - Virtualization clusters can now be scoped by region, site group, site, or location
- #9604 - The scope of a circuit termination now include a region, site group, site, location, or provider network
- #10711 - Wireless LANs can now be scoped by region, site group, site, or location
- #11279 - Improved the use of natural ordering for various models throughout the application
- #12596 - Extended the virtualization clusters REST API endpoint to report on allocated VM resources
- #16547 - Add a geographic distance field for circuits
- #16783 - Add an operational status field for inventory items
- #17195 - Add a color field for power outlets
Plugins
- #15093 - Introduced the
events_pipelineconfiguration parameter, which allows plugins to hook into NetBox event processing - #16546 - NetBoxModel now provides a default
get_absolute_url()method - #16971 - Plugins can now easily register system jobs to perform background tasks
- #17029 - Registering a
PluginTemplateExtensionsubclass for a single model has been deprecated (replacemodelwithmodels) - #18023 - Extend
register_model_view()to handle list views
Other Changes
- #16136 - Removed support for the Django admin UI
- #17165 - All obsolete nested REST API serializers have been removed
- #17472 - The legacy staged changes API has been deprecated, and will be removed in Netbox v4.3
- #17476 - Upgrade to Django 5.1
- #17752 - Bulk object import URL paths have been renamed from
*_importto*_bulk_import - #17761 - Optional choice fields now store empty values as null (rather than empty strings) in the database
- #18093 - Redirects for pre-v4.1 virtual disk UI views have been removed
REST API Changes
- Added the following endpoints:
/api/circuits/virtual-circuits//api/circuits/virtual-circuit-terminations//api/dcim/mac-addresses//api/ipam/vlan-translation-policies//api/ipam/vlan-translation-rules/
- circuits.Circuit
- Added the optional
distanceanddistance_unitfields
- Added the optional
- circuits.CircuitGroupAssignment
- Replaced the
circuitfield withmember_typeandmember_idto support virtual circuit assignment
- Replaced the
- circuits.CircuitTermination
- Removed the
site&provider_networkfields - Added the
termination_type&termination_idfields to facilitate termination assignment - Added the read-only
terminationfield
- Removed the
- dcim.Interface
- The
mac_addressfield is now read-only - Added the
primary_mac_addressrelation to dcim.MACAddress - Added the read-only
mac_addresseslist - Added the
qinq_svlanrelation to ipam.VLAN - Added the
vlan_translation_policyrelation to ipam.VLANTranslationPolicy - Added
modechoice "Q-in-Q"
- The
- dcim.InventoryItem
- Added the optional
statuschoice field
- Added the optional
- dcim.Location
- Added the read-only
prefix_countfield
- Added the read-only
- dcim.PowerOutlet
- Added the optional
colorfield
- Added the optional
- dcim.Region
- Added the read-only
prefix_countfield
- Added the read-only
- dcim.SiteGroup
- Added the read-only
prefix_countfield
- Added the read-only
- ipam.Prefix
- Removed the
sitefield - Added the
scope_type&scope_idfields to facilitate scope assignment - Added the read-only
scopefield
- Removed the
- ipam.VLAN
- Added the optional
qinq_roleselection field - Added the
qinq_svlanrecursive relation
- Added the optional
- virtualization.Cluster
- Removed the
sitefield - Added the
scope_type&scope_idfields to facilitate scope assignment - Added the read-only
scopefield
- Removed the
- virtualization.Cluster
- Added the read-only fields
allocated_vcpus,allocated_memory, andallocated_disk
- Added the read-only fields
- virtualization.VMInterface
- The
mac_addressfield is now read-only - Added the
primary_mac_addressrelation to dcim.MACAddress - Added the read-only
mac_addresseslist - Added the
qinq_svlanrelation to ipam.VLAN - Added the
vlan_translation_policyrelation to ipam.VLANTranslationPolicy - Added
modechoice "Q-in-Q"
- The
- wireless.WirelessLAN
- Added the
scope_type&scope_idfields to support scope assignment - Added the read-only
scopefield
- Added the