Pārlūkot izejas kodu

Draft v4.5 release notes

Jeremy Stretch 2 mēneši atpakaļ
vecāks
revīzija
6211a21423
1 mainītis faili ar 111 papildinājumiem un 0 dzēšanām
  1. 111 0
      docs/release-notes/version-4.5.md

+ 111 - 0
docs/release-notes/version-4.5.md

@@ -0,0 +1,111 @@
+## v4.5.0 (FUTURE)
+
+### Breaking Changes
+
+* Python 3.10 and 3.11 are no longer supported. NetBox now requires Python 3.12 or later.
+* GraphQL API queries which filter by object IDs or enums must now specify a filter lookup similar to other fields. (For example, `id: 123` becomes `id: {exact: 123 }`.)
+* Rendering a device or virtual machine configuration is now restricted to users with the `render_config` permission for the applicable object type.
+* Retrieval of API token plaintexts is no longer supported. The `ALLOW_TOKEN_RETRIEVAL` config parameter has been removed.
+* The owner of an API token can no longer be changed once it has been created.
+* Config contexts now apply to all child platforms of a parent platform.
+* The `/api/extras/object-types/` REST API endpoint has been removed. (Use `/api/core/object-types/` instead.)
+* The `/api/dcim/cable-terminations/` REST API endpoint is now read-only. Cable terminations must be set on cables directly.
+* The UI view dedicated to swaping A/Z circuit terminations has been removed.
+* Webhooks no longer specify a `model` in payload data. (Reference `object_type` instead, which includes the parent app label.)
+* The obsolete module `core.models.contenttypes` has been removed (replaced in v4.4 by `core.models.object_types`).
+* The `load_yaml()` and `load_json()` utility methods have been removed from the base class for custom scripts.
+* The experimental HTMX navigation feature has been removed.
+* The obsolete field `is_staff` has been removed from the `User` model.
+
+### New Features
+
+#### Lookup Modifiers in Filter Forms ([#7604](https://github.com/netbox-community/netbox/issues/7604))
+
+#### Improved API Authentication Tokens ([#20210](https://github.com/netbox-community/netbox/issues/20210))
+
+#### Object Ownership ([#20304](https://github.com/netbox-community/netbox/issues/20304))
+
+#### Advanced Port Mappings ([#20564](https://github.com/netbox-community/netbox/issues/20564))
+
+#### Cable Profiles ([#20788](https://github.com/netbox-community/netbox/issues/20788))
+
+### Enhancements
+
+* [#16681](https://github.com/netbox-community/netbox/issues/16681) - Introduce a `render_config` permission, which is noq required to render a device or virtual machine configuration
+* [#18658](https://github.com/netbox-community/netbox/issues/18658) - Add a `start_on_boot` choice field for virtual machines
+* [#19095](https://github.com/netbox-community/netbox/issues/19095) - Add support for Python 3.13 and 3.14
+* [#19338](https://github.com/netbox-community/netbox/issues/19338) - Enable filter lookups for object IDs and enums in GraphQL API queries
+* [#19523](https://github.com/netbox-community/netbox/issues/19523) - Cache the number of instances for device, module, and rack types, and enable filtering by these counts
+* [#20417](https://github.com/netbox-community/netbox/issues/20417) - Add an optional `color` field for device type power outlets
+* [#20476](https://github.com/netbox-community/netbox/issues/20476) - Once provisioned, the owner of an API token cannot be changed
+* [#20492](https://github.com/netbox-community/netbox/issues/20492) - Completely disabled the means to retrieve legacy API token plaintexts (removed the `ALLOW_TOKEN_RETRIEVAL` config parameter)
+* [#20639](https://github.com/netbox-community/netbox/issues/20639) - Apply config contexts to devices/VMs assigned any child platform of the parent platform
+* [#20834](https://github.com/netbox-community/netbox/issues/20834) - Add an `enabled` boolean field to API tokens
+* [#20917](https://github.com/netbox-community/netbox/issues/20917) - Include usage reference on API token views
+* [#20925](https://github.com/netbox-community/netbox/issues/20925) - Add optional `comments` field to all subclasses of `OrganizationalModel`
+* [#20936](https://github.com/netbox-community/netbox/issues/20936) - Introduce the `/api/authentication-check/` REST API endpoint for validating authentication tokens
+
+### Plugins
+
+* [#13182](https://github.com/netbox-community/netbox/issues/13182) - Added `PrimaryModel`, `OrganizationalModel`, and `NestedGroupModel` to the plugins API, as well as their respective base classes for various resources
+
+### Other Changes
+
+* [#16137](https://github.com/netbox-community/netbox/issues/16137) - Remove the obsolete boolean field `is_staff` from the `User` model
+* [#17571](https://github.com/netbox-community/netbox/issues/17571) - Remove the experimental HTMX navigation feature
+* [#17936](https://github.com/netbox-community/netbox/issues/17936) - Introduce a dedicated `GFKSerializerField` for representing generic foreign keys in API serializers
+* [#19889](https://github.com/netbox-community/netbox/issues/19889) - Drop support for Python 3.10 and 3.11
+* [#19898](https://github.com/netbox-community/netbox/issues/19898) - Remove the obsolete REST API endpoint `/api/extras/object-types/`
+* [#20088](https://github.com/netbox-community/netbox/issues/20088) - Remove the non-deterministic `model` key from webhook payload data
+* [#20095](https://github.com/netbox-community/netbox/issues/20095) - Remove the obsolete module `core.models.contenttypes`
+* [#20096](https://github.com/netbox-community/netbox/issues/20096) - Remove the `load_yaml()` and `load_json()` utility methods from the `BaseScript` class
+* [#20204](https://github.com/netbox-community/netbox/issues/20204) - Started migrating object views from custom HTML templates to declarative layouts
+* [#20617](https://github.com/netbox-community/netbox/issues/20617) - Introduce `BaseModel` as the global base class for models
+* [#20683](https://github.com/netbox-community/netbox/issues/20683) - Remove the UI view dedicated to swaping A/Z circuit terminations
+* [#20926](https://github.com/netbox-community/netbox/issues/20926) - Standardize naming of GraphQL filters
+
+### REST API Changes
+
+* Most objects now include an optional `owner` foreign key field.
+* The `/api/dcim/cable-terminations` endpoint is now read-only.
+* Introduced the `/api/authentication-check/` endpoint.
+* `circuits.CircuitGroup`
+  * Add optional `comments` field
+* `circuits.CircuitType`
+  * Add optional `comments` field
+* `circuits.VirtualCircuitType`
+  * Add optional `comments` field
+* `dcim.Cable`
+  * Add the optional `profile` choice field
+* `dcim.InventoryItemRole`
+  * Add optional `comments` field
+* `dcim.Manufacturer`
+  * Add optional `comments` field
+* `dcim.ModuleType`
+  * Add read-only `module_count` integer field
+* `dcim.PowerOutletTemplate`
+  * Add optional `color` field
+* `dcim.RackRole`
+  * Add optional `comments` field
+* `dcim.RackType`
+  * Add read-only `rack_count` integer field
+* `ipam.ASNRange`
+  * Add optional `comments` field
+* `ipam.RIR`
+  * Add optional `comments` field
+* `ipam.Role`
+  * Add optional `comments` field
+* `ipam.VLANGroup`
+  * Add optional `comments` field
+* `tenancy.ContactRole`
+  * Add optional `comments` field
+* `users.Token`
+  * Add `enabled` boolean field
+* `virtualization.ClusterGroup`
+  * Add optional `comments` field
+* `virtualization.ClusterType`
+  * Add optional `comments` field
+* `virtualization.VirtualMachine`
+  * Add optional `start_on_boot` choice field
+* `vpn.TunnelGroup`
+  * Add optional `comments` field