1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00
2024-03-19 14:18:15 -04:00

6.3 KiB

NetBox v4.0

v4.0.0 (FUTURE)

Breaking Changes

  • The deprecated device_role & device_role_id filters for devices have been removed. (Use role and role_id instead.)
  • The legacy reports functionality has been dropped. Reports will be automatically converted to custom scripts on upgrade.
  • The parent and parent_id filters for locations now return only immediate children of the specified location. (Use ancestor and ancestor_id to 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 facility field 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 description field 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_ENABLED to 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 (now netbox.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() (now extras.webhooks.send_webhook())
  • #14740 - Remove the obsolete BootstrapMixin form mixin class
  • #15042 - Rearchitect the logic for registering models & model features
  • #15099 - Remove obsolete device_role and device_role_id filters for devices
  • #15100 - Remove obsolete NullableCharField class
  • #15193 - Switch to compiled distribution of the psycopg library
  • #15277 - Replace references to ContentType without ObjectType proxy model & standardize field names
  • #15292 - Remove obsolete device_role attribute from Device model (this field was renamed to role in 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_role has been removed (replaced by role in v3.6)
  • extras.CustomField
    • content_types has been renamed to object_types
    • The content_types filter is now object_type
    • The content_type_id filter is now object_type_id
  • extras.CustomLink
    • content_types has been renamed to object_types
    • The content_types filter is now object_type
    • The content_type_id filter is now object_type_id
  • extras.EventRule
    • content_types has been renamed to object_types
    • The content_types filter is now object_type
    • The content_type_id filter is now object_type_id
  • extras.ExportTemplate
    • content_types has been renamed to object_types
    • The content_types filter is now object_type
    • The content_type_id filter is now object_type_id
  • extras.ImageAttachment
    • content_type has been renamed to object_type
    • The content_type filter is now object_type
  • extras.SavedFilter
    • content_types has been renamed to object_types
    • The content_types filter is now object_type
    • The content_type_id filter is now object_type_id
  • tenancy.ContactAssignment
    • content_type has been renamed to object_type
    • The content_type_id filter is now object_type_id