From 3e984c50bffd21114ac745743d4656df12454009 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Feb 2026 15:34:40 +0000 Subject: [PATCH 1/8] chore(deps): update dependency sentry-sdk to v2.52.0 --- requirements-container.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-container.txt b/requirements-container.txt index ebe01cb..2c39e2b 100644 --- a/requirements-container.txt +++ b/requirements-container.txt @@ -4,4 +4,4 @@ granian[uvloop]==2.7.0 python3-saml==1.16.0 --no-binary lxml --no-binary xmlsec -sentry-sdk[django]==2.51.0 +sentry-sdk[django]==2.52.0 From f0d0bbc8520054be1b6e0a048753a55fb3f38de0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 5 Feb 2026 22:28:03 +0000 Subject: [PATCH 2/8] chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.10 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 91f814f..ab74028 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ ARG FROM FROM ${FROM} AS builder -COPY --from=ghcr.io/astral-sh/uv:0.9 /uv /usr/local/bin/ +COPY --from=ghcr.io/astral-sh/uv:0.10 /uv /usr/local/bin/ RUN export DEBIAN_FRONTEND=noninteractive \ && apt-get update -qq \ && apt-get upgrade \ From 99cf56960cd9eb5f77c6678052fbeaa128a9489f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 8 Feb 2026 20:41:47 +0000 Subject: [PATCH 3/8] chore(deps): update dependency granian to v2.7.1 --- requirements-container.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-container.txt b/requirements-container.txt index 2c39e2b..a8d7680 100644 --- a/requirements-container.txt +++ b/requirements-container.txt @@ -1,6 +1,6 @@ django-auth-ldap==5.3.0 dulwich==1.0.0 -granian[uvloop]==2.7.0 +granian[uvloop]==2.7.1 python3-saml==1.16.0 --no-binary lxml --no-binary xmlsec From 42892c1d3a434c1f0b40d42ae36d2d8f9d09888d Mon Sep 17 00:00:00 2001 From: OMGhast Date: Thu, 12 Feb 2026 00:11:01 -0600 Subject: [PATCH 4/8] Copilot config setting for configuraiton.py (#1620) * Update configuration.py - COPILOT_ENABLED --- configuration/configuration.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configuration/configuration.py b/configuration/configuration.py index f71786a..ab9f096 100644 --- a/configuration/configuration.py +++ b/configuration/configuration.py @@ -363,3 +363,6 @@ TIME_ZONE = environ.get('TIME_ZONE', 'UTC') # If true disables miscellaneous functionality which depends on access to the Internet. ISOLATED_DEPLOYMENT = _environ_get_and_map('ISOLATED_DEPLOYMENT', 'False', _AS_BOOL) + +# Enables or disables the NetBox Copilot agent globally. When enabled, users can opt to toggle the agent individually. +COPILOT_ENABLED = _environ_get_and_map('COPILOT_ENABLED', 'True', _AS_BOOL) From be59b22e531a56e73aa4865a182f5a7b900dd8df Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Feb 2026 14:34:55 +0000 Subject: [PATCH 5/8] chore(deps): update dependency sentry-sdk to v2.53.0 (#1622) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- requirements-container.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-container.txt b/requirements-container.txt index a8d7680..a98d1c9 100644 --- a/requirements-container.txt +++ b/requirements-container.txt @@ -4,4 +4,4 @@ granian[uvloop]==2.7.1 python3-saml==1.16.0 --no-binary lxml --no-binary xmlsec -sentry-sdk[django]==2.52.0 +sentry-sdk[django]==2.53.0 From 51fa7a3484fd7d6f71851be32ebfc8b114a7e9ae Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 17 Feb 2026 23:14:30 +0000 Subject: [PATCH 6/8] chore(deps): update dependency dulwich to v1.1.0 --- requirements-container.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-container.txt b/requirements-container.txt index a98d1c9..4a56580 100644 --- a/requirements-container.txt +++ b/requirements-container.txt @@ -1,5 +1,5 @@ django-auth-ldap==5.3.0 -dulwich==1.0.0 +dulwich==1.1.0 granian[uvloop]==2.7.1 python3-saml==1.16.0 --no-binary lxml From fec1c0b0ae697b9cc2d45acadafa540d6d73f019 Mon Sep 17 00:00:00 2001 From: Felix Prasse Date: Thu, 19 Feb 2026 15:59:39 +0100 Subject: [PATCH 7/8] OIDC configuration --- configuration/configuration.py | 8 ++++++++ env/netbox.env | 9 +++++++++ 2 files changed, 17 insertions(+) diff --git a/configuration/configuration.py b/configuration/configuration.py index ab9f096..5fb5206 100644 --- a/configuration/configuration.py +++ b/configuration/configuration.py @@ -317,6 +317,14 @@ SOCIAL_AUTH_OKTA_OPENIDCONNECT_API_URL = environ.get('SOCIAL_AUTH_OKTA_OPENIDCON SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = environ.get('SOCIAL_AUTH_GOOGLE_OAUTH2_KEY') SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = _read_secret('google_oauth2_secret', environ.get('SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET', '')) +# OIDC Configuration +SOCIAL_AUTH_OIDC_OIDC_ENDPOINT = environ.get('SOCIAL_AUTH_OIDC_OIDC_ENDPOINT') +SOCIAL_AUTH_OIDC_KEY = environ.get('SOCIAL_AUTH_OIDC_KEY') +SOCIAL_AUTH_OIDC_SECRET = _read_secret('oidc_secret', environ.get('SOCIAL_AUTH_OIDC_SECRET', '')) +SOCIAL_AUTH_OIDC_SCOPE = _environ_get_and_map('SOCIAL_AUTH_OIDC_SCOPE', '', _AS_LIST) +LOGOUT_REDIRECT_URL = environ.get('LOGOUT_REDIRECT_URL') +SOCIAL_AUTH_OIDC_JWT_ALGORITHMS = _environ_get_and_map('SOCIAL_AUTH_OIDC_JWT_ALGORITHMS', "RS256", _AS_LIST) + # This repository is used to check whether there is a new release of NetBox available. Set to None to disable the # version check or use the URL below to check for release in the official NetBox repository. RELEASE_CHECK_URL = environ.get('RELEASE_CHECK_URL', None) diff --git a/env/netbox.env b/env/netbox.env index c7b97db..b620ab6 100644 --- a/env/netbox.env +++ b/env/netbox.env @@ -42,3 +42,12 @@ SKIP_SUPERUSER=true # SOCIAL_AUTH_GOOGLE_OAUTH2_KEY=your_google_client_id # SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET=your_google_client_secret WEBHOOKS_ENABLED=true + +# Configuration for OIDC +# REMOTE_AUTH_BACKEND='social_core.backends.open_id_connect.OpenIdConnectAuth' +# SOCIAL_AUTH_OIDC_OIDC_ENDPOINT='https://example.org' +# SOCIAL_AUTH_OIDC_KEY='' +# SOCIAL_AUTH_OIDC_SECRET='' +# SOCIAL_AUTH_OIDC_SCOPE=openid profile email roles +# LOGOUT_REDIRECT_URL='https://example.org' +# SOCIAL_AUTH_OIDC_JWT_ALGORITHMS=RS256 From 7ab38e63e5e393aedd899449dac6727c2e24338e Mon Sep 17 00:00:00 2001 From: Tobias Genannt Date: Tue, 24 Feb 2026 19:42:41 +0100 Subject: [PATCH 8/8] Preparation for 4.0.1 --- VERSION | 2 +- docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/VERSION b/VERSION index 0c89fc9..cc868b6 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -4.0.0 \ No newline at end of file +4.0.1 \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 64c67ba..5d06e2a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,6 @@ services: netbox: &netbox - image: docker.io/netboxcommunity/netbox:${VERSION-v4.5-4.0.0} + image: docker.io/netboxcommunity/netbox:${VERSION-v4.5-4.0.1} depends_on: - postgres - redis