From c8985f426d1a713b37d9a70fe423cb10ef424a02 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 15 Oct 2026 06:03:24 +0000 Subject: [PATCH 1/2] Bump newrelic from 13.5.0 to 14.0.0 Bumps [newrelic](https://github.com/newrelic/newrelic-python-agent) from 13.5.0 to 14.0.0. - [Release notes](https://github.com/newrelic/newrelic-python-agent/releases) - [Commits](https://github.com/newrelic/newrelic-python-agent/compare/v13.5.0...v14.0.0) --- updated-dependencies: - dependency-name: newrelic dependency-version: 14.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index d282b10..714f60c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,7 +7,7 @@ django==6.1.2 icalendar==7.3.0 jdcal==1.4.1 mcp==2.3.0 -newrelic==13.5.0 +newrelic==14.0.0 python-dateutil==2.9.0.post0 requests==2.34.2 servestatic==4.4.0 From 62745d7cdde5e9a8509189d7b735beaa162f106e Mon Sep 17 00:00:00 2001 From: Brian Glass Date: Thu, 15 Oct 2026 11:00:23 -0400 Subject: [PATCH 2/2] Skip newrelic's C extensions when building the image newrelic 14.0.0 has no wheel for Python 3.15, and its setup.py's fallback for a failed extension build raises NameError on DistutilsPlatformError, so the build fails on the compiler-less slim image. 13.5.0 fell back to pure Python; NEW_RELIC_EXTENSIONS=false gets the same result directly. Co-Authored-By: Claude Opus 5.5 --- Dockerfile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Dockerfile b/Dockerfile index df942a0..b7905a9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,6 +9,12 @@ WORKDIR /orthocal CMD ["newrelic-admin", "run-program", "python", "server.py"] COPY requirements.txt . +# newrelic has no wheel for this Python, so pip builds it from source, and the +# slim image has no C compiler. Skip its optional C extensions outright: +# newrelic 14.0.0's fallback for a failed extension build is broken (its +# setup.py raises NameError on DistutilsPlatformError), and it would fall back +# to pure Python anyway. +ENV NEW_RELIC_EXTENSIONS=false # --no-compile skips pip's own bytecode compilation during install -- the # explicit compileall pass below (needed regardless, since it also covers # our own app code, not just installed packages) makes it redundant.