Skip to content

v3.1 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 significant model renaming for clarity, new parsers (TTP and JSON), improved navigation and UI consistency, and a new settings model for scoping which devices are available for snapshots. Git datasource format now supports multiple collectors per validation rule, and all jobs are enabled by default on install.

v3.1.0 (2026-04-15)

Added

  • Added TTP and JSON parsers.
  • Added Parser sync for TTP and TextFSM through GitRepositories.
  • Added an Actions button column to all tables.
  • Added an Operational Compliance Summary template extension for devices.
  • Added migration to enable all app-provided jobs by default on install and upgrade.
  • Added OperationalComplianceSetting to provide an optional base filter (DynamicGroup) to the Snapshots.
  • Added Snapshot model representing a named point-in-time compliance run.

Changed

  • Renamed the Check model to ValidationRule.
  • Renamed the CheckCommand model to CommandParser.
  • Renamed the CheckOutput model to CommandOutput.
  • Renamed the CheckGroup model to ValidationRuleGroup.
  • Renamed the CheckResult model to ValidationResult.
  • Renamed the CommandParser.check_object field to "validation_rule".
  • Renamed the CommandOutput.related_check field to "validation_rule".
  • Renamed the ValidationRule.check_type field to "rule_type".
  • Renamed the ValidationRule.check_type_options field to "rule_options".
  • Renamed the ValidationRulegroup.checks field to "validation_rules".
  • Renamed CheckParserChoices to ParserTypeChoices.
  • Changed the maximum length of the following fields to 255 characters: ValidationRule.rule_type, ValidationRule.name, CommandParser.command, CommandParser.napalm_getter, CommandParser.parser, ValidationRuleGroup.name, ValidationResult.match.
  • Updated the Operations navigation entry to use the new custom orbit icon asset and standardized menu weight.
  • Updated select fields to use StaticSelect2 where applicable and multi-select fields to use DynamicModelMultipleChoiceField.
  • Updated model reference display names to be clearer and easier to read.
  • Updated the default sorting of the CommandOutput and ValidationResult models to put the most recent rows first.
  • Updated the base_url from nautobot-operational-compliance to operational-compliance per naming standards.
  • Updated navigation to match the GoldenConfig style of navigation.
  • Updated Git datasource format to support multiple collectors per validation rule.
  • Changed job to fail if fail_on_task_failure is set and no matching devices are found.

Removed

  • Removed Check.severity field.

Fixed

  • Fixed filter form fields using DynamicModelChoiceField instead of DynamicModelMultipleChoiceField.
  • Fixed RemovedInDjango60Warning.

Documentation

  • Updated user documentation for clarity and accuracy.
  • Updated documentation and screenshots for new model names and Nautobot 3.0 UI.