diff --git a/netbox/core/tables/change_logging.py b/netbox/core/tables/change_logging.py
index 423e459e5..aced0e8a6 100644
--- a/netbox/core/tables/change_logging.py
+++ b/netbox/core/tables/change_logging.py
@@ -48,6 +48,6 @@ class ObjectChangeTable(NetBoxTable):
class Meta(NetBoxTable.Meta):
model = ObjectChange
fields = (
- 'pk', 'id', 'time', 'user_name', 'full_name', 'action', 'changed_object_type', 'object_repr', 'request_id',
+ 'pk', 'time', 'user_name', 'full_name', 'action', 'changed_object_type', 'object_repr', 'request_id',
'actions',
)
diff --git a/netbox/release.yaml b/netbox/release.yaml
index 83bddf615..eb059a4f3 100644
--- a/netbox/release.yaml
+++ b/netbox/release.yaml
@@ -1,2 +1,3 @@
version: "4.1.0"
-designation: "dev"
+edition: Community
+designation: dev
diff --git a/netbox/templates/base/layout.html b/netbox/templates/base/layout.html
index 2f6030f24..162cb33da 100644
--- a/netbox/templates/base/layout.html
+++ b/netbox/templates/base/layout.html
@@ -42,7 +42,8 @@ Blocks:
{# User menu (mobile view) #}
-
+
+ {% plugin_navbar %}
{% include 'inc/light_toggle.html' %}
{% include 'inc/user_menu.html' %}
@@ -59,15 +60,10 @@ Blocks:
+ {# User menu (desktop view) #}
-
- {# Plugin content #}
{% plugin_navbar %}
-
- {# Dark/light mode toggle #}
{% include 'inc/light_toggle.html' %}
-
- {# User menu #}
{% include 'inc/user_menu.html' %}
diff --git a/netbox/utilities/release.py b/netbox/utilities/release.py
index e41e6d2bf..4ebe59819 100644
--- a/netbox/utilities/release.py
+++ b/netbox/utilities/release.py
@@ -1,8 +1,8 @@
import datetime
import os
import yaml
-from dataclasses import dataclass
-from typing import Union
+from dataclasses import dataclass, field
+from typing import List, Union
from django.core.exceptions import ImproperlyConfigured
@@ -15,9 +15,10 @@ LOCAL_RELEASE_PATH = 'local/release.yaml'
@dataclass
class ReleaseInfo:
version: str
- edition: str = 'Community'
+ edition: str
published: Union[datetime.date, None] = None
designation: Union[str, None] = None
+ features: List = field(default_factory=list)
@property
def full_version(self):
@@ -46,11 +47,12 @@ def load_release_data():
local_data = yaml.safe_load(release_file)
except FileNotFoundError:
local_data = {}
- if type(local_data) is not dict:
- raise ImproperlyConfigured(
- f"{LOCAL_RELEASE_PATH}: Local release data must be defined as a dictionary."
- )
- data.update(local_data)
+ if local_data is not None:
+ if type(local_data) is not dict:
+ raise ImproperlyConfigured(
+ f"{LOCAL_RELEASE_PATH}: Local release data must be defined as a dictionary."
+ )
+ data.update(local_data)
# Convert the published date to a date object
if 'published' in data: