Skip to content

Commit 3f67b5d

Browse files
authored
Merge pull request #16859 from netbox-community/develop
Release v4.0.7
2 parents b1d1b51 + 596514c commit 3f67b5d

File tree

61 files changed

+12169
-11141
lines changed

Some content is hidden

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

61 files changed

+12169
-11141
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: v4.0.6
29+
placeholder: v4.0.7
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: v4.0.6
17+
placeholder: v4.0.7
1818
validations:
1919
required: true
2020
- type: dropdown

docs/configuration/error-reporting.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,17 @@ The sampling rate for errors. Must be a value between 0 (disabled) and 1.0 (repo
3131

3232
---
3333

34+
## SENTRY_SEND_DEFAULT_PII
35+
36+
Default: False
37+
38+
Maps to the Sentry SDK's [`send_default_pii`](https://docs.sentry.io/platforms/python/configuration/options/#send-default-pii) parameter. If enabled, certain personally identifiable information (PII) is added.
39+
40+
!!! warning "Sensitive data"
41+
If you enable this option, be aware that sensitive data such as cookies and authentication tokens will be logged.
42+
43+
---
44+
3445
## SENTRY_TAGS
3546

3647
An optional dictionary of tag names and values to apply to Sentry error reports.For example:

docs/configuration/system.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ The dotted path to the desired search backend class. `CachedValueSearchBackend`
177177

178178
Default: None (local storage)
179179

180-
The backend storage engine for handling uploaded files (e.g. image attachments). NetBox supports integration with the [`django-storages`](https://django-storages.readthedocs.io/en/stable/) package, which provides backends for several popular file storage services. If not configured, local filesystem storage will be used.
180+
The backend storage engine for handling uploaded files (e.g. image attachments). NetBox supports integration with the [`django-storages`](https://django-storages.readthedocs.io/en/stable/) and [`django-storage-swift`](https://github.com/dennisv/django-storage-swift) packages, which provide backends for several popular file storage services. If not configured, local filesystem storage will be used.
181181

182182
The configuration parameters for the specified storage backend are defined under the `STORAGE_CONFIG` setting.
183183

@@ -187,7 +187,7 @@ The configuration parameters for the specified storage backend are defined under
187187

188188
Default: Empty
189189

190-
A dictionary of configuration parameters for the storage backend configured as `STORAGE_BACKEND`. The specific parameters to be used here are specific to each backend; see the [`django-storages` documentation](https://django-storages.readthedocs.io/en/stable/) for more detail.
190+
A dictionary of configuration parameters for the storage backend configured as `STORAGE_BACKEND`. The specific parameters to be used here are specific to each backend; see the documentation for your selected backend ([`django-storages`](https://django-storages.readthedocs.io/en/stable/) or [`django-storage-swift`](https://github.com/dennisv/django-storage-swift)) for more detail.
191191

192192
If `STORAGE_BACKEND` is not defined, this setting will be ignored.
193193

docs/development/release-checklist.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,4 +135,6 @@ First, run the `build-site` action, by navigating to Actions > build-site > Run
135135

136136
Once the documentation files have been compiled, they must be published by running the `deploy-kinsta` action. Select the desired deployment environment (staging or production) and specify `latest` as the deploy tag.
137137

138+
Clear the CDN cache from the [Kinsta](https://my.kinsta.com/) portal. Navigate to _Sites_ / _NetBox Labs_ / _Live_, select _CDN_ in the left-nav, click the _Clear CDN cache_ button, and confirm the clear operation.
139+
138140
Finally, verify that the documentation at <https://netboxlabs.com/docs/netbox/en/stable/> has been updated.

docs/plugins/removal.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,19 @@ DROP TABLE
7070
netbox=> DROP TABLE pluginname_bar;
7171
DROP TABLE
7272
```
73+
74+
### Remove the Django Migration Records
75+
76+
After removing the tables created by a plugin, the migrations that created the tables need to be removed from Django's migration history as well. This is necessary to make it possible to reinstall the plugin at a later time. If the migration history were left in place, Django would skip all migrations that were executed in the course of a previous installation, which would cause the plugin to fail after reinstallation.
77+
78+
```no-highlight
79+
netbox=> SELECT * FROM django_migrations WHERE app='pluginname';
80+
id | app | name | applied
81+
-----+------------+------------------------+-------------------------------
82+
492 | pluginname | 0001_initial | 2023-12-21 11:59:59.325995+00
83+
493 | pluginname | 0002_add_foo | 2023-12-21 11:59:59.330026+00
84+
netbox=> DELETE FROM django_migrations WHERE app='pluginname';
85+
```
86+
87+
!!! warning
88+
Exercise extreme caution when altering Django system tables. Users are strongly encouraged to perform a backup of their database immediately before taking these actions.

docs/release-notes/version-4.0.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,41 @@
11
# NetBox v4.0
22

3+
## v4.0.7 (2024-07-09)
4+
5+
### Enhancements
6+
7+
* [#14554](https://github.com/netbox-community/netbox/issues/14554) - Add support for [django-storage-swift](https://github.com/dennisv/django-storage-swift) storage backend
8+
* [#16424](https://github.com/netbox-community/netbox/issues/16424) - Enable filtering of devices by cluster and cluster group
9+
* [#16716](https://github.com/netbox-community/netbox/issues/16716) - Display NAT address (if any) for OOB IP address under device view
10+
* [#16725](https://github.com/netbox-community/netbox/issues/16725) - Always position the admin section last in the navigation menu
11+
* [#16791](https://github.com/netbox-community/netbox/issues/16791) - Add 200 & 400 Gbps selections for circuit termination port speed
12+
* [#16802](https://github.com/netbox-community/netbox/issues/16802) - Introduce `SENTRY_SEND_DEFAULT_PII` configuration parameter and disable PII export by default
13+
* [#16817](https://github.com/netbox-community/netbox/issues/16817) - Add 200 & 400 Gbps selections for circuit commit rate
14+
15+
### Bug Fixes
16+
17+
* [#16523](https://github.com/netbox-community/netbox/issues/16523) - Restore highlighting of current device in virtual chassis members panel
18+
* [#16654](https://github.com/netbox-community/netbox/issues/16654) - Fix parent item assignment for inventory item bulk import
19+
* [#16657](https://github.com/netbox-community/netbox/issues/16657) - Fix translation of object types in global search
20+
* [#16679](https://github.com/netbox-community/netbox/issues/16679) - Avoid overwriting custom JSON fields during bulk edit
21+
* [#16689](https://github.com/netbox-community/netbox/issues/16689) - System configuration view should reflect static parameters when no config revisions exist
22+
* [#16714](https://github.com/netbox-community/netbox/issues/16714) - Fix cloning of device types with 0U height
23+
* [#16721](https://github.com/netbox-community/netbox/issues/16721) - Fix errant API request after deselecting a rack in device edit form
24+
* [#16723](https://github.com/netbox-community/netbox/issues/16723) - Fix escaping of path to virtual environment in `upgrade.sh`
25+
* [#16735](https://github.com/netbox-community/netbox/issues/16735) - Object list "results" tab should show a count of zero when empty
26+
* [#16747](https://github.com/netbox-community/netbox/issues/16747) - Avoid clearing entire search cache when manually reindexing specific apps/models
27+
* [#16758](https://github.com/netbox-community/netbox/issues/16758) - Ensure manually selected lagnuage persists across browser sessions
28+
* [#16779](https://github.com/netbox-community/netbox/issues/16779) - Fix saved filter selection for child object lists
29+
* [#16780](https://github.com/netbox-community/netbox/issues/16780) - IKE proposal created via REST API should not require authentication_algorithm
30+
* [#16796](https://github.com/netbox-community/netbox/issues/16796) - Allow assignment of VM with no site to a cluster with a site
31+
* [#16806](https://github.com/netbox-community/netbox/issues/16806) - Fix redirect URL when creating contact assignments with "add another" button
32+
* [#16807](https://github.com/netbox-community/netbox/issues/16807) - Fix layout of VLAN edit form when custom fields are present
33+
* [#16808](https://github.com/netbox-community/netbox/issues/16808) - Fix event rule triggering in scenario where objects are updated immediately prior to deletion
34+
* [#16813](https://github.com/netbox-community/netbox/issues/16813) - Fix AttributeError exception when filtering bookmarks in dashboard widget by object type
35+
* [#16843](https://github.com/netbox-community/netbox/issues/16843) - Permit creation of IKE policies via REST API without specifying an IKE mode
36+
37+
---
38+
339
## v4.0.6 (2024-06-24)
440

541
### Enhancements

netbox/account/views.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ def post(self, request):
111111

112112
# Set the user's preferred language (if any)
113113
if language := request.user.config.get('locale.language'):
114-
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, language)
114+
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, language, max_age=request.session.get_expiry_age())
115115

116116
return response
117117

@@ -206,7 +206,7 @@ def post(self, request):
206206

207207
# Set/clear language cookie
208208
if language := form.cleaned_data['locale.language']:
209-
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, language)
209+
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, language, max_age=request.session.get_expiry_age())
210210
else:
211211
response.delete_cookie(settings.LANGUAGE_COOKIE_NAME)
212212

netbox/circuits/choices.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ class CircuitCommitRateChoices(ChoiceSet):
3838
(25000000, '25 Gbps'),
3939
(40000000, '40 Gbps'),
4040
(100000000, '100 Gbps'),
41+
(200000000, '200 Gbps'),
42+
(400000000, '400 Gbps'),
4143
(1544, 'T1 (1.544 Mbps)'),
4244
(2048, 'E1 (2.048 Mbps)'),
4345
]
@@ -69,6 +71,8 @@ class CircuitTerminationPortSpeedChoices(ChoiceSet):
6971
(25000000, '25 Gbps'),
7072
(40000000, '40 Gbps'),
7173
(100000000, '100 Gbps'),
74+
(200000000, '200 Gbps'),
75+
(400000000, '400 Gbps'),
7276
(1544, 'T1 (1.544 Mbps)'),
7377
(2048, 'E1 (2.048 Mbps)'),
7478
]

netbox/circuits/forms/bulk_import.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,6 @@ class CircuitTypeImportForm(NetBoxModelImportForm):
6666
class Meta:
6767
model = CircuitType
6868
fields = ('name', 'slug', 'color', 'description', 'tags')
69-
help_texts = {
70-
'color': mark_safe(_('RGB color in hexadecimal. Example:') + ' <code>00ff00</code>'),
71-
}
7269

7370

7471
class CircuitImportForm(NetBoxModelImportForm):

0 commit comments

Comments
 (0)