You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A new Custom Field type, "Markdown", has been added. Custom fields of this type can store Markdown-formatted text which will be rendered in the web UI.
Caching of Dynamic Groups and Content Types (#4092)
APIs have been added to allow for caching of the results of looking up an object's content-type or Dynamic Group memberships, as well as for looking up the members of a Dynamic Group itself. These caches are disabled by default but can be enabled by configuring the DYNAMIC_GROUPS_MEMBER_CACHE_TIMEOUT and CONTENT_TYPE_CACHE_TIMEOUT settings respectively. Apps (plugins) that make use of dynamic groups should review the documentation for the APIs to determine how and when to make use of the cache for improved performance.
Interface Redundancy Group model and related views have been added to allow logical grouping of multiple interfaces under a specific interface redundancy protocol (HSRP, VRRP, CARP, and etc).
A new setting, INSTALLATION_METRICS_ENABLED, has been added to allow Nautobot to send anonymous installation metrics to the Nautobot maintainers. This setting is True by default but can be changed in nautobot_config.py or the NAUTOBOT_INSTALLATION_METRICS_ENABLED environment variable.
If the INSTALLATION_METRICS_ENABLED setting is True, running the post_upgrade or send_installation_metrics management commands will send a list of all installed plugins and their versions, as well as the currently installed Nautobot and Python versions, to the Nautobot maintainers. A randomized UUID will be generated and saved in the DEPLOYMENT_ID setting to anonymously and uniquely identify each installation. The plugin names will be one-way hashed with SHA256 to further anonymize the data sent. This enables tracking the installation metrics of publicly released plugins without disclosing the names of any private plugins.
The following is an example of the data that is sent:
The Platform model has been enhanced to include a network_driver database field and a network_driver_mappings derived property based on the netutils library. For example, if you set a Platform to have a network_driver value of "cisco_ios", the platform.network_driver_mappings property will return a dictionary containing ansible, hier_config, napalm, netmiko, ntc_templates, pyats, pyntc, and scrapli keys corresponding to this entry. These properties can be referenced via the REST API and GraphQL to assist in developing and maintaining Apps, Jobs, or third-party code that interact with devices by using any of these libraries.
If the default derivations provided by netutils are not suitable for your purposes, you can extend or override them by configuring the NETWORK_DRIVERS system setting.
Nautobot 1.6.0 formally adds support for installation and operation under Python 3.11.
Changed
Additional HIDE_RESTRICTED_UI Effects for Unauthenticated Users (#3646)
When HIDE_RESTRICTED_UI is enabled, unauthenticated users are no longer able to view the OpenAPI (Swagger) UI, the GraphiQL UI, or any configured top/bottom banners. Additionally, the page footer on the login page will not display the Nautobot server hostname in this case.
As Python 3.7 has reached end-of-life, Nautobot 1.6 and later do not support installation or operation under Python 3.7.
v1.6.0 (2023-08-08)
Added
#4169 - Added environment variable NAUTOBOT_SESSION_EXPIRE_AT_BROWSER_CLOSE to set the SESSION_EXPIRE_AT_BROWSER_CLOSE Django setting which expires session cookies when the user closes their browser.
#4184 - Added documentation detailing rack power utilization calculation.
#4199 - Updated cryptography to ~41.0.3. As this is not a direct dependency of Nautobot, it will not auto-update when upgrading. Please be sure to upgrade your local environment.
#4215 - Broadened the range of acceptable packaging dependency versions.
Fixed
#3985 - Added error handling in JobResult.log() for the case where an object's get_absolute_url() raises an exception.
#3985 - Added missing get_absolute_url() implementation on CustomFieldChoice model.
#4222 - Fixed a bug in which JobChoiceVars could sometimes get rendered incorrectly in the UI as multiple-choice fields.
#4175 - Changed custom field clean to not populate null default values.
#4204 - Fixed failing Apps CI by downgrading jsonschema<4.18.
#4205 - Fixed failing Apps CI due to missing dependency of toml.
v1.6.0-rc.1 (2023-08-02)
Added
#2825 - Added InterfaceRedundancyGroup and related views, forms, filtersets and table.
#3269 - Added ability to cache DynamicGroup memberships in Redis to improve reverse lookup performance.
#3269 - Added ability to cache ContentType lookups in Redis to improve performance.
#3561 - Updated jsonschema dependency to permit versions up to 4.18.x. Note that versions back to 4.7.0 are still permitted, so this dependency may not necessarily auto-upgrade when updating Nautobot.
#3561 - Updated mysqlclient optional dependency to ~2.2.0.
#3561 - Updated napalm optional dependency to ~4.1.0. Note that as a result of this update, the following indirect package dependencies are no longer included by default when installing Nautobot with NAPALM: ciscoconfparse, dnspython, loguru, passlib, tenacity, toml, win32-setctime.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Nautobot v1.6
This document describes all new features and changes in Nautobot 1.6.
Release Overview
Added
Custom Field "Markdown" Type (#4006)
A new Custom Field type, "Markdown", has been added. Custom fields of this type can store Markdown-formatted text which will be rendered in the web UI.
Caching of Dynamic Groups and Content Types (#4092)
APIs have been added to allow for caching of the results of looking up an object's content-type or Dynamic Group memberships, as well as for looking up the members of a Dynamic Group itself. These caches are disabled by default but can be enabled by configuring the
DYNAMIC_GROUPS_MEMBER_CACHE_TIMEOUT
andCONTENT_TYPE_CACHE_TIMEOUT
settings respectively. Apps (plugins) that make use of dynamic groups should review the documentation for the APIs to determine how and when to make use of the cache for improved performance.Interface Redundancy Group (#2825)
Interface Redundancy Group model and related views have been added to allow logical grouping of multiple interfaces under a specific interface redundancy protocol (HSRP, VRRP, CARP, and etc).
Installation Metrics (#4047)
A new setting,
INSTALLATION_METRICS_ENABLED
, has been added to allow Nautobot to send anonymous installation metrics to the Nautobot maintainers. This setting isTrue
by default but can be changed innautobot_config.py
or theNAUTOBOT_INSTALLATION_METRICS_ENABLED
environment variable.If the
INSTALLATION_METRICS_ENABLED
setting isTrue
, running thepost_upgrade
orsend_installation_metrics
management commands will send a list of all installed plugins and their versions, as well as the currently installed Nautobot and Python versions, to the Nautobot maintainers. A randomized UUID will be generated and saved in theDEPLOYMENT_ID
setting to anonymously and uniquely identify each installation. The plugin names will be one-way hashed with SHA256 to further anonymize the data sent. This enables tracking the installation metrics of publicly released plugins without disclosing the names of any private plugins.The following is an example of the data that is sent:
Platform.network_driver
and related fields (4136)The Platform model has been enhanced to include a
network_driver
database field and anetwork_driver_mappings
derived property based on thenetutils
library. For example, if you set a Platform to have anetwork_driver
value of"cisco_ios"
, theplatform.network_driver_mappings
property will return a dictionary containingansible
,hier_config
,napalm
,netmiko
,ntc_templates
,pyats
,pyntc
, andscrapli
keys corresponding to this entry. These properties can be referenced via the REST API and GraphQL to assist in developing and maintaining Apps, Jobs, or third-party code that interact with devices by using any of these libraries.If the default derivations provided by
netutils
are not suitable for your purposes, you can extend or override them by configuring theNETWORK_DRIVERS
system setting.Python 3.11 Support (#3561)
Nautobot 1.6.0 formally adds support for installation and operation under Python 3.11.
Changed
Additional HIDE_RESTRICTED_UI Effects for Unauthenticated Users (#3646)
When
HIDE_RESTRICTED_UI
is enabled, unauthenticated users are no longer able to view the OpenAPI (Swagger) UI, the GraphiQL UI, or any configured top/bottom banners. Additionally, the page footer on the login page will not display the Nautobot server hostname in this case.Increased
Device.asset_tag
maximum length (#3693)The maximum length of the
Device.asset_tag
field has been increased from 50 to 100 characters.Changed Default Python Version for Docker Images (#4029)
The default Python version for Nautobot Docker images has been changed from 3.7 to 3.11.
Removed
Removed Python 3.7 Support (#3561)
As Python 3.7 has reached end-of-life, Nautobot 1.6 and later do not support installation or operation under Python 3.7.
v1.6.0 (2023-08-08)
Added
NAUTOBOT_SESSION_EXPIRE_AT_BROWSER_CLOSE
to set theSESSION_EXPIRE_AT_BROWSER_CLOSE
Django setting which expires session cookies when the user closes their browser.Dependencies
0.14.1
.drf-spectacular
to0.26.4
.cryptography
to~41.0.3
. As this is not a direct dependency of Nautobot, it will not auto-update when upgrading. Please be sure to upgrade your local environment.packaging
dependency versions.Fixed
JobResult.log()
for the case where an object'sget_absolute_url()
raises an exception.get_absolute_url()
implementation onCustomFieldChoice
model.Job
ChoiceVars
could sometimes get rendered incorrectly in the UI as multiple-choice fields.jsonschema<4.18
.toml
.v1.6.0-rc.1 (2023-08-02)
Added
DynamicGroup
memberships in Redis to improve reverse lookup performance.ContentType
lookups in Redis to improve performance.@action(detail=True)
decorator for registering additional non-standardGET
views to aNautobotUIViewSet
.network_driver
database field to thePlatform
model.network_driver_mappings
derived attribute on thePlatform
model.CONSTANCE_DATABASE_CACHE_BACKEND = 'default'
tosettings.py
, which should improve performance a bit.NETWORK_DRIVERS
config setting to override or extend default network driver mappings fromnetutils
library.NautobotUIViewSet
to allow Create and Update methods to have their own form classes.Changed
HIDE_RESTRICTED_UI
is True.HIDE_RESTRICTED_UI
is True.asset_tag
size limit to 100.Dependencies
celery
dependency to~5.3.1
.django-auth-ldap
optional dependency to~4.3.0
.django-cacheops
dependency to~6.2
.django-celery-beat
dependency to~2.5.0
.django-constance
dependency to~2.9.1
.django-cors-headers
dependency to~4.2.0
.django-cryptography
dependency to~1.1
. Note that this dependency will be removed in Nautobot 2.0.django-extensions
dependency to~3.2.3
.django-filter
dependency to~23.1
.django-health-check
dependency to~3.17.0
django-prometheus
dependency to~2.3.1
.`django-redis
dependency to~5.3.0
.django-storages
optional dependency to~1.13.2
.django-tables2
dependency to~2.6.0
.django-taggit
dependency to~4.0.0
.django-timezone-field
dependency to~5.1
.django-tree-queries
dependency to~0.15.0
.drf-spectacular
dependency to~0.26.3
.graphene-django
dependency to~2.16.0
.Jinja2
dependency to~3.1.2
.jsonschema
dependency to permit versions up to 4.18.x. Note that versions back to 4.7.0 are still permitted, so this dependency may not necessarily auto-upgrade when updating Nautobot.MarkupSafe
dependency to~2.1.3
.mysqlclient
optional dependency to~2.2.0
.napalm
optional dependency to~4.1.0
. Note that as a result of this update, the following indirect package dependencies are no longer included by default when installing Nautobot with NAPALM:ciscoconfparse
,dnspython
,loguru
,passlib
,tenacity
,toml
,win32-setctime
.packaging
dependency to~23.1
.Pillow
dependency to~10.0.0
.prometheus-client
dependency to~0.17.1
.social-auth-core
optional dependency to~4.4.2
.social-auth-app-django
dependency to~5.2.0
.Fixed
Removed
importlib-metadata
.pycryptodome
as Nautobot does not currently use this library and hasn't for some time.Contributors
New Contributors
Full Changelog: v1.5.24...v1.6.0
This discussion was created from the release v1.6.0 - 2023-08-08.
Beta Was this translation helpful? Give feedback.
All reactions