2020-08-21 11:06:36 -04:00
# NetBox v2.10
2020-12-22 10:28:09 -05:00
## v2.10.3 (FUTURE)
### Bug Fixes
2020-12-23 16:21:26 -05:00
* [#5301 ](https://github.com/netbox-community/netbox/issues/5301 ) - Fix misleading error when racking a device with invalid parameters
2020-12-23 14:26:43 -05:00
* [#5311 ](https://github.com/netbox-community/netbox/issues/5311 ) - Update child objects when a rack group is moved to a new site
2020-12-22 10:28:09 -05:00
* [#5518 ](https://github.com/netbox-community/netbox/issues/5518 ) - Fix persistent vertical scrollbar
2020-12-28 11:10:27 -05:00
* [#5533 ](https://github.com/netbox-community/netbox/issues/5533 ) - Fix bulk editing of objects with required custom fields
2020-12-28 10:48:50 -05:00
* [#5540 ](https://github.com/netbox-community/netbox/issues/5540 ) - Fix exception when viewing a provider with one or more tags assigned
2020-12-28 10:45:23 -05:00
* [#5543 ](https://github.com/netbox-community/netbox/issues/5543 ) - Fix rendering of config contexts with cluster assignment for devices
2020-12-29 11:55:31 -05:00
* [#5546 ](https://github.com/netbox-community/netbox/issues/5546 ) - Add custom field bulk edit support for cables, power panels, rack reservations, and virtual chassis
2020-12-29 12:43:52 -05:00
* [#5547 ](https://github.com/netbox-community/netbox/issues/5547 ) - Add custom field bulk import support for cables, power panels, rack reservations, and virtual chassis
2020-12-31 10:32:40 -05:00
* [#5557 ](https://github.com/netbox-community/netbox/issues/5557 ) - Fix VRF route target assignment via REST API
2020-12-31 10:21:01 -05:00
* [#5558 ](https://github.com/netbox-community/netbox/issues/5558 ) - Fix regex validation support for custom URL fields
2020-12-22 10:28:09 -05:00
---
2020-12-21 16:03:43 -05:00
## v2.10.2 (2020-12-21)
2020-12-16 09:26:22 -05:00
2020-12-17 15:55:22 -05:00
### Enhancements
* [#5489 ](https://github.com/netbox-community/netbox/issues/5489 ) - Add filters for type and width to racks list
2020-12-18 12:09:41 -05:00
* [#5496 ](https://github.com/netbox-community/netbox/issues/5496 ) - Add form field to filter rack reservation by user
2020-12-17 15:55:22 -05:00
2020-12-16 09:26:22 -05:00
### Bug Fixes
2020-12-18 11:33:28 -06:00
* [#5254 ](https://github.com/netbox-community/netbox/issues/5254 ) - Require plugin authors to set zip_safe=False
2020-12-16 13:48:44 -05:00
* [#5468 ](https://github.com/netbox-community/netbox/issues/5468 ) - Fix unlocking secrets from device/VM view
2020-12-16 09:26:22 -05:00
* [#5473 ](https://github.com/netbox-community/netbox/issues/5473 ) - Fix alignment of rack names in elevations list
2020-12-16 10:38:09 -05:00
* [#5478 ](https://github.com/netbox-community/netbox/issues/5478 ) - Fix display of route target description
2020-12-17 09:46:50 -05:00
* [#5484 ](https://github.com/netbox-community/netbox/issues/5484 ) - Fix "tagged" indication in VLAN members list
2020-12-17 14:03:10 -05:00
* [#5486 ](https://github.com/netbox-community/netbox/issues/5486 ) - Optimize retrieval of config context data for device/VM REST API views
2020-12-17 15:50:47 -05:00
* [#5487 ](https://github.com/netbox-community/netbox/issues/5487 ) - Support filtering rack type/width with multiple values
2020-12-21 15:30:34 -05:00
* [#5488 ](https://github.com/netbox-community/netbox/issues/5488 ) - Fix caching error when viewing cable trace after toggling cable status
2020-12-18 12:18:59 -05:00
* [#5498 ](https://github.com/netbox-community/netbox/issues/5498 ) - Fix filtering rack reservations by username
2020-12-18 15:02:52 -05:00
* [#5499 ](https://github.com/netbox-community/netbox/issues/5499 ) - Fix filtering of displayed device/VM interfaces by regex
2020-12-21 09:43:15 -05:00
* [#5507 ](https://github.com/netbox-community/netbox/issues/5507 ) - Fix custom field data assignment via UI for IP addresses, secrets
2020-12-21 11:47:11 -05:00
* [#5510 ](https://github.com/netbox-community/netbox/issues/5510 ) - Fix filtering by boolean custom fields
2020-12-16 09:26:22 -05:00
---
2020-12-15 22:03:54 -05:00
## v2.10.1 (2020-12-15)
2020-12-14 16:30:10 -06:00
### Bug Fixes
2020-12-15 16:52:58 -05:00
* [#5444 ](https://github.com/netbox-community/netbox/issues/5444 ) - Don't force overwriting of boolean fields when bulk editing interfaces
2020-12-15 12:50:28 -06:00
* [#5450 ](https://github.com/netbox-community/netbox/issues/5450 ) - API serializer foreign count fields do not have a default value
2020-12-15 13:37:02 -05:00
* [#5453 ](https://github.com/netbox-community/netbox/issues/5453 ) - Correct change log representation when creating a cable
2020-12-14 16:30:10 -06:00
* [#5458 ](https://github.com/netbox-community/netbox/issues/5458 ) - Creating a component template throws an exception
2020-12-15 08:39:27 -06:00
* [#5461 ](https://github.com/netbox-community/netbox/issues/5461 ) - Rack Elevations throw reverse match exception
2020-12-15 12:30:42 -06:00
* [#5463 ](https://github.com/netbox-community/netbox/issues/5463 ) - Back-to-back Circuit Termination throws AttributeError exception
2020-12-15 13:52:35 -05:00
* [#5465 ](https://github.com/netbox-community/netbox/issues/5465 ) - Correct return URL when disconnecting a cable from a device
2020-12-15 15:56:42 -05:00
* [#5466 ](https://github.com/netbox-community/netbox/issues/5466 ) - Fix validation for required custom fields
2020-12-15 21:04:47 -05:00
* [#5470 ](https://github.com/netbox-community/netbox/issues/5470 ) - Fix exception when making `OPTIONS` request for a REST API list endpoint
2020-12-14 16:30:10 -06:00
2020-12-15 13:37:02 -05:00
---
2020-12-14 14:27:14 -05:00
## v2.10.0 (2020-12-14)
2020-08-21 11:06:36 -04:00
2020-08-21 11:57:46 -04:00
**NOTE:** This release completely removes support for embedded graphs.
2020-11-12 10:17:19 -05:00
**NOTE:** The Django templating language (DTL) is no longer supported for export templates. Ensure that all export templates use Jinja2 before upgrading.
2020-09-17 14:22:14 -04:00
### New Features
2020-09-24 14:18:08 -04:00
#### Route Targets ([#259](https://github.com/netbox-community/netbox/issues/259))
2020-11-17 14:11:47 -05:00
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.
2020-09-24 14:18:08 -04:00
2020-09-22 10:36:16 -04:00
#### REST API Bulk Deletion ([#3436](https://github.com/netbox-community/netbox/issues/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:
```no-highlight
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}]'
```
2020-09-22 14:49:49 -04:00
#### REST API Bulk Update ([#4882](https://github.com/netbox-community/netbox/issues/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:
```no-highlight
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"}]'
```
2020-11-17 14:11:47 -05:00
#### Reimplementation of Custom Fields ([#4878](https://github.com/netbox-community/netbox/issues/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:
```python
>>> 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.
2020-10-05 11:07:03 -04:00
#### Improved Cable Trace Performance ([#4900](https://github.com/netbox-community/netbox/issues/4900))
2020-11-17 14:11:47 -05:00
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.
2020-10-05 11:07:03 -04:00
**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.
2020-09-22 10:36:16 -04:00
### Enhancements
2020-10-15 15:06:01 -04:00
* [#609 ](https://github.com/netbox-community/netbox/issues/609 ) - Add min/max value and regex validation for custom fields
2020-09-21 11:12:17 -04:00
* [#1503 ](https://github.com/netbox-community/netbox/issues/1503 ) - Allow assigment of secrets to virtual machines
2020-09-18 11:05:31 -04:00
* [#1692 ](https://github.com/netbox-community/netbox/issues/1692 ) - Allow assigment of inventory items to parent items in web UI
2020-11-17 14:11:47 -05:00
* [#2179 ](https://github.com/netbox-community/netbox/issues/2179 ) - Support the use of multiple port numbers when defining a service
2020-09-22 16:06:38 -04:00
* [#4897 ](https://github.com/netbox-community/netbox/issues/4897 ) - Allow filtering by content type identified as `<app>.<model>` string
2020-10-13 16:57:45 -04:00
* [#4918 ](https://github.com/netbox-community/netbox/issues/4918 ) - Add a REST API endpoint (`/api/status/` ) which returns NetBox's current operational status
2020-09-18 11:35:15 -04:00
* [#4956 ](https://github.com/netbox-community/netbox/issues/4956 ) - Include inventory items on primary device view
2020-11-17 14:11:47 -05:00
* [#4967 ](https://github.com/netbox-community/netbox/issues/4967 ) - Support tenant assignment for aggregates
2020-09-18 13:03:38 -04:00
* [#5003 ](https://github.com/netbox-community/netbox/issues/5003 ) - CSV import now accepts slug values for choice fields
2020-11-17 14:11:47 -05:00
* [#5146 ](https://github.com/netbox-community/netbox/issues/5146 ) - Add custom field support for cables, power panels, rack reservations, and virtual chassis
* [#5154 ](https://github.com/netbox-community/netbox/issues/5154 ) - The web interface now consumes the entire browser window
* [#5190 ](https://github.com/netbox-community/netbox/issues/5190 ) - Add a REST API endpoint for retrieving content types (`/api/extras/content-types/` )
2020-12-14 14:27:14 -05:00
* [#5274 ](https://github.com/netbox-community/netbox/issues/5274 ) - Add REST API support for custom fields
* [#5399 ](https://github.com/netbox-community/netbox/issues/5399 ) - Show options for cable endpoint types during bulk import
* [#5411 ](https://github.com/netbox-community/netbox/issues/5411 ) - Include cable tags in trace view
2020-09-17 14:22:14 -04:00
2020-08-21 11:06:36 -04:00
### Other Changes
2020-09-18 10:18:03 -04:00
* [#1846 ](https://github.com/netbox-community/netbox/issues/1846 ) - Enable MPTT for InventoryItem hierarchy
2020-11-30 13:06:01 -05:00
* [#2755 ](https://github.com/netbox-community/netbox/issues/2755 ) - Switched from Font Awesome/Glyphicons to Material Design icons
2020-08-21 11:57:46 -04:00
* [#4349 ](https://github.com/netbox-community/netbox/issues/4349 ) - Dropped support for embedded graphs
2020-11-17 14:11:47 -05:00
* [#4360 ](https://github.com/netbox-community/netbox/issues/4360 ) - Dropped support for the Django template language from export templates
2020-12-14 14:27:14 -05:00
* [#4711 ](https://github.com/netbox-community/netbox/issues/4711 ) - Renamed Webhook `obj_type` to `content_types`
2020-08-21 11:06:36 -04:00
* [#4941 ](https://github.com/netbox-community/netbox/issues/4941 ) - `commit` argument is now required argument in a custom script's `run()` method
2020-10-15 15:37:34 -04:00
* [#5011 ](https://github.com/netbox-community/netbox/issues/5011 ) - Standardized name field lengths across all models
2020-10-20 13:16:35 -04:00
* [#5139 ](https://github.com/netbox-community/netbox/issues/5139 ) - Omit utilization statistics from RIR list
2020-10-09 14:06:24 -04:00
* [#5225 ](https://github.com/netbox-community/netbox/issues/5225 ) - Circuit termination port speed is now an optional field
2020-08-21 11:16:30 -04:00
### REST API Changes
2020-10-06 14:30:46 -04:00
* Added support for `PUT` , `PATCH` , and `DELETE` operations on list endpoints (bulk update and delete)
2020-10-13 16:57:45 -04:00
* Added the `/extras/content-types/` endpoint for Django ContentTypes
2020-11-23 16:27:14 -05:00
* Added the `/extras/custom-fields/` endpoint for custom fields
* Removed the `/extras/_custom_field_choices/` endpoint (replaced by new custom fields endpoint)
2020-10-13 16:57:45 -04:00
* Added the `/status/` endpoint to convey NetBox's current status
2020-10-06 14:30:46 -04:00
* circuits.CircuitTermination:
2020-10-08 13:55:29 -04:00
* Added the `/trace/` endpoint
2020-10-06 14:30:46 -04:00
* Replaced `connection_status` with `connected_endpoint_reachable` (boolean)
2020-10-06 16:16:08 -04:00
* Added `cable_peer` and `cable_peer_type`
2020-10-09 14:06:24 -04:00
* `port_speed` may now be null
2020-09-18 11:51:38 -04:00
* dcim.Cable: Added `custom_fields`
2020-10-06 14:30:46 -04:00
* dcim.ConsolePort:
* Replaced `connection_status` with `connected_endpoint_reachable` (boolean)
2020-10-06 16:16:08 -04:00
* Added `cable_peer` and `cable_peer_type`
2020-10-08 11:26:02 -04:00
* Removed `connection_status` from nested serializer
2020-10-06 14:30:46 -04:00
* dcim.ConsoleServerPort:
* Replaced `connection_status` with `connected_endpoint_reachable` (boolean)
2020-10-06 16:16:08 -04:00
* Added `cable_peer` and `cable_peer_type`
2020-10-08 11:26:02 -04:00
* Removed `connection_status` from nested serializer
2020-10-06 16:58:11 -04:00
* dcim.FrontPort:
2020-10-08 11:26:02 -04:00
* Replaced the `/trace/` endpoint with `/paths/` , which returns a list of cable paths
2020-10-06 16:58:11 -04:00
* Added `cable_peer` and `cable_peer_type`
2020-10-06 14:30:46 -04:00
* dcim.Interface:
* Replaced `connection_status` with `connected_endpoint_reachable` (boolean)
2020-10-06 16:16:08 -04:00
* Added `cable_peer` and `cable_peer_type`
2020-10-08 11:26:02 -04:00
* Removed `connection_status` from nested serializer
2020-09-18 11:51:38 -04:00
* dcim.InventoryItem: The `_depth` field has been added to reflect MPTT positioning
2020-10-08 13:55:29 -04:00
* dcim.PowerFeed:
* Added the `/trace/` endpoint
* Added fields `connected_endpoint` , `connected_endpoint_type` , `connected_endpoint_reachable` , `cable_peer` , and `cable_peer_type`
2020-10-06 14:30:46 -04:00
* dcim.PowerOutlet:
* Replaced `connection_status` with `connected_endpoint_reachable` (boolean)
2020-10-06 16:16:08 -04:00
* Added `cable_peer` and `cable_peer_type`
2020-10-08 11:26:02 -04:00
* Removed `connection_status` from nested serializer
2020-09-18 11:51:38 -04:00
* dcim.PowerPanel: Added `custom_fields`
2020-10-06 14:30:46 -04:00
* dcim.PowerPort
* Replaced `connection_status` with `connected_endpoint_reachable` (boolean)
2020-10-06 16:16:08 -04:00
* Added `cable_peer` and `cable_peer_type`
2020-10-08 11:26:02 -04:00
* Removed `connection_status` from nested serializer
2020-09-18 11:51:38 -04:00
* dcim.RackReservation: Added `custom_fields`
2020-10-06 16:58:11 -04:00
* dcim.RearPort:
2020-10-08 11:26:02 -04:00
* Replaced the `/trace/` endpoint with `/paths/` , which returns a list of cable paths
2020-10-06 16:58:11 -04:00
* Added `cable_peer` and `cable_peer_type`
2020-09-18 11:51:38 -04:00
* dcim.VirtualChassis: Added `custom_fields`
2020-08-21 11:16:30 -04:00
* extras.ExportTemplate: The `template_language` field has been removed
2020-09-18 11:51:38 -04:00
* extras.Graph: This API endpoint has been removed (see #4349 )
2020-09-22 16:06:38 -04:00
* 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>`
2020-10-16 10:04:33 -04:00
* ipam.Aggregate: Added `tenant` field
2020-09-24 14:45:14 -04:00
* ipam.RouteTarget: New endpoint
2020-09-21 14:49:39 -04:00
* ipam.Service: Renamed `port` to `ports` ; now holds a list of one or more port numbers
2020-09-24 14:45:14 -04:00
* ipam.VRF: Added `import_targets` and `export_targets` fields
2020-09-21 11:12:17 -04:00
* secrets.Secret: Removed `device` field; replaced with `assigned_object` generic foreign key. This may represent either a device or a virtual machine. Assign an object by setting `assigned_object_type` and `assigned_object_id` .