Compare commits

...

2 Commits

Author SHA1 Message Date
Jeremy Stretch
d0651f6474 Release v4.5.7 (#21838) 2026-04-03 12:24:24 -04:00
Jeremy Stretch
fecd4e2f97 Closes #21839: Document the RQ configuration parameter 2026-04-03 12:01:15 -04:00
40 changed files with 13582 additions and 15108 deletions

View File

@@ -15,7 +15,7 @@ body:
attributes:
label: NetBox version
description: What version of NetBox are you currently running?
placeholder: v4.5.6
placeholder: v4.5.7
validations:
required: true
- type: dropdown

View File

@@ -27,7 +27,7 @@ body:
attributes:
label: NetBox Version
description: What version of NetBox are you currently running?
placeholder: v4.5.6
placeholder: v4.5.7
validations:
required: true
- type: dropdown

View File

@@ -8,7 +8,7 @@ body:
attributes:
label: NetBox Version
description: What version of NetBox are you currently running?
placeholder: v4.5.6
placeholder: v4.5.7
validations:
required: true
- type: dropdown

View File

@@ -47,8 +47,7 @@ django-rich
# Django integration for RQ (Reqis queuing)
# https://github.com/rq/django-rq/blob/master/CHANGELOG.md
# See https://github.com/netbox-community/netbox/issues/21696
django-rq<4.0
django-rq
# Provides a variety of storage backends
# https://github.com/jschneier/django-storages/blob/master/CHANGELOG.rst

View File

@@ -2,7 +2,7 @@
"openapi": "3.0.3",
"info": {
"title": "NetBox REST API",
"version": "4.5.6",
"version": "4.5.7",
"license": {
"name": "Apache v2 License"
}
@@ -25468,7 +25468,7 @@
"type": "array",
"items": {
"type": "string",
"x-spec-enum-id": "5e0f85310f0184ea"
"x-spec-enum-id": "f566e6df6572f5d0"
}
},
"explode": true,
@@ -25488,7 +25488,7 @@
"type": "array",
"items": {
"type": "string",
"x-spec-enum-id": "5e0f85310f0184ea"
"x-spec-enum-id": "f566e6df6572f5d0"
}
},
"explode": true,
@@ -25501,7 +25501,7 @@
"type": "array",
"items": {
"type": "string",
"x-spec-enum-id": "5e0f85310f0184ea"
"x-spec-enum-id": "f566e6df6572f5d0"
}
},
"explode": true,
@@ -25514,7 +25514,7 @@
"type": "array",
"items": {
"type": "string",
"x-spec-enum-id": "5e0f85310f0184ea"
"x-spec-enum-id": "f566e6df6572f5d0"
}
},
"explode": true,
@@ -25527,7 +25527,7 @@
"type": "array",
"items": {
"type": "string",
"x-spec-enum-id": "5e0f85310f0184ea"
"x-spec-enum-id": "f566e6df6572f5d0"
}
},
"explode": true,
@@ -25540,7 +25540,7 @@
"type": "array",
"items": {
"type": "string",
"x-spec-enum-id": "5e0f85310f0184ea"
"x-spec-enum-id": "f566e6df6572f5d0"
}
},
"explode": true,
@@ -25553,7 +25553,7 @@
"type": "array",
"items": {
"type": "string",
"x-spec-enum-id": "5e0f85310f0184ea"
"x-spec-enum-id": "f566e6df6572f5d0"
}
},
"explode": true,
@@ -25566,7 +25566,7 @@
"type": "array",
"items": {
"type": "string",
"x-spec-enum-id": "5e0f85310f0184ea"
"x-spec-enum-id": "f566e6df6572f5d0"
}
},
"explode": true,
@@ -25579,7 +25579,7 @@
"type": "array",
"items": {
"type": "string",
"x-spec-enum-id": "5e0f85310f0184ea"
"x-spec-enum-id": "f566e6df6572f5d0"
}
},
"explode": true,
@@ -25592,7 +25592,7 @@
"type": "array",
"items": {
"type": "string",
"x-spec-enum-id": "5e0f85310f0184ea"
"x-spec-enum-id": "f566e6df6572f5d0"
}
},
"explode": true,
@@ -25605,7 +25605,7 @@
"type": "array",
"items": {
"type": "string",
"x-spec-enum-id": "5e0f85310f0184ea"
"x-spec-enum-id": "f566e6df6572f5d0"
}
},
"explode": true,
@@ -25618,7 +25618,7 @@
"type": "array",
"items": {
"type": "string",
"x-spec-enum-id": "5e0f85310f0184ea"
"x-spec-enum-id": "f566e6df6572f5d0"
}
},
"explode": true,
@@ -138591,6 +138591,50 @@
}
}
},
"/api/extras/scripts/upload/": {
"post": {
"operationId": "extras_scripts_upload_create",
"description": "Post a list of script module objects.",
"tags": [
"extras"
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScriptModuleRequest"
}
},
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/ScriptModuleRequest"
}
}
},
"required": true
},
"security": [
{
"cookieAuth": []
},
{
"tokenAuth": []
}
],
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScriptModule"
}
}
},
"description": ""
}
}
}
},
"/api/extras/subscriptions/": {
"get": {
"operationId": "extras_subscriptions_list",
@@ -228046,13 +228090,14 @@
"trunk-4c6p",
"trunk-4c8p",
"trunk-8c4p",
"breakout-1c2p-2c1p",
"breakout-1c4p-4c1p",
"breakout-1c6p-6c1p",
"breakout-2c4p-8c1p-shuffle"
],
"type": "string",
"description": "* `single-1c1p` - 1C1P\n* `single-1c2p` - 1C2P\n* `single-1c4p` - 1C4P\n* `single-1c6p` - 1C6P\n* `single-1c8p` - 1C8P\n* `single-1c12p` - 1C12P\n* `single-1c16p` - 1C16P\n* `trunk-2c1p` - 2C1P trunk\n* `trunk-2c2p` - 2C2P trunk\n* `trunk-2c4p` - 2C4P trunk\n* `trunk-2c4p-shuffle` - 2C4P trunk (shuffle)\n* `trunk-2c6p` - 2C6P trunk\n* `trunk-2c8p` - 2C8P trunk\n* `trunk-2c12p` - 2C12P trunk\n* `trunk-4c1p` - 4C1P trunk\n* `trunk-4c2p` - 4C2P trunk\n* `trunk-4c4p` - 4C4P trunk\n* `trunk-4c4p-shuffle` - 4C4P trunk (shuffle)\n* `trunk-4c6p` - 4C6P trunk\n* `trunk-4c8p` - 4C8P trunk\n* `trunk-8c4p` - 8C4P trunk\n* `breakout-1c4p-4c1p` - 1C4P:4C1P breakout\n* `breakout-1c6p-6c1p` - 1C6P:6C1P breakout\n* `breakout-2c4p-8c1p-shuffle` - 2C4P:8C1P breakout (shuffle)",
"x-spec-enum-id": "5e0f85310f0184ea"
"description": "* `single-1c1p` - 1C1P\n* `single-1c2p` - 1C2P\n* `single-1c4p` - 1C4P\n* `single-1c6p` - 1C6P\n* `single-1c8p` - 1C8P\n* `single-1c12p` - 1C12P\n* `single-1c16p` - 1C16P\n* `trunk-2c1p` - 2C1P trunk\n* `trunk-2c2p` - 2C2P trunk\n* `trunk-2c4p` - 2C4P trunk\n* `trunk-2c4p-shuffle` - 2C4P trunk (shuffle)\n* `trunk-2c6p` - 2C6P trunk\n* `trunk-2c8p` - 2C8P trunk\n* `trunk-2c12p` - 2C12P trunk\n* `trunk-4c1p` - 4C1P trunk\n* `trunk-4c2p` - 4C2P trunk\n* `trunk-4c4p` - 4C4P trunk\n* `trunk-4c4p-shuffle` - 4C4P trunk (shuffle)\n* `trunk-4c6p` - 4C6P trunk\n* `trunk-4c8p` - 4C8P trunk\n* `trunk-8c4p` - 8C4P trunk\n* `breakout-1c2p-2c1p` - 1C2P:2C1P breakout\n* `breakout-1c4p-4c1p` - 1C4P:4C1P breakout\n* `breakout-1c6p-6c1p` - 1C6P:6C1P breakout\n* `breakout-2c4p-8c1p-shuffle` - 2C4P:8C1P breakout (shuffle)",
"x-spec-enum-id": "f566e6df6572f5d0"
},
"label": {
"type": "string",
@@ -228078,6 +228123,7 @@
"4C6P trunk",
"4C8P trunk",
"8C4P trunk",
"1C2P:2C1P breakout",
"1C4P:4C1P breakout",
"1C6P:6C1P breakout",
"2C4P:8C1P breakout (shuffle)"
@@ -228282,13 +228328,14 @@
"trunk-4c6p",
"trunk-4c8p",
"trunk-8c4p",
"breakout-1c2p-2c1p",
"breakout-1c4p-4c1p",
"breakout-1c6p-6c1p",
"breakout-2c4p-8c1p-shuffle"
],
"type": "string",
"description": "* `single-1c1p` - 1C1P\n* `single-1c2p` - 1C2P\n* `single-1c4p` - 1C4P\n* `single-1c6p` - 1C6P\n* `single-1c8p` - 1C8P\n* `single-1c12p` - 1C12P\n* `single-1c16p` - 1C16P\n* `trunk-2c1p` - 2C1P trunk\n* `trunk-2c2p` - 2C2P trunk\n* `trunk-2c4p` - 2C4P trunk\n* `trunk-2c4p-shuffle` - 2C4P trunk (shuffle)\n* `trunk-2c6p` - 2C6P trunk\n* `trunk-2c8p` - 2C8P trunk\n* `trunk-2c12p` - 2C12P trunk\n* `trunk-4c1p` - 4C1P trunk\n* `trunk-4c2p` - 4C2P trunk\n* `trunk-4c4p` - 4C4P trunk\n* `trunk-4c4p-shuffle` - 4C4P trunk (shuffle)\n* `trunk-4c6p` - 4C6P trunk\n* `trunk-4c8p` - 4C8P trunk\n* `trunk-8c4p` - 8C4P trunk\n* `breakout-1c4p-4c1p` - 1C4P:4C1P breakout\n* `breakout-1c6p-6c1p` - 1C6P:6C1P breakout\n* `breakout-2c4p-8c1p-shuffle` - 2C4P:8C1P breakout (shuffle)",
"x-spec-enum-id": "5e0f85310f0184ea"
"description": "* `single-1c1p` - 1C1P\n* `single-1c2p` - 1C2P\n* `single-1c4p` - 1C4P\n* `single-1c6p` - 1C6P\n* `single-1c8p` - 1C8P\n* `single-1c12p` - 1C12P\n* `single-1c16p` - 1C16P\n* `trunk-2c1p` - 2C1P trunk\n* `trunk-2c2p` - 2C2P trunk\n* `trunk-2c4p` - 2C4P trunk\n* `trunk-2c4p-shuffle` - 2C4P trunk (shuffle)\n* `trunk-2c6p` - 2C6P trunk\n* `trunk-2c8p` - 2C8P trunk\n* `trunk-2c12p` - 2C12P trunk\n* `trunk-4c1p` - 4C1P trunk\n* `trunk-4c2p` - 4C2P trunk\n* `trunk-4c4p` - 4C4P trunk\n* `trunk-4c4p-shuffle` - 4C4P trunk (shuffle)\n* `trunk-4c6p` - 4C6P trunk\n* `trunk-4c8p` - 4C8P trunk\n* `trunk-8c4p` - 8C4P trunk\n* `breakout-1c2p-2c1p` - 1C2P:2C1P breakout\n* `breakout-1c4p-4c1p` - 1C4P:4C1P breakout\n* `breakout-1c6p-6c1p` - 1C6P:6C1P breakout\n* `breakout-2c4p-8c1p-shuffle` - 2C4P:8C1P breakout (shuffle)",
"x-spec-enum-id": "f566e6df6572f5d0"
},
"tenant": {
"oneOf": [
@@ -254488,8 +254535,7 @@
"size": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0,
"title": "Size (MB)"
"minimum": 0
},
"owner": {
"oneOf": [
@@ -254774,14 +254820,15 @@
"trunk-4c6p",
"trunk-4c8p",
"trunk-8c4p",
"breakout-1c2p-2c1p",
"breakout-1c4p-4c1p",
"breakout-1c6p-6c1p",
"breakout-2c4p-8c1p-shuffle",
""
],
"type": "string",
"description": "* `single-1c1p` - 1C1P\n* `single-1c2p` - 1C2P\n* `single-1c4p` - 1C4P\n* `single-1c6p` - 1C6P\n* `single-1c8p` - 1C8P\n* `single-1c12p` - 1C12P\n* `single-1c16p` - 1C16P\n* `trunk-2c1p` - 2C1P trunk\n* `trunk-2c2p` - 2C2P trunk\n* `trunk-2c4p` - 2C4P trunk\n* `trunk-2c4p-shuffle` - 2C4P trunk (shuffle)\n* `trunk-2c6p` - 2C6P trunk\n* `trunk-2c8p` - 2C8P trunk\n* `trunk-2c12p` - 2C12P trunk\n* `trunk-4c1p` - 4C1P trunk\n* `trunk-4c2p` - 4C2P trunk\n* `trunk-4c4p` - 4C4P trunk\n* `trunk-4c4p-shuffle` - 4C4P trunk (shuffle)\n* `trunk-4c6p` - 4C6P trunk\n* `trunk-4c8p` - 4C8P trunk\n* `trunk-8c4p` - 8C4P trunk\n* `breakout-1c4p-4c1p` - 1C4P:4C1P breakout\n* `breakout-1c6p-6c1p` - 1C6P:6C1P breakout\n* `breakout-2c4p-8c1p-shuffle` - 2C4P:8C1P breakout (shuffle)",
"x-spec-enum-id": "5e0f85310f0184ea"
"description": "* `single-1c1p` - 1C1P\n* `single-1c2p` - 1C2P\n* `single-1c4p` - 1C4P\n* `single-1c6p` - 1C6P\n* `single-1c8p` - 1C8P\n* `single-1c12p` - 1C12P\n* `single-1c16p` - 1C16P\n* `trunk-2c1p` - 2C1P trunk\n* `trunk-2c2p` - 2C2P trunk\n* `trunk-2c4p` - 2C4P trunk\n* `trunk-2c4p-shuffle` - 2C4P trunk (shuffle)\n* `trunk-2c6p` - 2C6P trunk\n* `trunk-2c8p` - 2C8P trunk\n* `trunk-2c12p` - 2C12P trunk\n* `trunk-4c1p` - 4C1P trunk\n* `trunk-4c2p` - 4C2P trunk\n* `trunk-4c4p` - 4C4P trunk\n* `trunk-4c4p-shuffle` - 4C4P trunk (shuffle)\n* `trunk-4c6p` - 4C6P trunk\n* `trunk-4c8p` - 4C8P trunk\n* `trunk-8c4p` - 8C4P trunk\n* `breakout-1c2p-2c1p` - 1C2P:2C1P breakout\n* `breakout-1c4p-4c1p` - 1C4P:4C1P breakout\n* `breakout-1c6p-6c1p` - 1C6P:6C1P breakout\n* `breakout-2c4p-8c1p-shuffle` - 2C4P:8C1P breakout (shuffle)",
"x-spec-enum-id": "f566e6df6572f5d0"
},
"tenant": {
"oneOf": [
@@ -262819,15 +262866,13 @@
"type": "integer",
"maximum": 2147483647,
"minimum": 0,
"nullable": true,
"title": "Memory (MB)"
"nullable": true
},
"disk": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0,
"nullable": true,
"title": "Disk (MB)"
"nullable": true
},
"description": {
"type": "string",
@@ -270340,6 +270385,56 @@
"data"
]
},
"ScriptModule": {
"type": "object",
"description": "Extends the built-in ModelSerializer to enforce calling full_clean() on a copy of the associated instance during\nvalidation. (DRF does not do this by default; see https://github.com/encode/django-rest-framework/issues/3144)",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"display": {
"type": "string",
"readOnly": true
},
"file_path": {
"type": "string",
"readOnly": true
},
"created": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"last_updated": {
"type": "string",
"format": "date-time",
"readOnly": true,
"nullable": true
}
},
"required": [
"created",
"display",
"file_path",
"id",
"last_updated"
]
},
"ScriptModuleRequest": {
"type": "object",
"description": "Extends the built-in ModelSerializer to enforce calling full_clean() on a copy of the associated instance during\nvalidation. (DRF does not do this by default; see https://github.com/encode/django-rest-framework/issues/3144)",
"properties": {
"file": {
"type": "string",
"format": "binary",
"writeOnly": true
}
},
"required": [
"file"
]
},
"Service": {
"type": "object",
"description": "Base serializer class for models inheriting from PrimaryModel.",
@@ -275384,8 +275479,7 @@
"size": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0,
"title": "Size (MB)"
"minimum": 0
},
"owner": {
"allOf": [
@@ -275456,8 +275550,7 @@
"size": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0,
"title": "Size (MB)"
"minimum": 0
},
"owner": {
"oneOf": [
@@ -275662,15 +275755,13 @@
"type": "integer",
"maximum": 2147483647,
"minimum": 0,
"nullable": true,
"title": "Memory (MB)"
"nullable": true
},
"disk": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0,
"nullable": true,
"title": "Disk (MB)"
"nullable": true
},
"description": {
"type": "string",
@@ -275926,15 +276017,13 @@
"type": "integer",
"maximum": 2147483647,
"minimum": 0,
"nullable": true,
"title": "Memory (MB)"
"nullable": true
},
"disk": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0,
"nullable": true,
"title": "Disk (MB)"
"nullable": true
},
"description": {
"type": "string",
@@ -277220,14 +277309,15 @@
"trunk-4c6p",
"trunk-4c8p",
"trunk-8c4p",
"breakout-1c2p-2c1p",
"breakout-1c4p-4c1p",
"breakout-1c6p-6c1p",
"breakout-2c4p-8c1p-shuffle",
""
],
"type": "string",
"description": "* `single-1c1p` - 1C1P\n* `single-1c2p` - 1C2P\n* `single-1c4p` - 1C4P\n* `single-1c6p` - 1C6P\n* `single-1c8p` - 1C8P\n* `single-1c12p` - 1C12P\n* `single-1c16p` - 1C16P\n* `trunk-2c1p` - 2C1P trunk\n* `trunk-2c2p` - 2C2P trunk\n* `trunk-2c4p` - 2C4P trunk\n* `trunk-2c4p-shuffle` - 2C4P trunk (shuffle)\n* `trunk-2c6p` - 2C6P trunk\n* `trunk-2c8p` - 2C8P trunk\n* `trunk-2c12p` - 2C12P trunk\n* `trunk-4c1p` - 4C1P trunk\n* `trunk-4c2p` - 4C2P trunk\n* `trunk-4c4p` - 4C4P trunk\n* `trunk-4c4p-shuffle` - 4C4P trunk (shuffle)\n* `trunk-4c6p` - 4C6P trunk\n* `trunk-4c8p` - 4C8P trunk\n* `trunk-8c4p` - 8C4P trunk\n* `breakout-1c4p-4c1p` - 1C4P:4C1P breakout\n* `breakout-1c6p-6c1p` - 1C6P:6C1P breakout\n* `breakout-2c4p-8c1p-shuffle` - 2C4P:8C1P breakout (shuffle)",
"x-spec-enum-id": "5e0f85310f0184ea"
"description": "* `single-1c1p` - 1C1P\n* `single-1c2p` - 1C2P\n* `single-1c4p` - 1C4P\n* `single-1c6p` - 1C6P\n* `single-1c8p` - 1C8P\n* `single-1c12p` - 1C12P\n* `single-1c16p` - 1C16P\n* `trunk-2c1p` - 2C1P trunk\n* `trunk-2c2p` - 2C2P trunk\n* `trunk-2c4p` - 2C4P trunk\n* `trunk-2c4p-shuffle` - 2C4P trunk (shuffle)\n* `trunk-2c6p` - 2C6P trunk\n* `trunk-2c8p` - 2C8P trunk\n* `trunk-2c12p` - 2C12P trunk\n* `trunk-4c1p` - 4C1P trunk\n* `trunk-4c2p` - 4C2P trunk\n* `trunk-4c4p` - 4C4P trunk\n* `trunk-4c4p-shuffle` - 4C4P trunk (shuffle)\n* `trunk-4c6p` - 4C6P trunk\n* `trunk-4c8p` - 4C8P trunk\n* `trunk-8c4p` - 8C4P trunk\n* `breakout-1c2p-2c1p` - 1C2P:2C1P breakout\n* `breakout-1c4p-4c1p` - 1C4P:4C1P breakout\n* `breakout-1c6p-6c1p` - 1C6P:6C1P breakout\n* `breakout-2c4p-8c1p-shuffle` - 2C4P:8C1P breakout (shuffle)",
"x-spec-enum-id": "f566e6df6572f5d0"
},
"tenant": {
"oneOf": [
@@ -285520,15 +285610,13 @@
"type": "integer",
"maximum": 2147483647,
"minimum": 0,
"nullable": true,
"title": "Memory (MB)"
"nullable": true
},
"disk": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0,
"nullable": true,
"title": "Disk (MB)"
"nullable": true
},
"description": {
"type": "string",

View File

@@ -220,6 +220,14 @@ This parameter defines the URL of the repository that will be checked for new Ne
---
## RQ
Default: `{}` (Empty)
This is a wrapper for passing global configuration parameters to [Django RQ](https://github.com/rq/django-rq) to customize its behavior. It is employed within NetBox primarily to alter conditions during testing.
---
## RQ_DEFAULT_TIMEOUT
Default: `300`

View File

@@ -1,5 +1,31 @@
# NetBox v4.5
## v4.5.7 (2026-04-03)
### Enhancements
* [#21095](https://github.com/netbox-community/netbox/issues/21095) - Adopt IEC unit labels (e.g. GiB) for virtual machine resources
* [#21696](https://github.com/netbox-community/netbox/issues/21696) - Add support for django-rq 4.0 and introduce `RQ` configuration parameter
* [#21701](https://github.com/netbox-community/netbox/issues/21701) - Support uploading custom scripts via the REST API (`/api/extras/scripts/upload/`)
* [#21760](https://github.com/netbox-community/netbox/issues/21760) - Add a 1C2P:2C1P breakout cable profile
### Performance Improvements
* [#21655](https://github.com/netbox-community/netbox/issues/21655) - Optimize queries for object and multi-object type custom fields
### Bug Fixes
* [#20474](https://github.com/netbox-community/netbox/issues/20474) - Fix installation of modules with placeholder values in component names
* [#21498](https://github.com/netbox-community/netbox/issues/21498) - Fix server error triggered by event rules referencing deleted objects
* [#21533](https://github.com/netbox-community/netbox/issues/21533) - Ensure read-only fields are included in REST API responses upon object creation
* [#21535](https://github.com/netbox-community/netbox/issues/21535) - Fix filtering of object-type custom fields when "is empty" is selected
* [#21784](https://github.com/netbox-community/netbox/issues/21784) - Fix `AttributeError` exception when sorting a table as an anonymous user
* [#21808](https://github.com/netbox-community/netbox/issues/21808) - Fix `RelatedObjectDoesNotExist` exception when viewing an interface with a virtual circuit termination
* [#21810](https://github.com/netbox-community/netbox/issues/21810) - Fix `AttributeError` exception when viewing virtual chassis member
* [#21825](https://github.com/netbox-community/netbox/issues/21825) - Fix sorting by broken columns in several object lists
---
## v4.5.6 (2026-03-31)
### Enhancements

View File

@@ -1,3 +1,3 @@
version: "4.5.6"
version: "4.5.7"
edition: "Community"
published: "2026-03-31"
published: "2026-04-03"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -3,7 +3,7 @@
[project]
name = "netbox"
version = "4.5.6"
version = "4.5.7"
requires-python = ">=3.12"
description = "The premier source of truth powering network automation."
readme = "README.md"

View File

@@ -1,7 +1,7 @@
colorama==0.4.6
Django==5.2.12
django-cors-headers==4.9.0
django-debug-toolbar==6.2.0
django-debug-toolbar==6.3.0
django-filter==25.2
django-graphiql-debug-toolbar==0.2.0
django-htmx==1.27.0
@@ -17,7 +17,7 @@ django-taggit==6.1.0
django-timezone-field==7.2.1
djangorestframework==3.16.1
drf-spectacular==0.29.0
drf-spectacular-sidecar==2026.3.1
drf-spectacular-sidecar==2026.4.1
feedparser==6.0.12
gunicorn==25.3.0
Jinja2==3.1.6
@@ -29,7 +29,7 @@ mkdocstrings==1.0.3
mkdocstrings-python==2.0.3
netaddr==1.3.0
nh3==0.3.4
Pillow==12.1.1
Pillow==12.2.0
psycopg[c,pool]==3.3.3
PyYAML==6.0.3
requests==2.33.1
@@ -41,4 +41,4 @@ strawberry-graphql==0.312.2
strawberry-graphql-django==0.82.1
svgwrite==1.4.3
tablib==3.9.0
tzdata==2025.3
tzdata==2026.1