From 2d339033e20e3fd591c54c3327ff238aaefab718 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 28 Aug 2025 12:43:17 -0400 Subject: [PATCH 1/5] Fixes #20154: Restore missing changelog_message field on several forms (#20189) --- netbox/templates/dcim/device_edit.html | 5 +++++ netbox/templates/dcim/htmx/cable_edit.html | 15 +++++++++------ netbox/templates/ipam/vlan_edit.html | 5 +++++ 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/netbox/templates/dcim/device_edit.html b/netbox/templates/dcim/device_edit.html index 8ae98c201..7b010cb63 100644 --- a/netbox/templates/dcim/device_edit.html +++ b/netbox/templates/dcim/device_edit.html @@ -117,4 +117,9 @@ {% render_field form.comments %} + {# Meta fields #} +
+ {% render_field form.changelog_message %} +
+ {% endblock %} diff --git a/netbox/templates/dcim/htmx/cable_edit.html b/netbox/templates/dcim/htmx/cable_edit.html index 46a6c4e58..63e32f570 100644 --- a/netbox/templates/dcim/htmx/cable_edit.html +++ b/netbox/templates/dcim/htmx/cable_edit.html @@ -87,9 +87,12 @@ {% endif %} -{% if form.comments %} -
-

{% trans "Comments" %}

- {% render_field form.comments %} -
-{% endif %} +
+

{% trans "Comments" %}

+ {% render_field form.comments %} +
+ +{# Meta fields #} +
+ {% render_field form.changelog_message %} +
diff --git a/netbox/templates/ipam/vlan_edit.html b/netbox/templates/ipam/vlan_edit.html index 53f5e02c4..b6c21f972 100644 --- a/netbox/templates/ipam/vlan_edit.html +++ b/netbox/templates/ipam/vlan_edit.html @@ -77,4 +77,9 @@
{% render_field form.comments %}
+ + {# Meta fields #} +
+ {% render_field form.changelog_message %} +
{% endblock %} From 29ea88eb946c081aa05508692b5ab8fdde30ec25 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Fri, 29 Aug 2025 13:42:55 -0400 Subject: [PATCH 2/5] Closes #20115: Support the use of ArrayColumn for plugin tables --- docs/plugins/development/tables.md | 4 ++++ docs/release-notes/version-4.4.md | 1 + 2 files changed, 5 insertions(+) diff --git a/docs/plugins/development/tables.md b/docs/plugins/development/tables.md index 6fe8357b3..c51158849 100644 --- a/docs/plugins/development/tables.md +++ b/docs/plugins/development/tables.md @@ -51,6 +51,10 @@ This will automatically apply any user-specific preferences for the table. (If u The table column classes listed below are supported for use in plugins. These classes can be imported from `netbox.tables.columns`. +::: netbox.tables.ArrayColumn + options: + members: false + ::: netbox.tables.BooleanColumn options: members: false diff --git a/docs/release-notes/version-4.4.md b/docs/release-notes/version-4.4.md index d00820580..ac8886cfa 100644 --- a/docs/release-notes/version-4.4.md +++ b/docs/release-notes/version-4.4.md @@ -39,6 +39,7 @@ A new ConfigContextProfile model has been introduced to support JSON schema vali * [#19945](https://github.com/netbox-community/netbox/issues/19945) - Introduce a new custom script variable to represent decimal values * [#19965](https://github.com/netbox-community/netbox/issues/19965) - Add REST & GraphQL API request counters to the Prometheus metrics exporter * [#20029](https://github.com/netbox-community/netbox/issues/20029) - Include complete representation of object type in webhook payload data +* [#20115](https://github.com/netbox-community/netbox/issues/20115) - Support the use of ArrayColumn for plugin tables ### Plugins From 57bb7c0a8eb8992aeb773046a62c75c511ae016d Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Fri, 29 Aug 2025 13:51:49 -0400 Subject: [PATCH 3/5] Split mkdocstrings-python into explicit dependency to force updates --- base_requirements.txt | 6 +++++- requirements.txt | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/base_requirements.txt b/base_requirements.txt index 8d74ede6c..9bf8680a5 100644 --- a/base_requirements.txt +++ b/base_requirements.txt @@ -106,7 +106,11 @@ mkdocs-material # Introspection for embedded code # https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md -mkdocstrings[python] +mkdocstrings + +# Python handler for mkdocstrings +# https://github.com/mkdocstrings/python/blob/main/CHANGELOG.md +mkdocstrings-python # Library for manipulating IP prefixes and addresses # https://github.com/netaddr/netaddr/blob/master/CHANGELOG.rst diff --git a/requirements.txt b/requirements.txt index 700d147b6..7a5439a99 100644 --- a/requirements.txt +++ b/requirements.txt @@ -24,7 +24,8 @@ Jinja2==3.1.6 jsonschema==4.25.0 Markdown==3.8.2 mkdocs-material==9.6.16 -mkdocstrings[python]==0.30.0 +mkdocstrings==0.30.0 +mkdocstrings-python==1.18.2 netaddr==1.3.0 nh3==0.3.0 Pillow==11.3.0 From 44dae992054ff3669152129f503af51a579be573 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Fri, 29 Aug 2025 13:56:12 -0400 Subject: [PATCH 4/5] Suppress griffe warnings for missing type annotations in docstrings --- mkdocs.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mkdocs.yml b/mkdocs.yml index a2cec0c0c..d8524e593 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -30,6 +30,8 @@ plugins: python: paths: ["netbox"] options: + docstring_options: + warn_missing_types: false heading_level: 3 members_order: source show_root_heading: true From 6e6c02f98c57f5f9c6c86eb644671ea8e3e8fb97 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Fri, 29 Aug 2025 13:59:55 -0400 Subject: [PATCH 5/5] Fix invalid link --- docs/plugins/development/models.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/plugins/development/models.md b/docs/plugins/development/models.md index 2582fd4bf..eb12204ff 100644 --- a/docs/plugins/development/models.md +++ b/docs/plugins/development/models.md @@ -24,7 +24,7 @@ Every model includes by default a numeric primary key. This value is generated a ## Enabling NetBox Features -Plugin models can leverage certain [model features](../development/models.md#features-matrix) (such as tags, custom fields, event rules, etc.) by inheriting from NetBox's `NetBoxModel` class. This class performs two crucial functions: +Plugin models can leverage certain [model features](../../development/models.md#features-matrix) (such as tags, custom fields, event rules, etc.) by inheriting from NetBox's `NetBoxModel` class. This class performs two crucial functions: 1. Apply any fields, methods, and/or attributes necessary to the operation of these features 2. Register the model with NetBox as utilizing these features