1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00
Jeremy Stretch 354dc4398a Update changelog
2023-08-02 11:18:52 -04:00

7.5 KiB

NetBox v3.6

v3.6.0 (FUTURE)

Breaking Changes

  • PostgreSQL 11 is no longer supported (due to adopting 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

The admin UI is scheduled for removal in NetBox v4.0.

Configurable Default Permissions (#13038)

Administrators now have the option of configuring a set of default permissions to be applied to all users, regardless of explicit permission or group assignment. This is accomplished by defining the DEFAULT_PERMISSIONS configuration parameter.

User Bookmarks (#8248)

Users can now bookmark their most commonly-visited objects in NetBox. Bookmarks will display both on the dashboard (if configured) and on a user-specific bookmarks view.

Custom Field Choice Sets (#12988)

Select 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 value and a human-friendly label (see #13241).

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

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

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

Extra choices may also be appended to the pre-defined sets as needed.

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.

Enhancements

  • #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

REST API Changes

  • Introduced the following endpoints:
    • /api/extras/bookmarks/
    • /api/extras/custom-field-choice-sets/
  • Added the /api/extras/custom-fields/{id}/choices/ endpoint for select and multi-select custom fields
  • dcim.Device
    • Renamed device_role to device. Added a read-only device_role field for limited backward compatibility.
    • Added the latitude and longitude fields (for GPS coordinates)
    • Added the oob_ip field for out-of-band IP address assignment
  • dcim.DeviceType
    • Added read-only counter fields for assigned component templates:
      • console_port_template_count
      • console_server_port_template_count
      • power_port_template_count
      • power_outlet_template_count
      • interface_template_count
      • front_port_template_count
      • rear_port_template_count
      • device_bay_template_count
      • module_bay_template_count
      • inventory_item_template_count
  • dcim.InterfaceTemplate
    • Added the rf_role field
  • dcim.Platform
    • Removed the napalm_driver and napalm_args fields
  • dcim.PowerFeed
    • Added the tenant field
  • dcim.Rack
    • Added the starting_unit field
  • dcim.VirtualChassis
    • Added the read-only member_count field
  • extras.CustomField
    • Removed the choices array field
    • Added the choice_set foreign key field (to ChoiceSet)
  • extras.Tag
    • Added the object_types field for optional restriction to specific object types
  • extras.Webhook
    • Added custom_fields and tags support
  • tenancy.ContactAssignment
    • Added tags support
  • virtualization.VirtualMachine
    • Added the oob_ip field for out-of-band IP address assignment