Releases: netbox-community/netbox
v4.2.6 - 2025-03-21
Enhancements
- #17503 - Add rack title above rack on rack detail view
- #17686 - Add config option for disk space divisor
- #18579 - Update filtersets and filter forms to include contact filters where missing
- #18744 - Ensure contact link in tables is hyperlinked
- #18816 - Add FC/UPC, FC/APC and FC/PC port types
- #18880 - Delay enqueuing background tasks until DB transaction is committed to avoid race condition
- #18939 - Support site group search for ASNs
Bug Fixes
- #18409 - Eliminate N+1 issue by adding generic prefetch operation to Interface API endpoint
- #18557 - Update JSONField to enclose bare string values in quotes
- #18582 - Fix prefix bulk import with associated VLAN and conflicting VLAN IDs
- #18742 - Ensure location list and detail views show related VLAN group information
- #18782 - Ensure misconfigured object list widgets on the dashboard now degrade gracefully
- #18833 - Fix inventory item bulk edit to ensure that component name and type are both validated Ensure
- #18838 - Ensure that local context data correctly rejects falsy values
- #18845 - Restore default sort behavior of name column on devices list view
- #18863 - Exempt MPTT-based models from ordering fix introduced in #18279
- #18869 - Ensure numeric conversion helper always return a clean decimal value
- #18872 - Ensure that
kind
is a required field when making journal entries - #18884 - Ensure tag deserialization is handled correctly
- #18887 - Allow VM interface objects to be set on prefix object-type custom field
- #18926 - Fix icon displayed for GitHub authentication on login page
- #18928 - Support cascading deletions when cleaning up expired changelog records
- #18933 - Allow filtering VLAN groups by associated site groups
- #18944 - Ensure clearing "Widget type" field when adding widgets to dashboard does not cause a "ValueError: Unregistered widget class" error
- #18949 - Add missing contacts property to GraphQL types where the associated model has a connection to a contact
v4.2.5 - 2025-03-06
Enhancements
- #17357 - Use VirtualChassis name as fallback for unnamed devices
- #17542 - Add contact assignments to VPN tunnels
- #17944 - Allow script inputs to be filtered on ObjectVar and MultiObjectVar selections
- #18024 - Add permalink URL pattern to match a custom script by module and class name
- #18095 - Ensure contacts are shown on children of objects with contacts
- #18141 - Support "Quick Add" for plugins
- #18403 - Improve performance of job list views
- #18693 - Support setting VLAN translation on bulk edit of interfaces
- #18772 - Add "type" filter for virtual circuits
- #18774 - Add tooltip preview of tag descriptions when hovering over tags
Bug Fixes
- #15016 - Prevent AssertionError when adding multiple devices "mid-span" in a cable trace
- #15924 - Prevent setting tagged VLANs on interfaces with mode: tagged-all
- #17488 - Ensure VLANGroup.vid_ranges shows up in API results
- #17796 - Fix IndexError on "Create & Add Another" operation on custom field choices
- #17709 - Allow primary key for nested models in OpenAPI request schemas
- #18605 - Limit VLAN selection dropdown to choices appropriate to site
- #18722 - Improve UI feedback on failed script execution
- #18729 - Fix unpredictable ordering on querysets with annotations/groupings
- #18753 - Prevent webhooks from being triggered on a script dry-run
- #18758 - Fix FieldError when sorting by account count field in providers list
- #18768 - Fix removing a secondary MAC address from an interface
v4.2.4 - 2025-02-21
Enhancements
- #17309 - Omit empty counts in related object tables
- #18277 - Improve multi-table inheritance in serialization of change-logged models
- #18286 - Add more job duration choices
- #18357 - Display author name in plugin list for locally installed plugins
- #18408 - Add Paused status for virtual machines
- #18584 - Add rack type column to manufacturer list
Bug Fixes
- #17436 - Fix {module} replacement in module bays
- #18013 - Limit object type to selected object in change log filter
- #18241 - Default logging level of custom scripts changed to INFO
- #18247 - Fix visibility of disabled cable paths in dark mode
- #18480 - Clean data passed to script in runscript command
- #18555 - Add default get_absolute_url method to plugin models
- #18585 - Fix filtering circuits by location
- #18593 - Fix "Create & Add Another" IP Address workflow
- #18594 - Enable sorting by ASN count on site and provider lists
- #18619 - Ensure shift-click selection selects only visible list items
- #18674 - Preserve form values when selecting speed on circuit termination
v4.2.3 - 2025-02-04
Enhancements
- #18518 - Add a "hostname"
<meta>
tag to the page header
Bug Fixes
- #18497 - Fix unhandled
FieldDoesNotExist
exception when search results include virtual circuit - #18433 - Fix MAC address not shown as "primary for interface" in MAC address detail view
- #18154 - Allow anonymous users to change default table preferences
- #18515 - Fix Django
collectstatic
management command in debug mode with Redis not running - #18456 - Avoid duplicate MAC Address column in interface tables
- #18447 - Fix
FieldError
exception when sorting interface tables on MAC Address columns - #18438 - Improve performance in IPAM migration
0072_prefix_cached_relations
when upgrading from v4.1 or earlier - #18436 - Reset primary MAC address when unassigning MAC address from interface
- #18181 - Fix "Create & Add Another" workflow when adding IP addresses to interfaces
v4.2.2 - 2025-01-17
Bug Fixes
- #18336 - Validate new rack height against installed devices when changing a rack's type
- #18350 - Fix
FieldDoesNotExist
exception when global search results include a circuit termination - #18353 - Disable fetching of plugin catalog data when
ISOLATED_DEPLOYMENT
is enabled - #18362 - Avoid transmitting census data on every worker restart
- #18363 - Fix support for assigning a MAC address to an interface via the REST API
- #18368 - Restore missing attributes from REST API serializer for MAC addresses (
tags
,created
,last_updated
, and custom fields) - #18369 - Fix
TypeError
exception when rendering the system configuration view with one or more custom classes defined underPROTECTION_RULES
- #18373 - Fix
AttributeError
exception when attempting to assign host devices to a cluster - #18376 - Fix the display of tagged VLANs in interfaces list for Q-in-Q interfaces
- #18379 - Ensure RSS feed dashboard widget content is sanitized
- #18392 - Virtual machines should not inherit config contexts assigned to locations
- #18400 - Fix support for
STORAGE_BACKEND
configuration parameter - #18406 - Scope column headers in object lists should not be orderable
v4.2.1 - 2025-01-08
Bug Fixes
- #18282 - Fix ordering of prefixes list by assigned VLAN
- #18314 - Fix KeyError exception when rendering pre-saved dashboard (
requires_internet
missing) - #18316 - Fix AttributeError exception when global search results include prefixes and/or clusters
- #18318 - Correct navigation breadcrumbs for module type UI view
- #18324 - Correct filtering for certain related object listings
- #18329 - Address upstream bug in GraphQL API where only one primary IP address is returned within a device/VM list
v4.2.0 - 2025-01-06
Warning
This release requires PostgreSQL 13 or later. Please ensure you are running a suitable version of PostgreSQL before attempting to upgrade.
Breaking Changes
- Support for the Django admin UI has been completely removed. (The Django admin UI was disabled by default in NetBox v4.0.)
- This release drops support for PostgreSQL 12. PostgreSQL 13 or later is required to run this release.
- 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
site
andprovider_network
foreign key fields oncircuits.CircuitTermination
have been replaced by thetermination
generic foreign key. - The
site
foreign key field onipam.Prefix
has been replaced by thescope
generic foreign key. - The
site
foreign key field onvirtualization.Cluster
has been replaced by thescope
generic foreign key. - The
circuit
foreign key field oncircuits.CircuitGroupAssignment
has been replaced by themember
generic 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_pipeline
configuration 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
PluginTemplateExtension
subclass for a single model has been deprecated (replacemodel
withmodels
) - #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
*_import
to*_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
v4.1.11 - 2025-01-06
Bug Fixes
- #17771 - Fix duplicate entries appearing on VLAN list when filtering by interface assignment
- #18222 - Pass event rule action data to webhooks as context data
- #18263 - Fix recalculation of cable paths when modifying cable terminations via the REST API
- #18271 - Require only encryption or authentication algorithm when creating an IPSec proposal via the REST API
- #18289 - Enable ordering modules and module types by created & last updated times
v4.1.10 - 2024-12-23
Bug Fixes
- #18260 - Fix object change logging
v4.1.9 - 2024-12-18
Caution
This release contains a regression which breaks change logging. Please use release v4.1.10 instead.
Enhancements
- #17215 - Change the highlighted color of disabled interfaces in interface lists
- #18224 - Apply all registered request processors when running custom scripts
Bug Fixes
- #16757 - Fix rendering of IP addresses table when assigning an existing IP address to an interface with global HTMX navigation enabled
- #17868 - Fix
ZeroDivisionError
exception under specific circumstances when generating a cable trace - #18124 - Enable referencing cable attributes when querying a
cabletermination_set
via the GraphQL API - #18230 - Fix
AttributeError
exception when attempting to edit an IP address assigned to a virtual machine interface