Skip to content

Commit b55c85b

Browse files
Merge pull request #7220 from netbox-community/develop
Release v3.0.2
2 parents 593874b + 0d1d14b commit b55c85b

Some content is hidden

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

56 files changed

+529
-259
lines changed

.github/ISSUE_TEMPLATE/bug_report.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ body:
1717
What version of NetBox are you currently running? (If you don't have access to the most
1818
recent NetBox release, consider testing on our [demo instance](https://demo.netbox.dev/)
1919
before opening a bug report to see if your issue has already been addressed.)
20-
placeholder: v3.0.1
20+
placeholder: v3.0.2
2121
validations:
2222
required: true
2323
- type: dropdown

.github/ISSUE_TEMPLATE/feature_request.yaml

Lines changed: 5 additions & 3 deletions
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.0.1
17+
placeholder: v3.0.2
1818
validations:
1919
required: true
2020
- type: dropdown
@@ -30,8 +30,10 @@ body:
3030
attributes:
3131
label: Proposed functionality
3232
description: >
33-
Describe in detail the new feature or behavior you'd like to propose. Include any specific
34-
changes to work flows, data models, or the user interface.
33+
Describe in detail the new feature or behavior you are proposing. Include any specific changes
34+
to work flows, data models, and/or the user interface. The more detail you provide here, the
35+
greater chance your proposal has of being discussed. Feature requests which don't include an
36+
actionable implementation plan will be rejected.
3537
validations:
3638
required: true
3739
- type: textarea

.github/workflows/ci.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ jobs:
5858

5959
- name: Check UI ESLint, TypeScript, and Prettier Compliance
6060
run: yarn --cwd netbox/project-static validate
61+
62+
- name: Validate Static Asset Integrity
63+
run: scripts/verify-bundles.sh
6164

6265
- name: Run tests
6366
run: coverage run --source="netbox/" netbox/manage.py test netbox/

.gitignore

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
*.pyc
22
*.swp
3-
node_modules
43
npm-debug.log*
54
yarn-debug.log*
65
yarn-error.log*
7-
/netbox/project-static/.cache
6+
/netbox/project-static/node_modules
87
/netbox/project-static/docs/*
98
!/netbox/project-static/docs/.info
109
/netbox/netbox/configuration.py
1110
/netbox/netbox/ldap_config.py
12-
/netbox/project-static/.cache
13-
/netbox/project-static/node_modules
1411
/netbox/reports/*
1512
!/netbox/reports/__init__.py
1613
/netbox/scripts/*

docs/additional-features/prometheus-metrics.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@ For the exhaustive list of exposed metrics, visit the `/metrics` endpoint on you
2626
When deploying NetBox in a multiprocess manner (e.g. running multiple Gunicorn workers) the Prometheus client library requires the use of a shared directory to collect metrics from all worker processes. To configure this, first create or designate a local directory to which the worker processes have read and write access, and then configure your WSGI service (e.g. Gunicorn) to define this path as the `prometheus_multiproc_dir` environment variable.
2727

2828
!!! warning
29-
If having accurate long-term metrics in a multiprocess environment is crucial to your deployment, it's recommended you use the `uwsgi` library instead of `gunicorn`. The issue lies in the way `gunicorn` tracks worker processes (vs `uwsgi`) which helps manage the metrics files created by the above configurations. If you're using NetBox with gunicorn in a containerized enviroment following the one-process-per-container methodology, then you will likely not need to change to `uwsgi`. More details can be found in [issue #3779](https://github.com/netbox-community/netbox/issues/3779#issuecomment-590547562).
29+
If having accurate long-term metrics in a multiprocess environment is crucial to your deployment, it's recommended you use the `uwsgi` library instead of `gunicorn`. The issue lies in the way `gunicorn` tracks worker processes (vs `uwsgi`) which helps manage the metrics files created by the above configurations. If you're using NetBox with gunicorn in a containerized environment following the one-process-per-container methodology, then you will likely not need to change to `uwsgi`. More details can be found in [issue #3779](https://github.com/netbox-community/netbox/issues/3779#issuecomment-590547562).

docs/development/extending-models.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,11 @@ class Foo(models.Model):
3434

3535
## 3. Update relevant querysets
3636

37-
If you're adding a relational field (e.g. `ForeignKey`) and intend to include the data when retreiving a list of objects, be sure to include the field using `prefetch_related()` as appropriate. This will optimize the view and avoid extraneous database queries.
37+
If you're adding a relational field (e.g. `ForeignKey`) and intend to include the data when retrieving a list of objects, be sure to include the field using `prefetch_related()` as appropriate. This will optimize the view and avoid extraneous database queries.
3838

3939
## 4. Update API serializer
4040

41-
Extend the model's API serializer in `<app>.api.serializers` to include the new field. In most cases, it will not be necessary to also extend the nested serializer, which produces a minimal represenation of the model.
41+
Extend the model's API serializer in `<app>.api.serializers` to include the new field. In most cases, it will not be necessary to also extend the nested serializer, which produces a minimal representation of the model.
4242

4343
## 5. Add field to forms
4444

docs/graphql-api/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ NetBox provides both a singular and plural query field for each object type:
4545
* `$OBJECT`: Returns a single object. Must specify the object's unique ID as `(id: 123)`.
4646
* `$OBJECT_list`: Returns a list of objects, optionally filtered by given parameters.
4747

48-
For example, query `device(id:123)` to fetch a specific device (identified by its unique ID), and query `device_list` (with an optional set of fitlers) to fetch all devices.
48+
For example, query `device(id:123)` to fetch a specific device (identified by its unique ID), and query `device_list` (with an optional set of filters) to fetch all devices.
4949

5050
For more detail on constructing GraphQL queries, see the [Graphene documentation](https://docs.graphene-python.org/en/latest/).
5151

docs/installation/3-netbox.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -70,19 +70,22 @@ If `git` is not already installed, install it:
7070
Next, clone the **master** branch of the NetBox GitHub repository into the current directory. (This branch always holds the current stable release.)
7171

7272
```no-highlight
73-
sudo git clone -b master https://github.com/netbox-community/netbox.git .
73+
sudo git clone -b master --depth 1 https://github.com/netbox-community/netbox.git .
7474
```
7575

76+
!!! note
77+
The `git clone` command above utilizes a "shallow clone" to retrieve only the most recent commit. If you need to download the entire history, omit the `--depth 1` argument.
78+
7679
The `git clone` command should generate output similar to the following:
7780

7881
```
7982
Cloning into '.'...
80-
remote: Counting objects: 1994, done.
81-
remote: Compressing objects: 100% (150/150), done.
82-
remote: Total 1994 (delta 80), reused 0 (delta 0), pack-reused 1842
83-
Receiving objects: 100% (1994/1994), 472.36 KiB | 0 bytes/s, done.
84-
Resolving deltas: 100% (1495/1495), done.
85-
Checking connectivity... done.
83+
remote: Enumerating objects: 996, done.
84+
remote: Counting objects: 100% (996/996), done.
85+
remote: Compressing objects: 100% (935/935), done.
86+
remote: Total 996 (delta 148), reused 386 (delta 34), pack-reused 0
87+
Receiving objects: 100% (996/996), 4.26 MiB | 9.81 MiB/s, done.
88+
Resolving deltas: 100% (148/148), done.
8689
```
8790

8891
!!! note

docs/installation/4-gunicorn.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ While the provided configuration should suffice for most initial installations,
1414

1515
## systemd Setup
1616

17-
We'll use systemd to control both gunicorn and NetBox's background worker process. First, copy `contrib/netbox.service` and `contrib/netbox-rq.service` to the `/etc/systemd/system/` directory and reload the systemd dameon:
17+
We'll use systemd to control both gunicorn and NetBox's background worker process. First, copy `contrib/netbox.service` and `contrib/netbox-rq.service` to the `/etc/systemd/system/` directory and reload the systemd daemon:
1818

1919
```no-highlight
2020
sudo cp -v /opt/netbox/contrib/*.service /etc/systemd/system/

docs/models/dcim/platform.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ A platform defines the type of software running on a device or virtual machine.
44

55
Platforms may optionally be limited by manufacturer: If a platform is assigned to a particular manufacturer, it can only be assigned to devices with a type belonging to that manufacturer.
66

7-
The platform model is also used to indicate which [NAPALM](../../additional-features/napalm.md) driver and any associated arguments NetBox should use when connecting to a remote device. The name of the driver along with optional parameters are stored with the platform.
7+
The platform model is also used to indicate which NAPALM driver (if any) and any associated arguments NetBox should use when connecting to a remote device. The name of the driver along with optional parameters are stored with the platform.
88

99
The assignment of platforms to devices is an optional feature, and may be disregarded if not desired.

0 commit comments

Comments
 (0)