Back to Backstage

Release v1.28.0

docs/releases/v1.28.0-changelog.md

1.51.0-next.2107.5 KB
Original Source

Release v1.28.0

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

@backstage/[email protected]

Minor Changes

  • 395b973: Implemented readTree for Harness provider to support TechDocs functionality
  • 02103be: Deprecated and moved over core services to @backstage/backend-defaults

Patch Changes

  • 9539a0b: Import utility functions from backend-defaults instead of backend-app-api
  • b2c4607: Removed accents on deprecation note
  • c6c0919: Updated configuration schema to include the useRedisSets cache config option.
  • ed3074e: The database types, helpers and implementations were moved to the package @backstage/backend-defaults and deprecated from the package @backstage/backend-commons.
  • 9cca724: The TokenManager has been deprecated in preparation for the stable release of the New Backend System. Please migrate to the new coreServices.auth, coreServices.httpAuth, and coreServices.userInfo services as needed instead.
  • 1779188: In preparation to the new backend system stable release, the isDatabaseConflictError helper have been moved to the @backstage/backend-plugin-api package and deprecated from @backstage/backend-common.
  • 78a0b08: Internal refactor to handle BackendFeature contract change.
  • e171620: Move cache implementation and types to the @backstage/backend-defaults package.
  • 1a6f38a: ContainerRunner, DockerContainerRunner and KubernetesContainerRunner are now deprecated
  • 8869b8e: We are deprecating the legacy createServiceBuilder factory, so if you are still using it, please checkout the migration guide and migrate your plugin to use the new backend system.
  • 0634fdc: Deprecated dropDatabase
  • b2ee7f3: Moved over all URL reader functionality from @backstage/backend-common to @backstage/backend-defaults/urlReader. Please update your imports.
  • d94a477: Removed the circular dependency on @backstage/backend-app-api
  • 3bd04bb: We are deprecating the legacy router handlers and contexts in preparation for the new backend system stable release.
  • 23ee9ab: Fix AWS CodeCommit integration by allowing to change the host
  • e9a03c9: Finalizes the deprecation of legacy backend utilities. Deprecated utilities include the ServiceBuilder type, notFoundHandler and redactWintonLogLine functions.
  • 6a576dc: Deprecate legacy service logger helpers and stop using getVoidLogger in tests.
  • 032a7a6: Deprecate the legacy error and request logging handler types, respectively: ErrorHandlerOptions and RequestLoggingHandlerFactory.
  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 662dce8: BREAKING: The workdir argument have been removed from The GerritUrlReader constructor.

    BREAKING: The Gerrit readTree implementation will now only use the Gitiles api. Support for using git to clone the repo has been removed.

  • 02103be: Deprecated and moved over core services to @backstage/backend-defaults

Patch Changes

  • 1897169: Exposed DefaultSchedulerService
  • b5bc997: Refactor cache manager inline types.
  • e171620: Remove dependency with @backstage/backend-commons package.
  • 6551b3d: Added core service factories and implementations from @backstage/backend-app-api. They are now available as subpath exports, e.g. @backstage/backend-defaults/scheduler is where the service factory and default implementation of coreServices.scheduler now lives. They have been marked as deprecated in their old locations.
  • 8aab451: Internal minor refactors of the database connectors
  • 0634fdc: Deprecated dropDatabase
  • b2ee7f3: Moved over all URL reader functionality from @backstage/backend-common to @backstage/backend-defaults/urlReader. Please update your imports.
  • 9539a0b: Added @backstage/backend-defaults/auth, @backstage/backend-defaults/httpAuth, and @backstage/backend-defaults/userInfo to house their respective backend service factories. You should now import these services from those new locations, instead of @backstage/backend-app-api.
  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 805cbe7: Added TestCaches that functions just like TestDatabases

Patch Changes

  • 78a0b08: Internal refactor to handle BackendFeature contract change.
  • 9e63318: Made it possible to give access restrictions to mockCredentials.service
  • 006b3e8: The type MockDirectoryOptions was renamed to CreateMockDirectoryOptions so that it's clear these options are exclusive to the mock directory factory.
  • 0634fdc: Refactored TestDatabases to no longer depend on backend-common
  • 6a576dc: Fix the logger service mock to prevent returning undefined from the child method.
  • 6c11f6e: Use imports from backend-defaults instead of the deprecated ones from backend-app-api
  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • be1014d: BREAKING Removed deprecated code from when casing was changed from GitHub to Github nearly two years ago. The following items have been removed:

    • getGitHubFileFetchUrl (use getGithubFileFetchUrl instead)
    • GitHubIntegrationConfig (use GithubIntegrationConfig instead)
    • GitHubIntegration (use GithubIntegration instead)
    • readGitHubIntegrationConfig (use readGithubIntegrationConfig instead)
    • readGitHubIntegrationConfigs (use readGithubIntegrationConfigs instead)
    • replaceGitHubUrlType (use replaceGithubUrlType instead)
  • 395b973: Implemented readTree for Harness provider to support TechDocs functionality

  • 662dce8: BREAKING: gitilesBaseUrl is now mandatory for the Gerrit integration. The ability to override this requirement using the DISABLE_GERRIT_GITILES_REQUIREMENT environment variable has been removed.

Patch Changes

  • 509e08c: Updated function for getHarnessEditContentsUrl
  • 23ee9ab: Fix AWS CodeCommit integration by allowing to change the host
  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 8efc6cf: BREAKING: The scope and scopes config options have been removed and replaced by the standard additionalScopes config. In addition, the offline_access, read:jira-work, and read:jira-user scopes have been set to required and will always be present.

Patch Changes

  • 78a0b08: Internal refactor to handle BackendFeature contract change.
  • d44a20a: Added additional plugin metadata to package.json.
  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 8efc6cf: BREAKING: The scope config option have been removed and replaced by the standard additionalScopes config.

Patch Changes

  • 78a0b08: Internal refactor to handle BackendFeature contract change.
  • d44a20a: Added additional plugin metadata to package.json.
  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 8efc6cf: BREAKING: The scope config option have been removed and replaced by the standard additionalScopes config. In addition, openid, profile, and email scopes have been set to required and will always be present.

Patch Changes

  • 78a0b08: Internal refactor to handle BackendFeature contract change.
  • d44a20a: Added additional plugin metadata to package.json.
  • 4f21993: if oidc server do not provide revocation_endpoint,we should not call revoke function
  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 566d7cb: Separate out the OneLogin provider into its own module

Patch Changes

  • 78a0b08: Internal refactor to handle BackendFeature contract change.
  • d44a20a: Added additional plugin metadata to package.json.
  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 8efc6cf: BREAKING: The scope config option have been removed and replaced by the standard additionalScopes config. In addition, openid, and offline_access scopes have been set to required and will always be present.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 863a800: Added the following default targets for external routes:

    • createComponent binds to the Scaffolder page.
    • viewTechDoc binds to the TechDocs entity documentation page.
    • createFromTemplate binds to the Scaffolder selected template page.

Patch Changes

@backstage/[email protected]

Minor Changes

  • c7528b0: Pass through EventsService too in the new backend system

Patch Changes

@backstage/[email protected]

Minor Changes

  • debcc8c: Migrate LDAP catalog module to the new backend system.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 4f92394: Migrate from identityApi to fetchApi in frontend plugins.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 0177f75: Update kubernetes plugins to use autoscaling/v2

Patch Changes

@backstage/[email protected]

Minor Changes

  • 0177f75: Update kubernetes plugins to use autoscaling/v2

Patch Changes

@backstage/[email protected]

Minor Changes

  • 4f92394: Migrate from identityApi to fetchApi in frontend plugins.
  • 0177f75: Update kubernetes plugins to use autoscaling/v2

Patch Changes

@backstage/[email protected]

Minor Changes

  • 07a789b: adding filtering of notifications by processors

Patch Changes

@backstage/[email protected]

Minor Changes

  • 07a789b: add notification filters

Patch Changes

@backstage/[email protected]

Minor Changes

  • 07a789b: add notifications filtering by processors

Patch Changes

@backstage/[email protected]

Minor Changes

  • 88480e4: BREAKING: The proxy backend plugin is now protected by Backstage auth, by default. Unless specifically configured (see below), all proxy endpoints will reject requests immediately unless a valid Backstage user or service token is passed along with the request. This aligns the proxy with how other Backstage backends behave out of the box, and serves to protect your upstreams from unauthorized access.

    A proxy configuration section can now look as follows:

    yaml
    proxy:
      endpoints:
        '/pagerduty':
          target: https://api.pagerduty.com
          credentials: require # NEW!
          headers:
            Authorization: Token token=${PAGERDUTY_TOKEN}
    

    There are three possible credentials settings at this point:

    • require: Callers must provide Backstage user or service credentials with each request. The credentials are not forwarded to the proxy target.
    • forward: Callers must provide Backstage user or service credentials with each request, and those credentials are forwarded to the proxy target.
    • dangerously-allow-unauthenticated: No Backstage credentials are required to access this proxy target. The target can still apply its own credentials checks, but the proxy will not help block non-Backstage-blessed callers. If you also add allowedHeaders: ['Authorization'] to an endpoint configuration, then the Backstage token (if provided) WILL be forwarded.

    The value dangerously-allow-unauthenticated was the old default.

    The value require is the new default, so requests that were previously permitted may now start resulting in 401 Unauthorized responses. If you have backend.auth.dangerouslyDisableDefaultAuthPolicy set to true, this does not apply; the proxy will behave as if all endpoints were set to dangerously-allow-unauthenticated.

    If you have proxy endpoints that require unauthenticated access still, please add credentials: dangerously-allow-unauthenticated to their declarations in your app-config.

Patch Changes

@backstage/[email protected]

Minor Changes

  • d57ebbc: Changed the way to display entities in EntityPicker to use entityPresentationApi instead of humanizeEntityRef

  • 62bd9eb: Replace ui:widget: password with the a warning message stating that it's not secure and to use the build in SecretField.

    You can do this by updating your template.yaml files that have the reference ui:widget: password to ui:field: Secret instead.

    diff
    apiVersion: backstage.io/v1alpha1
    kind: Template
    metadata:
      ...
    
    spec:
      parameters:
        - title: collect some information
          schema:
            type: object
            properties:
              password:
                title: Password
                type: string
    -            ui:widget: password
    +            ui:field: Secret
      steps:
        - id: collect-info
          name: Collect some information
          action: acme:do:something
          input:
    -        password: ${{ parameters.password }}
    +        password: ${{ secrets.password }}
    
  • 60085dd: Added the following default targets for external routes:

    • registerComponent binds to the catalog import page.
    • viewTechDoc binds to the TechDocs entity documentation page.

Patch Changes

  • cbebad1: Internal updates to allow reusing Backstage's fetchApi implementation for event source requests. This allows you to for example, override the Authorization header.

  • 1ea7679: Removed waiting for the workspace and repository fields to be filled in before requesting user credentials

  • d44a20a: Added additional plugin metadata to package.json.

  • 6cb4886: Updated dependency @rjsf/utils to 5.18.4. Updated dependency @rjsf/core to 5.18.4. Updated dependency @rjsf/material-ui to 5.18.4. Updated dependency @rjsf/validator-ajv8 to 5.18.4.

  • 75dcd7e: Fixing bug in formData type as it should be optional as it's possibly undefined

  • bcec60f: updated the ContextMenu, ActionsPage, OngoingTask and TemplateCard frontend components to support the new scaffolder permissions:

    • scaffolder.task.create
    • scaffolder.task.cancel
    • scaffolder.task.read
  • 612a453: Change owner to project for azure host

  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 403394a: Allow empty author info in createPullRequest action for Github

Patch Changes

@backstage/[email protected]

Minor Changes

  • 62bd9eb: Replace ui:widget: password with the a warning message stating that it's not secure and to use the build in SecretField.

    You can do this by updating your template.yaml files that have the reference ui:widget: password to ui:field: Secret instead.

    diff
    apiVersion: backstage.io/v1alpha1
    kind: Template
    metadata:
      ...
    
    spec:
      parameters:
        - title: collect some information
          schema:
            type: object
            properties:
              password:
                title: Password
                type: string
    -            ui:widget: password
    +            ui:field: Secret
      steps:
        - id: collect-info
          name: Collect some information
          action: acme:do:something
          input:
    -        password: ${{ parameters.password }}
    +        password: ${{ secrets.password }}
    

Patch Changes

  • 86dc29d: Links that are rendered in the markdown in the ScaffolderField component are now opened in new tabs.
  • d44a20a: Added additional plugin metadata to package.json.
  • fa8560e: Prevents Autocomplete dropdown from overlapping sidebar on hovering it
  • 6cb4886: Updated dependency @rjsf/utils to 5.18.4. Updated dependency @rjsf/core to 5.18.4. Updated dependency @rjsf/material-ui to 5.18.4. Updated dependency @rjsf/validator-ajv8 to 5.18.4.
  • 75dcd7e: Fixing bug in formData type as it should be optional as it's possibly undefined
  • 928cfa0: Fixed a typo '

@backstage/[email protected]

Minor Changes

  • b186701: BREAKING: The ElasticSearch indexer will now delete stale indices matching the indexer's pattern. The method getAliases of ElasticSearchClientWrapper has been deprecated and might be removed in future releases.

    An indexer using the some-type-index__* pattern will remove indices matching this pattern after indexation to prevent stale indices leading to shards exhaustion.

    Before upgrading ensure that the index pattern doesn't match indices that are not managed by Backstage and thus shouldn't be deleted.

    Note: The ElasticSearch indexer already uses wildcards patterns to remove aliases on these indices.

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • b7de623: Fixed a potential crash when passing an object with a null prototype as log meta.

  • 9539a0b: Deprecated authServiceFactory, httpAuthServiceFactory, and userInfoServiceFactory. Please import them from @backstage/backend-defaults/auth, @backstage/backend-defaults/httpAuth, and @backstage/backend-defaults/userInfo respectively instead.

  • 3e823d3: Limited user tokens will no longer include the ent field in its payload. Ownership claims will now be fetched from the user info service.

    NOTE: Limited tokens issued prior to this change will no longer be valid. Users may have to clear their browser cookies in order to refresh their auth tokens.

  • 78a0b08: Internal refactor to handle BackendFeature contract change.

  • 398b82a: Add support for JWKS tokens in ExternalTokenHandler.

  • 9e63318: Added an optional accessRestrictions to external access service tokens and service principals in general, such that you can limit their access to certain plugins or permissions.

  • e25e467: Added a new static key based method for plugin-to-plugin auth. This is useful for example if you are running readonly service nodes that cannot use a database for the default public-key signature scheme outlined in BEP-0003. Most users should want to stay on the more secure zero-config database signature scheme.

    You can generate a public and private key pair using openssl.

    • First generate a private key using the ES256 algorithm

      sh
      openssl ecparam -name prime256v1 -genkey -out private.ec.key
      
    • Convert it to PKCS#8 format

      sh
      openssl pkcs8 -topk8 -inform PEM -outform PEM -nocrypt -in private.ec.key -out private.key
      
    • Extract the public key

      sh
      openssl ec -inform PEM -outform PEM -pubout -in private.key -out public.key
      

    After this you have the files private.key and public.key. Put them in a place where you know their absolute paths, and then set up your app-config accordingly:

    yaml
    backend:
      auth:
        keyStore:
          type: static
          static:
            keys:
              - publicKeyFile: /absolute/path/to/public.key
                privateKeyFile: /absolute/path/to/private.key
                keyId: some-custom-id
    
  • 7d30d95: Fixing issue with log meta fields possibly being circular refs

  • 6a576dc: Stop using getVoidLogger in tests to reduce the dependency on the soon-to-deprecate backstage-common package.

  • 6551b3d: Deprecated core service factories and implementations and moved them over to subpath exports on @backstage/backend-defaults instead. E.g. @backstage/backend-defaults/scheduler is where the service factory and default implementation of coreServices.scheduler now lives.

  • d617103: Updating the logger redaction message to something less dramatic

  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 78a0b08: DEPRECATION: You should no longer do a function call on backend features when adding them to backends. The support for doing that is deprecated, and you should remove all trailing () parentheses after plugins and modules where you add them to your backend or test backends (e.g. when using startTestBackend).

    The background for this is that createBackendPlugin and createBackendModule function now effectively return a BackendFeature rather than a () => BackendFeature. This is part of the cleanup efforts for New Backend System 1.0. In the short run this is non-breaking because the feature type has been given a callback signature that returns itself. But we strongly recommend that you remove all now-redundant calls made to feature objects, because that callback signature will be removed in a future release.

    Service factories are still callbacks at this point.

    Example change:

    diff
     await startTestBackend({
       features: [
         eventsServiceFactory(), // service - stays unchanged
    -    catalogModuleBitbucketCloudEntityProvider(), // module - remove parentheses
    +    catalogModuleBitbucketCloudEntityProvider,
    
  • 9bdc3e8: In tests, return null rather than throwing an error when trying to get the ExtensionPoint.T property, so that tests asserting the property are not easily broken.

  • 9e63318: Added an optional accessRestrictions to external access service tokens and service principals in general, such that you can limit their access to certain plugins or permissions.

  • 3aa3fc7: Marked the TokenManagerService and IdentityService types as deprecated

  • b2ee7f3: Deprecated all of the UrlReader related type names and replaced them with prefixed versions. Please update your imports.

    • ReadTreeOptions was renamed to UrlReaderServiceReadTreeOptions
    • ReadTreeResponse was renamed to UrlReaderServiceReadTreeResponse
    • ReadTreeResponseDirOptions was renamed to UrlReaderServiceReadTreeResponseDirOptions
    • ReadTreeResponseFile was renamed to UrlReaderServiceReadTreeResponseFile
    • ReadUrlResponse was renamed to UrlReaderServiceReadUrlResponse
    • ReadUrlOptions was renamed to UrlReaderServiceReadUrlOptions
    • SearchOptions was renamed to UrlReaderServiceSearchOptions
    • SearchResponse was renamed to UrlReaderServiceSearchResponse
    • SearchResponseFile was renamed to UrlReaderServiceSearchResponseFile
  • 9539a0b: Improved coreServices doc comments

  • 6551b3d: Moved the declaration of the SchedulerService here, along with prefixed versions of all of the types it depends on, from @backstage/backend-tasks

  • 0665b7e: Renamed BackendPluginConfig, BackendModuleConfig, and ExtensionPointConfig respectively to CreateBackendPluginOptions, CreateBackendModuleOptions, and CreateExtensionPointOptions to standardize frontend and backend factories signatures.

  • 1779188: Start using the isDatabaseConflictError helper from the @backstage/backend-plugin-api package in order to avoid dependency with the soon to deprecate @backstage/backend-common package.

  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 736bc3c: Marked all exports as deprecated and pointed at @backstage/backend-plugin-api and @backstage/backend-defaults
  • ed473cd: Updated the TaskScheduleDefinitionConfig deprecated comment to point to SchedulerServiceTaskScheduleDefinitionConfig
  • 6a576dc: Deprecate the legacy TaskScheduler.fromConfig method and stop using the getVoidlogger in tests files to reduce the dependency on the soon-to-deprecate backstage-common package.
  • 1897169: More detailed deprecation messages
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 788eca7: Fix readme for new plugins created using cli
  • 90c5268: Add peerDependencies to devDependencies in package.json.hbs templates.
  • c00f7ee: Fix issue with esm loaded dependencies being different from the cjs import for Vite dependencies
  • b0f66e9: Updated dependency vite-plugin-node-polyfills to ^0.22.0.
  • c328131: Added a new --publish flag to the repo fix command. This command will validate and if possible generate the metadata required for publishing packages with the Backstage CLI. In addition, a check has been added that the backstage.pluginId and backstage.pluginPackage(s) fields are present when packing a package for publishing.
  • 5afbe1d: Export default module for scaffolder-action cli template
  • 009da47: Fix versions:check --fix when yarn.lock has multiple joint versions in the same section
  • 9ee948a: Bump esbuild target for package builds to ES2022.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 142abb0: The monorepo root check in findPaths will now accept a shorthand workspaces config in package.json, no longer requiring workspaces.packages.

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 35fbe09: Added support for configuration of route bindings through static configuration, and default targets for external route refs.

    In addition to configuring route bindings through code, it is now also possible to configure route bindings under the app.routes.bindings key, for example:

    yaml
    app:
      routes:
        bindings:
          catalog.createComponent: catalog-import.importPage
    

    Each key in the route binding object is of the form <plugin-id>.<externalRouteName>, where the route name is key used in the externalRoutes object passed to createPlugin. The value is of the same form, but with the name taken from the plugin routes option instead.

    The equivalent of the above configuration in code is the following:

    ts
    const app = createApp({
      // ...
      bindRoutes({ bind }) {
        bind(catalogPlugin.externalRoutes, {
          createComponent: catalogImportPlugin.routes.importPage,
        });
      },
    });
    
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • a0b46f6: Having tooltip inherit font size for consistency in catalog table columns
  • 59cee81: Use inherit variant on OverflowTooltip underlying Typography component.
  • eae0e4d: Fixed an issue causing SidebarSubmenu text to not follow the theme color
  • e4811ec: Make number of decimal digits in Gauge configurable via the decimalDigits property
  • 83c4251: Adds icons to status component
  • 3e175c8: Removed max width from Select component.
  • 57d7582: Fixed a bug in SupportButton where the title was rendered with the characteristics of a button.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 35fbe09: A new defaultTarget option has been added to createExternalRouteRef. This allows one to specify a default target of the route by name, for example 'catalog.catalogIndex', which will be used if the target route is present in the app and there is no explicit route binding.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • cce0495: Bumped create-app version.
  • 77da22e: Bumped create-app version.
  • 2110d76: Removed dockerode dependency.
  • 34daaea: Fixed a broken link to the node-postgres documentation
  • 78363f6: Bumped TypeScript to version 5.4.
  • 1a212f9: Remove Tech Radar menu item from sidebar of scaffolded app to align with removal of tech-radar plugin from backend
  • 81507c8: Updated node-gyp to v10
  • 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

@techdocs/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 702fa7d: Internal refactor to fix an issue where the MUI 5 v5- class prefixing gets removed by tree shaking.

@backstage/[email protected]

Patch Changes

  • 7f84039: The registerComponent external route will now by default bind to the catalog import page if it is available.
  • 9cdc651: Make sure that the toggle button state is properly reflected in API cards
  • d44a20a: Added additional plugin metadata to package.json.
  • 96cd13e: DefaultApiExplorerPage now accepts an optional ownerPickerMode for toggling the behavior of the EntityOwnerPicker, exposing a new mode <DefaultApiExplorerPage ownerPickerMode="all" /> particularly suitable for larger catalogs. In this new mode, EntityOwnerPicker will display all the users and groups present in the catalog.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • d44a20a: Added additional plugin metadata to package.json.

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 78a0b08: Internal refactor to handle BackendFeature contract change.
  • 8efc6cf: Added support for the new shared additionalScopes configuration. In addition, the account scope has been set to required and will always be present.
  • d44a20a: Added additional plugin metadata to package.json.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 78a0b08: Internal refactor to handle BackendFeature contract change.
  • 8efc6cf: Added support for the new shared additionalScopes configuration. In addition, the read:user scope has been set to required and will always be present.
  • d44a20a: Added additional plugin metadata to package.json.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 78a0b08: Internal refactor to handle BackendFeature contract change.
  • 8efc6cf: Added support for the new shared additionalScopes configuration. In addition, the read_user scope has been set to required and will always be present.
  • d44a20a: Added additional plugin metadata to package.json.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 78a0b08: Internal refactor to handle BackendFeature contract change.
  • 8efc6cf: Added support for the new shared additionalScopes configuration. In addition, the openid, userinfo.email, and userinfo.profile scopes have been set to required and will always be present.
  • d44a20a: Added additional plugin metadata to package.json.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 78a0b08: Internal refactor to handle BackendFeature contract change.
  • 8efc6cf: Added support for the new shared additionalScopes configuration.
  • d44a20a: Added additional plugin metadata to package.json.
  • c187a9c: Minor internal type updates
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 78a0b08: Internal refactor to handle BackendFeature contract change.
  • 8efc6cf: Added support for the new shared additionalScopes configuration, which means it can now also be specified as an array. In addition, the openid, email, profile, and offline_access scopes have been set to required and will always be present.
  • d44a20a: Added additional plugin metadata to package.json.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 78a0b08: Internal refactor to handle BackendFeature contract change.
  • 8efc6cf: BREAKING: The scope config option have been removed and replaced by the standard additionalScopes config. In addition, the openid, pinniped:request-audience, username, and offline_access scopes have been set to required and will always be present.
  • d44a20a: Added additional plugin metadata to package.json.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 798ec37: Updated scope management for OAuth providers, where the createOAuthAuthenticator now accepts a new collection of scopes options:

    • scopes.persist - Whether scopes should be persisted, replaces the shouldPersistScopes option.
    • scopes.required - A list of required scopes that will always be requested.
    • scopes.transform - A function that can be used to transform the scopes before they are requested.

    The createOAuthProviderFactory has also received a new additionalScopes option, and will also read additionalScopes from the auth provider configuration. Both of these can be used to add additional scopes that should always be requested.

    A significant change under the hood that this new scope management brings is that providers that persist scopes will now always merge the already granted scopes with the requested ones. The previous behavior was that the full authorization flow would not include existing scopes, while the refresh flow would only include the existing scopes.

  • d44a20a: Added additional plugin metadata to package.json.

  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • d44a20a: Added additional plugin metadata to package.json.
  • 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

  • d44a20a: Added additional plugin metadata to package.json.
  • 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

  • 78a0b08: Internal refactor to handle BackendFeature contract change.
  • d44a20a: Added additional plugin metadata to package.json.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 78a0b08: Internal refactor to handle BackendFeature contract change.
  • d44a20a: Added additional plugin metadata to package.json.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 78a0b08: Internal refactor to handle BackendFeature contract change.
  • d44a20a: Added additional plugin metadata to package.json.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • d44a20a: Added additional plugin metadata to package.json.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 6a576dc: Replace the usage of getVoidLogger with mockServices.logger.mock in order to remove the dependency with the soon-to-be-deprecated backend-common package.
  • d44a20a: Added additional plugin metadata to package.json.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • d44a20a: Added additional plugin metadata to package.json.
  • 6cb4886: Updated dependency @rjsf/utils to 5.18.4. Updated dependency @rjsf/core to 5.18.4. Updated dependency @rjsf/material-ui to 5.18.4. Updated dependency @rjsf/validator-ajv8 to 5.18.4.
  • 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

  • d44a20a: Added additional plugin metadata to package.json.

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 78a0b08: Internal refactor to handle BackendFeature contract change.
  • b4169ee: Use GitRepository.webUrl instead of GitRepository.remoteUrl to set the value of repoContentsUrl as remoteUrl can sometimes return an URL with the wrong format (e.g. https://<organization>@dev.azure.com/<organization>/<project>/\_git/<repository>).
  • d44a20a: Added additional plugin metadata to package.json.
  • 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

  • d44a20a: Added additional plugin metadata to package.json.

  • bcec60f: added the following new permissions to the scaffolder backend endpoints:

    • scaffolder.task.create
    • scaffolder.task.cancel
    • scaffolder.task.read
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 6a576dc: Replace the usage of getVoidLogger with mockServices.logger.mock in order to remove the dependency with the soon-to-be-deprecated backend-common package.
  • d44a20a: Added additional plugin metadata to package.json.
  • 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

  • 654af4a: mkdocs-material have updated their CSS variable template, and a few are unset in Backstage. This patch adds the missing variables to ensure coverage.
  • cbebad1: Internal updates to allow reusing Backstage's fetchApi implementation for event source requests. This allows you to for example, override the Authorization header.
  • 96cd13e: TechDocsIndexPage now accepts an optional ownerPickerMode for toggling the behavior of the EntityOwnerPicker, exposing a new mode <TechDocsIndexPage ownerPickerMode="all" /> particularly suitable for larger catalogs. In this new mode, EntityOwnerPicker will display all the users and groups present in the catalog.
  • e40bd9a: Fixed bug in CopyToClipboardButton component where positioning of the "Copy to clipboard" button in techdocs code snippets was broken in some cases.
  • d44a20a: Added additional plugin metadata to package.json.
  • 1256d88: Fixed an issue preventing the TechDocsSearchBar component from opening when clicking on the arrow icon.
  • 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

  • d44a20a: Added additional plugin metadata to package.json.
  • e6ec179: Use signals to update user settings across sessions

[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

[email protected]

Patch Changes

@internal/[email protected]

Patch Changes

@internal/[email protected]

Patch Changes

@internal/[email protected]

Patch Changes