Add NetBox 4.6.x support (widen compat to 4.5.0 – 4.6.99)#11
Merged
Conversation
Bump max_version from 4.5.99 to 4.6.99 and release as 2.2.0. Source-level
audit against the v4.6.0 upstream tag confirms every NetBox API this plugin
imports is unchanged: ViewTab, register_model_view, htmx_partial,
EnhancedPaginator, get_paginate_count, BaseTable, NetBoxModelFilterSetForm,
SavedFiltersMixin, TagFilterField, CustomFieldTypeChoices,
CustomFieldUIVisibleChoices, and the registry['views'] shape. The 4.6
deprecations of registry['models'] and legacy actions={} view dicts do not
affect this plugin (we touch neither).
Upstream netbox_custom_objects >= 0.5.0 is recommended on NetBox 4.6 (its
max_version covers 4.6.99). The customobject.html template override
remains required - v0.5.0 still hardcodes its tabs block without
{% model_view_tabs object %}.
Verified locally on NetBox 4.5.10: ruff check + format clean, all 53 tests
in tests/ pass. End-to-end verification on a 4.6.0 install pending (no
local 4.6 environment available).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Releases 2.2.0 by widening the supported NetBox range from
4.5.0 – 4.5.99to4.5.0 – 4.6.99. NetBox 4.6.0 (released 2026-05-05) brings Django 6.0 and several plugin-API deprecations, but a source-level audit confirms none of the public APIs this plugin uses are changed in 4.6 — so this is a metadata-only release.max_versioninPluginConfigfrom4.5.99→4.6.99pyproject.tomlversion to2.2.0[2.2.0]CHANGELOG entry documenting the audit findingsviews/,templates/,template_override.py, orurls.pyAPI audit against
v4.6.0upstream tagEvery NetBox import this plugin makes was verified file-by-file against the
netbox-community/netboxv4.6.0tag. All targets are present at the same module path with identical signatures:ViewTab(label, visible, badge, weight, permission, hide_if_empty)utilities/views.py:244register_model_view(model, name, path, detail, kwargs)utilities/views.py:354htmx_partialutilities/htmx.pyEnhancedPaginator,get_paginate_countutilities/paginator.pyTagFilterFieldutilities/forms/fields/fields.py:106CustomFieldTypeChoices,CustomFieldUIVisibleChoicesextras/choices.pyBaseTablenetbox/tables/tables.py:39NetBoxModelFilterSetFormnetbox/forms/filtersets.py:18SavedFiltersMixinnetbox/forms/mixins.pyregistry['views'][app_label][model_name]shapenetbox/registry.py+utilities/views.py:381PluginConfig,get_plugin_confignetbox/plugins/__init__.py,plugins/utils.py4.6 deprecations that do not affect this plugin:
registry['models']key (Deprecate themodelsregistry key netbox-community/netbox#21890) — we only touchregistry['views'].actions = {...}dict on views (Deprecate support for legacy view actions netbox-community/netbox#21887) — we don't declareactions; ourregister_model_view(model, name=..., path=...)shape is the supported one.housekeeping,LOGIN_REQUIRED,querystringtemplate tag — unused.Upstream dependency
netbox_custom_objectsv0.5.0 declaresmin_version="4.4.0", max_version="4.6.99"and is recommended on NetBox 4.6. Critically, itscustomobject.htmlstill lacks{% model_view_tabs object %}in the hardcoded{% block tabs %}, so ourtemplate_override.install()mechanism and the copied template remain required and structurally correct.Test plan
ruff check netbox_custom_objects_tab/— cleanruff format --check netbox_custom_objects_tab/— 7 files already formattedpytest tests/under local NetBox 4.5.10 — 53 / 53 passed (regression guard; no source changed)PluginConfig.ready()runs withoutIncompatiblePluginErrortyped_models: ['dcim.*']: type-specific columns, filterset sidebar, bulk actions, configure-table