Back to Backstage

Release v1.43.0

docs/releases/v1.43.0-changelog.md

1.51.0-next.261.8 KB
Original Source

Release v1.43.0

Upgrade Helper: https://backstage.github.io/upgrade-helper/?to=1.43.0

@backstage/[email protected]

Minor Changes

  • 9956704: Add and configure the OpenShift authentication provider to the default APIs.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 4e2c237: The mockServices.rootConfig() instance now has an update method that can be used to test configuration subscriptions and updates.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 0e9ec44: Introduced new streamEntities async generator method for the catalog.

    Catalog API and Catalog Service now includes a streamEntities method that allows for streaming entities from the catalog. This method is designed to handle large datasets efficiently by processing entities in a stream rather than loading them all into memory at once. This is useful when you need to fetch a large number of entities but do not want to use pagination or fetch all entities at once.

    Example usage:

    ts
    const pageStream = catalogClient.streamEntities({ pageSize: 100 }, { token });
    for await (const page of pageStream) {
      // Handle page of entities
      for (const entity of page) {
        console.log(entity);
      }
    }
    

Patch Changes

  • 0efcc97: Updated generated schemas

@backstage/[email protected]

Minor Changes

  • 3fca906: Add OpenShiftAuth helper to create default OAuth flow for OpenShift.

Patch Changes

@backstage/[email protected]

Minor Changes

  • b9a87f4: Add optional distance property to DependencyEdge to reflect the distance to a root.

Patch Changes

  • 1ad3d94: Dependency graph can now be opened in full screen mode
  • e409bec: Fixes for rendering initials in the avatar component.
  • ae7d426: update about card links style for pretty display with other language
  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 5114627: Make openshiftAuthApiRef available in @backstage/core-plugin-api.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 6516c3d: The createSpecializedApp no longer throws when encountering many common errors when starting up the app. It will instead return them through the errors property so that they can be handled more gracefully in the app.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 894d514: Make openshiftApiRef available to the new frontend system.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 03bdc68: Added support for limiting GithubAppCredentialsMux to specific apps

Patch Changes

  • 56897d7: Fixes issue with Github credentials provider which fails to match organization name if using allowedInstallationOwners

@backstage/[email protected]

Minor Changes

  • 99790db: Add implementation of OpenShift authentication provider.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 54ddfef: Initial publish of the auth frontend package

Patch Changes

@backstage/[email protected]

Minor Changes

  • 5a84253: Add new auth-backend-module-openshift-provider. This authentication provider enables Backstage to sign in with OpenShift.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 9b40a55: Add support for specifying an entity spec.type in catalog.rules and catalog.locations.rules within the catalog configuration.

    For example, this enables allowing all Template entities with the type website:

    diff
      catalog:
        rules:
          - allow:
              - Component
              - API
              - Resource
              - System
              - Domain
              - Location
    +     - allow:
    +         - kind: Template
    +           spec.type: website
            locations:
              - type: url
                pattern: https://github.com/org/*\/blob/master/*.yaml
    

Patch Changes

  • 37b4eaf: The 'get-catalog-entity' action now throws a ConflictError instead of generic Error if multiple entities are found, so MCP call doesn't fail with 500.

  • 2bbd24f: Order catalog processors by priority.

    This change enables the ordering of catalog processors by their priority, allowing for more control over the catalog processing sequence. The default priority is set to 20, and processors can be assigned a custom priority to influence their execution order. Lower number indicates higher priority. The priority can be set by implementing the getPriority method in the processor class or by adding a catalog.processors.<processorName>.priority configuration in the app-config.yaml file. The configuration takes precedence over the method.

  • e934a27: Updating catalog:get-catalog-entity action to be readOnly and non destructive

  • 0efcc97: Updated generated schemas

  • 2204f5b: Prevent deadlock in catalog deferred stitching

  • 58874c4: Add support to disable catalog providers and processors via configuration

  • a4c82ad: Only run provider orphan cleanup if the engine is started in the first place

  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 03bdc68: Added support for discovery by app

Patch Changes

@backstage/[email protected]

Minor Changes

  • 577f0ed: BREAKING: Encode query filters for requests made to msgraph. If you currently have manually encoded characters in a filter, this is a breaking change and must be updated to avoid requests being double encoded.

    diff
    user:
    -    filter: department in('MARKETING', 'RESEARCH %26 DEVELOPMENT')
    +    filter: department in('MARKETING', 'RESEARCH & DEVELOPMENT')
    

Patch Changes

@backstage/[email protected]

Minor Changes

  • ae6b606: Support custom relations by using an API to define known relations and which to show by default Fixes "simplified" bug (#30121) which caused graphs not to be simplified

Patch Changes

@backstage/[email protected]

Minor Changes

  • 0e9ec44: Introduced new streamEntities async generator method for the catalog.

    Catalog API and Catalog Service now includes a streamEntities method that allows for streaming entities from the catalog. This method is designed to handle large datasets efficiently by processing entities in a stream rather than loading them all into memory at once. This is useful when you need to fetch a large number of entities but do not want to use pagination or fetch all entities at once.

    Example usage:

    ts
    const pageStream = catalogClient.streamEntities({ pageSize: 100 }, { token });
    for await (const page of pageStream) {
      // Handle page of entities
      for (const entity of page) {
        console.log(entity);
      }
    }
    

Patch Changes

  • 2bbd24f: Order catalog processors by priority.

    This change enables the ordering of catalog processors by their priority, allowing for more control over the catalog processing sequence. The default priority is set to 20, and processors can be assigned a custom priority to influence their execution order. Lower number indicates higher priority. The priority can be set by implementing the getPriority method in the processor class or by adding a catalog.processors.<processorName>.priority configuration in the app-config.yaml file. The configuration takes precedence over the method.

  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 0e9ec44: Introduced new streamEntities async generator method for the catalog.

    Catalog API and Catalog Service now includes a streamEntities method that allows for streaming entities from the catalog. This method is designed to handle large datasets efficiently by processing entities in a stream rather than loading them all into memory at once. This is useful when you need to fetch a large number of entities but do not want to use pagination or fetch all entities at once.

    Example usage:

    ts
    const pageStream = catalogClient.streamEntities({ pageSize: 100 }, { token });
    for await (const page of pageStream) {
      // Handle page of entities
      for (const entity of page) {
        console.log(entity);
      }
    }
    

Patch Changes

@backstage/[email protected]

Minor Changes

  • f0f06b4: Adding a new scaffolder action github:issues:create following the reference of github:issues:label with dryRun testing possibility

    It can be used like this

      steps:
        - id: create-simple-issue
          name: Create Simple Issue
          action: github:issues:create
          input:
            repoUrl: ${{ parameters.repoUrl }}
            title: "[${{ parameters.projectName }}] Simple Bug Report"
            body: |
              ## Bug Description
              This is a simple bug report created by the scaffolder template.
    
              ### Steps to Reproduce
              1. Run the application
              2. Navigate to the main page
              3. Click on the problematic button
    
              ### Expected Behavior
              The button should work correctly.
    
              ### Actual Behavior
              The button does not respond to clicks.
      output:
        links:
          - title: Simple Issue
            url: ${{ steps['create-simple-issue'].output.issueUrl }}
    

Patch Changes

  • aee107b: Add auto_init option to github:repo:create action to create repository with an initial commit containing a README.md file

    This initial commit is created by GitHub itself and the commit is signed, so the repository will not be empty after creation.

    diff
      - action: github:repo:create
        id: init-new-repo
        input:
          repoUrl: 'github.com?repo=repo&owner=owner'
          description: This is the description
          visibility: private
    +     autoInit: true
    
    
  • 6393b78: Add block creations field in github branch protection scaffolder actions

  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • a0b604c: Adding redirect handling for TechDocs URLs that reference entities that now reference an external entity for TechDocs. Including tests and documentation.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 72543e9: Adding catalogApiRef to test-utils to support catalog API usage by TechDocs reader page.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 063cdc5: Techdocs: support HumanDuration for cache TTL and timeout configuration
  • a0b604c: Adding new entity that specifies an external entity in the techdocs-entity annotation and updates to documentation regarding TechDocs redirects.

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 33bd4d0: Deduplicate discovered features discovered with discoveryFeatureLoader

  • 4eda590: Fixed cache namespace and key prefix separator configuration to properly use configured values instead of hardcoded plugin ID. The cache manager now correctly combines the configured namespace with plugin IDs using the configured separator for Redis and Valkey. Memcache and memory store continue to use plugin ID as namespace.

  • f244e61: Add backend.logger config options to configure the RootLoggerService.

    Read more about the new configuration options in the Root Logger Service documentation.

  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • e6f45dc: Updated the WebPack configuration to use contenthash. This fixes an issue were builds would sometimes generate output files with the same name but different content across builds, leading to breakages when loading the frontend app.

  • fffd434: Disallow import fallback of critical shared dependencies in module federation.

  • 080f252: Fixed the new-frontend-plugin template that was incorrectly passing id instead of pluginId to createFrontendPlugin and unnecessarily importing React.

  • e0db9b8: Modify the backstage.json also for custom patterns if it extends the default pattern.

    Examples:

    • @backstage/* (default pattern)
    • @{backstage,backstage-community}/*
    • @{extra1,backstage,extra2}/*
  • 275bda8: Fixed an issue that could cause conflicts of detected modules in workspaces with multiple apps.

  • e1adce4: Updated the backend plugin template to use a new pattern for the TodoListService that reduces boilerplate.

  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • a73f495: Allow using BACKSTAGE_ENV for loading environment specific config files
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • b2d9fc1: Creates a plugin that redirects from the Home page to the Catalog index page to avoid seeing a not found page error when starting the app.
  • 020d484: Bumped create-app version.
  • 02dbe8e: Add missing dependency to @backstage/cli, @backstage/core-plugin-api and @backstage/integration-react

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 6516c3d: The default app now leverages the new error reporting functionality from @backstage/frontend-app-api. If there are critical errors during startup, an error screen that shows a summary of all errors will now be shown, rather than leaving the screen blank. Other errors will be logged as warnings in the console.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 133ac7a: Fixed knip-reports command failing when workspace path contains spaces and process termination issues by replacing execFile with spawn and removing shell option.
  • Updated dependencies

@techdocs/[email protected]

Patch Changes

  • db63208: Fixed an issue where @techdocs/cli serve command did not pick up the latest changes to TechDocs.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • a95cebd: Internal refactoring for better type support

@backstage/[email protected]

Patch Changes

  • 7307930: Add missing class for flex: baseline
  • 89da341: Fix Select component to properly attach aria-label and aria-labelledby props to the rendered element for improved accessibility.
  • 0ffa4c7: Removed the need to mock window.matchMedia in tests, falling back to default breakpoint values instead.

@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

  • 1d47bf3: Implementing Dynamic Client Registration with the OIDC server. You can enable this by setting auth.experimentalDynamicClientRegistration.enabled in app-config.yaml. This is highly experimental, but feedback welcome.
  • 54ddfef: Updating plugin metadata
  • 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

  • 54ddfef: Updating plugin metadata
  • 3aff9e1: Changes OAuth cookies from domain-scoped to host-only by avoid setting the domain attribute in the default cookie configurer.
  • 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

@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

  • 1d47bf3: Proxy /.well-known/oauth-authorization-server to /.well-known/openid-configuration on auth-backend when auth.experimentalDynamicClientRegistration.enabled is enabled.
  • 7f2a4a0: Updating docs
  • d08b0c9: The MCP backend will now convert known Backstage errors into textual responses with isError: true. The error message can be useful for an LLM to understand and maybe give back to the user. Previously all errors where thrown out to @modelcontextprotocol/sdk which causes a generic 500.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • a95cebd: Internal refactoring for better type support

  • 7e7ed57: A new extension point was added that can be used to modify how the users receiving notifications are resolved. The interface passed to the extension point should only return complete user entity references based on the notification target references and the excluded entity references. Note that the inputs are lists of entity references that can be any entity kind, not just user entities.

    Using this extension point will override the default behavior of resolving users with the DefaultNotificationRecipientResolver.

  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 7e7ed57: A new extension point was added that can be used to modify how the users receiving notifications are resolved. The interface passed to the extension point should only return complete user entity references based on the notification target references and the excluded entity references. Note that the inputs are lists of entity references that can be any entity kind, not just user entities.

    Using this extension point will override the default behavior of resolving users with the DefaultNotificationRecipientResolver.

  • 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

@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

  • cde70ca: Added support for batchKeyField in the Elasticsearch indexer to allow consistent document IDs during bulk uploads.
  • 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

[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

[email protected]

Patch Changes

@internal/[email protected]

Patch Changes

@internal/[email protected]

Patch Changes