netbox/docs/release-notes/version-3.4.md

5.3 KiB

NetBox v3.4

!!! warning "PostgreSQL 11 Required" NetBox v3.4 requires PostgreSQL 11 or later.

Breaking Changes

  • Device and virtual machine names are no longer case-sensitive. Attempting to create e.g. "device1" and "DEVICE1" will raise a validation error.
  • The asn field has been removed from the provider model. Please replicate any provider ASN assignments to the ASN model introduced in NetBox v3.1 prior to upgrading.
  • The noc_contact, admin_contact, and portal_url fields have been removed from the provider model. Please replicate any data remaining in these fields to the contact model introduced in NetBox v3.1 prior to upgrading.
  • The content_type field on the CustomLink and ExportTemplate models have been renamed to content_types and now supports the assignment of multiple content types.

New Features

New Global Search (#10560)

NetBox's global search functionality has been completely overhauled and replaced by a new cache-based lookup.

Top-Level Plugin Navigation Menus (#9071)

A new PluginMenu class has been introduced, which enables a plugin to inject a top-level menu in NetBox's navigation menu. This menu can have one or more groups of menu items, just like core items. Backward compatibility with the existing menu_items has been maintained.

Enhancements

  • #8245 - Enable GraphQL filtering of related objects
  • #8274 - Enable associating a custom link with multiple object types
  • #9249 - Device and virtual machine names are no longer case-sensitive
  • #9478 - Add link_peers field to GraphQL types for cabled objects
  • #9654 - Add weight field to racks, device types, and module types
  • #9817 - Add assigned_object field to GraphQL type for IP addresses and L2VPN terminations
  • #9892 - Add optional name field for FHRP groups
  • #10348 - Add decimal custom field type
  • #10556 - Include a display field in all GraphQL object types
  • #10595 - Add GraphQL relationships for additional generic foreign key fields
  • #10761 - Enable associating an export template with multiple object types

Plugins API

  • #8927 - Enable inclusion of plugin models in global search via SearchIndex
  • #9071 - Introduce PluginMenu for top-level plugin navigation menus
  • #9072 - Enable registration of tabbed plugin views for core NetBox models
  • #9880 - Introduce django_apps plugin configuration parameter
  • #9887 - Inspect docs_url property to determine link to model documentation
  • #10314 - Move clone() method from NetBoxModel to CloningMixin
  • #10739 - Introduce get_queryset() method on generic views

Other Changes

  • #9045 - Remove legacy ASN field from provider model
  • #9046 - Remove legacy contact fields from provider model
  • #10358 - Raise minimum required PostgreSQL version from 10 to 11
  • #10699 - Remove custom import_object() function

REST API Changes

  • circuits.provider
    • Removed the asn, noc_contact, admin_contact, and portal_url fields
  • dcim.DeviceType
    • Added optional weight and weight_unit fields
  • dcim.ModuleType
    • Added optional weight and weight_unit fields
  • dcim.Rack
    • Added optional weight and weight_unit fields
  • extras.CustomLink
    • Renamed content_type field to content_types
  • extras.ExportTemplate
    • Renamed content_type field to content_types
  • ipam.FHRPGroup
    • Added optional name field

GraphQL API Changes

  • All object types now include a display field
  • All cabled object types now include a link_peers field
  • Add a contacts relationship for all relevant models
  • dcim.Cable
    • Add A/B terminations fields
  • dcim.CableTermination
    • Add termination field
  • dcim.InventoryItem
    • Add component field
  • dcim.InventoryItemTemplate
    • Add component field
  • ipam.FHRPGroupAssignment
    • Add interface field
  • ipam.IPAddress
    • Add assigned_object field
  • ipam.L2VPNTermination
    • Add assigned_object field
  • ipam.VLANGroupType
    • Add scope field