8.9 KiB
NetBox v4.6
v4.6.0 (FUTURE)
New Features
Virtual Machine Types (#5795)
A new VirtualMachineType model has been introduced to enable categorization of virtual machines by instance type, analogous to how DeviceType categorizes physical hardware. VM types can be defined once and reused across many virtual machines.
Cable Bundles (#20151)
A new CableBundle model allows individual cables to be grouped together to represent physical cable runs that are managed as a unit; e.g. a bundle of 48 CAT6 cables between two patch panels. (Please note that this feature is not suitable for modeling individual fiber strands within a single cable.)
Rack Groups (#20961)
A flat RackGroup model has been reintroduced to provide a lightweight secondary axis of rack organization (e.g. by row or aisle) that is independent of the location hierarchy. Racks carry an optional foreign key to a RackGroup, and RackGroup can also serve as a scope for VLANGroup assignments.
ETag Support for REST API (#21356)
The REST API now returns an ETag header on responses for individual objects, derived from the object's last-updated timestamp. Clients can supply an If-Match header on PUT/PATCH requests to guard against conflicting concurrent updates; if the object has been modified since the ETag was issued, the server returns a 412 (Precondition Failed) response.
Cursor-based Pagination for REST API (#21363)
A new start query parameter has been introduced as an efficient alternative to the existing offset parameter for paginating large result sets. Rather than scanning the table up to a relative offset, the start parameter filters for objects with a primary key equal to or greater than the given value, enabling constant-time pagination regardless of result set size.
Enhancements
- #12024 - Permit virtual machines to be assigned to devices without a cluster
- #14329 - Improve diff highlighting for custom field data in change logs
- #15513 - Add bulk creation support for IP prefixes
- #17654 - Support role assignment for ASNs
- #19025 - Support optional schema validation for JSON custom fields
- #19034 - Annotate total reserved unit count on rack reservations
- #19138 - Include NAT addresses for primary & out-of-band IP addresses in REST API
- #19796 - Support
{module}position inheritance for nested module bays - #19953 - Enable debugging support for ConfigTemplate rendering
- #20123 - Introduce options to control adoption/replication of device components (replicates UI behavior)
- #20152 - Support for marking module and device bays as disabled
- #20162 - Provide an option to execute as a background job when adding components to devices in bulk
- #20163 - Add changelog message support for bulk device component creation
- #20698 - Add read-only
total_vlan_idsattribute on VLAN group representation in REST & GraphQL APIs - #20916 - Include stack trace for unhandled exceptions in job logs
- #21157 - Include all public model classes in export template context
- #21409 - Introduce
CHANGELOG_RETAIN_CREATE_LAST_UPDATEconfiguration parameter to retain creation & most recent update record in change log for each object - #21575 - Introduce
{vc_position}template variable for device component template name/label - #21662 - Increase
rf_channel_frequencyprecision to 3 decimal places - #21702 - Include a serialized representation of the HTTP request in each webhook
- #21720 - Align HTTP basic auth regex of
EnhancedURLValidatorwith Django'sURLValidator - #21770 - Enable specifying columns to include/exclude on embedded tables
- #21771 - Add support for partial tag assignment (
add_tags) and removal (remove_tags) via REST API - #21780 - Add changelog message support to bulk creation of IP addresses
- #21865 - Allow setting empty
INTERNAL_IPSto enable debug toolbar for all clients
Performance
- #21455 - Ensure PostgreSQL indexes exists to support the default ordering of each model
Plugins
- #20924 - Introduce support for declarative layouts and reusable UI components
- #21357 - Provide an API for plugins to register custom model actions (for permission assignment)
Deprecations
- #21284 - Deprecate the
usernameandrequest_idfields in event data - #21304 - Deprecate the
housekeepingmanagement command - #21331 - Deprecate NetBox's custom
querystringtemplate tag - #21881 - Deprecate legacy Sentry configuration parameters
- #21884 - Deprecate the obsolete
DEFAULT_ACTION_PERMISSIONSmapping - #21887 - Deprecate support for legacy view actions
- #21890 - Deprecate
modelskey in application registry
Other Changes
REST API Changes
- New features:
ETagresponse header andIf-Matchrequest header support for all individual object endpointsstartquery parameter for cursor-based pagination on all list endpointsadd_tagsandremove_tagswrite-only fields on all taggable model serializers
- New endpoints:
GET/POST /api/dcim/cable-bundles/GET/PUT/PATCH/DELETE /api/dcim/cable-bundles/<id>/GET/POST /api/dcim/rack-groups/GET/PUT/PATCH/DELETE /api/dcim/rack-groups/<id>/GET/POST /api/virtualization/vm-types/GET/PUT/PATCH/DELETE /api/virtualization/vm-types/<id>/
dcim.Cable- Add optional foreign key field
bundle
- Add optional foreign key field
dcim.Device- The
primary_ip,primary_ip4,primary_ip6, andoob_ipnested representations now includenat_insideandnat_outside
- The
dcim.DeviceBay- Add boolean field
enabled - Add read-only boolean field
_occupied
- Add boolean field
dcim.DeviceBayTemplate- Add boolean field
enabled
- Add boolean field
dcim.Module- Add write-only boolean fields
replicate_componentsandadopt_components
- Add write-only boolean fields
dcim.ModuleBay- Add boolean field
enabled - Add read-only boolean field
_occupied
- Add boolean field
dcim.ModuleBayTemplate- Add boolean field
enabled
- Add boolean field
dcim.Rack- Add optional foreign key field
group
- Add optional foreign key field
dcim.RackReservation- Add read-only integer field
unit_count
- Add read-only integer field
extras.CustomField- Add JSON field
validation_schema
- Add JSON field
ipam.ASN- Add optional foreign key field
role
- Add optional foreign key field
ipam.Role- Annotate count of assigned ASNs (
asn_count)
- Annotate count of assigned ASNs (
ipam.VLANGroup- Add read-only field
total_vlan_ids
- Add read-only field
virtualization.VirtualMachine- Add optional foreign key field
virtual_machine_type - The
primary_ip,primary_ip4, andprimary_ip6nested representations now includenat_insideandnat_outside - The
clusterfield is now optional (nullable)
- Add optional foreign key field