Skip to content

chore(release): v2.7.3 - #295

Merged
Paulo Lacerda (placerda) merged 7 commits into
mainfrom
release/2.7.3
Sep 3, 2026
Merged

chore(release): v2.7.3#295
Paulo Lacerda (placerda) merged 7 commits into
mainfrom
release/2.7.3

Conversation

@placerda

Copy link
Copy Markdown
Contributor

Release v2.7.3 of gpt-rag-ingestion.

Fixed

  • Hosted/panel deployment mode gating for the admin surface (Azure/GPT-RAG#592). The admin SPA and every admin API route were mounted unconditionally at import time regardless of deployment mode, and DEPLOY_ADMINISTRATIVE_PANEL was never read. Mounting is now resolved once from App Configuration inside the ASGI lifespan. Classic mode is unchanged; hosted/no-panel now fails closed.
  • Hosted/panel startup validation also fails closed on missing Entra ID configuration, not just Cosmos.
  • GET /api/panel/feedback no longer 500s permanently on a single malformed Cosmos document, and no longer silently drops documents missing rating.
  • POST /api/panel/feedback no longer 500s on a Cosmos write exception.

Added

  • New /api/panel/* administrative panel API for hosted/panel deployments: GET /api/panel/status, GET/POST /api/panel/feedback, GET /api/panel/overview. Every route requires the Entra Admin app role.

Housekeeping

  • Removed four private validation environment and resource group names that had leaked into historical v2.4.11-v2.4.13 and Zero Trust changelog entries.

Validation

Contents

Merges #271 into main. The other two commits since v2.7.2 are internal
(a .github/copilot-instructions.md update and a dev-only Dependabot bump in
frontend/package-lock.json) and carry no user-visible change.

Note: this release does not reach deployments until the umbrella
Azure/GPT-RAG manifest.json is repinned from v2.7.2 to v2.7.3.

* ci: run the existing unit test suite on every pull request

* fix(deps): align opentelemetry instrumentation with azure-monitor distro

The Dependabot bump in #282 pinned opentelemetry-instrumentation-httpx to
0.65b0, which azure-monitor-opentelemetry excludes (>=0.64b0,<0.65.0). The pin
forced opentelemetry-sdk 1.44 and made pip backtrack to
azure-monitor-opentelemetry-exporter 1.0.0b45, which imports LogData from
opentelemetry.sdk._logs - a symbol removed in 1.44. Since telemetry/telemetry.py
imports configure_azure_monitor at module scope and main.py imports telemetry at
startup, the container failed to boot.

Also install pytest-asyncio so the async tests actually execute.
Aligns gpt-rag-ingestion with gpt-rag-ui, gpt-rag-orchestrator and the umbrella
repository, which all guard main against non-release pull requests. The regex
allows exactly release/<MAJOR>.<MINOR>.<PATCH>, as required by the release
process.
#291)

Bumps [@humanfs/node](https://github.com/humanwhocodes/humanfs/tree/HEAD/packages/node) from 0.16.7 to 0.16.8.
- [Release notes](https://github.com/humanwhocodes/humanfs/releases)
- [Changelog](https://github.com/humanwhocodes/humanfs/blob/main/packages/node/CHANGELOG.md)
- [Commits](https://github.com/humanwhocodes/humanfs/commits/node-v0.16.8/packages/node)

---
updated-dependencies:
- dependency-name: "@humanfs/node"
  dependency-version: 0.16.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Gates the administrative panel surfaces behind the resolved deployment mode
(ADR-0001, Azure/GPT-RAG#592).

Before this change `main.py` mounted `admin_router` and the `/dashboard` SPA
unconditionally at module import time, regardless of deployment mode, and never
consumed `DEPLOY_ADMINISTRATIVE_PANEL`. All of that mounting now happens inside
`_mount_admin_and_panel_surface(mode)`, called once from `lifespan()` after the
mode is resolved from App Configuration.

- New `utils/deployment_mode.py` resolves CLASSIC / HOSTED_NO_PANEL /
  HOSTED_PANEL once at startup and exposes `admin_surface_enabled()` and
  `panel_surface_enabled()`.
- HOSTED_PANEL fails closed at startup when Cosmos DB or Entra ID settings are
  missing, instead of serving an unauthenticated surface.
- CLASSIC keeps the current behaviour unchanged; no regression for existing
  deployments.
- Adds `/api/panel/*` read surfaces and blob metadata support.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 5fb4d435-911e-4149-aef6-5f393697c46e
Convert the `[Unreleased]` heading to `## [v2.7.3] - 2026-09-03`.

Also strip four private validation environment and resource group names that
had leaked into historical v2.4.11-v2.4.13 and Zero Trust entries
(`gptrag-*` / `rg-gptrag-*` / the azd-token container app name). Those are
throwaway maintainer environments and carry no value for operators.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 5fb4d435-911e-4149-aef6-5f393697c46e
@placerda
Paulo Lacerda (placerda) merged commit 38a3955 into main Sep 3, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant