Skip to content

Commit d9c6609

Browse files
Merge pull request #7437 from netbox-community/develop
Release v3.0.5
2 parents 84d83fb + 339bcb8 commit d9c6609

File tree

44 files changed

+337
-287
lines changed

Some content is hidden

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

44 files changed

+337
-287
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.4
20+
placeholder: v3.0.5
2121
validations:
2222
required: true
2323
- 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.0.4
17+
placeholder: v3.0.5
1818
validations:
1919
required: true
2020
- type: dropdown

docs/customization/custom-scripts.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,20 @@ Defining script variables is optional: You may create a script with only a `run(
4545

4646
Any output generated by the script during its execution will be displayed under the "output" tab in the UI.
4747

48+
By default, scripts within a module are ordered alphabetically in the scripts list page. To return scripts in a specific order, you can define the `script_order` variable at the end of your module. The `script_order` variable is a tuple which contains each Script class in the desired order. Any scripts that are omitted from this list will be listed last.
49+
50+
```python
51+
from extras.scripts import Script
52+
53+
class MyCustomScript(Script):
54+
...
55+
56+
class AnotherCustomScript(Script):
57+
...
58+
59+
script_order = (MyCustomScript, AnotherCustomScript)
60+
```
61+
4862
## Module Attributes
4963

5064
### `name`

docs/installation/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ The following sections detail how to set up a new instance of NetBox:
1111
5. [HTTP server](5-http-server.md)
1212
6. [LDAP authentication](6-ldap.md) (optional)
1313

14-
The video below demonstrates the installation of NetBox v2.10.3 on Ubuntu 20.04 for your reference.
14+
The video below demonstrates the installation of NetBox v3.0 on Ubuntu 20.04 for your reference.
1515

1616
<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>
1717

docs/release-notes/version-3.0.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,31 @@
11
# NetBox v3.0
22

3+
## v3.0.5 (2021-10-04)
4+
5+
### Enhancements
6+
7+
* [#5925](https://github.com/netbox-community/netbox/issues/5925) - Always show IP addresses tab under prefix view
8+
* [#6423](https://github.com/netbox-community/netbox/issues/6423) - Cache rendered REST API specifications
9+
* [#6708](https://github.com/netbox-community/netbox/issues/6708) - Add image attachment support for circuits, power panels
10+
* [#7387](https://github.com/netbox-community/netbox/issues/7387) - Enable arbitrary ordering of custom scripts
11+
* [#7427](https://github.com/netbox-community/netbox/issues/7427) - Don't select hidden rows when selecting all in a table
12+
13+
### Bug Fixes
14+
15+
* [#6433](https://github.com/netbox-community/netbox/issues/6433) - Fix bulk editing of child prefixes under aggregate view
16+
* [#6817](https://github.com/netbox-community/netbox/issues/6817) - Custom field columns should be removed from tables upon their deletion
17+
* [#6895](https://github.com/netbox-community/netbox/issues/6895) - Remove errant markup for null values in CSV export
18+
* [#7215](https://github.com/netbox-community/netbox/issues/7215) - Prevent rack elevations from overlapping when higher width is specified
19+
* [#7373](https://github.com/netbox-community/netbox/issues/7373) - Fix flashing when server, client, and browser color-mode preferences are mismatched
20+
* [#7397](https://github.com/netbox-community/netbox/issues/7397) - Fix AttributeError exception when rendering export template for devices via REST API
21+
* [#7401](https://github.com/netbox-community/netbox/issues/7401) - Pin `jsonschema` package to v3.2.0 to fix REST API docs rendering
22+
* [#7411](https://github.com/netbox-community/netbox/issues/7411) - Fix exception in UI when adding member devices to virtual chassis
23+
* [#7412](https://github.com/netbox-community/netbox/issues/7412) - Fix exception in UI when adding child device to device bay
24+
* [#7417](https://github.com/netbox-community/netbox/issues/7417) - Prevent exception when filtering objects list by invalid tag
25+
* [#7425](https://github.com/netbox-community/netbox/issues/7425) - Housekeeping command should honor zero verbosity
26+
27+
---
28+
329
## v3.0.4 (2021-09-29)
430

531
### Enhancements
@@ -30,6 +56,8 @@
3056
* [#7374](https://github.com/netbox-community/netbox/issues/7374) - Add missing `face` parameter to API elevations request when editing device
3157
* [#7392](https://github.com/netbox-community/netbox/issues/7392) - Fix "help" links for custom fields, other models
3258

59+
---
60+
3361
## v3.0.3 (2021-09-20)
3462

3563
### Enhancements

netbox/circuits/models.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from django.contrib.contenttypes.fields import GenericRelation
12
from django.core.exceptions import ValidationError
23
from django.db import models
34
from django.urls import reverse
@@ -202,6 +203,9 @@ class Circuit(PrimaryModel):
202203
comments = models.TextField(
203204
blank=True
204205
)
206+
images = GenericRelation(
207+
to='extras.ImageAttachment'
208+
)
205209

206210
# Cache associated CircuitTerminations
207211
termination_a = models.ForeignKey(

netbox/dcim/forms/models.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
'LocationForm',
3939
'ManufacturerForm',
4040
'PlatformForm',
41+
'PopulateDeviceBayForm',
4142
'PowerFeedForm',
4243
'PowerOutletForm',
4344
'PowerOutletTemplateForm',
@@ -52,6 +53,7 @@
5253
'RegionForm',
5354
'SiteForm',
5455
'SiteGroupForm',
56+
'VCMemberSelectForm',
5557
'VirtualChassisForm',
5658
)
5759

netbox/dcim/models/power.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from django.contrib.contenttypes.fields import GenericRelation
12
from django.core.exceptions import ValidationError
23
from django.core.validators import MaxValueValidator, MinValueValidator
34
from django.db import models
@@ -39,6 +40,9 @@ class PowerPanel(PrimaryModel):
3940
name = models.CharField(
4041
max_length=100
4142
)
43+
images = GenericRelation(
44+
to='extras.ImageAttachment'
45+
)
4246

4347
objects = RestrictedQuerySet.as_manager()
4448

netbox/dcim/tables/cables.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from django_tables2.utils import Accessor
33

44
from dcim.models import Cable
5-
from utilities.tables import BaseTable, ChoiceFieldColumn, ColorColumn, TagColumn, ToggleColumn
5+
from utilities.tables import BaseTable, ChoiceFieldColumn, ColorColumn, TagColumn, TemplateColumn, ToggleColumn
66
from .template_code import CABLE_LENGTH, CABLE_TERMINATION_PARENT
77

88
__all__ = (
@@ -45,7 +45,7 @@ class CableTable(BaseTable):
4545
verbose_name='Termination B'
4646
)
4747
status = ChoiceFieldColumn()
48-
length = tables.TemplateColumn(
48+
length = TemplateColumn(
4949
template_code=CABLE_LENGTH,
5050
order_by='_abs_length'
5151
)

netbox/dcim/tables/devices.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from tenancy.tables import TenantColumn
1010
from utilities.tables import (
1111
BaseTable, BooleanColumn, ButtonsColumn, ChoiceFieldColumn, ColorColumn, ColoredLabelColumn, LinkedCountColumn,
12-
MarkdownColumn, TagColumn, ToggleColumn,
12+
MarkdownColumn, TagColumn, TemplateColumn, ToggleColumn,
1313
)
1414
from .template_code import (
1515
CABLETERMINATION, CONSOLEPORT_BUTTONS, CONSOLESERVERPORT_BUTTONS, DEVICE_LINK, DEVICEBAY_BUTTONS, DEVICEBAY_STATUS,
@@ -258,7 +258,7 @@ class CableTerminationTable(BaseTable):
258258
orderable=False,
259259
verbose_name='Cable Color'
260260
)
261-
cable_peer = tables.TemplateColumn(
261+
cable_peer = TemplateColumn(
262262
accessor='_cable_peer',
263263
template_code=CABLETERMINATION,
264264
orderable=False,
@@ -268,7 +268,7 @@ class CableTerminationTable(BaseTable):
268268

269269

270270
class PathEndpointTable(CableTerminationTable):
271-
connection = tables.TemplateColumn(
271+
connection = TemplateColumn(
272272
accessor='_path.last_node',
273273
template_code=CABLETERMINATION,
274274
verbose_name='Connection',
@@ -470,7 +470,7 @@ class BaseInterfaceTable(BaseTable):
470470
verbose_name='IP Addresses'
471471
)
472472
untagged_vlan = tables.Column(linkify=True)
473-
tagged_vlans = tables.TemplateColumn(
473+
tagged_vlans = TemplateColumn(
474474
template_code=INTERFACE_TAGGED_VLANS,
475475
orderable=False,
476476
verbose_name='Tagged VLANs'

0 commit comments

Comments
 (0)