Skip to content

v3.9 Release Notes

This document describes all new features and changes in the release. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Release Overview

This release brings several significant additions and changes:

  • A new VMware vSphere integration!
  • CVE-2022-42969 has been successfully fixed!
  • Sync and sync logs are now searchable in the global search!
  • The example Jobs now support synchronizing Tags on appropriate objects between Nautobot instances.
  • All integrations that utilize the contrib pattern will automatically support Object Metadata being added to their models.

v3.9.0 (2025-06-25)

Added

  • #500 - Added VMWare vSphere Integration.
  • #836 - Added hide_in_diff_view flag for Sync and SyncLogEntry to hide those models in version control diff view.
  • #840 - Added support for synchronizing Tags between Nautobot instances for objects that support them in example Jobs.
  • #847 - Added get_orm_attribute function and tests.
  • #847 - Added load_typed_dict function and tests.
  • #850 - Added Sync and SyncLogEntry to the searchable_models definition.
  • #853 - Added orm_attribute_lookup utility function.

Changed

  • #632 - Enhance contrib to support object metadata.
  • #810 - Moved caching in NautobotAdapter to dedicated class.
  • #847 - Moved nautobot_ssot/utils.py to nautobot_ssot/utils/__init__.py
  • #853 - Changed references in NautobotAdapter to point to utility functions.
  • #865 - added closing bracket to example on docs

Fixed

  • #678 - - Removes Retry dependency, which in turn removes py depencency, thereby fixing CVE https://nvd.nist.gov/vuln/detail/CVE-2022-42969
  • #678 - - Re-implements retry decorator
  • #784 - Change _handle_to_many_relationship from static method to instance method
  • #807 - Redo of fix for Meraki IP duplication bug.
  • #830 - Fixed top_level list not being properly generated for software models.
  • #831 - Refactored handling of various Nautobot versions and Device Lifecycle Management app handling Software, SoftwareImage, and ValidatedSoftware models being synced.
  • #842 - Fixed IP version bug in Meraki integration on AP uplink ports.
  • #845 - Fix DNA Center integration to ensure Meraki devices aren't included in the failed device list if the import_meraki setting is False.
  • #845 - Fixed duplicate IPAddressToInterface diffs being created due to mask_length being included as identifier in DNA Center integration.
  • #859 - Fixed a bug where the cache persisted between sync executions in the Infoblox integration.

Documentation

  • #856 - Added a note to the developer upgrade documentation to explain the default value for text fields declared with blank=True, null=False.
  • #870 - Updated installation steps for vSphere integration.

v3.9.1 (2025-07-09)

Release Overview

Please note that the behavior in the SNOW integration now is to swallow and log an overview of how many duplicates encountered, and provide file output outlining what duplicates were encountered.

Changed

  • #874 - Reverted changes in NautobotModel to be backwards compatible with other integrations.
  • #874 - Reverted removal of invalidate_cache method in NautobotAdapter.

Fixed

  • #844 - Fixed job failure if there are duplicate devices in LibreNMS. Will skip device instead.
  • #867 - Gracefully swallow ServiceNow exceptions
  • #867 - Adds ServiceNow duplicate file reports
  • #867 - Fixes ServiceNow comparison filters to only compare against company names with Manufacturer set to True

v3.9.2 (2025-08-08)

Added

  • #860 - Added nautobot_ssot.utils.orm.get_custom_relationship_association_parameters utility function.
  • #860 - Added nautobot_ssot.utils.orm.get_custom_relationship_associations utility function.
  • #860 - Added nautobot_ssot.utils.typing.get_inner_type utility function.

Changed

  • #860 - Changed nautobot_ssot.contrib.adapter.NautobotAdapter to use new orm and typing utility functions.

Fixed

  • #596 - Handles HTTP 404 exception case for expired A record and PTR reference, and logs as a warning instead of failing the job run.
  • #881 - Fixed exception caused by missing secret value when creating a SecretsGroup with Bootstrap.
  • #904 - Fixed exception caused by missing software version when creating ValidatedSoftware with Bootstrap.
  • #916 - Fixed bootstrap signal DLM checks.
  • #921 - Fixed missing Prefix bug in Meraki integration.
  • #926 - Fixed issue with metadata_type when contrib models are used without the contrib adapter.

Documentation

  • #925 - Added Analytics GTM template override only to the public ReadTheDocs build.

v3.9.3 (2025-09-09)

Added

  • #913 - Added the enable_global_search configuration option to control whether the Nautobot global search includes synclogs.
  • #938 - Added support for Object Metadata in the Bootstrap integration.
  • #948 - Added ExternalIntegration creation to Bootstrap integration.

Fixed

  • #548 - Improved performance of the SSoT Sync history page by removing an unnecessary log prefetch and deferring large JSON fields.
  • #596 - Use required default arg ("msg") instead of kwarg ("message") when using self.job.logger.
  • #723 - Fixed _handle_single_parameter metadata key vs name inconsistency.
  • #910 - Fixed Service Now caching sys_ids causing objects to not be created.
  • #936 - Fixed creation of "Unknown" location when running LibreNMS integration in dry run mode.
  • #940 - Fixed error in Citrix ADM integration when attempting to assign an IP Address to an Interface.
  • #947 - Fixed Advanced Filters for Infoblox Config and Automation Gateway Management.
  • #953 - Fixed an issue in the Cisco DNA Center integration where devices with unmapped platforms were silently skipped during synchronization, resulting in an incomplete inventory

Housekeeping

  • #954 - Update ruff to target Python 3.9
  • Rebaked from the cookie nautobot-app-v2.5.1.

v3.9.4 (2025-09-18)

Release Overview

This release is focused on some vulnerabilities being fixed and a bugfix for the Meraki integration.

Security

  • #968 - https://github.com/advisories/GHSA-mw26-5g2v-hqw3
  • #968 - Deepdiff needs to be pinned to >8.6.0, requiring ipfabric to be bumped

Fixed

  • #962 - Meraki get-organization-devices API may omit notes key in response, changed slice to get() on the dictionary payload.