Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v3.0.3 #7317

Merged
merged 50 commits into from
Sep 20, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
b44ec35
Close #7032
tb-killa Aug 27, 2021
d5e5cdd
Add Remote Group Support to the RemoteUserAuth Backend and Middleware
MaxRink Feb 8, 2021
a226f06
PRVB
jeremystretch Sep 8, 2021
ad7b8a9
Fixes #7226: Exempt GraphQL API requests from CSRF inspection
jeremystretch Sep 9, 2021
7a81334
Correct example GraphQL queries
jeremystretch Sep 9, 2021
4493c31
Fixes #7227: Correct placeholder value for webhook CA file path
jeremystretch Sep 9, 2021
908e6a7
Update NetBox installation video
jeremystretch Sep 9, 2021
bd95761
Fixes #7167: Ensure consistent font size when using monospace formatting
jeremystretch Sep 9, 2021
2a95e1b
Fixes #7195 update base template in plugin dev doc
dvaccarosenna Sep 10, 2021
57abbf1
Merge pull request #7245 from dvaccarosenna/issue/7195
jeremystretch Sep 10, 2021
ab0a2ab
Fixes #7248: Fix global search results section links
jeremystretch Sep 13, 2021
147a4cb
Closes #7239: Redirect global search to filtered object list when an …
jeremystretch Sep 13, 2021
1f4263a
Fixes #7253: Remove obsolete reference to queryset cache invalidation
jeremystretch Sep 13, 2021
a6e79a1
Add virtualenv instructions to plugin development docs
jeremystretch Sep 13, 2021
2ba6a6f
Closes #6387: Add xDSL interface type
jeremystretch Sep 14, 2021
ca11b74
Merge pull request #7052 from tb-killa/#7032
jeremystretch Sep 14, 2021
13d8957
Changelog for #7032
jeremystretch Sep 14, 2021
ca72b07
Remove secrets from the feature list
cimnine Sep 15, 2021
ca131f1
Merge pull request #7272 from cimnine/Fix7271
jeremystretch Sep 15, 2021
e813dda
Remove default_app_config (deprecated in Django 3.2)
jeremystretch Sep 15, 2021
baf045a
Clean up documentation build warnings
jeremystretch Sep 15, 2021
25f501f
Remove obsolete responsive_table.html template
jeremystretch Sep 15, 2021
e738ff2
Closes #6988: Order tenants alphabetically without regard to group as…
jeremystretch Sep 15, 2021
de58f53
Closes #7208: Add navigation breadcrumbs for custom scripts & reports
jeremystretch Sep 15, 2021
aa05097
Fixes #7279: Fix exception when tracing cable with no associated path
jeremystretch Sep 16, 2021
574b57e
Treat compiled JS/CSS as binary when diffing
jeremystretch Sep 16, 2021
6f24a93
Fixes #7273: Disable automatic sorting of select options fetched via API
jeremystretch Sep 16, 2021
8d703ff
Merge pull request #6730 from MaxRink/remote_groups
jeremystretch Sep 16, 2021
0b2862b
Changelog for #5775
jeremystretch Sep 16, 2021
42afd80
Changelog for #5775
jeremystretch Sep 16, 2021
e3e005e
Fixes #7266: Tweak font color for form field placeholder text
jeremystretch Sep 16, 2021
cc0830b
Closes #7087: Add search/filter forms for all organizational models
jeremystretch Sep 16, 2021
1e8ee5e
Correct changelog for #7210; revert static asset change
jeremystretch Sep 16, 2021
b0abfee
Fixes #7282: Fix KeyError exception when INSECURE_SKIP_TLS_VERIFY is …
jeremystretch Sep 17, 2021
e67c965
Closes #7087: Add local_context_data filter for virtual machines list
jeremystretch Sep 17, 2021
16d8981
Closes #7284: Include comments field in table/export for all appropri…
jeremystretch Sep 17, 2021
34db2eb
Merge pull request #7285 from netbox-community/7273-apiselect-sorting
jeremystretch Sep 17, 2021
84f3ab9
Changelog for #7273
jeremystretch Sep 17, 2021
5e29679
Merge 'detail' tables into primaries for each model
jeremystretch Sep 17, 2021
9cb29f4
Use exclude() when instantiating tables to omit columns
jeremystretch Sep 17, 2021
7b3f6f1
Clean up table classes
jeremystretch Sep 17, 2021
383cdb5
Merge pull request #7297 from netbox-community/7295-tables-cleanup
jeremystretch Sep 17, 2021
713e79c
Fixes #7298: Restore missing object names from applied object list fi…
jeremystretch Sep 17, 2021
030c573
Fixes #7228: Round °F temperature to one decimal place
Sep 20, 2021
879ffd6
Fix 'select all' widget display
jeremystretch Sep 20, 2021
8ba5d03
Fixes #7301: Fix exception when deleting a large number of child pref…
jeremystretch Sep 20, 2021
b86847c
Merge pull request #7307 from royreznik/fix-7228
jeremystretch Sep 20, 2021
38be0b4
Changelog for #7228
jeremystretch Sep 20, 2021
214c1d5
Release v3.0.3
jeremystretch Sep 20, 2021
d2dcc51
Changelog cleanup
jeremystretch Sep 20, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
*.sh text eol=lf
# Treat minified or packed JS/CSS files as binary, as they're not meant to be human-readable
*.min.* binary
*.map binary
*.pack.js binary
# Treat compiled JS/CSS files as binary, as they're not meant to be human-readable
netbox/project-static/dist/*.css binary
netbox/project-static/dist/*.js binary
netbox/project-static/dist/*.js.map binary
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ body:
What version of NetBox are you currently running? (If you don't have access to the most
recent NetBox release, consider testing on our [demo instance](https://demo.netbox.dev/)
before opening a bug report to see if your issue has already been addressed.)
placeholder: v3.0.2
placeholder: v3.0.3
validations:
required: true
- type: dropdown
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ body:
attributes:
label: NetBox version
description: What version of NetBox are you currently running?
placeholder: v3.0.2
placeholder: v3.0.3
validations:
required: true
- type: dropdown
Expand Down
2 changes: 1 addition & 1 deletion docs/administration/permissions.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

NetBox v2.9 introduced a new object-based permissions framework, which replace's Django's built-in permissions model. Object-based permissions enable an administrator to grant users or groups the ability to perform an action on arbitrary subsets of objects in NetBox, rather than all objects of a certain type. For example, it is possible to grant a user permission to view only sites within a particular region, or to modify only VLANs with a numeric ID within a certain range.

{!docs/models/users/objectpermission.md!}
{!models/users/objectpermission.md!}

### Example Constraint Definitions

Expand Down
11 changes: 0 additions & 11 deletions docs/administration/replicating-netbox.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,14 +71,3 @@ To extract the saved archive into a new installation, run the following from the
```no-highlight
tar -xf netbox_media.tar.gz
```

---

## Cache Invalidation

If you are migrating your instance of NetBox to a different machine, be sure to first invalidate the cache on the original instance by issuing the `invalidate all` management command (within the Python virtual environment):

```no-highlight
# source /opt/netbox/venv/bin/activate
(venv) # python3 manage.py invalidate all
```
56 changes: 56 additions & 0 deletions docs/configuration/optional-settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -490,6 +490,14 @@ NetBox can be configured to support remote user authentication by inferring user

---

## REMOTE_AUTH_GROUP_SYNC_ENABLED

Default: `False`

NetBox can be configured to sync remote user groups by inferring user authentication from an HTTP header set by the HTTP reverse proxy (e.g. nginx or Apache). Set this to `True` to enable this functionality. (Local authentication will still take effect as a fallback.) (Requires `REMOTE_AUTH_ENABLED`.)

---

## REMOTE_AUTH_HEADER

Default: `'HTTP_REMOTE_USER'`
Expand All @@ -498,6 +506,54 @@ When remote user authentication is in use, this is the name of the HTTP header w

---

## REMOTE_AUTH_GROUP_HEADER

Default: `'HTTP_REMOTE_USER_GROUP'`

When remote user authentication is in use, this is the name of the HTTP header which informs NetBox of the currently authenticated user. For example, to use the request header `X-Remote-User-Groups` it needs to be set to `HTTP_X_REMOTE_USER_GROUPS`. (Requires `REMOTE_AUTH_ENABLED` and `REMOTE_AUTH_GROUP_SYNC_ENABLED` )

---

## REMOTE_AUTH_SUPERUSER_GROUPS

Default: `[]` (Empty list)

The list of groups that promote an remote User to Superuser on Login. If group isn't present on next Login, the Role gets revoked. (Requires `REMOTE_AUTH_ENABLED` and `REMOTE_AUTH_GROUP_SYNC_ENABLED` )

---

## REMOTE_AUTH_SUPERUSERS

Default: `[]` (Empty list)

The list of users that get promoted to Superuser on Login. If user isn't present in list on next Login, the Role gets revoked. (Requires `REMOTE_AUTH_ENABLED` and `REMOTE_AUTH_GROUP_SYNC_ENABLED` )

---

## REMOTE_AUTH_STAFF_GROUPS

Default: `[]` (Empty list)

The list of groups that promote an remote User to Staff on Login. If group isn't present on next Login, the Role gets revoked. (Requires `REMOTE_AUTH_ENABLED` and `REMOTE_AUTH_GROUP_SYNC_ENABLED` )

---

## REMOTE_AUTH_STAFF_USERS

Default: `[]` (Empty list)

The list of users that get promoted to Staff on Login. If user isn't present in list on next Login, the Role gets revoked. (Requires `REMOTE_AUTH_ENABLED` and `REMOTE_AUTH_GROUP_SYNC_ENABLED` )

---

## REMOTE_AUTH_GROUP_SEPARATOR

Default: `|` (Pipe)

The Seperator upon which `REMOTE_AUTH_GROUP_HEADER` gets split into individual Groups. This needs to be coordinated with your authentication Proxy. (Requires `REMOTE_AUTH_ENABLED` and `REMOTE_AUTH_GROUP_SYNC_ENABLED` )

---

## RELEASE_CHECK_URL

Default: None (disabled)
Expand Down
10 changes: 5 additions & 5 deletions docs/core-functionality/circuits.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Circuits

{!docs/models/circuits/provider.md!}
{!docs/models/circuits/providernetwork.md!}
{!models/circuits/provider.md!}
{!models/circuits/providernetwork.md!}

---

{!docs/models/circuits/circuit.md!}
{!docs/models/circuits/circuittype.md!}
{!docs/models/circuits/circuittermination.md!}
{!models/circuits/circuit.md!}
{!models/circuits/circuittype.md!}
{!models/circuits/circuittermination.md!}
20 changes: 10 additions & 10 deletions docs/core-functionality/device-types.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Device Types

{!docs/models/dcim/devicetype.md!}
{!docs/models/dcim/manufacturer.md!}
{!models/dcim/devicetype.md!}
{!models/dcim/manufacturer.md!}

---

Expand Down Expand Up @@ -30,11 +30,11 @@ Once component templates have been created, every new device that you create as
!!! note
Assignment of components from templates occurs only at the time of device creation. If you modify the templates of a device type, it will not affect devices which have already been created. However, you always have the option of adding, modifying, or deleting components on existing devices.

{!docs/models/dcim/consoleporttemplate.md!}
{!docs/models/dcim/consoleserverporttemplate.md!}
{!docs/models/dcim/powerporttemplate.md!}
{!docs/models/dcim/poweroutlettemplate.md!}
{!docs/models/dcim/interfacetemplate.md!}
{!docs/models/dcim/frontporttemplate.md!}
{!docs/models/dcim/rearporttemplate.md!}
{!docs/models/dcim/devicebaytemplate.md!}
{!models/dcim/consoleporttemplate.md!}
{!models/dcim/consoleserverporttemplate.md!}
{!models/dcim/powerporttemplate.md!}
{!models/dcim/poweroutlettemplate.md!}
{!models/dcim/interfacetemplate.md!}
{!models/dcim/frontporttemplate.md!}
{!models/dcim/rearporttemplate.md!}
{!models/dcim/devicebaytemplate.md!}
28 changes: 14 additions & 14 deletions docs/core-functionality/devices.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
# Devices and Cabling

{!docs/models/dcim/device.md!}
{!docs/models/dcim/devicerole.md!}
{!docs/models/dcim/platform.md!}
{!models/dcim/device.md!}
{!models/dcim/devicerole.md!}
{!models/dcim/platform.md!}

---

## Device Components

Device components represent discrete objects within a device which are used to terminate cables, house child devices, or track resources.

{!docs/models/dcim/consoleport.md!}
{!docs/models/dcim/consoleserverport.md!}
{!docs/models/dcim/powerport.md!}
{!docs/models/dcim/poweroutlet.md!}
{!docs/models/dcim/interface.md!}
{!docs/models/dcim/frontport.md!}
{!docs/models/dcim/rearport.md!}
{!docs/models/dcim/devicebay.md!}
{!docs/models/dcim/inventoryitem.md!}
{!models/dcim/consoleport.md!}
{!models/dcim/consoleserverport.md!}
{!models/dcim/powerport.md!}
{!models/dcim/poweroutlet.md!}
{!models/dcim/interface.md!}
{!models/dcim/frontport.md!}
{!models/dcim/rearport.md!}
{!models/dcim/devicebay.md!}
{!models/dcim/inventoryitem.md!}

---

{!docs/models/dcim/virtualchassis.md!}
{!models/dcim/virtualchassis.md!}

---

{!docs/models/dcim/cable.md!}
{!models/dcim/cable.md!}
16 changes: 8 additions & 8 deletions docs/core-functionality/ipam.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
# IP Address Management

{!docs/models/ipam/aggregate.md!}
{!docs/models/ipam/rir.md!}
{!models/ipam/aggregate.md!}
{!models/ipam/rir.md!}

---

{!docs/models/ipam/prefix.md!}
{!docs/models/ipam/role.md!}
{!models/ipam/prefix.md!}
{!models/ipam/role.md!}

---

{!docs/models/ipam/iprange.md!}
{!docs/models/ipam/ipaddress.md!}
{!models/ipam/iprange.md!}
{!models/ipam/ipaddress.md!}

---

{!docs/models/ipam/vrf.md!}
{!docs/models/ipam/routetarget.md!}
{!models/ipam/vrf.md!}
{!models/ipam/routetarget.md!}
6 changes: 3 additions & 3 deletions docs/core-functionality/power.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Power Tracking

{!docs/models/dcim/powerpanel.md!}
{!docs/models/dcim/powerfeed.md!}
{!models/dcim/powerpanel.md!}
{!models/dcim/powerfeed.md!}

# Example Power Topology

![Power distribution model](../../media/power_distribution.png)
![Power distribution model](/media/power_distribution.png)
2 changes: 1 addition & 1 deletion docs/core-functionality/services.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Service Mapping

{!docs/models/ipam/service.md!}
{!models/ipam/service.md!}
14 changes: 7 additions & 7 deletions docs/core-functionality/sites-and-racks.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Sites and Racks

{!docs/models/dcim/region.md!}
{!docs/models/dcim/sitegroup.md!}
{!docs/models/dcim/site.md!}
{!docs/models/dcim/location.md!}
{!models/dcim/region.md!}
{!models/dcim/sitegroup.md!}
{!models/dcim/site.md!}
{!models/dcim/location.md!}

---

{!docs/models/dcim/rack.md!}
{!docs/models/dcim/rackrole.md!}
{!docs/models/dcim/rackreservation.md!}
{!models/dcim/rack.md!}
{!models/dcim/rackrole.md!}
{!models/dcim/rackreservation.md!}
4 changes: 2 additions & 2 deletions docs/core-functionality/tenancy.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Tenancy Assignment

{!docs/models/tenancy/tenant.md!}
{!docs/models/tenancy/tenantgroup.md!}
{!models/tenancy/tenant.md!}
{!models/tenancy/tenantgroup.md!}
10 changes: 5 additions & 5 deletions docs/core-functionality/virtualization.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Virtualization

{!docs/models/virtualization/cluster.md!}
{!docs/models/virtualization/clustertype.md!}
{!docs/models/virtualization/clustergroup.md!}
{!models/virtualization/cluster.md!}
{!models/virtualization/clustertype.md!}
{!models/virtualization/clustergroup.md!}

---

{!docs/models/virtualization/virtualmachine.md!}
{!docs/models/virtualization/vminterface.md!}
{!models/virtualization/virtualmachine.md!}
{!models/virtualization/vminterface.md!}
4 changes: 2 additions & 2 deletions docs/core-functionality/vlans.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# VLAN Management

{!docs/models/ipam/vlan.md!}
{!docs/models/ipam/vlangroup.md!}
{!models/ipam/vlan.md!}
{!models/ipam/vlangroup.md!}
2 changes: 1 addition & 1 deletion docs/customization/custom-scripts.md
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ An IPv4 or IPv6 network with a mask. Returns a `netaddr.IPNetwork` object. Two a
!!! note
To run a custom script, a user must be assigned the `extras.run_script` permission. This is achieved by assigning the user (or group) a permission on the Script object and specifying the `run` action in the admin UI as shown below.

![Adding the run action to a permission](../../media/admin_ui_run_permission.png)
![Adding the run action to a permission](/media/admin_ui_run_permission.png)

### Via the Web UI

Expand Down
2 changes: 1 addition & 1 deletion docs/customization/reports.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ Once you have created a report, it will appear in the reports list. Initially, r
!!! note
To run a report, a user must be assigned the `extras.run_report` permission. This is achieved by assigning the user (or group) a permission on the Report object and specifying the `run` action in the admin UI as shown below.

![Adding the run action to a permission](../../media/admin_ui_run_permission.png)
![Adding the run action to a permission](/media/admin_ui_run_permission.png)

### Via the Web UI

Expand Down
4 changes: 2 additions & 2 deletions docs/graphql-api/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ curl -H "Authorization: Token $TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
http://netbox/graphql/ \
--data '{"query": "query {circuits(status:\"active\" {cid provider {name}}}"}'
--data '{"query": "query {circuit_list(status:\"active\") {cid provider {name}}}"}'
```

The response will include the requested data formatted as JSON:
Expand Down Expand Up @@ -54,7 +54,7 @@ For more detail on constructing GraphQL queries, see the [Graphene documentation
The GraphQL API employs the same filtering logic as the UI and REST API. Filters can be specified as key-value pairs within parentheses immediately following the query name. For example, the following will return only sites within the North Carolina region with a status of active:

```
{"query": "query {sites(region:\"north-carolina\", status:\"active\") {name}}"}
{"query": "query {site_list(region:\"north-carolina\", status:\"active\") {name}}"}
```

## Authentication
Expand Down
1 change: 0 additions & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ NetBox is an infrastructure resource modeling (IRM) application designed to empo
* **Connections** - Network, console, and power connections among devices
* **Virtualization** - Virtual machines and clusters
* **Data circuits** - Long-haul communications circuits and providers
* **Secrets** - Encrypted storage of sensitive credentials

## What NetBox Is Not

Expand Down
2 changes: 1 addition & 1 deletion docs/installation/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ The following sections detail how to set up a new instance of NetBox:

The video below demonstrates the installation of NetBox v2.10.3 on Ubuntu 20.04 for your reference.

<iframe width="560" height="315" src="https://www.youtube.com/embed/dFANGlxXEng" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/7Fpd2-q9_28" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

## Requirements

Expand Down
2 changes: 1 addition & 1 deletion docs/models/dcim/cable.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ A cable may be traced from either of its endpoints by clicking the "trace" butto

In the example below, three individual cables comprise a path between devices A and D:

![Cable path](../../media/models/dcim_cable_trace.png)
![Cable path](/media/models/dcim_cable_trace.png)

Traced from Interface 1 on Device A, NetBox will show the following path:

Expand Down
Loading