Back to Backstage

Release v1.34.0

docs/releases/v1.34.0-changelog.md

1.51.0-next.282.8 KB
Original Source

Release v1.34.0

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

@backstage/[email protected]

Minor Changes

  • ebf083d: Service factories added by feature loaders now have lower priority and will be ignored if a factory for the same service is added directly by backend.add(serviceFactory).
  • 12eac85: EXPERIMENTAL: Adds a new instanceMetadataService to hold information about a specific backend instance.

Patch Changes

@backstage/[email protected]

Minor Changes

  • fd5d337: Added a new backend.health.headers configuration that can be used to set additional headers to include in health check responses.

    BREAKING CONSUMERS: As part of this change the createHealthRouter function exported from @backstage/backend-defaults/rootHttpRouter now requires the root config service to be passed through the config option.

  • 3f34ea9: Throttles Bitbucket Server API calls

  • de6f280: BREAKING Upgraded @keyv/redis and keyv packages to resolve a bug related to incorrect resolution of cache keys.

    This is a breaking change for clients using the redis store for cache with useRedisSets option set to false since cache keys will be calculated differently (without the sets:namespace: prefix). For clients with default configuration (or useRedisSets set to false) the cache keys will stay the same, but since @keyv/redis library no longer supports redis sets they won't be utilised anymore.

    If you were using useRedisSets option in configuration make sure to remove it from app-config.yaml:

    diff
    backend:
      cache:
        store: redis
        connection: redis://user:[email protected]:6379
    -   useRedisSets: false
    
  • 29180ec: BREAKING PRODUCERS: The LifecycleMiddlewareOptions.startupRequestPauseTimeout has been removed. Use the backend.lifecycle.startupRequestPauseTimeout setting in your app-config.yaml file to customize how the createLifecycleMiddleware function should behave. Also the root config service is required as an option when calling the createLifecycleMiddleware function:

    diff
    - createLifecycleMiddleware({ lifecycle, startupRequestPauseTimeout })
    + createLifecycleMiddleware({ config,  lifecycle })
    
  • 277092a: Implemented AzureBlobStorageUrlReader to read from the url of committed location from the entity provider

  • 18a2c00: All middleware used by the default coreServices.http is now exported for use by custom implementations.

Patch Changes

  • dfc8b41: Updated dependency @opentelemetry/api to ^1.9.0.
  • 5b1e68c: Immediately close all connections when shutting down in local development.
  • 8863b38: Export PluginTokenHandler and pluginTokenHandlerDecoratorServiceRef to allow for custom decoration of the plugin token handler without having to re-implement the entire handler.
  • 29180ec: Fix server response time by moving the lifecycle startup hooks back to the plugin lifecycle service.
  • 57e0b11: The user and plugin token verification in the default AuthService implementation will no longer forward verification errors to the caller, and instead log them as warnings.
  • 97c6837: Export DefaultHttpAuthService to allow for custom token extraction logic.
  • e5255f1: Log request and response metadata so it can be used for filtering log messages. The format of the request date was also changed from clf to utc.
  • 57e0b11: The default authServiceFactory now correctly depends on the plugin scoped Logger services rather than the root scoped one.
  • fe87fbf: Add task metrics as two gauges that track the last start and end timestamps as epoch seconds.
  • 1ac6b72: Support connection.type: cloudsql in database client for usage with @google-cloud/cloud-sql-connector and iam auth
  • 0e9c9fa: Implements the DefaultRootLifecycleService.addBeforeShutdownHook method, and updates DefaultRootHttpRouterService and DefaultRootHealthService to listen to that event to stop accepting traffic and close service connections.
  • d0cbd82: Remove use of the stoppable library on the DefaultRootHttpRouterService as Node's native http server close method already drains requests.
  • 5c9cc05: Use native fetch instead of node-fetch
  • cf627c6: Fixed an issue in the WinstonLogger where Errors thrown and given to logger.error with field values that could not be cast to a string would throw a TypeError
  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • afcebea: Fixed a Typescript error when trying to use the new OpenAPI server-side generated code.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 12eac85: EXPERIMENTAL: Adds a new instanceMetadataService to hold information about a specific backend instance.

Patch Changes

  • eef3ef1: Removed unused express dependencies.

  • 0e9c9fa: The RootLifecycleService now has a new addBeforeShutdownHook method, and hooks added through this method will run immediately when a termination event is received.

    The backend will not proceed with the shutdown and run the Shutdown hooks until all BeforeShutdown hooks have completed.

  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • de6f280: BREAKING Upgraded @keyv/redis and keyv packages to resolve a bug related to incorrect resolution of cache keys.

    This is a breaking change for clients using the redis store for cache with useRedisSets option set to false since cache keys will be calculated differently (without the sets:namespace: prefix). For clients with default configuration (or useRedisSets set to false) the cache keys will stay the same, but since @keyv/redis library no longer supports redis sets they won't be utilised anymore.

    If you were using useRedisSets option in configuration make sure to remove it from app-config.yaml:

    diff
    backend:
      cache:
        store: redis
        connection: redis://user:[email protected]:6379
    -   useRedisSets: false
    

Patch Changes

@backstage/[email protected]

Minor Changes

  • 384e494: Internal updates to generated code.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 277092a: Add the integration for Azure blob storage to read the credentials to access the storage account and provide the default credential provider.

Patch Changes

@backstage/[email protected]

Minor Changes

  • c1eccd6: Fix invalid path and malformed flags bugs in api-reports.ts

Patch Changes

@backstage/[email protected]

Minor Changes

  • 25beb82: Adds an optional columns attribute to HasSubdomainsCardProps and changes its default columns
  • 39f1abc: Consistent title behaviour across CatalogTable, CursorPaginatedCatalogTable, and OffsetPaginatedCatalogTable.
  • 1ffb9f3: Update CatalogTable title to use properly capitalized Kind facets (e.g. 'Component' instead of 'component')

Patch Changes

@backstage/[email protected]

Minor Changes

  • 02bd2cb: Added a new catalog.disableRelationsCompatibility configuration option that avoids JSON deserialization and serialization if possible when reading entities. This significantly reduces the memory usage of the catalog, and slightly increases performance, but it removes the backwards compatibility processing that ensures that both entity.relation[].target and entity.relation[].targetRef are present in returned entities.
  • c1307b4: Implement /entities in terms of queryEntities to not run into memory and performance problems on large catalogs
  • 384e494: Internal updates to generated code.
  • 1d0bc11: Fetch all facets in a single database query

Patch Changes

  • dfc8b41: Updated dependency @opentelemetry/api to ^1.9.0.
  • 8013c9c: Perform the by-query count inlined with the main query
  • feba9ee: Internal refactor of filter parsing logic.
  • 1fdb48e: Use a faster count method on pg when computing some metrics
  • e4aab10: Fix a bug where sometimes the by-query endpoint could return nulls for entities that were not yet stitched.
  • f159b25: Compute deltas more efficiently, which generally leads to less wasted processing cycles
  • 0c33465: Implement /entities/by-name/:kind/:namespace/:name using getEntitiesByRefs
  • 56511ba: Be more aggressive in dequeueing entities for stitching
  • 71152e3: Correctly report stitching queue length
  • 5c9cc05: Use native fetch instead of node-fetch
  • d93390d: When parsing filters, do not make redundant anyOf and allOf nodes when there's only a single entry within them
  • 3ab57c6: Support changing location keys on existing entities, in delta mutations
  • 24ecea8: Avoid extra ordering in by-query when the user doesn't ask for it
  • 2924ffe: Compute some metrics using search table facet aggregations instead of reading the full refresh state
  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 277092a: Added the Azure Blob Storage as catalog entity provider to import all the desired entities from storage account provided in app-config.yaml

Patch Changes

@backstage/[email protected]

Minor Changes

  • 3f34ea9: Throttles Bitbucket Server API calls

Patch Changes

@backstage/[email protected]

Minor Changes

  • 99dce5c: Implemented discovery for top-level groups defined in config.group or if undefined global top-level group in Gitlab

Patch Changes

@backstage/[email protected]

Minor Changes

  • 732700a: Updated fix for ldap entity mapping which doesn't require extra config setting of dnCaseSensitive
  • 95ac4a2: Add new ldap vendor config 'LLDAP'

Patch Changes

@backstage/[email protected]

Minor Changes

  • 8edc4cd: Updated the catalogServiceMock return type to match both CatalogService and CatalogApi

Patch Changes

@backstage/[email protected]

Minor Changes

  • 1ffb9f3: Update EntityKindFilter to include a label field with the properly capitalized Kind facet string
  • ceaf602: Sort EntityTypePicker by default

Patch Changes

@backstage/[email protected]

Minor Changes

  • c781a9a: BREAKING Removed support for what is known as the legacy backend, please use the New Backend System.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 384e494: Internal updates to generated code.

Patch Changes

@backstage/[email protected]

Minor Changes

  • fc15b77: Switched to using the new /notifications endpoints. Be sure to update the notifications plugin backend before deploying this frontend plugin change.

Patch Changes

@backstage/[email protected]

Minor Changes

Patch Changes

@backstage/[email protected]

Minor Changes

  • c05a343: Emit scaffolder events using the optional EventsService

Patch Changes

@backstage/[email protected]

Minor Changes

  • c4ffd13: Added the autocomplete feature to GitlabRepoUrlPicker
  • 32459d0: BREAKING: Upgraded the gitbeaker library to version 41. As part of this, the scopes parameter to the gitlab:projectDeployToken:create is no longer optional, so you will have to pass it a value (for example ['read_repository']).

Patch Changes

@backstage/[email protected]

Minor Changes

  • 384e494: Internal updates to generated code.

Patch Changes

@backstage/[email protected]

Minor Changes

  • e153ca6: Add pagination support to TechDocs Index Page and make it the default

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 2b6c1ea: If the Backstage yarn plugin is installed, it will now be automatically updated as part of versions:bump.
  • 7dcff85: Remove special-casing for @types packages when generating dependency entries during templating
  • 3c3a7e6: Revert css-loader@v7 bump
  • 0aff006: Bumped the version range for html-webpack-plugin to fix the htmlPluginExports.getCompilationHooks is not a function error when using experimental Rspack.
  • 583f3d4: Added @backstage/cli/config/prettier as a replacement for @spotify/prettier-config, but with the same configuration.
  • 62a9062: Updated dependency @module-federation/enhanced to ^0.8.0.
  • 5f04976: Update rollup to avoid issues with build output when running backstage-cli package build.
  • 5f04976: Fixed a bug that caused missing code in published packages.
  • a49030a: Add support for --output-file option from ESLint to package lint and repo lint commands.
  • 96331fa: Enhance the behavior of the experimental support for module federation in the backstage CLI, by using the package.json exports (when present) to complete the list of exposed modules. This allows, for example, using exported alpha definitions through module federation.
  • 5c9cc05: Use native fetch instead of node-fetch
  • dcd99d2: added experimental RSPack support for build command in the repo scope
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • e5fa018: The OAuth 2 client implementations will now attempt to refresh the session when the existing session doesn't have the required scopes. The previous behavior was to only try to refresh the session of it was missing, and otherwise directly request a new session. This fixes an issue where some auth providers will not return access tokens with certain scopes unless explicitly requested, leading to an auth popup even if the underlying session already had been granted the requested scopes.
  • 2830689: Decrease OAuth2 token refresh grace period
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 5819f8d: Updated Dockerfile to include backstage.json file
  • 583f3d4: Updated the template to use @backstage/cli/config/prettier instead of @spotify/prettier-config.
  • e913fdf: Add github backend module to create-app and improve error messages
  • 5c9cc05: Use native fetch instead of node-fetch
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 1d4b5b9: Trim error.cause.stack in addition to error.stack when trimming stack traces from serialized errors.
  • 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

  • 2e140dc: Switch to native fetch for loading release manifests
  • b29eaea: Allow overriding the fetch function used inside getManifestByVersion

@techdocs/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 5f04976: Fixed a bug that caused missing code in published packages.

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • e5fa018: The OAuth 2 client implementations will now attempt to refresh the session when the existing session doesn't have the required scopes. The previous behavior was to only try to refresh the session of it was missing, and otherwise directly request a new session. This fixes an issue where some auth providers will not return access tokens with certain scopes unless explicitly requested, leading to an auth popup even if the underlying session already had been granted the requested scopes.
  • 5f04976: Fixed a bug that caused missing code in published packages.
  • 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

@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

  • 79a06f6: Clarified purpose of subscriber ID in TSDoc for EventsServiceSubscribeOptions.

  • 1577511: Allow configuring a timeout for event bus polling requests. This can be set like so in your app-config:

    yaml
    events:
      notifyTimeoutMs: 30000
    
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 7248f3b: Added a new Quick Start Card to plugin-home, which can display basic info to get users the info they need to onboard to the Catalog.

    import { QuickStartCard } from '@backstage/plugin-home';
    <QuickStartCard
      title="Onboarding to the Catalog"
      modalTitle="Onboarding Quick Start"
      docsLinkTitle="Learn more with getting started docs"
      docsLink="https://backstage.io/docs/getting-started"
      image={
        
      }
      cardDescription="Backstage system model will help you create new entities"
      video={
        <video
          controls
          preload="auto"
          poster={"./videoPoster.png"}
        >
          <source src={"OnboardingDemo.mp4"} type="video/mp4" />
        </video>
      }
      downloadImage={
        <Button
          href={QuickStartPDF}
          target={'_blank'}
          download={true}
        >
          Download infographic button
        </Button>
      }
    />
    

    See the storybook examples

  • 9951ba4: Updated dependency @rjsf/utils to 5.23.1. Updated dependency @rjsf/core to 5.23.1. Updated dependency @rjsf/material-ui to 5.23.1. Updated dependency @rjsf/validator-ajv8 to 5.23.1.

  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 9951ba4: Updated dependency @rjsf/utils to 5.23.1. Updated dependency @rjsf/core to 5.23.1. Updated dependency @rjsf/material-ui to 5.23.1. Updated dependency @rjsf/validator-ajv8 to 5.23.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

@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

  • 3c62a50: Experimental support for formDecorators to enable secret collection and mutations to the parameters for scaffolder tasks
  • c4ffd13: Added the autocomplete feature to GitlabRepoUrlPicker
  • 28e286f: Added test coverage selectors to TemplateCard and its sub-components
  • c846d76: Updated dependency flatted to 3.3.2.
  • 9951ba4: Updated dependency @rjsf/utils to 5.23.1. Updated dependency @rjsf/core to 5.23.1. Updated dependency @rjsf/material-ui to 5.23.1. Updated dependency @rjsf/validator-ajv8 to 5.23.1.
  • 97a13ad: Improve performance of typing into scaffolder secret widget
  • 184161f: Scaffolder field extensions registered with FormFieldBlueprint are now collected in the useCustomFieldExtensions hook, enabling them for use in the scaffolder.
  • b21a5ae: Open links in the scaffolder entity and step descriptions in a new tab, to ensure consistency and improve user experience
  • 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

[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

[email protected]

Patch Changes

  • 48cc7c5: Use yarn's built-in http utilities for fetching release manifests
  • ac91864: Switch to using reduceDependency hook to replace backstage:^ versions. This makes the same yarn.lock file valid whether or not the plugin is installed.
  • ee49cb4: Fixed path resolution on windows
  • Updated dependencies

@internal/[email protected]

Patch Changes

@internal/[email protected]

Patch Changes

@internal/[email protected]

Patch Changes