Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Jun 2023 16:19:55 GMT
From:      Kai Knoblich <kai@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: d615248b63f2 - main - net-mgmt/netbox: Update to 3.5.2
Message-ID:  <202306021619.352GJtDQ060173@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by kai:

URL: https://cgit.FreeBSD.org/ports/commit/?id=d615248b63f293989ead26195f832d9538354435

commit d615248b63f293989ead26195f832d9538354435
Author:     Kai Knoblich <kai@FreeBSD.org>
AuthorDate: 2023-06-02 16:01:24 +0000
Commit:     Kai Knoblich <kai@FreeBSD.org>
CommitDate: 2023-06-02 16:19:24 +0000

    net-mgmt/netbox: Update to 3.5.2
    
    Changelog since 3.4.10
    
    It contains many bugfixes/enhancements and the following new features:
    
    * Customizable Dashboard
    * Remote Data Sources
    * Configuration Template Rendering
    * NAPALM Integration Plugin
    * ASN Ranges
    * Provider Accounts
    * Job-Triggered Webhooks
    
    https://netbox.readthedocs.io/en/stable/release-notes/version-3.5/
    
    MFH:            No (feature release)
---
 net-mgmt/netbox/Makefile             |  40 ++++----
 net-mgmt/netbox/distinfo             |   6 +-
 net-mgmt/netbox/files/pkg-message.in |  48 +++++++++
 net-mgmt/netbox/pkg-plist            | 189 +++++++++++++++++++++++++++--------
 4 files changed, 223 insertions(+), 60 deletions(-)

diff --git a/net-mgmt/netbox/Makefile b/net-mgmt/netbox/Makefile
index 0c9cf80e93b7..da73a43afae7 100644
--- a/net-mgmt/netbox/Makefile
+++ b/net-mgmt/netbox/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	netbox
 DISTVERSIONPREFIX=	v
-DISTVERSION=	3.4.10
+DISTVERSION=	3.5.2
 CATEGORIES=	net-mgmt python
 
 MAINTAINER=	kai@FreeBSD.org
@@ -21,40 +21,44 @@ LICENSE_FILE=	${WRKSRC}/LICENSE.txt
 # - devel/py-dj41-django-rq
 # - www/py-dj41-django-filter
 # - www/py-dj41-django-tables2
-# - www/py-dj41-djangorestframework (in conjunction with www/py-dj41-drf-yasg)
+# - www/py-dj41-djangorestframework
 #
-RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}django41>=4.1.7<4.2:www/py-django41@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}dj41-django-cors-headers>=3.14.0<4:www/py-dj41-django-cors-headers@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}dj41-django-debug-toolbar>=3.7.0<5:www/py-dj41-django-debug-toolbar@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}dj41-django-filter>=23.1<24:www/py-dj41-django-filter@${PY_FLAVOR} \
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}django41>=4.1.9<4.2:www/py-django41@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj41-django-cors-headers>=4.0.0<5:www/py-dj41-django-cors-headers@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj41-django-debug-toolbar>=4.0.0<5:www/py-dj41-django-debug-toolbar@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj41-django-filter>=23.2<24:www/py-dj41-django-filter@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}dj41-django-graphiql-debug-toolbar>=0.2.0<1:www/py-dj41-django-graphiql-debug-toolbar@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}dj41-django-mptt>=0.14.0<0.15:www/py-dj41-django-mptt@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}dj41-django-prometheus>=2.2.0<2.3:www/py-dj41-django-prometheus@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj41-django-prometheus>=2.3.1<2.4:www/py-dj41-django-prometheus@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}dj41-django-redis>=5.2.0<6:www/py-dj41-django-redis@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}dj41-django-rich>=1.5.0<2:www/py-dj41-django-rich@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}dj41-django-rq>=2.7.0<2.8:devel/py-dj41-django-rq@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj41-django-rq>=2.7.0<2.9:devel/py-dj41-django-rq@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}dj41-django-tables2>=2.5.3<2.6:www/py-dj41-django-tables2@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}dj41-django-taggit>=3.1.0<4:www/py-dj41-django-taggit@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj41-django-taggit>=3.1.0<5:www/py-dj41-django-taggit@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}dj41-django-timezone-field>=5.0<6:www/py-dj41-django-timezone-field@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}dj41-djangorestframework>=3.14.0<3.15.0:www/py-dj41-djangorestframework@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}dj41-drf-yasg>=1.21.5<1.22:www/py-dj41-drf-yasg@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj41-drf-spectacular>=0.26.2<1:www/py-dj41-drf-spectacular@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj41-drf-spectacular-sidecar>=2023.5.1:www/py-dj41-drf-spectacular-sidecar@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}dj41-graphene-django>=3.0.0<4:devel/py-dj41-graphene-django@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}django-pglocks>=1.0.4<1.1:www/py-django-pglocks@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}bleach>=5.0.1<6:www/py-bleach@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}bleach>=5.0.1<7:www/py-bleach@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}boto3>=1.26.138<2:www/py-boto3@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dulwich>=0.21.2<1:devel/py-dulwich@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}feedparser>=6.0.8<7:textproc/py-feedparser@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}Jinja2>=3.1.2<4:devel/py-Jinja2@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}markdown>=3.3.7<3.4:textproc/py-markdown@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}markdown-include>=0.7.0<1:textproc/py-markdown-include@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}mkdocs-material>=9.1.4<10:textproc/py-mkdocs-material@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}mkdocs-material>=9.1.14<10:textproc/py-mkdocs-material@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}mkdocstrings>=0.17.0<1:textproc/py-mkdocstrings@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}netaddr>=0.8.0<1:net/py-netaddr@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}pillow>=9.4.0:graphics/py-pillow@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}psycopg2>=2.9.5<3:databases/py-psycopg2@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}sentry-sdk>=1.5.12<2:devel/py-sentry-sdk@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}social-auth-app-django>=5.0.0<6:www/py-social-auth-app-django@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}social-auth-core>=4.3.0<5:security/py-social-auth-core@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pillow>=9.5.0:graphics/py-pillow@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}psycopg2>=2.9.6<3:databases/py-psycopg2@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}sentry-sdk>=1.21.1<2:devel/py-sentry-sdk@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}social-auth-app-django>=5.2.0<6:www/py-social-auth-app-django@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}social-auth-core>=4.4.2<5:security/py-social-auth-core@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}svgwrite>=1.4.3<2:graphics/py-svgwrite@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}tablib>=3.3.0<4:textproc/py-tablib@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}tzdata>=2023.2:devel/py-tzdata@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}tzdata>=2023.3:devel/py-tzdata@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}yaml>=6.0<7:devel/py-yaml@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}gunicorn>=20.1.0<21:www/py-gunicorn@${PY_FLAVOR}
 
diff --git a/net-mgmt/netbox/distinfo b/net-mgmt/netbox/distinfo
index 71f35602f686..d5b28182894f 100644
--- a/net-mgmt/netbox/distinfo
+++ b/net-mgmt/netbox/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1682759435
-SHA256 (netbox-community-netbox-v3.4.10_GH0.tar.gz) = 1b334caa0d1f7c65f58e969d33480c55d95ea8aa1a6986b7c25861a9fcd4bde8
-SIZE (netbox-community-netbox-v3.4.10_GH0.tar.gz) = 7413821
+TIMESTAMP = 1685666050
+SHA256 (netbox-community-netbox-v3.5.2_GH0.tar.gz) = 2bb44f926a72b7e9c10655269974b7c76fa44365b69fd7eddd9d40a33508150f
+SIZE (netbox-community-netbox-v3.5.2_GH0.tar.gz) = 5732695
diff --git a/net-mgmt/netbox/files/pkg-message.in b/net-mgmt/netbox/files/pkg-message.in
index dca61f4b8249..e47b46f16529 100644
--- a/net-mgmt/netbox/files/pkg-message.in
+++ b/net-mgmt/netbox/files/pkg-message.in
@@ -325,4 +325,52 @@ EOD
    purpose.
 EOD
 }
+{ type: upgrade
+  maximum_version: 3.5.2
+  message: <<EOD
+1. If the plugin security/py-netbox-secretstore is used, which is no longer
+   maintained by upstream, the following steps must be done before upgrading to
+   NetBox 3.5:
+
+   * Migrate from security/py-netbox-secretstore (= 1.4.2_2) to
+     security/py-netbox-secrets (= 1.7.6) with a NetBox 3.4.x instance.
+
+     It is very important that the versions of py-netbox-secretstore and
+     py-netbox-secrets match as specified otherwise the migration will not
+     be successful.
+
+     The reason for this is that py-netbox-secrets 1.8.x is not backwards
+     compatible with Netbox 3.4.  For further details please see the updating
+     instructions of py-netbox-secretstore or the UPDATING entry of 2023-05-11.
+
+2. The NetBox 3.5 release contains some breaking changes, so the following
+   items should be checked as well:
+
+   * The "account: field has been removed from the provider model.
+     This information is now tracked using the new provider account model.
+     Multiple accounts can be assigned per provider.
+
+   * A minimum length of 50 characters is now enforced for the SECRET_KEY
+     configuration parameter.
+
+   * The JobResult model has been moved from the "extras" app to "core" and
+     renamed to Job. Accordingly, its REST API endpoint has been moved from
+     "/api/extras/job-results/" to "/api/core/jobs/".
+
+   * The "obj_type" field on the Job model (previously JobResult) has been
+     renamed to "object_type" for consistency with other models.
+
+   * The JOBRESULT_RETENTION configuration parameter has been renamed
+     to JOB_RETENTION.
+
+   * The "obj" context variable is no longer passed when rendering custom
+     links: Use "object" instead.
+
+   * The REST API schema is now generated using the OpenAPI 3.0 spec
+
+   * The URLs for the REST API schema documentation have changed:
+       - "/api/docs/" is now "/api/schema/swagger-ui/"
+       - "/api/redoc/" is now "/api/schema/redoc/"
+EOD
+}
 ]
diff --git a/net-mgmt/netbox/pkg-plist b/net-mgmt/netbox/pkg-plist
index 6788fab4a36e..31f83f32d6fe 100644
--- a/net-mgmt/netbox/pkg-plist
+++ b/net-mgmt/netbox/pkg-plist
@@ -35,6 +35,7 @@
 %%DATADIR%%/circuits/migrations/0039_unique_constraints.py
 %%DATADIR%%/circuits/migrations/0040_provider_remove_deprecated_fields.py
 %%DATADIR%%/circuits/migrations/0041_standardize_description_comments.py
+%%DATADIR%%/circuits/migrations/0042_provideraccount.py
 %%DATADIR%%/circuits/migrations/__init__.py
 %%DATADIR%%/circuits/models/__init__.py
 %%DATADIR%%/circuits/models/circuits.py
@@ -51,6 +52,57 @@
 %%DATADIR%%/circuits/tests/test_views.py
 %%DATADIR%%/circuits/urls.py
 %%DATADIR%%/circuits/views.py
+%%DATADIR%%/core/__init__.py
+%%DATADIR%%/core/api/__init__.py
+%%DATADIR%%/core/api/nested_serializers.py
+%%DATADIR%%/core/api/schema.py
+%%DATADIR%%/core/api/serializers.py
+%%DATADIR%%/core/api/urls.py
+%%DATADIR%%/core/api/views.py
+%%DATADIR%%/core/apps.py
+%%DATADIR%%/core/choices.py
+%%DATADIR%%/core/data_backends.py
+%%DATADIR%%/core/exceptions.py
+%%DATADIR%%/core/filtersets.py
+%%DATADIR%%/core/forms/__init__.py
+%%DATADIR%%/core/forms/bulk_edit.py
+%%DATADIR%%/core/forms/bulk_import.py
+%%DATADIR%%/core/forms/filtersets.py
+%%DATADIR%%/core/forms/mixins.py
+%%DATADIR%%/core/forms/model_forms.py
+%%DATADIR%%/core/graphql/__init__.py
+%%DATADIR%%/core/graphql/schema.py
+%%DATADIR%%/core/graphql/types.py
+%%DATADIR%%/core/jobs.py
+%%DATADIR%%/core/management/__init__.py
+%%DATADIR%%/core/management/commands/__init__.py
+%%DATADIR%%/core/management/commands/clearcache.py
+%%DATADIR%%/core/management/commands/makemigrations.py
+%%DATADIR%%/core/management/commands/migrate.py
+%%DATADIR%%/core/management/commands/nbshell.py
+%%DATADIR%%/core/management/commands/rqworker.py
+%%DATADIR%%/core/management/commands/syncdatasource.py
+%%DATADIR%%/core/migrations/0001_initial.py
+%%DATADIR%%/core/migrations/0002_managedfile.py
+%%DATADIR%%/core/migrations/0003_job.py
+%%DATADIR%%/core/migrations/0004_replicate_jobresults.py
+%%DATADIR%%/core/migrations/0005_job_created_auto_now.py
+%%DATADIR%%/core/migrations/__init__.py
+%%DATADIR%%/core/models/__init__.py
+%%DATADIR%%/core/models/data.py
+%%DATADIR%%/core/models/files.py
+%%DATADIR%%/core/models/jobs.py
+%%DATADIR%%/core/search.py
+%%DATADIR%%/core/signals.py
+%%DATADIR%%/core/tables/__init__.py
+%%DATADIR%%/core/tables/data.py
+%%DATADIR%%/core/tables/jobs.py
+%%DATADIR%%/core/tests/__init__.py
+%%DATADIR%%/core/tests/test_api.py
+%%DATADIR%%/core/tests/test_filtersets.py
+%%DATADIR%%/core/tests/test_views.py
+%%DATADIR%%/core/urls.py
+%%DATADIR%%/core/views.py
 %%DATADIR%%/dcim/__init__.py
 %%DATADIR%%/dcim/api/__init__.py
 %%DATADIR%%/dcim/api/exceptions.py
@@ -123,6 +175,11 @@
 %%DATADIR%%/dcim/migrations/0165_standardize_description_comments.py
 %%DATADIR%%/dcim/migrations/0166_virtualdevicecontext.py
 %%DATADIR%%/dcim/migrations/0167_module_status.py
+%%DATADIR%%/dcim/migrations/0168_interface_template_enabled.py
+%%DATADIR%%/dcim/migrations/0169_devicetype_default_platform.py
+%%DATADIR%%/dcim/migrations/0170_configtemplate.py
+%%DATADIR%%/dcim/migrations/0171_cabletermination_change_logging.py
+%%DATADIR%%/dcim/migrations/0172_larger_power_draw_values.py
 %%DATADIR%%/dcim/migrations/__init__.py
 %%DATADIR%%/dcim/models/__init__.py
 %%DATADIR%%/dcim/models/cables.py
@@ -175,7 +232,6 @@
 %%DATADIR%%/docs/configuration/error-reporting.md
 %%DATADIR%%/docs/configuration/index.md
 %%DATADIR%%/docs/configuration/miscellaneous.md
-%%DATADIR%%/docs/configuration/napalm.md
 %%DATADIR%%/docs/configuration/plugins.md
 %%DATADIR%%/docs/configuration/remote-authentication.md
 %%DATADIR%%/docs/configuration/required-parameters.md
@@ -203,8 +259,10 @@
 %%DATADIR%%/docs/extra.css
 %%DATADIR%%/docs/features/api-integration.md
 %%DATADIR%%/docs/features/authentication-permissions.md
+%%DATADIR%%/docs/features/background-jobs.md
 %%DATADIR%%/docs/features/change-logging.md
 %%DATADIR%%/docs/features/circuits.md
+%%DATADIR%%/docs/features/configuration-rendering.md
 %%DATADIR%%/docs/features/contacts.md
 %%DATADIR%%/docs/features/context-data.md
 %%DATADIR%%/docs/features/customization.md
@@ -215,6 +273,7 @@
 %%DATADIR%%/docs/features/l2vpn-overlay.md
 %%DATADIR%%/docs/features/power-tracking.md
 %%DATADIR%%/docs/features/search.md
+%%DATADIR%%/docs/features/synchronized-data.md
 %%DATADIR%%/docs/features/tenancy.md
 %%DATADIR%%/docs/features/virtualization.md
 %%DATADIR%%/docs/features/vlan-management.md
@@ -231,9 +290,9 @@
 %%DATADIR%%/docs/installation/index.md
 %%DATADIR%%/docs/installation/upgrading.md
 %%DATADIR%%/docs/integrations/graphql-api.md
-%%DATADIR%%/docs/integrations/napalm.md
 %%DATADIR%%/docs/integrations/prometheus-metrics.md
 %%DATADIR%%/docs/integrations/rest-api.md
+%%DATADIR%%/docs/integrations/synchronized-data.md
 %%DATADIR%%/docs/integrations/webhooks.md
 %%DATADIR%%/docs/introduction.md
 %%DATADIR%%/docs/media/admin_ui_grant_permission.png
@@ -269,7 +328,11 @@
 %%DATADIR%%/docs/models/circuits/circuittermination.md
 %%DATADIR%%/docs/models/circuits/circuittype.md
 %%DATADIR%%/docs/models/circuits/provider.md
+%%DATADIR%%/docs/models/circuits/provideraccount.md
 %%DATADIR%%/docs/models/circuits/providernetwork.md
+%%DATADIR%%/docs/models/core/datafile.md
+%%DATADIR%%/docs/models/core/datasource.md
+%%DATADIR%%/docs/models/core/job.md
 %%DATADIR%%/docs/models/dcim/cable.md
 %%DATADIR%%/docs/models/dcim/consoleport.md
 %%DATADIR%%/docs/models/dcim/consoleporttemplate.md
@@ -312,6 +375,7 @@
 %%DATADIR%%/docs/models/dcim/virtualdevicecontext.md
 %%DATADIR%%/docs/models/extras/branch.md
 %%DATADIR%%/docs/models/extras/configcontext.md
+%%DATADIR%%/docs/models/extras/configtemplate.md
 %%DATADIR%%/docs/models/extras/customfield.md
 %%DATADIR%%/docs/models/extras/customlink.md
 %%DATADIR%%/docs/models/extras/exporttemplate.md
@@ -323,6 +387,7 @@
 %%DATADIR%%/docs/models/extras/webhook.md
 %%DATADIR%%/docs/models/ipam/aggregate.md
 %%DATADIR%%/docs/models/ipam/asn.md
+%%DATADIR%%/docs/models/ipam/asnrange.md
 %%DATADIR%%/docs/models/ipam/fhrpgroup.md
 %%DATADIR%%/docs/models/ipam/fhrpgroupassignment.md
 %%DATADIR%%/docs/models/ipam/ipaddress.md
@@ -354,6 +419,7 @@
 %%DATADIR%%/docs/netbox_logo.png
 %%DATADIR%%/docs/netbox_logo.svg
 %%DATADIR%%/docs/plugins/development/background-tasks.md
+%%DATADIR%%/docs/plugins/development/dashboard-widgets.md
 %%DATADIR%%/docs/plugins/development/exceptions.md
 %%DATADIR%%/docs/plugins/development/filtersets.md
 %%DATADIR%%/docs/plugins/development/forms.md
@@ -389,10 +455,12 @@
 %%DATADIR%%/docs/release-notes/version-3.2.md
 %%DATADIR%%/docs/release-notes/version-3.3.md
 %%DATADIR%%/docs/release-notes/version-3.4.md
+%%DATADIR%%/docs/release-notes/version-3.5.md
 %%DATADIR%%/extras/__init__.py
 %%DATADIR%%/extras/admin.py
 %%DATADIR%%/extras/api/__init__.py
 %%DATADIR%%/extras/api/customfields.py
+%%DATADIR%%/extras/api/mixins.py
 %%DATADIR%%/extras/api/nested_serializers.py
 %%DATADIR%%/extras/api/serializers.py
 %%DATADIR%%/extras/api/urls.py
@@ -402,6 +470,10 @@
 %%DATADIR%%/extras/conditions.py
 %%DATADIR%%/extras/constants.py
 %%DATADIR%%/extras/context_managers.py
+%%DATADIR%%/extras/dashboard/__init__.py
+%%DATADIR%%/extras/dashboard/forms.py
+%%DATADIR%%/extras/dashboard/utils.py
+%%DATADIR%%/extras/dashboard/widgets.py
 %%DATADIR%%/extras/fields.py
 %%DATADIR%%/extras/filters.py
 %%DATADIR%%/extras/filtersets.py
@@ -422,12 +494,9 @@
 %%DATADIR%%/extras/lookups.py
 %%DATADIR%%/extras/management/__init__.py
 %%DATADIR%%/extras/management/commands/__init__.py
-%%DATADIR%%/extras/management/commands/clearcache.py
 %%DATADIR%%/extras/management/commands/housekeeping.py
-%%DATADIR%%/extras/management/commands/nbshell.py
 %%DATADIR%%/extras/management/commands/reindex.py
 %%DATADIR%%/extras/management/commands/renaturalize.py
-%%DATADIR%%/extras/management/commands/rqworker.py
 %%DATADIR%%/extras/management/commands/runreport.py
 %%DATADIR%%/extras/management/commands/runscript.py
 %%DATADIR%%/extras/management/commands/webhook_receiver.py
@@ -458,12 +527,24 @@
 %%DATADIR%%/extras/migrations/0082_savedfilter.py
 %%DATADIR%%/extras/migrations/0083_search.py
 %%DATADIR%%/extras/migrations/0084_staging.py
+%%DATADIR%%/extras/migrations/0085_synced_data.py
+%%DATADIR%%/extras/migrations/0086_configtemplate.py
+%%DATADIR%%/extras/migrations/0087_dashboard.py
+%%DATADIR%%/extras/migrations/0088_jobresult_webhooks.py
+%%DATADIR%%/extras/migrations/0089_customfield_is_cloneable.py
+%%DATADIR%%/extras/migrations/0090_objectchange_index_request_id.py
+%%DATADIR%%/extras/migrations/0091_create_managedfiles.py
+%%DATADIR%%/extras/migrations/0092_delete_jobresult.py
 %%DATADIR%%/extras/migrations/__init__.py
 %%DATADIR%%/extras/models/__init__.py
 %%DATADIR%%/extras/models/change_logging.py
-%%DATADIR%%/extras/models/configcontexts.py
+%%DATADIR%%/extras/models/configs.py
 %%DATADIR%%/extras/models/customfields.py
+%%DATADIR%%/extras/models/dashboard.py
+%%DATADIR%%/extras/models/mixins.py
 %%DATADIR%%/extras/models/models.py
+%%DATADIR%%/extras/models/reports.py
+%%DATADIR%%/extras/models/scripts.py
 %%DATADIR%%/extras/models/search.py
 %%DATADIR%%/extras/models/staging.py
 %%DATADIR%%/extras/models/tags.py
@@ -483,6 +564,7 @@
 %%DATADIR%%/extras/tables/template_code.py
 %%DATADIR%%/extras/templatetags/__init__.py
 %%DATADIR%%/extras/templatetags/custom_links.py
+%%DATADIR%%/extras/templatetags/dashboard.py
 %%DATADIR%%/extras/templatetags/log_levels.py
 %%DATADIR%%/extras/templatetags/plugins.py
 %%DATADIR%%/extras/tests/__init__.py
@@ -524,6 +606,7 @@
 %%DATADIR%%/generate_secret_key.py
 %%DATADIR%%/ipam/__init__.py
 %%DATADIR%%/ipam/api/__init__.py
+%%DATADIR%%/ipam/api/field_serializers.py
 %%DATADIR%%/ipam/api/nested_serializers.py
 %%DATADIR%%/ipam/api/serializers.py
 %%DATADIR%%/ipam/api/urls.py
@@ -570,8 +653,11 @@
 %%DATADIR%%/ipam/migrations/0062_unique_constraints.py
 %%DATADIR%%/ipam/migrations/0063_standardize_description_comments.py
 %%DATADIR%%/ipam/migrations/0064_clear_search_cache.py
+%%DATADIR%%/ipam/migrations/0065_asnrange.py
+%%DATADIR%%/ipam/migrations/0066_iprange_mark_utilized.py
 %%DATADIR%%/ipam/migrations/__init__.py
 %%DATADIR%%/ipam/models/__init__.py
+%%DATADIR%%/ipam/models/asns.py
 %%DATADIR%%/ipam/models/fhrp.py
 %%DATADIR%%/ipam/models/ip.py
 %%DATADIR%%/ipam/models/l2vpn.py
@@ -582,6 +668,7 @@
 %%DATADIR%%/ipam/search.py
 %%DATADIR%%/ipam/signals.py
 %%DATADIR%%/ipam/tables/__init__.py
+%%DATADIR%%/ipam/tables/asn.py
 %%DATADIR%%/ipam/tables/fhrp.py
 %%DATADIR%%/ipam/tables/ip.py
 %%DATADIR%%/ipam/tables/l2vpn.py
@@ -607,6 +694,7 @@
 %%DATADIR%%/netbox/api/__init__.py
 %%DATADIR%%/netbox/api/authentication.py
 %%DATADIR%%/netbox/api/exceptions.py
+%%DATADIR%%/netbox/api/features.py
 %%DATADIR%%/netbox/api/fields.py
 %%DATADIR%%/netbox/api/metadata.py
 %%DATADIR%%/netbox/api/pagination.py
@@ -675,6 +763,7 @@
 %%DATADIR%%/netbox/views/generic/mixins.py
 %%DATADIR%%/netbox/views/generic/object_views.py
 %%DATADIR%%/netbox/views/generic/utils.py
+%%DATADIR%%/netbox/views/htmx.py
 %%DATADIR%%/netbox/views/misc.py
 %%DATADIR%%/netbox/wsgi.py
 %%DATADIR%%/project-static/.eslintignore
@@ -684,19 +773,11 @@
 %%DATADIR%%/project-static/.sassrc
 %%DATADIR%%/project-static/bundle.js
 %%DATADIR%%/project-static/dist/cable_trace.css
-%%DATADIR%%/project-static/dist/config.js
-%%DATADIR%%/project-static/dist/config.js.map
 %%DATADIR%%/project-static/dist/graphiql.css
 %%DATADIR%%/project-static/dist/graphiql.js
 %%DATADIR%%/project-static/dist/graphiql.js.map
-%%DATADIR%%/project-static/dist/lldp.js
-%%DATADIR%%/project-static/dist/lldp.js.map
-%%DATADIR%%/project-static/dist/materialdesignicons-webfont-2ZY4X5WS.woff
 %%DATADIR%%/project-static/dist/materialdesignicons-webfont-DWVXV5L5.woff
-%%DATADIR%%/project-static/dist/materialdesignicons-webfont-EH3JD4GG.ttf
 %%DATADIR%%/project-static/dist/materialdesignicons-webfont-ER2MFQKM.woff2
-%%DATADIR%%/project-static/dist/materialdesignicons-webfont-KSYPMDN6.woff2
-%%DATADIR%%/project-static/dist/materialdesignicons-webfont-LWDVGUDX.eot
 %%DATADIR%%/project-static/dist/materialdesignicons-webfont-UHEFFMSX.eot
 %%DATADIR%%/project-static/dist/materialdesignicons-webfont-WM6M6ZHQ.ttf
 %%DATADIR%%/project-static/dist/netbox-dark.css
@@ -706,8 +787,6 @@
 %%DATADIR%%/project-static/dist/netbox.js
 %%DATADIR%%/project-static/dist/netbox.js.map
 %%DATADIR%%/project-static/dist/rack_elevation.css
-%%DATADIR%%/project-static/dist/status.js
-%%DATADIR%%/project-static/dist/status.js.map
 %%DATADIR%%/project-static/docs/.info
 %%DATADIR%%/project-static/img/graphql.ico
 %%DATADIR%%/project-static/img/netbox.ico
@@ -734,21 +813,19 @@
 %%DATADIR%%/project-static/src/buttons/selectMultiple.ts
 %%DATADIR%%/project-static/src/clipboard.ts
 %%DATADIR%%/project-static/src/colorMode.ts
+%%DATADIR%%/project-static/src/dashboard.ts
 %%DATADIR%%/project-static/src/dateSelector.ts
-%%DATADIR%%/project-static/src/device/config.ts
-%%DATADIR%%/project-static/src/device/lldp.ts
-%%DATADIR%%/project-static/src/device/status.ts
 %%DATADIR%%/project-static/src/forms/elements.ts
 %%DATADIR%%/project-static/src/forms/index.ts
 %%DATADIR%%/project-static/src/forms/scopeSelector.ts
 %%DATADIR%%/project-static/src/forms/speedSelector.ts
-%%DATADIR%%/project-static/src/forms/vlanTags.ts
 %%DATADIR%%/project-static/src/global.d.ts
 %%DATADIR%%/project-static/src/htmx.ts
 %%DATADIR%%/project-static/src/index.ts
 %%DATADIR%%/project-static/src/links.ts
 %%DATADIR%%/project-static/src/messages.ts
 %%DATADIR%%/project-static/src/netbox.ts
+%%DATADIR%%/project-static/src/objectSelector.ts
 %%DATADIR%%/project-static/src/racks.ts
 %%DATADIR%%/project-static/src/search.ts
 %%DATADIR%%/project-static/src/select/api/apiSelect.ts
@@ -809,7 +886,12 @@
 %%DATADIR%%/templates/circuits/circuittype.html
 %%DATADIR%%/templates/circuits/inc/circuit_termination.html
 %%DATADIR%%/templates/circuits/provider.html
+%%DATADIR%%/templates/circuits/provideraccount.html
 %%DATADIR%%/templates/circuits/providernetwork.html
+%%DATADIR%%/templates/core/datafile.html
+%%DATADIR%%/templates/core/datasource.html
+%%DATADIR%%/templates/core/job.html
+%%DATADIR%%/templates/core/object_jobs.html
 %%DATADIR%%/templates/dcim/bulk_disconnect.html
 %%DATADIR%%/templates/dcim/cable.html
 %%DATADIR%%/templates/dcim/cable_edit.html
@@ -822,7 +904,6 @@
 %%DATADIR%%/templates/dcim/consoleserverport_delete.html
 %%DATADIR%%/templates/dcim/device.html
 %%DATADIR%%/templates/dcim/device/base.html
-%%DATADIR%%/templates/dcim/device/config.html
 %%DATADIR%%/templates/dcim/device/consoleports.html
 %%DATADIR%%/templates/dcim/device/consoleserverports.html
 %%DATADIR%%/templates/dcim/device/devicebays.html
@@ -830,12 +911,11 @@
 %%DATADIR%%/templates/dcim/device/inc/interface_table_controls.html
 %%DATADIR%%/templates/dcim/device/interfaces.html
 %%DATADIR%%/templates/dcim/device/inventory.html
-%%DATADIR%%/templates/dcim/device/lldp_neighbors.html
 %%DATADIR%%/templates/dcim/device/modulebays.html
 %%DATADIR%%/templates/dcim/device/poweroutlets.html
 %%DATADIR%%/templates/dcim/device/powerports.html
 %%DATADIR%%/templates/dcim/device/rearports.html
-%%DATADIR%%/templates/dcim/device/status.html
+%%DATADIR%%/templates/dcim/device/render_config.html
 %%DATADIR%%/templates/dcim/device_edit.html
 %%DATADIR%%/templates/dcim/device_list.html
 %%DATADIR%%/templates/dcim/devicebay.html
@@ -843,8 +923,6 @@
 %%DATADIR%%/templates/dcim/devicebay_depopulate.html
 %%DATADIR%%/templates/dcim/devicebay_populate.html
 %%DATADIR%%/templates/dcim/devicerole.html
-%%DATADIR%%/templates/dcim/devicerole/devices.html
-%%DATADIR%%/templates/dcim/devicerole/virtual_machines.html
 %%DATADIR%%/templates/dcim/devicetype.html
 %%DATADIR%%/templates/dcim/devicetype/base.html
 %%DATADIR%%/templates/dcim/devicetype/component_templates.html
@@ -859,7 +937,6 @@
 %%DATADIR%%/templates/dcim/inc/rack_elevation.html
 %%DATADIR%%/templates/dcim/interface.html
 %%DATADIR%%/templates/dcim/interface_delete.html
-%%DATADIR%%/templates/dcim/interface_edit.html
 %%DATADIR%%/templates/dcim/inventoryitem.html
 %%DATADIR%%/templates/dcim/inventoryitem_bulk_delete.html
 %%DATADIR%%/templates/dcim/inventoryitem_delete.html
@@ -880,6 +957,8 @@
 %%DATADIR%%/templates/dcim/powerport.html
 %%DATADIR%%/templates/dcim/powerport_delete.html
 %%DATADIR%%/templates/dcim/rack.html
+%%DATADIR%%/templates/dcim/rack/base.html
+%%DATADIR%%/templates/dcim/rack/reservations.html
 %%DATADIR%%/templates/dcim/rack_edit.html
 %%DATADIR%%/templates/dcim/rack_elevation_list.html
 %%DATADIR%%/templates/dcim/rack_list.html
@@ -907,15 +986,25 @@
 %%DATADIR%%/templates/exceptions/programming_error.html
 %%DATADIR%%/templates/extras/admin/plugins_list.html
 %%DATADIR%%/templates/extras/configcontext.html
+%%DATADIR%%/templates/extras/configcontext_list.html
+%%DATADIR%%/templates/extras/configtemplate.html
+%%DATADIR%%/templates/extras/configtemplate_list.html
 %%DATADIR%%/templates/extras/customfield.html
 %%DATADIR%%/templates/extras/customlink.html
+%%DATADIR%%/templates/extras/dashboard/reset.html
+%%DATADIR%%/templates/extras/dashboard/widget.html
+%%DATADIR%%/templates/extras/dashboard/widget_add.html
+%%DATADIR%%/templates/extras/dashboard/widget_config.html
+%%DATADIR%%/templates/extras/dashboard/widgets/objectcounts.html
+%%DATADIR%%/templates/extras/dashboard/widgets/objectlist.html
+%%DATADIR%%/templates/extras/dashboard/widgets/rssfeed.html
 %%DATADIR%%/templates/extras/exporttemplate.html
+%%DATADIR%%/templates/extras/exporttemplate_list.html
 %%DATADIR%%/templates/extras/htmx/report_result.html
 %%DATADIR%%/templates/extras/htmx/script_result.html
 %%DATADIR%%/templates/extras/imageattachment_edit.html
 %%DATADIR%%/templates/extras/inc/configcontext_data.html
 %%DATADIR%%/templates/extras/inc/configcontext_format.html
-%%DATADIR%%/templates/extras/inc/job_label.html
 %%DATADIR%%/templates/extras/inc/result_pending.html
 %%DATADIR%%/templates/extras/journalentry.html
 %%DATADIR%%/templates/extras/object_changelog.html
@@ -924,10 +1013,16 @@
 %%DATADIR%%/templates/extras/objectchange.html
 %%DATADIR%%/templates/extras/objectchange_list.html
 %%DATADIR%%/templates/extras/report.html
+%%DATADIR%%/templates/extras/report/base.html
+%%DATADIR%%/templates/extras/report/jobs.html
+%%DATADIR%%/templates/extras/report/source.html
 %%DATADIR%%/templates/extras/report_list.html
 %%DATADIR%%/templates/extras/report_result.html
 %%DATADIR%%/templates/extras/savedfilter.html
 %%DATADIR%%/templates/extras/script.html
+%%DATADIR%%/templates/extras/script/base.html
+%%DATADIR%%/templates/extras/script/jobs.html
+%%DATADIR%%/templates/extras/script/source.html
 %%DATADIR%%/templates/extras/script_list.html
 %%DATADIR%%/templates/extras/script_result.html
 %%DATADIR%%/templates/extras/tag.html
@@ -947,8 +1042,10 @@
 %%DATADIR%%/templates/graphiql.html
 %%DATADIR%%/templates/home.html
 %%DATADIR%%/templates/htmx/delete_form.html
+%%DATADIR%%/templates/htmx/form.html
+%%DATADIR%%/templates/htmx/object_selector.html
+%%DATADIR%%/templates/htmx/object_selector_results.html
 %%DATADIR%%/templates/htmx/table.html
-%%DATADIR%%/templates/import_success.html
 %%DATADIR%%/templates/inc/filter_list.html
 %%DATADIR%%/templates/inc/htmx_modal.html
 %%DATADIR%%/templates/inc/messages.html
@@ -957,13 +1054,13 @@
 %%DATADIR%%/templates/inc/paginator_htmx.html
 %%DATADIR%%/templates/inc/panel_table.html
 %%DATADIR%%/templates/inc/panels/comments.html
-%%DATADIR%%/templates/inc/panels/contacts.html
 %%DATADIR%%/templates/inc/panels/custom_fields.html
 %%DATADIR%%/templates/inc/panels/image_attachments.html
-%%DATADIR%%/templates/inc/panels/services.html
+%%DATADIR%%/templates/inc/panels/related_objects.html
 %%DATADIR%%/templates/inc/panels/tags.html
 %%DATADIR%%/templates/inc/profile_button.html
 %%DATADIR%%/templates/inc/searchbar.html
+%%DATADIR%%/templates/inc/sync_warning.html
 %%DATADIR%%/templates/inc/table.html
 %%DATADIR%%/templates/inc/table_controls_htmx.html
 %%DATADIR%%/templates/inc/table_htmx.html
@@ -971,13 +1068,17 @@
 %%DATADIR%%/templates/ipam/aggregate/base.html
 %%DATADIR%%/templates/ipam/aggregate/prefixes.html
 %%DATADIR%%/templates/ipam/asn.html
+%%DATADIR%%/templates/ipam/asnrange.html
+%%DATADIR%%/templates/ipam/asnrange/asns.html
+%%DATADIR%%/templates/ipam/asnrange/base.html
 %%DATADIR%%/templates/ipam/fhrpgroup.html
-%%DATADIR%%/templates/ipam/fhrpgroup_edit.html
 %%DATADIR%%/templates/ipam/fhrpgroupassignment_edit.html
 %%DATADIR%%/templates/ipam/inc/ipaddress_edit_header.html
 %%DATADIR%%/templates/ipam/inc/panels/fhrp_groups.html
 %%DATADIR%%/templates/ipam/inc/toggle_available.html
 %%DATADIR%%/templates/ipam/ipaddress.html
+%%DATADIR%%/templates/ipam/ipaddress/base.html
+%%DATADIR%%/templates/ipam/ipaddress/ip_addresses.html
 %%DATADIR%%/templates/ipam/ipaddress_assign.html
 %%DATADIR%%/templates/ipam/ipaddress_bulk_add.html
 %%DATADIR%%/templates/ipam/ipaddress_edit.html
@@ -1015,6 +1116,7 @@
 %%DATADIR%%/templates/tenancy/contactassignment_edit.html
 %%DATADIR%%/templates/tenancy/contactgroup.html
 %%DATADIR%%/templates/tenancy/contactrole.html
+%%DATADIR%%/templates/tenancy/object_contacts.html
 %%DATADIR%%/templates/tenancy/tenant.html
 %%DATADIR%%/templates/tenancy/tenantgroup.html
 %%DATADIR%%/templates/users/api_token.html
@@ -1067,6 +1169,7 @@
 %%DATADIR%%/tenancy/migrations/0007_contact_link.py
 %%DATADIR%%/tenancy/migrations/0008_unique_constraints.py
 %%DATADIR%%/tenancy/migrations/0009_standardize_description_comments.py
+%%DATADIR%%/tenancy/migrations/0010_tenant_relax_uniqueness.py
 %%DATADIR%%/tenancy/migrations/__init__.py
 %%DATADIR%%/tenancy/models/__init__.py
 %%DATADIR%%/tenancy/models/contacts.py
@@ -1119,29 +1222,35 @@
 %%DATADIR%%/utilities/api.py
 %%DATADIR%%/utilities/choices.py
 %%DATADIR%%/utilities/constants.py
-%%DATADIR%%/utilities/custom_inspectors.py
 %%DATADIR%%/utilities/error_handlers.py
 %%DATADIR%%/utilities/exceptions.py
 %%DATADIR%%/utilities/fields.py
+%%DATADIR%%/utilities/files.py
 %%DATADIR%%/utilities/filters.py
 %%DATADIR%%/utilities/forms/__init__.py
+%%DATADIR%%/utilities/forms/bulk_import.py
 %%DATADIR%%/utilities/forms/constants.py
 %%DATADIR%%/utilities/forms/fields/__init__.py
+%%DATADIR%%/utilities/forms/fields/array.py
 %%DATADIR%%/utilities/forms/fields/content_types.py
 %%DATADIR%%/utilities/forms/fields/csv.py
 %%DATADIR%%/utilities/forms/fields/dynamic.py
 %%DATADIR%%/utilities/forms/fields/expandable.py
 %%DATADIR%%/utilities/forms/fields/fields.py
 %%DATADIR%%/utilities/forms/forms.py
+%%DATADIR%%/utilities/forms/mixins.py
 %%DATADIR%%/utilities/forms/utils.py
-%%DATADIR%%/utilities/forms/widgets.py
+%%DATADIR%%/utilities/forms/widgets/__init__.py
+%%DATADIR%%/utilities/forms/widgets/apiselect.py
+%%DATADIR%%/utilities/forms/widgets/datetime.py
+%%DATADIR%%/utilities/forms/widgets/misc.py
+%%DATADIR%%/utilities/forms/widgets/select.py
+%%DATADIR%%/utilities/graphql_optimizer.py
 %%DATADIR%%/utilities/htmx.py
+%%DATADIR%%/utilities/jinja2.py
 %%DATADIR%%/utilities/json.py
-%%DATADIR%%/utilities/management/__init__.py
-%%DATADIR%%/utilities/management/commands/__init__.py
-%%DATADIR%%/utilities/management/commands/makemigrations.py
-%%DATADIR%%/utilities/management/commands/migrate.py
 %%DATADIR%%/utilities/markdown.py
+%%DATADIR%%/utilities/migration.py
 %%DATADIR%%/utilities/mptt.py
 %%DATADIR%%/utilities/ordering.py
 %%DATADIR%%/utilities/paginator.py
@@ -1149,6 +1258,7 @@
 %%DATADIR%%/utilities/query_functions.py
 %%DATADIR%%/utilities/querysets.py
 %%DATADIR%%/utilities/request.py
+%%DATADIR%%/utilities/rqworker.py
 %%DATADIR%%/utilities/serializers/json.py
 %%DATADIR%%/utilities/tables.py
 %%DATADIR%%/utilities/templates/builtins/badge.html
@@ -1163,6 +1273,7 @@
 %%DATADIR%%/utilities/templates/buttons/edit.html
 %%DATADIR%%/utilities/templates/buttons/export.html
 %%DATADIR%%/utilities/templates/buttons/import.html
+%%DATADIR%%/utilities/templates/buttons/sync.html
 %%DATADIR%%/utilities/templates/form_helpers/render_custom_fields.html
 %%DATADIR%%/utilities/templates/form_helpers/render_errors.html
 %%DATADIR%%/utilities/templates/form_helpers/render_field.html
@@ -1172,13 +1283,13 @@
 %%DATADIR%%/utilities/templates/helpers/utilization_graph.html
 %%DATADIR%%/utilities/templates/navigation/menu.html
 %%DATADIR%%/utilities/templates/tabs/model_view_tabs.html
+%%DATADIR%%/utilities/templates/widgets/apiselect.html
 %%DATADIR%%/utilities/templates/widgets/clearable_file_input.html
 %%DATADIR%%/utilities/templates/widgets/colorselect_option.html
 %%DATADIR%%/utilities/templates/widgets/markdown_input.html
-%%DATADIR%%/utilities/templates/widgets/select_duration.html
+%%DATADIR%%/utilities/templates/widgets/number_with_options.html
 %%DATADIR%%/utilities/templates/widgets/select_option.html
 %%DATADIR%%/utilities/templates/widgets/select_option_with_pk.html
-%%DATADIR%%/utilities/templates/widgets/select_speed.html
 %%DATADIR%%/utilities/templates/widgets/sluginput.html
 %%DATADIR%%/utilities/templatetags/__init__.py
 %%DATADIR%%/utilities/templatetags/builtins/__init__.py



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202306021619.352GJtDQ060173>