mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-22 03:56:53 -06:00
Clean up v2.9 release notes
This commit is contained in:
parent
1714902f88
commit
a3d1ee474c
@ -6,17 +6,17 @@
|
||||
|
||||
#### Object-Based Permissions ([#554](https://github.com/netbox-community/netbox/issues/554))
|
||||
|
||||
NetBox v2.9 replaces Django's built-in permissions framework with one that supports object-based assignment of permissions using arbitrary constraints. When granting a user or group to perform a certain action on one or more types of objects, an administrator can optionally specify a set of constraints. The permission will apply only to objects which match the specified constraints. For example, assigning permission to modify devices with the constraint `{"tenant__group__name": "Customers"}` would grant the permission only for devices assigned to a tenant belonging to the "Customers" group.
|
||||
NetBox v2.9 replaces Django's built-in permissions framework with one that supports object-based assignment of permissions using arbitrary constraints. When granting a user or group permission to perform a certain action on one or more types of objects, an administrator can optionally specify a set of constraints. The permission will apply only to objects which match the specified constraints. For example, assigning permission to modify devices with the constraint `{"tenant__group__name": "Customers"}` would allow the associated users/groups to perform an action only on devices assigned to a tenant belonging to the "Customers" group.
|
||||
|
||||
#### Background Script & Report Execution ([#2006](https://github.com/netbox-community/netbox/issues/2006))
|
||||
#### Background Execution of Scripts & Reports ([#2006](https://github.com/netbox-community/netbox/issues/2006))
|
||||
|
||||
When running a report or custom script, the task is now queued for background processing and a response is immediately returned to the user. This prevents long-running scripts from blocking the response, and avoids WSGI timeout errors. Once the task has completed, the page will automatically refresh to display its results. Both scripts and reports now store their output in the new JobResult model. (The ReportResult model has been removed.)
|
||||
When running a report or custom script, its execution is now queued for background processing and the user receives an immediate response indicating its status. This prevents long-running scripts from resulting in a timeout error. Once the execution has completed, the page will automatically refresh to display its results. Both scripts and reports now store their output in the new JobResult model. (The ReportResult model has been removed.)
|
||||
|
||||
### Enhancements
|
||||
|
||||
* [#2018](https://github.com/netbox-community/netbox/issues/2018) - Add `name` field to virtual chassis model
|
||||
* [#3703](https://github.com/netbox-community/netbox/issues/3703) - Tags must be created administratively before being assigned to an object
|
||||
* [#4615](https://github.com/netbox-community/netbox/issues/4615) - Add `label` field for all device components
|
||||
* [#4615](https://github.com/netbox-community/netbox/issues/4615) - Add `label` field for all device components and component templates
|
||||
* [#4742](https://github.com/netbox-community/netbox/issues/4742) - Add tagging for cables, power panels, and rack reservations
|
||||
* [#4788](https://github.com/netbox-community/netbox/issues/4788) - Add dedicated views for all device components
|
||||
* [#4792](https://github.com/netbox-community/netbox/issues/4792) - Add bulk rename capability for console and power ports
|
||||
@ -35,7 +35,8 @@ When running a report or custom script, the task is now queued for background pr
|
||||
|
||||
### REST API Changes
|
||||
|
||||
* The count of `tagged_items` is no longer included when viewing the tags list when `brief` is passed.
|
||||
* A `url` field is now included on all object representations, identifying the unique REST API URL for each object.
|
||||
* The `tags` field of an object now includes a more complete representation of each tag, rather than just its name.
|
||||
* The assignment of tags to an object is now achieved in the same manner as specifying any other related device. The `tags` field accepts a list of JSON objects each matching a desired tag. (Alternatively, a list of numeric primary keys corresponding to tags may be passed instead.) For example:
|
||||
|
||||
```json
|
||||
@ -45,17 +46,38 @@ When running a report or custom script, the task is now queued for background pr
|
||||
]
|
||||
```
|
||||
|
||||
* The `tags` field of an object now includes a more complete representation of each tag, rather than just its name.
|
||||
* A `label` field has been added to all device components and component templates.
|
||||
* The IP address model now uses a generic foreign key to refer to the assigned interface. The `interface` field on the serializer has been replaced with `assigned_object_type` and `assigned_object_id` for write operations. If one exists, the assigned interface is available as `assigned_object`.
|
||||
* The serialized representation of a virtual machine interface now includes only relevant fields: `type`, `lag`, `mgmt_only`, `connected_endpoint_type`, `connected_endpoint`, and `cable` are no longer included.
|
||||
* dcim.VirtualChassis: Added a mandatory `name` field
|
||||
* An optional `description` field has been added to all device component templates
|
||||
* Legacy numeric values for choice fields are no longer conveyed or accepted.
|
||||
* dcim.Cable: Added `tags` field
|
||||
* dcim.ConsolePort: Added `label` field
|
||||
* dcim.ConsolePortTemplate: Added `description` and `label` fields
|
||||
* dcim.ConsoleServerPort: Added `label` field
|
||||
* dcim.ConsoleServerPortTemplate: Added `description` and `label` fields
|
||||
* dcim.DeviceBay: Added `label` field
|
||||
* dcim.DeviceBayTemplate: Added `description` and `label` fields
|
||||
* dcim.FrontPort: Added `label` field
|
||||
* dcim.FrontPortTemplate: Added `description` and `label` fields
|
||||
* dcim.Interface: Added `label` field
|
||||
* dcim.InterfaceTemplate: Added `description` and `label` fields
|
||||
* dcim.PowerPanel: Added `tags` field
|
||||
* dcim.PowerPort: Added ``label` field
|
||||
* dcim.PowerPortTemplate: Added `description` and `label` fields
|
||||
* dcim.PowerOutlet: Added `label` field
|
||||
* dcim.PowerOutletTemplate: Added `description` and `label` fields
|
||||
* dcim.RackGroup: Added a `_depth` attribute indicating an object's position in the tree.
|
||||
* dcim.RackReservation: Added `tags` field
|
||||
* dcim.RearPort: Added `label` field
|
||||
* dcim.RearPortTemplate: Added `description` and `label` fields
|
||||
* dcim.Region: Added a `_depth` attribute indicating an object's position in the tree.
|
||||
* dcim.VirtualChassis: Added `name` field (required)
|
||||
* extras.ConfigContext: Added `created` and `last_updated` fields
|
||||
* extras.JobResult: Added the `/api/extras/job-results/` endpoint
|
||||
* extras.Report: The `failed` field has been removed. The `completed` (boolean) and `status` (string) fields have been introduced to convey the status of a report's most recent execution. Additionally, the `result` field now conveys the nested representation of a JobResult.
|
||||
* extras.Script: Added `module` and `result` fields. The `result` field now conveys the nested representation of a JobResult.
|
||||
* A `url` field is now included on all object representations, identifying the unique REST API URL for each object.
|
||||
* A `_depth` field has been added to all objects which feature a self-recursive hierarchy (namely regions, rack groups, and tenant groups).
|
||||
* Legacy numeric values for choice fields are no longer conveyed or accepted.
|
||||
* extras.Tag: The count of `tagged_items` is no longer included when viewing the tags list when `brief` is passed.
|
||||
* ipam.IPAddress: Removed `interface` field; replaced with `assigned_object` generic foreign key. This may represent either a device interface or a virtual machine interface. Assign an object by setting `assigned_object_type` and `assigned_object_id`.
|
||||
* tenancy.TenantGroup: Added a `_depth` attribute indicating an object's position in the tree.
|
||||
* users.ObjectPermissions: Added the `/api/users/permissions/` endpoint
|
||||
* virtualization.VMInterface: Removed `type` field (VM interfaces have no type)
|
||||
|
||||
### Other Changes
|
||||
|
||||
@ -64,5 +86,5 @@ When running a report or custom script, the task is now queued for background pr
|
||||
* The `users.delete_token` permission is no longer enforced. All users are permitted to delete their own API tokens.
|
||||
* Dropped backward compatibility for the `webhooks` Redis queue configuration (use `tasks` instead).
|
||||
* Dropped backward compatibility for the `/admin/webhook-backend-status` URL (moved to `/admin/background-tasks/`).
|
||||
* Virtual chassis are now created by navigating to `/dcim/virtual-chassis/add` rather than via the devices list.
|
||||
* Virtual chassis are now created by navigating to `/dcim/virtual-chassis/add/` rather than via the devices list.
|
||||
* A name is required when creating a virtual chassis.
|
||||
|
Loading…
Reference in New Issue
Block a user