github netbox-community/netbox-acls 2.1.0

2 hours ago

This release adds NetBox 4.7 support, per-rule logging, bulk import for all plugin objects, related ACL Rules on IPAM objects, and refreshed detail views.

Compatibility

  • NetBox 4.7.x

Breaking: NetBox 4.7.0 through 4.7.99 is required. NetBox 4.5.x and 4.6.x are no longer supported. Upgrade NetBox before upgrading the plugin.

Added

  • Added logging controls to Standard and Extended ACL Rules. Logging is not allowed on remark rules, and logging options require log_matches to be enabled. Options are stored in a consistent order and displayed as coloured badges. (#57)
  • Added CSV, JSON, and YAML bulk import for Access Lists, ACL Assignments, Standard Rules, and Extended Rules. Related objects can be referenced by natural value where supported or by numeric ID. IP ranges require an ID. Interface names can be qualified by their parent object, and omitted fields keep their existing values during partial updates. (#390)
  • Added Standard and Extended ACL Rule tabs to Aggregate, Prefix, IP Address, and IP Range views. Extended Rules show whether the object is used as a source, destination, or both. (#354)
  • Added ACL relationships to NetBox core GraphQL types for assignment targets and referenced IPAM objects. (#391)
  • Added GRE, EIGRP, OSPF, and PIM protocol choices for Extended ACL Rules. These protocols do not allow port configuration. (#352)
  • Added filtering of ACL Assignments by assigned object type using assigned_object_type or assigned_object_type_id. (#392)

Changed

  • Breaking: Removed compatibility support for NetBox versions before 4.7 and updated the Django classifier from 5.2 to 6.1. (#391)
  • Choice filters now accept multiple values across all four filtersets. Existing single-value queries remain supported. (#393)
  • Rebuilt ACL detail views and Assignment controls using NetBox's declarative UI framework. This restores standard pagination, permissions, and queryset restrictions. Assignment creation from an object view now preselects that object and returns to the originating tab. (#386)
  • Consolidated shared ACL Rule code and aligned REST API validation with model validation. Invalid payloads may now return updated wording or multiple applicable errors together. (#67)
  • Removed deprecated type arguments from the GraphQL StrFilterLookup annotations without changing the generated schema. (#422)

Bug Fixes

  • Prevented interface ACL Assignments from using a direction of none. Interface assignments now require ingress or egress, while assignments to Devices, Virtual Chassis, and Virtual Machines continue to use none. See the upgrade notes below. (#428)
  • Restored the missing Description filter on the Access List filter form. (#417)

Other Changes

  • Added tests for ACL Rule generic relations. (#412)
  • Cleaned up release packaging so tests, compiled bytecode, and a misplaced CODEOWNERS file are no longer included.
  • Updated package metadata, pinned dependencies, and GitHub Actions.

Upgrade Notes

This release includes two migrations:

  • 0014_acl_rule_logging adds logging fields to both rule models.
  • 0015_acl_owner_related_name updates the owner relation for NetBox 4.7 without changing the database schema.

Existing interface assignments with a direction of none are not changed automatically. There is no safe default direction, and silently deleting an assignment would be worse than leaving it visible.

These assignments continue to display N/A, but editing them will fail until ingress or egress is selected. This also applies when bulk-editing an unrelated field. One invalid assignment can cause the whole operation to fail. Review and correct these assignments before or shortly after upgrading.

What's Changed

  • Closes #412: Add test coverage for ACL Rule generic relations by @pheus in #413
  • Closes #67: Reduce duplicate ACL Rule code through shared components by @pheus in #414
  • Closes #57: Add per-rule logging controls for Standard and Extended ACL Rules by @pheus in #415
  • Closes #352: Add GRE, EIGRP, OSPF, and PIM protocol choices for Extended ACL Rules by @pheus in #416
  • Closes #391: Add NetBox v4.7 compatibility by @pheus in #418
  • Closes #392: Add filtering of ACL Assignments by assigned object type by @pheus in #419
  • Closes #393: Add multi-value support for choice-based ACL filters by @pheus in #420
  • Closes #354: Display related ACL Rules on IPAM object views by @pheus in #421
  • Closes #422: Remove deprecated type arguments from StrFilterLookup annotations by @pheus in #423
  • Fixes #417: Fix missing Description filter for Access Lists by @pheus in #424
  • Closes #386: Migrate ACL detail views and Assignment controls to the declarative UI framework by @pheus in #427
  • Closes #390: Add bulk import support for Access Lists, Assignments, and Rules by @pheus in #429
  • Fixes #428: Prevent interface ACL Assignments from using the none direction by @pheus in #430

Full Changelog: 2.0.3...2.1.0

Don't miss a new netbox-acls release

NewReleases is sending notifications on new releases.