Last Month in Nautobot – December 2023
Welcome to our monthly Nautobot community update! We’ll dive into the latest updates across the Nautobot community each month, highlighting the key milestones, releases, and noteworthy contributions. From new features and enhancements to bug fixes and events, there’s always something happening in our dynamic ecosystem. Open source is at the core of our values, empowering individuals and organizations to collaborate, innovate, and make a positive impact together. This monthly blog post is our way of celebrating the accomplishments and contributions of our Nautobot community members.
Nautobot Core
Release v2.1.0
Django Admin Log Entries (#4646)
Django Admin Log Entries record administrative changes made under the “Admin” section of the user interface. Changes (add/delete/update) to Objects like Users, Group, Object Permissions, etc. in the “Admin” user interface are now displayed as “Log Entries” under the “Administration” section of the Admin UI.
External Integration Model (#4694)
A new ExternalIntegration
model has been added which provides a centralized store for data such as URLs and credentials that are used to access systems external to Nautobot. This information can then be used by jobs or apps to perform actions such as creating DNS records or updating configuration management tickets.
Home Page Panels Can Be Customized (#2149)
The panels displayed on the Nautobot home page have been modified to enable a more personalized user experience. Individual panels can now be collapsed, hiding the contents from view. Additionally, panels can be reordered by dragging and dropping the panels to the desired order.
Job File Outputs (#3352, #4820)
The Job
base class now includes a create_file(filename, content)
method which can be called by a Job to create a persistent file with the provided content when run. This file will be linked from the Job Result detail view for subsequent downloading by users and can also be downloaded via the REST API (/api/extras/file-proxies/<id>/download/
) as desired.
The size of files Jobs can create via this method is constrained by the JOB_CREATE_FILE_MAX_SIZE
settings variable.
Job JSONVar inputs (#4926)
Provides the ability to have native JSON data inputs for Jobs; this is provided by a multi-line text input on the Job form. And the provided JSON data is serialized prior to passing to the run()
method of the Job.
UI/API isnull
Filter on Nullable Fields (#1905)
Models with nullable fields (i.e., model fields with null=True
) can now be filtered in the UI and the API with <field>__isnull=true/false
filters. These filters are automatically added to all appropriate fields.
Data Exports as a System Job (#4745)
The data export functionality in all object list views (allowing export of all objects or a filtered subset of objects to CSV, YAML, and/or as defined by an ExportTemplate
) has been changed from a synchronous operation to an asynchronous background task, leveraging the new ExportObjectList
system Job. As a result, exports of thousands of objects in a single operation will no longer fail due to browser timeout.
Nautobot UI Reskin (#4677, #4765)
The Nautobot UI has been updated with a customized theme, giving it a brand-new look. In addition, Nautobot’s navigation bar has been moved from the top to the left.
Drop Support for Legacy PostgreSQL Versions (#4757)
Support for versions of PostgreSQL prior to 12.0 has been removed, as these versions are no longer maintained and contain bugs that prevent migrations from running in certain scenarios. The nautobot-server migrate
or nautobot-server post_upgrade
commands will now abort when detecting an unsupported PostgreSQL version.
Remove HIDE_RESTRICTED_UI
Toggle (#4787)
Support for HIDE_RESTRICTED_UI
has been removed. UI elements requiring specific permissions will now always be hidden from users lacking those permissions. Additionally, users not logged in will now be automatically redirected to the login page.
Releases – LTM 1.6
- v1.6.8 – 2023-12-22
- #4876 – Updated
cryptography
to41.0.7
due to CVE-2023-49083. As this is not a direct dependency of Nautobot, it will not auto-update when upgrading. Please be sure to upgrade your local environment. - #4988 – Fixed missing object-level permissions enforcement when running a JobButton (GHSA-vf5m-xrhm-v999)
- #4988 – Removed the requirement for users to have both
extras.run_job
andextras.run_jobbutton
permissions to run a Job via a Job Button. Onlyextras.run_job
permission is now required. - #5002 – Updated
paramiko
to3.4.0
due to CVE-2023-48795. As this is not a direct dependency of Nautobot, it will not auto-update when upgrading. Please be sure to upgrade your local environment. - Bug fixes
- #4876 – Updated
- v1.6.7 – 2023-12-12
- #4959 – Enforce authentication and object permissions on DB file storage views (GHSA-75mc-3pjc-727q)
Apps Ecosystem
- Nautobot App Data Validation Engine: v3.0.2 – 2023-12-29
- Nautobot App Golden Config: v2.0.1 – 2023-12-14
- Nautobot Ansible: v5.1.0 – 2023-12-13
- Added new modules for device redundancy groups, namespaces, and custom fields
Community
Conclusion
Do you have any cool Nautobot-related project we should write about? Swing by the Network to Code Slack -> channel #nautobot
and write us a quick line! Sign up here if you don’t have an account.
-Cristian and Gary
Contact Us to Learn More
Share details about yourself & someone from our team will reach out to you ASAP!