From nobody Fri Jan 12 05:04:38 2024 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TB8bW06Nbz57SF1; Fri, 12 Jan 2024 05:04:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TB8bV6rYmz466G; Fri, 12 Jan 2024 05:04:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1705035878; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/GsbU8GF5y5VrFFBRJolbe8r3EF1qP6k4aZq1y+zqTE=; b=VpEQNDfHzNyuDyuG/60IjxfRo0KmaFLSBKSgwdg8DDO0Xx+8TCY0jzkcARXtw8dL4r8sbd QTGY+JS4iSLA6DNi8pPQRRs0wd2Adhixt5grKappNBkPsdUhGWA2kZTZtEElRV3yUZ2oAp +ofwOr8tvxpMl6tq3RFN//nKJUoix/Nmt41NBwLWpyRKDHeRd086TyzJNyxqQZeC4HUrTf evEaycxXgNGiRqCS95EZZPlT5ItjYwqiVAO0CRNPRbPzus/whhpb/yAW8Me/110ibGbspD bdtO+/CQ/CaTEmMZ82GRZVjhV3zuLNOAdciymvcs3oLoNDv1qDBIifYtpRlm2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1705035878; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/GsbU8GF5y5VrFFBRJolbe8r3EF1qP6k4aZq1y+zqTE=; b=N+07LNZw7oZ6hae+YlYOYlunU8KprcZ2UJ4C+FII9ILmz0XdcoJWr2GZg+MVejqGqaCf2a yQMNil9h2c542NkGr2LHcnqpBW45oQioxXviDgnt+lLb+yWRVCr76n8BS8DZR94piv8F84 JNJAzBr5zg+J1QDeLGNIgdReSCmtJm18RfySz/70VVkMvu8ZpuzQugYjQzms6mf87QeHav zQM/xjS4u7y3yEFcMNjbiwqdJYEb9Jiq87IA6PQ/2olFJNnNzF/ltBF2bByPZmxyCqNqhg Pao/4wjHYxR0hosvpNzl5c+GOhCxqFwJKxAOOIbz6t2/nywcoKnUYJ8geNlHWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1705035878; a=rsa-sha256; cv=none; b=k5WUEw9MZ/5lkGb5uI02z1GYyFGEotILCtnFukdlENWr4BZ8COO7bxglg1EmkiYFcoLNvl Df9gvE3+RMBuij5l1XQ8uNK3EukoqvAbuW3Frd392UqR+2N7VMF7/v9OwtYM5eryeCmeKk Whwi4kYwvnxbBfMDxy6yWjAyekimytpJPhYV6Cj4U40BDFRWFloS8JMRAqd3+Aw0wGkHCX 7KqIRLj7p1ZNcT4FuBMe/re1N0jyUGn49U1uaxj2kSCP6xZ0/KZuwm9Uf8nXkXssHn8ZJQ VxPYu3mPn9pddgHy9G70iRmbe3gG3B/XGM29oNVA/4XTlS///Gl9UKxH/OF+hQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TB8bV5xQJzpCK; Fri, 12 Jan 2024 05:04:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 40C54cXq097199; Fri, 12 Jan 2024 05:04:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 40C54c8T097196; Fri, 12 Jan 2024 05:04:38 GMT (envelope-from git) Date: Fri, 12 Jan 2024 05:04:38 GMT Message-Id: <202401120504.40C54c8T097196@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Kai Knoblich Subject: git: cf3c83159f3d - main - net-mgmt/netbox: Update to 3.7.0 List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kai X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cf3c83159f3dad8355b948caef141c6349a4ff19 Auto-Submitted: auto-generated The branch main has been updated by kai: URL: https://cgit.FreeBSD.org/ports/commit/?id=cf3c83159f3dad8355b948caef141c6349a4ff19 commit cf3c83159f3dad8355b948caef141c6349a4ff19 Author: Kai Knoblich AuthorDate: 2024-01-12 05:00:42 +0000 Commit: Kai Knoblich CommitDate: 2024-01-12 05:03:23 +0000 net-mgmt/netbox: Update to 3.7.0 * Introduce non-default SENTRY option. Kudos to Thomas Kurschel for some extra testing. Changelog: It contains many bugfixes/enhancements and the following new features: * VPN Tunnels * Event Rules * Virtual Machine Disks * Object Protection Rules * Improved Custom Field Visibility Controls * Improved Global Search Results * Table Column Registration for Plugins * Data Backend Registration for Plugins https://netbox.readthedocs.io/en/stable/release-notes/version-3.7/ MFH: No (feature release) --- net-mgmt/netbox/Makefile | 31 ++-- net-mgmt/netbox/distinfo | 6 +- net-mgmt/netbox/files/netboxrc.sample.in | 1 - ...tbox_utilities_templatetags_builtins_filters.py | 29 ++++ net-mgmt/netbox/files/pkg-message.in | 53 ++++++- net-mgmt/netbox/pkg-plist | 176 +++++++++++++++++---- 6 files changed, 244 insertions(+), 52 deletions(-) diff --git a/net-mgmt/netbox/Makefile b/net-mgmt/netbox/Makefile index 4216bfc9c2b0..5d1eaccd1462 100644 --- a/net-mgmt/netbox/Makefile +++ b/net-mgmt/netbox/Makefile @@ -1,6 +1,6 @@ PORTNAME= netbox DISTVERSIONPREFIX= v -DISTVERSION= 3.6.9 +DISTVERSION= 3.7.0 CATEGORIES= net-mgmt python MAINTAINER= kai@FreeBSD.org @@ -23,7 +23,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt # - www/py-dj42-django-tables2 # - www/py-dj42-djangorestframework # -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=4.2.6<4.3:www/py-django42@${PY_FLAVOR} \ +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=4.2.8<4.3:www/py-django42@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dj42-django-cors-headers>=4.3.1<5:www/py-dj42-django-cors-headers@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dj42-django-debug-toolbar>=4.2.0<5:www/py-dj42-django-debug-toolbar@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dj42-django-filter>=23.5<24:www/py-dj42-django-filter@${PY_FLAVOR} \ @@ -32,33 +32,32 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=4.2.6<4.3:www/py-django42@${PY_FLA ${PYTHON_PKGNAMEPREFIX}dj42-django-prometheus>=2.3.1<2.4:www/py-dj42-django-prometheus@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dj42-django-redis>=5.4.0<6:www/py-dj42-django-redis@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dj42-django-rich>=1.8.0<2:www/py-dj42-django-rich@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj42-django-rq>=2.9.0<2.11:devel/py-dj42-django-rq@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj42-django-tables2>=2.7<2.8:www/py-dj42-django-tables2@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj42-django-taggit>=4.0.0<5:www/py-dj42-django-taggit@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj42-django-rq>=2.10.1<2.11:devel/py-dj42-django-rq@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj42-django-tables2>=2.7.0<2.8:www/py-dj42-django-tables2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj42-django-taggit>=5.0.1<6:www/py-dj42-django-taggit@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dj42-django-timezone-field>=6.1.0<7:www/py-dj42-django-timezone-field@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dj42-djangorestframework>=3.14.0<3.15.0:www/py-dj42-djangorestframework@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dj42-drf-spectacular>=0.27.0<1:www/py-dj42-drf-spectacular@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dj42-drf-spectacular-sidecar>=2023.12.1:www/py-dj42-drf-spectacular-sidecar@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dj42-graphene-django>=3.0.0<3.0.0_99:devel/py-dj42-graphene-django@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}django-pglocks>=1.0.4<1.1:www/py-django-pglocks@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}bleach>=6.0.0<7:www/py-bleach@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}feedparser>=6.0.8<7:textproc/py-feedparser@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}bleach>=6.1.0<7:www/py-bleach@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}feedparser>=6.0.10<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}mkdocs-material>=9.4.6<10:textproc/py-mkdocs-material@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}markdown>=3.3.7<3.6:textproc/py-markdown@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}mkdocs-material>=9.5.3<10:textproc/py-mkdocs-material@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}mkdocstrings>=0.24.0<1:textproc/py-mkdocstrings@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}mkdocstrings-python-legacy>0:textproc/py-mkdocstrings-python-legacy@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}netaddr>=0.9.0<1:net/py-netaddr@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pillow>=10.0.1:graphics/py-pillow@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}psycopg>=3.1.10<4:databases/py-psycopg@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pillow>=10.1.0:graphics/py-pillow@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}psycopg>=3.1.16<4:databases/py-psycopg@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}requests>=2.31.0<3:www/py-requests@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}sentry-sdk>=1.21.1<2:devel/py-sentry-sdk@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}social-auth-app-django>=5.4.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}social-auth-core>=4.5.1<5:security/py-social-auth-core@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}svgwrite>=1.4.3<2:graphics/py-svgwrite@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}tablib>=3.5.0<4:textproc/py-tablib@${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}yaml>=6.0.1<7:devel/py-yaml@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}gunicorn>=21.2.0<22:www/py-gunicorn@${PY_FLAVOR} USES= cpe pgsql:12+ python @@ -73,15 +72,17 @@ NO_ARCH= yes OPTIONS_DEFINE= EXAMPLES OPTIONS_GROUP= BACKENDS -OPTIONS_GROUP_BACKENDS= GIT LDAP S3 +OPTIONS_GROUP_BACKENDS= GIT LDAP S3 SENTRY GIT_DESC= Git backend support LDAP_DESC= LDAP backend support S3_DESC= Amazon S3 backend support +SENTRY_DESC= Sentry monitoring support GIT_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dulwich>0:devel/py-dulwich@${PY_FLAVOR} LDAP_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj42-django-auth-ldap>0:www/py-dj42-django-auth-ldap S3_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}boto3>0:www/py-boto3@${PY_FLAVOR} +SENTRY_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sentry-sdk>0:devel/py-sentry-sdk@${PY_FLAVOR} do-install: cd ${WRKSRC}/netbox ; \ diff --git a/net-mgmt/netbox/distinfo b/net-mgmt/netbox/distinfo index 60c1eed0895a..f617e178c1a5 100644 --- a/net-mgmt/netbox/distinfo +++ b/net-mgmt/netbox/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1703851409 -SHA256 (netbox-community-netbox-v3.6.9_GH0.tar.gz) = bd7852664dfb9b0d156c25230cfecca029830e1c31c970b4ec314a93339d60d3 -SIZE (netbox-community-netbox-v3.6.9_GH0.tar.gz) = 7286934 +TIMESTAMP = 1703865948 +SHA256 (netbox-community-netbox-v3.7.0_GH0.tar.gz) = 3ee70909c7acc0d0104ee7d339fb3188af2a66c10f8f22935bb14d73c990488a +SIZE (netbox-community-netbox-v3.7.0_GH0.tar.gz) = 8069413 diff --git a/net-mgmt/netbox/files/netboxrc.sample.in b/net-mgmt/netbox/files/netboxrc.sample.in index 79ad884f632a..9cd8a29d5569 100644 --- a/net-mgmt/netbox/files/netboxrc.sample.in +++ b/net-mgmt/netbox/files/netboxrc.sample.in @@ -101,7 +101,6 @@ netbox_upgrade() %%PYTHON_CMD%% manage.py remove_stale_contenttypes --no-input %%PYTHON_CMD%% manage.py reindex --lazy %%PYTHON_CMD%% manage.py clearsessions - %%PYTHON_CMD%% manage.py clearcache echo "Please restart NetBox and the WSGI environment." else echo "NetBox is not running!" diff --git a/net-mgmt/netbox/files/patch-netbox_utilities_templatetags_builtins_filters.py b/net-mgmt/netbox/files/patch-netbox_utilities_templatetags_builtins_filters.py new file mode 100644 index 000000000000..6913656e19e5 --- /dev/null +++ b/net-mgmt/netbox/files/patch-netbox_utilities_templatetags_builtins_filters.py @@ -0,0 +1,29 @@ +Add backwards compatibility for textproc/py-markdown < 3.4. + +Previous releases of py-markdown cannot access the "use_align_attribute" +configuration option, which was introduced with py-markdown 3.4. + +--- netbox/utilities/templatetags/builtins/filters.py.orig 2023-12-29 15:02:38 UTC ++++ netbox/utilities/templatetags/builtins/filters.py +@@ -163,12 +163,20 @@ def render_markdown(value): + if not value: + return '' + ++ TE_Shim = None ++ ++ try: ++ TE_Shim = TableExtension(use_align_attribute=True) ++ except KeyError: ++ TE_Shim = TableExtension() ++ pass ++ + # Render Markdown + html = markdown(value, extensions=[ + 'def_list', + 'fenced_code', + StrikethroughExtension(), +- TableExtension(use_align_attribute=True), ++ TE_Shim, + ]) + + # If the string is not empty wrap it in rendered-markdown to style tables diff --git a/net-mgmt/netbox/files/pkg-message.in b/net-mgmt/netbox/files/pkg-message.in index e5ac681ad52b..29b2c056fbfd 100644 --- a/net-mgmt/netbox/files/pkg-message.in +++ b/net-mgmt/netbox/files/pkg-message.in @@ -29,7 +29,6 @@ The following steps are required to finish the upgrade: # python%%PYTHON_VER%% manage.py remove_stale_contenttypes --no-input # python%%PYTHON_VER%% manage.py reindex --lazy # python%%PYTHON_VER%% manage.py clearsessions -# python%%PYTHON_VER%% manage.py clearcache 2. Restart WSGI/httpd environment (supervisord/apache/nginx/etc.) EOD @@ -324,4 +323,56 @@ EOD * www/py-boto3 -> non-default S3 option EOD } +{ type: upgrade + maximum_version: 3.7.0 + message: < non-default SENTRY option + +3. Please note that the command "python%%PYTHON_VER%% manage.py clearcache" has + been removed. + + The general update instructions in this pkg-message and the netbox sample rc + script (available via the EXAMPLES option) have also been updated + accordingly. +EOD +} ] diff --git a/net-mgmt/netbox/pkg-plist b/net-mgmt/netbox/pkg-plist index af5794a78bb3..c9e644b54e0b 100644 --- a/net-mgmt/netbox/pkg-plist +++ b/net-mgmt/netbox/pkg-plist @@ -43,6 +43,7 @@ %%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/0043_circuittype_color.py %%DATADIR%%/circuits/migrations/__init__.py %%DATADIR%%/circuits/models/__init__.py %%DATADIR%%/circuits/models/circuits.py @@ -83,7 +84,6 @@ %%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/nbshell.py %%DATADIR%%/core/management/commands/rqworker.py @@ -93,14 +93,23 @@ %%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/0006_datasource_type_remove_choices.py +%%DATADIR%%/core/migrations/0007_job_add_error_field.py +%%DATADIR%%/core/migrations/0008_contenttype_proxy.py +%%DATADIR%%/core/migrations/0009_configrevision.py +%%DATADIR%%/core/migrations/0010_gfk_indexes.py %%DATADIR%%/core/migrations/__init__.py %%DATADIR%%/core/models/__init__.py +%%DATADIR%%/core/models/config.py +%%DATADIR%%/core/models/contenttypes.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/columns.py +%%DATADIR%%/core/tables/config.py %%DATADIR%%/core/tables/data.py %%DATADIR%%/core/tables/jobs.py %%DATADIR%%/core/tests/__init__.py @@ -198,6 +207,9 @@ %%DATADIR%%/dcim/migrations/0180_powerfeed_tenant.py %%DATADIR%%/dcim/migrations/0181_rename_device_role_device_role.py %%DATADIR%%/dcim/migrations/0182_zero_length_cable_fix.py +%%DATADIR%%/dcim/migrations/0183_devicetype_exclude_from_utilization.py +%%DATADIR%%/dcim/migrations/0184_protect_child_interfaces.py +%%DATADIR%%/dcim/migrations/0185_gfk_indexes.py %%DATADIR%%/dcim/migrations/__init__.py %%DATADIR%%/dcim/models/__init__.py %%DATADIR%%/dcim/models/cables.py @@ -286,6 +298,7 @@ %%DATADIR%%/docs/features/context-data.md %%DATADIR%%/docs/features/customization.md %%DATADIR%%/docs/features/devices-cabling.md +%%DATADIR%%/docs/features/event-rules.md %%DATADIR%%/docs/features/facilities.md %%DATADIR%%/docs/features/ipam.md %%DATADIR%%/docs/features/journaling.md @@ -296,6 +309,7 @@ %%DATADIR%%/docs/features/tenancy.md %%DATADIR%%/docs/features/virtualization.md %%DATADIR%%/docs/features/vlan-management.md +%%DATADIR%%/docs/features/vpn-tunnels.md %%DATADIR%%/docs/features/wireless.md %%DATADIR%%/docs/getting-started/planning.md %%DATADIR%%/docs/getting-started/populating-data.md @@ -334,6 +348,7 @@ %%DATADIR%%/docs/media/development/github_new_issue.png %%DATADIR%%/docs/media/installation/netbox_application_stack.png %%DATADIR%%/docs/media/installation/upgrade_paths.png +%%DATADIR%%/docs/media/misc/netbox_logo.png %%DATADIR%%/docs/media/models/dcim_cable_trace.png %%DATADIR%%/docs/media/power_distribution.png %%DATADIR%%/docs/media/release-notes/netbox30_ui.png @@ -398,6 +413,7 @@ %%DATADIR%%/docs/models/extras/customfield.md %%DATADIR%%/docs/models/extras/customfieldchoiceset.md %%DATADIR%%/docs/models/extras/customlink.md +%%DATADIR%%/docs/models/extras/eventrule.md %%DATADIR%%/docs/models/extras/exporttemplate.md %%DATADIR%%/docs/models/extras/imageattachment.md %%DATADIR%%/docs/models/extras/journalentry.md @@ -412,8 +428,6 @@ %%DATADIR%%/docs/models/ipam/fhrpgroupassignment.md %%DATADIR%%/docs/models/ipam/ipaddress.md %%DATADIR%%/docs/models/ipam/iprange.md -%%DATADIR%%/docs/models/ipam/l2vpn.md -%%DATADIR%%/docs/models/ipam/l2vpntermination.md %%DATADIR%%/docs/models/ipam/prefix.md %%DATADIR%%/docs/models/ipam/rir.md %%DATADIR%%/docs/models/ipam/role.md @@ -431,8 +445,19 @@ %%DATADIR%%/docs/models/virtualization/cluster.md %%DATADIR%%/docs/models/virtualization/clustergroup.md %%DATADIR%%/docs/models/virtualization/clustertype.md +%%DATADIR%%/docs/models/virtualization/virtualdisk.md %%DATADIR%%/docs/models/virtualization/virtualmachine.md %%DATADIR%%/docs/models/virtualization/vminterface.md +%%DATADIR%%/docs/models/vpn/ikepolicy.md +%%DATADIR%%/docs/models/vpn/ikeproposal.md +%%DATADIR%%/docs/models/vpn/ipsecpolicy.md +%%DATADIR%%/docs/models/vpn/ipsecprofile.md +%%DATADIR%%/docs/models/vpn/ipsecproposal.md +%%DATADIR%%/docs/models/vpn/l2vpn.md +%%DATADIR%%/docs/models/vpn/l2vpntermination.md +%%DATADIR%%/docs/models/vpn/tunnel.md +%%DATADIR%%/docs/models/vpn/tunnelgroup.md +%%DATADIR%%/docs/models/vpn/tunneltermination.md %%DATADIR%%/docs/models/wireless/wirelesslan.md %%DATADIR%%/docs/models/wireless/wirelesslangroup.md %%DATADIR%%/docs/models/wireless/wirelesslink.md @@ -440,6 +465,7 @@ %%DATADIR%%/docs/netbox_logo.svg %%DATADIR%%/docs/plugins/development/background-tasks.md %%DATADIR%%/docs/plugins/development/dashboard-widgets.md +%%DATADIR%%/docs/plugins/development/data-backends.md %%DATADIR%%/docs/plugins/development/exceptions.md %%DATADIR%%/docs/plugins/development/filtersets.md %%DATADIR%%/docs/plugins/development/forms.md @@ -477,8 +503,8 @@ %%DATADIR%%/docs/release-notes/version-3.4.md %%DATADIR%%/docs/release-notes/version-3.5.md %%DATADIR%%/docs/release-notes/version-3.6.md +%%DATADIR%%/docs/release-notes/version-3.7.md %%DATADIR%%/extras/__init__.py -%%DATADIR%%/extras/admin.py %%DATADIR%%/extras/api/__init__.py %%DATADIR%%/extras/api/customfields.py %%DATADIR%%/extras/api/mixins.py @@ -499,6 +525,7 @@ %%DATADIR%%/extras/data/iata.py %%DATADIR%%/extras/data/iso_3166.py %%DATADIR%%/extras/data/un_locode.py +%%DATADIR%%/extras/events.py %%DATADIR%%/extras/fields.py %%DATADIR%%/extras/filters.py %%DATADIR%%/extras/filtersets.py @@ -507,7 +534,6 @@ %%DATADIR%%/extras/forms/bulk_import.py %%DATADIR%%/extras/forms/filtersets.py %%DATADIR%%/extras/forms/misc.py -%%DATADIR%%/extras/forms/mixins.py %%DATADIR%%/extras/forms/model_forms.py %%DATADIR%%/extras/forms/reports.py %%DATADIR%%/extras/forms/scripts.py @@ -565,6 +591,13 @@ %%DATADIR%%/extras/migrations/0096_customfieldchoiceset.py %%DATADIR%%/extras/migrations/0097_customfield_remove_choices.py %%DATADIR%%/extras/migrations/0098_webhook_custom_field_data_webhook_tags.py +%%DATADIR%%/extras/migrations/0099_cachedvalue_ordering.py +%%DATADIR%%/extras/migrations/0100_customfield_ui_attrs.py +%%DATADIR%%/extras/migrations/0101_eventrule.py +%%DATADIR%%/extras/migrations/0102_move_configrevision.py +%%DATADIR%%/extras/migrations/0103_gfk_indexes.py +%%DATADIR%%/extras/migrations/0104_stagedchange_remove_change_logging.py +%%DATADIR%%/extras/migrations/0105_customfield_min_max_values.py %%DATADIR%%/extras/migrations/__init__.py %%DATADIR%%/extras/models/__init__.py %%DATADIR%%/extras/models/change_logging.py @@ -597,38 +630,20 @@ %%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 -%%DATADIR%%/extras/tests/dummy_plugin/__init__.py -%%DATADIR%%/extras/tests/dummy_plugin/admin.py -%%DATADIR%%/extras/tests/dummy_plugin/api/serializers.py -%%DATADIR%%/extras/tests/dummy_plugin/api/urls.py -%%DATADIR%%/extras/tests/dummy_plugin/api/views.py -%%DATADIR%%/extras/tests/dummy_plugin/graphql.py -%%DATADIR%%/extras/tests/dummy_plugin/middleware.py -%%DATADIR%%/extras/tests/dummy_plugin/migrations/0001_initial.py -%%DATADIR%%/extras/tests/dummy_plugin/migrations/__init__.py -%%DATADIR%%/extras/tests/dummy_plugin/models.py -%%DATADIR%%/extras/tests/dummy_plugin/navigation.py -%%DATADIR%%/extras/tests/dummy_plugin/preferences.py -%%DATADIR%%/extras/tests/dummy_plugin/search.py -%%DATADIR%%/extras/tests/dummy_plugin/template_content.py -%%DATADIR%%/extras/tests/dummy_plugin/urls.py -%%DATADIR%%/extras/tests/dummy_plugin/views.py %%DATADIR%%/extras/tests/test_api.py %%DATADIR%%/extras/tests/test_changelog.py %%DATADIR%%/extras/tests/test_conditions.py %%DATADIR%%/extras/tests/test_custom_validation.py %%DATADIR%%/extras/tests/test_customfields.py -%%DATADIR%%/extras/tests/test_customvalidator.py +%%DATADIR%%/extras/tests/test_customvalidation.py +%%DATADIR%%/extras/tests/test_event_rules.py %%DATADIR%%/extras/tests/test_filtersets.py %%DATADIR%%/extras/tests/test_forms.py %%DATADIR%%/extras/tests/test_models.py -%%DATADIR%%/extras/tests/test_plugins.py %%DATADIR%%/extras/tests/test_scripts.py %%DATADIR%%/extras/tests/test_tags.py %%DATADIR%%/extras/tests/test_views.py -%%DATADIR%%/extras/tests/test_webhooks.py %%DATADIR%%/extras/urls.py %%DATADIR%%/extras/utils.py %%DATADIR%%/extras/validators.py @@ -688,12 +703,13 @@ %%DATADIR%%/ipam/migrations/0065_asnrange.py %%DATADIR%%/ipam/migrations/0066_iprange_mark_utilized.py %%DATADIR%%/ipam/migrations/0067_ipaddress_index_host.py +%%DATADIR%%/ipam/migrations/0068_move_l2vpn.py +%%DATADIR%%/ipam/migrations/0069_gfk_indexes.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 %%DATADIR%%/ipam/models/services.py %%DATADIR%%/ipam/models/vlans.py %%DATADIR%%/ipam/models/vrfs.py @@ -704,7 +720,6 @@ %%DATADIR%%/ipam/tables/asn.py %%DATADIR%%/ipam/tables/fhrp.py %%DATADIR%%/ipam/tables/ip.py -%%DATADIR%%/ipam/tables/l2vpn.py %%DATADIR%%/ipam/tables/services.py %%DATADIR%%/ipam/tables/vlans.py %%DATADIR%%/ipam/tables/vrfs.py @@ -749,10 +764,12 @@ %%DATADIR%%/netbox/constants.py %%DATADIR%%/netbox/context.py %%DATADIR%%/netbox/context_processors.py +%%DATADIR%%/netbox/data_backends.py %%DATADIR%%/netbox/denormalized.py %%DATADIR%%/netbox/filtersets.py %%DATADIR%%/netbox/forms/__init__.py %%DATADIR%%/netbox/forms/base.py +%%DATADIR%%/netbox/forms/mixins.py %%DATADIR%%/netbox/graphql/__init__.py %%DATADIR%%/netbox/graphql/fields.py %%DATADIR%%/netbox/graphql/scalars.py @@ -765,28 +782,57 @@ %%DATADIR%%/netbox/models/features.py %%DATADIR%%/netbox/navigation/__init__.py %%DATADIR%%/netbox/navigation/menu.py +%%DATADIR%%/netbox/plugins/__init__.py +%%DATADIR%%/netbox/plugins/navigation.py +%%DATADIR%%/netbox/plugins/registration.py +%%DATADIR%%/netbox/plugins/templates.py +%%DATADIR%%/netbox/plugins/urls.py +%%DATADIR%%/netbox/plugins/utils.py +%%DATADIR%%/netbox/plugins/views.py %%DATADIR%%/netbox/preferences.py %%DATADIR%%/netbox/registry.py %%DATADIR%%/netbox/search/__init__.py %%DATADIR%%/netbox/search/backends.py +%%DATADIR%%/netbox/search/utils.py %%DATADIR%%/netbox/settings.py %%DATADIR%%/netbox/signals.py %%DATADIR%%/netbox/staging.py %%DATADIR%%/netbox/tables/__init__.py %%DATADIR%%/netbox/tables/columns.py %%DATADIR%%/netbox/tables/tables.py +%%DATADIR%%/netbox/tables/template_code.py %%DATADIR%%/netbox/tests/__init__.py +%%DATADIR%%/netbox/tests/dummy_plugin/__init__.py +%%DATADIR%%/netbox/tests/dummy_plugin/admin.py +%%DATADIR%%/netbox/tests/dummy_plugin/api/serializers.py +%%DATADIR%%/netbox/tests/dummy_plugin/api/urls.py +%%DATADIR%%/netbox/tests/dummy_plugin/api/views.py +%%DATADIR%%/netbox/tests/dummy_plugin/data_backends.py +%%DATADIR%%/netbox/tests/dummy_plugin/graphql.py +%%DATADIR%%/netbox/tests/dummy_plugin/middleware.py +%%DATADIR%%/netbox/tests/dummy_plugin/migrations/0001_initial.py +%%DATADIR%%/netbox/tests/dummy_plugin/migrations/__init__.py +%%DATADIR%%/netbox/tests/dummy_plugin/models.py +%%DATADIR%%/netbox/tests/dummy_plugin/navigation.py +%%DATADIR%%/netbox/tests/dummy_plugin/preferences.py +%%DATADIR%%/netbox/tests/dummy_plugin/search.py +%%DATADIR%%/netbox/tests/dummy_plugin/tables.py +%%DATADIR%%/netbox/tests/dummy_plugin/template_content.py +%%DATADIR%%/netbox/tests/dummy_plugin/urls.py +%%DATADIR%%/netbox/tests/dummy_plugin/views.py %%DATADIR%%/netbox/tests/test_api.py %%DATADIR%%/netbox/tests/test_authentication.py %%DATADIR%%/netbox/tests/test_config.py %%DATADIR%%/netbox/tests/test_graphql.py %%DATADIR%%/netbox/tests/test_import.py +%%DATADIR%%/netbox/tests/test_plugins.py %%DATADIR%%/netbox/tests/test_registry.py %%DATADIR%%/netbox/tests/test_search.py %%DATADIR%%/netbox/tests/test_staging.py %%DATADIR%%/netbox/tests/test_tables.py %%DATADIR%%/netbox/tests/test_views.py %%DATADIR%%/netbox/urls.py +%%DATADIR%%/netbox/utils.py %%DATADIR%%/netbox/views/__init__.py %%DATADIR%%/netbox/views/errors.py %%DATADIR%%/netbox/views/generic/__init__.py @@ -927,6 +973,8 @@ %%DATADIR%%/templates/circuits/provider.html %%DATADIR%%/templates/circuits/provideraccount.html %%DATADIR%%/templates/circuits/providernetwork.html +%%DATADIR%%/templates/core/configrevision.html +%%DATADIR%%/templates/core/configrevision_restore.html %%DATADIR%%/templates/core/datafile.html %%DATADIR%%/templates/core/datasource.html %%DATADIR%%/templates/core/job.html @@ -1023,8 +1071,6 @@ %%DATADIR%%/templates/extras/admin/plugins_list.html %%DATADIR%%/templates/extras/configcontext.html %%DATADIR%%/templates/extras/configcontext_list.html -%%DATADIR%%/templates/extras/configrevision.html -%%DATADIR%%/templates/extras/configrevision_restore.html %%DATADIR%%/templates/extras/configtemplate.html %%DATADIR%%/templates/extras/configtemplate_list.html %%DATADIR%%/templates/extras/customfield.html @@ -1038,6 +1084,7 @@ %%DATADIR%%/templates/extras/dashboard/widgets/objectcounts.html %%DATADIR%%/templates/extras/dashboard/widgets/objectlist.html %%DATADIR%%/templates/extras/dashboard/widgets/rssfeed.html +%%DATADIR%%/templates/extras/eventrule.html %%DATADIR%%/templates/extras/exporttemplate.html %%DATADIR%%/templates/extras/exporttemplate_list.html %%DATADIR%%/templates/extras/htmx/report_result.html @@ -1126,9 +1173,6 @@ %%DATADIR%%/templates/ipam/iprange.html %%DATADIR%%/templates/ipam/iprange/base.html %%DATADIR%%/templates/ipam/iprange/ip_addresses.html -%%DATADIR%%/templates/ipam/l2vpn.html -%%DATADIR%%/templates/ipam/l2vpntermination.html -%%DATADIR%%/templates/ipam/l2vpntermination_edit.html %%DATADIR%%/templates/ipam/prefix.html %%DATADIR%%/templates/ipam/prefix/base.html %%DATADIR%%/templates/ipam/prefix/ip_addresses.html @@ -1168,12 +1212,25 @@ %%DATADIR%%/templates/virtualization/cluster_add_devices.html %%DATADIR%%/templates/virtualization/clustergroup.html %%DATADIR%%/templates/virtualization/clustertype.html +%%DATADIR%%/templates/virtualization/virtualdisk.html %%DATADIR%%/templates/virtualization/virtualmachine.html %%DATADIR%%/templates/virtualization/virtualmachine/base.html %%DATADIR%%/templates/virtualization/virtualmachine/interfaces.html %%DATADIR%%/templates/virtualization/virtualmachine/render_config.html +%%DATADIR%%/templates/virtualization/virtualmachine/virtual_disks.html %%DATADIR%%/templates/virtualization/virtualmachine_list.html %%DATADIR%%/templates/virtualization/vminterface.html +%%DATADIR%%/templates/vpn/ikepolicy.html +%%DATADIR%%/templates/vpn/ikeproposal.html +%%DATADIR%%/templates/vpn/ipsecpolicy.html +%%DATADIR%%/templates/vpn/ipsecprofile.html +%%DATADIR%%/templates/vpn/ipsecproposal.html +%%DATADIR%%/templates/vpn/l2vpn.html +%%DATADIR%%/templates/vpn/l2vpntermination.html +%%DATADIR%%/templates/vpn/l2vpntermination_edit.html +%%DATADIR%%/templates/vpn/tunnel.html +%%DATADIR%%/templates/vpn/tunnelgroup.html +%%DATADIR%%/templates/vpn/tunneltermination.html %%DATADIR%%/templates/wireless/inc/authentication_attrs.html %%DATADIR%%/templates/wireless/inc/wirelesslink_interface.html %%DATADIR%%/templates/wireless/wirelesslan.html @@ -1208,6 +1265,8 @@ %%DATADIR%%/tenancy/migrations/0009_standardize_description_comments.py %%DATADIR%%/tenancy/migrations/0010_tenant_relax_uniqueness.py %%DATADIR%%/tenancy/migrations/0011_contactassignment_tags.py +%%DATADIR%%/tenancy/migrations/0012_contactassignment_custom_fields.py +%%DATADIR%%/tenancy/migrations/0013_gfk_indexes.py %%DATADIR%%/tenancy/migrations/__init__.py %%DATADIR%%/tenancy/models/__init__.py %%DATADIR%%/tenancy/models/contacts.py @@ -1223,6 +1282,16 @@ %%DATADIR%%/tenancy/tests/test_views.py %%DATADIR%%/tenancy/urls.py %%DATADIR%%/tenancy/views.py +%%DATADIR%%/translations/en/LC_MESSAGES/django.mo +%%DATADIR%%/translations/en/LC_MESSAGES/django.po +%%DATADIR%%/translations/es/LC_MESSAGES/django.mo +%%DATADIR%%/translations/es/LC_MESSAGES/django.po +%%DATADIR%%/translations/fr/LC_MESSAGES/django.mo +%%DATADIR%%/translations/fr/LC_MESSAGES/django.po +%%DATADIR%%/translations/pt/LC_MESSAGES/django.mo +%%DATADIR%%/translations/pt/LC_MESSAGES/django.po +%%DATADIR%%/translations/ru/LC_MESSAGES/django.mo +%%DATADIR%%/translations/ru/LC_MESSAGES/django.po %%DATADIR%%/users/__init__.py %%DATADIR%%/users/admin.py %%DATADIR%%/users/api/__init__.py @@ -1350,6 +1419,7 @@ %%DATADIR%%/utilities/templatetags/mptt.py %%DATADIR%%/utilities/templatetags/navigation.py %%DATADIR%%/utilities/templatetags/perms.py +%%DATADIR%%/utilities/templatetags/plugins.py %%DATADIR%%/utilities/templatetags/tabs.py %%DATADIR%%/utilities/testing/__init__.py %%DATADIR%%/utilities/testing/api.py @@ -1406,11 +1476,14 @@ %%DATADIR%%/virtualization/migrations/0034_standardize_description_comments.py %%DATADIR%%/virtualization/migrations/0035_virtualmachine_interface_count.py %%DATADIR%%/virtualization/migrations/0036_virtualmachine_config_template.py +%%DATADIR%%/virtualization/migrations/0037_protect_child_interfaces.py +%%DATADIR%%/virtualization/migrations/0038_virtualdisk.py %%DATADIR%%/virtualization/migrations/__init__.py %%DATADIR%%/virtualization/models/__init__.py %%DATADIR%%/virtualization/models/clusters.py %%DATADIR%%/virtualization/models/virtualmachines.py %%DATADIR%%/virtualization/search.py +%%DATADIR%%/virtualization/signals.py %%DATADIR%%/virtualization/tables/__init__.py %%DATADIR%%/virtualization/tables/clusters.py %%DATADIR%%/virtualization/tables/virtualmachines.py @@ -1421,6 +1494,45 @@ %%DATADIR%%/virtualization/tests/test_views.py %%DATADIR%%/virtualization/urls.py %%DATADIR%%/virtualization/views.py +%%DATADIR%%/vpn/__init__.py +%%DATADIR%%/vpn/admin.py +%%DATADIR%%/vpn/api/__init__.py +%%DATADIR%%/vpn/api/nested_serializers.py +%%DATADIR%%/vpn/api/serializers.py +%%DATADIR%%/vpn/api/urls.py +%%DATADIR%%/vpn/api/views.py +%%DATADIR%%/vpn/apps.py +%%DATADIR%%/vpn/choices.py +%%DATADIR%%/vpn/constants.py +%%DATADIR%%/vpn/filtersets.py +%%DATADIR%%/vpn/forms/__init__.py +%%DATADIR%%/vpn/forms/bulk_edit.py +%%DATADIR%%/vpn/forms/bulk_import.py +%%DATADIR%%/vpn/forms/filtersets.py +%%DATADIR%%/vpn/forms/model_forms.py +%%DATADIR%%/vpn/graphql/__init__.py +%%DATADIR%%/vpn/graphql/gfk_mixins.py +%%DATADIR%%/vpn/graphql/schema.py +%%DATADIR%%/vpn/graphql/types.py +%%DATADIR%%/vpn/migrations/0001_initial.py +%%DATADIR%%/vpn/migrations/0002_move_l2vpn.py +%%DATADIR%%/vpn/migrations/__init__.py +%%DATADIR%%/vpn/models/__init__.py +%%DATADIR%%/vpn/models/crypto.py +%%DATADIR%%/vpn/models/l2vpn.py +%%DATADIR%%/vpn/models/tunnels.py +%%DATADIR%%/vpn/search.py +%%DATADIR%%/vpn/tables/__init__.py +%%DATADIR%%/vpn/tables/crypto.py +%%DATADIR%%/vpn/tables/l2vpn.py +%%DATADIR%%/vpn/tables/tunnels.py +%%DATADIR%%/vpn/tests/__init__.py +%%DATADIR%%/vpn/tests/test_api.py +%%DATADIR%%/vpn/tests/test_filtersets.py +%%DATADIR%%/vpn/tests/test_models.py +%%DATADIR%%/vpn/tests/test_views.py +%%DATADIR%%/vpn/urls.py +%%DATADIR%%/vpn/views.py %%DATADIR%%/wireless/__init__.py %%DATADIR%%/wireless/api/__init__.py %%DATADIR%%/wireless/api/nested_serializers.py