Skip to content

Changelog#

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog 1.1.0, and this project adheres to Semantic Versioning 2.0.0.


0.2.2 – 2026-05-05#

Compatibility: NetBox v4.5, NetBox v4.6

Added#

  • Add support for NetBox v4.6.

0.2.1 – 2026-03-22#

Compatibility: NetBox v4.5

Added#

  • Allow Contract Relations to use Contracts from the common ACI Tenant.

Changed#

  • Clarify Contract Relation documentation, including ESG and uSeg EPG support and the same-fabric / tenant-or-common requirements.
  • Remove the uniqueness constraint on ACI Fabric IDs to support multi-fabric deployments.
  • Add validation to ensure Contract Filters belong to the same ACI Tenant as the Contract Subject, or to the common Tenant in the same fabric.
  • Refactor Contract Relation form initialization so Tenant and Fabric values are derived from the selected ACI object.
  • Update GraphQL filter compatibility for newer strawberry-graphql-django APIs.
  • Replace deprecated GraphQL filter decorators with the current API.
  • Refactor tenant-or-common filtering into reusable FilterSet mixins.
  • Update project linting, formatting, and dependency configuration.

Fixed#

  • Remove a redundant validation check in Contract Filter protocol validation.
  • Simplify Node uniqueness validation by moving logic into model clean methods.
  • Initialize ESG and uSeg EPG cache attributes in Contract Relations.

0.2.0 – 2026-01-25#

Compatibility: NetBox v4.5

Added#

  • Support multiple ACI Fabrics.
  • Support ACI Pods.
  • Support ACI Nodes.
  • Record child-object changes (Bridge Domain Subnets, Contract Relations, Contract Filter Entries, and Contract Subjects) on the parent object.
  • Add ACITenantFilterSetMixin and NBTenantFilterSetMixin to deduplicate filter logic.
  • Add ACIBaseTestCase for consistent model test fixtures.
  • Add ownership support.

Changed#

  • BREAKING: Require NetBox 4.5+ (was 4.4).
  • BREAKING: ACI Tenants now require a foreign key to an ACI Fabric.
  • Use string-based ForeignKey references for plugin models.
  • Use select_related for ForeignKey fields to reduce query count.
  • Rely on max_length (and the database) for length enforcement by removing explicit MaxLengthValidators and regex length quantifiers.
  • Centralize max-length constants.
  • Add in_list lookups for GraphQL enum fields.

Removed#

  • Drop support for NetBox 4.34.4.

Fixed#

  • Make ACITenant.parent_object a property.
  • Localize the Attributes and NetBox Tenant form fieldset labels with gettext.
  • Fix navigation permissions for uSeg Endpoint Groups.
  • Rename the GraphQL NetBox Tenant filter field from tenant to nb_tenant.

0.1.0 – 2025-09-03#

Compatibility: NetBox v4.3, NetBox v4.4

Added#

  • First PyPI release of the NetBox ACI plugin.
  • Models/UI for Tenants, Application Profiles, EPGs, uSeg EPGs, ESGs, Bridge Domains, VRFs, Contracts, Contract Subjects, and Contract Filters.