mirror of
https://github.com/netbox-community/netbox.git
synced 2026-04-06 00:32:08 +02:00
Allow arbitrary connector/position counts for cable profiles #156
Open
opened 2026-04-05 16:22:24 +02:00 by MrUnknownDE
·
0 comments
No Branch/Tag Specified
main
21455-sql-indexes-audit
21357-register-model-actions
feature
20924-plugin-ui-components
21766-improve-test-coverage-for-sortable-table-columns
21157-export-template-public-models
21025-pre-render-config-contexts
21364-swagger
feature-ip-prefix-link
20911-dropdown-3
fix_module_substitution
21160-filterset
20911-dropdown-2
20044-elevation-stuck-lightmode
7604-filter-modifiers-v3
20660-script-load
19724-graphql
14884-script
19720-macaddress-interface-generic-relation
fix-19669-api-image-download
7604-filter-modifiers
19275-fixes-interface-bulk-edit
fix-17794-get_field_value_return_list
11507-show-aggregate-and-rir-on-api
9583-add_column_specific_search_field_to_tables
v4.5.7
v4.5.6
v4.5.5
v4.5.4
v4.5.3
v4.5.2
v4.5.1
v4.5.0
v4.4.10
v4.4.9
v4.5.0-beta1
v4.4.8
v4.4.7
v4.4.6
v4.4.5
v4.4.4
v4.4.3
v4.4.2
v4.4.1
v4.4.0
v4.3.7
v4.4.0-beta1
v4.3.6
v4.3.5
v4.3.4
v4.3.3
v4.3.2
v4.3.1
v4.3.0
v4.2.9
v4.3.0-beta2
v4.2.8
v4.3.0-beta1
v4.2.7
v4.2.6
v4.2.5
v4.2.4
v4.2.3
v4.2.2
v4.2.1
v4.2.0
v4.1.11
v4.1.10
v4.1.9
v4.1.8
v4.2-beta1
v4.1.7
v4.1.6
v4.1.5
v4.1.4
v4.1.3
v4.1.2
v4.1.1
v4.1.0
v4.0.11
v4.0.10
v4.0.9
v4.1-beta1
v4.0.8
v4.0.7
v4.0.6
v4.0.5
v4.0.3
v4.0.2
v4.0.1
v4.0.0
v3.7.8
v3.7.7
v4.0-beta2
v3.7.6
v3.7.5
v4.0-beta1
v3.7.4
v3.7.3
v3.7.2
v3.7.1
v3.7.0
v3.6.9
v3.6.8
v3.6.7
v3.7-beta1
v3.6.6
v3.6.5
v3.6.4
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.5.9
v3.6-beta2
v3.5.8
v3.6-beta1
v3.5.7
v3.5.6
v3.5.5
v3.5.4
v3.5.3
v3.5.2
v3.5.1
v3.5.0
v3.4.10
v3.4.9
v3.5-beta2
v3.4.8
v3.5-beta1
v3.4.7
v3.4.6
v3.4.5
v3.4.4
v3.4.3
v3.4.2
v3.4.1
v3.4.0
v3.3.10
v3.3.9
v3.4-beta1
v3.3.8
v3.3.7
v3.3.6
v3.3.5
v3.3.4
v3.3.3
v3.3.2
v3.3.1
v3.3.0
v3.2.9
v3.2.8
v3.3-beta2
v3.2.7
v3.3-beta1
v3.2.6
v3.2.5
v3.2.4
v3.2.3
v3.2.2
v3.2.1
v3.2.0
v3.1.11
v3.1.10
v3.2-beta2
v3.1.9
v3.2-beta1
v3.1.8
v3.1.7
v3.1.6
v3.1.5
v3.1.4
v3.1.3
v3.1.2
v3.1.1
v3.1.0
v3.0.12
v3.0.11
v3.0.10
v3.1-beta1
v3.0.9
v3.0.8
v3.0.7
v3.0.6
v3.0.5
v3.0.4
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v2.11.12
v3.0-beta2
v2.11.11
v2.11.10
v3.0-beta1
v2.11.9
v2.11.8
v2.11.7
v2.11.6
v2.11.5
v2.11.4
v2.11.3
v2.11.2
v2.11.1
v2.11.0
v2.10.10
v2.10.9
v2.11-beta1
v2.10.8
v2.10.7
v2.10.6
v2.10.5
v2.10.4
v2.10.3
v2.10.2
v2.10.1
v2.10.0
v2.9.11
v2.10-beta2
v2.9.10
v2.10-beta1
v2.9.9
v2.9.8
v2.9.7
v2.9.6
v2.9.5
v2.9.4
v2.9.3
v2.9.2
v2.9.1
v2.9.0
v2.9-beta2
v2.8.9
v2.9-beta1
v2.8.8
v2.8.7
v2.8.6
v2.8.5
v2.8.4
v2.8.3
v2.8.2
v2.8.1
v2.8.0
v2.7.12
v2.7.11
v2.7.10
v2.7.9
v2.7.8
v2.7.7
v2.7.6
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.12
v2.6.11
v2.6.10
v2.6.9
v2.7-beta1
Solcon-2020-01-06
v2.6.8
v2.6.7
v2.6.6
v2.6.5
v2.6.4
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.13
v2.5.12
v2.6-beta1
v2.5.11
v2.5.10
v2.5.9
v2.5.8
v2.5.7
v2.5.6
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.9
v2.5-beta2
v2.4.8
v2.5-beta1
v2.4.7
v2.4.6
v2.4.5
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.7
v2.4-beta1
v2.3.6
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.10
v2.3-beta2
v2.2.9
v2.3-beta1
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.6
v2.2-beta2
v2.1.5
v2.2-beta1
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.10
v2.1-beta1
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v2.0-beta3
v1.9.6
v1.9.5
v2.0-beta2
v1.9.4-r1
v1.9.3
v2.0-beta1
v1.9.2
v1.9.1
v1.9.0-r1
v1.8.4
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.7.3
v1.7.2-r1
v1.7.1
v1.7.0
v1.6.3
v1.6.2-r1
v1.6.1-r1
1.6.1
v1.6.0
v1.5.2
v1.5.1
v1.5.0
v1.4.2
v1.4.1
v1.4.0
v1.3.2
v1.3.1
v1.3.0
v1.2.2
v1.2.1
v1.2.0
v1.1.0
v1.0.7-r1
v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3-r1
v1.0.3
1.0.0
Labels
Clear labels
beta
beta
beta
breaking change
breaking change
breaking change
breaking change
breaking change
breaking change
breaking change
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
plugin candidate
plugin candidate
plugin candidate
severity: high
severity: high
severity: high
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: blocked
status: blocked
status: blocked
status: blocked
status: blocked
status: blocked
status: blocked
status: blocked
status: declined
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs triage
status: needs triage
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: OpenAPI
topic: UI/UX
topic: UI/UX
topic: cabling
topic: cabling
topic: cabling
topic: cabling
topic: custom scripts
topic: custom scripts
topic: custom scripts
topic: custom scripts
topic: custom scripts
topic: custom scripts
topic: migrations
topic: plugins
topic: plugins
topic: testing
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: deprecation
type: deprecation
type: deprecation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: removal
type: removal
type: translation
No Label
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
status: under review
status: under review
status: under review
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
MrUnknownDE
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github/netbox#156
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @jsenecal on 3/12/2026
NetBox version
v4.5.5
Feature type
Change to existing functionality
Proposed functionality
Make cable profiles accept arbitrary connector/position combinations instead of requiring a hardcoded class for each one. Currently, NetBox ships 26 profile classes (e.g.
single-1c2p,trunk-4c4p). Adding a new combination requires modifying source code in three places:cable_profiles.py,choices.py, and theprofile_classproperty inmodels/cables.py.Slug-based parsing for symmetric profiles:
Single and trunk profiles follow a predictable pattern - both cable ends have identical connector/position layouts. Instead of requiring a dedicated class for each combination, the
Cable.profile_classproperty would parse the slug format{type}-{C}c{P}pand dynamically generate the profile class:single-1c32p->a_connectors = {1: 32},b_connectors = {1: 32}trunk-4c16p->a_connectors = {1: 16, 2: 16, 3: 16, 4: 16},b_connectors= sameThe generated classes use the existing
BaseCableProfilemechanics. No changes to tracing, validation, or termination assignment logic.Complex profiles stay hardcoded:
Breakout and shuffle profiles have non-linear position mappings that cannot be derived from the slug. These keep their existing dedicated classes and are looked up by exact slug before the parser runs.
Validation:
The
profilefield onCabledrops thechoices=CableProfileChoicesconstraint at the model level. Validation moves toCable.clean():^(single|trunk)-(\d+)c(\d+)p$with connectors <=CABLE_CONNECTOR_MAX(256) and positions <=CABLE_POSITION_MAX(8192) - validValidationErrorUI choices stay curated:
CableProfileChoicesremains on form fields and filter widgets to control what the dropdown shows. Admins can extend it viaFIELD_CHOICESinconfiguration.pyas they already can with anyChoiceSet. The API and import paths accept any slug that passes validation.Caching:
Generated profile classes are cached in a module-level dict keyed by slug so repeated access (e.g. during bulk path tracing) does not rebuild them.
CABLE_POSITION_MAX increase:
The current
CABLE_POSITION_MAXof 1024 is too low for high-density fiber. Sumitomo Electric manufactures ribbon cables up to 6912 fibers. The constant should increase to 8192 to cover current real-world maximums with headroom.Summary of file changes:
dcim/constants.py:CABLE_POSITION_MAXfrom 1024 to 8192dcim/cable_profiles.py: add slug parser and profile class factory with cachingdcim/models/cables.py: removechoices=fromprofilefield, updateprofile_classproperty to use factory, updateclean()to validate slug format and boundsdcim/choices.py: no change (stays as UI convenience)choices=CableProfileChoiceson widgetsprofilefield, alterpositionsArrayField max validatorUse case
The current fixed set of cable profiles covers common data center patching scenarios but falls short for outside plant (OSP) fiber infrastructure, where cable configurations vary widely and fiber counts far exceed what the built-in profiles support.
OSP loose tube cables group fibers into buffer tubes, typically 12 fibers per tube. A 144-fiber loose tube cable has 12 tubes of 12 fibers. Depending on how the cable is terminated, this could be modeled as
single-1c144p(all fibers through one logical connector) ortrunk-12c12p(one connector per buffer tube). A 288-fiber cable might besingle-1c288p,trunk-24c12p, ortrunk-12c24p. None of these exist in the built-in set.OSP ribbon cables stack flat ribbons (12 or 24 fibers each) to achieve much higher densities. A 576-fiber ribbon cable might have 24 ribbons of 24 fibers. Sumitomo Electric's SpiderWeb Ribbon (SWR) technology pushes this to 3456 and 6912 fibers in a single cable. Modeling these as profiles requires position counts well beyond the current 16-position maximum.
Splice closures and fiber distribution hubs in OSP networks join these cables together. Accurate path tracing through splice points requires cable profiles that reflect the actual tube/ribbon structure of each cable segment. Without matching profiles, operators are forced to either leave cables unprofiled (losing trace accuracy) or split a single physical cable into multiple logical cables to fit available profiles (misrepresenting the infrastructure).
Every telco, utility, and hyperscaler has different cable specs from different manufacturers. There is no fixed set of profiles that covers all real-world OSP configurations. Making profiles parametric lets operators model their actual plant without forking NetBox or maintaining patches.
The change preserves full backward compatibility - all existing slugs and profiles continue to work identically.
Database changes
One migration:
Cable.profile: removechoices=parameter from theCharFielddefinition (the field itself staysCharField(max_length=50, blank=True))CableTermination.positions: updateArrayFieldvalidator from max 1024 to max 8192No new models or fields.
External dependencies
None.