8.0 KiB
v3.7-beta1 (FUTURE)
Breaking Changes
- The
ui_visibilityfield on the custom field model has been replaced with two new fields:ui_visibleandui_editable. Existing values will be migrated automatically upon upgrade. - The
FeatureQueryclass for querying content types by model feature has been removed. Plugins should now use the newwith_feature()manager method on NetBox's proxy model for ContentType. - The ConfigRevision model has been moved from
extrastocore. Configuration history will be retained throughout the upgrade process. - The L2VPN and L2VPNTermination models have been moved from the
ipamapp to the newvpnapp. All object data will be retained however please note that the relevant API endpoints have been moved to/api/vpn/. - The
CustomFieldsMixin,SavedFiltersMixin, andTagsMixinclasses have moved from theextras.forms.mixinstonetbox.forms.mixins.
New Features
VPN Tunnels (#9816)
Several new models have been introduced to enable VPN tunnel management. Users can now define tunnels with two or more terminations to replicate peer-to-peer or hub-and-spoke topologies. Each termination is made to a virtual interface on a device or VM. Additionally, users can define IKE and IPSec policies which can be applied to tunnels to document encryption and authentication strategies.
Virtual Machine Disks (#8356)
A new VirtualDisk model has been introduced to enable tracking the assignment of discrete virtual disks to virtual machines. The original size field has been retained on the VirtualMachine model, and will be automatically updated with the aggregate size of all assigned virtual disks. (Users who opt to eschew the new model may continue using the VirtualMachine size attribute as before.)
Protection Rules (#10244)
A new PROTECTION_RULES configuration parameter is now available. Similar to how custom validation rules can be used to enforce certain values for object attributes, protection rules guard against the deletion of objects which do not meet specified criteria. This enables an administrator to prevent, for example, the deletion of a site which has a status of "active."
Improved Custom Field Visibility Controls (#13299)
The old ui_visible field on the custom field model](../models/extras/customfield.md) has been replaced by two new fields, ui_visible and ui_editable, which control how and whether a custom field is displayed when view and editing an object, respectively. Separating these two functions into discrete fields enables more control over how each custom field is presented to users. The values of these fields will be appropriately set automatically during the upgrade process depending on the value of the original field.
Extend Display of Global Search Results (#14134)
Global search results now include additional context about each object, such as a description, status, and/or related objects. The set of attributes to be displayed is specific to each object type, and is defined by setting display_attrs under the object's SearchIndex class.
Table Column Registration for Plugins (#14173)
Plugins can now register their own custom columns for inclusion on core NetBox tables. For example, a plugin can register a new column on SiteTable using the new register_table_column() utility function, and it will become available for users to select for display.
Data Backend Registration for Plugins (#13381)
Plugins can now register their own data backends for use with synchronized data sources. This enables plugins to introduce new backends in addition to the git, S3, and local path backends provided natively.
Enhancements
- #12135 - Avoid orphaned interfaces by preventing the deletion of interfaces which have children assigned
- #12216 - Add a
colorfield for circuit types - #13230 - Allow device types to be excluded from consideration when calculating a rack's utilization
- #13334 - Added an
errorfield to the Job model to record any errors associated with its execution - #13427 - Introduced a mechanism for omitting models from general-purpose lists of object types
- #13690 - Display any dependent objects to be deleted prior to deleting an object via the web UI
- #13794 - Any models with a relationship to Tenant are now included automatically in the list of related objects under the tenant view
- #13808 - Added a
/render-configREST API endpoint for virtual machines - #14035 - Order objects of equivalent weight by value in global search results to improve readability
- #14156 - Enable custom fields for contact assignments
Other Changes
- #13550 - Optimized the format for declaring view actions under
ActionsMixin(backward compatibility has been retained) - #13645 - Installation of the
sentry-sdkPython library is now required only if Sentry reporting is enabled - #14036 - Move plugin resources from the
extrasapp intonetbox(backward compatibility has been retained) - #14153 - Replace
FeatureQuerywith newwith_feature()method on ContentType manager - #14311 - Move the L2VPN models from the
ipamapp to the newvpnapp - #14312 - Move the ConfigRevision model from the
extrasapp tocore - #14326 - Form feature mixin classes have been moved from the
extrasapp tonetbox
REST API Changes
- Introduced the following endpoints:
/api/virtualization/virtual-disks//api/vpn/ike-policies//api/vpn/ike-proposals//api/vpn/ipsec-policies//api/vpn/ipsec-profiles//api/vpn/ipsec-proposals//api/vpn/tunnels//api/vpn/tunnel-terminations/
- The following endpoints have been moved:
/api/ipam/l2vpns/->/api/vpn/l2vpns//api/ipam/l2vpn-terminations/->/api/vpn/l2vpn-terminations/
- circuits.CircuitType
- Added the optional
colorchoice field
- Added the optional
- core.Job
- Added the read-only
errorcharacter field
- Added the read-only
- dcim.DeviceType
- Added the
exclude_from_utilizationboolean field
- Added the
- extras.CustomField
- Removed the
ui_visibilityfield - Added the
ui_visibleandui_editablechoice fields
- Removed the
- tenancy.ContactAssignment
- Added support for custom fields
- virtualization.VirtualDisk
- Added the read-only
virtual_disk_countinteger field
- Added the read-only
- virtualization.VirtualMachine
- Added the
/render-configendpoint
- Added the