Skip to content

Releases: backstage/backstage

v0.20.0

31 Mar 13:39
6305a5a
Compare
Choose a tag to compare

@backstage/plugin-catalog-backend@0.7.0

Minor Changes

  • 676ede6: DELETE on an entity now just deletes the entity, rather than removing all related entities and the location

  • f1b2c1d: Add readonly mode to catalog backend

    This change adds a catalog.readonly field in app-config.yaml that can be used to configure the catalog in readonly mode which effectively disables the possibility of adding new components to the catalog after startup.

    When in readonly mode only locations configured in catalog.locations are loaded and served.
    By default readonly is disabled which represents the current functionality where locations can be added at run-time.

    This change requires the config API in the router which requires a change to createRouter.

       return await createRouter({
         entitiesCatalog,
         locationsCatalog,
         higherOrderOperation,
         locationAnalyzer,
         logger: env.logger,
    +    config: env.config,
       });

Patch Changes

  • 29e1789: Make sure that Group spec.members is taken into account when filling out an org hierarchy
  • 8488a1a: Added support for the "members" field of the Group entity, allowing specification of
    direct members from the Group side of the relationship. Added support to the
    BuiltinKindsEntityProcessor to generate the appropriate relationships.
  • 6b2d54f: Fix mapping between users and groups for Microsoft Active Directories when using the LdapOrgProcessor
  • 4459051: Add Bitbucket Server discovery processor.
  • Updated dependencies [8488a1a]
  • Updated dependencies [37e3a69]
    • @backstage/catalog-model@0.7.5
    • @backstage/backend-common@0.6.1

@backstage/backend-common@0.6.1

Patch Changes

  • 37e3a69: Export ReadTreeResponseFile and SearchResponseFile.

@backstage/catalog-client@0.3.9

Patch Changes

  • 676ede6: Added the getOriginLocationByEntity and removeLocationById methods to the catalog client
  • b196a45: Avoid using Headers as it is not supported in the backend
  • Updated dependencies [8488a1a]
    • @backstage/catalog-model@0.7.5

@backstage/catalog-model@0.7.5

Patch Changes

  • 8488a1a: Added support for the "members" field of the Group entity, allowing specification of
    direct members from the Group side of the relationship. Added support to the
    BuiltinKindsEntityProcessor to generate the appropriate relationships.

@backstage/create-app@0.3.16

Patch Changes

  • Updated dependencies [676ede6]
  • Updated dependencies [2ab6f3f]
  • Updated dependencies [0d55dcc]
  • Updated dependencies [ee55292]
  • Updated dependencies [2c29611]
  • Updated dependencies [29e1789]
  • Updated dependencies [aa58c01]
  • Updated dependencies [60bddef]
  • Updated dependencies [bebd1c4]
  • Updated dependencies [f1b2c1d]
  • Updated dependencies [676ede6]
  • Updated dependencies [9f48b54]
  • Updated dependencies [8bee6a1]
  • Updated dependencies [b196a45]
  • Updated dependencies [8488a1a]
  • Updated dependencies [37e3a69]
  • Updated dependencies [6b2d54f]
  • Updated dependencies [4459051]
  • Updated dependencies [dd7fa21]
  • Updated dependencies [164cc4c]
  • Updated dependencies [676ede6]
    • @backstage/plugin-catalog-backend@0.7.0
    • @backstage/plugin-scaffolder@0.8.1
    • @backstage/plugin-scaffolder-backend@0.9.4
    • @backstage/plugin-auth-backend@0.3.7
    • @backstage/plugin-api-docs@0.4.10
    • @backstage/plugin-github-actions@0.4.3
    • @backstage/plugin-catalog@0.5.2
    • @backstage/plugin-techdocs@0.7.1
    • @backstage/catalog-client@0.3.9
    • @backstage/plugin-catalog-import@0.5.1
    • @backstage/plugin-explore@0.3.3
    • @backstage/catalog-model@0.7.5
    • @backstage/backend-common@0.6.1
    • @backstage/plugin-user-settings@0.2.9

@backstage/plugin-api-docs@0.4.10

Patch Changes

  • ee55292: Include the GraphiQL stylesheet
  • 60bddef: Export apiDocsConfigRef from api-docs plugin to allow extending it with
    custom API rendering.
  • 9f48b54: Make it possible to specify entity type to useEntity when it's known
  • Updated dependencies [9f48b54]
  • Updated dependencies [8488a1a]
    • @backstage/plugin-catalog-react@0.1.4
    • @backstage/catalog-model@0.7.5

@backstage/plugin-auth-backend@0.3.7

Patch Changes

  • 0d55dcc: Fixes timezone bug for auth signing keys
  • 676ede6: Added the getOriginLocationByEntity and removeLocationById methods to the catalog client
  • Updated dependencies [676ede6]
  • Updated dependencies [b196a45]
  • Updated dependencies [8488a1a]
  • Updated dependencies [37e3a69]
    • @backstage/catalog-client@0.3.9
    • @backstage/catalog-model@0.7.5
    • @backstage/backend-common@0.6.1

@backstage/plugin-catalog@0.5.2

Patch Changes

  • aa58c01: Adds a new EntitySystemDiagramCard component to visually map all elements in a system.

    To use this new component with the legacy composability pattern, you can add a new tab with the component on to the System Entity Page in your packages/app/src/components/catalog/EntityPage.tsx file.

    For example,

     const SystemEntityPage = ({ entity }: { entity: Entity }) => (
       <EntityPageLayoutWrapper>
         <EntityPageLayout.Content
           path="/*"
           title="Overview"
           element={<SystemOverviewContent entity={entity} />}
         />
    +    <EntityPageLayout.Content
    +      path="/diagram/*"
    +      title="Diagram"
    +      element={<EntitySystemDiagramCard />}
    +    />
       </EntityPageLayoutWrapper>
     );
  • 676ede6: Added the getOriginLocationByEntity and removeLocationById methods to the catalog client

  • 8bee6a1: unify how the owner and lifecycle header labels are made

  • 676ede6: Improve the unregister dialog, to support both unregistration and plain deletion

  • Updated dependencies [676ede6]

  • Updated dependencies [9f48b54]

  • Updated dependencies [b196a45]

  • Updated dependencies [8488a1a]

    • @backstage/catalog-client@0.3.9
    • @backstage/plugin-catalog-react@0.1.4
    • @backstage/catalog-model@0.7.5

@backstage/plugin-catalog-import@0.5.1

Patch Changes

  • 676ede6: Added the getOriginLocationByEntity and removeLocationById methods to the catalog client
  • Updated dependencies [676ede6]
  • Updated dependencies [9f48b54]
  • Updated dependencies [b196a45]
  • Updated dependencies [8488a1a]
    • @backstage/catalog-client@0.3.9
    • @backstage/plugin-catalog-react@0.1.4
    • @backstage/catalog-model@0.7.5

@backstage/plugin-catalog-react@0.1.4

Patch Changes

  • 9f48b54: Make it possible to specify entity type to useEntity when it's known
  • Updated dependencies [676ede6]
  • Updated dependencies [b196a45]
  • Updated dependencies [8488a1a]
    • @backstage/catalog-client@0.3.9
    • @backstage/catalog-model@0.7.5

@backstage/plugin-explore@0.3.3

Patch Changes

  • 676ede6: Added the getOriginLocationByEntity and removeLocationById methods to the catalog client
  • Updated dependencies [9f48b54]
  • Updated dependencies [8488a1a]
    • @backstage/plugin-catalog-react@0.1.4
    • @backstage/catalog-model@0.7.5

@backstage/plugin-github-actions@0.4.3

Patch Changes

  • 2c29611: Fixed GitHub workflows not appearing when the originating repository for a workflow run was deleted.
  • Updated dependencies [9f48b54]
  • Updated dependencies [8488a1a]
    • @backstage/plugin-catalog-react@0.1.4
    • @backstage/catalog-model@0.7.5

@backstage/plugin-kafka-backend@0.2.3

Patch Changes

  • f03a52f: Add support for SASL authentication & SSL boolean config.
  • Updated dependencies [8488a1a]
  • Updated dependencies [37e3a69]
    • @backstage/catalog-model@0.7.5
    • @backstage/backend-common@0.6.1

@backstage/plugin-kubernetes-backend@0.3.3

Patch Changes

  • 1ac6a52: updated entity name to be set through annotations or fallback
  • 60e463c: Load credentials properly for AWS Kubernetes Auth Translator
  • Updated dependencies [8488a1a]
  • Updated dependencies [37e3a69]
    • @backstage/catalog-model@0.7.5
    • @backstage/backend-common@0.6.1

@backstage/plugin-org@0.3.11

Patch Changes

  • 7c6e146: Correctly route to namespaced group members
  • 87171d5: Correctly include group members via matching namespace relation
  • baa3980: Fixed MembersList showing members from a previous group when navigating to a new group
  • 9f48b54: Some cleanup in how types and components are used; leverage EntityRefLinks
  • Updated dependencies [9f48b54]
  • Updated dependencies [8488a1a]
    • @backstage/plugin-catalog-react@0.1.4
    • @backstage/catalog-model@0.7.5

@backstage/plugin-register-component@0.2.13

Patch Changes

  • 676ede6: Added the getOriginLocationByEntity and removeLocationById methods to the catalog client
  • Updated dependencies [9f48b54]
  • Updated dependencies [8488a1a]
    • @backstage/plugin-catalog-react@0.1.4
    • @backstage/catalog-model@0.7.5

@backstage/plugin-scaffolder@0.8.1

Patch Changes

  • 2ab6f3f: Add OwnerPicker component to scaffolder for specifying a component's owner from users and groups in the catalog.
  • 676ede6: Added the getOriginLocationByEntity and removeLocationById methods to the catalog client
  • Updated dependencies [676ede6]
  • Updated dependencies [9f48b54]
  • Updated dependencies [b196a45]
  • Updated depende...
Read more

v0.19.0

25 Mar 20:37
bf8ee54
Compare
Choose a tag to compare

@backstage/plugin-techdocs@0.7.0

Minor Changes

  • aaeb7ec: When newer documentation available but not built, show older documentation while async building newer
    TechDocs backend: /sync endpoint added to support above, returns immediate success if docs don't need a build, returns delayed success after build if needed
    TechDocs backend: /docs endpoint removed as frontend can directly request to techdocs.storageUrl or /static/docs
  • 3139f83: Add sticky sidebars and footer navigation links to TechDocs Reader

Patch Changes

  • ea9d977: Introduce workaround for admonition icons of MkDocs.
  • 2aab543: TechDocs: links at sidebar and bottom reset scroll position to top
  • Updated dependencies [01ccef4]
  • Updated dependencies [fcc3ada]
  • Updated dependencies [4618774]
  • Updated dependencies [df59930]
    • @backstage/plugin-catalog-react@0.1.3
    • @backstage/core@0.7.3
    • @backstage/theme@0.2.5

@backstage/plugin-techdocs-backend@0.7.0

Minor Changes

  • aaeb7ec: When newer documentation available but not built, show older documentation while async building newer
    TechDocs backend: /sync endpoint added to support above, returns immediate success if docs don't need a build, returns delayed success after build if needed
    TechDocs backend: /docs endpoint removed as frontend can directly request to techdocs.storageUrl or /static/docs

@backstage/cli@0.6.6

Patch Changes

  • 598f5bc: Lock down the version of webpack-dev-server as it's causing some nasty bugs someplace
  • 4d24872: Make the backend plugin template use the correct latest version of express-promise-router

@backstage/core@0.7.3

Patch Changes

  • fcc3ada: Reuse ResponseErrorList for non ResponseErrors
  • 4618774: Changed color for Add Item, Support & Choose buttons with low contrast/readability in dark mode
  • df59930: Fix PropTypes error with OverflowTooltip component
  • Updated dependencies [76deafd]
  • Updated dependencies [01ccef4]
  • Updated dependencies [4618774]
    • @backstage/core-api@0.2.15
    • @backstage/theme@0.2.5

@backstage/core-api@0.2.15

Patch Changes

  • 76deafd: Changed the signature of createRoutableExtension to include null
  • 01ccef4: Introduce useRouteRefParams to core-api to retrieve typed route parameters.
  • Updated dependencies [4618774]
    • @backstage/theme@0.2.5

@backstage/create-app@0.3.15

Patch Changes

  • 2c525f8: (fix) Adds locationAnalyzer to default-app template

    The locationAnalyzer was missing from the default-app template.
    This resulted in 404 errors in newly bootstrapped backstage applications,
    when adding components without configuration.

    To fix this in an existing backstage application, the locationAnalyzer needs
    to be carried from the builder to the router in the
    packages/backend/src/plugins/catalog.ts file.

       const builder = new CatalogBuilder(env);
       const {
         entitiesCatalog,
         locationsCatalog,
         higherOrderOperation,
    +    locationAnalyzer,
       } = await builder.build();
       // ...
       return await createRouter({
         entitiesCatalog,
         locationsCatalog,
         higherOrderOperation,
    +    locationAnalyzer,
         logger: env.logger,
       });
  • f88fe9d: Adds plugin-org and more capability to the default EntityPage to display Users, Groups and Systems.

    To update an existing application, add the org plugin:

    cd packages/app
    yarn add @backstage/plugin-org

    Then add the example systems locations to your app-config.yaml:

    catalog:
      rules:
    -    - allow: [Component, API, Group, User, Template, Location]
    +    - allow: [Component, System, API, Group, User, Template, Location]
      locations:
        # Backstage example components
        - type: url
          target: https://github.com/backstage/backstage/blob/master/packages/catalog-model/examples/all-components.yaml
    
    +    # Backstage example systems
    +    - type: url
    +      target: https://github.com/backstage/backstage/blob/master/packages/catalog-model/examples/all-systems.yaml
    +
        # Backstage example APIs

    Additionally, the default app sidebar was updated to parity with the Backstage
    repo. You can see these changes in the template
    App.tsx
    referencing a new Root component.

    Finally, compare your packages/app/src/components/catalog/EntityPage.tsx to
    EntityPage
    from the @backstage/create-app default template to pick up additional
    changes there.

  • 4d24872: Update the create-app template to use the correct latest version of express-promise-router.

    To apply the same change in your own repository, update all of your repo's dependencies on express-promise-router to "^4.1.0".

  • Updated dependencies [9f2e51e]

  • Updated dependencies [01ccef4]

  • Updated dependencies [4d24872]

  • Updated dependencies [aaeb7ec]

  • Updated dependencies [449776c]

  • Updated dependencies [91e87c0]

  • Updated dependencies [ea9d977]

  • Updated dependencies [fcc3ada]

  • Updated dependencies [687f066]

  • Updated dependencies [2aab543]

  • Updated dependencies [113d3d5]

  • Updated dependencies [f47e114]

  • Updated dependencies [4618774]

  • Updated dependencies [3139f83]

  • Updated dependencies [598f5bc]

  • Updated dependencies [c862b3f]

  • Updated dependencies [4d24872]

  • Updated dependencies [df59930]

    • @backstage/plugin-scaffolder-backend@0.9.3
    • @backstage/plugin-github-actions@0.4.2
    • @backstage/plugin-catalog@0.5.1
    • @backstage/plugin-techdocs@0.7.0
    • @backstage/plugin-techdocs-backend@0.7.0
    • @backstage/plugin-auth-backend@0.3.6
    • @backstage/core@0.7.3
    • @backstage/plugin-catalog-backend@0.6.7
    • @backstage/theme@0.2.5
    • @backstage/cli@0.6.6

@backstage/theme@0.2.5

Patch Changes

  • 4618774: Changed color for Add Item, Support & Choose buttons with low contrast/readability in dark mode

@backstage/plugin-auth-backend@0.3.6

Patch Changes

  • 449776c: The auth config types now properly accept any declared auth environment. Previously only development was accepted.

    The audience configuration is no longer required for GitLab auth; this will default to https://gitlab.com

@backstage/plugin-badges@0.1.2

Patch Changes

  • 687f066: Update badge dialog formatting
  • 4d24872: Get the current entity using useEntity from @backstage/plugin-catalog-react
  • Updated dependencies [01ccef4]
  • Updated dependencies [fcc3ada]
  • Updated dependencies [4618774]
  • Updated dependencies [df59930]
    • @backstage/plugin-catalog-react@0.1.3
    • @backstage/core@0.7.3
    • @backstage/theme@0.2.5

@backstage/plugin-catalog@0.5.1

Patch Changes

  • 4d24872: Temporarily add UNSTABLE_extraContextMenuItems to the entity layout, so that we could detach the catalog plugin from the dependency on the badges plugin
  • 687f066: Add icon for entity badge menu
  • Updated dependencies [01ccef4]
  • Updated dependencies [fcc3ada]
  • Updated dependencies [4618774]
  • Updated dependencies [df59930]
    • @backstage/plugin-catalog-react@0.1.3
    • @backstage/core@0.7.3
    • @backstage/theme@0.2.5

@backstage/plugin-catalog-backend@0.6.7

Patch Changes

  • f47e114: Log how many repositories were actually matching in GithubDiscoveryProcessor

  • c862b3f: Introduce pagination in the /entities catalog endpoint.

    Pagination is requested using query parameters. Currently supported parameters, all optional, are:

    • limit - an integer number of entities to return, at most
    • offset - an integer number of entities to skip over at the start
    • after - an opaque string cursor as returned by a previous paginated request

    Example request:

    GET /entities?limit=100

    Example response:

    200 OK
    Content-Type: application/json; charset=utf-8
    Link: </entities?limit=100&after=eyJsaW1pdCI6Miwib2Zmc2V0IjoyfQ%3D%3D>; rel="next"
    <more headers>
    
    [{"metadata":{...
    

    Note the Link header. It contains the URL (path and query part, relative to the catalog root) to use for requesting the next page.
    It uses the after cursor to point out the end of the previous page. If the Link header is not present, there is no more data to read.

    The current implementation is naive and encodes offset/limit in the cursor implementation, so it is not robust in the face of overlapping
    changes to the catalog. This can be improved separately in the future without having to change the calling patterns.

  • Updated dependencies [4d24872]

    • @backstage/plugin-search-backend-node@0.1.2

@backstage/plugin-catalog-react@0.1.3

Patch Changes

  • 01ccef4: Introduce useRouteRefParams to core-api to retrieve typed route parameters.
  • Updated dependencies [fcc3ada]
  • Updated dependencies [4618774]
  • Updated dependencies [df59930]
    • @backstage/core@0.7.3

@backstage/plugin-cost-insights@0.8.4

Patch Changes

  • d10ea17: fix missing type exports of public components
  • Updated...
Read more

v0.18.1

19 Mar 10:37
bee2805
Compare
Choose a tag to compare

Added a new badges plugin, split into @backstage/plugin-badges and @backstage/plugin-badges-backend.

The badges plugin offers a set of badges that can be used outside of your backstage deployment, showing information related to data in the catalog, such as entity owner and lifecycle data.

v0.18.0

18 Mar 14:42
e3718ad
Compare
Choose a tag to compare

@backstage/backend-common@0.6.0

Minor Changes

  • 8686eb3: Encode thrown errors in the backend as a JSON payload. This is technically a breaking change, since the response format even of errors are part of the contract. If you relied on the response being text, you will now have some extra JSON "noise" in it. It should still be readable by end users though.

    Before:

    NotFoundError: No entity named 'tara.macgovern2' found, with kind 'user' in namespace 'default'
        at eval (webpack-internal:///../../plugins/catalog-backend/src/service/router.ts:117:17)
    

    After:

    {
      "error": {
        "name": "NotFoundError",
        "message": "No entity named 'tara.macgovern2' found, with kind 'user' in namespace 'default'",
        "stack": "NotFoundError: No entity named 'tara.macgovern2' found, with kind 'user' in namespace 'default'\n    at eval (webpack-internal:///../../plugins/catalog-backend/src/service/router.ts:117:17)"
      },
      "request": {
        "method": "GET",
        "url": "/entities/by-name/user/default/tara.macgovern2"
      },
      "response": {
        "statusCode": 404
      }
    }
  • 8686eb3: Removed the custom error types (e.g. NotFoundError). Those are now instead in the new @backstage/errors package. This is a breaking change, and you will have to update your imports if you were using these types.

    -import { NotFoundError } from '@backstage/backend-common';
    +import { NotFoundError } from '@backstage/errors';

Patch Changes

  • Updated dependencies [0434853]
    • @backstage/config@0.1.4

@backstage/plugin-catalog@0.5.0

Minor Changes

  • 3385b37: Use scmIntegrationsApiRef from the new @backstage/integration-react.

Patch Changes

  • 633a31f: Add the ability to change the initially selected filter, if not set it still defaults to owned.

    <Route
      path="/catalog"
      element={<CatalogIndexPage initiallySelectedFilter="all" />}
    />
  • 9ca0e40: use local version of lowerCase and upperCase methods

  • 8686eb3: Use errors from @backstage/errors

  • Updated dependencies [8686eb3]

  • Updated dependencies [8686eb3]

  • Updated dependencies [9ca0e40]

  • Updated dependencies [34ff49b]

    • @backstage/catalog-client@0.3.8
    • @backstage/core@0.7.2
    • @backstage/plugin-catalog-react@0.1.2

@backstage/plugin-catalog-import@0.5.0

Minor Changes

  • 3385b37: Use scmIntegrationsApiRef from the new @backstage/integration-react.

Patch Changes

  • 7d8c4c9: Update the wording for unknown URLs in the import flow

  • a0dacc1: Use title form field value for the commit message on catalog import PRs. Also allow customization of the pull requests title or body only. For example:

    <Route
      path="/catalog-import"
      element={
        <CatalogImportPage
          pullRequest={{
            preparePullRequest: () => ({
              title: 'chore: add backstage catalog file [skip ci]',
            }),
          }}
        />
      }
    />
  • 9ca0e40: use local version of lowerCase and upperCase methods

  • Updated dependencies [8686eb3]

  • Updated dependencies [8686eb3]

  • Updated dependencies [9ca0e40]

  • Updated dependencies [34ff49b]

    • @backstage/catalog-client@0.3.8
    • @backstage/core@0.7.2
    • @backstage/plugin-catalog-react@0.1.2

@backstage/plugin-jenkins@0.4.0

Minor Changes

  • e8b2ed9: Changed the way project slug is extracted from an entity. Up until now, the plugin assumed that the project slug is always of the format "owner/repo". However, this is not something that is enforced by Jenkins and sometimes the project name doesn't contain an owner.
    Since this split is not used anywhere and the entire project slug is always used as-is, removed this distinction and just read the project slug from the annotation as-is.

Patch Changes

  • 9ca0e40: use local version of lowerCase and upperCase methods
  • Updated dependencies [8686eb3]
  • Updated dependencies [9ca0e40]
  • Updated dependencies [34ff49b]
    • @backstage/core@0.7.2
    • @backstage/plugin-catalog-react@0.1.2

@backstage/plugin-scaffolder@0.8.0

Minor Changes

  • 3385b37: Use scmIntegrationsApiRef from the new @backstage/integration-react.

Patch Changes

  • 9ca0e40: use local version of lowerCase and upperCase methods
  • Updated dependencies [8686eb3]
  • Updated dependencies [0434853]
  • Updated dependencies [8686eb3]
  • Updated dependencies [9ca0e40]
  • Updated dependencies [34ff49b]
    • @backstage/catalog-client@0.3.8
    • @backstage/config@0.1.4
    • @backstage/core@0.7.2
    • @backstage/plugin-catalog-react@0.1.2

@backstage/catalog-client@0.3.8

Patch Changes

  • 8686eb3: Throw the new ResponseError from @backstage/errors
  • Updated dependencies [0434853]
    • @backstage/config@0.1.4

@backstage/cli@0.6.5

Patch Changes

  • 8497254: Lint storybook files, i.e. *.stories.*, as if they were tests.
  • Updated dependencies [0434853]
    • @backstage/config@0.1.4

@backstage/config@0.1.4

Patch Changes

  • 0434853: Reformulate the json types to break type recursion

@backstage/core@0.7.2

Patch Changes

  • 8686eb3: Add a ResponseErrorPanel to render ResponseError from @backstage/errors
  • 9ca0e40: use local version of lowerCase and upperCase methods
  • 34ff49b: Allow extension components to also return null in addition to a JSX.Element.
  • Updated dependencies [a51dc00]
  • Updated dependencies [e7f9b94]
  • Updated dependencies [0434853]
  • Updated dependencies [34ff49b]
  • Updated dependencies [d88dd21]
  • Updated dependencies [c8b54c3]
    • @backstage/core-api@0.2.14
    • @backstage/config@0.1.4

@backstage/core-api@0.2.14

Patch Changes

  • a51dc00: Export SubRouteRef type, and allow SubRouteRefs to be assigned to plugin.routes.
  • e7f9b94: Allow elements to be used multiple times in the app element tree.
  • 34ff49b: Allow extension components to also return null in addition to a JSX.Element.
  • d88dd21: Internal refactor to allow for future package splits. As part of this ApiRefs are now identified by their ID rather than their reference.
  • c8b54c3: Added new Docs Icon to Core Icons
  • Updated dependencies [0434853]
    • @backstage/config@0.1.4

@backstage/create-app@0.3.14

Patch Changes

  • 3385b37: Supply a scmIntegrationsApiRef from the new @backstage/integration-react.

    This is a new facility that plugins will start to use. You will have to add it to your local packages/app as described below. If this is not done, runtime errors will be seen in the frontend, on the form No API factory available for dependency apiRef{integration.scmintegrations}.

    In packages/app/package.json:

       "dependencies": {
    +    "@backstage/integration-react": "^0.1.1",

    In packages/app/src/apis.ts:

    +import {
    +  scmIntegrationsApiRef,
    +  ScmIntegrationsApi,
    +} from '@backstage/integration-react';
    
     export const apis: AnyApiFactory[] = [
    +  createApiFactory({
    +    api: scmIntegrationsApiRef,
    +    deps: { configApi: configApiRef },
    +    factory: ({ configApi }) => ScmIntegrationsApi.fromConfig(configApi),
    +  }),
  • 9ca0e40: use local version of lowerCase and upperCase methods

  • 0283392: Adds example groups and users to the default app template.

    To apply this change in an existing application, change the following in app-config.yaml:

         - type: url
           target: https://github.com/backstage/backstage/blob/master/packages/catalog-model/examples/all-apis.yaml
    
    +    # Backstage example organization groups
    +    - type: url
    +      target: https://github.com/backstage/backstage/blob/master/packages/catalog-model/examples/acme/org.yaml
    +      rules:
    +        - allow: [Group, User]
    +
         # Backstage example templates
         - type: url
           target: https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend/sample-templates/react-ssr-template/template.yaml
  • Updated dependencies [010aed7]

  • Updated dependencies [633a31f]

  • Updated dependencies [8686eb3]

  • Updated dependencies [34e6bb4]

  • Updated dependencies [b56815b]

  • Updated dependencies [147b4c5]

  • Updated dependencies [83bfc98]

  • Updated dependencies [7d8c4c9]

  • Updated dependencies [e7baa0d]

  • Updated dependencies [8b4f7e4]

  • Updated dependencies [8686eb3]

  • Updated dependencies [8497254]

  • Updated dependencies [3385b37]

  • Updated dependencies [0434853]

  • Updated dependencies [a0dacc1]

  • Updated dependencies [8686eb3]

  • Updated dependencies [9ca0e40]

  • Updated dependencies [4bc98a5]

  • Updated dependencies [34ff49b]

  • Updated dependencies [d2f4efc]

  • Updated dependencies [8686eb3]

  • Updated dependencies [424742d]

  • Updated dependencies [c8b54c3]

  • Updated dependencies [4e0b505]

  • Updated dependencies [8b5e597]

  • Updated dependencies [8686eb3]

    • @backstage/plugin-catalog-backend@0.6.6
    • @backstage/plugin-catalog@0.5.0
    • @backstage/catalog-client@0.3.8
    • @backstage/plugin-tech-radar@0.3.8
    • @backstage/plugin-user-settings@0.2.8
    • @backstage/plugin-techdocs@0.6.2
    • @backstage/plugin-catalog-import@0.5.0
    • @backstage/plugin...
Read more

v0.17.3

17 Mar 09:29
d557d6b
Compare
Choose a tag to compare

Added a new TODO plugin, split into @backstage/plugin-todo and @backstage/plugin-todo-backend.

The plugin lists // TODO comments in the source code for each entity and displays them in a table.

image

v0.17.2

16 Mar 22:11
f34ba11
Compare
Choose a tag to compare

Created new package @backstage/integrations-react #4886

This is now statically available just like the config etc. Code no longer has to re-instantiate it over and over again from configuration.

v0.17.1

11 Mar 16:40
3ece07e
Compare
Choose a tag to compare

Added new @backstage/errors package to provide uniform error handling and standardized errors.

v0.17.0

11 Mar 14:01
9804a52
Compare
Choose a tag to compare

@backstage/plugin-github-actions@0.4.0

Minor Changes

Patch Changes

  • 13fb842: Link to GitHub using host defined in app config if defined.
  • Updated dependencies [277644e]
  • Updated dependencies [52f6130]
  • Updated dependencies [0b42fff]
  • Updated dependencies [ff4d666]
  • Updated dependencies [905cbfc]
  • Updated dependencies [2089de7]
  • Updated dependencies [d4e77ec]
  • Updated dependencies [dc1fc92]
    • @backstage/integration@0.5.1
    • @backstage/catalog-model@0.7.4
    • @backstage/core@0.7.1
    • @backstage/theme@0.2.4

@backstage/plugin-kubernetes@0.4.0

Minor Changes

  • 9581ff0: Restructure configuration; Add GKE cluster locator

    Config migration

    1. kubernetes.clusters is now at kubernetes.clusterLocatorMethods[].clusters when the clusterLocatorMethod is of type: 'config''
    2. kubernetes.serviceLocatorMethod is now an object. multiTenant is the only valid type currently

    Old config example:

    kubernetes:
      serviceLocatorMethod: 'multiTenant'
      clusterLocatorMethods:
        - 'config'
      clusters:
        - url: http://127.0.0.1:9999
          name: minikube
          authProvider: 'serviceAccount'
          serviceAccountToken:
            $env: K8S_MINIKUBE_TOKEN
        - url: http://127.0.0.2:9999
          name: aws-cluster-1
          authProvider: 'aws'

    New config example:

    kubernetes:
      serviceLocatorMethod:
        type: 'multiTenant'
      clusterLocatorMethods:
        - type: 'config'
          clusters:
            - url: http://127.0.0.1:9999
              name: minikube
              authProvider: 'serviceAccount'
              serviceAccountToken:
                $env: K8S_MINIKUBE_TOKEN
            - url: http://127.0.0.2:9999
              name: aws-cluster-1
              authProvider: 'aws'
  • e2c1b3f: Add initial CRD support framework

Patch Changes

  • 763926b: Adds a new method getClusters to grab cluster configuration in the frontend
  • Updated dependencies [5d7834b]
  • Updated dependencies [0b42fff]
  • Updated dependencies [ff4d666]
  • Updated dependencies [9581ff0]
  • Updated dependencies [2089de7]
  • Updated dependencies [dc1fc92]
  • Updated dependencies [8de9963]
  • Updated dependencies [e2c1b3f]
    • @backstage/plugin-kubernetes-backend@0.3.0
    • @backstage/catalog-model@0.7.4
    • @backstage/core@0.7.1
    • @backstage/theme@0.2.4

@backstage/plugin-kubernetes-backend@0.3.0

Minor Changes

  • 9581ff0: Restructure configuration; Add GKE cluster locator

    Config migration

    1. kubernetes.clusters is now at kubernetes.clusterLocatorMethods[].clusters when the clusterLocatorMethod is of type: 'config''
    2. kubernetes.serviceLocatorMethod is now an object. multiTenant is the only valid type currently

    Old config example:

    kubernetes:
      serviceLocatorMethod: 'multiTenant'
      clusterLocatorMethods:
        - 'config'
      clusters:
        - url: http://127.0.0.1:9999
          name: minikube
          authProvider: 'serviceAccount'
          serviceAccountToken:
            $env: K8S_MINIKUBE_TOKEN
        - url: http://127.0.0.2:9999
          name: aws-cluster-1
          authProvider: 'aws'

    New config example:

    kubernetes:
      serviceLocatorMethod:
        type: 'multiTenant'
      clusterLocatorMethods:
        - type: 'config'
          clusters:
            - url: http://127.0.0.1:9999
              name: minikube
              authProvider: 'serviceAccount'
              serviceAccountToken:
                $env: K8S_MINIKUBE_TOKEN
            - url: http://127.0.0.2:9999
              name: aws-cluster-1
              authProvider: 'aws'
  • e2c1b3f: Add initial CRD support framework

Patch Changes

  • 5d7834b: Use AWS SDK V2 instead of V3 for Kubernetes authentication
  • 8de9963: Remove Kubernetes client caching
  • Updated dependencies [d7245b7]
  • Updated dependencies [0b42fff]
  • Updated dependencies [7616988]
    • @backstage/backend-common@0.5.6
    • @backstage/catalog-model@0.7.4

@backstage/plugin-splunk-on-call@0.2.0

Minor Changes

  • a310f33: Updated splunk-on-call plugin to use the REST endpoint (incident creation-acknowledgement-resolution).
    It implies switching from splunkOnCall.username configuration to splunkOnCall.eventsRestEndpoint configuration, this is a breaking change.

Patch Changes

  • Updated dependencies [0b42fff]
  • Updated dependencies [ff4d666]
  • Updated dependencies [2089de7]
  • Updated dependencies [dc1fc92]
    • @backstage/catalog-model@0.7.4
    • @backstage/core@0.7.1
    • @backstage/theme@0.2.4

@backstage/backend-common@0.5.6

Patch Changes

  • d7245b7: Add a utility function runDockerContainer used to run a docker container (currently used by Scaffolder and TechDocs for their 'generate' processes)

  • 7616988: Bump to the latest version of the Knex library.

    You will most likely want to bump your own packages/backend/package.json as well:

    -    "knex": "^0.21.18",
    +    "knex": "^0.95.1",

    Note that the recent versions of the Knex library have some changes that may affect your internal plugins' database migration files. Importantly, they now support ALTER TABLE on SQLite, and no longer accidentally remove indices when making some modifications. It now also exports the Knex typescript type as a named export.

    import { Knex } from 'knex';
  • Updated dependencies [277644e]

  • Updated dependencies [52f6130]

  • Updated dependencies [905cbfc]

  • Updated dependencies [d4e77ec]

    • @backstage/integration@0.5.1

@backstage/catalog-client@0.3.7

Patch Changes

  • 0b42fff: Make use of parseLocationReference/stringifyLocationReference
  • Updated dependencies [0b42fff]
    • @backstage/catalog-model@0.7.4

@backstage/catalog-model@0.7.4

Patch Changes

  • 0b42fff: Add parseLocationReference, stringifyLocationReference

@backstage/cli@0.6.4

Patch Changes

  • 5ab5864: Add support for most TypeScript 4.1 syntax.

@backstage/core@0.7.1

Patch Changes

  • ff4d666: Add support for passing a fetch function instead of data to Table data prop.
  • 2089de7: Deprecated ItemCard. Added ItemCardGrid and ItemCardHeader instead, that can be used to compose functionality around regular Material-UI Card components instead.
  • dc1fc92: Add support for non external URI's in the Link component to to prop. For example `Slack
  • Updated dependencies [13524b8]
  • Updated dependencies [e74b075]
  • Updated dependencies [6fb4258]
  • Updated dependencies [2089de7]
  • Updated dependencies [3958859]
    • @backstage/core-api@0.2.13
    • @backstage/theme@0.2.4

@backstage/core-api@0.2.13

Patch Changes

  • 13524b8: Fully deprecate title option of RouteRefs and introduce id instead.

  • e74b075: Fixed a bug where FlatRoutes didn't handle React Fragments properly.

  • 6fb4258: Add SubRouteRefs, which can be used to create a route ref with a fixed path relative to an absolute RouteRef. They are useful if you for example have a page that is mounted at a sub route of a routable extension component, and you want other plugins to be able to route to that page.

    For example:

    // routes.ts
    const rootRouteRef = createRouteRef({ id: 'root' });
    const detailsRouteRef = createSubRouteRef({
      id: 'root-sub',
      parent: rootRouteRef,
      path: '/details',
    });
    
    // plugin.ts
    export const myPlugin = createPlugin({
      routes: {
        root: rootRouteRef,
        details: detailsRouteRef,
      }
    })
    
    export const MyPage = plugin.provide(createRoutableExtension({
      component: () => import('./components/MyPage').then(m => m.MyPage),
      mountPoint: rootRouteRef,
    }))
    
    // components/MyPage.tsx
    const MyPage = () => (
      <Routes>
        {/* myPlugin.routes.root will take the user to this page */}
        <Route path='/' element={<IndexPage />}>
    
        {/* myPlugin.routes.details will take the user to this page */}
        <Route path='/details' element={<DetailsPage />}>
      </Routes>
    )
  • 3958859: Wait for configApi to be ready before using featureFlagsApi

  • Updated dependencies [2089de7]

    • @backstage/theme@0.2.4

@backstage/create-app@0.3.13

Patch Changes

  • b03fba0: Adds "yarn dev" command to simplify local development.

    To add the command to an existing application, first add it to the scripts
    section of your monorepo root package.json like so:

     "scripts": {
    +    "dev": "concurrently \"yarn start\" \"yarn start-backend\"",
         "start": "yarn workspace app start",
         "start-backend": "yarn workspace backend start",

    And then add the concurrently package to your monorepo, like so:

    yarn add concurrently@6.0.0 --dev -W

    Notes:

    • This needs to be done to the monorepo root, not your frontend or backend package.
    • The --dev -W will add it only to devDependencies, and force it to the monorepo main root.

    You can then run yarn dev which will start both the Backstage frontend and backend in a single window.

  • Updated dependencies [13fb842]

  • Updated dependencies [9ef5a12]

  • ...

Read more

v0.16.1

09 Mar 10:56
278b50f
Compare
Choose a tag to compare

Added @backstage/plugin-bitrise to show bitrise.io builds and download build artifacts.

screenshot

v0.16.0

04 Mar 15:20
c7ea6b6
Compare
Choose a tag to compare

@backstage/core@0.7.0

Minor Changes

  • 4c049a1: - Adds onClick and other props to IconLinkVertical;

    • Allows TriggerButton component to render when pager duty key is missing;

    • Refactors TriggerButton and PagerDutyCard not to have shared state;

    • Removes the action prop of the IconLinkVertical component while adding onClick.

      Instead of having an action including a button with onClick, now the whole component can be clickable making it easier to implement and having a better UX.

      Before:

      const myLink: IconLinkVerticalProps = {
        label: 'Click me',
        action: <Button onClick={myAction} />,
        icon: <MyIcon onClick={myAction} />,
      };

      After:

      const myLink: IconLinkVerticalProps = {
        label: 'Click me',
        onClick: myAction,
        icon: <MyIcon />,
      };

Patch Changes

  • 40c0fdb: Added support for optional external route references. By setting optional: true when creating an ExternalRouteRef it is no longer a requirement to bind the route in the app. If the app isn't bound useRouteRef will return undefined.
  • 2a271d8: Internal refactor of how component data is access to avoid polluting components and make it possible to bridge across versions.
  • bece090: Improve rendering of multiple support item links in the SupportButton
  • 169f48d: Added the color prop to TrendLine from the Sparklines props types to be able to have custom colors.
  • 8a15667: Added a new useSupportConfig hook that reads a new app.support config key. Also updated the SupportButton and ErrorPage components to use the new config.
  • Updated dependencies [40c0fdb]
  • Updated dependencies [2a271d8]
    • @backstage/core-api@0.2.12

@backstage/plugin-explore@0.3.0

Minor Changes

  • cfc83ca: Introduce external route for linking to the entity page from the explore plugin.

    To use the explore plugin you have to bind the external route in your app:

    const app = createApp({
      ...
      bindRoutes({ bind }) {
        ...
        bind(explorePlugin.externalRoutes, {
          catalogEntity: catalogPlugin.routes.catalogEntity,
        });
      },
    });

Patch Changes

  • Updated dependencies [12d8f27]
  • Updated dependencies [40c0fdb]
  • Updated dependencies [2a271d8]
  • Updated dependencies [bece090]
  • Updated dependencies [169f48d]
  • Updated dependencies [8a15667]
  • Updated dependencies [9d455f6]
  • Updated dependencies [4c049a1]
  • Updated dependencies [02816ec]
    • @backstage/catalog-model@0.7.3
    • @backstage/core@0.7.0
    • @backstage/plugin-catalog-react@0.1.1
    • @backstage/plugin-explore-react@0.0.3

@backstage/plugin-scaffolder@0.7.0

Minor Changes

  • 8106c95: The scaffolder has been updated to support the new v1beta2 template schema which allows for custom template actions!

    See documentation for more information how to create and register new template actions.

    Breaking changes

    The backend scaffolder plugin now needs a UrlReader which can be pulled from the PluginEnvironment.

    The following change is required in backend/src/plugins/scaffolder.ts

     export default async function createPlugin({
       logger,
       config,
       database,
    +  reader,
     }: PluginEnvironment): Promise<Router> {
    
      // omitted code
    
      return await createRouter({
        preparers,
        templaters,
        publishers,
        logger,
        config,
        dockerClient,
        database,
        catalogClient,
    +   reader,
      });

Patch Changes

  • 12d8f27: Move logic for constructing the template form to the backend, using a new ./parameter-schema endpoint that returns the form schema for a given template.
  • bc327dc: Tweak the template cards to be even more compliant with MUI examples, and a little bit more dense.
  • Updated dependencies [12d8f27]
  • Updated dependencies [40c0fdb]
  • Updated dependencies [2a271d8]
  • Updated dependencies [bece090]
  • Updated dependencies [169f48d]
  • Updated dependencies [8a15667]
  • Updated dependencies [9d455f6]
  • Updated dependencies [4c049a1]
  • Updated dependencies [02816ec]
    • @backstage/catalog-model@0.7.3
    • @backstage/core@0.7.0
    • @backstage/plugin-catalog-react@0.1.1

@backstage/plugin-scaffolder-backend@0.9.0

Minor Changes

  • 8106c95: The scaffolder has been updated to support the new v1beta2 template schema which allows for custom template actions!

    See documentation for more information how to create and register new template actions.

    Breaking changes

    The backend scaffolder plugin now needs a UrlReader which can be pulled from the PluginEnvironment.

    The following change is required in backend/src/plugins/scaffolder.ts

     export default async function createPlugin({
       logger,
       config,
       database,
    +  reader,
     }: PluginEnvironment): Promise<Router> {
    
      // omitted code
    
      return await createRouter({
        preparers,
        templaters,
        publishers,
        logger,
        config,
        dockerClient,
        database,
        catalogClient,
    +   reader,
      });
  • 96ccc8f: Removed support for deprecated publisher auth configuration within the scaffolder configuration block, such as scaffolder.github.token. Access should instead be configured through integrations configuration.

    For example, replace the following configuration in app-config.yaml

    scaffolder:
      github:
        token: my-token

    with

    integrations:
      github:
        - host: github.com
          token: my-token

Patch Changes

  • 12d8f27: Move logic for constructing the template form to the backend, using a new ./parameter-schema endpoint that returns the form schema for a given template.
  • 12d8f27: Add version backstage.io/v1beta2 schema for Template entities.
  • f31b76b: Consider both authentication methods for both onprem and cloud BitBucket
  • f431922: remove usage of res.send() for res.json() and res.end() to ensure content types are more consistently application/json on backend responses and error cases
  • d0ed251: Fixed file path resolution for templates with a file location
  • Updated dependencies [12d8f27]
  • Updated dependencies [4978590]
  • Updated dependencies [8adb48d]
    • @backstage/catalog-model@0.7.3
    • @backstage/backend-common@0.5.5

@backstage/plugin-techdocs@0.6.0

Minor Changes

  • 813c6a4: Add authorization header on techdocs api requests. Breaking change as clients now needs the Identity API.

Patch Changes

  • Updated dependencies [12d8f27]
  • Updated dependencies [f431922]
  • Updated dependencies [40c0fdb]
  • Updated dependencies [2a271d8]
  • Updated dependencies [bece090]
  • Updated dependencies [169f48d]
  • Updated dependencies [8a15667]
  • Updated dependencies [9d455f6]
  • Updated dependencies [4c049a1]
  • Updated dependencies [02816ec]
  • Updated dependencies [6129951]
    • @backstage/catalog-model@0.7.3
    • @backstage/techdocs-common@0.4.3
    • @backstage/core@0.7.0
    • @backstage/plugin-catalog-react@0.1.1

@backstage/backend-common@0.5.5

Patch Changes

  • 4978590: Add optional logClientErrors to errorHandler to log 4XX errors
  • 8adb48d: Change debug log format to print as color grey

@backstage/catalog-model@0.7.3

Patch Changes

  • 12d8f27: Add version backstage.io/v1beta2 schema for Template entities.

@backstage/cli@0.6.3

Patch Changes

  • 507513f: Bump @svgr/webpack from 5.4.x to 5.5.x.
  • e37d2de: Bump @testing-library/react in the plugin template from ^10.4.1 to ^11.2.5. To apply this to an existing plugin, update the dependency in your package.json.
  • 11c6208: Fixed an issue where the backend:dev command would get stuck executing the backend process multiple times, causing port conflict issues.
  • d4f0a14: New config command to export the configuration schema. When running backstage-cli with yarn, consider using yarn --silent backstage-cli config:schema to get a clean output on stdout.
  • b93538a: Fix for type declaration input being required for build even if types aren't being built.
  • 8871e75: Bump ts-loader dependency range from ^7.0.4 to ^8.0.17.

@backstage/core-api@0.2.12

Patch Changes

  • 40c0fdb: Added support for optional external route references. By setting optional: true when creating an ExternalRouteRef it is no longer a requirement to bind the route in the app. If the app isn't bound useRouteRef will return undefined.
  • 2a271d8: Internal refactor of how component data is access to avoid polluting components and make it possible to bridge across versions.

@backstage/create-app@0.3.12

Patch Changes

  • f715898: The api-docs plugin has been migrated to use an external route reference to dynamically link to the create component page.

    If you want to have a button that links to the scaffolder plugin from the API explorer, apply the following changes to packages/app/src/App.tsx:

    + import { apiDocsPlugin } from '@backstage/plugin-api-docs';
      import { scaffolderPlugin } from '@backstage/plugin-scaffolder';
    
      const app = createApp({
        // ...
        bindR...
Read more