Backstage - v0.35.0
@backstage/plugin-catalog-backend@0.11.0
Minor Changes
-
45af985df: Handle entity name conflicts in a deterministic way and avoid crashes due to naming conflicts at startup.
This is a breaking change for the database and entity provider interfaces of the new catalog. The interfaces with breaking changes are
EntityProvider
andProcessingDatabase
, and while it's unlikely that these interfaces have much usage yet, a migration guide is provided below.The breaking change to the
EntityProvider
interface lies within the items passed in theEntityProviderMutation
type. Rather than passing along entities directly, they are now wrapped up in aDeferredEntity
type, which is a tuple of anentity
and alocationKey
. Theentity
houses the entity as it was passed on before, while thelocationKey
is a new concept that is used for conflict resolution within the catalog.The
locationKey
is an opaque string that should be unique for each location that an entity could be located at, and undefined if the entity does not have a fixed location. In practice it should be set to the serialized location reference if the entity is stored in Git, for examplehttps://github.com/backstage/backstage/blob/master/catalog-info.yaml
. A conflict between two entity definitions happen when they have the same entity reference, i.e. kind, namespace, and name. In the event of a conflict the location key will be used according to the following rules to resolve the conflict:- If the entity is already present in the database but does not have a location key set, the new entity wins and will override the existing one.
- If the entity is already present in the database the new entity will only win if the location keys of the existing and new entity are the same.
- If the entity is not already present, insert the entity into the database along with the provided location key.
The breaking change to the
ProcessingDatabase
is similar to the one for the entity provider, as it reflects the switch fromEntity
toDeferredEntity
in theReplaceUnprocessedEntitiesOptions
. In addition, theaddUnprocessedEntities
method has been removed from theProcessingDatabase
interface, and theRefreshStateItem
andUpdateProcessedEntityOptions
types have received a new optionallocationKey
property. -
8e533f92c: Move
LdapOrgReaderProcessor
from@backstage/plugin-catalog-backend
to@backstage/plugin-catalog-backend-module-ldap
.The
LdapOrgReaderProcessor
isn't registered by default anymore, if
you want to continue using it you have to register it manually at the catalog
builder:- Add dependency to
@backstage/plugin-catalog-backend-module-ldap
to thepackage.json
of your backend. - Add the processor to the catalog builder:
typescript // packages/backend/src/plugins/catalog.ts builder.addProcessor( LdapOrgReaderProcessor.fromConfig(config, { logger, }), );
For more configuration details, see the README of the
@backstage/plugin-catalog-backend-module-ldap
package. - Add dependency to
Patch Changes
-
22a60518c: Support ingesting multiple GitHub organizations via a new
GithubMultiOrgReaderProcessor
.This new processor handles namespacing created groups according to the org of the associated GitHub team to prevent potential name clashes between organizations. Be aware that this processor is considered alpha and may not be compatible with future org structures in the catalog.
NOTE: This processor only fully supports auth via GitHub Apps
To install this processor, import and add it as follows:
typescript // Typically in packages/backend/src/plugins/catalog.ts import { GithubMultiOrgReaderProcessor } from '@backstage/plugin-catalog-backend'; // ... export default async function createPlugin(env: PluginEnvironment) { const builder = new CatalogBuilder(env); builder.addProcessor( GithubMultiOrgReaderProcessor.fromConfig(env.config, { logger: env.logger, }), ); // ... }
Configure in your
app-config.yaml
by pointing to your GitHub instance and optionally list which GitHub organizations you wish to import. You can also configure what namespace you want to set for teams from each org. If unspecified, the org name will be used as the namespace. If no organizations are listed, by default this processor will import from all organizations accessible by all configured GitHub Apps:```yaml
catalog:
locations:
- type: github-multi-org
target: https://github.myorg.comprocessors:
githubMultiOrg:
orgs:
- name: fooOrg
groupNamespace: foo
- name: barOrg
groupNamespace: bar
- name: awesomeOrg
- name: anotherOrg
``` -
d408af872: Only return the selected fields from the new catalog.
-
aa2b15d9d: Ensure that emitted relations are deduplicated
-
Updated dependencies
- @backstage/backend-common@0.8.4
- @backstage/integration@0.5.7
- @backstage/catalog-client@0.3.15
## @backstage/plugin-catalog-backend-module-msgraph@0.2.0
Minor Changes
-
115473c08: Handle error gracefully if failure occurs while loading photos using Microsoft Graph API.
This includes a breaking change: you now have to pass the
options
object toreadMicrosoftGraphUsers
andreadMicrosoftGraphOrg
.
Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-backend@0.11.0
## @backstage/backend-common@0.8.4
Patch Changes
- 88d742eb8: Download archives as compressed tar files for GitLab to fix the
readTree
bug in TODO Plugin. - ab5cc376f: Add new
isChildPath
andresolveSafeChildPath
exports - Updated dependencies
- @backstage/cli-common@0.1.2
- @backstage/integration@0.5.7
## @backstage/catalog-client@0.3.15
Patch Changes
- ca080cab8: Don't crash if the entities response doesn't include the entities name and kind
## @backstage/cli@0.7.3
Patch Changes
- a93e60fdc: Updated dependencies
- 55f49fcc7: Update dependencies
- ab5cc376f: Use new
isChildPath
export from@backstage/cli-common
- Updated dependencies
- @backstage/cli-common@0.1.2
## @backstage/cli-common@0.1.2
Patch Changes
- ab5cc376f: Add new
isChildPath
export
## @backstage/codemods@0.1.4
Patch Changes
- Updated dependencies
- @backstage/core-app-api@0.1.4
- @backstage/core-components@0.1.4
- @backstage/cli-common@0.1.2
## @backstage/core-app-api@0.1.4
Patch Changes
- 62abffee4: Reintroduce export of
defaultConfigLoader
. - Updated dependencies
- @backstage/core-components@0.1.4
## @backstage/core-components@0.1.4
Patch Changes
-
f423891ee: Fixed sizing of the System diagram when the rendered graph was wider than the container.
-
3db266fe4: Make
ErrorBoundary
display more helpful information about the error that
occurred.The
slackChannel
(optional) prop can now be passed as an object on the form
{ name: string; href?: string; }
in addition to the old string form. If you
are using the error boundary liketsx <ErrorBoundary slackChannel="#support"> <InnerComponent> </ErrorBoundary>
you may like to migrate it to
```tsx
const support = {
name: '#support',
href: 'https://slack.com/channels/your-channel',
};
```Also deprecated the prop
slackChannel
onTabbedCard
andInfoCard
, while
adding the properrorBoundaryProps
to replace it. -
e8c65b068: Clear the previously selected sign-in provider on failure
## @backstage/create-app@0.3.29
Patch Changes
- Updated dependencies
- @backstage/cli-common@0.1.2
## @backstage/integration@0.5.7
Patch Changes
-
22a60518c: Support ingesting multiple GitHub organizations via a new
GithubMultiOrgReaderProcessor
.This new processor handles namespacing created groups according to the org of the associated GitHub team to prevent potential name clashes between organizations. Be aware that this processor is considered alpha and may not be compatible with future org structures in the catalog.
NOTE: This processor only fully supports auth via GitHub Apps
To install this processor, import and add it as follows:
typescript // Typically in packages/backend/src/plugins/catalog.ts import { GithubMultiOrgReaderProcessor } from '@backstage/plugin-catalog-backend'; // ... export default async function createPlugin(env: PluginEnvironment) { const builder = new CatalogBuilder(env); builder.addProcessor( GithubMultiOrgReaderProcessor.fromConfig(env.config, { logger: env.logger, }), ); // ... }
Configure in your
app-config.yaml
by pointing to your GitHub instance and optionally list which GitHub organizations you wish to import. You can also configure what namespace you want to set for teams from each org. If unspecified, the org name will be used as the namespace. If no organizations are listed, by default this processor will import from all organizations accessible by all configured GitHub Apps:```yaml
catalog:
locations:
- type: github-multi-org
target: https://github.myorg.comprocessors:
githubMultiOrg:
orgs:
- name: fooOrg
groupNamespace: foo
- name: barOrg
groupNamespace: bar
- name: awesomeOrg
- name: anotherOrg
```
## @backstage/techdocs-common@0.6.6
Patch Changes
- ab5cc376f: Use new utilities from
@backstage/backend-common
for safely resolving child paths - b47fc34bc: Update "service catalog" references to "software catalog"
- Updated dependencies
- @backstage/backend-common@0.8.4
- @backstage/integration@0.5.7
## @backstage/plugin-auth-backend@0.3.15
Patch Changes
- 6ca29b66c: Unbreak
.well-known
OIDC routes - 72574ac4d: Show better error message when configs defined under auth.providers.
are undefined. - Updated dependencies
- @backstage/backend-common@0.8.4
- @backstage/catalog-client@0.3.15
## @backstage/plugin-catalog@0.6.5
Patch Changes
- f423891ee: Fixed sizing of the System diagram when the rendered graph was wider than the container.
- e19283b39: Get rid of flex console warning for IconLink
- Updated dependencies
- @backstage/plugin-catalog-react@0.2.5
- @backstage/core-components@0.1.4
- @backstage/integration@0.5.7
- @backstage/catalog-client@0.3.15
## @backstage/plugin-catalog-backend-module-ldap@0.1.1
Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-backend@0.11.0
## @backstage/plugin-catalog-react@0.2.5
Patch Changes
- 35a3e4e4c: Fix repetitive error reporting in EntityTypePicker
- Updated dependencies
- @backstage/core-app-api@0.1.4
- @backstage/core-components@0.1.4
- @backstage/integration@0.5.7
- @backstage/catalog-client@0.3.15
## @backstage/plugin-cost-insights@0.11.1
Patch Changes
- 0b4d00687: Replaced moment and dayjs with Luxon
- Updated dependencies
- @backstage/core-components@0.1.4
## @backstage/plugin-explore@0.3.8
Patch Changes
- dd9118574: Using displayName as default value when loading Groups Diagram
- Updated dependencies
- @backstage/plugin-catalog-react@0.2.5
- @backstage/core-components@0.1.4
## @backstage/plugin-github-actions@0.4.11
Patch Changes
- 316530684: Migrate from Moment to Luxon
- Updated dependencies
- @backstage/plugin-catalog-react@0.2.5
- @backstage/core-components@0.1.4
- @backstage/integration@0.5.7
## @backstage/plugin-kafka-backend@0.2.7
Patch Changes
- 8ab897e01: Properly return a 404 when an unknown cluster is given
- Updated dependencies
- @backstage/backend-common@0.8.4
## @backstage/plugin-register-component@0.2.18
Patch Changes
- b47fc34bc: Update "service catalog" references to "software catalog"
- Updated dependencies
- @backstage/plugin-catalog-react@0.2.5
- @backstage/core-components@0.1.4
## @backstage/plugin-scaffolder@0.9.10
Patch Changes
- 9e60a728e: Upgrade
rjsf
to 3.0.0. - a94587cad: Update dependencies
- Updated dependencies
- @backstage/plugin-catalog-react@0.2.5
- @backstage/core-components@0.1.4
- @backstage/integration@0.5.7
- @backstage/catalog-client@0.3.15
## @backstage/plugin-scaffolder-backend@0.12.4
Patch Changes
- 1627daac2: Fix
catalog:write
on windows systems - ab5cc376f: Use new utilities from
@backstage/backend-common
for safely resolving child paths - Updated dependencies
- @backstage/backend-common@0.8.4
- @backstage/integration@0.5.7
- @backstage/catalog-client@0.3.15
## @backstage/plugin-tech-radar@0.4.2
Patch Changes
- 846168da2: Add optional id prop passing it to the load API
- Updated dependencies
- @backstage/core-components@0.1.4
## @backstage/plugin-techdocs@0.9.8
Patch Changes
- 99a2873c7: Include cookies when making fetch requests for SVG from techdocs plugin
- a444c7431: Filter fetched entity fields to optimize loading techdocs list
- Updated dependencies
- @backstage/plugin-catalog-react@0.2.5
- @backstage/core-components@0.1.4
- @backstage/integration@0.5.7
## @backstage/plugin-techdocs-backend@0.8.5
Patch Changes
- b47fc34bc: Update "service catalog" references to "software catalog"
- Updated dependencies
- @backstage/backend-common@0.8.4
- @backstage/techdocs-common@0.6.6
## example-backend@0.2.35
Patch Changes
- Updated dependencies
- @backstage/plugin-scaffolder-backend@0.12.4
- @backstage/backend-common@0.8.4
- @backstage/plugin-auth-backend@0.3.15
- @backstage/plugin-catalog-backend@0.11.0
- @backstage/plugin-techdocs-backend@0.8.5
- @backstage/catalog-client@0.3.15
- @backstage/plugin-kafka-backend@0.2.7
Details
- 🔍View and search all Backstage releases.
- 🛠️Create and share lists to track your tools.
- 🚨Setup notifications for major, security, feature or patch updates.
- 🚀Much more coming soon!