mirror of
https://github.com/netbox-community/netbox.git
synced 2025-12-12 19:39:35 -06:00
7.0 KiB
7.0 KiB
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: 123becomesid: {exact: 123 }.) - Rendering a device or virtual machine configuration is now restricted to users with the
render_configpermission for the applicable object type. - Retrieval of API token plaintexts is no longer supported. The
ALLOW_TOKEN_RETRIEVALconfig 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
modelin payload data. (Referenceobject_typeinstead, which includes the parent app label.) - The obsolete module
core.models.contenttypeshas been removed (replaced in v4.4 bycore.models.object_types). - The
load_yaml()andload_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_staffhas been removed from theUsermodel.
New Features
Lookup Modifiers in Filter Forms (#7604)
Improved API Authentication Tokens (#20210)
Object Ownership (#20304)
Advanced Port Mappings (#20564)
Cable Profiles (#20788)
Enhancements
- #16681 - Introduce a
render_configpermission, which is noq required to render a device or virtual machine configuration - #18658 - Add a
start_on_bootchoice field for virtual machines - #19095 - Add support for Python 3.13 and 3.14
- #19338 - Enable filter lookups for object IDs and enums in GraphQL API queries
- #19523 - Cache the number of instances for device, module, and rack types, and enable filtering by these counts
- #20417 - Add an optional
colorfield for device type power outlets - #20476 - Once provisioned, the owner of an API token cannot be changed
- #20492 - Completely disabled the means to retrieve legacy API token plaintexts (removed the
ALLOW_TOKEN_RETRIEVALconfig parameter) - #20639 - Apply config contexts to devices/VMs assigned any child platform of the parent platform
- #20834 - Add an
enabledboolean field to API tokens - #20917 - Include usage reference on API token views
- #20925 - Add optional
commentsfield to all subclasses ofOrganizationalModel - #20936 - Introduce the
/api/authentication-check/REST API endpoint for validating authentication tokens
Plugins
- #13182 - Added
PrimaryModel,OrganizationalModel, andNestedGroupModelto the plugins API, as well as their respective base classes for various resources
Other Changes
- #16137 - Remove the obsolete boolean field
is_stafffrom theUsermodel - #17571 - Remove the experimental HTMX navigation feature
- #17936 - Introduce a dedicated
GFKSerializerFieldfor representing generic foreign keys in API serializers - #19889 - Drop support for Python 3.10 and 3.11
- #19898 - Remove the obsolete REST API endpoint
/api/extras/object-types/ - #20088 - Remove the non-deterministic
modelkey from webhook payload data - #20095 - Remove the obsolete module
core.models.contenttypes - #20096 - Remove the
load_yaml()andload_json()utility methods from theBaseScriptclass - #20204 - Started migrating object views from custom HTML templates to declarative layouts
- #20617 - Introduce
BaseModelas the global base class for models - #20683 - Remove the UI view dedicated to swaping A/Z circuit terminations
- #20926 - Standardize naming of GraphQL filters
REST API Changes
- Most objects now include an optional
ownerforeign key field. - The
/api/dcim/cable-terminationsendpoint is now read-only. - Introduced the
/api/authentication-check/endpoint. circuits.CircuitGroup- Add optional
commentsfield
- Add optional
circuits.CircuitType- Add optional
commentsfield
- Add optional
circuits.VirtualCircuitType- Add optional
commentsfield
- Add optional
dcim.Cable- Add the optional
profilechoice field
- Add the optional
dcim.InventoryItemRole- Add optional
commentsfield
- Add optional
dcim.Manufacturer- Add optional
commentsfield
- Add optional
dcim.ModuleType- Add read-only
module_countinteger field
- Add read-only
dcim.PowerOutletTemplate- Add optional
colorfield
- Add optional
dcim.RackRole- Add optional
commentsfield
- Add optional
dcim.RackType- Add read-only
rack_countinteger field
- Add read-only
ipam.ASNRange- Add optional
commentsfield
- Add optional
ipam.RIR- Add optional
commentsfield
- Add optional
ipam.Role- Add optional
commentsfield
- Add optional
ipam.VLANGroup- Add optional
commentsfield
- Add optional
tenancy.ContactRole- Add optional
commentsfield
- Add optional
users.Token- Add
enabledboolean field
- Add
virtualization.ClusterGroup- Add optional
commentsfield
- Add optional
virtualization.ClusterType- Add optional
commentsfield
- Add optional
virtualization.VirtualMachine- Add optional
start_on_bootchoice field
- Add optional
vpn.TunnelGroup- Add optional
commentsfield
- Add optional