Releases: linuxserver/docker-netbox
v2.10.1-ls8
LinuxServer Changes:
Initial Release.
netbox Changes:
Bug Fixes
- #5444 - Don't force overwriting of boolean fields when bulk editing interfaces
- #5450 - API serializer foreign count fields do not have a default value
- #5453 - Correct change log representation when creating a cable
- #5458 - Creating a component template throws an exception
- #5461 - Rack Elevations throw reverse match exception
- #5463 - Back-to-back Circuit Termination throws AttributeError exception
- #5465 - Correct return URL when disconnecting a cable from a device
- #5466 - Fix validation for required custom fields
- #5470 - Fix exception when making
OPTIONS
request for a REST API list endpoint
v2.10.0-ls7
LinuxServer Changes:
Initial Release.
netbox Changes:
NOTE: This release completely removes support for embedded graphs.
NOTE: The Django templating language (DTL) is no longer supported for export templates. Ensure that all export templates use Jinja2 before upgrading.
New Features
Route Targets (#259)
This release introduces support for modeling L3VPN route targets, which can be used to control the redistribution of advertised prefixes among VRFs. Each VRF may be assigned one or more route targets in the import and/or export direction. Like VRFs, route targets may be assigned to tenants and support tag assignment.
REST API Bulk Deletion (#3436)
The REST API now supports the bulk deletion of objects of the same type in a single request. Send a DELETE
HTTP request to the list to the model's list endpoint (e.g. /api/dcim/sites/
) with a list of JSON objects specifying the numeric ID of each object to be deleted. For example, to delete sites with IDs 10, 11, and 12, issue the following request:
curl -s -X DELETE \
-H "Authorization: Token $TOKEN" \
-H "Content-Type: application/json" \
http://netbox/api/dcim/sites/ \
--data '[{"id": 10}, {"id": 11}, {"id": 12}]'
REST API Bulk Update (#4882)
Similar to bulk deletion, the REST API also now supports bulk updates. Send a PUT
or PATCH
HTTP request to the list to the model's list endpoint (e.g. /api/dcim/sites/
) with a list of JSON objects specifying the numeric ID of each object and the attribute(s) to be updated. For example, to set a description for sites with IDs 10 and 11, issue the following request:
curl -s -X PATCH \
-H "Authorization: Token $TOKEN" \
-H "Content-Type: application/json" \
http://netbox/api/dcim/sites/ \
--data '[{"id": 10, "description": "Foo"}, {"id": 11, "description": "Bar"}]'
Reimplementation of Custom Fields (#4878)
NetBox v2.10 introduces a completely overhauled approach to custom fields. Whereas previous versions used CustomFieldValue instances to store values, custom field data is now stored directly on each model instance as JSON data and may be accessed using the cf
property:
>>> site = Site.objects.first()
>>> site.cf
{'site_code': 'US-RAL01'}
>>> site.cf['foo'] = 'ABC'
>>> site.full_clean()
>>> site.save()
>>> site = Site.objects.first()
>>> site.cf
{'foo': 'ABC', 'site_code': 'US-RAL01'}
Additionally, custom selection field choices are now defined on the CustomField model within the admin UI, which greatly simplifies working with choice values.
Improved Cable Trace Performance (#4900)
All end-to-end cable paths are now cached using the new CablePath backend model. This allows NetBox to now immediately return the complete path originating from any endpoint directly from the database, rather than having to trace each cable recursively. It also resolves some systemic validation issues present in the original implementation.
Note: As part of this change, cable traces will no longer traverse circuits: A circuit termination will be considered the origin or destination of an end-to-end path.
Enhancements
- #609 - Add min/max value and regex validation for custom fields
- #1503 - Allow assigment of secrets to virtual machines
- #1692 - Allow assigment of inventory items to parent items in web UI
- #2179 - Support the use of multiple port numbers when defining a service
- #4897 - Allow filtering by content type identified as
<app>.<model>
string - #4918 - Add a REST API endpoint (
/api/status/
) which returns NetBox's current operational status - #4956 - Include inventory items on primary device view
- #4967 - Support tenant assignment for aggregates
- #5003 - CSV import now accepts slug values for choice fields
- #5146 - Add custom field support for cables, power panels, rack reservations, and virtual chassis
- #5154 - The web interface now consumes the entire browser window
- #5190 - Add a REST API endpoint for retrieving content types (
/api/extras/content-types/
) - #5274 - Add REST API support for custom fields
- #5399 - Show options for cable endpoint types during bulk import
- #5411 - Include cable tags in trace view
Other Changes
- #1846 - Enable MPTT for InventoryItem hierarchy
- #2755 - Switched from Font Awesome/Glyphicons to Material Design icons
- #4349 - Dropped support for embedded graphs
- #4360 - Dropped support for the Django template language from export templates
- #4711 - Renamed Webhook
obj_type
tocontent_types
- #4941 -
commit
argument is now required argument in a custom script'srun()
method - #5011 - Standardized name field lengths across all models
- #5139 - Omit utilization statistics from RIR list
- #5225 - Circuit termination port speed is now an optional field
REST API Changes
- Added support for
PUT
,PATCH
, andDELETE
operations on list endpoints (bulk update and delete) - Added the
/extras/content-types/
endpoint for Django ContentTypes - Added the
/extras/custom-fields/
endpoint for custom fields - Removed the
/extras/_custom_field_choices/
endpoint (replaced by new custom fields endpoint) - Added the
/status/
endpoint to convey NetBox's current status - circuits.CircuitTermination:
- Added the
/trace/
endpoint - Replaced
connection_status
withconnected_endpoint_reachable
(boolean) - Added
cable_peer
andcable_peer_type
port_speed
may now be null
- Added the
- dcim.Cable: Added
custom_fields
- dcim.ConsolePort:
- Replaced
connection_status
withconnected_endpoint_reachable
(boolean) - Added
cable_peer
andcable_peer_type
- Removed
connection_status
from nested serializer
- Replaced
- dcim.ConsoleServerPort:
- Replaced
connection_status
withconnected_endpoint_reachable
(boolean) - Added
cable_peer
andcable_peer_type
- Removed
connection_status
from nested serializer
- Replaced
- dcim.FrontPort:
- Replaced the
/trace/
endpoint with/paths/
, which returns a list of cable paths - Added
cable_peer
andcable_peer_type
- Replaced the
- dcim.Interface:
- Replaced
connection_status
withconnected_endpoint_reachable
(boolean) - Added
cable_peer
andcable_peer_type
- Removed
connection_status
from nested serializer
- Replaced
- dcim.InventoryItem: The
_depth
field has been added to reflect MPTT positioning - dcim.PowerFeed:
- Added the
/trace/
endpoint - Added fields
connected_endpoint
,connected_endpoint_type
,connected_endpoint_reachable
,cable_peer
, andcable_peer_type
- Added the
- dcim.PowerOutlet:
- Replaced
connection_status
withconnected_endpoint_reachable
(boolean) - Added
cable_peer
andcable_peer_type
- Removed
connection_status
from nested serializer
- Replaced
- dcim.PowerPanel: Added
custom_fields
- dcim.PowerPort
- Replaced
connection_status
withconnected_endpoint_reachable
(boolean) - Added
cable_peer
andcable_peer_type
- Removed
connection_status
from nested serializer
- Replaced
- dcim.RackReservation: Added
custom_fields
- dcim.RearPort:
- Replaced the
/trace/
endpoint with/paths/
, which returns a list of cable paths - Added
cable_peer
andcable_peer_type
- Replaced the
- dcim.VirtualChassis: Added
custom_fields
- extras.ExportTemplate: The
template_language
field has been removed - extras.Graph: This API endpoint has been removed (see #4349)
- extras.ImageAttachment: Filtering by
content_type
now takes a string in the form<app>.<model>
- extras.ObjectChange: Filtering by
changed_object_type
now takes a string in the form<app>.<model>
- ipam.Aggregate: Added
tenant
field - ipam.RouteTarget: New endpoint
- ipam.Service: Renamed
port
toports
; now holds a list of one or more port numbers - ipam.VRF: Added
import_targets
andexport_targets
fields - secrets.Secret: Removed
device
field; replaced withassigned_object
generic foreign key. This may represent either a device or a virtual machine. Assign an object by settingassigned_object_type
andassigned_object_id
.
v2.9.11-ls6
LinuxServer Changes:
Initial Release.
netbox Changes:
Enhancements
Bug Fixes
- #5383 - Fix setting user password via REST API
- #5396 - Fix uniqueness constraint for virtual machine names
- #5387 - Fix error when rendering config contexts when objects have multiple tags assigned
- #5407 - Add direct link to secret on secrets list
- #5408 - Fix updating secrets without setting new plaintext
- #5410 - Restore tags field on cable connection forms
- #5433 - Exclude SVG files from front/rear image upload for device types (currently unsupported)
- #5436 - Show assigned IP addresses in interfaces list
- #5446 - Fix validation for plugin version and required settings
v2.9.10-ls5
LinuxServer Changes:
Initial Release.
netbox Changes:
Enhancements
Bug Fixes
- #5235 - Fix exception when editing IP address with a NAT IP assigned to a non-racked device
- #5309 - Avoid extraneous database queries when manipulating objects
- #5345 - Fix non-deterministic ordering of prefixes and IP addresses
- #5350 - Filter available racks by selected group when creating a rack reservation
- #5355 - Limit rack groups by selected site when editing a rack
- #5356 - Populate manufacturer field when adding a device component template
- #5360 - Clear VLAN assignments when setting interface mode to none
v2.9.8-ls4
LinuxServer Changes:
Initial Release.
netbox Changes:
Enhancements
- #4559 - Improve device/VM context data rendering performance
Bug Fixes
- #3672 - Fix a caching issue causing incorrect related object counts in API responses
- #5113 - Fix incorrect caching of permission object assignments to user groups in the admin panel
- #5243 - Redirect user to appropriate tab after modifying device components
- #5273 - Fix exception when validating a new permission with no models selected
- #5282 - Fix high CPU load when LDAP authentication is enabled
- #5285 - Plugins no longer need to define
app_name
for API URLs to be included in the root view
v2.9.8-ls3
LinuxServer Changes:
Initial Release.
netbox Changes:
Enhancements
- #4559 - Improve device/VM context data rendering performance
Bug Fixes
- #3672 - Fix a caching issue causing incorrect related object counts in API responses
- #5113 - Fix incorrect caching of permission object assignments to user groups in the admin panel
- #5243 - Redirect user to appropriate tab after modifying device components
- #5273 - Fix exception when validating a new permission with no models selected
- #5282 - Fix high CPU load when LDAP authentication is enabled
- #5285 - Plugins no longer need to define
app_name
for API URLs to be included in the root view
v2.9.3-ls2
LinuxServer Changes:
Initial Release.
netbox Changes:
Enhancements
- #4977 - Redirect authenticated users from login view
- #5048 - Show the device/VM name when editing a component
- #5072 - Add REST API filters for image attachments
- #5080 - Add 8P6C, 8P4C, 8P2C port types
Bug Fixes
- #5046 - Disabled plugin menu items are no longer clickable
- #5063 - Fix "add device" link in rack elevations for opposite side of half-depth devices
- #5074 - Fix inclusion of VC member interfaces when viewing VC master
- #5078 - Fix assignment of existing IP addresses to interfaces via web UI
- #5081 - Fix exception during webhook processing with custom select field
- #5085 - Fix ordering by assignment in IP addresses table
- #5087 - Restore label field when editing console server ports, power ports, and power outlets
- #5089 - Redirect to device view after editing component
- #5090 - Fix status display for console/power/interface connections
- #5091 - Avoid KeyError when handling invalid table preferences
- #5095 - Show assigned prefixes in VLANs list
v2.9.3-ls1
LinuxServer Changes:
Initial Release.
netbox Changes:
Enhancements
- #4977 - Redirect authenticated users from login view
- #5048 - Show the device/VM name when editing a component
- #5072 - Add REST API filters for image attachments
- #5080 - Add 8P6C, 8P4C, 8P2C port types
Bug Fixes
- #5046 - Disabled plugin menu items are no longer clickable
- #5063 - Fix "add device" link in rack elevations for opposite side of half-depth devices
- #5074 - Fix inclusion of VC member interfaces when viewing VC master
- #5078 - Fix assignment of existing IP addresses to interfaces via web UI
- #5081 - Fix exception during webhook processing with custom select field
- #5085 - Fix ordering by assignment in IP addresses table
- #5087 - Restore label field when editing console server ports, power ports, and power outlets
- #5089 - Redirect to device view after editing component
- #5090 - Fix status display for console/power/interface connections
- #5091 - Avoid KeyError when handling invalid table preferences
- #5095 - Show assigned prefixes in VLANs list