-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Labels
severity: lowDoes not significantly disrupt application functionality, or a workaround is availableDoes not significantly disrupt application functionality, or a workaround is availablestatus: acceptedThis issue has been accepted for implementationThis issue has been accepted for implementationtype: bugA confirmed report of unexpected behavior in the applicationA confirmed report of unexpected behavior in the application
Milestone
Description
NetBox Edition
NetBox Community
NetBox Version
v4.4.2
Python Version
3.12
Steps to Reproduce
- Navigate to IPAM → VLAN Groups; create a VLAN group (or open an existing one).
- In VLAN ID Ranges, enter a value such as
100-200, 300-300
and click Save. - Reopen the same VLAN group, do not change any fields, and click Save again.
- Open the object’s Changelog tab (or Other → Change Log) and filter by this object.
Expected Behavior
No new changelog entry should be created if no fields were changed.
Observed Behavior
A new changelog entry is recorded on each save, even when the form or API payload is identical in meaning. The difference appears isolated to vid_ranges
and stems from representation drift:
- UI/forms (and CSV import) return inclusive ranges (e.g.,
NumericRange(lo, hi, bounds='[]')
). - PostgreSQL
int4range
canonicalizes to half‑open[lo, hi)
on round‑trip. - Change logging compares serialized pre/post snapshots textually, so these representations don’t match even though the set of VLAN IDs is unchanged.
Metadata
Metadata
Assignees
Labels
severity: lowDoes not significantly disrupt application functionality, or a workaround is availableDoes not significantly disrupt application functionality, or a workaround is availablestatus: acceptedThis issue has been accepted for implementationThis issue has been accepted for implementationtype: bugA confirmed report of unexpected behavior in the applicationA confirmed report of unexpected behavior in the application