Use DRF's ChoiceField for `cable_end` to preserve the existing raw
"A"/"B" API output while documenting the allowed values and nullability
in the generated schema.
Fixes#22084
* #22034 fix rack group migation from very old netbox installation
* #22034 fix rack group migation from very old netbox installation
* #22034 fix rack group migation from very old netbox installation
* fix after loading old database
* simplify
* fix index name
Update AddObject.get_url() to skip parameters that resolve to None,
preventing invalid query strings.
Adjust VLAN-to-Prefix action to use scope_type/scope instead of site
field.
Fixes#22031
Update InterfaceFilterSet to check both is_active and is_complete when
filtering by connected=true. Incomplete pass-through paths (e.g. cabled
front ports without rear port connections) are now correctly excluded.
Fixes regression where active but incomplete cable paths were incorrectly
returned as connected.
Fixes#22005
Add validation in EventRule.clean() to ensure action_data is a JSON
object or null. Add runtime guard in event processing to handle legacy
rows with invalid data by logging a warning and using an empty dict.
Fixes#21989
Add `_get_profile_link_peers()` method to handle connector-to-connector
mappings when cables use profiles. Includes regression test for
TRUNK_4C1P profile ensuring correct peer resolution between interfaces
and rear ports.
Fixes#21917
Include the color field in FrontPortForm and commented-out
FrontPortBulkCreateForm field lists to allow editing front port colors
via the UI.
Fixes#21985
Convert bookmarks, notifications, and subscriptions templates to use
the new sticky-actions component with data-driven positioning. Wraps
bulk delete buttons in sticky-actions card for consistent UX.
Replace whole-table HTML string counting in AnnotatedIPAddressTableTest
`test_ipaddress_has_checkbox_iprange_does_not` with row-specific `pk`
cell assertions.
This avoids false failures when an `IPAddress` and `IPRange` happen to
share the same numeric primary key and makes the test stable in CI.
Fixes#21971
Replace the UniqueConstraint on the slug field with the native
`unique=True` parameter on SlugField in both the model definition and
migration. This resolves a compatibility issue with netbox_branching,
which does not handle a SlugField combined with a separate
UniqueConstraint on the same field.
Expose the current PostgreSQL schema from the system view and include it
in the exported system data.
Load the Database tab on demand with HTMX so schema introspection only
runs when the panel is opened, while keeping the export path eager.
Use the active PostgreSQL schema instead of assuming `public`, move the
schema helpers into `core.utils`, and tidy the accordion toggle styling.
Replace ad-hoc btn-float-group classes with a data-attribute-driven
sticky-actions system. Selection-driven bars use JS-toggled
`.is-sticky-active`; always-visible bars are pure CSS. Remove
obsolete `.btn-float` class usage from footer templates.
Fixes#21924