From 22980cea7ba264b42f1a119235e6928e5c8f5f40 Mon Sep 17 00:00:00 2001
From: kkthxbye <>
Date: Mon, 21 Mar 2022 10:46:51 +0100
Subject: [PATCH 01/16] Speed up rendering of the script list
---
netbox/extras/views.py | 2 ++
netbox/templates/extras/script_list.html | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/netbox/extras/views.py b/netbox/extras/views.py
index cc53c465d6..ae43ac4897 100644
--- a/netbox/extras/views.py
+++ b/netbox/extras/views.py
@@ -753,6 +753,8 @@ class ScriptListView(ContentTypePermissionRequiredMixin, View):
for _scripts in scripts.values():
for script in _scripts.values():
+ # Prevent django from instantiating the class on all accesses
+ script.do_not_call_in_templates = True
script.result = results.get(script.full_name)
return render(request, 'extras/script_list.html', {
diff --git a/netbox/templates/extras/script_list.html b/netbox/templates/extras/script_list.html
index ccbdca7052..a6f6833c99 100644
--- a/netbox/templates/extras/script_list.html
+++ b/netbox/templates/extras/script_list.html
@@ -34,7 +34,7 @@
{% for class_name, script in module_scripts.items %}
|
- {{ script.Meta.name }}
+ {{ script.name }}
|
{% include 'extras/inc/job_label.html' with result=script.result %}
From e09ab79a1ac508779b715f5c7fb00412d1b57308 Mon Sep 17 00:00:00 2001
From: jeremystretch
Date: Wed, 23 Mar 2022 17:01:57 -0400
Subject: [PATCH 03/16] Changelog for #8924
---
docs/release-notes/version-3.1.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/docs/release-notes/version-3.1.md b/docs/release-notes/version-3.1.md
index 22c5b0da1b..5c61ec3d2f 100644
--- a/docs/release-notes/version-3.1.md
+++ b/docs/release-notes/version-3.1.md
@@ -15,6 +15,7 @@
* [#8820](https://github.com/netbox-community/netbox/issues/8820) - Fix navbar background color in dark mode
* [#8850](https://github.com/netbox-community/netbox/issues/8850) - Show airflow field on device REST API serializer when config context data is included
* [#8919](https://github.com/netbox-community/netbox/issues/8919) - Fix filtering of VLAN groups by site under prefix edit form
+* [#8924](https://github.com/netbox-community/netbox/issues/8924) - Improve load time of custom script list
* [#8932](https://github.com/netbox-community/netbox/issues/8932) - Fix error when setting null value for interface `rf_role` via REST API
* [#8935](https://github.com/netbox-community/netbox/issues/8935) - Correct ordering of next/previous racks to use naturalized names
From 6ceb78fd4ce16a3dc88fff18d7892e91c4a87611 Mon Sep 17 00:00:00 2001
From: Johannes Erwerle
Date: Thu, 24 Mar 2022 09:28:17 +0100
Subject: [PATCH 04/16] Fixed #8952: rack rear faces link not clickable
---
netbox/dcim/svg.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/netbox/dcim/svg.py b/netbox/dcim/svg.py
index e333320b6e..7cd0fa4178 100644
--- a/netbox/dcim/svg.py
+++ b/netbox/dcim/svg.py
@@ -146,10 +146,10 @@ class RackElevationSVG:
class_='device-image'
)
image.fit(scale='slice')
- drawing.add(image)
- drawing.add(drawing.text(get_device_name(device), insert=text, stroke='black',
- stroke_width='0.2em', stroke_linejoin='round', class_='device-image-label'))
- drawing.add(drawing.text(get_device_name(device), insert=text, fill='white', class_='device-image-label'))
+ link.add(image)
+ link.add(drawing.text(get_device_name(device), insert=text, stroke='black',
+ stroke_width='0.2em', stroke_linejoin='round', class_='device-image-label'))
+ link.add(drawing.text(get_device_name(device), insert=text, fill='white', class_='device-image-label'))
@staticmethod
def _draw_empty(drawing, rack, start, end, text, id_, face_id, class_, reservation):
From 30a6dc2f6418a3d951f060798ca91771371e5daa Mon Sep 17 00:00:00 2001
From: jeremystretch
Date: Thu, 24 Mar 2022 10:34:09 -0400
Subject: [PATCH 05/16] Fixes #8951: Allow changing device type & platform to
different manufacturer simultaneously
---
docs/release-notes/version-3.1.md | 1 +
netbox/dcim/forms/models.py | 5 -----
netbox/dcim/models/devices.py | 4 ++--
3 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/docs/release-notes/version-3.1.md b/docs/release-notes/version-3.1.md
index 5c61ec3d2f..95034cb122 100644
--- a/docs/release-notes/version-3.1.md
+++ b/docs/release-notes/version-3.1.md
@@ -18,6 +18,7 @@
* [#8924](https://github.com/netbox-community/netbox/issues/8924) - Improve load time of custom script list
* [#8932](https://github.com/netbox-community/netbox/issues/8932) - Fix error when setting null value for interface `rf_role` via REST API
* [#8935](https://github.com/netbox-community/netbox/issues/8935) - Correct ordering of next/previous racks to use naturalized names
+* [#8951](https://github.com/netbox-community/netbox/issues/8951) - Allow changing device type & platform to different manufacturer simultaneously
---
diff --git a/netbox/dcim/forms/models.py b/netbox/dcim/forms/models.py
index ca9aa6d3a4..a3d6fba3dc 100644
--- a/netbox/dcim/forms/models.py
+++ b/netbox/dcim/forms/models.py
@@ -605,11 +605,6 @@ class DeviceForm(TenancyForm, CustomFieldModelForm):
# can be flipped from one face to another.
self.fields['position'].widget.add_query_param('exclude', self.instance.pk)
- # Limit platform by manufacturer
- self.fields['platform'].queryset = Platform.objects.filter(
- Q(manufacturer__isnull=True) | Q(manufacturer=self.instance.device_type.manufacturer)
- )
-
# Disable rack assignment if this is a child device installed in a parent device
if self.instance.device_type.is_child_device and hasattr(self.instance, 'parent_bay'):
self.fields['site'].disabled = True
diff --git a/netbox/dcim/models/devices.py b/netbox/dcim/models/devices.py
index 6b8ff043d4..737685fd94 100644
--- a/netbox/dcim/models/devices.py
+++ b/netbox/dcim/models/devices.py
@@ -739,8 +739,8 @@ class Device(PrimaryModel, ConfigContextModel):
if hasattr(self, 'device_type') and self.platform:
if self.platform.manufacturer and self.platform.manufacturer != self.device_type.manufacturer:
raise ValidationError({
- 'platform': "The assigned platform is limited to {} device types, but this device's type belongs "
- "to {}.".format(self.platform.manufacturer, self.device_type.manufacturer)
+ 'platform': f"The assigned platform is limited to {self.platform.manufacturer} device types, but "
+ f"this device's type belongs to {self.device_type.manufacturer}."
})
# A Device can only be assigned to a Cluster in the same Site (or no Site)
From c78e7c14d3b787298e61540ee8202b83d9390f44 Mon Sep 17 00:00:00 2001
From: jeremystretch
Date: Thu, 24 Mar 2022 10:47:39 -0400
Subject: [PATCH 06/16] Fixes #8947: Retain filter parameters when handling an
export template exception
---
docs/release-notes/version-3.1.md | 1 +
netbox/netbox/views/generic.py | 5 ++++-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/docs/release-notes/version-3.1.md b/docs/release-notes/version-3.1.md
index 95034cb122..43ac9eb1fd 100644
--- a/docs/release-notes/version-3.1.md
+++ b/docs/release-notes/version-3.1.md
@@ -18,6 +18,7 @@
* [#8924](https://github.com/netbox-community/netbox/issues/8924) - Improve load time of custom script list
* [#8932](https://github.com/netbox-community/netbox/issues/8932) - Fix error when setting null value for interface `rf_role` via REST API
* [#8935](https://github.com/netbox-community/netbox/issues/8935) - Correct ordering of next/previous racks to use naturalized names
+* [#8947](https://github.com/netbox-community/netbox/issues/8947) - Retain filter parameters when handling an export template exception
* [#8951](https://github.com/netbox-community/netbox/issues/8951) - Allow changing device type & platform to different manufacturer simultaneously
---
diff --git a/netbox/netbox/views/generic.py b/netbox/netbox/views/generic.py
index 74f8f325b7..46bc5b24e4 100644
--- a/netbox/netbox/views/generic.py
+++ b/netbox/netbox/views/generic.py
@@ -212,7 +212,10 @@ class ObjectListView(ObjectPermissionRequiredMixin, View):
return template.render_to_response(self.queryset)
except Exception as e:
messages.error(request, f"There was an error rendering the selected export template ({template.name}): {e}")
- return redirect(request.path)
+ # Strip the `export` param and redirect user to the filtered objects list
+ query_params = request.GET.copy()
+ query_params.pop('export')
+ return redirect(f'{request.path}?{query_params.urlencode()}')
def get(self, request):
model = self.queryset.model
From d312fe7c2bb6c9f1ed26fd02963eff7d21be5723 Mon Sep 17 00:00:00 2001
From: jeremystretch
Date: Thu, 24 Mar 2022 11:14:24 -0400
Subject: [PATCH 07/16] Fixes #8696: Fix help link under FHRP group assigment
creation view
---
docs/core-functionality/ipam.md | 1 +
docs/models/ipam/fhrpgroup.md | 6 ------
docs/models/ipam/fhrpgroupassignment.md | 5 +++++
docs/release-notes/version-3.1.md | 2 ++
4 files changed, 8 insertions(+), 6 deletions(-)
create mode 100644 docs/models/ipam/fhrpgroupassignment.md
diff --git a/docs/core-functionality/ipam.md b/docs/core-functionality/ipam.md
index 9fa5e0eb41..01bb3c76d8 100644
--- a/docs/core-functionality/ipam.md
+++ b/docs/core-functionality/ipam.md
@@ -21,6 +21,7 @@
---
{!models/ipam/fhrpgroup.md!}
+{!models/ipam/fhrpgroupassignment.md!}
---
diff --git a/docs/models/ipam/fhrpgroup.md b/docs/models/ipam/fhrpgroup.md
index 5efbc8428b..c5baccd7b7 100644
--- a/docs/models/ipam/fhrpgroup.md
+++ b/docs/models/ipam/fhrpgroup.md
@@ -8,9 +8,3 @@ A first-hop redundancy protocol (FHRP) enables multiple physical interfaces to p
* Gateway Load Balancing Protocol (GLBP)
NetBox models these redundancy groups by protocol and group ID. Each group may optionally be assigned an authentication type and key. (Note that the authentication key is stored as a plaintext value in NetBox.) Each group may be assigned or more virtual IPv4 and/or IPv6 addresses.
-
-## FHRP Group Assignments
-
-Member device and VM interfaces can be assigned to FHRP groups, along with a numeric priority value. For instance, three interfaces, each belonging to a different router, may each be assigned to the same FHRP group to serve a common virtual IP address. Each of these assignments would typically receive a different priority.
-
-Interfaces are assigned to FHRP groups under the interface detail view.
diff --git a/docs/models/ipam/fhrpgroupassignment.md b/docs/models/ipam/fhrpgroupassignment.md
new file mode 100644
index 0000000000..c3e0bf2001
--- /dev/null
+++ b/docs/models/ipam/fhrpgroupassignment.md
@@ -0,0 +1,5 @@
+# FHRP Group Assignments
+
+Member device and VM interfaces can be assigned to FHRP groups, along with a numeric priority value. For instance, three interfaces, each belonging to a different router, may each be assigned to the same FHRP group to serve a common virtual IP address. Each of these assignments would typically receive a different priority.
+
+Interfaces are assigned to FHRP groups under the interface detail view.
diff --git a/docs/release-notes/version-3.1.md b/docs/release-notes/version-3.1.md
index 43ac9eb1fd..79635a2287 100644
--- a/docs/release-notes/version-3.1.md
+++ b/docs/release-notes/version-3.1.md
@@ -11,6 +11,7 @@
### Bug Fixes
+* [#8696](https://github.com/netbox-community/netbox/issues/8696) - Fix help link under FHRP group assigment creation view
* [#8813](https://github.com/netbox-community/netbox/issues/8813) - Retain global search bar query after submitting
* [#8820](https://github.com/netbox-community/netbox/issues/8820) - Fix navbar background color in dark mode
* [#8850](https://github.com/netbox-community/netbox/issues/8850) - Show airflow field on device REST API serializer when config context data is included
@@ -20,6 +21,7 @@
* [#8935](https://github.com/netbox-community/netbox/issues/8935) - Correct ordering of next/previous racks to use naturalized names
* [#8947](https://github.com/netbox-community/netbox/issues/8947) - Retain filter parameters when handling an export template exception
* [#8951](https://github.com/netbox-community/netbox/issues/8951) - Allow changing device type & platform to different manufacturer simultaneously
+* [#8952](https://github.com/netbox-community/netbox/issues/8952) - Device images in rear rack elevations should be hyperlinked
---
From a5820e27a68fa842e9f931bc585a64e2766f771a Mon Sep 17 00:00:00 2001
From: jeremystretch
Date: Thu, 24 Mar 2022 11:56:18 -0400
Subject: [PATCH 08/16] Fixes #8905: Disable ordering by assigned tags to
prevent erroneous results
---
docs/release-notes/version-3.1.md | 1 +
netbox/utilities/tables.py | 1 +
2 files changed, 2 insertions(+)
diff --git a/docs/release-notes/version-3.1.md b/docs/release-notes/version-3.1.md
index 79635a2287..ea18a08348 100644
--- a/docs/release-notes/version-3.1.md
+++ b/docs/release-notes/version-3.1.md
@@ -15,6 +15,7 @@
* [#8813](https://github.com/netbox-community/netbox/issues/8813) - Retain global search bar query after submitting
* [#8820](https://github.com/netbox-community/netbox/issues/8820) - Fix navbar background color in dark mode
* [#8850](https://github.com/netbox-community/netbox/issues/8850) - Show airflow field on device REST API serializer when config context data is included
+* [#8905](https://github.com/netbox-community/netbox/issues/8905) - Disable ordering by assigned tags to prevent erroneous results
* [#8919](https://github.com/netbox-community/netbox/issues/8919) - Fix filtering of VLAN groups by site under prefix edit form
* [#8924](https://github.com/netbox-community/netbox/issues/8924) - Improve load time of custom script list
* [#8932](https://github.com/netbox-community/netbox/issues/8932) - Fix error when setting null value for interface `rf_role` via REST API
diff --git a/netbox/utilities/tables.py b/netbox/utilities/tables.py
index 84be36da3a..3aace83539 100644
--- a/netbox/utilities/tables.py
+++ b/netbox/utilities/tables.py
@@ -430,6 +430,7 @@ class TagColumn(tables.TemplateColumn):
def __init__(self, url_name=None):
super().__init__(
+ orderable=False,
template_code=self.template_code,
extra_context={'url_name': url_name}
)
From a433d5d59d80755065a05870f6179fb320c15b63 Mon Sep 17 00:00:00 2001
From: Alex Gittings
Date: Fri, 25 Mar 2022 09:25:55 +0000
Subject: [PATCH 09/16] Closes #8926: Implement type and roll to device bay
table
---
netbox/dcim/tables/devices.py | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/netbox/dcim/tables/devices.py b/netbox/dcim/tables/devices.py
index 3c2b3dace5..3ff2a8b9ff 100644
--- a/netbox/dcim/tables/devices.py
+++ b/netbox/dcim/tables/devices.py
@@ -677,6 +677,15 @@ class DeviceBayTable(DeviceComponentTable):
'args': [Accessor('device_id')],
}
)
+ device_role = ColoredLabelColumn(
+ accessor=Accessor('installed_device__device_role'),
+ verbose_name='Role'
+ )
+ device_type = tables.Column(
+ accessor=Accessor('installed_device__device_type'),
+ linkify=True,
+ verbose_name='Type'
+ )
status = tables.TemplateColumn(
template_code=DEVICEBAY_STATUS,
order_by=Accessor('installed_device__status')
@@ -691,7 +700,7 @@ class DeviceBayTable(DeviceComponentTable):
class Meta(DeviceComponentTable.Meta):
model = DeviceBay
fields = (
- 'pk', 'id', 'name', 'device', 'label', 'status', 'installed_device', 'description', 'tags',
+ 'pk', 'id', 'name', 'device', 'label', 'status', 'device_role', 'device_type', 'installed_device', 'description', 'tags',
'created', 'last_updated',
)
From 12784295180e7e42ae44aefb02db641d57c13740 Mon Sep 17 00:00:00 2001
From: tranthang2404 <43313369+tranthang2404@users.noreply.github.com>
Date: Fri, 25 Mar 2022 20:52:13 +0700
Subject: [PATCH 10/16] Closes #8232: Add color show full 100% utilization
(#8816)
* Closes #8232: Add color show full 100% utilization
* change rounding
* change rounding
* fix hard code html
* format
---
netbox/dcim/models/racks.py | 2 +-
netbox/ipam/models/ip.py | 6 +++---
netbox/utilities/templates/helpers/utilization_graph.html | 4 ++--
netbox/utilities/templatetags/helpers.py | 4 +++-
4 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/netbox/dcim/models/racks.py b/netbox/dcim/models/racks.py
index 082ecfe572..9413d834ec 100644
--- a/netbox/dcim/models/racks.py
+++ b/netbox/dcim/models/racks.py
@@ -412,7 +412,7 @@ class Rack(PrimaryModel):
available_units.remove(u)
occupied_unit_count = self.u_height - len(available_units)
- percentage = int(float(occupied_unit_count) / self.u_height * 100)
+ percentage = float(occupied_unit_count) / self.u_height * 100
return percentage
diff --git a/netbox/ipam/models/ip.py b/netbox/ipam/models/ip.py
index 81c3ef34ad..7d9937c1be 100644
--- a/netbox/ipam/models/ip.py
+++ b/netbox/ipam/models/ip.py
@@ -248,7 +248,7 @@ class Aggregate(GetAvailablePrefixesMixin, PrimaryModel):
"""
queryset = Prefix.objects.filter(prefix__net_contained_or_equal=str(self.prefix))
child_prefixes = netaddr.IPSet([p.prefix for p in queryset])
- utilization = int(float(child_prefixes.size) / self.prefix.size * 100)
+ utilization = float(child_prefixes.size) / self.prefix.size * 100
return min(utilization, 100)
@@ -548,7 +548,7 @@ class Prefix(GetAvailablePrefixesMixin, PrimaryModel):
vrf=self.vrf
)
child_prefixes = netaddr.IPSet([p.prefix for p in queryset])
- utilization = int(float(child_prefixes.size) / self.prefix.size * 100)
+ utilization = float(child_prefixes.size) / self.prefix.size * 100
else:
# Compile an IPSet to avoid counting duplicate IPs
child_ips = netaddr.IPSet(
@@ -558,7 +558,7 @@ class Prefix(GetAvailablePrefixesMixin, PrimaryModel):
prefix_size = self.prefix.size
if self.prefix.version == 4 and self.prefix.prefixlen < 31 and not self.is_pool:
prefix_size -= 2
- utilization = int(float(child_ips.size) / prefix_size * 100)
+ utilization = float(child_ips.size) / prefix_size * 100
return min(utilization, 100)
diff --git a/netbox/utilities/templates/helpers/utilization_graph.html b/netbox/utilities/templates/helpers/utilization_graph.html
index fe1c0fc9a6..afdd670fd5 100644
--- a/netbox/utilities/templates/helpers/utilization_graph.html
+++ b/netbox/utilities/templates/helpers/utilization_graph.html
@@ -12,10 +12,10 @@
class="progress-bar {{ bar_class }}"
style="width: {{ utilization }}%;"
>
- {% if utilization >= 25 %}{{ utilization }}%{% endif %}
+ {% if utilization >= 25 %}{{ utilization|floatformat:-2 }}%{% endif %}
{% if utilization < 25 %}
- {{ utilization }}%
+ {{ utilization|floatformat:-2 }}%
{% endif %}
{% endif %}
diff --git a/netbox/utilities/templatetags/helpers.py b/netbox/utilities/templatetags/helpers.py
index 0e45cb581c..cff3428c08 100644
--- a/netbox/utilities/templatetags/helpers.py
+++ b/netbox/utilities/templatetags/helpers.py
@@ -389,7 +389,9 @@ def utilization_graph(utilization, warning_threshold=75, danger_threshold=90):
"""
Display a horizontal bar graph indicating a percentage of utilization.
"""
- if danger_threshold and utilization >= danger_threshold:
+ if utilization == 100:
+ bar_class = 'bg-secondary'
+ elif danger_threshold and utilization >= danger_threshold:
bar_class = 'bg-danger'
elif warning_threshold and utilization >= warning_threshold:
bar_class = 'bg-warning'
From dde4495e20e98c4c1d7f85889ca171c646fe5ae2 Mon Sep 17 00:00:00 2001
From: jeremystretch
Date: Fri, 25 Mar 2022 09:59:58 -0400
Subject: [PATCH 11/16] #8232: Cleanup & test fix
---
netbox/ipam/tests/test_models.py | 4 ++--
netbox/utilities/templates/helpers/utilization_graph.html | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/netbox/ipam/tests/test_models.py b/netbox/ipam/tests/test_models.py
index f6130f1c18..f63e873b40 100644
--- a/netbox/ipam/tests/test_models.py
+++ b/netbox/ipam/tests/test_models.py
@@ -204,11 +204,11 @@ class TestPrefix(TestCase):
IPAddress.objects.bulk_create([
IPAddress(address=IPNetwork(f'10.0.0.{i}/24')) for i in range(1, 33)
])
- self.assertEqual(prefix.get_utilization(), 12) # 12.5% utilization
+ self.assertEqual(prefix.get_utilization(), 32 / 254 * 100) # ~12.5% utilization
# Create a child range with 32 additional IPs
IPRange.objects.create(start_address=IPNetwork('10.0.0.33/24'), end_address=IPNetwork('10.0.0.64/24'))
- self.assertEqual(prefix.get_utilization(), 25) # 25% utilization
+ self.assertEqual(prefix.get_utilization(), 64 / 254 * 100) # ~25% utilization
#
# Uniqueness enforcement tests
diff --git a/netbox/utilities/templates/helpers/utilization_graph.html b/netbox/utilities/templates/helpers/utilization_graph.html
index afdd670fd5..e6829befc1 100644
--- a/netbox/utilities/templates/helpers/utilization_graph.html
+++ b/netbox/utilities/templates/helpers/utilization_graph.html
@@ -12,10 +12,10 @@
class="progress-bar {{ bar_class }}"
style="width: {{ utilization }}%;"
>
- {% if utilization >= 25 %}{{ utilization|floatformat:-2 }}%{% endif %}
+ {% if utilization >= 25 %}{{ utilization|floatformat:0 }}%{% endif %}
{% if utilization < 25 %}
- {{ utilization|floatformat:-2 }}%
+ {{ utilization|floatformat:0 }}%
{% endif %}
{% endif %}
From 26637d934bcf60eccbf8f5306b76b2b91b323cc0 Mon Sep 17 00:00:00 2001
From: jeremystretch
Date: Fri, 25 Mar 2022 10:02:21 -0400
Subject: [PATCH 12/16] Change log for #8232, #8926
---
docs/release-notes/version-3.1.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/release-notes/version-3.1.md b/docs/release-notes/version-3.1.md
index ea18a08348..67bc89b752 100644
--- a/docs/release-notes/version-3.1.md
+++ b/docs/release-notes/version-3.1.md
@@ -30,6 +30,7 @@
### Enhancements
+* [#8232](https://github.com/netbox-community/netbox/issues/8232) - Use a different color for 100% utilization bars
* [#8594](https://github.com/netbox-community/netbox/issues/8594) - Enable filtering by exact description match for all applicable models
* [#8629](https://github.com/netbox-community/netbox/issues/8629) - Add description to tag table search function
* [#8664](https://github.com/netbox-community/netbox/issues/8664) - Show assigned ASNs/sites under list views
@@ -37,6 +38,7 @@
* [#8758](https://github.com/netbox-community/netbox/issues/8758) - Allow empty string substitution when renaming objects in bulk
* [#8762](https://github.com/netbox-community/netbox/issues/8762) - Link to rack elevations list from site view
* [#8766](https://github.com/netbox-community/netbox/issues/8766) - Add SCTP to service protocols list
+* [#8926](https://github.com/netbox-community/netbox/issues/8926) - Add device type, role columns to device bay table
### Bug Fixes
From 8924d5fa0554315f7886083bdda4c3f50c11d3d4 Mon Sep 17 00:00:00 2001
From: jeremystretch
Date: Fri, 25 Mar 2022 10:04:48 -0400
Subject: [PATCH 13/16] Correct change log
---
docs/release-notes/version-3.1.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/release-notes/version-3.1.md b/docs/release-notes/version-3.1.md
index 67bc89b752..c120b93b96 100644
--- a/docs/release-notes/version-3.1.md
+++ b/docs/release-notes/version-3.1.md
@@ -4,6 +4,7 @@
### Enhancements
+* [#8232](https://github.com/netbox-community/netbox/issues/8232) - Use a different color for 100% utilization bars
* [#8457](https://github.com/netbox-community/netbox/issues/8457) - Enable adding non-racked devices from site & location views
* [#8553](https://github.com/netbox-community/netbox/issues/8553) - Add missing object types to global search form
* [#8575](https://github.com/netbox-community/netbox/issues/8575) - Add rack columns to cables list
@@ -18,6 +19,7 @@
* [#8905](https://github.com/netbox-community/netbox/issues/8905) - Disable ordering by assigned tags to prevent erroneous results
* [#8919](https://github.com/netbox-community/netbox/issues/8919) - Fix filtering of VLAN groups by site under prefix edit form
* [#8924](https://github.com/netbox-community/netbox/issues/8924) - Improve load time of custom script list
+* [#8926](https://github.com/netbox-community/netbox/issues/8926) - Add device type, role columns to device bay table
* [#8932](https://github.com/netbox-community/netbox/issues/8932) - Fix error when setting null value for interface `rf_role` via REST API
* [#8935](https://github.com/netbox-community/netbox/issues/8935) - Correct ordering of next/previous racks to use naturalized names
* [#8947](https://github.com/netbox-community/netbox/issues/8947) - Retain filter parameters when handling an export template exception
@@ -30,7 +32,6 @@
### Enhancements
-* [#8232](https://github.com/netbox-community/netbox/issues/8232) - Use a different color for 100% utilization bars
* [#8594](https://github.com/netbox-community/netbox/issues/8594) - Enable filtering by exact description match for all applicable models
* [#8629](https://github.com/netbox-community/netbox/issues/8629) - Add description to tag table search function
* [#8664](https://github.com/netbox-community/netbox/issues/8664) - Show assigned ASNs/sites under list views
@@ -38,7 +39,6 @@
* [#8758](https://github.com/netbox-community/netbox/issues/8758) - Allow empty string substitution when renaming objects in bulk
* [#8762](https://github.com/netbox-community/netbox/issues/8762) - Link to rack elevations list from site view
* [#8766](https://github.com/netbox-community/netbox/issues/8766) - Add SCTP to service protocols list
-* [#8926](https://github.com/netbox-community/netbox/issues/8926) - Add device type, role columns to device bay table
### Bug Fixes
From 20a6f6ac79402446a2075e7ff93a7f0f076e3dcf Mon Sep 17 00:00:00 2001
From: jeremystretch
Date: Fri, 25 Mar 2022 10:14:37 -0400
Subject: [PATCH 14/16] Release v3.1.10
---
.github/ISSUE_TEMPLATE/bug_report.yaml | 2 +-
.github/ISSUE_TEMPLATE/feature_request.yaml | 2 +-
docs/release-notes/version-3.1.md | 2 +-
netbox/netbox/settings.py | 2 +-
requirements.txt | 4 ++--
5 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml
index 3af825d30e..21dc725457 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yaml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yaml
@@ -14,7 +14,7 @@ body:
attributes:
label: NetBox version
description: What version of NetBox are you currently running?
- placeholder: v3.1.9
+ placeholder: v3.1.10
validations:
required: true
- type: dropdown
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml
index f5bf198b88..f64f5ccba5 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.yaml
+++ b/.github/ISSUE_TEMPLATE/feature_request.yaml
@@ -14,7 +14,7 @@ body:
attributes:
label: NetBox version
description: What version of NetBox are you currently running?
- placeholder: v3.1.9
+ placeholder: v3.1.10
validations:
required: true
- type: dropdown
diff --git a/docs/release-notes/version-3.1.md b/docs/release-notes/version-3.1.md
index c120b93b96..ce70012044 100644
--- a/docs/release-notes/version-3.1.md
+++ b/docs/release-notes/version-3.1.md
@@ -1,6 +1,6 @@
# NetBox v3.1
-## v3.1.10 (FUTURE)
+## v3.1.10 (2022-03-25)
### Enhancements
diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py
index d16e00337c..0ae386343e 100644
--- a/netbox/netbox/settings.py
+++ b/netbox/netbox/settings.py
@@ -19,7 +19,7 @@ from netbox.config import PARAMS
# Environment setup
#
-VERSION = '3.1.10-dev'
+VERSION = '3.1.10'
# Hostname
HOSTNAME = platform.node()
diff --git a/requirements.txt b/requirements.txt
index 04d053180f..b331fb17e9 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -18,14 +18,14 @@ gunicorn==20.1.0
Jinja2==3.0.3
Markdown==3.3.6
markdown-include==0.6.0
-mkdocs-material==8.2.5
+mkdocs-material==8.2.7
netaddr==0.8.0
Pillow==9.0.1
psycopg2-binary==2.9.3
PyYAML==6.0
social-auth-app-django==5.0.0
social-auth-core==4.2.0
-svgwrite==1.4.1
+svgwrite==1.4.2
tablib==3.2.0
tzdata==2021.5
From 271c2ea3e3eda5b80f0d14b9c320f7f79011e1ff Mon Sep 17 00:00:00 2001
From: jeremystretch
Date: Fri, 25 Mar 2022 10:16:40 -0400
Subject: [PATCH 15/16] Correct changelog
---
docs/release-notes/version-3.1.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/release-notes/version-3.1.md b/docs/release-notes/version-3.1.md
index ce70012044..1051d6bb26 100644
--- a/docs/release-notes/version-3.1.md
+++ b/docs/release-notes/version-3.1.md
@@ -9,6 +9,7 @@
* [#8553](https://github.com/netbox-community/netbox/issues/8553) - Add missing object types to global search form
* [#8575](https://github.com/netbox-community/netbox/issues/8575) - Add rack columns to cables list
* [#8645](https://github.com/netbox-community/netbox/issues/8645) - Enable filtering objects by assigned contacts & contact roles
+* [#8926](https://github.com/netbox-community/netbox/issues/8926) - Add device type, role columns to device bay table
### Bug Fixes
@@ -19,7 +20,6 @@
* [#8905](https://github.com/netbox-community/netbox/issues/8905) - Disable ordering by assigned tags to prevent erroneous results
* [#8919](https://github.com/netbox-community/netbox/issues/8919) - Fix filtering of VLAN groups by site under prefix edit form
* [#8924](https://github.com/netbox-community/netbox/issues/8924) - Improve load time of custom script list
-* [#8926](https://github.com/netbox-community/netbox/issues/8926) - Add device type, role columns to device bay table
* [#8932](https://github.com/netbox-community/netbox/issues/8932) - Fix error when setting null value for interface `rf_role` via REST API
* [#8935](https://github.com/netbox-community/netbox/issues/8935) - Correct ordering of next/previous racks to use naturalized names
* [#8947](https://github.com/netbox-community/netbox/issues/8947) - Retain filter parameters when handling an export template exception
From 57759aa4a3dec8f5bc098f28e9cde0cb3c28699c Mon Sep 17 00:00:00 2001
From: jeremystretch
Date: Fri, 25 Mar 2022 10:29:44 -0400
Subject: [PATCH 16/16] PRVB
---
docs/release-notes/version-3.1.md | 4 ++++
netbox/netbox/settings.py | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/docs/release-notes/version-3.1.md b/docs/release-notes/version-3.1.md
index 1051d6bb26..df9c9c7bbe 100644
--- a/docs/release-notes/version-3.1.md
+++ b/docs/release-notes/version-3.1.md
@@ -1,5 +1,9 @@
# NetBox v3.1
+## v3.1.11 (FUTURE)
+
+---
+
## v3.1.10 (2022-03-25)
### Enhancements
diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py
index 0ae386343e..decb7cea87 100644
--- a/netbox/netbox/settings.py
+++ b/netbox/netbox/settings.py
@@ -19,7 +19,7 @@ from netbox.config import PARAMS
# Environment setup
#
-VERSION = '3.1.10'
+VERSION = '3.1.11-dev'
# Hostname
HOSTNAME = platform.node()
|