mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
6.3 KiB
6.3 KiB
NetBox v4.0
v4.0.0 (FUTURE)
Breaking Changes
- The deprecated
device_role&device_role_idfilters for devices have been removed. (Useroleandrole_idinstead.) - The legacy reports functionality has been dropped. Reports will be automatically converted to custom scripts on upgrade.
- The
parentandparent_idfilters for locations now return only immediate children of the specified location. (Useancestorandancestor_idto return all descendants.)
New Features
Complete UI Refresh (#12128)
The NetBox user interface has been completely refreshed and updated.
Dynamic REST API Fields (#15087)
The REST API now supports specifying which fields to include in the response data.
Advanced FieldSet Functionality (#14739)
New resources have been introduced to enable advanced form rendering without a need for custom HTML templates.
Enhancements
- #12851 - Replace bleach HTML sanitization library with nh3
- #13283 - Display additional context on API-backed dropdown fields
- #13918 - Add
facilityfield to Location model - #14237 - Automatically clear dependent selection fields when modifying a parent selection
- #14454 - Include member devices for virtual chassis in REST API
- #14637 - Upgrade to Django 5.0
- #14672 - Add support for Python 3.12
- #14728 - The plugins list view has been moved from the legacy admin UI to the main NetBox UI
- #14729 - All background task views have been moved from the legacy admin UI to the main NetBox UI
- #14438 - Track individual custom scripts as database objects
- #15131 - Automatically annotate related object counts on REST API querysets
- #15237 - Ensure consistent filtering ability for all model fields
- #15238 - Include the
descriptionfield in "brief" REST API serializations - #15383 - Standardize filtering logic for the parents of recursively-nested models (parent & ancestor filters)
Other Changes
- #12325 - The Django admin UI is now disabled by default (set
DJANGO_ADMIN_ENABLEDto True to enable it) - #12510 - Dropped support for legacy reports
- #12795 - NetBox now uses custom User and Group models rather than the stock models provided by Django
- #13647 - Squash all database migrations prior to v3.7
- #14092 - Remove backward compatibility for importing plugin resources from
extras.plugins(nownetbox.plugins) - #14638 - Drop support for Python 3.8 and 3.9
- #14657 - Remove backward compatibility for old permissions mapping under
ActionsMixin - #14658 - Remove backward compatibility for importing
process_webhook()(nowextras.webhooks.send_webhook()) - #14740 - Remove the obsolete
BootstrapMixinform mixin class - #15042 - Rearchitect the logic for registering models & model features
- #15099 - Remove obsolete
device_roleanddevice_role_idfilters for devices - #15100 - Remove obsolete
NullableCharFieldclass - #15193 - Switch to compiled distribution of the
psycopglibrary - #15277 - Replace references to ContentType without ObjectType proxy model & standardize field names
- #15292 - Remove obsolete
device_roleattribute from Device model (this field was renamed torolein v3.6)
REST API Changes
- The
/api/extras/content-types/endpoint has moved to/api/extras/object-types/ - dcim.Device
- The obsolete read-only attribute
device_rolehas been removed (replaced byrolein v3.6)
- The obsolete read-only attribute
- extras.CustomField
content_typeshas been renamed toobject_types- The
content_typesfilter is nowobject_type - The
content_type_idfilter is nowobject_type_id
- extras.CustomLink
content_typeshas been renamed toobject_types- The
content_typesfilter is nowobject_type - The
content_type_idfilter is nowobject_type_id
- extras.EventRule
content_typeshas been renamed toobject_types- The
content_typesfilter is nowobject_type - The
content_type_idfilter is nowobject_type_id
- extras.ExportTemplate
content_typeshas been renamed toobject_types- The
content_typesfilter is nowobject_type - The
content_type_idfilter is nowobject_type_id
- extras.ImageAttachment
content_typehas been renamed toobject_type- The
content_typefilter is nowobject_type
- extras.SavedFilter
content_typeshas been renamed toobject_types- The
content_typesfilter is nowobject_type - The
content_type_idfilter is nowobject_type_id
- tenancy.ContactAssignment
content_typehas been renamed toobject_type- The
content_type_idfilter is nowobject_type_id