⚠️ Important: NetBox 4.7.0+ Required
This version requires NetBox 4.7.0 or later. NetBox 4.6 installations must stay on plugin version 2.5.x. The plugin refuses to load on earlier NetBox versions.
🎯 What's New
Breaking Changes
- Contract assignments are now deleted with their objects
- Duplicate contract-to-object assignments are merged on upgrade (use
manage.py cleanup_orphan_assignmentsto handle orphaned assignments from earlier versions)
Major Enhancements
- Choice field descriptions: Contract and invoice status, unit billing method options now show descriptions in forms and filters
- GraphQL core extensions: Objects that contracts assign to now have
contract_assignmentsfield andhas_contracts/has_active_contractfilters - New management command:
manage.py cleanup_orphan_assignmentsto list and delete orphaned assignments - Generic object selector: Contract assignments and external parties use NetBox's object selector UI instead of dropdown lists
- Breadcrumb improvements: Fixed breadcrumbs on contract and invoice pages to show correct relationships
- NetBox 4.7 baseline: Updated to support NetBox 4.7.4 with improved schema compatibility
Specs Implemented
- Spec 006: GraphQL core extensions
- Spec 007: Choice field descriptions
- Spec 008: NetBox 4.7 baseline compatibility
Bug Fixes
- Contract page breadcrumbs now properly display external party and links
- Invoice page breadcrumbs now show one entry per contract instead of concatenated list
- Template files removed in favor of standard NetBox layout system
🔄 Migration Notes
- Three new migrations handle owner related names (0053), duplicate assignment merging (0054), and unique constraint enforcement (0055)
- Previous CI tested against NetBox v4.6.10; now tests against v4.7.4
📖 Full Release Notes
See CHANGELOG.md for complete details.