Skip to main content
Version: v3

DevPortal 3.0.0 release sheet

Release date: 2026-10-02

What changed​

New features and enhancements​

  • The default plugins include 20 entries, with 18 enabled by default; the stock Home page and legacy theme are disabled. It replaces 13 local plugin paths with digest-pinned OCI packages: TechDocs, TechDocs backend, TechDocs module addons, Notifications, Notifications backend, Signals, Signals backend, Catalog Extensions, Dynamic Home Page, RBAC, Tech Radar, Tech Radar backend, and Global Header.

  • Marketplace 0.3.0 updates installation storage to keep one row per plugin. The Marketplace card is the devportal-marketplace-frontend-dynamic artifact.

  • The 1.52.0 catalog adds Packages for Azure Scaffolder Actions, Bitbucket Cloud Catalog Integration, Bitbucket Cloud Scaffolder Actions, Bitbucket Server Catalog Integration, and Bitbucket Server Scaffolder Actions.

  • Deploy configuration takes precedence over Marketplace rows, and Marketplace rows take precedence over the default plugin entries.

Breaking changes and upgrade notes​

  • Moving from 2.x to 3.0.0 requires a fresh database. Keep the 2.x database untouched so you can return to 2.x on it.

  • Overrides that name default plugins by their former ./dynamic-plugins/dist/... local paths no longer match, so the default remains enabled. Use the current full OCI reference under global.dynamic.plugins to disable or reconfigure the plugin. A tag or digest pins that artifact version; update or remove the override when the default plugins change.

Deprecated and removed features​

  • The 1.52.0 catalog omits ansible-plugin, ai-integrations, software-catalog-mcp-tool, and techdocs-mcp-tool. The AI Model Catalog is not included in 3.0.0.

Fixed issues​

  • The catalog now offers five additional plugin Packages, and the four unsupported or unavailable Plugin entities listed above leave the 1.52.0 index.

  • The release path promotes the approved image by digest and preserves the manifest digest when it copies the image to the final tag.

Fixed security issues​

The image update fixes the following advisories from the beta.10 scan. The last column gives a fixed package version used by the image; multiple values show separately updated major versions.

IDPackageFixed in
CVE-2026-59873, CVE-2026-59874, CVE-2026-73566tar7.5.22
CVE-2026-47683, CVE-2026-47686, CVE-2026-47698, GHSA-m5w8-4gq2-6f8x, GHSA-v836-6xw4-9cx3vm23.11.7
CVE-2026-101916@grpc/grpc-js1.14.5
CVE-2026-101898, CVE-2026-101901, CVE-2026-101903, CVE-2026-101905, CVE-2026-101906, CVE-2026-101907, CVE-2026-101909axios1.20.0
CVE-2026-102276, CVE-2026-102278, CVE-2026-13149, CVE-2026-14257, CVE-2026-69152brace-expansion1.1.20, 2.1.6, 3.0.8, 5.0.11
CVE-2026-13676, CVE-2026-16221, CVE-2026-18446, CVE-2026-6321, CVE-2026-6322, CVE-2026-75899, CVE-2026-75975, CVE-2026-76172, CVE-2026-84292fast-uri3.1.7
CVE-2026-55603http-proxy-middleware3.0.7
CVE-2026-59869, CVE-2026-84375, GHSA-5p4m-2wfm-xmqjjs-yaml3.15.2, 4.3.2
CVE-2026-77037, CVE-2026-77078, CVE-2026-82333multer2.3.0
CVE-2026-33671picomatch2.3.2, 3.0.2, 4.0.4
CVE-2026-19534, CVE-2026-84961undici 6.x and 7.x6.28.1, 7.29.1
CVE-2026-48779ws8.22.0

The image also lifts vm2 to 3.11.7, covering ten further critical advisories published on 2026-10-01 and reported against the 3.0.0-rc.1 image: CVE-2026-92935, CVE-2026-92937, CVE-2026-92938, CVE-2026-92939, CVE-2026-92940, CVE-2026-92941, CVE-2026-92944, CVE-2026-92948, CVE-2026-92951, CVE-2026-92957.

What goes together​

Use these values together. Pin the image by its digest.

PartValue
Imagedocker.io/veecode/devportal:3.0.0@sha256:585daa40009ca79988766a717257d592bce0f711b851fa06c200954aeafc6564
Image digestsha256:585daa40009ca79988766a717257d592bce0f711b851fa06c200954aeafc6564
Chartdevportal 1.0.0
Chart checksum (SHA-256)b8e8cf04e23b5667ae30f095cce2df67c683c73b95f81ea2ef94d914aaa1e9f0
Backstage version1.52.0
Plugin tag linebs_1.52.0
Catalog indexquay.io/veecode/plugin-catalog-index:bs_1.52.0, qualified at sha256:af12436b9538d16cdd585a5cf89b69768deb5ac2dd78ead5b0ec749e476b5c35
Catalog index tag for pinningquay.io/veecode/plugin-catalog-index:bs_1.52.0_20261002T135533
Qualified onKubernetes 1.35.0, PostgreSQL 16 (image postgres:16)

bs_1.52.0 names the Backstage version the plugin artifacts target. The catalog index tag moves when the catalog is republished. During an incident, pin the timestamped tag above.

Backstage packages​

PackageVersion
@backstage/backend-app-api1.7.1
@backstage/backend-defaults0.17.3
@backstage/backend-dev-utils0.1.7
@backstage/backend-dynamic-feature-service0.8.3
@backstage/backend-openapi-utils0.6.10
@backstage/backend-plugin-api1.9.2
@backstage/catalog-client1.16.0
@backstage/catalog-model1.9.0
@backstage/cli-common0.2.2
@backstage/cli-node0.3.3
@backstage/config1.3.8
@backstage/config-loader1.10.12
@backstage/connections0.1.0
@backstage/errors1.3.1
@backstage/filter-predicates0.1.3
@backstage/integration2.0.3
@backstage/integration-aws-node0.1.21
@backstage/plugin-app-backend0.5.15
@backstage/plugin-app-node0.1.46
@backstage/plugin-auth-backend0.29.1
@backstage/plugin-auth-backend-module-atlassian-provider0.4.16
@backstage/plugin-auth-backend-module-auth0-provider0.4.2
@backstage/plugin-auth-backend-module-azure-easyauth-provider0.2.21
@backstage/plugin-auth-backend-module-bitbucket-provider0.3.16
@backstage/plugin-auth-backend-module-bitbucket-server-provider0.2.16
@backstage/plugin-auth-backend-module-cloudflare-access-provider0.4.16
@backstage/plugin-auth-backend-module-gcp-iap-provider0.4.16
@backstage/plugin-auth-backend-module-github-provider0.5.4
@backstage/plugin-auth-backend-module-gitlab-provider0.4.4
@backstage/plugin-auth-backend-module-google-provider0.3.16
@backstage/plugin-auth-backend-module-guest-provider0.2.20
@backstage/plugin-auth-backend-module-microsoft-provider0.3.16
@backstage/plugin-auth-backend-module-oauth2-proxy-provider0.3.0
@backstage/plugin-auth-backend-module-oidc-provider0.4.17
@backstage/plugin-auth-backend-module-okta-provider0.2.16
@backstage/plugin-auth-backend-module-onelogin-provider0.3.16
@backstage/plugin-auth-node0.7.2
@backstage/plugin-catalog-backend3.8.0
@backstage/plugin-catalog-backend-module-logs0.1.23
@backstage/plugin-catalog-backend-module-openapi0.2.23
@backstage/plugin-catalog-backend-module-scaffolder-entity-model0.2.21
@backstage/plugin-catalog-common1.1.10
@backstage/plugin-catalog-node2.2.2
@backstage/plugin-events-backend0.6.3
@backstage/plugin-events-backend-module-gitlab0.3.13
@backstage/plugin-events-node0.4.23
@backstage/plugin-permission-backend0.7.13
@backstage/plugin-permission-common0.9.9
@backstage/plugin-permission-node0.11.1
@backstage/plugin-proxy-backend0.6.14
@backstage/plugin-proxy-node0.1.16
@backstage/plugin-scaffolder-backend4.0.1
@backstage/plugin-scaffolder-common2.2.1
@backstage/plugin-scaffolder-node0.13.4
@backstage/plugin-search-backend2.1.3
@backstage/plugin-search-backend-module-catalog0.3.16
@backstage/plugin-search-backend-module-pg0.5.56
@backstage/plugin-search-backend-node1.4.5
@backstage/plugin-search-common1.2.24
@backstage/plugin-signals-node0.2.2
@backstage/plugin-user-settings-backend0.4.4
@backstage/plugin-user-settings-common0.1.0
@backstage/types1.2.2

Vulnerability report​

  • Image scanned: docker.io/veecode/devportal@sha256:585daa40009ca79988766a717257d592bce0f711b851fa06c200954aeafc6564
  • Scanner: Trivy 0.74.0, database dated 2026-10-02.
  • Critical vulnerabilities with a fix and no live exception: 0.
SeverityReportedWith a fixAccepted as an exception
CRITICAL000
HIGH561315
MEDIUM4601290
LOW145160
UNKNOWN000

A release does not ship with a critical vulnerability that has a fix and no live exception.

Exceptions​

IDPackageSeverityReasonExpires
CVE-2026-82659nodemailer 8.0.11HIGHThe fix requires a major update to 9.0.1.2026-12-30
GHSA-2x7j-588g-ccc2nodemailer 8.0.11HIGHThe fix requires a major update to 9.1.0.2026-12-30
GHSA-v53p-9fqp-m79jnodemailer 8.0.11HIGHThe fix requires a major update to 10.0.6.2026-12-30
CVE-2026-67422pymdown-extensions 10.19.1HIGHThe fix requires a major update to 11.0.1.2026-12-30
CVE-2026-12151undici 5.29.0HIGHFixes require a major update to 6.27.0, 7.28.0, or 8.5.0.2026-12-30
CVE-2026-1526undici 5.29.0HIGHFixes require a major update to 6.24.0 or 7.24.0.2026-12-30
CVE-2026-2229undici 5.29.0HIGHFixes require a major update to 6.24.0 or 7.24.0.2026-12-30
CVE-2026-55553urllib 3.27.3HIGHThe 4.9.1 fix is a major update; 2.44.1 would downgrade the installed version.2026-12-30
CVE-2025-66418urllib3 2.2.2HIGHThe requirements inputs pin 2.2.2, preventing pip-tools from compiling 2.6.0. Build-tool pins may also need raising; this was not tested.2026-12-30
CVE-2025-66471urllib3 2.2.2HIGHThe requirements inputs pin 2.2.2, preventing pip-tools from compiling 2.6.0. Build-tool pins may also need raising; this was not tested.2026-12-30
CVE-2026-21441urllib3 2.2.2HIGHThe requirements inputs pin 2.2.2, preventing pip-tools from compiling 2.6.3. Build-tool pins may also need raising; this was not tested.2026-12-30
CVE-2026-44431urllib3 2.2.2HIGHThe requirements inputs pin 2.2.2, preventing pip-tools from compiling 2.7.0. Build-tool pins may also need raising; this was not tested.2026-12-30
CVE-2026-97687urllib3 2.2.2HIGHThe requirements inputs pin 2.2.2, preventing pip-tools from compiling 2.8.0. Build-tool pins may also need raising; this was not tested.2026-12-30
CVE-2026-97689urllib3 2.2.2HIGHThe requirements inputs pin 2.2.2, preventing pip-tools from compiling 2.8.0. Build-tool pins may also need raising; this was not tested.2026-12-30

An exception expires on the date shown. After that date, the finding counts again and blocks a release.

Plugins enabled by default​

The table contains one row for each OCI artifact enabled by default, including the Marketplace card. These artifact scans are reports and do not block the image release.

ArtifactDigestPackagesCriticalHighMediumLowUnknownCritical with a fixResult
quay.io/veecode/backstage-community-plugin-rbac36e9f606223d1000000scanned
quay.io/veecode/backstage-community-plugin-tech-radar-backend71f7f6c4816178012200scanned
quay.io/veecode/backstage-community-plugin-tech-radar2a5e149c22bd1000000scanned
quay.io/veecode/backstage-plugin-notifications-backendb089cdda6380109002100scanned
quay.io/veecode/backstage-plugin-notificationsbb3c3f0739f81000000scanned
quay.io/veecode/backstage-plugin-signals-backend3767a18cdb4583012100scanned
quay.io/veecode/backstage-plugin-signals8764b50b78b61000000scanned
quay.io/veecode/backstage-plugin-techdocs-backenda52ab2f01ccf42702528200scanned
quay.io/veecode/backstage-plugin-techdocs-module-addons-contrib9feeac06c77e1000000scanned
quay.io/veecode/backstage-plugin-techdocsd8222a85e6a41000000scanned
quay.io/veecode/devportal-marketplace-backend153527c7d51078003100scanned
quay.io/veecode/devportal-marketplace-frontend-dynamic311de8798d0d1000000scanned
quay.io/veecode/devportal-pending-changes-dynamic18d75d59e2871000000scanned
quay.io/veecode/red-hat-developer-hub-backstage-plugin-catalog-backend-module-extensions9fad03e713fe150113100scanned
quay.io/veecode/red-hat-developer-hub-backstage-plugin-global-header2a622b6a8c301000000scanned
quay.io/veecode/veecode-platform-backstage-plugin-about-backend99ca46df8ebd10000000scanned
quay.io/veecode/veecode-platform-backstage-plugin-about5746126ea0121000000scanned
quay.io/veecode/veecode-platform-plugin-veecode-homepage897d9ae74de41000000scanned

Known limitations​

  • DevPortal 3.0.0 crashes on startup when it uses an SQLite database under Node.js 24.19.0. Only SQLite-backed installations are affected; PostgreSQL-backed installations are not. Work around the crash by using PostgreSQL or upgrading the image to 3.0.1 (use chart 1.0.1 for Helm installs), which fixes it.

  • The default plugins ship the Red Hat dynamic Home page entry disabled. Enabling it (for example from its Marketplace card) leaves the portal's pages empty, because it registers the same frontend API as the DevPortal home page. Keep it disabled.

  • An offline install must mirror the catalog index as well as the OCI plugin artifacts. In beta.10 tests, the installer fetched the index before loading cached plugin artifacts and stopped when Quay was unreachable.

  • In beta.10 measurements, median readiness took 67.237 seconds with an empty plugin volume and 19.514 seconds with a populated volume. These are beta.10 measurements, not measurements of the final 3.0.0 candidate.