Back to Backstage

Release v1.24.0

docs/releases/v1.24.0-changelog.md

1.51.0-next.2156.7 KB
Original Source

Release v1.24.0

@backstage/[email protected]

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 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, httpAuth, and userInfo services that were created as part of BEP-0003.

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/[email protected]

Minor Changes

  • 0d72065: The backend devlopment server transpilation has been replaced with a simplified solution based on SWC, which is already the transpiler used for tests. This fixed an issue where never versions of the tsx dependency had a new contract for signalling dependencies, breaking watch mode. This change fixed file watches as well as enables sourcemaps.

Patch Changes

  • fe1a55e: Extend option to minify generated code to the backend package.
  • b0875e5: Fixed a bug that could cause the build-workspace command to fail when invoked with --alwaysYarnPack enabled in environments with limited resources.
  • bdf9ec1: New backend plugins with cli are now created using the new backend system
  • cadbb82: Added a EXPERIMENTAL_LAZY_COMPILATION flag, which enables the experimental Webpack lazy compilation option in frontend builds.
  • 999224f: Bump dependency minimatch to v9
  • 1bd4596: Removed the ts-node dev dependency.
  • 8dce287: Fix prettier issues on default plugins & module templates
  • f86e34c: Removed unused replace-in-file dependency
  • 2398c7c: Updated dependency @spotify/prettier-config to ^15.0.0. Updated dependency @spotify/eslint-config-base to ^15.0.0. Updated dependency @spotify/eslint-config-react to ^15.0.0. Updated dependency @spotify/eslint-config-typescript to ^15.0.0.
  • f4404e5: Add .ico import support
  • f39dfd3: Tweak the descriptions of the CLI templates
  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 50cf9df: The ConfigReader now treats null values as present but explicitly undefined, meaning it will not fall back to the next level of configuration.

Patch Changes

@backstage/[email protected]

Minor Changes

  • db8358d: Forward null values read from configuration files in configuration data, rather than treating them as an absence of config.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 8bfcc50: Fix knip-report command to send 1 exit status in case of fail

Patch Changes

@backstage/[email protected]

Minor Changes

  • 293c835: Add support for Service Tokens to Cloudflare Access auth provider
  • 492fe83: BREAKING: The CatalogIdentityClient constructor now also requires the discovery service to be forwarded from the plugin environment. This is part of the migration to support the new auth services, which has also been done for the createRouter function.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 1bedb23: Adds a new guest provider that maps guest users to actual tokens. This also shifts the default guest login to user:development/guest to reduce overlap with your production/real data. To change that (or set it back to the old default, use the new auth.providers.guest.userEntityRef config key) like so,

    yaml
    auth:
      providers:
        guest:
          userEntityRef: user:default/guest
    

    This also adds a new property to control the ownership entity refs,

    yaml
    auth:
      providers:
        guest:
          ownershipEntityRefs:
            - guests
            - development/custom
    

Patch Changes

@backstage/[email protected]

Minor Changes

  • 9fdb86a: Ability to fetch the README file from a different Azure DevOps path.

    Defaults to the current, Azure DevOps default behaviour (README.md in the root of the git repo); to use a different path, add the annotation dev.azure.com/readme-path

    Example:

    yaml
    dev.azure.com/readme-path: /my-path/README.md
    
  • a9e7bd6: BREAKING The AzureDevOpsClient no longer requires identityAPi but now requires fetchApi.

    Updated to use fetchApi as per ADR013

  • 3270b1b: Azure DevOps plugin is now integrated with permission framework for its core features, see the https://github.com/backstage/backstage/blob/master/plugins/azure-devops/README.md#permission-framework for more details.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 9fdb86a: Ability to fetch the README file from a different Azure DevOps path.

    Defaults to the current, Azure DevOps default behaviour (README.md in the root of the git repo); to use a different path, add the annotation dev.azure.com/readme-path

    Example:

    yaml
    dev.azure.com/readme-path: /my-path/README.md
    
  • 3270b1b: Azure DevOps plugin is now integrated with permission framework for its core features, see the https://github.com/backstage/backstage/blob/master/plugins/azure-devops/README.md#permission-framework for more details.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 9fdb86a: Ability to fetch the README file from a different Azure DevOps path.

    Defaults to the current, Azure DevOps default behaviour (README.md in the root of the git repo); to use a different path, add the annotation dev.azure.com/readme-path

    Example:

    yaml
    dev.azure.com/readme-path: /my-path/README.md
    

Patch Changes

@backstage/[email protected]

Minor Changes

  • 6b802a2: BREAKING: The createRouter method now requires the discovery service to be forwarded from the plugin environment. This is part of the migration to support new auth services.
  • acf3e00: Azure Sites list now hides the internal/microsoft only hidden- tags from the list of tags that are returned. Updated the log endpoint to /logstream-quickstart rather than just /logstream to stream logs in the Azure Portal UI.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 72b8827: Adds a title to the PaginatedCatalogTable for better visibility on what you're viewing.

Patch Changes

@backstage/[email protected]

Minor Changes

  • df12231: Allow setting EntityDataParser using CatalogModelExtensionPoint
  • 15ba00f: Migrated to support new auth services. The CatalogBuilder.create method now accepts a discovery option, which is recommended to forward from the plugin environment, as it will otherwise fall back to use the HostDiscovery implementation.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 9e527c9: BREAKING CHANGE: Migrates the BitbucketCloudEntityProvider to use the EventsService; fix new backend system support.

    BitbucketCloudEntityProvider.fromConfig accepts events: EventsService as optional argument to its options. With provided events, the event-based updates/refresh will be available. However, the EventSubscriber interface was removed including its supportsEventTopics() and onEvent(params).

    The event subscription happens on connect(connection) if the events is available.

    Migration:

    diff
      const bitbucketCloudProvider = BitbucketCloudEntityProvider.fromConfig(
        env.config,
        {
          catalogApi: new CatalogClient({ discoveryApi: env.discovery }),
    +     events: env.events,
          logger: env.logger,
          scheduler: env.scheduler,
          tokenManager: env.tokenManager,
        },
      );
    - env.eventBroker.subscribe(bitbucketCloudProvider);
    

    New Backend System:

    Before this change, using this module with the new backend system was broken. Now, you can add the catalog module for Bitbucket Cloud incl. event support backend. Event support will always be enabled. However, no updates/refresh will happen without receiving events.

    ts
    backend.add(
      import('@backstage/plugin-catalog-backend-module-bitbucket-cloud/alpha'),
    );
    

Patch Changes

@backstage/[email protected]

Minor Changes

  • 924c1ac: BREAKING- the @backstage/plugin-catalog-backend-module-unprocessed constructor is now private, and have been moved to using the static .create method instead which now requires a PermissionService and DiscoveryService.

    If you're using this module in the old backend system you'll need to migrate to using the .create method and pass in the new required parameters in packages/backend/src/plugins/catalog.ts.

    No changes should be required if you're using the new backend system.

    diff
    -  const unprocessed = new UnprocessedEntitiesModule(
    -    await env.database.getClient(),
    -    router,
    -  );
    + const unprocessed = UnprocessedEntitiesModule.create({
    +    database: await env.database.getClient(),
    +    router,
    +    permissions: env.permissions,
    +    discovery: env.discovery,
    +  });
    
      unprocessed.registerRoutes();
    

    Adds the ability to delete an unprocessed entity from the refresh_state table. This change requires enabling permissions for your Backstage instance.

Patch Changes

@backstage/[email protected]

Minor Changes

  • df12231: Allow setting EntityDataParser using CatalogModelExtensionPoint

Patch Changes

@backstage/[email protected]

Minor Changes

  • 72b8827: Number of results is now directly added as the field totalItems on useEntityList.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 924c1ac: BREAKING- the @backstage/plugin-catalog-backend-module-unprocessed constructor is now private, and have been moved to using the static .create method instead which now requires a PermissionService and DiscoveryService.

    If you're using this module in the old backend system you'll need to migrate to using the .create method and pass in the new required parameters in packages/backend/src/plugins/catalog.ts.

    No changes should be required if you're using the new backend system.

    diff
    -  const unprocessed = new UnprocessedEntitiesModule(
    -    await env.database.getClient(),
    -    router,
    -  );
    + const unprocessed = UnprocessedEntitiesModule.create({
    +    database: await env.database.getClient(),
    +    router,
    +    permissions: env.permissions,
    +    discovery: env.discovery,
    +  });
    
      unprocessed.registerRoutes();
    

    Adds the ability to delete an unprocessed entity from the refresh_state table. This change requires enabling permissions for your Backstage instance.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 4dc5b48: BREAKING: The createRouter method now requires the discovery service to be forwarded from the plugin environment. This is part of the migration to support new auth services.

Patch Changes

@backstage/[email protected]

Minor Changes

  • c4bd794: BREAKING CHANGE: Migrate HttpPostIngressEventPublisher and eventsPlugin to use EventsService.

    Uses the EventsService instead of EventBroker at HttpPostIngressEventPublisher, dropping the use of EventPublisher including setEventBroker(..).

    Now, HttpPostIngressEventPublisher.fromConfig requires events: EventsService as option.

    diff
      const http = HttpPostIngressEventPublisher.fromConfig({
        config: env.config,
    +   events: env.events,
        logger: env.logger,
      });
      http.bind(eventsRouter);
    
      // e.g. at packages/backend/src/plugins/events.ts
    - await new EventsBackend(env.logger)
    -   .setEventBroker(env.eventBroker)
    -   .addPublishers(http)
    -   .start();
    
      // or for other kinds of setups
    - await Promise.all(http.map(publisher => publisher.setEventBroker(eventBroker)));
    

    eventsPlugin uses the eventsServiceRef as dependency. Unsupported (and deprecated) extension point methods will throw an error to prevent unintended behavior.

    ts
    import { eventsServiceRef } from '@backstage/plugin-events-node';
    

Patch Changes

  • 56969b6: Add new EventsService as well as eventsServiceRef for the new backend system.

    Summary:

    • new: EventsService, eventsServiceRef, TestEventsService
    • deprecated: EventBroker, EventPublisher, EventSubscriber, DefaultEventBroker, EventsBackend, most parts of EventsExtensionPoint (alpha), TestEventBroker, TestEventPublisher, TestEventSubscriber

    Add the eventsServiceRef as dependency to your backend plugins or backend plugin modules.

    Details:

    The previous implementation using the EventsExtensionPoint was added in the early stages of the new backend system and does not respect the plugin isolation. This made it not compatible anymore with the new backend system.

    Additionally, the previous interfaces had some room for simplification, supporting less exposure of internal concerns as well.

    Hereby, this change adds a new EventsService interface as replacement for the now deprecated EventBroker. The new interface does not require any EventPublisher or EventSubscriber interfaces anymore. Instead, it is expected that the EventsService gets passed into publishers and subscribers, and used internally. There is no need to expose anything of that at their own interfaces.

    Most parts of EventsExtensionPoint (alpha) are deprecated as well and were not usable (by other plugins or their modules) anyway.

    The DefaultEventBroker implementation is deprecated and wraps the new DefaultEventsService implementation. Optionally, an instance can be passed as argument to allow mixed setups to operate alongside.

  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 132d672: BREAKING CHANGE: Migrate AwsSqsConsumingEventPublisher and its backend module to use EventsService.

    Uses the EventsService instead of EventBroker at AwsSqsConsumingEventPublisher, dropping the use of EventPublisher including setEventBroker(..).

    Now, AwsSqsConsumingEventPublisher.fromConfig requires events: EventsService as option.

    diff
      const sqs = AwsSqsConsumingEventPublisher.fromConfig({
        config: env.config,
    +   events: env.events,
        logger: env.logger,
        scheduler: env.scheduler,
      });
    + await Promise.all(sqs.map(publisher => publisher.start()));
    
      // e.g. at packages/backend/src/plugins/events.ts
    - await new EventsBackend(env.logger)
    -   .setEventBroker(env.eventBroker)
    -   .addPublishers(sqs)
    -   .start();
    
      // or for other kinds of setups
    - await Promise.all(sqs.map(publisher => publisher.setEventBroker(eventBroker)));
    

    eventsModuleAwsSqsConsumingEventPublisher uses the eventsServiceRef as dependency, instead of eventsExtensionPoint.

Patch Changes

@backstage/[email protected]

Minor Changes

  • eff3ca9: BREAKING CHANGE: Migrate EventRouter implementations from EventBroker to EventsService.

    EventRouter uses the new EventsService instead of the EventBroker now, causing a breaking change to its signature.

    All of its extensions and implementations got adjusted accordingly. (SubTopicEventRouter, AzureDevOpsEventRouter, BitbucketCloudEventRouter, GerritEventRouter, GithubEventRouter, GitlabEventRouter)

    Required adjustments were made to all backend modules for the new backend system, now also making use of the eventsServiceRef instead of the eventsExtensionPoint.

    Migration:

    Example for implementations of SubTopicEventRouter:

    diff
      import {
        EventParams,
    +   EventsService,
        SubTopicEventRouter,
      } from '@backstage/plugin-events-node';
    
      export class GithubEventRouter extends SubTopicEventRouter {
    -   constructor() {
    -     super('github');
    +   constructor(options: { events: EventsService }) {
    +     super({
    +       events: options.events,
    +       topic: 'github',
    +     });
        }
    
    +   protected getSubscriberId(): string {
    +     return 'GithubEventRouter';
    +   }
    +
        // ...
      }
    

    Example for a direct extension of EventRouter:

    diff
      class MyEventRouter extends EventRouter {
    -   constructor(/* ... */) {
    +   constructor(options: {
    +     events: EventsService;
    +     // ...
    +   }) {
    -     super();
          // ...
    +     super({
    +       events: options.events,
    +       topics: topics,
    +     });
        }
    +
    +   protected getSubscriberId(): string {
    +     return 'MyEventRouter';
    +   }
    -
    -   supportsEventTopics(): string[] {
    -     return this.topics;
    -   }
      }
    

Patch Changes

@backstage/[email protected]

Minor Changes

  • eff3ca9: BREAKING CHANGE: Migrate EventRouter implementations from EventBroker to EventsService.

    EventRouter uses the new EventsService instead of the EventBroker now, causing a breaking change to its signature.

    All of its extensions and implementations got adjusted accordingly. (SubTopicEventRouter, AzureDevOpsEventRouter, BitbucketCloudEventRouter, GerritEventRouter, GithubEventRouter, GitlabEventRouter)

    Required adjustments were made to all backend modules for the new backend system, now also making use of the eventsServiceRef instead of the eventsExtensionPoint.

    Migration:

    Example for implementations of SubTopicEventRouter:

    diff
      import {
        EventParams,
    +   EventsService,
        SubTopicEventRouter,
      } from '@backstage/plugin-events-node';
    
      export class GithubEventRouter extends SubTopicEventRouter {
    -   constructor() {
    -     super('github');
    +   constructor(options: { events: EventsService }) {
    +     super({
    +       events: options.events,
    +       topic: 'github',
    +     });
        }
    
    +   protected getSubscriberId(): string {
    +     return 'GithubEventRouter';
    +   }
    +
        // ...
      }
    

    Example for a direct extension of EventRouter:

    diff
      class MyEventRouter extends EventRouter {
    -   constructor(/* ... */) {
    +   constructor(options: {
    +     events: EventsService;
    +     // ...
    +   }) {
    -     super();
          // ...
    +     super({
    +       events: options.events,
    +       topics: topics,
    +     });
        }
    +
    +   protected getSubscriberId(): string {
    +     return 'MyEventRouter';
    +   }
    -
    -   supportsEventTopics(): string[] {
    -     return this.topics;
    -   }
      }
    

Patch Changes

@backstage/[email protected]

Minor Changes

  • eff3ca9: BREAKING CHANGE: Migrate EventRouter implementations from EventBroker to EventsService.

    EventRouter uses the new EventsService instead of the EventBroker now, causing a breaking change to its signature.

    All of its extensions and implementations got adjusted accordingly. (SubTopicEventRouter, AzureDevOpsEventRouter, BitbucketCloudEventRouter, GerritEventRouter, GithubEventRouter, GitlabEventRouter)

    Required adjustments were made to all backend modules for the new backend system, now also making use of the eventsServiceRef instead of the eventsExtensionPoint.

    Migration:

    Example for implementations of SubTopicEventRouter:

    diff
      import {
        EventParams,
    +   EventsService,
        SubTopicEventRouter,
      } from '@backstage/plugin-events-node';
    
      export class GithubEventRouter extends SubTopicEventRouter {
    -   constructor() {
    -     super('github');
    +   constructor(options: { events: EventsService }) {
    +     super({
    +       events: options.events,
    +       topic: 'github',
    +     });
        }
    
    +   protected getSubscriberId(): string {
    +     return 'GithubEventRouter';
    +   }
    +
        // ...
      }
    

    Example for a direct extension of EventRouter:

    diff
      class MyEventRouter extends EventRouter {
    -   constructor(/* ... */) {
    +   constructor(options: {
    +     events: EventsService;
    +     // ...
    +   }) {
    -     super();
          // ...
    +     super({
    +       events: options.events,
    +       topics: topics,
    +     });
        }
    +
    +   protected getSubscriberId(): string {
    +     return 'MyEventRouter';
    +   }
    -
    -   supportsEventTopics(): string[] {
    -     return this.topics;
    -   }
      }
    

Patch Changes

@backstage/[email protected]

Minor Changes

  • eff3ca9: BREAKING CHANGE: Migrate EventRouter implementations from EventBroker to EventsService.

    EventRouter uses the new EventsService instead of the EventBroker now, causing a breaking change to its signature.

    All of its extensions and implementations got adjusted accordingly. (SubTopicEventRouter, AzureDevOpsEventRouter, BitbucketCloudEventRouter, GerritEventRouter, GithubEventRouter, GitlabEventRouter)

    Required adjustments were made to all backend modules for the new backend system, now also making use of the eventsServiceRef instead of the eventsExtensionPoint.

    Migration:

    Example for implementations of SubTopicEventRouter:

    diff
      import {
        EventParams,
    +   EventsService,
        SubTopicEventRouter,
      } from '@backstage/plugin-events-node';
    
      export class GithubEventRouter extends SubTopicEventRouter {
    -   constructor() {
    -     super('github');
    +   constructor(options: { events: EventsService }) {
    +     super({
    +       events: options.events,
    +       topic: 'github',
    +     });
        }
    
    +   protected getSubscriberId(): string {
    +     return 'GithubEventRouter';
    +   }
    +
        // ...
      }
    

    Example for a direct extension of EventRouter:

    diff
      class MyEventRouter extends EventRouter {
    -   constructor(/* ... */) {
    +   constructor(options: {
    +     events: EventsService;
    +     // ...
    +   }) {
    -     super();
          // ...
    +     super({
    +       events: options.events,
    +       topics: topics,
    +     });
        }
    +
    +   protected getSubscriberId(): string {
    +     return 'MyEventRouter';
    +   }
    -
    -   supportsEventTopics(): string[] {
    -     return this.topics;
    -   }
      }
    

Patch Changes

@backstage/[email protected]

Minor Changes

  • eff3ca9: BREAKING CHANGE: Migrate EventRouter implementations from EventBroker to EventsService.

    EventRouter uses the new EventsService instead of the EventBroker now, causing a breaking change to its signature.

    All of its extensions and implementations got adjusted accordingly. (SubTopicEventRouter, AzureDevOpsEventRouter, BitbucketCloudEventRouter, GerritEventRouter, GithubEventRouter, GitlabEventRouter)

    Required adjustments were made to all backend modules for the new backend system, now also making use of the eventsServiceRef instead of the eventsExtensionPoint.

    Migration:

    Example for implementations of SubTopicEventRouter:

    diff
      import {
        EventParams,
    +   EventsService,
        SubTopicEventRouter,
      } from '@backstage/plugin-events-node';
    
      export class GithubEventRouter extends SubTopicEventRouter {
    -   constructor() {
    -     super('github');
    +   constructor(options: { events: EventsService }) {
    +     super({
    +       events: options.events,
    +       topic: 'github',
    +     });
        }
    
    +   protected getSubscriberId(): string {
    +     return 'GithubEventRouter';
    +   }
    +
        // ...
      }
    

    Example for a direct extension of EventRouter:

    diff
      class MyEventRouter extends EventRouter {
    -   constructor(/* ... */) {
    +   constructor(options: {
    +     events: EventsService;
    +     // ...
    +   }) {
    -     super();
          // ...
    +     super({
    +       events: options.events,
    +       topics: topics,
    +     });
        }
    +
    +   protected getSubscriberId(): string {
    +     return 'MyEventRouter';
    +   }
    -
    -   supportsEventTopics(): string[] {
    -     return this.topics;
    -   }
      }
    

Patch Changes

@backstage/[email protected]

Minor Changes

  • eff3ca9: BREAKING CHANGE: Migrate EventRouter implementations from EventBroker to EventsService.

    EventRouter uses the new EventsService instead of the EventBroker now, causing a breaking change to its signature.

    All of its extensions and implementations got adjusted accordingly. (SubTopicEventRouter, AzureDevOpsEventRouter, BitbucketCloudEventRouter, GerritEventRouter, GithubEventRouter, GitlabEventRouter)

    Required adjustments were made to all backend modules for the new backend system, now also making use of the eventsServiceRef instead of the eventsExtensionPoint.

    Migration:

    Example for implementations of SubTopicEventRouter:

    diff
      import {
        EventParams,
    +   EventsService,
        SubTopicEventRouter,
      } from '@backstage/plugin-events-node';
    
      export class GithubEventRouter extends SubTopicEventRouter {
    -   constructor() {
    -     super('github');
    +   constructor(options: { events: EventsService }) {
    +     super({
    +       events: options.events,
    +       topic: 'github',
    +     });
        }
    
    +   protected getSubscriberId(): string {
    +     return 'GithubEventRouter';
    +   }
    +
        // ...
      }
    

    Example for a direct extension of EventRouter:

    diff
      class MyEventRouter extends EventRouter {
    -   constructor(/* ... */) {
    +   constructor(options: {
    +     events: EventsService;
    +     // ...
    +   }) {
    -     super();
          // ...
    +     super({
    +       events: options.events,
    +       topics: topics,
    +     });
        }
    +
    +   protected getSubscriberId(): string {
    +     return 'MyEventRouter';
    +   }
    -
    -   supportsEventTopics(): string[] {
    -     return this.topics;
    -   }
      }
    

Patch Changes

  • 56969b6: Add new EventsService as well as eventsServiceRef for the new backend system.

    Summary:

    • new: EventsService, eventsServiceRef, TestEventsService
    • deprecated: EventBroker, EventPublisher, EventSubscriber, DefaultEventBroker, EventsBackend, most parts of EventsExtensionPoint (alpha), TestEventBroker, TestEventPublisher, TestEventSubscriber

    Add the eventsServiceRef as dependency to your backend plugins or backend plugin modules.

    Details:

    The previous implementation using the EventsExtensionPoint was added in the early stages of the new backend system and does not respect the plugin isolation. This made it not compatible anymore with the new backend system.

    Additionally, the previous interfaces had some room for simplification, supporting less exposure of internal concerns as well.

    Hereby, this change adds a new EventsService interface as replacement for the now deprecated EventBroker. The new interface does not require any EventPublisher or EventSubscriber interfaces anymore. Instead, it is expected that the EventsService gets passed into publishers and subscribers, and used internally. There is no need to expose anything of that at their own interfaces.

    Most parts of EventsExtensionPoint (alpha) are deprecated as well and were not usable (by other plugins or their modules) anyway.

    The DefaultEventBroker implementation is deprecated and wraps the new DefaultEventsService implementation. Optionally, an instance can be passed as argument to allow mixed setups to operate alongside.

  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 8807d2a: Resolved styling inconsistencies and title visibility issues in Top Visited and Recently Visited cards

Patch Changes

@backstage/[email protected]

Minor Changes

  • 55191cc: BREAKING: Both createRouter and DefaultJenkinsInfoProvider.fromConfig now require the discovery service to be forwarded from the plugin environment. This is part of the migration to support new auth services.

    The JenkinsInfoProvider interface has been updated to receive credentials of the type BackstageCredentials rather than a token.

Patch Changes

@backstage/[email protected]

Minor Changes

  • e1e540c: BREAKING: The KubernetesBuilder.createBuilder method now requires the discovery service to be forwarded from the plugin environment. This is part of the migration to support new auth services.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 6e6d096: notifications can be newly sorted by list of predefined options
  • cd96173: Notifications-backend URL query parameters changed from sort/sortOrder to orderField and created_after to createdAfter to unify with other plugins.
  • 07abfe1: The NotificationsPage newly uses pagination implemented on the backend layer to avoid large dataset transfers
  • 758f2a4: The Notifications frontend has been redesigned towards list view with condensed row details. The 'done' attribute has been removed to keep the Notifications aligned with the idea of a messaging system instead of a task manager.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 6e6d096: notifications can be newly sorted by list of predefined options
  • cd96173: Notifications-backend URL query parameters changed from sort/sortOrder to orderField and created_after to createdAfter to unify with other plugins.
  • 07abfe1: The NotificationsPage newly uses pagination implemented on the backend layer to avoid large dataset transfers
  • daf85dc: BREAKING CHANGE: Migrates signals to use the EventsService and makes it mandatory
  • 758f2a4: The Notifications frontend has been redesigned towards list view with condensed row details. The 'done' attribute has been removed to keep the Notifications aligned with the idea of a messaging system instead of a task manager.

Patch Changes

  • ba14c0e: Support for broadcast notifications

  • dff7a7e: All notifications can be marked and filtered by severity critical, high, normal or low, the default is 'normal'

  • 4467036: Allow unauthenticated access to health check endpoint.

  • 6c1547a: BREAKING Type definition added to signal recipients

    Update to use {type: 'broadcast'} instead null and {type: 'user', entityRef: ''} instead string entity references

  • 75f2d84: the user can newly mark notifications as "Saved" for their better visibility in the future

  • a790a3d: Move notification origin resolving to backend with new auth

  • 5d9c5ba: The Notifications can be newly filtered based on the Created Date.

  • 0fb419b: Updated dependency uuid to ^9.0.0. Updated dependency @types/uuid to ^9.0.0.

  • 84af361: Migrated to using the new auth services.

  • 6d84ee6: Changed to use the refactored signal service naming

  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 84af361: Migrated to using the new auth services.

Patch Changes

@backstage/[email protected]

Minor Changes

  • a3b4d90: Added a menu to the header of template page for direct access to editing the template

Patch Changes

@backstage/[email protected]

Minor Changes

  • e9663a9: Move away from using ctx.logStream
  • aa543c9: Migrate plugin to use the new auth services, add an optional service discovery to the router options and change the permissions type to be PermissionsService.
  • e9663a9: Enable the redaction of secrets using the redacting logger and the secrets from the TaskSpec
  • c6b132e: Introducing checkpoints for scaffolder task action idempotency

Patch Changes

@backstage/[email protected]

Minor Changes

  • 6bfb7b1: Output the iid as issuesIid from the gitlab:issues:create action

Patch Changes

@backstage/[email protected]

Minor Changes

  • 02ee466: DEPRECATION - Deprecated the logStream in the ActionContext. Please move to using ctx.logger.x instead.
  • aa543c9: Update task context type to contain the new auth initiator credentials.

Patch Changes

@backstage/[email protected]

Minor Changes

  • f44589d: Introduced createMockActionContext to unify the way of creating scaffolder mock context.

    It will help to maintain tests in a long run during structural changes of action context.

Patch Changes

  • 2bd1410: Removed unused dependencies
  • aa543c9: Add an initiator credentials getter to the default mock context.
  • 563dfd0: Fix issue with package bundling, should be dist/index.cjs.js instead of dist/index.esm.js.
  • bbd1fe1: Made "checkpoint" on scaffolder action context non-optional
  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 6c1547a: BREAKING Type definition added to signal recipients

    Update to use {type: 'broadcast'} instead null and {type: 'user', entityRef: ''} instead string entity references

  • daf85dc: BREAKING CHANGE: Migrates signals to use the EventsService and makes it mandatory

Patch Changes

@backstage/[email protected]

Minor Changes

  • 6c1547a: BREAKING Type definition added to signal recipients

    Update to use {type: 'broadcast'} instead null and {type: 'user', entityRef: ''} instead string entity references

  • daf85dc: BREAKING CHANGE: Migrates signals to use the EventsService and makes it mandatory

Patch Changes

@backstage/[email protected]

Minor Changes

  • d621468: BREAKING: The FactRetrieverContext type now contains an additional auth field.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 0453619: Fixed example snippet in README.md to reflect correct timeline item order.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 718b734: Create extension point TechdocsGeneratorExtensionPoint to allow adding a custom generator

Patch Changes

@backstage/[email protected]

Minor Changes

  • 718b734: Create extension point TechdocsGeneratorExtensionPoint to allow adding a custom generator

Patch Changes

@backstage/[email protected]

Minor Changes

  • 3f14e9f: Create a new api method for issuing user cookie.

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 4a3d434: Added the new auth, httpAuth, and userInfo services that were created as part of BEP-0003 to the coreServices.

    At the same time, the httpRouter service gained a new addAuthPolicy method that lets your plugin declare exemptions to the default auth policy - for example if you want to allow unauthenticated or cookie-based access to some subset of your feature routes.

    If you have migrated to the new backend system, please see the Auth Service Migration tutorial for more information on how to move toward using these services.

  • 0502d82: Updated the PermissionsService methods to accept BackstageCredentials through options.

  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 4a3d434: Added support for the new auth and httpAuth services that were created as part of BEP-0003. These services will be present by default in test apps, and you can access mocked versions of their features under mockServices.auth and mockServices.httpAuth if you want to inspect or replace their behaviors.

    There is also a new mockCredentials that you can use for acquiring mocks of the various types of credentials that are used in the new system.

  • 9802004: Added mockServices.userInfo, which now also automatically is made available in test backends.

  • fd61d39: Updated dependency testcontainers to ^10.0.0.

  • ff40ada: Updated dependency mysql2 to ^3.0.0.

  • 0fb419b: Updated dependency uuid to ^9.0.0. Updated dependency @types/uuid to ^9.0.0.

  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 1bd4596: Removed the ts-node dev dependency.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 2ff3e6e: The translation support for the Link component has been removed for now, in order to avoid broad breakages of tests in existing projects where the component is tested without being wrapped in an API provider.
  • 2d06e4b: Move the text-transform styling on BackstageTableHeader from inline styling to withStyles so it can be customised easier
  • 5c271fa: Removed inline styling in breadcrumbs and replaced with a theme reachable class of BreadcrumbsCurrentPage
  • ff33ee2: Removed hardcoded font-family on select input
  • ff7e126: Support i18n for core components
  • 7854120: Create a component abstraction to consume system icons.
  • ce73c3b: Removed the inline color from select icon to allow it to be colored via a theme
  • 0c9d5ea: Updated MUI imports for core-components to not be top level
  • 90d08b0: Updated dependency react-idle-timer to 5.7.2.
  • a8f7904: SignInPage's 'guest' provider now supports the @backstage/plugin-auth-backend-module-guest-provider package to generate tokens. It will continue to use the old frontend-only auth as a fallback.
  • 0a8a1e9: Fix a spacing issue for the SidebarSubmenu in case a SidebarScrollWrapper is used that made it hard to reach the SidebarSubmenu
  • aa1c88d: Deprecate the customStyles prop for the Avatar component in favour of the classes prop.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 4cca80f: Bumped create-app version.
  • 8db51ca: Bumped create-app version.
  • 778bc48: Bumped create-app version.
  • 1bd4596: Removed the ts-node dev dependency.
  • 829a249: Migrated the backend of the create app template to use the new backend system. For information on how to migrate your existing backend, see the migration guide.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 2636075: Fixed an issue that was causing ResponseError not to report the HTTP status from the provided response.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 999224f: Bump dependency minimatch to v9

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@techdocs/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 6f4d2a0: Exported defaultTypography to make adjusting these values in a custom theme easier

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 161114f: added an optional ESLint rule - no-top-level-material-ui-4-imports - which has an auto fix function to migrate the imports and used it to migrate the imports for plugins/apache-airflow
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • bb9e31e: Added an optional ESLint rule - no-top-level-material-ui-4-imports -in apollo-explorer plugin which has an auto fix function to migrate the imports and used it to migrate the Material UI imports for plugins/apollo-explorer.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 2af5354: Bump dependency jose to v5
  • e77d7a9: Internal refactor to avoid deprecated method.
  • b1b012d: Fix issue with providerInfo not being set properly for some proxy providers, by making providerInfo an explicit optional return from authenticate
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • b4fc6e3: Deprecated the getBearerTokenFromAuthorizationHeader function, which is being replaced by the new HttpAuthService.
  • 2af5354: Bump dependency jose to v5
  • 0fb419b: Updated dependency uuid to ^9.0.0. Updated dependency @types/uuid to ^9.0.0.
  • b1b012d: Fix issue with providerInfo not being set properly for some proxy providers, by making providerInfo an explicit optional return from authenticate
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • a936a8f: Migrated the GithubLocationAnalyzer to support new auth services.

  • 999224f: Bump dependency minimatch to v9

  • 2eb0da3: Support EventsService and events with the new backend system (through EventsService) for GithubOrgEntityProvider and GithubMultiOrgEntityProvider.

    New/Current Backend System:

    The events support for the provider will be enabled always, making it ready to consume events from its subscribed topics. In order to receive events and make use of this feature, you still need to set up receiving events from the event source as before.

    Legacy Backend System:

    You can pass the EventsService instance to the factory method as one of its options:

    diff
      // packages/backend/src/plugins/catalog.ts
      const githubOrgProvider = GithubOrgEntityProvider.fromConfig(env.config, {
        events: env.events,
        // ...
      });
    - env.eventBroker.subscribe(githubOrgProvider);
    
    diff
      // packages/backend/src/plugins/catalog.ts
      const githubMultiOrgProvider = GithubMultiOrgEntityProvider.fromConfig(env.config, {
        events: env.events,
        // ...
      });
    - env.eventBroker.subscribe(githubMultiOrgProvider);
    
  • bcf55d5: Support EventsService and events with the new backend system (through EventsService).

    New/Current Backend System:

    The events support for the provider will be enabled always, making it ready to consume events from its subscribed topics. In order to receive events and make use of this feature, you still need to set up receiving events from the event source as before.

    Legacy Backend System:

    You can pass the EventsService instance to the factory method as one of its options:

    diff
      // packages/backend/src/plugins/catalog.ts
      const githubProvider = GithubEntityProvider.fromConfig(env.config, {
    +   events: env.events,
        logger: env.logger,
        scheduler: env.scheduler,
      });
    - env.eventBroker.subscribe(githubProvider);
    
  • 0fb419b: Updated dependency uuid to ^9.0.0. Updated dependency @types/uuid to ^9.0.0.

  • 9eab52a: Add location analyzer when installing the module

  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 2eb0da3: Support EventsService and events with the new backend system (through EventsService) for GithubOrgEntityProvider and GithubMultiOrgEntityProvider.

    New/Current Backend System:

    The events support for the provider will be enabled always, making it ready to consume events from its subscribed topics. In order to receive events and make use of this feature, you still need to set up receiving events from the event source as before.

    Legacy Backend System:

    You can pass the EventsService instance to the factory method as one of its options:

    diff
      // packages/backend/src/plugins/catalog.ts
      const githubOrgProvider = GithubOrgEntityProvider.fromConfig(env.config, {
        events: env.events,
        // ...
      });
    - env.eventBroker.subscribe(githubOrgProvider);
    
    diff
      // packages/backend/src/plugins/catalog.ts
      const githubMultiOrgProvider = GithubMultiOrgEntityProvider.fromConfig(env.config, {
        events: env.events,
        // ...
      });
    - env.eventBroker.subscribe(githubMultiOrgProvider);
    
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 924c1ac: BREAKING- the @backstage/plugin-catalog-backend-module-unprocessed constructor is now private, and have been moved to using the static .create method instead which now requires a PermissionService and DiscoveryService.

    If you're using this module in the old backend system you'll need to migrate to using the .create method and pass in the new required parameters in packages/backend/src/plugins/catalog.ts.

    No changes should be required if you're using the new backend system.

    diff
    -  const unprocessed = new UnprocessedEntitiesModule(
    -    await env.database.getClient(),
    -    router,
    -  );
    + const unprocessed = UnprocessedEntitiesModule.create({
    +    database: await env.database.getClient(),
    +    router,
    +    permissions: env.permissions,
    +    discovery: env.discovery,
    +  });
    
      unprocessed.registerRoutes();
    

    Adds the ability to delete an unprocessed entity from the refresh_state table. This change requires enabling permissions for your Backstage instance.

  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 88878a4: Added an optional ESLint rule - no-top-level-material-ui-4-imports - in CircleCI plugin which has an auto fix function to migrate the imports and used it to migrate the Material UI imports for plugins/circleci.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 7a5e933: Added an optional ESLint rule - no-top-level-material-ui-4-imports -in cloudbuild plugin which has an auto fix function to migrate the imports and used it to migrate the Material UI imports for plugins/cloudbuild.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 56969b6: Add new EventsService as well as eventsServiceRef for the new backend system.

    Summary:

    • new: EventsService, eventsServiceRef, TestEventsService
    • deprecated: EventBroker, EventPublisher, EventSubscriber, DefaultEventBroker, EventsBackend, most parts of EventsExtensionPoint (alpha), TestEventBroker, TestEventPublisher, TestEventSubscriber

    Add the eventsServiceRef as dependency to your backend plugins or backend plugin modules.

    Details:

    The previous implementation using the EventsExtensionPoint was added in the early stages of the new backend system and does not respect the plugin isolation. This made it not compatible anymore with the new backend system.

    Additionally, the previous interfaces had some room for simplification, supporting less exposure of internal concerns as well.

    Hereby, this change adds a new EventsService interface as replacement for the now deprecated EventBroker. The new interface does not require any EventPublisher or EventSubscriber interfaces anymore. Instead, it is expected that the EventsService gets passed into publishers and subscribers, and used internally. There is no need to expose anything of that at their own interfaces.

    Most parts of EventsExtensionPoint (alpha) are deprecated as well and were not usable (by other plugins or their modules) anyway.

    The DefaultEventBroker implementation is deprecated and wraps the new DefaultEventsService implementation. Optionally, an instance can be passed as argument to allow mixed setups to operate alongside.

  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 0cecb09: Updated dependency @rjsf/utils to 5.17.1. Updated dependency @rjsf/core to 5.17.1. Updated dependency @rjsf/material-ui to 5.17.1. Updated dependency @rjsf/validator-ajv8 to 5.17.1.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • ba14c0e: Support for broadcast notifications
  • a790a3d: Move notification origin resolving to backend with new auth
  • 758f2a4: The Notifications frontend has been redesigned towards list view with condensed row details. The 'done' attribute has been removed to keep the Notifications aligned with the idea of a messaging system instead of a task manager.

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 0502d82: The token option of the PermissionEvaluator methods is now deprecated. The options that only apply to backend implementations have been moved to PermissionsService from @backstage/backend-plugin-api instead.
  • 0fb419b: Updated dependency uuid to ^9.0.0. Updated dependency @types/uuid to ^9.0.0.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 2bd1410: Removed unused dependencies

  • 0e48aaf: Added an option to specify a commit author by adding gitAuthorName and gitAuthorEmail options to the publish:bitbucketServer:pull-request action

  • f44589d: Introduced createMockActionContext to unify the way of creating scaffolder mock context.

    It will help to maintain tests in a long run during structural changes of action context.

  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • f44589d: Introduced createMockActionContext to unify the way of creating scaffolder mock context.

    It will help to maintain tests in a long run during structural changes of action context.

  • 35fe005: Export getOctokitOptions for easy re-use of Octokit configuration handling

  • 1753898: Updated dependency octokit-plugin-create-pull-request to ^5.0.0.

  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 744c0cb: Deprecate QueryTranslator, QueryRequestOptions and SearchEngine in favor of the types exported from @backstage/plugin-search-backend-node.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 7984d1e: Fixed bug in XcMetricsClient where it was not including parameter for excludeCI, which is now a required parameter for XCMetrics.
  • 9daf301: Added ESLint rule no-top-level-material-ui-4-imports in the xcmetrics plugin to migrate the Material UI imports.
  • Updated dependencies

[email protected]

Patch Changes

[email protected]

Patch Changes

[email protected]

Patch Changes

[email protected]

Patch Changes

[email protected]

Patch Changes

[email protected]

Patch Changes

[email protected]

Patch Changes

@internal/[email protected]

Patch Changes

@internal/[email protected]

Patch Changes

@internal/[email protected]

Patch Changes