First beta release of NetBox v3.6

In anticipation of the upcoming release of NetBox v3.6, the first beta release is now available on GitHub! This release introduces a bunch of new features, and lays the foundation for internationalization support (coming in v4.0).

A complete accounting of the changes coming in v3.6 is provided below. A public demo of this release is available for testing at

Breaking Changes

  • PostgreSQL 11 is no longer supported (dropped in Django 4.2). NetBox v3.6 requires PostgreSQL 12 or later.
  • The device_role field on the Device model has been renamed to role. The device_role field has been temporarily retained on the REST API serializer for devices for backward compatibility, but is read-only.
  • The choices array field has been removed from the CustomField model. Any defined choices are automatically migrated to CustomFieldChoiceSets, accessible via the new choice_set field on the CustomField model.
  • The napalm_driver and napalm_args fields (which were deprecated in v3.5) have been removed from the Platform model.

New Features

Relocated Admin Views (#12589, #12590, #12591, #13044)

Management views for the following object types, previously available only under the backend admin interface, have been relocated to the primary user interface:

  • Users
  • Groups
  • Object permissions
  • API tokens
  • Configuration revisions

This migration provides a more consistent user experience and unlocks advanced functionality not feasible using Django’s built-in views. The admin UI is scheduled for complete removal in NetBox v4.0.

Configurable Default Permissions (#13038)

Administrators now have the option of configuring default permissions for all users globally, regardless of explicit permission or group assignments granted in the database. This is accomplished by defining the DEFAULT_PERMISSIONS configuration parameter. By default, all users are granted permission to manage their own bookmarks and API tokens.

User Bookmarks (#8248)

Users can now bookmark their favorite objects in NetBox. Bookmarks are accessible under each user’s personal bookmarks list, and can also be added as a dashboard widget.

Custom Field Choice Sets (#12988)

Selection and multi-select custom fields now employ discrete, reusable choice sets containing the valid options for each field. A choice set may be shared by multiple custom fields. Additionally, each choice within a set can now specify both a raw value and a human-friendly label (see #13241). Pre-existing custom field choices are migrated to choice sets automatically during the upgrade process.

Pre-Defined Location Choices for Custom Fields (#12194)

Users now have the option to employ one of several pre-defined sets of choices when creating a custom field. These include:

  • IATA airport codes
  • ISO 3166 country codes
  • UN/LOCODE location identifiers

When defining a choice set, one of the above can be employed as the base set, with the option to define extra, custom choices as well.

Restrict Tag Usage by Object Type (#11541)

Tags may now be restricted to use with designated object types. Tags that have no specific object types assigned may be used with any object that supports tag assignment.


  • #6347 – Cache the number of assigned components for devices and virtual machines
  • #8137 – Add a field for designating the out-of-band (OOB) IP address for devices
  • #10197 – Cache the number of member devices on each virtual chassis
  • #11305 – Add GPS coordinate fields to the device model
  • #11519 – Add a SQL index for IP address host values to optimize queries
  • #11732 – Prevent inadvertent overwriting of object attributes by competing users
  • #11936 – Introduce support for tags and custom fields on webhooks
  • #12175 – Permit racks to start numbering at values greater than one
  • #12210 – Add tenancy assignment for power feeds
  • #12882 – Add tag support for contact assignments
  • #13170 – Add rf_role to InterfaceTemplate
  • #13269 – Cache the number of assigned component templates for device types

Other Changes

  • Work has begun on introducing translation and localization support in NetBox. This work is being performed in preparation for release 4.0.
  • #6391 – Rename the device_role field on Device to role for consistency with VirtualMachine
  • #9077 – Prevent the errant execution of dangerous instance methods in Django templates
  • #11766 – Remove obsolete custom ChoiceField and MultipleChoiceField classes
  • #12180 – All API endpoints for available objects (e.g. IP addresses) now inherit from a common parent view
  • #12237 – Upgrade Django to v4.2
  • #12794 – Avoid direct imports of Django’s stock user model
  • #12320 – Remove obsolete fields napalm_driver and napalm_args from Platform
  • #12964 – Drop support for PostgreSQL 11
  • #13309 – User account-specific resources have been moved to a new account app for better organization
Share the Post:

Related Posts