Update ghcr.io/nautobot/nautobot Docker tag to v3#746
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
6f4f76d to
54e6591
Compare
54e6591 to
39e792a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.4.34→3.1.3Release Notes
nautobot/nautobot (ghcr.io/nautobot/nautobot)
v3.1.3: - 2026-05-26Compare Source
v3.1.3 (2026-05-26)
Security in v3.1.3
fast-urito3.1.2to mitigate CVE-2026-6321 and CVE-2026-6322.idnato3.15to mitigate CVE-2026-45409. As this is not a direct dependency, it will not auto-update when upgrading; please be sure to update your local environment.pymdown-extensionsto10.21.3to mitigate CVE-2026-46338.Added in v3.1.3
Changed in v3.1.3
nautobot-migrate-bootstrap-v3-to-v5script to apply to*.jsfiles as well.Fixed in v3.1.3
forms.jswould crash when a form contained anid_slugorid_keyfield without aslug-sourceattribute, silently breaking downstream form initialization (including Flatpickr date/time pickers) on affected pages such as the API Token create form.filterset_classconfigured.isinstancechecks against shared classes to return false negatives.Dependencies in v3.1.3
urllib3 (>=2.7.0,<3.0.0)as a direct dependency as Nautobot now directly uses it. (Previously it was an indirect dependency.)cryptographydependency to(>=48.0.0,<49).Housekeeping in v3.1.3
_JobModalButtonnow uses POST requests instead of GET requests for the job modal flow.initializeSortableListlogic in forms.js, unused since 3.1.0.Contributors
Full Changelog: nautobot/nautobot@v3.1.2...v3.1.3
v3.1.2: - 2026-05-08Compare Source
Security in v3.1.2
WEBHOOK_ALLOWED_SCHEMESsettings variable. By default new or updatedWebhookrecords will be restricted to HTTP or HTTPS only, disallowing other schemes that may have been previously allowed. Administrators should audit existingWebhookrecords to identify any that are invalid, and either update/delete said records or customizeWEBHOOK_ALLOWED_SCHEMESas appropriate.WEBHOOK_ADDITIONAL_BLOCKED_NETWORKSsettings variable. This can be used to specify additional IP networks that should be denied toWebhooksending, for example some deployments may wish to disallow RFC1918 addresses.WEBHOOK_ALLOWED_HOSTSsettings variable. This can be used to provide an allow-list of specific hosts that would otherwise be blocked by anyWEBHOOK_ADDITIONAL_BLOCKED_NETWORKSconfiguration.Webhook. Administrators should audit existingWebhookrecords to identify any that are invalid and delete said records (CVE-2026-44797).Webhookdefinitions against being used as a vector for server-side request forgery (SSRF) (CVE-2026-44797).GitRepository.current_headbeing incorrectly user-editable through the REST API (CVE-2026-44798).GitRepository.clean()and to various methods of theGitRepohelper class.bulk-renameviews (both legacyBulkRenameViewand viewsetObjectBulkRenameViewMixin) when doing regular-expression-based bulk renames to protect against denial-of-service (REDoS) due to an overly-complex or maliciously crafted regular expression provided by the user (CVE-2026-44796).djangoto>=5.2.14,<5.3to mitigate CVE-2026-5766, CVE-2026-35192, and CVE-2026-6907.gitpythonto>=3.1.50,<3.2to mitigate CVE-2026-44243, CVE-2026-44244, and GHSA-mv93-w799-cj2w.Added in v3.1.2
Removed in v3.1.2
nautobot-server webhook_receivercommand.Fixed in v3.1.2
ImageAttachmentREST API incorrectly marking theimage_heightandimage_widthas required fields.ImageAttachmentREST API incorrectly allowing creation of attachments to an unsupportedcontent_type.ContactAssociationREST API incorrectly allowing creation of associations to an invalidassociated_object_type.0130_jobresult_generate_log_entry_countsto prevent resource exhaustion._JobModalButtonrefresh_on_close_if_doneflag being dropped during modal polling, causing the page to not reload when the Close button (footer, header, or Escape key) is used after a Job completes.Dependencies in v3.1.2
regex>=2026.4.4as a dependency. (Previously it was a development-only dependency.)nh3to>=0.3.5,<0.4.Documentation in v3.1.2
Housekeeping in v3.1.2
bulk_renameactions onModuleBayUIViewSetandModuleBayTemplateUIViewSetwith the genericObjectBulkRenameViewMixin.--no-inputoption toinvoke teststask.--commandoption toinvoke nbshelltask.fakerto^40.15.0.pymarkdownlntto~0.9.37.test_bulk_rename_regex_redos_protectionto reduce spurious failures in CI.Contributors
Full Changelog: nautobot/nautobot@v3.1.1...v3.1.2
v3.1.1: - 2026-04-27Compare Source
v3.1.1 (2026-04-27)
Security in v3.1.1
GitPythonto>=3.1.47,<3.2to mitigate CVE-2026-42215 and CVE-2026-42284.lxmlto6.1.0to mitigate CVE-2026-41066. As this is not a direct dependency, it will not auto-update when upgrading; please be sure to upgrade your local environment.Added in v3.1.1
render_default_panels_for_objecttemplate tag.Changed in v3.1.1
Fixed in v3.1.1
nautobot/extras/templates/extras/inc/jobresult_js.html,nautobot/project-static/js/job_result.js, andnautobot/project-static/js/log_level_filtering.jsthat were removed in 3.1.0, in order to avoid breaking Apps still referencing these files.NoReverseMatchcrash when adding Data Validation Rules.Dependencies in v3.1.1
djangorestframeworkto>=3.17.1,<3.18.psycopg2-binaryto>=2.9.12,<2.10.social-auth-coreto>=4.8.6,<4.9.htmx.orgto^2.0.10.social-auth-coreto>=4.8.7,<4.9.Documentation in v3.1.1
Housekeeping in v3.1.1
richto~14.3.4.mkdocs-section-indexto~0.3.12.mkdocstringsto~1.0.4.ruffto~0.15.11.postcssto^8.5.10.prettierto^3.8.3.bulk_renametest cases.ruffto~0.15.12.openapi-spec-validatorto~0.8.5.Contributors
New Contributors
Full Changelog: nautobot/nautobot@v3.1.0...v3.1.1
v3.1.0: - 2026-04-14Compare Source
This document describes all new features and changes in Nautobot 3.1.
Upgrade Actions
Administrators
Migrate From Legacy PostgreSQL Versions As Needed
Nautobot 3.1, as a consequence of the Django 5.2 dependency upgrade, drops support for PostgreSQL versions 12.x and 13.x and now requires a minimum of PostgreSQL 14.0. If you have an existing Nautobot deployment on these no-longer-supported versions of PostgreSQL, you will need to upgrade and migrate your database.
!!! tip
In general we recommend that you upgrade PostgreSQL as a separate step and change window from upgrading Nautobot in order to reduce the complexity of the upgrade and allow easier troubleshooting and recovery should anything go wrong in the process.
Migrate Configuration To
STORAGESAs NeededAs a consequence of the Django 5.2 dependency upgrade, Nautobot 3.1 drops support for the Django
DEFAULT_FILE_STORAGEandSTATICFILES_STORAGEsettings variables in favor of a unifiedSTORAGESsetting. Additionally, support for the corresponding Nautobot-specificSTORAGE_BACKEND,STORAGE_CONFIG, andJOB_FILE_IO_STORAGEsettings variables has been removed and merged into theSTORAGESsetting.If your deployment of Nautobot had overridden any of the above settings (for example, to use S3 storage), you will need to update your
nautobot_config.pyfile to use theSTORAGESsetting instead. More details are available in the Nautobot documentation forSTORAGES.Configure New Performance Settings As Appropriate
If you have a large number of Location and/or Prefix records, you can configure
LOCATION_LIST_DEFAULT_MAX_DEPTHand/orPREFIX_LIST_DEFAULT_MAX_DEPTHto limit the depth of data that's initially retrieved and rendered when first accessing these list views, with the potential to significantly improve the performance of these enhanced views as a result.Enforced Permissions for Job Log Entries
Nautobot 3.1 introduces stricter permission enforcement for viewing job log entries in the log table view. Previously, the
extras.view_joblogentrypermission was not consistently required to access this data.As a result, users who were previously able to view job logs may now be restricted unless they have been explicitly granted the appropriate
extras.view_joblogentrypermission. This change may have unexpected impact on existing deployments where access to job logs was implicitly available.Administrators should review user roles and permissions to ensure that appropriate access to job logs is granted where needed.
App Authors/Maintainers
Changes For Django 5.2 Compatibility
Nautobot's dependency update to Django 5.2, as typical of Django major version updates, included a small number of breaking changes to Django's Python APIs. For a comprehensive guide, refer to the "Backwards incompatible changes" and "Features removed" sections of Django's release-notes for versions 5.0, 5.1, and 5.2. The most likely impacts we have identified to Nautobot Apps are the following:
Model.Meta.index_together(previously deprecated in Django 4.2) is removed; App models with custom indexes usingindex_togetherwill need to migrate to useModel.Meta.indexesinstead and create a database migration accordingly.ManyToManyFieldwith an explicitthroughtable (as is recommended by Nautobot) may need to runnautobot-server makemigrations <app>to generate a schema migration explicitly specifying thethrough_fieldsfor each suchManyToManyField.assertQuerysetEqual()(previously deprecated in Django 4.2) is removed; App tests using this method will need to migrate to useassertQuerySetEqual()(note capitalization) instead.querystring, which may conflict with the built-inquerystringtemplatetag introduced in Django 5.1. Additionally, Django Tables2 has a similar namespace conflict. It is recommended to use Django's built-in version where possible. If compatibility issues arise, usenautobot.app.templatetags.legacy_querystringinstead.Changes for HTMX
See HTMX List View Rendering below.
Support Dependent Object Creation and Search In Forms
See Dependent Object Creation and Search below.
Bootstrap FileStyle Deprecation
The Bootstrap FileStyle library is now deprecated and will be removed in Nautobot 4.0. The
ClearableFileInputwidget, which previously depended on Bootstrap FileStyle, has already been migrated to the standard Bootstrap 5 file input.If you do not directly reference the
bootstrap-filestyle-1.2.3/bootstrap-filestyle.min.jsscript in your code, no action is required. Otherwise, we encourage you to transition to the Bootstrap 5 file input or import an external library of your choice.django-ajax-tablesDeprecationThe
django-ajax-tableslibrary is now deprecated and will be removed in Nautobot 4.0. The dynamic table rendering, filtering, and pagination features, which previously depended on this library, have been migrated to use standarddjango-tables2combined with HTMX.If you do not directly reference
django-ajax-tablescomponents or its associated JavaScript handlers in your code, no action is required. Otherwise, we encourage you to transition your dynamic tables to the new HTMX-based approach.Release Overview
Breaking Changes
Dropped Support for PostgreSQL Versions Less Than 14.0
As a consequence of the dependency update to Django 5.2, support for PostgreSQL versions before 14.0 has been removed from Nautobot.
Dropped Support for MySQL Versions Less Than 8.0.11
As a consequence of the dependency update to Django 5.2, support for MySQL versions before 8.0.11 has been removed from Nautobot.
Unified Storage Backend Configuration
As a consequence of the dependency update to Django 5.2, Nautobot 3.1 drops support for the Django
DEFAULT_FILE_STORAGEandSTATICFILES_STORAGEsettings variables in favor of a unifiedSTORAGESsetting. Additionally, support for the corresponding Nautobot-specificSTORAGE_BACKEND,STORAGE_CONFIG, andJOB_FILE_IO_STORAGEsettings variables has been removed and merged into theSTORAGESsetting. More details are available in the Nautobot documentation forSTORAGES.Added
Dependent Object Creation and Search
Dependent objects can now be created directly from the current page using an embedded modal, without interrupting your workflow. Additionally, dependent object search supports advanced filtering, making it easier to find related records, especially in cases like interfaces where simple string matching was not sufficient.
Both creation and search are handled within a modal, so you don't have to leave the main form.
Form migration guide for App developers is available in Embedded Actions.
Configurable Columns
Configurable Columns have been redesigned for improved usability. You can now easily toggle columns on and off via moveable checkboxes, while preserving the order of selected columns.
Job Console
When running jobs, Nautobot now optionally captures and displays all console output in the Job Console tab, including logs previously omitted due to log settings or C-program output. You can now see the complete console log as if running the job interactively, creating a clear separation between job troubleshooting (Job Console) and job reporting (Job Log Entries).
Custom Field Scoping
Custom Fields can now be scoped to display or edit only when specific, user-defined filtering conditions are met. Previously, all Custom Fields appeared on all objects. Common use cases include:
Deviceobjects only when the device is a Cisco model.Locationobjects only when theLocationTypeisSite.Circuitobjects only when the circuit is an ATT circuit.Python 3.14 Support
Added official support for Python 3.14.
Bulk Rename for More Models
UI viewsets inheriting from
NautobotUIViewSetnow include a Rename bulk action alongside Bulk Edit and Bulk Delete when their model exposes an editablenamefield. Users can supply a find/replace pattern (literal string or regular expression) against the selected objects' names and preview the resulting names before applying the change. Previously, bulk rename was only available on a small number of legacy views. Models without anamefield are automatically opted out, so Apps pick this up with no code changes required.To ensure server responsiveness, regular-expression patterns submitted for bulk rename are validated before execution and may be rejected with a clear error message if too complex. Additionally, only objects visible to the user can be renamed in bulk, unlike other bulk operations that allow the full queryset. This ensures users can preview changes before applying them.
Changed
HTMX List View Rendering
In Nautobot 3.1, object list views (including both those derived from
generic.ObjectListViewand those usingNautobotUIViewSet) now load in two stages (using HTMX) to improve the responsiveness of the UI. Custom implementations of these views, and/or custom test cases written for these views, may require some updates to handle this behavior correctly. Refer to the developer documentation for more specific guidance.Async Global Search
Global search is now loaded asynchronously. When performing a search, results are returned incrementally, so you see matches immediately without waiting for the slowest queries to complete.
Improved Location and Prefix List Views
In addition to the generalized list-view performance enhancements described above, the list views for Location and Prefix records specifically have been enhanced in several ways:
LOCATION_LIST_DEFAULT_MAX_DEPTHand/orPREFIX_LIST_DEFAULT_MAX_DEPTHto limit the depth of data that's initially retrieved and rendered when first accessing these list views, improving their responsiveness substantially at high data scale.Deprecated
assertQuerysetEqualAndNotEmpty()Test MethodThe Nautobot test method
assertQuerysetEqualAndNotEmpty()has been deprecated in favor of the newassertQuerySetEqualAndNotEmpty()method (note change in capitalization) to align with Django'sassertQuerySetEqual()test method. Support forassertQuerysetEqualAndNotEmpty()may be removed in a future Nautobot release.Dependencies
Django 5.2
Nautobot 3.1 upgrades the core
Djangodependency from 4.2.x LTS to 5.2.x LTS. Nautobot has been updated accordingly, but Apps and third-party dependencies may need to update to newer versions for compatibility with Django 5.2.Contributors
New Contributors
Full Changelog: nautobot/nautobot@v3.0.11...v3.1.0
v3.0.11: - 2026-04-08Compare Source
v3.0.11 (2026-04-08)
Security in v3.0.11
Djangoto~4.2.30to mitigate CVE-2026-33033 and others.cryptographyto~46.0.7to mitigate CVE-2026-39892.pygmentsto2.20.0to mitigate CVE-2026-4539. As this is not a direct dependency, it will not auto-update when upgrading; please be sure to upgrade your local environment.pymdown-extensionsto10.21.2to address an incompatibility withpygmentsversion2.20. As this is not a direct dependency, it will not auto-update when upgrading; please be sure to upgrade your local environment.Added in v3.0.11
Changed in v3.0.11
Fixed in v3.0.11
Dependencies in v3.0.11
mini-css-extract-pluginto^2.10.2.postcssto^8.5.9.requeststo~2.33.1.Documentation in v3.0.11
Housekeeping in v3.0.11
djhtmlto~3.0.11.mkdocs-redirectsto~1.2.3.merge-image-digestsGitHub action.Contributors
Full Changelog: nautobot/nautobot@v3.0.10...v3.0.11
v3.0.10: - 2026-03-30Compare Source
What's Changed
Security in v3.0.10
pyasn1to0.6.3to mitigate CVE-2026-30922. As this is not a direct dependency, it will not auto-update when upgrading; please be sure to upgrade your local environment.cryptographyto~46.0.6to mitigate CVE-2026-34073.requeststo~2.33.0. to mitigate CVE-2026-25645. As this is not a direct dependency, it will not auto-update when upgrading; please be sure to upgrade your local environment.flattedto~3.4.2to mitigate CVE-2026-33228.Added in v3.0.10
graphqlandwebhooksextras features to allComponentTemplateModelsubclasses.clear_cachestep tonautobot-server post_upgradecommand.Changed in v3.0.10
Fixed in v3.0.10
CONN_MAX_AGEand can recover from errored connections.jobsregistry at the same time.graphene-djangov3.x in Nautobot 3.0.0.JobRunScheduleButtoninJobView.validated_save()method was being called unnecessarily on allVRFDeviceAssignmentobjects when adding a new assignment to a VRF.get_config_contextand ConfigContexModel annotation for subclasses of Device modelDependencies in v3.0.10
celeryto~5.6.3.nh3to~0.3.4.Documentation in v3.0.10
Housekeeping in v3.0.10
mkdocs-gen-filesto~0.6.1.mkdocs-materialto~9.7.6.mkdocs-section-indexto~0.3.11.coverageto~7.13.5.timefield for tests.Contributors
New Contributors
Full Changelog: nautobot/nautobot@v3.0.9...v3.0.10
v3.0.9: - 2026-03-17Compare Source
What's Changed
Security in v3.0.9
Djangoto~4.2.29to mitigate CVE-2026-25673 and CVE-2026-25674.immutablenpm development dependency to 5.1.5 to mitigate CVE-2026-29063.minimatchnpm development dependency to 3.1.5 to mitigate CVE-2026-27903.serialize-javascriptnpm development dependency to 7.0.4 to mitigate GHSA-5c6j-r48x-rmvq.pyjwtto2.12.1to mitigate CVE-2026-32597. As this is not a direct dependency, it will not auto-update when upgrading; please be sure to upgrade your local environment.Added in v3.0.9
software_version__platformfilter toSoftwareImageFileFilterSetto allow filtering software image files by their software version's platform.Fixed in v3.0.9
import_string_optionalto avoid ignoring certain exceptions unrelated to the specific import.Dependencies in v3.0.9
django-constanceto~4.3.5.Node.jsUI dependency to version 24.npmUI dependency to>=11.9.0.Housekeeping in v3.0.9
@eslint/jsandeslintto^9.39.4.mini-css-extract-pluginto^2.10.1.postcssto^8.5.8.webpackto^5.105.4.mkdocs-materialto~9.7.5.pymarkdownlntto~0.9.36.copy-webpack-pluginto^14.0.0.Contributors
New Contributors
Full Changelog: nautobot/nautobot@v3.0.8...v3.0.9
v3.0.8: - 2026-03-02Compare Source
What's Changed
Added in v3.0.8
HYPERLINKED_OBJECToption toObjectTextPanel.RenderOptionsto automatically render the value as a hyperlink to the related object.Changed in v3.0.8
Fixed in v3.0.8
JobResultstatus was not being set toSTARTEDwhen a job was run synchronously.health_checkto pass.islowerwas not called as a function in the conditional.Dependencies in v3.0.8
django-tree-queriesto~0.23.1.nh3to~0.3.3.Housekeeping in v3.0.8
UI component framework.@eslint/jsto^9.39.3.autoprefixerto^10.4.26.css-loaderto^7.1.4.eslintto^9.39.3.postcss-loaderto^8.2.1.webpackto^5.105.2.mkdocs-materialto~9.7.3.deploy-sandboxaction for release CI.ui_buildcontainer not running successfully in a fresh development environment.invoke npmand related tasks to not installnode_modulesinto the local filesystem.Contributors
Full Changelog: nautobot/nautobot@v3.0.7...v3.0.8
v3.0.7: - 2026-02-17Compare Source
What's Changed
Security in v3.0.7
djangoto~4.2.28to mitigate several CVEs including CVE-2026-1287 and CVE-2026-1312.cryptographyto46.0.5to mitigate CVE-2026-26007.pillowto^12.1.1to mitigate CVE-2026-25990.Added in v3.0.7
Statusfield toInterfaceRedundancyGroupTable.Fixed in v3.0.7
KeyErrorwhenCACHESsetting does not include an explicitTIMEOUTkey.InterfaceRedundancyGroupFilterFormandVirtualDeviceContextFilterForm.rack=<UUID>instead ofrack=<name>.rack=nullandtenant=nullfilters.Dependencies in v3.0.7
jquery-uito^1.14.2.mysqlclientto~2.2.8.social-auth-coreto~4.8.5.House
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.