Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
69a1cc8
Closes #8998: Add site group filter to racks
minitriga Apr 15, 2022
bc2491e
Closes #8894: Add first and last name to APISelect widget if set
minitriga Apr 15, 2022
152d5a3
PRVB
jeremystretch Apr 28, 2022
7b5625a
Add management command for clearing cache
Apr 29, 2022
9f3846e
Clear the cache when running the upgrade script
Apr 29, 2022
3fb967b
Add ability to adopt components when adding a module
kkthxbye-code Apr 30, 2022
30d4097
Fix early terminated tuple in IPAddressRoleChoices
May 2, 2022
f6402a8
Merge pull request #9275 from kkthxbye-code/fix-9267
jeremystretch May 2, 2022
c2a6a1c
Create module components in bulk
kkthxbye-code May 2, 2022
977ccb0
Formatting: Remove whitespace on blank line
kkthxbye-code May 2, 2022
25c266e
Update netbox/users/api/nested_serializers.py
minitriga May 3, 2022
535606a
Update netbox/users/api/nested_serializers.py
minitriga May 3, 2022
0a9ba3b
add get_display to users serializer
minitriga May 3, 2022
15e9190
Update netbox/dcim/forms/filtersets.py
minitriga May 3, 2022
7cd8406
Update netbox/dcim/forms/filtersets.py
minitriga May 3, 2022
8040804
Allow mixture of component replication and adoption
kkthxbye-code May 3, 2022
bdaefc0
Closes #9278: Linkify device type in manufacturer table
huntabyte May 3, 2022
f455f91
Add view test for module component adoption
May 4, 2022
7de27c6
Fix PEP8
May 4, 2022
502a14e
Merge pull request #9288 from huntabyte/develop
jeremystretch May 4, 2022
eab187f
Changelog for #9267, #9278
jeremystretch May 4, 2022
b172ae6
Merge pull request #9256 from kkthxbye-code/fix-9122
jeremystretch May 4, 2022
52b1839
Merge pull request #9150 from minitriga/issue_8894
jeremystretch May 4, 2022
c2fe2ba
Merge pull request #9147 from minitriga/issue_8998
jeremystretch May 4, 2022
da1aabd
Changelog for #8894, #8998, #9122; PEP8 fix
jeremystretch May 4, 2022
015bc48
#8998: Add region filter for rack reservations; Add filter tests
jeremystretch May 4, 2022
0301aec
Closes #9260: Apply user preferences to tables under object detail views
jeremystretch May 4, 2022
81c7fe2
Don't adopt components already belonging to a module
kkthxbye-code May 4, 2022
c52aa21
Prefetch installed components when adding modules
kkthxbye-code May 4, 2022
9c3dfdf
Fix test_module_component_adoption
kkthxbye-code May 5, 2022
e9bf6a7
Merge pull request #9281 from kkthxbye-code/adopt-module-component
jeremystretch May 5, 2022
bddca8e
Changelog for #9280
jeremystretch May 5, 2022
1358469
Remove stray characters from Config Context tab
May 6, 2022
a06a280
Merge pull request #9312 from kkthxbye-code/fix-9310
kkthxbye-code May 6, 2022
422ec7e
Fixes #9311: Permit creating contact assignment without a priority vi…
jeremystretch May 6, 2022
9b4e016
Fixes #9306: Include VC master interfaces when selecting a LAG/bridge…
jeremystretch May 6, 2022
39a9eba
Fixes #9313: Remove HTML code from CSV output of many-to-many relatio…
jeremystretch May 6, 2022
af126fe
Added form validation to model installation
kkthxbye-code May 10, 2022
d858ece
Fix pep8
kkthxbye-code May 10, 2022
e759e12
Fixes #9333: Annotate unit on interface speed field
jeremystretch May 11, 2022
bdb21da
Fixes #9330: Add missing module_type field to REST API serializers fo…
jeremystretch May 11, 2022
22f1863
Add security document
jeremystretch May 11, 2022
3dda7e2
Merge pull request #9331 from kkthxbye-code/fix-9001
jeremystretch May 11, 2022
cffc064
Add device & vm to `FHRPGroupAssignmentFilterSet` (#9314)
devon-mar May 11, 2022
e857549
Changelog for #9190, #9314
jeremystretch May 11, 2022
1726593
Introduce MODULE_TOKEN constant
jeremystretch May 11, 2022
6f5c2f1
Enable & document Sentry integration
jeremystretch May 11, 2022
c146596
Implement a custom 404 handler to enable Sentry reporting
jeremystretch May 11, 2022
312d6c8
Add sentry-sdk as a dependency
jeremystretch May 11, 2022
8cc9468
Merge pull request #9342 from netbox-community/9340-sentry
jeremystretch May 11, 2022
9919506
Add Sentry as a sponsor
jeremystretch May 11, 2022
4cefe26
#9340: Add default Sentry DSN
jeremystretch May 12, 2022
72b2ab0
#9340: Introduce config parameters for Sentry sampling rates
jeremystretch May 12, 2022
c4c93ee
Closes #9343: Add Ubiquiti SmartPower power outlet type
jeremystretch May 12, 2022
3790377
Fixes #9296: Improve Markdown link sanitization
jeremystretch May 12, 2022
ad12ad4
Closes #9221: Add definition list support for Markdown
jeremystretch May 12, 2022
5f3695d
Closes #8805: Add "mixed" option for device airflow indication
jeremystretch May 12, 2022
a6aec9e
Release v3.2.3
jeremystretch May 12, 2022
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
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.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.2.2
placeholder: v3.2.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.2.2
placeholder: v3.2.3
validations:
required: true
- type: dropdown
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ The complete documentation for NetBox can be found at [docs.netbox.dev](https://
          
[![NS1](https://raw.githubusercontent.com/wiki/netbox-community/netbox/images/sponsors/ns1.png)](https://ns1.com/)
<br />
[![Sentry](https://raw.githubusercontent.com/wiki/netbox-community/netbox/images/sponsors/sentry.png)](https://sentry.io/)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
[![Stellar Technologies](https://raw.githubusercontent.com/wiki/netbox-community/netbox/images/sponsors/stellar.png)](https://stellar.tech/)

</div>
Expand Down
31 changes: 31 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Security Policy

## No Warranty

Per the terms of the Apache 2 license, NetBox is offered "as is" and without any guarantee or warranty pertaining to its operation. While every reasonable effort is made by its maintainers to ensure the product remains free of security vulnerabilities, users are ultimately responsible for conducting their own evaluations of each software release.

## Recommendations

Administrators are encouraged to adhere to industry best practices concerning the secure operation of software, such as:

* Do not expose your NetBox installation to the public Internet
* Do not permit multiple users to share an account
* Enforce minimum password complexity requirements for local accounts
* Prohibit access to your database from clients other than the NetBox application
* Keep your deployment updated to the most recent stable release

## Reporting a Suspected Vulnerability

If you believe you've uncovered a security vulnerability and wish to report it confidentially, you may do so via email. Please note that any reported vulnerabilities **MUST** meet all the following conditions:

* Affects the most recent stable release of NetBox, or a current beta release
* Affects a NetBox instance installed and configured per the official documentation
* Is reproducible following a prescribed set of instructions

Please note that we **DO NOT** accept reports generated by automated tooling which merely suggest that a file or file(s) _may_ be vulnerable under certain conditions, as these are most often innocuous.

If you believe that you've found a vulnerability which meets all of these conditions, please email a brief description of the suspected bug and instructions for reproduction to **[email protected]**. For any security concerns regarding NetBox deployed via Docker, please see the [netbox-docker](https://github.com/netbox-community/netbox-docker) project.

### Bug Bounties

As NetBox is provided as free open source software, we do not offer any monetary compensation for vulnerability or bug reports, however your contributions are greatly appreciated.
4 changes: 4 additions & 0 deletions base_requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,10 @@ psycopg2-binary
# https://github.com/yaml/pyyaml
PyYAML

# Sentry SDK
# https://github.com/getsentry/sentry-python
sentry-sdk

# Social authentication framework
# https://github.com/python-social-auth/social-core
social-auth-core
Expand Down
46 changes: 46 additions & 0 deletions docs/administration/error-reporting.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Error Reporting

## Sentry

### Enabling Error Reporting

NetBox v3.2.3 and later support native integration with [Sentry](https://sentry.io/) for automatic error reporting. To enable this functionality, simply set `SENTRY_ENABLED` to True in `configuration.py`. Errors will be sent to a Sentry ingestor maintained by the NetBox team for analysis.

```python
SENTRY_ENABLED = True
```

### Using a Custom DSN

If you prefer instead to use your own Sentry ingestor, you'll need to first create a new project under your Sentry account to represent your NetBox deployment and obtain its corresponding data source name (DSN). This looks like a URL similar to the example below:

```
https://[email protected]/0
```

Once you have obtained a DSN, configure Sentry in NetBox's `configuration.py` file with the following parameters:

```python
SENTRY_ENABLED = True
SENTRY_DSN = "https://[email protected]/0"
```

### Assigning Tags

You can optionally attach one or more arbitrary tags to the outgoing error reports if desired by setting the `SENTRY_TAGS` parameter:

```python
SENTRY_TAGS = {
"custom.foo": "123",
"custom.bar": "abc",
}
```

!!! warning "Reserved tag prefixes"
Avoid using any tag names which begin with `netbox.`, as this prefix is reserved by the NetBox application.

### Testing

Once the configuration has been saved, restart the NetBox service.

To test Sentry operation, try generating a 404 (page not found) error by navigating to an invalid URL, such as `https://netbox/404-error-testing`. (Be sure that debug mode has been disabled.) After receiving a 404 response from the NetBox server, you should see the issue appear shortly in Sentry.
54 changes: 54 additions & 0 deletions docs/configuration/error-reporting.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Error Reporting Settings

## SENTRY_DSN

Default: None

Defines a Sentry data source name (DSN) for automated error reporting. `SENTRY_ENABLED` must be True for this parameter to take effect. For example:

```
SENTRY_DSN = "https://[email protected]/0"
```

---

## SENTRY_ENABLED

Default: False

Set to True to enable automatic error reporting via [Sentry](https://sentry.io/).

---

## SENTRY_SAMPLE_RATE

Default: 1.0 (all)

The sampling rate for errors. Must be a value between 0 (disabled) and 1.0 (report on all errors).

---

## SENTRY_TAGS

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

```
SENTRY_TAGS = {
"custom.foo": "123",
"custom.bar": "abc",
}
```

!!! warning "Reserved tag prefixes"
Avoid using any tag names which begin with `netbox.`, as this prefix is reserved by the NetBox application.

---

## SENTRY_TRACES_SAMPLE_RATE

Default: 0 (disabled)

The sampling rate for transactions. Must be a value between 0 (disabled) and 1.0 (report on all transactions).

!!! warning "Consider performance implications"
A high sampling rate for transactions can induce significant performance penalties. If transaction reporting is desired, it is recommended to use a relatively low sample rate of 10% to 20% (0.1 to 0.2).
28 changes: 28 additions & 0 deletions docs/release-notes/version-3.2.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,33 @@
# NetBox v3.2

## v3.2.3 (2022-05-12)

### Enhancements

* [#8805](https://github.com/netbox-community/netbox/issues/8805) - Add "mixed" option for device airflow indication
* [#8894](https://github.com/netbox-community/netbox/issues/8894) - Include full names when listing users
* [#8998](https://github.com/netbox-community/netbox/issues/8998) - Enable filtering racks & reservations by site group
* [#9122](https://github.com/netbox-community/netbox/issues/9122) - Introduce `clearcache` management command & clear cache during upgrade
* [#9221](https://github.com/netbox-community/netbox/issues/9221) - Add definition list support for Markdown
* [#9260](https://github.com/netbox-community/netbox/issues/9260) - Apply user preferences to tables under object detail views
* [#9278](https://github.com/netbox-community/netbox/issues/9278) - Linkify device types count under manufacturers list
* [#9280](https://github.com/netbox-community/netbox/issues/9280) - Allow adopting existing components when installing a module
* [#9314](https://github.com/netbox-community/netbox/issues/9314) - Add device and VM filters for FHRP group assignments
* [#9340](https://github.com/netbox-community/netbox/issues/9340) - Introduce support for error reporting via Sentry
* [#9343](https://github.com/netbox-community/netbox/issues/9343) - Add Ubiquiti SmartPower power outlet type

### Bug Fixes

* [#9190](https://github.com/netbox-community/netbox/issues/9190) - Prevent exception when attempting to instantiate module components which already exist on the parent device
* [#9267](https://github.com/netbox-community/netbox/issues/9267) - Remove invalid entry in IP address role choices
* [#9296](https://github.com/netbox-community/netbox/issues/9296) - Improve Markdown link sanitization
* [#9306](https://github.com/netbox-community/netbox/issues/9306) - Include VC master interfaces when selecting a LAG/bridge for a VC member interface
* [#9311](https://github.com/netbox-community/netbox/issues/9311) - Permit creating contact assignment without a priority via the REST API
* [#9313](https://github.com/netbox-community/netbox/issues/9313) - Remove HTML code from CSV output of many-to-many relationships
* [#9330](https://github.com/netbox-community/netbox/issues/9330) - Add missing `module_type` field to REST API serializers for modular device component templates

---

## v3.2.2 (2022-04-28)

### Enhancements
Expand Down
2 changes: 2 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ nav:
- Required Settings: 'configuration/required-settings.md'
- Optional Settings: 'configuration/optional-settings.md'
- Dynamic Settings: 'configuration/dynamic-settings.md'
- Error Reporting: 'configuration/error-reporting.md'
- Remote Authentication: 'configuration/remote-authentication.md'
- Core Functionality:
- IP Address Management: 'core-functionality/ipam.md'
Expand Down Expand Up @@ -123,6 +124,7 @@ nav:
- Microsoft Azure AD: 'administration/authentication/microsoft-azure-ad.md'
- Okta: 'administration/authentication/okta.md'
- Permissions: 'administration/permissions.md'
- Error Reporting: 'administration/error-reporting.md'
- Housekeeping: 'administration/housekeeping.md'
- Replicating NetBox: 'administration/replicating-netbox.md'
- NetBox Shell: 'administration/netbox-shell.md'
Expand Down
2 changes: 1 addition & 1 deletion netbox/circuits/tables/circuits.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ class CircuitTable(NetBoxTable):
)
commit_rate = CommitRateColumn()
comments = columns.MarkdownColumn()
contacts = tables.ManyToManyColumn(
contacts = columns.ManyToManyColumn(
linkify_item=True
)
tags = columns.TagColumn(
Expand Down
4 changes: 2 additions & 2 deletions netbox/circuits/tables/providers.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class ProviderTable(NetBoxTable):
name = tables.Column(
linkify=True
)
asns = tables.ManyToManyColumn(
asns = columns.ManyToManyColumn(
linkify_item=True,
verbose_name='ASNs'
)
Expand All @@ -31,7 +31,7 @@ class ProviderTable(NetBoxTable):
verbose_name='Circuits'
)
comments = columns.MarkdownColumn()
contacts = tables.ManyToManyColumn(
contacts = columns.ManyToManyColumn(
linkify_item=True
)
tags = columns.TagColumn(
Expand Down
6 changes: 3 additions & 3 deletions netbox/circuits/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ def get_extra_context(self, request, instance):
).prefetch_related(
'type', 'tenant', 'terminations__site'
)
circuits_table = tables.CircuitTable(circuits, exclude=('provider',))
circuits_table = tables.CircuitTable(circuits, user=request.user, exclude=('provider',))
circuits_table.configure(request)

return {
Expand Down Expand Up @@ -93,7 +93,7 @@ def get_extra_context(self, request, instance):
).prefetch_related(
'type', 'tenant', 'terminations__site'
)
circuits_table = tables.CircuitTable(circuits)
circuits_table = tables.CircuitTable(circuits, user=request.user)
circuits_table.configure(request)

return {
Expand Down Expand Up @@ -147,7 +147,7 @@ class CircuitTypeView(generic.ObjectView):

def get_extra_context(self, request, instance):
circuits = Circuit.objects.restrict(request.user, 'view').filter(type=instance)
circuits_table = tables.CircuitTable(circuits, exclude=('type',))
circuits_table = tables.CircuitTable(circuits, user=request.user, exclude=('type',))
circuits_table.configure(request)

return {
Expand Down
Loading