Skip to content

Commit 91f156d

Browse files
Merge pull request netbox-community#15975 from netbox-community/develop
Release v4.0.0
2 parents be903a6 + fce54f3 commit 91f156d

File tree

1,146 files changed

+228986
-57960
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,146 files changed

+228986
-57960
lines changed

.github/ISSUE_TEMPLATE/bug_report.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ body:
2626
attributes:
2727
label: NetBox Version
2828
description: What version of NetBox are you currently running?
29-
placeholder: v3.7.8
29+
placeholder: v4.0.0
3030
validations:
3131
required: true
3232
- type: dropdown

.github/ISSUE_TEMPLATE/feature_request.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ body:
1414
attributes:
1515
label: NetBox version
1616
description: What version of NetBox are you currently running?
17-
placeholder: v3.7.8
17+
placeholder: v4.0.0
1818
validations:
1919
required: true
2020
- type: dropdown

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ jobs:
99
NETBOX_CONFIGURATION: netbox.configuration_testing
1010
strategy:
1111
matrix:
12-
python-version: ['3.8', '3.9', '3.10', '3.11']
13-
node-version: ['14.x']
12+
python-version: ['3.10', '3.11', '3.12']
13+
node-version: ['18.x']
1414
services:
1515
redis:
1616
image: redis

.readthedocs.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
version: 2
22
build:
3-
os: ubuntu-20.04
3+
os: ubuntu-22.04
44
tools:
5-
python: "3.9"
5+
python: "3.12"
66
mkdocs:
77
configuration: mkdocs.yml
88
python:

base_requirements.txt

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
1-
# HTML sanitizer
2-
# https://github.com/mozilla/bleach/blob/main/CHANGES
3-
bleach
4-
51
# The Python web framework on which NetBox is built
62
# https://docs.djangoproject.com/en/stable/releases/
7-
Django<5.0
3+
Django<5.1
84

95
# Django middleware which permits cross-domain API requests
106
# https://github.com/adamchainz/django-cors-headers/blob/main/CHANGELOG.rst
@@ -18,14 +14,13 @@ django-debug-toolbar
1814
# https://github.com/carltongibson/django-filter/blob/main/CHANGES.rst
1915
django-filter
2016

21-
# Django debug toolbar extension with support for GraphiQL
22-
# https://github.com/flavors/django-graphiql-debug-toolbar/blob/main/CHANGES.rst
23-
django-graphiql-debug-toolbar
17+
# HTMX utilities for Django
18+
# https://django-htmx.readthedocs.io/en/latest/changelog.html
19+
django-htmx
2420

2521
# Modified Preorder Tree Traversal (recursive nesting of objects)
26-
# Pinned to 0.14.0; 0.15.0 requires Python 3.9+
2722
# https://github.com/django-mptt/django-mptt/blob/main/CHANGELOG.rst
28-
django-mptt==0.14.0
23+
django-mptt
2924

3025
# Context managers for PostgreSQL advisory locks
3126
# https://github.com/Xof/django-pglocks/blob/master/CHANGES.txt
@@ -61,8 +56,7 @@ django-timezone-field
6156

6257
# A REST API framework for Django projects
6358
# https://www.django-rest-framework.org/community/release-notes/
64-
# Pinned to 3.14 for NetBox v3.7
65-
djangorestframework<3.15
59+
djangorestframework
6660

6761
# Sane and flexible OpenAPI 3 schema generation for Django REST framework.
6862
# https://github.com/tfranzel/drf-spectacular/blob/master/CHANGELOG.rst
@@ -76,11 +70,6 @@ drf-spectacular-sidecar
7670
# https://github.com/kurtmckee/feedparser/blob/develop/CHANGELOG.rst
7771
feedparser
7872

79-
# Django wrapper for Graphene (GraphQL support)
80-
# https://github.com/graphql-python/graphene-django/releases
81-
# Pinned to v3.0.0 for GraphiQL UI issue (see #12762)
82-
graphene_django==3.0.0
83-
8473
# WSGI HTTP server
8574
# https://docs.gunicorn.org/en/latest/news.html
8675
gunicorn
@@ -109,6 +98,10 @@ mkdocstrings[python-legacy]
10998
# https://github.com/netaddr/netaddr/blob/master/CHANGELOG.rst
11099
netaddr
111100

101+
# Python bindings to the ammonia HTML sanitization library.
102+
# https://github.com/messense/nh3
103+
nh3
104+
112105
# Fork of PIL (Python Imaging Library) for image processing
113106
# https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst
114107
Pillow
@@ -133,8 +126,16 @@ social-auth-core
133126
# https://github.com/python-social-auth/social-app-django/blob/master/CHANGELOG.md
134127
social-auth-app-django
135128

129+
# Strawberry GraphQL
130+
# https://github.com/strawberry-graphql/strawberry/blob/main/CHANGELOG.md
131+
strawberry-graphql
132+
133+
# Strawberry GraphQL Django extension
134+
# https://github.com/strawberry-graphql/strawberry-django/blob/main/CHANGELOG.md
135+
strawberry-graphql-django
136+
136137
# SVG image rendering (used for rack elevations)
137-
# hhttps://github.com/mozman/svgwrite/blob/master/NEWS.rst
138+
# https://github.com/mozman/svgwrite/blob/master/NEWS.rst
138139
svgwrite
139140

140141
# Tabular dataset library (for table-based exports)

contrib/netbox.service

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,12 @@ Group=netbox
1212
PIDFile=/var/tmp/netbox.pid
1313
WorkingDirectory=/opt/netbox
1414

15+
# Remove the following line if using uWSGI instead of Gunicorn
1516
ExecStart=/opt/netbox/venv/bin/gunicorn --pid /var/tmp/netbox.pid --pythonpath /opt/netbox/netbox --config /opt/netbox/gunicorn.py netbox.wsgi
1617

18+
# Uncomment the following line if using uWSGI instead of Gunicorn
19+
#ExecStart=/opt/netbox/venv/bin/uwsgi --ini /opt/netbox/uwsgi.ini
20+
1721
Restart=on-failure
1822
RestartSec=30
1923
PrivateTmp=true

contrib/nginx.conf

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,20 @@ server {
1414
}
1515

1616
location / {
17+
# Remove these lines if using uWSGI instead of Gunicorn
1718
proxy_pass http://127.0.0.1:8001;
1819
proxy_set_header X-Forwarded-Host $http_host;
1920
proxy_set_header X-Real-IP $remote_addr;
2021
proxy_set_header X-Forwarded-Proto $scheme;
22+
23+
# Uncomment these lines if using uWSGI instead of Gunicorn
24+
# include uwsgi_params;
25+
# uwsgi_pass 127.0.0.1:8001;
26+
# uwsgi_param Host $host;
27+
# uwsgi_param X-Real-IP $remote_addr;
28+
# uwsgi_param X-Forwarded-For $proxy_add_x_forwarded_for;
29+
# uwsgi_param X-Forwarded-Proto $http_x_forwarded_proto;
30+
2131
}
2232
}
2333

contrib/uwsgi.ini

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
[uwsgi]
2+
; bind to the specified UNIX/TCP socket and port (usually localhost)
3+
socket = 127.0.0.1:8001
4+
5+
; fail to start if any parameter in the configuration file isn’t explicitly understood by uWSGI.
6+
strict = true
7+
8+
; re-spawn and pre-fork workers
9+
master = true
10+
11+
; clear environment on exit
12+
vacuum = true
13+
14+
; exit if no app can be loaded
15+
need-app = true
16+
17+
; do not use multiple interpreters
18+
single-interpreter = true

docs/administration/authentication/microsoft-azure-ad.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ You should be redirected to Microsoft's authentication portal. Enter the usernam
7373

7474
If successful, you will be redirected back to the NetBox UI, and will be logged in as the AD user. You can verify this by navigating to your profile (using the button at top right).
7575

76-
This user account has been replicated locally to NetBox, and can now be assigned groups and permissions by navigating to Admin > Permissions.
76+
This user account has been replicated locally to NetBox, and can now be assigned groups and permissions.
7777

7878
## Troubleshooting
7979

docs/administration/authentication/okta.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,4 +67,4 @@ You should be redirected to Okta's authentication portal. Enter the username/ema
6767

6868
If successful, you will be redirected back to the NetBox UI, and will be logged in as the Okta user. You can verify this by navigating to your profile (using the button at top right).
6969

70-
This user account has been replicated locally to NetBox, and can now be assigned groups and permissions by navigating to Admin > Permissions.
70+
This user account has been replicated locally to NetBox, and can now be assigned groups and permissions.

0 commit comments

Comments
 (0)