From 735a88aa3a7784692d2d0c9fadc935e2eface976 Mon Sep 17 00:00:00 2001 From: sishwarya <63347232+sishwarya@users.noreply.github.com> Date: Mon, 8 Apr 2024 16:42:29 +0530 Subject: [PATCH 01/16] Create deploy.yaml Signed-off-by: sishwarya <63347232+sishwarya@users.noreply.github.com> --- microsite/data/plugins/deploy.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 microsite/data/plugins/deploy.yaml diff --git a/microsite/data/plugins/deploy.yaml b/microsite/data/plugins/deploy.yaml new file mode 100644 index 0000000000..7d4481eeda --- /dev/null +++ b/microsite/data/plugins/deploy.yaml @@ -0,0 +1,10 @@ +--- +title: Digital.ai Deploy +author: Deploy +authorUrl: https://docs.digital.ai/category/deploy +category: Development +description: Deploy is an agentless deployment automation solution, enabling software development organizations to deploy, upgrade, and rollback complex applications to target environments! +documentation: https://github.com/coder/backstage-plugins/blob/main/plugins/backstage-plugin-coder/README.md +iconUrl: /img/deploy.png +npmPackageName: '@digital.ai/plugin-dai-deploy','@digital.ai/plugin-dai-deploy-backend' +addedDate: '2024-04-8' From f9e4a3d39df7a8ecbfd92e15c4bce65d1f415224 Mon Sep 17 00:00:00 2001 From: sishwarya <63347232+sishwarya@users.noreply.github.com> Date: Mon, 8 Apr 2024 16:45:17 +0530 Subject: [PATCH 02/16] Update deploy.yaml Signed-off-by: sishwarya <63347232+sishwarya@users.noreply.github.com> --- microsite/data/plugins/deploy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/microsite/data/plugins/deploy.yaml b/microsite/data/plugins/deploy.yaml index 7d4481eeda..d5359863f0 100644 --- a/microsite/data/plugins/deploy.yaml +++ b/microsite/data/plugins/deploy.yaml @@ -2,7 +2,7 @@ title: Digital.ai Deploy author: Deploy authorUrl: https://docs.digital.ai/category/deploy -category: Development +category: CI/CD description: Deploy is an agentless deployment automation solution, enabling software development organizations to deploy, upgrade, and rollback complex applications to target environments! documentation: https://github.com/coder/backstage-plugins/blob/main/plugins/backstage-plugin-coder/README.md iconUrl: /img/deploy.png From 01968f51495455044f05eac77db17c918dd4f184 Mon Sep 17 00:00:00 2001 From: sishwarya <63347232+sishwarya@users.noreply.github.com> Date: Mon, 8 Apr 2024 17:02:59 +0530 Subject: [PATCH 03/16] Update deploy.yaml Signed-off-by: sishwarya <63347232+sishwarya@users.noreply.github.com> --- microsite/data/plugins/deploy.yaml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/microsite/data/plugins/deploy.yaml b/microsite/data/plugins/deploy.yaml index d5359863f0..c1caea4b48 100644 --- a/microsite/data/plugins/deploy.yaml +++ b/microsite/data/plugins/deploy.yaml @@ -1,10 +1,13 @@ --- -title: Digital.ai Deploy -author: Deploy -authorUrl: https://docs.digital.ai/category/deploy +title: Deploy +author: digital.ai +authorUrl: https://digital.ai/ category: CI/CD description: Deploy is an agentless deployment automation solution, enabling software development organizations to deploy, upgrade, and rollback complex applications to target environments! -documentation: https://github.com/coder/backstage-plugins/blob/main/plugins/backstage-plugin-coder/README.md +documentation: https://github.com/digital-ai/backstage-deploy/blob/main/README.md iconUrl: /img/deploy.png -npmPackageName: '@digital.ai/plugin-dai-deploy','@digital.ai/plugin-dai-deploy-backend' +npmPackageName: '@digital.ai/plugin-dai-deploy' +tags: + - ci + - cd addedDate: '2024-04-8' From 21caf84d50334e954354ce969034b38ab0556422 Mon Sep 17 00:00:00 2001 From: Ishwarya Surendrababu Date: Mon, 8 Apr 2024 17:37:23 +0530 Subject: [PATCH 04/16] updated the images and deploy.yaml Signed-off-by: Ishwarya Surendrababu --- microsite/data/plugins/deploy.yaml | 4 ++-- microsite/static/img/deploy.svg | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 microsite/static/img/deploy.svg diff --git a/microsite/data/plugins/deploy.yaml b/microsite/data/plugins/deploy.yaml index c1caea4b48..1e2394a920 100644 --- a/microsite/data/plugins/deploy.yaml +++ b/microsite/data/plugins/deploy.yaml @@ -3,9 +3,9 @@ title: Deploy author: digital.ai authorUrl: https://digital.ai/ category: CI/CD -description: Deploy is an agentless deployment automation solution, enabling software development organizations to deploy, upgrade, and rollback complex applications to target environments! +description: The plugin offers integration with Digital.ai Deploy and backstage components and services. It provide access to deployments and reports. documentation: https://github.com/digital-ai/backstage-deploy/blob/main/README.md -iconUrl: /img/deploy.png +iconUrl: /img/deploy.svg npmPackageName: '@digital.ai/plugin-dai-deploy' tags: - ci diff --git a/microsite/static/img/deploy.svg b/microsite/static/img/deploy.svg new file mode 100644 index 0000000000..d0becb98f1 --- /dev/null +++ b/microsite/static/img/deploy.svg @@ -0,0 +1,7 @@ + + + + + + + From bdf5d3c8e726ea886a27d039147fe1c943173905 Mon Sep 17 00:00:00 2001 From: Ishwarya Surendrababu Date: Wed, 17 Apr 2024 09:15:11 +0530 Subject: [PATCH 05/16] updating docs link Signed-off-by: Ishwarya Surendrababu --- microsite/data/plugins/deploy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/microsite/data/plugins/deploy.yaml b/microsite/data/plugins/deploy.yaml index 1e2394a920..a619a7ba0b 100644 --- a/microsite/data/plugins/deploy.yaml +++ b/microsite/data/plugins/deploy.yaml @@ -4,7 +4,7 @@ author: digital.ai authorUrl: https://digital.ai/ category: CI/CD description: The plugin offers integration with Digital.ai Deploy and backstage components and services. It provide access to deployments and reports. -documentation: https://github.com/digital-ai/backstage-deploy/blob/main/README.md +documentation: https://docs.digital.ai/bundle/devops-deploy-version-v.24.1/page/deploy/concept/xl-deploy-backstage-overview.html iconUrl: /img/deploy.svg npmPackageName: '@digital.ai/plugin-dai-deploy' tags: From 955c7a94b20102bd903e6e1eca44c65e2bd085f7 Mon Sep 17 00:00:00 2001 From: sishwarya <63347232+sishwarya@users.noreply.github.com> Date: Mon, 6 May 2024 16:35:46 +0530 Subject: [PATCH 06/16] Update deploy.yaml Signed-off-by: sishwarya <63347232+sishwarya@users.noreply.github.com> --- microsite/data/plugins/deploy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/microsite/data/plugins/deploy.yaml b/microsite/data/plugins/deploy.yaml index a619a7ba0b..cd96e4b60e 100644 --- a/microsite/data/plugins/deploy.yaml +++ b/microsite/data/plugins/deploy.yaml @@ -10,4 +10,4 @@ npmPackageName: '@digital.ai/plugin-dai-deploy' tags: - ci - cd -addedDate: '2024-04-8' +addedDate: '2024-05-06' From a502dc2c63d03033fc8dec97fd16225d6d62310d Mon Sep 17 00:00:00 2001 From: Ishwarya Surendrababu Date: Tue, 7 May 2024 13:53:56 +0530 Subject: [PATCH 07/16] Updated the title and renamed the file and image Signed-off-by: Ishwarya Surendrababu --- .../data/plugins/{deploy.yaml => digital.ai-deploy.yaml} | 4 ++-- microsite/static/img/{deploy.svg => digital.ai-deploy.svg} | 0 2 files changed, 2 insertions(+), 2 deletions(-) rename microsite/data/plugins/{deploy.yaml => digital.ai-deploy.yaml} (87%) rename microsite/static/img/{deploy.svg => digital.ai-deploy.svg} (100%) diff --git a/microsite/data/plugins/deploy.yaml b/microsite/data/plugins/digital.ai-deploy.yaml similarity index 87% rename from microsite/data/plugins/deploy.yaml rename to microsite/data/plugins/digital.ai-deploy.yaml index cd96e4b60e..3c45330449 100644 --- a/microsite/data/plugins/deploy.yaml +++ b/microsite/data/plugins/digital.ai-deploy.yaml @@ -1,11 +1,11 @@ --- -title: Deploy +title: digital.ai Deploy author: digital.ai authorUrl: https://digital.ai/ category: CI/CD description: The plugin offers integration with Digital.ai Deploy and backstage components and services. It provide access to deployments and reports. documentation: https://docs.digital.ai/bundle/devops-deploy-version-v.24.1/page/deploy/concept/xl-deploy-backstage-overview.html -iconUrl: /img/deploy.svg +iconUrl: /img/digital-ai-deploy.svg npmPackageName: '@digital.ai/plugin-dai-deploy' tags: - ci diff --git a/microsite/static/img/deploy.svg b/microsite/static/img/digital.ai-deploy.svg similarity index 100% rename from microsite/static/img/deploy.svg rename to microsite/static/img/digital.ai-deploy.svg From 5fa3bb2ef9be40e02fb78e0406a1d2333a959234 Mon Sep 17 00:00:00 2001 From: Ishwarya Surendrababu Date: Tue, 7 May 2024 14:06:10 +0530 Subject: [PATCH 08/16] Updating the name Signed-off-by: Ishwarya Surendrababu --- microsite/data/plugins/digital.ai-deploy.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/microsite/data/plugins/digital.ai-deploy.yaml b/microsite/data/plugins/digital.ai-deploy.yaml index 3c45330449..6077f59fa7 100644 --- a/microsite/data/plugins/digital.ai-deploy.yaml +++ b/microsite/data/plugins/digital.ai-deploy.yaml @@ -1,11 +1,11 @@ --- -title: digital.ai Deploy +title: Digital.ai Deploy author: digital.ai authorUrl: https://digital.ai/ category: CI/CD description: The plugin offers integration with Digital.ai Deploy and backstage components and services. It provide access to deployments and reports. documentation: https://docs.digital.ai/bundle/devops-deploy-version-v.24.1/page/deploy/concept/xl-deploy-backstage-overview.html -iconUrl: /img/digital-ai-deploy.svg +iconUrl: /img/digital.ai-deploy.svg npmPackageName: '@digital.ai/plugin-dai-deploy' tags: - ci From 0ec0796d18f80a179c653ca307be174a23f1a4e8 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Tue, 7 May 2024 17:57:51 +0200 Subject: [PATCH 09/16] backend-common: fix plugin auth for mixed usage of old and new system Signed-off-by: Patrik Oldsberg --- .changeset/few-vans-cross.md | 5 ++++ packages/backend-common/src/legacy.ts | 38 +++++++++++++++++++++++++-- 2 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 .changeset/few-vans-cross.md diff --git a/.changeset/few-vans-cross.md b/.changeset/few-vans-cross.md new file mode 100644 index 0000000000..d7a12f6c10 --- /dev/null +++ b/.changeset/few-vans-cross.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-common': patch +--- + +Plugins created through the `legacyPlugin` helper are now able to authenticate requests from plugins that are fully implemented using the new backend system. This fixes the `Key for the ES256 algorithm must be one of type KeyObject or CryptoKey. Received an instance of Uint8Array` error. diff --git a/packages/backend-common/src/legacy.ts b/packages/backend-common/src/legacy.ts index df1030e6b6..6aa991489c 100644 --- a/packages/backend-common/src/legacy.ts +++ b/packages/backend-common/src/legacy.ts @@ -15,6 +15,7 @@ */ import { + AuthService, coreServices, createBackendPlugin, ServiceRef, @@ -22,6 +23,7 @@ import { import { RequestHandler } from 'express'; import { cacheToPluginCacheManager } from './cache'; import { loggerToWinstonLogger } from './logging'; +import { TokenManager } from './tokens'; /** * @public @@ -38,6 +40,31 @@ type TransformedEnv< : TEnv[key]; }; +// Since the plugin will be using the new system our callers will expect us to support the +// new plugin tokens, which we'll also be signaling by supporting the JWKS endpoint through +// the http router. +// This makes sure that we accept the new plugin tokens as valid tokens, but otherwise fall +// back to whatever the token manager is doing. +function wrapTokenManager(tokenManager: TokenManager, auth: AuthService) { + return { + async getToken() { + return tokenManager.getToken(); + }, + async authenticate(token) { + if (token) { + // Unless it's a valid service token, we'll let the token manager do + // validation. We'll throw if we for example receive an invalid user + // token here, but that's what the token manager does too. + const credentials = await auth.authenticate(token); + if (auth.isPrincipal(credentials, 'service')) { + return; + } + } + await tokenManager.authenticate(token); + }, + } satisfies TokenManager; +} + /** * Creates a new custom plugin compatibility wrapper. * @@ -64,8 +91,12 @@ export function makeLegacyPlugin< pluginId: name, register(env) { env.registerInit({ - deps: { ...envMapping, _router: coreServices.httpRouter }, - async init({ _router, ...envDeps }) { + deps: { + ...envMapping, + _router: coreServices.httpRouter, + _auth: coreServices.auth, + }, + async init({ _router, _auth, ...envDeps }) { const { default: createRouter } = await createRouterImport; const pluginEnv = Object.fromEntries( Object.entries(envDeps).map(([key, dep]) => { @@ -73,6 +104,9 @@ export function makeLegacyPlugin< if (transform) { return [key, transform(dep)]; } + if (key === 'tokenManager') { + return [key, wrapTokenManager(dep as TokenManager, _auth)]; + } return [key, dep]; }), ); From 5252ee126829b9d1ccd9f054f976ad3f8a2adc2c Mon Sep 17 00:00:00 2001 From: Thomas Cardonne Date: Tue, 7 May 2024 23:03:35 +0200 Subject: [PATCH 10/16] fix(search-backend-module-elasticsearch): correctly resolve error handling promise Signed-off-by: Thomas Cardonne --- .changeset/afraid-ghosts-watch.md | 5 +++++ .../src/engines/ElasticSearchSearchEngine.ts | 1 + 2 files changed, 6 insertions(+) create mode 100644 .changeset/afraid-ghosts-watch.md diff --git a/.changeset/afraid-ghosts-watch.md b/.changeset/afraid-ghosts-watch.md new file mode 100644 index 0000000000..b277baaff1 --- /dev/null +++ b/.changeset/afraid-ghosts-watch.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-search-backend-module-elasticsearch': patch +--- + +Fix never resolved indexer promise. diff --git a/plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchSearchEngine.ts b/plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchSearchEngine.ts index f8c996df51..93312c9fba 100644 --- a/plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchSearchEngine.ts +++ b/plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchSearchEngine.ts @@ -345,6 +345,7 @@ export class ElasticSearchSearchEngine implements SearchEngine { attempts++; } + done(); }); if (cleanupError) { From 8d722ae1f3360dd386bb66f91f6844f1b85680ec Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Wed, 8 May 2024 10:28:35 +0200 Subject: [PATCH 11/16] backend-common: add test for legacy plugin auth Signed-off-by: Patrik Oldsberg --- packages/backend-common/src/legacy.test.ts | 118 +++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 packages/backend-common/src/legacy.test.ts diff --git a/packages/backend-common/src/legacy.test.ts b/packages/backend-common/src/legacy.test.ts new file mode 100644 index 0000000000..1ddebce5c4 --- /dev/null +++ b/packages/backend-common/src/legacy.test.ts @@ -0,0 +1,118 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { + coreServices, + createBackendPlugin, +} from '@backstage/backend-plugin-api'; +import { mockServices, startTestBackend } from '@backstage/backend-test-utils'; +import { EventEmitter } from 'events'; +import { Router } from 'express'; +import { createLegacyAuthAdapters } from './auth'; +import { legacyPlugin } from './legacy'; +import { + authServiceFactory, + tokenManagerServiceFactory, +} from '@backstage/backend-app-api'; + +describe('legacyPlugin', () => { + it('can auth across the new and old systems', async () => { + const emitter = new EventEmitter(); + + const done = new Promise(resolve => { + emitter.once('done', () => { + emitter.once('done', resolve); + }); + }); + + await startTestBackend({ + features: [ + authServiceFactory, + tokenManagerServiceFactory, + mockServices.rootConfig.factory({ + data: { + backend: { + auth: { + keys: [ + { + secret: 'test', + }, + ], + }, + }, + }, + }), + createBackendPlugin({ + pluginId: 'new', + register(reg) { + reg.registerInit({ + deps: { + auth: coreServices.auth, + discovery: coreServices.discovery, + }, + async init({ auth }) { + emitter.once('legacy-token', async otherToken => { + const credentials = await auth.authenticate(otherToken); + expect(credentials.principal).toEqual({ + type: 'service', + subject: 'external:backstage-plugin', + }); + emitter.emit('done'); + }); + + const { token } = await auth.getPluginRequestToken({ + onBehalfOf: await auth.getOwnServiceCredentials(), + targetPluginId: 'old', + }); + emitter.emit('new-token', token); + }, + }); + }, + }), + legacyPlugin( + 'old', + Promise.resolve({ + async default({ tokenManager, identity, discovery }) { + const { auth } = createLegacyAuthAdapters({ + tokenManager, + identity, + discovery, + auth: undefined as any as typeof coreServices.auth.T, + httpAuth: undefined as any as typeof coreServices.httpAuth.T, + }); + + emitter.once('new-token', async otherToken => { + const credentials = await auth.authenticate(otherToken); + expect(credentials.principal).toEqual({ + type: 'service', + subject: 'external:backstage-plugin', + }); + emitter.emit('done'); + }); + + const { token } = await tokenManager.getToken(); + emitter.emit('legacy-token', token); + + return Router(); + }, + }), + ), + ], + }); + + await done; + }); +}); From fad761f52b92e2fd3731de783f5e239eb15e2491 Mon Sep 17 00:00:00 2001 From: AmbrishRamachandiran Date: Wed, 8 May 2024 15:34:19 +0530 Subject: [PATCH 12/16] Updated the document of permission check Signed-off-by: AmbrishRamachandiran --- .../plugin-authors/02-adding-a-basic-permission-check.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/permissions/plugin-authors/02-adding-a-basic-permission-check.md b/docs/permissions/plugin-authors/02-adding-a-basic-permission-check.md index f3380bdb6f..8541d64465 100644 --- a/docs/permissions/plugin-authors/02-adding-a-basic-permission-check.md +++ b/docs/permissions/plugin-authors/02-adding-a-basic-permission-check.md @@ -37,7 +37,11 @@ export const todoListPermissions = [todoListCreatePermission]; For this tutorial, we've automatically exported all permissions from this file (see `plugins/todo-list-common/src/index.ts`). -> Note: We use a separate `todo-list-common` package since all permissions authorized by your plugin should be exported from a ["common-library" package](https://backstage.io/docs/local-dev/cli-build-system#package-roles). This allows Backstage integrators to reference them in frontend components as well as permission policies. +:::note Note + +We use a separate `todo-list-common` package since all permissions authorized by your plugin should be exported from a ["common-library" package](https://backstage.io/docs/local-dev/cli-build-system#package-roles). This allows Backstage integrators to reference them in frontend components as well as permission policies. + +::: ## Authorizing using the new permission From b8f1fc2a62ad590758bd3afb8c6f4088da5adcd3 Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Wed, 8 May 2024 14:52:10 +0200 Subject: [PATCH 13/16] Remove manual yarn postpack invocation Signed-off-by: Eric Peterson --- .changeset/cli-postpack-schmostschmack.md | 5 +++++ packages/cli/src/lib/packager/createDistWorkspace.ts | 4 ---- 2 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 .changeset/cli-postpack-schmostschmack.md diff --git a/.changeset/cli-postpack-schmostschmack.md b/.changeset/cli-postpack-schmostschmack.md new file mode 100644 index 0000000000..2500c89a8c --- /dev/null +++ b/.changeset/cli-postpack-schmostschmack.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +The `build-workspace` command no longer manually runs `yarn postpack`, relying instead on the fact that running `yarn pack` will automatically invoke the `postpack` script. No action is necessary if you are running the latest version of yarn 1, 3, or 4. diff --git a/packages/cli/src/lib/packager/createDistWorkspace.ts b/packages/cli/src/lib/packager/createDistWorkspace.ts index 7d4c9d4c6d..b966e23a85 100644 --- a/packages/cli/src/lib/packager/createDistWorkspace.ts +++ b/packages/cli/src/lib/packager/createDistWorkspace.ts @@ -309,10 +309,6 @@ async function moveToDistWorkspace( await run('yarn', ['pack', '--filename', archivePath], { cwd: target.dir, }); - // TODO(Rugvip): yarn pack doesn't call postpack, once the bug is fixed this can be removed - if (target.packageJson?.scripts?.postpack) { - await run('yarn', ['postpack'], { cwd: target.dir }); - } const outputDir = relativePath(paths.targetRoot, target.dir); const absoluteOutputPath = resolvePath(workspaceDir, outputDir); From a12639fa7fcb947470dbde2a3f314c96c297b9ca Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Wed, 8 May 2024 15:19:25 +0200 Subject: [PATCH 14/16] Update v1.27.0-next.2-changelog.md Signed-off-by: Patrik Oldsberg --- docs/releases/v1.27.0-next.2-changelog.md | 1536 --------------------- 1 file changed, 1536 deletions(-) diff --git a/docs/releases/v1.27.0-next.2-changelog.md b/docs/releases/v1.27.0-next.2-changelog.md index ac8fb0534f..3c2e688e3b 100644 --- a/docs/releases/v1.27.0-next.2-changelog.md +++ b/docs/releases/v1.27.0-next.2-changelog.md @@ -4,10 +4,6 @@ Upgrade Helper: [https://backstage.github.io/upgrade-helper/?to=1.27.0-next.2](h ## @backstage/backend-app-api@0.7.3-next.1 -# @backstage/backend-app-api - -## 0.7.2-next.1 - ### Patch Changes - 09f8988: Remove explicit `alg` check for user tokens in `verifyToken` @@ -20,1538 +16,6 @@ Upgrade Helper: [https://backstage.github.io/upgrade-helper/?to=1.27.0-next.2](h - @backstage/config-loader@1.8.0 - @backstage/backend-plugin-api@0.6.18-next.1 -## 0.7.1-next.0 - -### Patch Changes - -- 4cd5ff0: Add ability to configure the Node.js HTTP Server when configuring the root HTTP Router service -- e8199b1: Move the JWKS registration outside of the lifecycle middleware -- dc8c5dd: The default `TokenManager` implementation no longer requires keys to be configured in production, but it will throw an errors when generating or authenticating tokens. The default `AuthService` implementation will now also provide additional context if such an error is throw when falling back to using the `TokenManager` service to generate tokens for outgoing requests. -- 025641b: Redact `meta` fields too with the logger -- 5863e02: Internal refactor to only create one external token handler -- Updated dependencies - - @backstage/plugin-auth-node@0.4.13-next.0 - - @backstage/backend-common@0.21.8-next.0 - - @backstage/backend-plugin-api@0.6.18-next.0 - - @backstage/backend-tasks@0.5.23-next.0 - - @backstage/cli-common@0.1.13 - - @backstage/cli-node@0.2.5 - - @backstage/config@1.2.0 - - @backstage/config-loader@1.8.0 - - @backstage/errors@1.2.4 - - @backstage/types@1.1.1 - - @backstage/plugin-permission-node@0.7.29-next.0 - -## 0.7.0 - -### Minor Changes - -- 3256f14: **BREAKING**: Modules are no longer loaded unless the plugin that they extend is present. - -### Patch Changes - -- 10327fb: Deprecate the `getPath` option for the `httpRouterServiceFactory` and more generally the ability to configure plugin API paths to be anything else than `/api/:pluginId/`. Requests towards `/api/*` that do not match an installed plugin will also no longer be handled by the index router, typically instead returning a 404. - -- 2c50516: Fix auth cookie issuance for split backend deployments by preferring to set it against the request target host instead of origin - -- 7e584d6: Fixed a bug where expired cookies would not be refreshed. - -- 1a20b12: Make the auth service create and validate dedicated OBO tokens, containing the user identity proof. - -- 00fca28: Implemented support for external access using both the legacy token form and static tokens. - -- d5a1fe1: Replaced winston logger with `LoggerService` - -- bce0879: Service-to-service authentication has been improved. - - Each plugin now has the capability to generate its own signing keys for token issuance. The generated public keys are stored in a database, and they are made accessible through a newly created endpoint: `/.backstage/auth/v1/jwks.json`. - - `AuthService` can now issue tokens with a reduced scope using the `getPluginRequestToken` method. This improvement enables plugins to identify the plugin originating the request. - -- 54f2ac8: Added `initialization` option to `createServiceFactory` which defines the initialization strategy for the service. The default strategy mimics the current behavior where plugin scoped services are initialized lazily by default and root scoped services are initialized eagerly. - -- 56f81b5: Improved error message thrown by `AuthService` when requesting a token for plugins that don't support the new authentication tokens. - -- 25ea3d2: Minor internal restructuring - -- d62bc51: Add support for limited user tokens by using user identity proof provided by the auth backend. - -- c884b9a: Automatically creates a get and delete cookie endpoint when a `user-cookie` policy is added. - -- Updated dependencies - - @backstage/backend-common@0.21.7 - - @backstage/config-loader@1.8.0 - - @backstage/plugin-permission-node@0.7.28 - - @backstage/backend-plugin-api@0.6.17 - - @backstage/backend-tasks@0.5.22 - - @backstage/plugin-auth-node@0.4.12 - - @backstage/cli-node@0.2.5 - - @backstage/cli-common@0.1.13 - - @backstage/config@1.2.0 - - @backstage/errors@1.2.4 - - @backstage/types@1.1.1 - -## 0.7.0-next.1 - -### Minor Changes - -- 3256f14: **BREAKING**: Modules are no longer loaded unless the plugin that they extend is present. - -### Patch Changes - -- 10327fb: Deprecate the `getPath` option for the `httpRouterServiceFactory` and more generally the ability to configure plugin API paths to be anything else than `/api/:pluginId/`. Requests towards `/api/*` that do not match an installed plugin will also no longer be handled by the index router, typically instead returning a 404. - -- 1a20b12: Make the auth service create and validate dedicated OBO tokens, containing the user identity proof. - -- bce0879: Service-to-service authentication has been improved. - - Each plugin now has the capability to generate its own signing keys for token issuance. The generated public keys are stored in a database, and they are made accessible through a newly created endpoint: `/.backstage/auth/v1/jwks.json`. - - `AuthService` can now issue tokens with a reduced scope using the `getPluginRequestToken` method. This improvement enables plugins to identify the plugin originating the request. - -- 54f2ac8: Added `initialization` option to `createServiceFactory` which defines the initialization strategy for the service. The default strategy mimics the current behavior where plugin scoped services are initialized lazily by default and root scoped services are initialized eagerly. - -- d62bc51: Add support for limited user tokens by using user identity proof provided by the auth backend. - -- c884b9a: Automatically creates a get and delete cookie endpoint when a `user-cookie` policy is added. - -- Updated dependencies - - @backstage/backend-common@0.21.7-next.1 - - @backstage/backend-plugin-api@0.6.17-next.1 - - @backstage/plugin-auth-node@0.4.12-next.1 - - @backstage/backend-tasks@0.5.22-next.1 - - @backstage/plugin-permission-node@0.7.28-next.1 - - @backstage/cli-common@0.1.13 - - @backstage/cli-node@0.2.4 - - @backstage/config@1.2.0 - - @backstage/config-loader@1.8.0-next.0 - - @backstage/errors@1.2.4 - - @backstage/types@1.1.1 - -## 0.6.3-next.0 - -### Patch Changes - -- 7e584d6: Fixed a bug where expired cookies would not be refreshed. -- Updated dependencies - - @backstage/backend-common@0.21.7-next.0 - - @backstage/config-loader@1.8.0-next.0 - - @backstage/backend-plugin-api@0.6.17-next.0 - - @backstage/backend-tasks@0.5.22-next.0 - - @backstage/cli-common@0.1.13 - - @backstage/cli-node@0.2.4 - - @backstage/config@1.2.0 - - @backstage/errors@1.2.4 - - @backstage/types@1.1.1 - - @backstage/plugin-auth-node@0.4.12-next.0 - - @backstage/plugin-permission-node@0.7.28-next.0 - -## 0.6.2 - -### Patch Changes - -- e848644: Temporarily revert the rate limiting -- Updated dependencies - - @backstage/plugin-auth-node@0.4.11 - - @backstage/backend-common@0.21.6 - - @backstage/backend-plugin-api@0.6.16 - - @backstage/plugin-permission-node@0.7.27 - - @backstage/backend-tasks@0.5.21 - - @backstage/cli-common@0.1.13 - - @backstage/cli-node@0.2.4 - - @backstage/config@1.2.0 - - @backstage/config-loader@1.7.0 - - @backstage/errors@1.2.4 - - @backstage/types@1.1.1 - -## 0.6.1 - -### Patch Changes - -- de1f45d: Temporarily revert the rate limiting -- Updated dependencies - - @backstage/backend-common@0.21.5 - - @backstage/plugin-auth-node@0.4.10 - - @backstage/backend-tasks@0.5.20 - - @backstage/plugin-permission-node@0.7.26 - - @backstage/backend-plugin-api@0.6.15 - - @backstage/cli-common@0.1.13 - - @backstage/cli-node@0.2.4 - - @backstage/config@1.2.0 - - @backstage/config-loader@1.7.0 - - @backstage/errors@1.2.4 - - @backstage/types@1.1.1 - -## 0.6.0 - -### Minor Changes - -- 4a3d434: **BREAKING**: For users that have migrated to the new backend system, incoming requests will now be rejected if they are not properly authenticated (e.g. with a Backstage bearer token or a backend token). Please see the [Auth Service Migration tutorial](https://backstage.io/docs/tutorials/auth-service-migration) for more information on how to circumvent this behavior in the short term and how to properly leverage it in the longer term. - - Added service factories for the new [`auth`](https://backstage.io/docs/backend-system/core-services/auth/), [`httpAuth`](https://backstage.io/docs/backend-system/core-services/http-auth), and [`userInfo`](https://backstage.io/docs/backend-system/core-services/user-info) services that were created as part of [BEP-0003](https://github.com/backstage/backstage/tree/master/beps/0003-auth-architecture-evolution). - -### Patch Changes - -- 999224f: Bump dependency `minimatch` to v9 -- 81e0120: Fixed an issue where configuration schema for the purpose of redacting secrets from logs was not being read correctly. -- 15fda44: Provide some sane defaults for `WinstonLogger.create` making some of the arguments optional -- 0502d82: Updated the `permissionsServiceFactory` to forward the `AuthService` to the implementation. -- 9d91128: Add the possibility to disable watching files in the new backend system -- a5d341e: Adds an initial rate-limiting implementation so that any incoming requests that have a `'none'` principal are rate-limited automatically. -- 9802004: Made the `DefaultUserInfoService` claims check stricter -- f235ca7: Make sure to not filter out schemas in `createConfigSecretEnumerator` -- af5f7a6: The experimental feature discovery service exported at the `/alpha` sub-path will no longer attempt to load packages that are not Backstage backend packages. -- Updated dependencies - - @backstage/backend-common@0.21.4 - - @backstage/plugin-auth-node@0.4.9 - - @backstage/config@1.2.0 - - @backstage/errors@1.2.4 - - @backstage/backend-plugin-api@0.6.14 - - @backstage/config-loader@1.7.0 - - @backstage/backend-tasks@0.5.19 - - @backstage/plugin-permission-node@0.7.25 - - @backstage/cli-node@0.2.4 - - @backstage/cli-common@0.1.13 - - @backstage/types@1.1.1 - -## 0.6.0-next.2 - -### Patch Changes - -- 15fda44: Provide some sane defaults for `WinstonLogger.create` making some of the arguments optional -- 9d91128: Add the possibility to disable watching files in the new backend system -- Updated dependencies - - @backstage/backend-common@0.21.4-next.2 - - @backstage/plugin-auth-node@0.4.9-next.2 - - @backstage/backend-plugin-api@0.6.14-next.2 - - @backstage/backend-tasks@0.5.19-next.2 - - @backstage/cli-common@0.1.13 - - @backstage/cli-node@0.2.4-next.0 - - @backstage/config@1.2.0-next.1 - - @backstage/config-loader@1.7.0-next.1 - - @backstage/errors@1.2.4-next.0 - - @backstage/types@1.1.1 - - @backstage/plugin-permission-node@0.7.25-next.2 - -## 0.6.0-next.1 - -### Patch Changes - -- 81e0120: Fixed an issue where configuration schema for the purpose of redacting secrets from logs was not being read correctly. -- f235ca7: Make sure to not filter out schemas in `createConfigSecretEnumerator` -- Updated dependencies - - @backstage/config@1.2.0-next.1 - - @backstage/config-loader@1.7.0-next.1 - - @backstage/backend-common@0.21.4-next.1 - - @backstage/backend-plugin-api@0.6.14-next.1 - - @backstage/backend-tasks@0.5.19-next.1 - - @backstage/plugin-auth-node@0.4.9-next.1 - - @backstage/plugin-permission-node@0.7.25-next.1 - - @backstage/cli-common@0.1.13 - - @backstage/cli-node@0.2.4-next.0 - - @backstage/errors@1.2.4-next.0 - - @backstage/types@1.1.1 - -## 0.6.0-next.0 - -### Minor Changes - -- 4a3d434: **BREAKING**: For users that have migrated to the new backend system, incoming requests will now be rejected if they are not properly authenticated (e.g. with a Backstage bearer token or a backend token). Please see the [Auth Service Migration tutorial](https://backstage.io/docs/tutorials/auth-service-migration) for more information on how to circumvent this behavior in the short term and how to properly leverage it in the longer term. - - Added service factories for the new [`auth`](https://backstage.io/docs/backend-system/core-services/auth/), [`httpAuth`](https://backstage.io/docs/backend-system/core-services/http-auth), and [`userInfo`](https://backstage.io/docs/backend-system/core-services/user-info) services that were created as part of [BEP-0003](https://github.com/backstage/backstage/tree/master/beps/0003-auth-architecture-evolution). - -### Patch Changes - -- 999224f: Bump dependency `minimatch` to v9 -- 0502d82: Updated the `permissionsServiceFactory` to forward the `AuthService` to the implementation. -- 9802004: Made the `DefaultUserInfoService` claims check stricter -- Updated dependencies - - @backstage/backend-common@0.21.3-next.0 - - @backstage/plugin-auth-node@0.4.8-next.0 - - @backstage/errors@1.2.4-next.0 - - @backstage/backend-plugin-api@0.6.13-next.0 - - @backstage/backend-tasks@0.5.18-next.0 - - @backstage/plugin-permission-node@0.7.24-next.0 - - @backstage/cli-node@0.2.4-next.0 - - @backstage/config-loader@1.6.3-next.0 - - @backstage/config@1.1.2-next.0 - - @backstage/cli-common@0.1.13 - - @backstage/types@1.1.1 - -## 0.5.11 - -### Patch Changes - -- e0c18ef: Include the extension point ID and the module ID in the backend init error message. -- 7ae5704: Updated the default error handling middleware to filter out certain known error types that should never be returned in responses. The errors are instead logged along with a correlation ID, which is also returned in the response. Initially only PostgreSQL protocol errors from the `pg-protocol` package are filtered out. -- 9aac2b0: Use `--cwd` as the first `yarn` argument -- 54ad8e1: Allow the `createConfigSecretEnumerator` to take an optional `schema` argument with an already-loaded global configuration schema. -- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`. - Updated dependency `@types/fs-extra` to `^11.0.0`. -- Updated dependencies - - @backstage/backend-common@0.21.0 - - @backstage/plugin-auth-node@0.4.4 - - @backstage/cli-node@0.2.3 - - @backstage/backend-plugin-api@0.6.10 - - @backstage/backend-tasks@0.5.15 - - @backstage/config-loader@1.6.2 - - @backstage/plugin-permission-node@0.7.21 - - @backstage/cli-common@0.1.13 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/types@1.1.1 - -## 0.5.11-next.3 - -### Patch Changes - -- 54ad8e1: Allow the `createConfigSecretEnumerator` to take an optional `schema` argument with an already-loaded global configuration schema. -- Updated dependencies - - @backstage/backend-common@0.21.0-next.3 - - @backstage/cli-node@0.2.3-next.0 - - @backstage/backend-tasks@0.5.15-next.3 - - @backstage/config-loader@1.6.2-next.0 - - @backstage/plugin-auth-node@0.4.4-next.3 - - @backstage/plugin-permission-node@0.7.21-next.3 - - @backstage/backend-plugin-api@0.6.10-next.3 - - @backstage/cli-common@0.1.13 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/types@1.1.1 - -## 0.5.11-next.2 - -### Patch Changes - -- 9aac2b0: Use `--cwd` as the first `yarn` argument -- Updated dependencies - - @backstage/backend-common@0.21.0-next.2 - - @backstage/backend-plugin-api@0.6.10-next.2 - - @backstage/backend-tasks@0.5.15-next.2 - - @backstage/plugin-auth-node@0.4.4-next.2 - - @backstage/plugin-permission-node@0.7.21-next.2 - - @backstage/config@1.1.1 - - @backstage/cli-common@0.1.13 - - @backstage/cli-node@0.2.2 - - @backstage/config-loader@1.6.1 - - @backstage/errors@1.2.3 - - @backstage/types@1.1.1 - -## 0.5.11-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-plugin-api@0.6.10-next.1 - - @backstage/backend-common@0.21.0-next.1 - - @backstage/backend-tasks@0.5.15-next.1 - - @backstage/cli-common@0.1.13 - - @backstage/cli-node@0.2.2 - - @backstage/config@1.1.1 - - @backstage/config-loader@1.6.1 - - @backstage/errors@1.2.3 - - @backstage/types@1.1.1 - - @backstage/plugin-auth-node@0.4.4-next.1 - - @backstage/plugin-permission-node@0.7.21-next.1 - -## 0.5.11-next.0 - -### Patch Changes - -- e0c18ef: Include the extension point ID and the module ID in the backend init error message. -- Updated dependencies - - @backstage/backend-common@0.21.0-next.0 - - @backstage/backend-tasks@0.5.15-next.0 - - @backstage/cli-node@0.2.2 - - @backstage/config-loader@1.6.1 - - @backstage/plugin-auth-node@0.4.4-next.0 - - @backstage/plugin-permission-node@0.7.21-next.0 - - @backstage/backend-plugin-api@0.6.10-next.0 - - @backstage/cli-common@0.1.13 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/types@1.1.1 - -## 0.5.10 - -### Patch Changes - -- 516fd3e: Updated README to reflect release status -- Updated dependencies - - @backstage/backend-common@0.20.1 - - @backstage/config-loader@1.6.1 - - @backstage/cli-node@0.2.2 - - @backstage/backend-plugin-api@0.6.9 - - @backstage/plugin-permission-node@0.7.20 - - @backstage/backend-tasks@0.5.14 - - @backstage/plugin-auth-node@0.4.3 - - @backstage/cli-common@0.1.13 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/types@1.1.1 - -## 0.5.10-next.2 - -### Patch Changes - -- 516fd3e: Updated README to reflect release status -- Updated dependencies - - @backstage/backend-plugin-api@0.6.9-next.2 - - @backstage/backend-common@0.20.1-next.2 - - @backstage/plugin-auth-node@0.4.3-next.2 - - @backstage/plugin-permission-node@0.7.20-next.2 - - @backstage/backend-tasks@0.5.14-next.2 - - @backstage/cli-node@0.2.2-next.0 - - @backstage/config-loader@1.6.1-next.0 - -## 0.5.10-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/config-loader@1.6.1-next.0 - - @backstage/cli-node@0.2.2-next.0 - - @backstage/backend-common@0.20.1-next.1 - - @backstage/config@1.1.1 - - @backstage/backend-tasks@0.5.14-next.1 - - @backstage/plugin-auth-node@0.4.3-next.1 - - @backstage/plugin-permission-node@0.7.20-next.1 - - @backstage/backend-plugin-api@0.6.9-next.1 - - @backstage/cli-common@0.1.13 - - @backstage/errors@1.2.3 - - @backstage/types@1.1.1 - -## 0.5.10-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.20.1-next.0 - - @backstage/backend-plugin-api@0.6.9-next.0 - - @backstage/backend-tasks@0.5.14-next.0 - - @backstage/cli-common@0.1.13 - - @backstage/cli-node@0.2.1 - - @backstage/config@1.1.1 - - @backstage/config-loader@1.6.0 - - @backstage/errors@1.2.3 - - @backstage/types@1.1.1 - - @backstage/plugin-auth-node@0.4.3-next.0 - - @backstage/plugin-permission-node@0.7.20-next.0 - -## 0.5.9 - -### Patch Changes - -- 1da5f43: Ensure redaction of secrets that have accidental extra whitespace around them -- 9f8f266: Add redacting for secrets in stack traces of logs -- Updated dependencies - - @backstage/backend-common@0.20.0 - - @backstage/config-loader@1.6.0 - - @backstage/backend-tasks@0.5.13 - - @backstage/plugin-auth-node@0.4.2 - - @backstage/plugin-permission-node@0.7.19 - - @backstage/cli-node@0.2.1 - - @backstage/backend-plugin-api@0.6.8 - - @backstage/cli-common@0.1.13 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/types@1.1.1 - -## 0.5.9-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.20.0-next.3 - - @backstage/backend-plugin-api@0.6.8-next.3 - - @backstage/backend-tasks@0.5.13-next.3 - - @backstage/cli-common@0.1.13 - - @backstage/cli-node@0.2.0 - - @backstage/config@1.1.1 - - @backstage/config-loader@1.6.0-next.0 - - @backstage/errors@1.2.3 - - @backstage/types@1.1.1 - - @backstage/plugin-auth-node@0.4.2-next.3 - - @backstage/plugin-permission-node@0.7.19-next.3 - -## 0.5.9-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/config-loader@1.6.0-next.0 - - @backstage/backend-common@0.20.0-next.2 - - @backstage/plugin-auth-node@0.4.2-next.2 - - @backstage/backend-plugin-api@0.6.8-next.2 - - @backstage/backend-tasks@0.5.13-next.2 - - @backstage/cli-common@0.1.13 - - @backstage/cli-node@0.2.0 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/types@1.1.1 - - @backstage/plugin-permission-node@0.7.19-next.2 - -## 0.5.9-next.1 - -### Patch Changes - -- 1da5f434f3: Ensure redaction of secrets that have accidental extra whitespace around them -- 9f8f266ff4: Add redacting for secrets in stack traces of logs -- Updated dependencies - - @backstage/backend-common@0.20.0-next.1 - - @backstage/backend-plugin-api@0.6.8-next.1 - - @backstage/backend-tasks@0.5.13-next.1 - - @backstage/cli-common@0.1.13 - - @backstage/cli-node@0.2.0 - - @backstage/config@1.1.1 - - @backstage/config-loader@1.5.3 - - @backstage/errors@1.2.3 - - @backstage/types@1.1.1 - - @backstage/plugin-auth-node@0.4.2-next.1 - - @backstage/plugin-permission-node@0.7.19-next.1 - -## 0.5.9-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.20.0-next.0 - - @backstage/backend-tasks@0.5.13-next.0 - - @backstage/plugin-auth-node@0.4.2-next.0 - - @backstage/plugin-permission-node@0.7.19-next.0 - - @backstage/backend-plugin-api@0.6.8-next.0 - - @backstage/cli-common@0.1.13 - - @backstage/cli-node@0.2.0 - - @backstage/config@1.1.1 - - @backstage/config-loader@1.5.3 - - @backstage/errors@1.2.3 - - @backstage/types@1.1.1 - -## 0.5.8 - -### Patch Changes - -- bc9a18d5ec: Added a workaround for double `default` wrapping when dynamically importing CommonJS modules with default exports. -- Updated dependencies - - @backstage/config-loader@1.5.3 - - @backstage/cli-node@0.2.0 - - @backstage/backend-common@0.19.9 - - @backstage/backend-plugin-api@0.6.7 - - @backstage/backend-tasks@0.5.12 - - @backstage/cli-common@0.1.13 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/types@1.1.1 - - @backstage/plugin-auth-node@0.4.1 - - @backstage/plugin-permission-node@0.7.18 - -## 0.5.8-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-plugin-api@0.6.7-next.2 - - @backstage/backend-common@0.19.9-next.2 - - @backstage/backend-tasks@0.5.12-next.2 - - @backstage/plugin-auth-node@0.4.1-next.2 - - @backstage/plugin-permission-node@0.7.18-next.2 - - @backstage/config-loader@1.5.3-next.0 - -## 0.5.8-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.9-next.1 - - @backstage/backend-tasks@0.5.12-next.1 - - @backstage/config-loader@1.5.3-next.0 - - @backstage/plugin-auth-node@0.4.1-next.1 - - @backstage/plugin-permission-node@0.7.18-next.1 - - @backstage/backend-plugin-api@0.6.7-next.1 - - @backstage/cli-common@0.1.13 - - @backstage/cli-node@0.2.0-next.0 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/types@1.1.1 - -## 0.5.8-next.0 - -### Patch Changes - -- bc9a18d5ec: Added a workaround for double `default` wrapping when dynamically importing CommonJS modules with default exports. -- Updated dependencies - - @backstage/config-loader@1.5.2-next.0 - - @backstage/cli-node@0.2.0-next.0 - - @backstage/backend-common@0.19.9-next.0 - - @backstage/backend-plugin-api@0.6.7-next.0 - - @backstage/backend-tasks@0.5.12-next.0 - - @backstage/cli-common@0.1.13 - - @backstage/config@1.1.1 - - @backstage/errors@1.2.3 - - @backstage/types@1.1.1 - - @backstage/plugin-auth-node@0.4.1-next.0 - - @backstage/plugin-permission-node@0.7.18-next.0 - -## 0.5.6 - -### Patch Changes - -- 74491c9602: Moved `HostDiscovery` from `@backstage/backend-common`. -- a4617c422a: Added `watch` option to configuration loaders that can be used to disable file watching by setting it to `false`. -- Updated dependencies - - @backstage/backend-tasks@0.5.11 - - @backstage/backend-common@0.19.8 - - @backstage/plugin-auth-node@0.4.0 - - @backstage/config-loader@1.5.1 - - @backstage/errors@1.2.3 - - @backstage/cli-common@0.1.13 - - @backstage/backend-plugin-api@0.6.6 - - @backstage/plugin-permission-node@0.7.17 - - @backstage/cli-node@0.1.5 - - @backstage/config@1.1.1 - - @backstage/types@1.1.1 - -## 0.5.6-next.2 - -### Patch Changes - -- 74491c9602: Moved `HostDiscovery` from `@backstage/backend-common`. -- a4617c422a: Added `watch` option to configuration loaders that can be used to disable file watching by setting it to `false`. -- Updated dependencies - - @backstage/backend-common@0.19.8-next.2 - - @backstage/plugin-auth-node@0.4.0-next.2 - - @backstage/config-loader@1.5.1-next.1 - - @backstage/errors@1.2.3-next.0 - - @backstage/backend-tasks@0.5.11-next.2 - - @backstage/plugin-permission-node@0.7.17-next.2 - - @backstage/backend-plugin-api@0.6.6-next.2 - - @backstage/cli-common@0.1.13-next.0 - - @backstage/cli-node@0.1.5-next.1 - - @backstage/config@1.1.1-next.0 - - @backstage/types@1.1.1 - -## 0.5.5-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-tasks@0.5.10-next.1 - - @backstage/backend-common@0.19.7-next.1 - - @backstage/backend-plugin-api@0.6.5-next.1 - - @backstage/plugin-auth-node@0.3.2-next.1 - - @backstage/plugin-permission-node@0.7.16-next.1 - - @backstage/config@1.1.0 - - @backstage/cli-common@0.1.13-next.0 - - @backstage/cli-node@0.1.5-next.0 - - @backstage/config-loader@1.5.1-next.0 - - @backstage/errors@1.2.2 - - @backstage/types@1.1.1 - -## 0.5.5-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-auth-node@0.3.2-next.0 - - @backstage/config-loader@1.5.1-next.0 - - @backstage/cli-common@0.1.13-next.0 - - @backstage/backend-common@0.19.7-next.0 - - @backstage/config@1.1.0 - - @backstage/backend-plugin-api@0.6.5-next.0 - - @backstage/backend-tasks@0.5.10-next.0 - - @backstage/cli-node@0.1.5-next.0 - - @backstage/errors@1.2.2 - - @backstage/types@1.1.1 - - @backstage/plugin-permission-node@0.7.16-next.0 - -## 0.5.3 - -### Patch Changes - -- 154632d8753b: Add support for discovering additional service factories during startup. -- 37a20c7f14aa: Adds include and exclude configuration to feature discovery of backend packages - Adds alpha modules to feature discovery -- cb7fc410ed99: The experimental backend feature discovery now only considers default exports from packages. It no longer filters packages to include based on the package role, except that `'cli'` packages are ignored. However, the `"backstage"` field is still required in `package.json`. -- 3fc64b9e2f8f: Extension points are now tracked via their ID rather than reference, in order to support package duplication. -- 3b30b179cb38: Add support for installing features as package imports, for example `backend.add(import('my-plugin'))`. -- b219d097b3f4: Backend startup will now fail if any circular service dependencies are detected. -- Updated dependencies - - @backstage/backend-tasks@0.5.8 - - @backstage/backend-common@0.19.5 - - @backstage/plugin-auth-node@0.3.0 - - @backstage/config@1.1.0 - - @backstage/errors@1.2.2 - - @backstage/types@1.1.1 - - @backstage/plugin-permission-node@0.7.14 - - @backstage/backend-plugin-api@0.6.3 - - @backstage/config-loader@1.5.0 - - @backstage/cli-common@0.1.12 - - @backstage/cli-node@0.1.4 - -## 0.5.3-next.3 - -### Patch Changes - -- 154632d8753b: Add support for discovering additional service factories during startup. -- cb7fc410ed99: The experimental backend feature discovery now only considers default exports from packages. It no longer filters packages to include based on the package role, except that `'cli'` packages are ignored. However, the `"backstage"` field is still required in `package.json`. -- 3b30b179cb38: Add support for installing features as package imports, for example `backend.add(import('my-plugin'))`. -- Updated dependencies - - @backstage/config@1.1.0-next.2 - - @backstage/errors@1.2.2-next.0 - - @backstage/types@1.1.1-next.0 - - @backstage/plugin-permission-node@0.7.14-next.3 - - @backstage/backend-plugin-api@0.6.3-next.3 - - @backstage/backend-common@0.19.5-next.3 - - @backstage/backend-tasks@0.5.8-next.3 - - @backstage/cli-common@0.1.12 - - @backstage/cli-node@0.1.4-next.0 - - @backstage/config-loader@1.5.0-next.3 - - @backstage/plugin-auth-node@0.3.0-next.3 - -## 0.5.3-next.2 - -### Patch Changes - -- 37a20c7f14aa: Adds include and exclude configuration to feature discovery of backend packages - Adds alpha modules to feature discovery -- 3fc64b9e2f8f: Extension points are now tracked via their ID rather than reference, in order to support package duplication. -- b219d097b3f4: Backend startup will now fail if any circular service dependencies are detected. -- Updated dependencies - - @backstage/config-loader@1.5.0-next.2 - - @backstage/config@1.1.0-next.1 - - @backstage/backend-tasks@0.5.8-next.2 - - @backstage/backend-common@0.19.5-next.2 - - @backstage/plugin-auth-node@0.3.0-next.2 - - @backstage/plugin-permission-node@0.7.14-next.2 - - @backstage/backend-plugin-api@0.6.3-next.2 - - @backstage/cli-common@0.1.12 - - @backstage/cli-node@0.1.3 - - @backstage/errors@1.2.1 - - @backstage/types@1.1.0 - -## 0.5.3-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/config@1.1.0-next.0 - - @backstage/backend-tasks@0.5.8-next.1 - - @backstage/backend-common@0.19.5-next.1 - - @backstage/backend-plugin-api@0.6.3-next.1 - - @backstage/config-loader@1.5.0-next.1 - - @backstage/plugin-auth-node@0.3.0-next.1 - - @backstage/plugin-permission-node@0.7.14-next.1 - - @backstage/cli-common@0.1.12 - - @backstage/cli-node@0.1.3 - - @backstage/errors@1.2.1 - - @backstage/types@1.1.0 - -## 0.5.2-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-auth-node@0.3.0-next.0 - - @backstage/backend-common@0.19.4-next.0 - - @backstage/config-loader@1.5.0-next.0 - - @backstage/backend-tasks@0.5.7-next.0 - - @backstage/backend-plugin-api@0.6.2-next.0 - - @backstage/cli-common@0.1.12 - - @backstage/cli-node@0.1.3 - - @backstage/config@1.0.8 - - @backstage/errors@1.2.1 - - @backstage/types@1.1.0 - - @backstage/plugin-permission-node@0.7.13-next.0 - -## 0.5.0 - -### Minor Changes - -- b9c57a4f857e: **BREAKING**: Renamed `configServiceFactory` to `rootConfigServiceFactory`. -- a6d7983f349c: **BREAKING**: Removed the `services` option from `createBackend`. Service factories are now `BackendFeature`s and should be installed with `backend.add(...)` instead. The following should be migrated: - - ```ts - const backend = createBackend({ services: [myCustomServiceFactory] }); - ``` - - To instead pass the service factory via `backend.add(...)`: - - ```ts - const backend = createBackend(); - backend.add(customRootLoggerServiceFactory); - ``` - -### Patch Changes - -- e65c4896f755: Do not throw in backend.stop, if start failed -- c7aa4ff1793c: Allow modules to register extension points. -- 57a10c6c69cc: Add validation to make sure that extension points do not cross plugin boundaries. -- cc9256a33bcc: Added new experimental `featureDiscoveryServiceFactory`, available as an `/alpha` export. -- Updated dependencies - - @backstage/backend-common@0.19.2 - - @backstage/config-loader@1.4.0 - - @backstage/backend-plugin-api@0.6.0 - - @backstage/cli-node@0.1.3 - - @backstage/plugin-auth-node@0.2.17 - - @backstage/backend-tasks@0.5.5 - - @backstage/plugin-permission-node@0.7.11 - - @backstage/cli-common@0.1.12 - - @backstage/config@1.0.8 - - @backstage/errors@1.2.1 - - @backstage/types@1.1.0 - -## 0.5.0-next.2 - -### Patch Changes - -- e65c4896f755: Do not throw in backend.stop, if start failed -- cc9256a33bcc: Added new experimental `featureDiscoveryServiceFactory`, available as an `/alpha` export. -- Updated dependencies - - @backstage/backend-plugin-api@0.6.0-next.2 - - @backstage/backend-tasks@0.5.5-next.2 - - @backstage/backend-common@0.19.2-next.2 - - @backstage/plugin-permission-node@0.7.11-next.2 - - @backstage/plugin-auth-node@0.2.17-next.2 - - @backstage/config-loader@1.4.0-next.1 - -## 0.5.0-next.1 - -### Minor Changes - -- b9c57a4f857e: **BREAKING**: Renamed `configServiceFactory` to `rootConfigServiceFactory`. - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.2-next.1 - - @backstage/config-loader@1.4.0-next.1 - - @backstage/plugin-auth-node@0.2.17-next.1 - - @backstage/backend-plugin-api@0.6.0-next.1 - - @backstage/backend-tasks@0.5.5-next.1 - - @backstage/plugin-permission-node@0.7.11-next.1 - - @backstage/cli-common@0.1.12 - - @backstage/config@1.0.8 - - @backstage/errors@1.2.1 - - @backstage/types@1.1.0 - -## 0.4.6-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/config-loader@1.4.0-next.0 - - @backstage/backend-common@0.19.2-next.0 - - @backstage/backend-plugin-api@0.5.5-next.0 - - @backstage/backend-tasks@0.5.5-next.0 - - @backstage/cli-common@0.1.12 - - @backstage/config@1.0.8 - - @backstage/errors@1.2.1 - - @backstage/types@1.1.0 - - @backstage/plugin-auth-node@0.2.17-next.0 - - @backstage/plugin-permission-node@0.7.11-next.0 - -## 0.4.5 - -### Patch Changes - -- Updated dependencies - - @backstage/errors@1.2.1 - - @backstage/backend-common@0.19.1 - - @backstage/backend-plugin-api@0.5.4 - - @backstage/backend-tasks@0.5.4 - - @backstage/cli-common@0.1.12 - - @backstage/config@1.0.8 - - @backstage/config-loader@1.3.2 - - @backstage/types@1.1.0 - - @backstage/plugin-auth-node@0.2.16 - - @backstage/plugin-permission-node@0.7.10 - -## 0.4.5-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/errors@1.2.1-next.0 - - @backstage/backend-common@0.19.1-next.0 - - @backstage/backend-plugin-api@0.5.4-next.0 - - @backstage/backend-tasks@0.5.4-next.0 - - @backstage/cli-common@0.1.12 - - @backstage/config@1.0.8 - - @backstage/config-loader@1.3.2-next.0 - - @backstage/types@1.1.0 - - @backstage/plugin-auth-node@0.2.16-next.0 - - @backstage/plugin-permission-node@0.7.10-next.0 - -## 0.4.4 - -### Patch Changes - -- 3bb4158a8aa4: Switched startup strategy to initialize all plugins in parallel, as well as hook into the new startup lifecycle hooks. -- 68a21956ef52: Remove reference to deprecated import -- a5c5491ff50c: Use `durationToMilliseconds` from `@backstage/types` instead of our own -- 2c9f67e6f166: Introduced built-in middleware into the default `HttpService` implementation that throws a `ServiceNotAvailable` error when plugins aren't able to serve request. Also introduced a request stalling mechanism that pauses incoming request until plugins have been fully initialized. -- c4e8fefd9f13: Added handling of `ServiceUnavailableError` to error handling middleware. -- Updated dependencies - - @backstage/backend-common@0.19.0 - - @backstage/types@1.1.0 - - @backstage/config-loader@1.3.1 - - @backstage/errors@1.2.0 - - @backstage/backend-plugin-api@0.5.3 - - @backstage/backend-tasks@0.5.3 - - @backstage/plugin-auth-node@0.2.15 - - @backstage/plugin-permission-node@0.7.9 - - @backstage/cli-common@0.1.12 - - @backstage/config@1.0.8 - -## 0.4.4-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.0-next.2 - - @backstage/backend-plugin-api@0.5.3-next.2 - - @backstage/backend-tasks@0.5.3-next.2 - - @backstage/cli-common@0.1.12 - - @backstage/config@1.0.7 - - @backstage/config-loader@1.3.1-next.1 - - @backstage/errors@1.2.0-next.0 - - @backstage/types@1.0.2 - - @backstage/plugin-auth-node@0.2.15-next.2 - - @backstage/plugin-permission-node@0.7.9-next.2 - -## 0.4.4-next.1 - -### Patch Changes - -- 3bb4158a8aa4: Switched startup strategy to initialize all plugins in parallel, as well as hook into the new startup lifecycle hooks. -- 2c9f67e6f166: Introduced built-in middleware into the default `HttpService` implementation that throws a `ServiceNotAvailable` error when plugins aren't able to serve request. Also introduced a request stalling mechanism that pauses incoming request until plugins have been fully initialized. -- c4e8fefd9f13: Added handling of `ServiceUnavailableError` to error handling middleware. -- Updated dependencies - - @backstage/backend-common@0.19.0-next.1 - - @backstage/errors@1.2.0-next.0 - - @backstage/backend-plugin-api@0.5.3-next.1 - - @backstage/backend-tasks@0.5.3-next.1 - - @backstage/plugin-auth-node@0.2.15-next.1 - - @backstage/plugin-permission-node@0.7.9-next.1 - - @backstage/config-loader@1.3.1-next.1 - - @backstage/cli-common@0.1.12 - - @backstage/config@1.0.7 - - @backstage/types@1.0.2 - -## 0.4.4-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/config-loader@1.3.1-next.0 - - @backstage/backend-common@0.18.6-next.0 - - @backstage/config@1.0.7 - - @backstage/backend-plugin-api@0.5.3-next.0 - - @backstage/backend-tasks@0.5.3-next.0 - - @backstage/cli-common@0.1.12 - - @backstage/errors@1.1.5 - - @backstage/types@1.0.2 - - @backstage/plugin-auth-node@0.2.15-next.0 - - @backstage/plugin-permission-node@0.7.9-next.0 - -## 0.4.3 - -### Patch Changes - -- cf13b482f9e: Switch `configServiceFactory` to use `ConfigSources` from `@backstage/config-loader` to load config. -- Updated dependencies - - @backstage/backend-common@0.18.5 - - @backstage/config-loader@1.3.0 - - @backstage/plugin-permission-node@0.7.8 - - @backstage/backend-tasks@0.5.2 - - @backstage/plugin-auth-node@0.2.14 - - @backstage/backend-plugin-api@0.5.2 - - @backstage/cli-common@0.1.12 - - @backstage/config@1.0.7 - - @backstage/errors@1.1.5 - - @backstage/types@1.0.2 - -## 0.4.3-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.5-next.1 - - @backstage/backend-tasks@0.5.2-next.1 - - @backstage/plugin-auth-node@0.2.14-next.1 - - @backstage/plugin-permission-node@0.7.8-next.1 - - @backstage/backend-plugin-api@0.5.2-next.1 - - @backstage/config-loader@1.3.0-next.0 - - @backstage/config@1.0.7 - -## 0.4.3-next.0 - -### Patch Changes - -- cf13b482f9e: Switch `configServiceFactory` to use `ConfigSources` from `@backstage/config-loader` to load config. -- Updated dependencies - - @backstage/backend-common@0.18.5-next.0 - - @backstage/config-loader@1.3.0-next.0 - - @backstage/plugin-permission-node@0.7.8-next.0 - - @backstage/backend-tasks@0.5.2-next.0 - - @backstage/plugin-auth-node@0.2.14-next.0 - - @backstage/backend-plugin-api@0.5.2-next.0 - - @backstage/cli-common@0.1.12 - - @backstage/config@1.0.7 - - @backstage/errors@1.1.5 - - @backstage/types@1.0.2 - -## 0.4.2 - -### Patch Changes - -- 5c7ce585824: Allow an additionalConfig to be provided to loadBackendConfig that fetches config values during runtime. -- 8cce2205a39: Register unhandled rejection and uncaught exception handlers to avoid backend crashes. -- Updated dependencies - - @backstage/backend-common@0.18.4 - - @backstage/config-loader@1.2.0 - - @backstage/plugin-permission-node@0.7.7 - - @backstage/backend-tasks@0.5.1 - - @backstage/plugin-auth-node@0.2.13 - - @backstage/backend-plugin-api@0.5.1 - - @backstage/cli-common@0.1.12 - - @backstage/config@1.0.7 - - @backstage/errors@1.1.5 - - @backstage/types@1.0.2 - -## 0.4.2-next.2 - -### Patch Changes - -- 5c7ce585824: Allow an additionalConfig to be provided to loadBackendConfig that fetches config values during runtime. -- Updated dependencies - - @backstage/backend-common@0.18.4-next.2 - - @backstage/plugin-permission-node@0.7.7-next.2 - - @backstage/backend-plugin-api@0.5.1-next.2 - - @backstage/backend-tasks@0.5.1-next.2 - - @backstage/cli-common@0.1.12 - - @backstage/config@1.0.7 - - @backstage/config-loader@1.1.9 - - @backstage/errors@1.1.5 - - @backstage/types@1.0.2 - - @backstage/plugin-auth-node@0.2.13-next.2 - -## 0.4.2-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-permission-node@0.7.7-next.1 - - @backstage/backend-tasks@0.5.1-next.1 - - @backstage/backend-common@0.18.4-next.1 - - @backstage/backend-plugin-api@0.5.1-next.1 - - @backstage/cli-common@0.1.12 - - @backstage/config@1.0.7 - - @backstage/config-loader@1.1.9 - - @backstage/errors@1.1.5 - - @backstage/types@1.0.2 - - @backstage/plugin-auth-node@0.2.13-next.1 - -## 0.4.2-next.0 - -### Patch Changes - -- 8cce2205a39: Register unhandled rejection and uncaught exception handlers to avoid backend crashes. -- Updated dependencies - - @backstage/backend-common@0.18.4-next.0 - - @backstage/config@1.0.7 - - @backstage/backend-plugin-api@0.5.1-next.0 - - @backstage/backend-tasks@0.5.1-next.0 - - @backstage/cli-common@0.1.12 - - @backstage/config-loader@1.1.9 - - @backstage/errors@1.1.5 - - @backstage/types@1.0.2 - - @backstage/plugin-auth-node@0.2.13-next.0 - - @backstage/plugin-permission-node@0.7.7-next.0 - -## 0.4.1 - -### Patch Changes - -- 928a12a9b3e: Internal refactor of `/alpha` exports. -- 482dae5de1c: Updated link to docs. -- 915e46622cf: Add support for `NotImplementedError`, properly returning 501 as status code. -- Updated dependencies - - @backstage/plugin-permission-node@0.7.6 - - @backstage/plugin-auth-node@0.2.12 - - @backstage/backend-tasks@0.5.0 - - @backstage/backend-common@0.18.3 - - @backstage/errors@1.1.5 - - @backstage/backend-plugin-api@0.5.0 - - @backstage/config-loader@1.1.9 - - @backstage/cli-common@0.1.12 - - @backstage/config@1.0.7 - - @backstage/types@1.0.2 - -## 0.4.1-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-auth-node@0.2.12-next.2 - - @backstage/backend-tasks@0.5.0-next.2 - - @backstage/backend-common@0.18.3-next.2 - - @backstage/backend-plugin-api@0.4.1-next.2 - - @backstage/plugin-permission-node@0.7.6-next.2 - - @backstage/config@1.0.7-next.0 - -## 0.4.1-next.1 - -### Patch Changes - -- 482dae5de1c: Updated link to docs. -- 915e46622cf: Add support for `NotImplementedError`, properly returning 501 as status code. -- Updated dependencies - - @backstage/plugin-permission-node@0.7.6-next.1 - - @backstage/errors@1.1.5-next.0 - - @backstage/backend-common@0.18.3-next.1 - - @backstage/config-loader@1.1.9-next.0 - - @backstage/plugin-auth-node@0.2.12-next.1 - - @backstage/backend-plugin-api@0.4.1-next.1 - - @backstage/backend-tasks@0.4.4-next.1 - - @backstage/cli-common@0.1.12-next.0 - - @backstage/config@1.0.7-next.0 - - @backstage/types@1.0.2 - -## 0.4.1-next.0 - -### Patch Changes - -- 928a12a9b3: Internal refactor of `/alpha` exports. -- Updated dependencies - - @backstage/backend-tasks@0.4.4-next.0 - - @backstage/backend-plugin-api@0.4.1-next.0 - - @backstage/backend-common@0.18.3-next.0 - - @backstage/cli-common@0.1.11 - - @backstage/config@1.0.6 - - @backstage/config-loader@1.1.8 - - @backstage/errors@1.1.4 - - @backstage/types@1.0.2 - - @backstage/plugin-auth-node@0.2.12-next.0 - - @backstage/plugin-permission-node@0.7.6-next.0 - -## 0.4.0 - -### Minor Changes - -- 01a075ec1d: **BREAKING**: Renamed `RootHttpRouterConfigureOptions` to `RootHttpRouterConfigureContext`, and removed the unused type `ServiceOrExtensionPoint`. -- 4ae71b7f2e: **BREAKING** Renaming `*Factory` exports to `*ServiceFactory` instead. For example `configFactory` now is exported as `configServiceFactory`. -- d31d8e00b3: **BREAKING** `HttpServerCertificateOptions` when specified with a `key` and `cert` should also have the `type: 'pem'` instead of `type: 'plain'` - -### Patch Changes - -- a18da2f8b5: Fixed an issue were the log redaction didn't properly escape RegExp characters. -- 5febb216fe: Updated to match the new `CacheService` interface. -- e716946103: Updated usage of the lifecycle service. -- f60cca9da1: Updated database factory to pass service deps required for restoring database state during development. -- 610d65e143: Updates to match new `BackendFeature` type. -- 725383f69d: Tweaked messaging in the README. -- b86efa2d04: Updated usage of `ServiceFactory`. -- ab22515647: The shutdown signal handlers are now installed as part of the backend instance rather than the lifecycle service, and explicitly cause the process to exit. -- b729f9f31f: Moved the options of the `config` and `rootHttpRouter` services out to the factories themselves, where they belong -- ed8b5967d7: `HttpRouterFactoryOptions.getPath` is now optional as a default value is always provided in the factory. -- 71a5ec0f06: Updated usages of `LogMeta`. -- Updated dependencies - - @backstage/backend-plugin-api@0.4.0 - - @backstage/backend-common@0.18.2 - - @backstage/backend-tasks@0.4.3 - - @backstage/cli-common@0.1.11 - - @backstage/config@1.0.6 - - @backstage/config-loader@1.1.8 - - @backstage/errors@1.1.4 - - @backstage/types@1.0.2 - - @backstage/plugin-auth-node@0.2.11 - - @backstage/plugin-permission-node@0.7.5 - -## 0.4.0-next.2 - -### Minor Changes - -- 01a075ec1d: **BREAKING**: Renamed `RootHttpRouterConfigureOptions` to `RootHttpRouterConfigureContext`, and removed the unused type `ServiceOrExtensionPoint`. -- 4ae71b7f2e: **BREAKING** Renaming `*Factory` exports to `*ServiceFactory` instead. For example `configFactory` now is exported as `configServiceFactory`. -- d31d8e00b3: **BREAKING** `HttpServerCertificateOptions` when specified with a `key` and `cert` should also have the `type: 'pem'` instead of `type: 'plain'` - -### Patch Changes - -- e716946103: Updated usage of the lifecycle service. -- f60cca9da1: Updated database factory to pass service deps required for restoring database state during development. -- 610d65e143: Updates to match new `BackendFeature` type. -- ab22515647: The shutdown signal handlers are now installed as part of the backend instance rather than the lifecycle service, and explicitly cause the process to exit. -- b729f9f31f: Moved the options of the `config` and `rootHttpRouter` services out to the factories themselves, where they belong -- 71a5ec0f06: Updated usages of `LogMeta`. -- Updated dependencies - - @backstage/backend-plugin-api@0.4.0-next.2 - - @backstage/backend-common@0.18.2-next.2 - - @backstage/backend-tasks@0.4.3-next.2 - - @backstage/plugin-auth-node@0.2.11-next.2 - - @backstage/plugin-permission-node@0.7.5-next.2 - - @backstage/cli-common@0.1.11 - - @backstage/config@1.0.6 - - @backstage/config-loader@1.1.8 - - @backstage/errors@1.1.4 - - @backstage/types@1.0.2 - -## 0.3.2-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.2-next.1 - - @backstage/backend-plugin-api@0.3.2-next.1 - - @backstage/backend-tasks@0.4.3-next.1 - - @backstage/cli-common@0.1.11 - - @backstage/config@1.0.6 - - @backstage/config-loader@1.1.8 - - @backstage/errors@1.1.4 - - @backstage/types@1.0.2 - - @backstage/plugin-auth-node@0.2.11-next.1 - - @backstage/plugin-permission-node@0.7.5-next.1 - -## 0.3.2-next.0 - -### Patch Changes - -- a18da2f8b5: Fixed an issue were the log redaction didn't properly escape RegExp characters. -- ed8b5967d7: `HttpRouterFactoryOptions.getPath` is now optional as a default value is always provided in the factory. -- Updated dependencies - - @backstage/backend-common@0.18.2-next.0 - - @backstage/backend-tasks@0.4.3-next.0 - - @backstage/plugin-auth-node@0.2.11-next.0 - - @backstage/plugin-permission-node@0.7.5-next.0 - - @backstage/backend-plugin-api@0.3.2-next.0 - -## 0.3.0 - -### Minor Changes - -- 02b119ff93: **BREAKING**: The `httpRouterFactory` now accepts a `getPath` option rather than `indexPlugin`. To set up custom index path, configure the new `rootHttpRouterFactory` with a custom `indexPath` instead. - - Added an implementation for the new `rootHttpRouterServiceRef`. - -### Patch Changes - -- ecc6bfe4c9: Use new `ServiceFactoryOrFunction` type. -- b99c030f1b: Moved over implementation of the root HTTP service from `@backstage/backend-common`, and replaced the `middleware` option with a `configure` callback option. -- 170282ece6: Fixed a bug in the default token manager factory where it created multiple incompatible instances. -- 843a0a158c: Added service factory for the new core identity service. -- 150a7dd790: An error will now be thrown if attempting to override the plugin metadata service. -- 483e907eaf: Internal updates of `createServiceFactory` from `@backstage/backend-plugin-api`. -- 015a6dced6: The `createSpecializedBackend` function will now throw an error if duplicate service implementations are provided. -- e3fca10038: Tweaked the plugin logger to use `plugin` as the label for the plugin ID, rather than `pluginId`. -- ecbec4ec4c: Internal refactor to match new options pattern in the experimental backend system. -- 51b7a7ed07: Exported the default root HTTP router implementation as `DefaultRootHttpRouter`. It only implements the routing layer and needs to be exposed via an HTTP server similar to the built-in setup in the `rootHttpRouterFactory`. -- 0e63aab311: Moved over logging and configuration loading implementations from `@backstage/backend-common`. There is a now `WinstonLogger` which implements the `RootLoggerService` through Winston with accompanying utilities. For configuration the `loadBackendConfig` function has been moved over, but it now instead returns an object with a `config` property. -- 8e06f3cf00: Switched imports of `loggerToWinstonLogger` to `@backstage/backend-common`. -- 3b8fd4169b: Internal folder structure refactor. -- 6cfd4d7073: Updated implementations for the new `RootLifecycleService`. -- Updated dependencies - - @backstage/backend-plugin-api@0.3.0 - - @backstage/backend-common@0.18.0 - - @backstage/backend-tasks@0.4.1 - - @backstage/config@1.0.6 - - @backstage/cli-common@0.1.11 - - @backstage/config-loader@1.1.8 - - @backstage/errors@1.1.4 - - @backstage/types@1.0.2 - - @backstage/plugin-auth-node@0.2.9 - - @backstage/plugin-permission-node@0.7.3 - -## 0.3.0-next.1 - -### Minor Changes - -- 02b119ff93: **BREAKING**: The `httpRouterFactory` now accepts a `getPath` option rather than `indexPlugin`. To set up custom index path, configure the new `rootHttpRouterFactory` with a custom `indexPath` instead. - - Added an implementation for the new `rootHttpRouterServiceRef`. - -### Patch Changes - -- ecc6bfe4c9: Use new `ServiceFactoryOrFunction` type. -- b99c030f1b: Moved over implementation of the root HTTP service from `@backstage/backend-common`, and replaced the `middleware` option with a `configure` callback option. -- 150a7dd790: An error will now be thrown if attempting to override the plugin metadata service. -- 015a6dced6: The `createSpecializedBackend` function will now throw an error if duplicate service implementations are provided. -- e3fca10038: Tweaked the plugin logger to use `plugin` as the label for the plugin ID, rather than `pluginId`. -- 8e06f3cf00: Switched imports of `loggerToWinstonLogger` to `@backstage/backend-common`. -- Updated dependencies - - @backstage/backend-plugin-api@0.3.0-next.1 - - @backstage/backend-common@0.18.0-next.1 - - @backstage/backend-tasks@0.4.1-next.1 - - @backstage/plugin-permission-node@0.7.3-next.1 - - @backstage/config@1.0.6-next.0 - - @backstage/errors@1.1.4 - -## 0.2.5-next.0 - -### Patch Changes - -- 6cfd4d7073: Updated implementations for the new `RootLifecycleService`. -- Updated dependencies - - @backstage/backend-plugin-api@0.2.1-next.0 - - @backstage/backend-common@0.18.0-next.0 - - @backstage/backend-tasks@0.4.1-next.0 - - @backstage/errors@1.1.4 - - @backstage/plugin-permission-node@0.7.3-next.0 - -## 0.2.4 - -### Patch Changes - -- cb1c2781c0: Updated logger implementations to match interface changes. -- 884d749b14: Refactored to use `coreServices` from `@backstage/backend-plugin-api`. -- afa3bf5657: Added `.stop()` method to `Backend`. -- d6dbf1792b: Added `lifecycleFactory` implementation. -- 05a928e296: Updated usages of types from `@backstage/backend-plugin-api`. -- 5260d8fc7d: Root scoped services are now always initialized, regardless of whether they're used by any features. -- Updated dependencies - - @backstage/backend-common@0.17.0 - - @backstage/backend-tasks@0.4.0 - - @backstage/plugin-permission-node@0.7.2 - - @backstage/errors@1.1.4 - - @backstage/backend-plugin-api@0.2.0 - -## 0.2.4-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-tasks@0.4.0-next.3 - - @backstage/plugin-permission-node@0.7.2-next.3 - - @backstage/backend-common@0.17.0-next.3 - - @backstage/backend-plugin-api@0.2.0-next.3 - - @backstage/errors@1.1.4-next.1 - -## 0.2.4-next.2 - -### Patch Changes - -- 884d749b14: Refactored to use `coreServices` from `@backstage/backend-plugin-api`. -- Updated dependencies - - @backstage/backend-common@0.17.0-next.2 - - @backstage/backend-plugin-api@0.2.0-next.2 - - @backstage/backend-tasks@0.4.0-next.2 - - @backstage/plugin-permission-node@0.7.2-next.2 - - @backstage/errors@1.1.4-next.1 - -## 0.2.4-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.17.0-next.1 - - @backstage/backend-tasks@0.4.0-next.1 - - @backstage/backend-plugin-api@0.1.5-next.1 - - @backstage/plugin-permission-node@0.7.2-next.1 - - @backstage/errors@1.1.4-next.1 - -## 0.2.4-next.0 - -### Patch Changes - -- d6dbf1792b: Added `lifecycleFactory` implementation. -- Updated dependencies - - @backstage/backend-common@0.16.1-next.0 - - @backstage/plugin-permission-node@0.7.2-next.0 - - @backstage/backend-plugin-api@0.1.5-next.0 - - @backstage/backend-tasks@0.3.8-next.0 - - @backstage/errors@1.1.4-next.0 - -## 0.2.3 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.16.0 - - @backstage/backend-tasks@0.3.7 - - @backstage/backend-plugin-api@0.1.4 - - @backstage/plugin-permission-node@0.7.1 - - @backstage/errors@1.1.3 - -## 0.2.3-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.16.0-next.1 - - @backstage/backend-plugin-api@0.1.4-next.1 - - @backstage/backend-tasks@0.3.7-next.1 - - @backstage/plugin-permission-node@0.7.1-next.1 - - @backstage/errors@1.1.3-next.0 - -## 0.2.3-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.16.0-next.0 - - @backstage/backend-tasks@0.3.7-next.0 - - @backstage/backend-plugin-api@0.1.4-next.0 - - @backstage/plugin-permission-node@0.7.1-next.0 - - @backstage/errors@1.1.3-next.0 - -## 0.2.2 - -### Patch Changes - -- 0027a749cd: Added possibility to configure index plugin of the HTTP router service. -- 45857bffae: Properly export `rootLoggerFactory`. -- Updated dependencies - - @backstage/backend-common@0.15.2 - - @backstage/backend-tasks@0.3.6 - - @backstage/plugin-permission-node@0.7.0 - - @backstage/backend-plugin-api@0.1.3 - - @backstage/errors@1.1.2 - -## 0.2.2-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-tasks@0.3.6-next.2 - - @backstage/backend-common@0.15.2-next.2 - - @backstage/plugin-permission-node@0.7.0-next.2 - - @backstage/backend-plugin-api@0.1.3-next.2 - - @backstage/errors@1.1.2-next.2 - -## 0.2.2-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.15.2-next.1 - - @backstage/backend-plugin-api@0.1.3-next.1 - - @backstage/backend-tasks@0.3.6-next.1 - - @backstage/errors@1.1.2-next.1 - - @backstage/plugin-permission-node@0.6.6-next.1 - -## 0.2.2-next.0 - -### Patch Changes - -- 0027a749cd: Added possibility to configure index plugin of the HTTP router service. -- 45857bffae: Properly export `rootLoggerFactory`. -- Updated dependencies - - @backstage/backend-plugin-api@0.1.3-next.0 - - @backstage/backend-common@0.15.2-next.0 - - @backstage/backend-tasks@0.3.6-next.0 - - @backstage/plugin-permission-node@0.6.6-next.0 - - @backstage/errors@1.1.2-next.0 - -## 0.2.1 - -### Patch Changes - -- 2c57c0c499: Made `ApiRef.defaultFactory` internal. -- 854ba37357: Updated to support new `ServiceFactory` formats. -- af6bb42c68: Updated `ServiceRegistry` to not initialize factories more than once. -- 409ed984e8: Updated service implementations and backend wiring to support scoped service. -- de3347ca74: Updated usages of `ServiceFactory`. -- 1f384c5644: Improved error messaging when failing to instantiate services. -- Updated dependencies - - @backstage/backend-plugin-api@0.1.2 - - @backstage/backend-common@0.15.1 - - @backstage/plugin-permission-node@0.6.5 - - @backstage/backend-tasks@0.3.5 - - @backstage/errors@1.1.1 - -## 0.2.1-next.2 - -### Patch Changes - -- 854ba37357: Updated to support new `ServiceFactory` formats. -- 409ed984e8: Updated service implementations and backend wiring to support scoped service. -- Updated dependencies - - @backstage/backend-plugin-api@0.1.2-next.2 - - @backstage/errors@1.1.1-next.0 - - @backstage/backend-common@0.15.1-next.3 - - @backstage/backend-tasks@0.3.5-next.1 - - @backstage/plugin-permission-node@0.6.5-next.3 - -## 0.2.1-next.1 - -### Patch Changes - -- 2c57c0c499: Made `ApiRef.defaultFactory` internal. -- af6bb42c68: Updated `ServiceRegistry` to not initialize factories more than once. -- 1f384c5644: Improved error messaging when failing to instantiate services. -- Updated dependencies - - @backstage/backend-plugin-api@0.1.2-next.1 - - @backstage/backend-common@0.15.1-next.2 - - @backstage/plugin-permission-node@0.6.5-next.2 - -## 0.2.1-next.0 - -### Patch Changes - -- de3347ca74: Updated usages of `ServiceFactory`. -- Updated dependencies - - @backstage/backend-common@0.15.1-next.0 - - @backstage/backend-tasks@0.3.5-next.0 - - @backstage/backend-plugin-api@0.1.2-next.0 - - @backstage/plugin-permission-node@0.6.5-next.0 - -## 0.2.0 - -### Minor Changes - -- 5df230d48c: Introduced a new `backend-defaults` package carrying `createBackend` which was previously exported from `backend-app-api`. - The `backend-app-api` package now exports the `createSpecializedBacked` that does not add any service factories by default. - -### Patch Changes - -- 0599732ec0: Refactored experimental backend system with new type names. -- Updated dependencies - - @backstage/backend-common@0.15.0 - - @backstage/backend-plugin-api@0.1.1 - - @backstage/backend-tasks@0.3.4 - - @backstage/plugin-permission-node@0.6.4 - -## 0.1.1-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.15.0-next.0 - - @backstage/backend-tasks@0.3.4-next.0 - - @backstage/backend-plugin-api@0.1.1-next.0 - - @backstage/plugin-permission-node@0.6.4-next.0 - -## 0.1.0 - -### Minor Changes - -- 91c1d12123: Add initial plumbing for creating backends using the experimental backend framework. - - This package is highly **EXPERIMENTAL** and should not be used in production. - -### Patch Changes - -- Updated dependencies - - @backstage/backend-plugin-api@0.1.0 - - @backstage/backend-common@0.14.1 - - @backstage/plugin-permission-node@0.6.3 - - @backstage/backend-tasks@0.3.3 - -## 0.1.0-next.0 - -### Minor Changes - -- 91c1d12123: Add initial plumbing for creating backends using the experimental backend framework. - - This package is highly **EXPERIMENTAL** and should not be used in production. - -### Patch Changes - -- Updated dependencies - - @backstage/backend-plugin-api@0.1.0-next.0 - - @backstage/backend-common@0.14.1-next.3 - - @backstage/plugin-permission-node@0.6.3-next.2 - - @backstage/backend-tasks@0.3.3-next.3 - ## @backstage/frontend-app-api@0.7.0-next.2 ### Minor Changes From 2adb57ffdcf51b724407c29f7c58f766dd0175b8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 8 May 2024 13:30:16 +0000 Subject: [PATCH 15/16] chore(deps): update dependency @types/diff to v5.2.1 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 6cee25b42b..6a60bab02e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17069,9 +17069,9 @@ __metadata: linkType: hard "@types/diff@npm:^5.0.0": - version: 5.2.0 - resolution: "@types/diff@npm:5.2.0" - checksum: 07e20ba25d15b997758cc248628bb1e6459e7b396c868f176dee1e6a5d1dfcdf1e186fb5bf5e67128d7f55a11e989cff2ec656de089e15ed4a44e654c5c1fda3 + version: 5.2.1 + resolution: "@types/diff@npm:5.2.1" + checksum: 5983a323177bd691cb2194f5d55b960cd20a9c8fec653b4b038760c5809627cc9ea3578fdf10119ccbefefef193ea925f2817136eb97b17388f66b16c8480a8a languageName: node linkType: hard From 07a99e5a8b931b3a5e1b4235568a99c88f4f853b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 8 May 2024 14:21:54 +0000 Subject: [PATCH 16/16] chore(deps): update dependency @types/jquery to v3.5.30 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 6a60bab02e..5c700c6fdc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17438,11 +17438,11 @@ __metadata: linkType: hard "@types/jquery@npm:^3.3.34": - version: 3.5.29 - resolution: "@types/jquery@npm:3.5.29" + version: 3.5.30 + resolution: "@types/jquery@npm:3.5.30" dependencies: "@types/sizzle": "*" - checksum: 5e959762d6f7050b07b4387b6507a308113384566a77cfc4f8d0f54c2fb0a79f6bc8c057706c6aa4840cde56f32ad0e5814fb53c5f078c5db9e01670a1ecd535 + checksum: 4594d10fa9b347062883d254a23c9259ae814ef5989ce1985f093dcc7ad4475e324ac3343aef10599c478ea4951726f0e7f79d8ed471ab04de394b7e724d6d13 languageName: node linkType: hard