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 cc53c465d..ae43ac489 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 ccbdca705..a6f6833c9 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 22c5b0da1..5c61ec3d2 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 e333320b6..7cd0fa417 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 5c61ec3d2..95034cb12 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 ca9aa6d3a..a3d6fba3d 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 6b8ff043d..737685fd9 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 95034cb12..43ac9eb1f 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 74f8f325b..46bc5b24e 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 9fa5e0eb4..01bb3c76d 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 5efbc8428..c5baccd7b 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 000000000..c3e0bf200
--- /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 43ac9eb1f..79635a228 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 79635a228..ea18a0834 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 84be36da3..3aace8353 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 3c2b3dace..3ff2a8b9f 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 082ecfe57..9413d834e 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 81c3ef34a..7d9937c1b 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 fe1c0fc9a..afdd670fd 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 0e45cb581..cff3428c0 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 f6130f1c1..f63e873b4 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 afdd670fd..e6829befc 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 ea18a0834..67bc89b75 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 67bc89b75..c120b93b9 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 3af825d30..21dc72545 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 f5bf198b8..f64f5ccba 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 c120b93b9..ce7001204 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 d16e00337..0ae386343 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 04d053180..b331fb17e 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 ce7001204..1051d6bb2 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 1051d6bb2..df9c9c7bb 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 0ae386343..decb7cea8 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()
|