Skip to content

Releases: backstage/backstage

v0.33.3

21 Jun 21:32
f2b2cf9

Choose a tag to compare

Properly release @backstage/codemods as a publicly available package

v0.33.2

21 Jun 11:36
14d4371

Choose a tag to compare

Release @backstage/codemods package

v0.33.1

18 Jun 09:53
b1a9342

Choose a tag to compare

Release new @backstage/plugin-catalog-backend-module-msgraph package containing the MicrosoftGraphOrgReaderProcessor, which was previously part of the @backstage/plugin-catalog-backend package.

v0.33.0

17 Jun 12:22
b11f945

Choose a tag to compare

@backstage/create-app@0.3.27

Patch Changes

  • Updated dependencies
    • @backstage/plugin-scaffolder-backend@0.12.2

@backstage/plugin-scaffolder-backend@0.12.2

Patch Changes

  • b492221: Keep the empty string as empty string in input rather than replacing with undefined to make empty values ok for cookiecutter

v0.32.0

17 Jun 09:50
daf2961

Choose a tag to compare

@backstage/plugin-api-docs@0.5.0

Minor Changes

  • 2ebc430: Rework ApiExplorerPage to utilize EntityListProvider to provide a consistent UI with the CatalogIndexPage which now exposes support for starring entities, pagination, and customizing columns.

Patch Changes

  • 14ce64b: Add pagination to ApiExplorerTable
  • Updated dependencies
    • @backstage/plugin-catalog-react@0.2.3
    • @backstage/plugin-catalog@0.6.3
    • @backstage/catalog-model@0.8.3
    • @backstage/core@0.7.13

@backstage/backend-common@0.8.3

Patch Changes

  • e5cdf05: Provide a more clear error message when database connection fails.

  • 772dbdb: Deprecates SingleConnectionDatabaseManager and provides an API compatible database
    connection manager, DatabaseManager, which allows developers to configure database
    connections on a per plugin basis.

    The backend.database config path allows you to set prefix to use an
    alternate prefix for automatically generated database names, the default is
    backstage_plugin_. Use backend.database.plugin.<pluginId> to set plugin
    specific database connection configuration, e.g.

    backend:
      database:
        client: 'pg',
        prefix: 'custom_prefix_'
        connection:
          host: 'localhost'
          user: 'foo'
          password: 'bar'
        plugin:
          catalog:
            connection:
              database: 'database_name_overriden'
          scaffolder:
            client: 'sqlite3'
            connection: ':memory:'

    Migrate existing backstage installations by swapping out the database manager in the
    packages/backend/src/index.ts file as shown below:

    import {
    -  SingleConnectionDatabaseManager,
    +  DatabaseManager,
    } from '@backstage/backend-common';
    
    // ...
    
    function makeCreateEnv(config: Config) {
      // ...
    -  const databaseManager = SingleConnectionDatabaseManager.fromConfig(config);
    +  const databaseManager = DatabaseManager.fromConfig(config);
      // ...
    }
  • Updated dependencies

    • @backstage/config-loader@0.6.4

@backstage/backend-test-utils@0.1.3

Patch Changes

  • 772dbdb: Deprecates SingleConnectionDatabaseManager and provides an API compatible database
    connection manager, DatabaseManager, which allows developers to configure database
    connections on a per plugin basis.

    The backend.database config path allows you to set prefix to use an
    alternate prefix for automatically generated database names, the default is
    backstage_plugin_. Use backend.database.plugin.<pluginId> to set plugin
    specific database connection configuration, e.g.

    backend:
      database:
        client: 'pg',
        prefix: 'custom_prefix_'
        connection:
          host: 'localhost'
          user: 'foo'
          password: 'bar'
        plugin:
          catalog:
            connection:
              database: 'database_name_overriden'
          scaffolder:
            client: 'sqlite3'
            connection: ':memory:'

    Migrate existing backstage installations by swapping out the database manager in the
    packages/backend/src/index.ts file as shown below:

    import {
    -  SingleConnectionDatabaseManager,
    +  DatabaseManager,
    } from '@backstage/backend-common';
    
    // ...
    
    function makeCreateEnv(config: Config) {
      // ...
    -  const databaseManager = SingleConnectionDatabaseManager.fromConfig(config);
    +  const databaseManager = DatabaseManager.fromConfig(config);
      // ...
    }
  • Updated dependencies

    • @backstage/backend-common@0.8.3
    • @backstage/cli@0.7.1

@backstage/catalog-model@0.8.3

Patch Changes

  • 1d2ed78: Removed unused typescript-json-schema dependency.

@backstage/cli@0.7.1

Patch Changes

  • 3108ff7: Make yarn dev in newly created backend plugins respect the PLUGIN_PORT environment variable.

    You can achieve the same in your created backend plugins by making sure to properly call the port and CORS methods on your service builder. Typically in a file named src/service/standaloneServer.ts inside your backend plugin package, replace the following:

    const service = createServiceBuilder(module)
      .enableCors({ origin: 'http://localhost:3000' })
      .addRouter('/my-plugin', router);

    With something like the following:

    let service = createServiceBuilder(module)
      .setPort(options.port)
      .addRouter('/my-plugin', router);
    if (options.enableCors) {
      service = service.enableCors({ origin: 'http://localhost:3000' });
    }
  • Updated dependencies

    • @backstage/config-loader@0.6.4

@backstage/config-loader@0.6.4

Patch Changes

  • f004937: Removed workaround for breaking change in typescript 4.3 and bump typescript-json-schema instead. This should again allow the usage of @items.visibility <value> to set the visibility of array items.

@backstage/core@0.7.13

Patch Changes

  • d4644f5: Use the Backstage Link component in the Button

@backstage/core-components@0.1.3

Patch Changes

  • d2c31b1: Add title prop in SupportButton component
  • d4644f5: Use the Backstage Link component in the Button

@backstage/create-app@0.3.26

Patch Changes

  • 5db7445: Adding .DS_Store pattern to .gitignore in Scaffolded Backstage App. To migrate an existing app that pattern should be added manually.

    +# macOS
    +.DS_Store
  • b45e294: This release enables the new catalog processing engine which is a major milestone for the catalog!

    This update makes processing more scalable across multiple instances, adds support for deletions and ui flagging of entities that are no longer referenced by a location.

    Changes Required to catalog.ts

    -import { useHotCleanup } from '@backstage/backend-common';
     import {
       CatalogBuilder,
    -  createRouter,
    -  runPeriodically
    +  createRouter
     } from '@backstage/plugin-catalog-backend';
     import { Router } from 'express';
     import { PluginEnvironment } from '../types';
    
     export default async function createPlugin(env: PluginEnvironment): Promise<Router> {
    -  const builder = new CatalogBuilder(env);
    +  const builder = await CatalogBuilder.create(env);
       const {
         entitiesCatalog,
         locationsCatalog,
    -    higherOrderOperation,
    +    locationService,
    +    processingEngine,
         locationAnalyzer,
       } = await builder.build();
    
    -  useHotCleanup(
    -    module,
    -    runPeriodically(() => higherOrderOperation.refreshAllLocations(), 100000),
    -  );
    +  await processingEngine.start();
    
       return await createRouter({
         entitiesCatalog,
         locationsCatalog,
    -    higherOrderOperation,
    +    locationService,
         locationAnalyzer,
         logger: env.logger,
         config: env.config,

    As this is a major internal change we have taken some precaution by still allowing the old catalog to be enabled by keeping your catalog.ts in it's current state.
    If you encounter any issues and have to revert to the previous catalog engine make sure to raise an issue immediately as the old catalog engine is deprecated and will be removed in a future release.

  • 772dbdb: Deprecates SingleConnectionDatabaseManager and provides an API compatible database
    connection manager, DatabaseManager, which allows developers to configure database
    connections on a per plugin basis.

    The backend.database config path allows you to set prefix to use an
    alternate prefix for automatically generated database names, the default is
    backstage_plugin_. Use backend.database.plugin.<pluginId> to set plugin
    specific database connection configuration, e.g.

    backend:
      database:
        client: 'pg',
        prefix: 'custom_prefix_'
        connection:
          host: 'localhost'
          user: 'foo'
          password: 'bar'
        plugin:
          catalog:
            connection:
              database: 'database_name_overriden'
          scaffolder:
            client: 'sqlite3'
            connection: ':memory:'

    Migrate existing backstage installations by swapping out the database manager in the
    packages/backend/src/index.ts file as shown below:

    import {
    -  SingleConnectionDatabaseManager,
    +  DatabaseManager,
    } from '@backstage/backend-common';
    
    // ...
    
    function makeCreateEnv(config: Config) {
      // ...
    -  const databaseManager = SingleConnectionDatabaseManager.fromConfig(config);
    +  const databaseManager = DatabaseManager.fromConfig(config);
      // ...
    }
  • Updated dependencies

    • @backstage/plugin-catalog@0.6.3
    • @backstage/plugin-search-backend-node@0.2.1
    • @backstage/plugin-catalog-backend@0.10.3
    • @backstage/backend-common@0.8.3
    • @backstage/cli@0.7.1
    • @backstage/plugin-api-docs@0.5.0
    • @backstage/plugin-scaffolder-backend@0.12.1
    • @backstage/plugin-techdocs@0.9.6
    • @backstage/plugin-techdocs-backend@0.8.3
    • @backstage/plugin-catalog-import@0.5.10
    • @backstage/plugin-app-backend@0.3.14
    • @backstage/plugin-proxy-backend@0.2.10
    • @backstage/plugin-rollbar-backend@0.1.12
    • @backstage/plugin-search-backend@0.2.1
    • @backstage/plugin-user-settings@0.2.11
    • @backstage/catalog-model@0.8.3
    • @backstage/plugin-auth-ba...
Read more

v0.31.0

10 Jun 13:48
2147ab9

Choose a tag to compare

@backstage/cli@0.7.0

Minor Changes

  • 9cd3c53: Switch from ts-jest to @sucrase/jest-plugin, improving performance and aligning transpilation with bundling.

    In order to switch back to ts-jest, install ts-jest@^26.4.3 as a dependency in the root of your repo and add the following in the root package.json:

    "jest": {
      "globals": {
        "ts-jest": {
          "isolatedModules": true
        }
      },
      "transform": {
        "\\.esm\\.js$": "@backstage/cli/config/jestEsmTransform.js",
        "\\.(js|jsx|ts|tsx)$": "ts-jest",
        "\\.(bmp|gif|jpg|jpeg|png|frag|xml|svg)$": "@backstage/cli/config/jestFileTransform.js",
        "\\.(yaml)$": "yaml-jest"
      }
    }

    Note that this will override the default jest transforms included with the @backstage/cli.

    It is possible that some test code needs a small migration as a result of this change, which stems from a difference in how sucrase and ts-jest transform module re-exports.

    Consider the following code:

    import * as utils from './utils';
    
    jest.spyOn(utils, 'myUtility').mockReturnValue(3);

    If the ./utils import for example refers to an index file that in turn re-exports from ./utils/myUtility, you would have to change the code to the following to work around the fact that the exported object from ./utils ends up not having configurable properties, thus breaking jest.spyOn.

    import * as utils from './utils/myUtility';
    
    jest.spyOn(utils, 'myUtility').mockReturnValue(3);

Patch Changes

  • 7f74433: Updated dependencies

  • 21e8ebe: Fix error message formatting in the packaging process.

    error.errors can be undefined which will lead to a TypeError, swallowing the actual error message in the process.

    For instance, if you break your tsconfig.json with invalid syntax, backstage-cli will not be able to build anything and it will be very hard to find out why because the underlying error message is hidden behind a TypeError.

@backstage/plugin-scaffolder-backend@0.12.0

Minor Changes

  • 66c6bfe: Scaffolding a repository in Bitbucket will now use the apiBaseUrl if it is provided instead of only the host parameter

Patch Changes

  • 27a9b50: Introduce conditional steps in scaffolder templates.

    A step can now include an if property that only executes a step if the
    condition is truthy. The condition can include handlebar templates.

    - id: register
        if: '{{ not parameters.dryRun }}'
        name: Register
        action: catalog:register
        input:
        repoContentsUrl: '{{ steps.publish.output.repoContentsUrl }}'
        catalogInfoPath: '/catalog-info.yaml'

    Also introduces a not helper in handlebar templates that allows to negate
    boolean expressions.

  • 55a253d: Migrating old backstage.io/v1alpha1 templates to backstage.io/v1beta2

    Deprecating the create-react-app Template. We're planning on removing the create-react-app templater, as it's been a little tricky to support and takes 15mins to run in a container. We've currently cached a copy of the output for create-react-app and ship that under our sample templates folder. If you want to continue using it, we suggest copying the template out of there and putting it in your own repository as it will be removed in upcoming releases.

    We also recommend removing this entry from your app-config.yaml if it exists:

    -    - type: url
    -      target: https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend/sample-templates/create-react-app/template.yaml
    -      rules:
    -        - allow: [Template]
  • f26e600: Add debug:log action for debugging.

  • 4f8cf50: Update gitbeaker past the broken version without a dist folder

  • Updated dependencies [9296377]

  • Updated dependencies [27a9b50]

  • Updated dependencies [70bc30c]

  • Updated dependencies [eda9dbd]

    • @backstage/backend-common@0.8.2
    • @backstage/catalog-model@0.8.2
    • @backstage/catalog-client@0.3.13
    • @backstage/integration@0.5.6

@backstage/plugin-search@0.4.0

Minor Changes

  • 5aff847: This release represents a move out of a pre-alpha phase of the Backstage Search
    plugin, into an alpha phase. With this release, you gain more control over the
    layout of your search page on the frontend, as well as the ability to extend
    search on the backend to encompass everything Backstage users may want to find.

    If you are updating to this version of @backstage/plugin-search from a prior
    release, you will need to make the following modifications to your App:

    In your app package, create a new searchPage component at, for example,
    packages/app/src/components/search/SearchPage.tsx with contents like the
    following:

    import React from 'react';
    import { makeStyles, Theme, Grid, List, Paper } from '@material-ui/core';
    
    import { Content, Header, Lifecycle, Page } from '@backstage/core';
    import { CatalogResultListItem } from '@backstage/plugin-catalog';
    import {
      SearchBar,
      SearchFilter,
      SearchResult,
      DefaultResultListItem,
    } from '@backstage/plugin-search';
    
    const useStyles = makeStyles((theme: Theme) => ({
      bar: {
        padding: theme.spacing(1, 0),
      },
      filters: {
        padding: theme.spacing(2),
      },
      filter: {
        '& + &': {
          marginTop: theme.spacing(2.5),
        },
      },
    }));
    
    const SearchPage = () => {
      const classes = useStyles();
    
      return (
        <Page themeId="home">
          <Header title="Search" subtitle={<Lifecycle alpha />} />
          <Content>
            <Grid container direction="row">
              <Grid item xs={12}>
                <Paper className={classes.bar}>
                  <SearchBar debounceTime={100} />
                </Paper>
              </Grid>
              <Grid item xs={3}>
                <Paper className={classes.filters}>
                  <SearchFilter.Select
                    className={classes.filter}
                    name="kind"
                    values={['Component', 'Template']}
                  />
                  <SearchFilter.Checkbox
                    className={classes.filter}
                    name="lifecycle"
                    values={['experimental', 'production']}
                  />
                </Paper>
              </Grid>
              <Grid item xs={9}>
                <SearchResult>
                  {({ results }) => (
                    <List>
                      {results.map(({ type, document }) => {
                        switch (type) {
                          case 'software-catalog':
                            return (
                              <CatalogResultListItem
                                key={document.location}
                                result={document}
                              />
                            );
                          default:
                            return (
                              <DefaultResultListItem
                                key={document.location}
                                result={document}
                              />
                            );
                        }
                      })}
                    </List>
                  )}
                </SearchResult>
              </Grid>
            </Grid>
          </Content>
        </Page>
      );
    };
    
    export const searchPage = <SearchPage />;

    Then in App.tsx, import this new searchPage component, and set it as a
    child of the existing <SearchPage /> route so that it looks like this:

    import { searchPage } from './components/search/SearchPage';
    // ...
    <Route path="/search" element={<SearchPage />}>
      {searchPage}
    </Route>;

    You will also need to update your backend. For details, check the changeset for
    v0.2.0 of @backstage/plugin-search-backend.

Patch Changes

  • db1c8f9: The `<Search...Next /> set of components exported by the Search Plugin are now updated to use the Search Backend API. These will be made available as the default non-"next" versions in a follow-up release.

    The interfaces for decorators and collators in the Search Backend have also seen minor, breaking revisions ahead of a general release. If you happen to be building on top of these interfaces, check and update your implementations accordingly. The APIs will be considered more stable in a follow-up release.

  • Updated dependencies [27a9b50]

  • Updated dependencies [7028ee1]

  • Updated dependencies [db1c8f9]

    • @backstage/catalog-model@0.8.2
    • @backstage/plugin-catalog-react@0.2.2
    • @backstage/search-common@0.1.2

@backstage/plugin-search-backend@0.2.0

Minor Changes

  • 5aff847: This release represents a move out of a pre-alpha phase of the Backstage Search
    plugin, into an alpha phase. With this release, you gain more control over the
    layout of your search page on the frontend, as well as the ability to extend
    search on the backend to encompass everything Backstage users may want to find.

    If you are updating to version v0.4.0 of @backstage/plugin-search from a
    prior release, you will need to make modifications to your app backend.

    First, navigate to your backend package and install the two related search
    backend packages:

    cd packages/backend
    yarn add @backstage/plugin-search-backend @backstage/plugin-search-b...
Read more

v0.30.1

10 Jun 10:24
399abf9

Choose a tag to compare

This adds publishes a new @backstage/codemods package, intended to be a place to collect various codemods that ease migrations efforts. The initial version only has a single codemod, core-imports, which will translates imports from @backstage/core into appropriate new @backstage/core-* imports.

There's more information on the setup in the readme, but essentially people can just run this in a package dir:

npx @backstage/codemods core-imports .

I ran it towards the todo plugin so you can see what the changes look like, although note that the package.json changes are currently manual additions.

v0.30.0

03 Jun 12:37
e816bf7

Choose a tag to compare

@backstage/plugin-tech-radar@0.4.0

Minor Changes

  • 90a505a: Migrating the Tech Radar to support using ApiRefs to load custom data.

    If you had a getData function, you'll now need to encapsulate that logic in a class that can override the techRadarApiRef.

    // app/src/lib/MyClient.ts
    import {
      TechRadarApi,
      TechRadarLoaderResponse,
    } from '@backstage/plugin-tech-radar';
    
    class MyOwnClient implements TechRadarApi {
      async load(): Promise<TechRadarLoaderResponse> {
        // here's where you would put you logic to load the response that was previously passed into getData
      }
    }
    
    // app/src/apis.ts
    import { MyOwnClient } from './lib/MyClient';
    import { techRadarApiRef } from '@backstage/plugin-tech-radar';
    
    export const apis: AnyApiFactory[] = [
      /*
      ...
      */
      createApiFactory(techRadarApiRef, new MyOwnClient()),
    ];

Patch Changes

  • Updated dependencies [e7c5e4b]
  • Updated dependencies [1cf1d35]
    • @backstage/theme@0.2.8
    • @backstage/core@0.7.12

@backstage/catalog-model@0.8.1

Patch Changes

  • ebe802b: Remove the explicit connection from EntityEnvelope and Entity.

@backstage/cli@0.6.14

Patch Changes

  • ee4eb5b: Adjust the Webpack devtool module filename template to correctly resolve via the source maps to the source files.
  • 8416031: Mark the create-github-app command as ready for use and reveal it in the command list.
  • 7e7c714: Exclude core packages from package dependency diff.
  • e7c5e4b: Update installation instructions in README.
  • 2305ab8: chore(deps): bump @spotify/eslint-config-react from 9.0.0 to 10.0.0
  • 054bcd0: Deprecated the backend:build-image command, pointing to the newer backend:bundle command.

@backstage/core@0.7.12

Patch Changes

  • 1cf1d35: Export CheckboxTree as we have a storybook for it
  • Updated dependencies [e7c5e4b]
  • Updated dependencies [0160678]
    • @backstage/theme@0.2.8
    • @backstage/core-api@0.2.21

@backstage/core-api@0.2.21

Patch Changes

  • 0160678: Made the RouteRef* types compatible with the ones exported from @backstage/core-plugin-api.
  • Updated dependencies [031ccd4]
  • Updated dependencies [e7c5e4b]
    • @backstage/core-plugin-api@0.1.1
    • @backstage/theme@0.2.8

@backstage/core-app-api@0.1.1

Patch Changes

  • e7c5e4b: Update installation instructions in README.
  • Updated dependencies [031ccd4]
  • Updated dependencies [e7c5e4b]
    • @backstage/core-plugin-api@0.1.1
    • @backstage/core-components@0.1.1
    • @backstage/theme@0.2.8

@backstage/core-components@0.1.1

Patch Changes

  • e7c5e4b: Update installation instructions in README.
  • Updated dependencies [031ccd4]
  • Updated dependencies [e7c5e4b]
    • @backstage/core-plugin-api@0.1.1
    • @backstage/theme@0.2.8

@backstage/core-plugin-api@0.1.1

Patch Changes

  • 031ccd4: Made the deprecated icon fields compatible with the IconComponent type from @backstage/core in order to smooth out the migration.
  • e7c5e4b: Update installation instructions in README.
  • Updated dependencies [e7c5e4b]
    • @backstage/theme@0.2.8

@backstage/create-app@0.3.24

Patch Changes

  • 1ddf551: Add CLI output and README how to start app after create-app CLI
  • Updated dependencies [7af9cef]
  • Updated dependencies [497f4ce]
  • Updated dependencies [ee4eb5b]
  • Updated dependencies [8416031]
  • Updated dependencies [3772de8]
  • Updated dependencies [7e7c714]
  • Updated dependencies [f430b6c]
  • Updated dependencies [2a942cc]
  • Updated dependencies [e7c5e4b]
  • Updated dependencies [ebe802b]
  • Updated dependencies [1cf1d35]
  • Updated dependencies [90a505a]
  • Updated dependencies [76f99a1]
  • Updated dependencies [1157fa3]
  • Updated dependencies [6fe1567]
  • Updated dependencies [e7a5a34]
  • Updated dependencies [2305ab8]
  • Updated dependencies [054bcd0]
  • Updated dependencies [aad98c5]
  • Updated dependencies [63a432e]
  • Updated dependencies [f46a9e8]
    • @backstage/test-utils@0.1.13
    • @backstage/plugin-scaffolder@0.9.7
    • @backstage/cli@0.6.14
    • @backstage/plugin-catalog@0.6.1
    • @backstage/theme@0.2.8
    • @backstage/catalog-model@0.8.1
    • @backstage/core@0.7.12
    • @backstage/plugin-tech-radar@0.4.0
    • @backstage/plugin-scaffolder-backend@0.11.5
    • @backstage/plugin-catalog-backend@0.10.1
    • @backstage/plugin-techdocs@0.9.5

@backstage/dev-utils@0.1.17

Patch Changes

  • e7c5e4b: Update installation instructions in README.
  • Updated dependencies [7af9cef]
  • Updated dependencies [e7c5e4b]
  • Updated dependencies [ebe802b]
  • Updated dependencies [1cf1d35]
  • Updated dependencies [deaba2e]
  • Updated dependencies [8e919a6]
    • @backstage/test-utils@0.1.13
    • @backstage/theme@0.2.8
    • @backstage/catalog-model@0.8.1
    • @backstage/core@0.7.12
    • @backstage/plugin-catalog-react@0.2.1

@backstage/integration@0.5.5

Patch Changes

  • 49d7ec1: GitHub App ID can be a string too for environment variables otherwise it will fail validation

@backstage/techdocs-common@0.6.4

Patch Changes

  • aad98c5: Fixes multiple XSS and sanitization bypass vulnerabilities in TechDocs.
  • 0905947: Support parsing mkdocs.yml files that are using custom yaml tags like
    !!python/name:materialx.emoji.twemoji.
  • Updated dependencies [ebe802b]
  • Updated dependencies [49d7ec1]
    • @backstage/catalog-model@0.8.1
    • @backstage/integration@0.5.5

@backstage/test-utils@0.1.13

Patch Changes

  • 7af9cef: Fix a bug in MockStorageApi where it unhelpfully returned new empty buckets every single time
  • e7c5e4b: Update installation instructions in README.
  • Updated dependencies [e7c5e4b]
  • Updated dependencies [0160678]
    • @backstage/theme@0.2.8
    • @backstage/core-api@0.2.21

@backstage/theme@0.2.8

Patch Changes

  • e7c5e4b: Update installation instructions in README.

@backstage/plugin-catalog@0.6.1

Patch Changes

  • 2a942cc: invert logic for when to show type column
  • f46a9e8: Move dependency to @microsoft/microsoft-graph-types from @backstage/plugin-catalog
    to @backstage/plugin-catalog-backend.
  • Updated dependencies [e7c5e4b]
  • Updated dependencies [ebe802b]
  • Updated dependencies [49d7ec1]
  • Updated dependencies [1cf1d35]
  • Updated dependencies [deaba2e]
  • Updated dependencies [8e919a6]
    • @backstage/theme@0.2.8
    • @backstage/catalog-model@0.8.1
    • @backstage/integration@0.5.5
    • @backstage/core@0.7.12
    • @backstage/plugin-catalog-react@0.2.1

@backstage/plugin-catalog-backend@0.10.1

Patch Changes

  • e7a5a34: Only validate the envelope for emitted entities, and defer full validation to when they get processed later on.
  • 63a432e: Skip deletion of bootstrap location when running the new catalog.
  • f46a9e8: Move dependency to @microsoft/microsoft-graph-types from @backstage/plugin-catalog
    to @backstage/plugin-catalog-backend.
  • Updated dependencies [ebe802b]
  • Updated dependencies [49d7ec1]
    • @backstage/catalog-model@0.8.1
    • @backstage/integration@0.5.5

@backstage/plugin-catalog-react@0.2.1

Patch Changes

  • deaba2e: Sort EntityTagPicker entries.
  • 8e919a6: Tweak the EntityListProvider to do single-cycle updates
  • Updated dependencies [031ccd4]
  • Updated dependencies [e7c5e4b]
  • Updated dependencies [ebe802b]
  • Updated dependencies [1cf1d35]
    • @backstage/core-plugin-api@0.1.1
    • @backstage/catalog-model@0.8.1
    • @backstage/core@0.7.12

@backstage/plugin-scaffolder@0.9.7

Patch Changes

  • 497f4ce: Scaffolder Field Extensions are here! This means you'll now the ability to create custom field extensions and have the Scaffolder use the components when collecting information from the user in the wizard. By default we supply the RepoUrlPicker and the OwnerPicker, but if you want to provide some more extensions or override the built on ones you will have to change how the ScaffolderPage is wired up in your app/src/App.tsx to pass in the custom fields to the Scaffolder.

    You'll need to move this:

    <Route path="/create" element={<ScaffolderPage />} />

    To this:

    import {
      ScaffolderFieldExtensions,
      RepoUrlPickerFieldExtension,
      OwnerPickerFieldExtension,
    } from '@backstage/plugin-scaffolder';
    
    <Route path="/create" element={<ScaffolderPage />}>
      <ScaffolderFieldExtensions>
        <RepoUrlPickerFieldExtension />
        <OwnerPickerFieldExtension />
    
        {/*Any other extensions you want to provide*/}
      </ScaffolderFieldExtensions>
    </Route>;

    More documentation on how to write your own FieldExtensions to follow.

  • 3772de8: Remove the trailing space from a the aria-label of the Template "CHOOSE" button.

  • f430b6c: Don't merge with previous from state on form changes.

  • 76f99a1: Export createScaffolderFieldExtension to enable the creation of new field extensions.

  • 1157fa3: Add a <EntityPicker> field to the scaffolder to pick arbitrary entity kinds, like systems.

  • Updated dependencies [e7c5e4b]

  • Updated dependencies [ebe802b]

  • Updated dependencies [49d7ec1]

  • Updated dependencies [1cf1d35]

  • Updated dependencies [deaba2e]

  • Updated depe...

Read more

v0.29.2

01 Jun 16:14
3aeccc9

Choose a tag to compare

The @backstage/core package has been split into the following three packages, all published as part of this release.

Name Description
@backstage/core-app-api Core app API used by Backstage apps
@backstage/core-plugin-api Core API used by Backstage plugins and apps
@backstage/core-components Core components used by Backstage plugins and apps

The main purpose of the split is to decouple the plugin API versioning from the app. It is now possible to bring in multiple plugins that depend on different versions of the core API, without any significant overhead.

The existing @backstage/core package still works together with these new packages, meaning that there is no rush to migrate, and we do not recommend that projects are migrated just yet. In general migration will be done by simply replacing usages of @backstage/core with either @backstage/core-plugin-api, @backstage/core-app-api, or @backstage/core-components, depending on what's being imported, but more information will follow!

v0.29.1

31 May 11:59
5dc8bda

Choose a tag to compare

Published a new @backstage/backend-test-utils package, which is a package for backend test utilities.