Back to Backstage

Release v1.5.0

docs/releases/v1.5.0-changelog.md

1.51.0-next.248.6 KB
Original Source

Release v1.5.0

@backstage/[email protected]

Minor Changes

  • 5df230d48c: Introduced a new backend-defaults package carrying createBackend which was previously exported from backend-app-api. The backend-app-api package now exports the createSpecializedBacked that does not add any service factories by default.

Patch Changes

@backstage/[email protected]

Minor Changes

  • 12e9b54f0e: Added back support for when no branch is provided to the UrlReader for Bitbucket Server
  • 30012e7d8c: - Added force and remoteRef option to push method in git actions
    • Added addRemote and deleteRemote methods to git actions

Patch Changes

  • fc8a5f797b: Improve scm/git wrapper around isomorphic-git library :

    • Add checkout function,
    • Add optional remoteRef parameter in the push function.
  • 5e4dc173f7: Added a second validation to the dir() method of ZIP archive responses returned from readTree() that ensures that extracted files do not fall outside the target directory.

  • 1732a18a7a: Exported redactLogLine function to be able to use it in custom loggers and renamed it to redactWinstonLogLine.

  • 3b7930b3e5: Add support for Bearer Authorization header / token-based auth at Git commands.

  • cfa078e255: The ZipArchiveResponse now correctly handles corrupt ZIP archives.

    Before this change, certain corrupt ZIP archives either cause the inflater to throw (as expected), or will hang the parser indefinitely.

    By switching out the zip parsing library, we now write to a temporary directory, and load from disk which should ensure that the parsing of the .zip files are done correctly because streaming of zip paths is technically impossible without being able to parse the headers at the end of the file.

  • 770d3f92c4: The config prop ensureExists now applies to schema creation when pluginDivisionMode is set to schema. This means schemas will no longer accidentally be automatically created when ensureExists is set to false.

  • 29f782eb37: Updated dependency @types/luxon to ^3.0.0.

  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 5df230d48c: Introduced a new backend-defaults package carrying createBackend which was previously exported from backend-app-api. The backend-app-api package now exports the createSpecializedBacked that does not add any service factories by default.

Patch Changes

@backstage/[email protected]

Minor Changes

  • d0eefc499a: Made the to prop of Button and Link more strict, only supporting plain strings. It used to be the case that this prop was unexpectedly too liberal, making it look like we supported the complex react-router-dom object form of the parameter as well, which led to unexpected results at runtime.

Patch Changes

  • a22af3edc8: Adding a className prop to the MarkdownContent component
  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 593dea6710: Add support for Basic Auth for Bitbucket Server.
  • ad35364e97: feat(techdocs): add edit button support for bitbucketServer

Patch Changes

  • 163243a4d1: Handle incorrect return type from Octokit paginate plugin to resolve reading URLs from GitHub
  • c4b460a47d: Avoid double encoding of the file path in getBitbucketDownloadUrl
  • 29f782eb37: Updated dependency @types/luxon to ^3.0.0.
  • 1f27d83933: Fixed bug in getGitLabFileFetchUrl where a target whose path did not contain the /-/ scope would result in a fetch URL that did not support private-token-based authentication.

@techdocs/[email protected]

Minor Changes

  • 855952db53: Added CLI option --docker-option to allow passing additional options to the docker run command executed my serve and serve:mkdocs.

Patch Changes

@backstage/[email protected]

Minor Changes

  • bfc7c50a09: Display associated entity as a chip in AdrSearchResultListItem

    BREAKING: AdrDocument now includes a entityRef property, if you have a custom AdrParser you will have to supply this property in your returned documents

Patch Changes

@backstage/[email protected]

Minor Changes

  • bfc7c50a09: Display associated entity as a chip in AdrSearchResultListItem

    BREAKING: AdrDocument now includes a entityRef property, if you have a custom AdrParser you will have to supply this property in your returned documents

Patch Changes

@backstage/[email protected]

Minor Changes

  • bfc7c50a09: Display associated entity as a chip in AdrSearchResultListItem

    BREAKING: AdrDocument now includes a entityRef property, if you have a custom AdrParser you will have to supply this property in your returned documents

Patch Changes

@backstage/[email protected]

Minor Changes

  • 80da5162c7: Plugin catalog has been modified to use an experimental feature where you can customize the title of the create button.

    You can modify it by doing:

    typescript
    import { catalogPlugin } from '@backstage/plugin-catalog';
    
    catalogPlugin.__experimentalReconfigure({
      createButtonTitle: 'New',
    });
    
  • fe94398418: Allow changing the subtitle of the CatalogTable component

Patch Changes

@backstage/[email protected]

Minor Changes

  • f7607f9d85: Add new plugin catalog-backend-module-bitbucket-server which adds the BitbucketServerEntityProvider.

    The entity provider is meant as a replacement for the BitbucketDiscoveryProcessor to be used with Bitbucket Server (Bitbucket Cloud already has a replacement).

    Before:

    typescript
    // packages/backend/src/plugins/catalog.ts
    builder.addProcessor(
      BitbucketDiscoveryProcessor.fromConfig(env.config, { logger: env.logger }),
    );
    
    yaml
    # app-config.yaml
    catalog:
      locations:
        - type: bitbucket-discovery
          target: 'https://bitbucket.mycompany.com/projects/*/repos/*/catalog-info.yaml
    

    After:

    typescript
    // packages/backend/src/plugins/catalog.ts
    builder.addEntityProvider(
      BitbucketServerEntityProvider.fromConfig(env.config, {
        logger: env.logger,
        schedule: env.scheduler.createScheduledTaskRunner({
          frequency: { minutes: 30 },
          timeout: { minutes: 3 },
        }),
      }),
    );
    
    yaml
    # app-config.yaml
    catalog:
      providers:
        bitbucketServer:
          yourProviderId: # identifies your ingested dataset
            catalogPath: /catalog-info.yaml # default value
            filters: # optional
              projectKey: '.*' # optional; RegExp
              repoSlug: '.*' # optional; RegExp
    

Patch Changes

@backstage/[email protected]

Minor Changes

  • ffd5e47fb5: New plugin for displaying GitHub Issues added

Patch Changes

  • 347ea327c2: Moved communication with GitHub graphql API to the dedicated plugin API. Fixes issue when no GitHub Issues are rendered when partial failure is returned from GitHub API.
  • b522f49403: Updated dependency @spotify/prettier-config to ^14.0.0.
  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • c4b452e16a: Starting the implementation of the Wizard page for the next scaffolder plugin

Patch Changes

@backstage/[email protected]

Minor Changes

  • c4b452e16a: Starting the implementation of the Wizard page for the next scaffolder plugin
  • 593dea6710: Add support for Basic Auth for Bitbucket Server.
  • 3b7930b3e5: Add support for Bearer Authorization header / token-based auth at Git commands.
  • 3f1316f1c5: User Bearer Authorization header at Git commands with token-based auth at Bitbucket Server.
  • eeff5046ae: Updated publish:gitlab:merge-request action to allow commit updates and deletes
  • 692d5d3405: Added reviewers and teamReviewers parameters to publish:github:pull-request action to add reviewers on the pull request created by the action

Patch Changes

  • fc8a5f797b: Add a publish:gerrit:review scaffolder action
  • c971afbf21: The publish:file action has been deprecated in favor of testing templates using the template editor instead. Note that this action is not and was never been installed by default.
  • b10b6c4aa4: Fix issue on Windows where templated files where not properly skipped as intended.
  • 56e1b4b89c: Fixed typos in alpha types.
  • dad0f65494: Fail gracefully if an invalid Authorization header is passed to POST /v2/tasks
  • 014b3b7776: Add missing res.end() in scaffolder backend EventStream usage
  • Updated dependencies

@backstage/[email protected]

Minor Changes

  • 5b769fddb5: Internal observable replaced with a mapping from the storage API. This fixes shortcuts initialization when using firestore.

    ShortcutApi.get method, that returns an immediate snapshot of shortcuts, made public.

    Example of how to get and observe shortcuts:

    typescript
    const shortcutApi = useApi(shortcutsApiRef);
    const shortcuts = useObservable(shortcutApi.shortcut$(), shortcutApi.get());
    

Patch Changes

@backstage/[email protected]

Minor Changes

  • 619b515172: BREAKING This plugin now call the sonarqube-backend plugin instead of relying on the proxy plugin

    The whole proxy's '/sonarqube': key can be removed from your configuration files.

    Then head to the README in sonarqube-backend plugin page to learn how to set-up the link to your Sonarqube instances.

Patch Changes

@backstage/[email protected]

Minor Changes

  • e2be9ab3a4: Initial creation of the plugin

Patch Changes

@backstage/[email protected]

Minor Changes

  • ad35364e97: feat(techdocs): add edit button support for bitbucketServer

Patch Changes

  • c8196bd37d: Fix AWS S3 404 NotFound error

    When reading an object from the S3 bucket through a stream, the aws-sdk getObject() API may throw a 404 NotFound Error with no error message or, in fact, any sort of HTTP-layer error responses. These fail the @backstage/error's assertError() checks, so they must be wrapped. The test for this case was also updated to match the wrapped error message.

  • f833344611: Bump default TechDocs image to v1.1.0, see the release here.

  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 0599732ec0: Refactored experimental backend system with new type names.
  • 34c2f5aca1: The factory returned by createBackendPlugin and createBackendModule no longer require a parameter to be passed if the options are optional.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 29f782eb37: Updated dependency @types/luxon to ^3.0.0.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • d45bbfeb69: Linting is now ignored for any .eslintrc.* files, not just .eslintrc.js.
  • 72c228fdb8: Fixed a bug where NODE_ENV was not set in the environment when starting the backend in development mode. It has always been the case that Webpack transformed NODE_ENV when running in development mode, but this did not affect dependencies in node_modules as they are treated as external.
  • a539564c0d: Added Backstage version to output of yarn backstage-cli info command
  • fd68d6f138: Added resolution of .json and .wasm files to the Webpack configuration in order to match defaults.
  • 94155a41e0: Updated dependencies @svgr/* to 6.3.x.

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 80da5162c7: Introduced a new experimental feature that allows you to declare plugin-wide options for your plugin by defining __experimentalConfigure in your createPlugin options. See https://backstage.io/docs/plugins/customization.md for more information.

    This is an experimental feature and it will have breaking changes in the future.

  • 87649a06bf: Add a note that the fetchApi utility should not be used on sign-in page implementations and similar.

@backstage/[email protected]

Patch Changes

  • 73cee58fc2: Bumped create-app version.

  • f762386d48: Bumped create-app version.

  • b162bbf464: Bumped create-app version.

  • db76fc6255: The better-sqlite3 dependency has been moved back to production "dependencies" in packages/backend/package.json, with instructions in the Dockerfile to move it to "devDependencies" if desired. There is no need to apply this change to existing apps, unless you want your production image to have SQLite available as a database option.

  • ab9edd8b58: Updated backend to write stack trace when the backend fails to start up.

    To apply this change to your Backstage installation, make the following change to packages/backend/src/index.ts

    diff
        cors:
        origin: http://localhost:3000
    -    console.error(`Backend failed to start up, ${error}`);
    +    console.error('Backend failed to start up', error);
    
  • 0174a0a022: Add PATCH and HEAD to the Access-Control-Allow-Methods.

    To apply this change to your Backstage installation make the following change to your app-config.yaml

    diff
       cors:
         origin: http://localhost:3000
    -    methods: [GET, POST, PUT, DELETE]
    +    methods: [GET, POST, PUT, DELETE, PATCH, HEAD]
    

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • c676a9e07b: Fixed a bug in auth plugin on the backend where it ignores the skip migration database options when using the database provider.
  • 2d7d6028e1: Updated dependency @google-cloud/firestore to ^6.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

  • 56e1b4b89c: Fixed typos in alpha types.

  • e3d3018531: Fix issue for conditional decisions based on properties stored as arrays, like tags.

    Before this change, having a permission policy returning conditional decisions based on metadata like tags, such like createCatalogConditionalDecision(permission, catalogConditions.hasMetadata('tags', 'java'),), was producing wrong results. The issue occurred when authorizing entities already loaded from the database, for example when authorizing catalogEntityDeletePermission.

  • 059ae348b4: Use the non-deprecated form of table.unique in knex

  • 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

  • f48950e34b: Github Entity Provider functionality for adding entities to the catalog.

    This provider replaces the GithubDiscoveryProcessor functionality as providers offer more flexibility with scheduling ingestion, removing and preventing orphaned entities.

    More information can be found on the GitHub Discovery page.

  • c59d1ce487: Fixed bug where repository filter was including all archived repositories

  • 97f0a37378: Improved support for wildcards in catalogPath

  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 24979413a4: Enhancing GitLab provider with filtering projects by pattern RegExp

    yaml
    providers:
      gitlab:
        stg:
          host: gitlab.stg.company.io
          branch: main
          projectPattern: 'john/' # new option
          entityFilename: template.yaml
    

    With the aforementioned parameter you can filter projects, and keep only who belongs to the namespace "john".

  • Updated dependencies

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • b50e8e533b: Add an $openapi placeholder resolver that supports more use cases for resolving $ref instances. This means that the quite recently added OpenApiRefProcessor has been deprecated in favor of the openApiPlaceholderResolver.

    An example of how to use it can be seen below.

    yaml
    apiVersion: backstage.io/v1alpha1
    kind: API
    metadata:
      name: example
      description: Example API
    spec:
      type: openapi
      lifecycle: production
      owner: team
      definition:
        $openapi: ./spec/openapi.yaml # by using $openapi Backstage will now resolve all $ref instances
    
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 92103db537: Export aggregated list of all catalog permissions

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • fa3eeee92d: Updated dependency @graphql-tools/schema to ^9.0.0.

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 0599732ec0: Refactored experimental backend system with new type names.
  • 56e1b4b89c: Fixed typos in alpha types.
  • 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

  • 29f782eb37: Updated dependency @types/luxon to ^3.0.0.
  • 831a8fee86: Send Authorization headers in fetch requests using FetchApi in Code Climate plugin to fix unauthorized requests to Backstage backends with authentication enabled.
  • 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

  • daf4b33e34: Add name property to Group

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 860ed68343: Fixed bug in CronJobsAccordions component that causes an error when cronjobs use a kubernetes alias, such as @hourly or @daily instead of standard cron syntax.
  • f563b86a5b: Adds namespace column to Kubernetes error reporting table
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 0297da83c0: Added DaemonSets to the default kubernetes resources.
  • 0cd87cf30d: Added a new customResources field to the ClusterDetails interface, in order to specify (override) custom resources per cluster
  • 29f782eb37: Updated dependency @types/luxon to ^3.0.0.
  • Updated dependencies

@backstage/[email protected]

Patch Changes

  • 0297da83c0: Added DaemonSets to the default kubernetes resources.

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • ea5631a8b2: Added API key as separate configuration

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • 29f782eb37: Updated dependency @types/luxon to ^3.0.0.

@backstage/[email protected]

Patch Changes

@backstage/[email protected]

Patch Changes

  • a641f79dcb: Move CSS overflow property to quadrant block element (i.e. to a div element) in RadarLegend component.
  • 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

  • 29d6cf0147: Add toLowerEntityRefMaybe() helper function for handling techdocs.legacyUseCaseSensitiveTripletPaths flag. Pass modified entityRef to TechDocsReaderPageContext to handle the techdocs.legacyUseCaseSensitiveTripletPaths flag.
  • 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

[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