10 KiB
NetBox v2.11
v2.11-beta1 (FUTURE)
WARNING: This is a beta release and is not suitable for production use. It is intended for development and evaluation purposes only. No upgrade path to the final v2.11 release will be provided from this beta, and users should assume that all data entered into the application will be lost.
Note: NetBox v2.11 is the last major release that will support Python 3.6. Beginning with NetBox v2.12, Python 3.7 or later will be required.
New Features
Journaling Support (#151)
NetBox now supports journaling for all primary objects. The journal is a collection of human-generated notes and comments about an object maintained for historical context. It supplements NetBox's change log to provide additional information about why changes have been made or to convey events which occur outside of NetBox. Unlike the change log, which is typically limited in the amount of history it retains, journal entries never expire.
Parent Interface Assignments (#1519)
Virtual interfaces can now be assigned to a "parent" physical interface, by setting the parent
field on the Interface model. This is helpful for associating subinterfaces with their physical counterpart. For example, you might assign virtual interfaces Gi0/0.100 and Gi0/0.200 to the physical interface Gi0/0.
Pre- and Post-Change Snapshots in Webhooks (#3451)
In conjunction with the newly improved change logging functionality (#5913), outgoing webhooks now include a pre- and post-change representation of the modified object. These are available in the rendering context as a dictionary named snapshots
with keys prechange
and postchange
. For example, here are the abridged snapshots resulting from renaming a site and changing its status:
"snapshots": {
"prechange": {
"name": "Site 1",
"slug": "site-1",
"status": "active",
...
},
"postchange": {
"name": "Site 2",
"slug": "site-2",
"status": "planned",
...
}
}
Note: The pre-change snapshot for an object creation will always be null, as will the post-change snapshot for an object deletion.
Mark as Connected Without a Cable (#3648)
Cable termination objects (circuit terminations, power feeds, and most device components) can now be marked as "connected" without actually attaching a cable. This helps simplify the process of modeling an infrastructure boundary where you don't necessarily know or care what is connected to the far end of a cable, but still need to designate the near end termination.
In addition to the new mark_connected
boolean field, the REST API representation of these objects now also includes a read-only boolean field named _occupied
. This conveniently returns true if either a cable is attached or mark_connected
is true.
Allow Assigning Devices to Locations (#4971)
Devices can now be assigned to locations (formerly known as rack groups) within a site without needing to be assigned to a particular rack. This is handy for assigning devices to rooms or floors within a building where racks are not used. The location
foreign key field has been added to the Device model to support this.
Dynamic Object Exports (#4999)
When exporting a list of objects in NetBox, users now have the option of selecting the "current view". This will render CSV output matching the configuration of the current table. For example, if you modify the sites list to display on the site name, tenant, and status, the rendered CSV will include only these columns.
The legacy static export behavior has been retained to ensure backward compatibility for dependent integrations. However, users are strongly encouraged to adapt custom export templates where needed as this functionality will be removed in v2.12.
Variable Scope Support for VLAN Groups (#5284)
In previous releases, VLAN groups could be assigned only to a site. To afford more flexibility in conveying the true scope of an L2 domain, a VLAN group can now be assigned to a region, site group (new in v2.11), site, location, or rack. VLANs assigned to a group will be available only to devices and virtual machines which exist within its scope.
For example, a VLAN within a group assigned to a location will be available only to devices assigned to that location (or one of its child locations), or to a rack within that location.
New Site Group Model (#5892)
This release introduces the new Site Group model, which can be used to organize sites similar to the existing Region model. Whereas regions are intended for geographically arranging sites into countries, states, and so on, the new site group model can be used to organize sites by role or other arbitrary classification. Using regions and site groups in conjunction provides two dimensions along which sites can be organized, offering greater flexibility to the user.
Improved Change Logging (#5913)
The ObjectChange model (which is used to record the creation, modification, and deletion of NetBox objects) now explicitly records the pre-change and post-change state of each object, rather than only the post-change state. This was done to present a more clear depiction of each change being made, and to prevent the erroneous association of a previous unlogged change with its successor.
Cloud Modeling for Circuits (#5986)
A new cloud model has been introduced for representing the boundary of a network that exists outside the scope of NetBox. This is analogous to using a cloud icon on a topology drawing to represent an abstracted network. Each cloud must be assigned to a provider, and circuits can terminate to either clouds or sites.
Enhancements
- #5370 - Extend custom field support to organizational models
- #5375 - Add
speed
attribute to console port models - #5401 - Extend custom field support to device component models
- #5451 - Add support for multiple-selection custom fields
- #5608 - Add REST API endpoint for custom links
- #5610 - Add REST API endpoint for webhooks
- #5891 - Add
display
field to all REST API serializers - #5894 - Use primary keys when filtering object lists by related objects in the UI
- #5895 - Rename RackGroup to Location
- #5901 - Add
created
andlast_updated
fields to device component models - #5971 - Add dedicated views for organizational models
- #5972 - Enable bulk editing for organizational models
- #5975 - Allow partial vCPU allocations for virtual machines
Other Changes
- #1638 - Migrate all primary keys to 64-bit integers
- #5873 - Use numeric IDs in all object URLs
- #5990 - Deprecated
display_field
parameter for custom script ObjectVar and MultiObjectVar fields - #5995 - Dropped backward compatibility for
queryset
parameter on ObjectVar and MultiObjectVar (usemodel
instead) - #6014 - Moved virtual machine interfaces list to a separate view
REST API Changes
- All primary keys are now 64-bit integers
- All model serializers now include a
display
field to be used for the presentation of an object to a human user - All device components
- Added support for custom fields
- Added
created
andlast_updated
fields to track object creation and modification
- All device component templates
- Added
created
andlast_updated
fields to track object creation and modification
- Added
- All organizational models
- Added support for custom fields
- All cable termination models (cabled device components, power feeds, and circuit terminations)
- Added
mark_connected
boolean field to force connection status - Added
_occupied
read-only boolean field as common attribute for determining whether an object is occupied
- Added
- Renamed RackGroup to Location
- The
/dcim/rack-groups/
endpoint is now/dcim/locations/
- The
- circuits.CircuitTermination
- Added the
cloud
field
- Added the
- circuits.Cloud
- Added the
/api/circuits/clouds/
endpoint
- Added the
- dcim.Device
- Added the
location
field
- Added the
- dcim.Interface
- Added the
parent
field
- Added the
- dcim.PowerPanel
- Renamed
rack_group
field tolocation
- Renamed
- dcim.Rack
- Renamed
group
field tolocation
- Renamed
- dcim.Site
- Added the
group
foreign key field to SiteGroup
- Added the
- dcim.SiteGroup
- Added the
/api/dcim/site-groups/
endpoint
- Added the
- extras.ConfigContext
- Added the
site_groups
many-to-many field to track the assignment of ConfigContexts to SiteGroups
- Added the
- extras.CustomField
- Added new custom field type:
multi-select
- Added new custom field type:
- extras.CustomLink
- Added the
/api/extras/custom-links/
endpoint
- Added the
- extras.ObjectChange
- Added the
prechange_data
field - Renamed
object_data
topostchange_data
- Added the
- extras.Webhook
- Added the
/api/extras/webhooks/
endpoint
- Added the
- ipam.VLANGroup
- Added the
scope_type
,scope_id
, andscope
fields (scope
is a generic foreign key) - Dropped the
site
foreign key field
- Added the
- virtualization.VirtualMachine
vcpus
has been changed from an integer to a decimal value