From ba1d177541bdb537976d20e71df6314fa2edd379 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 1ab57ee22416ea7572c1f8cf601fd066b6f369d4 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 83e78dd4a60819a11f54472c78cde6718963d857 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 29910165956cfa30abd7019c5dd875b2b120f353 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 774a58509a3eb432759e877f3e35714f5e7a8e44 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 b1894be1b359b8e14c1759c4d3ce74c53db11d09 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 4639435b24f344b6631f2bd0bca44cdd4ceea8da 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 5166b48010736b52b7dba9f238a2529bfffaae2d 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 be9fe2c36b377fa7d5f092f7bcce7f0808cd1311 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 cd1c32d979656fa04b9f3b92cb4ee6a97c33686f 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 05b80bed3bce10e58f39c6875739997a84e95c57 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 737cc5e5b2d71c6ec438f14974ddd41117796745 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 d1c7a8748acfbd2f936681e7f9e02b3c25dee6bd 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 71f49ffb4368e799cdbd1ce8dce5e0f2de0f3e08 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 5c07f48a0f9505dc85518f90fa34a557f7c2a732 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()
|