46 KiB
@backstage/frontend-plugin-api
0.9.3-next.2
Patch Changes
- Updated dependencies
- @backstage/core-components@0.16.2-next.2
- @backstage/core-plugin-api@1.10.2-next.0
- @backstage/types@1.2.0
- @backstage/version-bridge@1.0.10
0.9.3-next.1
Patch Changes
- Updated dependencies
- @backstage/core-components@0.16.2-next.1
- @backstage/core-plugin-api@1.10.1
- @backstage/types@1.2.0
- @backstage/version-bridge@1.0.10
0.9.3-next.0
Patch Changes
5f04976: Fixed a bug that caused missing code in published packages.- Updated dependencies
- @backstage/core-components@0.16.2-next.0
- @backstage/core-plugin-api@1.10.1
- @backstage/types@1.2.0
- @backstage/version-bridge@1.0.10
0.9.1
Patch Changes
- Updated dependencies
- @backstage/types@1.2.0
- @backstage/core-components@0.16.0
- @backstage/core-plugin-api@1.10.1
- @backstage/version-bridge@1.0.10
0.9.1-next.2
Patch Changes
- Updated dependencies
- @backstage/core-components@0.16.0-next.2
- @backstage/core-plugin-api@1.10.0
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.10
0.9.1-next.1
Patch Changes
- Updated dependencies
- @backstage/core-components@0.16.0-next.1
- @backstage/core-plugin-api@1.10.0
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.10
0.9.1-next.0
Patch Changes
- Updated dependencies
- @backstage/core-components@0.16.0-next.0
- @backstage/core-plugin-api@1.10.0
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.10
0.9.0
Minor Changes
-
4a5ba19: Removed deprecatednamespaceoption fromcreateExtensionandcreateExtensionBlueprint, including.makeand.makeWithOverides, it's no longer necessary and will use thepluginIdinstead.Removed deprecated
createExtensionOverridesthis should be replaced withcreateFrontendModuleinstead.Removed deprecated
BackstagePlugintype, useFrontendPlugintype instead from this same package. -
bfd4bec: BREAKING PRODUCERS: TheIconComponentno longer acceptsfontSize="default". This has effectively been removed from Material-UI since its last two major versions, and has not worked properly for them in a long time.This change should not have an effect on neither users of MUI4 nor MUI5/6, since the updated interface should still let you send the respective
SvgIcontypes into interfaces where relevant (e.g. as app icons).
Patch Changes
-
e969dc7: Move@types/reactto a peer dependency. -
873e424: Internal refactor of usage of opaque types. -
323aae8: It is now possible to override the blueprint parameters when overriding an extension created from a blueprint:const myExtension = MyBlueprint.make({ params: { myParam: 'myDefault', }, }); const myOverride = myExtension.override({ params: { myParam: 'myOverride', }, }); const myFactoryOverride = myExtension.override({ factory(origFactory) { return origFactory({ params: { myParam: 'myOverride', }, }); }, });The provided parameters will be merged with the original parameters of the extension.
-
Updated dependencies
- @backstage/core-components@0.15.1
- @backstage/core-plugin-api@1.10.0
- @backstage/version-bridge@1.0.10
- @backstage/types@1.1.1
0.9.0-next.2
Patch Changes
- Updated dependencies
- @backstage/core-components@0.15.1-next.2
- @backstage/core-plugin-api@1.10.0-next.1
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.10-next.0
0.9.0-next.1
Patch Changes
e969dc7: Move@types/reactto a peer dependency.- Updated dependencies
- @backstage/core-components@0.15.1-next.1
- @backstage/core-plugin-api@1.10.0-next.1
- @backstage/version-bridge@1.0.10-next.0
- @backstage/types@1.1.1
0.9.0-next.0
Minor Changes
-
4a5ba19: Removed deprecatednamespaceoption fromcreateExtensionandcreateExtensionBlueprint, including.makeand.makeWithOverides, it's no longer necessary and will use thepluginIdinstead.Removed deprecated
createExtensionOverridesthis should be replaced withcreateFrontendModuleinstead.Removed deprecated
BackstagePlugintype, useFrontendPlugintype instead from this same package. -
bfd4bec: BREAKING PRODUCERS: TheIconComponentno longer acceptsfontSize="default". This has effectively been removed from Material-UI since its last two major versions, and has not worked properly for them in a long time.This change should not have an effect on neither users of MUI4 nor MUI5/6, since the updated interface should still let you send the respective
SvgIcontypes into interfaces where relevant (e.g. as app icons).
Patch Changes
-
873e424: Internal refactor of usage of opaque types. -
323aae8: It is now possible to override the blueprint parameters when overriding an extension created from a blueprint:const myExtension = MyBlueprint.make({ params: { myParam: 'myDefault', }, }); const myOverride = myExtension.override({ params: { myParam: 'myOverride', }, }); const myFactoryOverride = myExtension.override({ factory(origFactory) { return origFactory({ params: { myParam: 'myOverride', }, }); }, });The provided parameters will be merged with the original parameters of the extension.
-
Updated dependencies
- @backstage/core-components@0.15.1-next.0
- @backstage/core-plugin-api@1.10.0-next.0
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.9
0.8.0
Minor Changes
-
5446061: BREAKING: Removed support for "v1" extensions. This means that it is no longer possible to declare inputs and outputs as objects when usingcreateExtension. In addition, all extension creators except forcreateComponentExtensionhave been removed, use the equivalent blueprint instead. See the 1.30 migration documentation for more information on this change. -
fec8b57: BREAKING: Updated the type parameters forExtensionDefinitionandExtensionBlueprintto only have a single object parameter. The base type parameter is exported asExtensionDefinitionParametersandExtensionBlueprintParametersrespectively. This is shipped as an immediate breaking change as we expect usage of these types to be rare, and it does not affect the runtime behavior of the API.This is a breaking change as it changes the type parameters. Existing usage can generally be updated as follows:
ExtensionDefinition<any>->ExtensionDefinitionExtensionDefinition<any, any>->ExtensionDefinitionExtensionDefinition<TConfig>->ExtensionDefinition<{ config: TConfig }>ExtensionDefinition<TConfig, TConfigInput>->ExtensionDefinition<{ config: TConfig, configInput: TConfigInput }>
If you need to infer the parameter you can use
ExtensionDefinitionParameters, for example:import { ExtensionDefinition, ExtensionDefinitionParameters, } from '@backstage/frontend-plugin-api'; function myUtility<T extends ExtensionDefinitionParameters>( ext: ExtensionDefinition<T>, ): T['config'] { // ... }The same patterns apply to
ExtensionBlueprint.This change is made to improve the readability of API references and ability to evolve the type parameters in the future.
Patch Changes
-
2bb9517: Introduce the@backstage/plugin-apppackage to hold all of the built-in extensions for easy consumption and overriding. -
c816e2d: AddedcreateFrontendModuleas a replacement forcreateExtensionOverrides, which is now deprecated.Deprecated the
BackstagePluginandFrontendFeaturetype in favor ofFrontendPluginandFrontendFeaturefrom@backstage/frontend-app-apirespectively. -
52f9c5a: Deprecated thenamespaceoption forcreateExtensionBlueprintandcreateExtension, these are no longer required and will default to thepluginIdinstead.You can migrate some of your extensions that use
createExtensionOverridesto usingcreateFrontendModuleinstead and providing apluginIdthere.// Before createExtensionOverrides({ extensions: [ createExtension({ name: 'my-extension', namespace: 'my-namespace', kind: 'test', ... }) ], }); // After createFrontendModule({ pluginId: 'my-namespace', extensions: [ createExtension({ name: 'my-extension', kind: 'test', ... }) ], }); -
f3a2b91: Moved several implementations of built-in APIs from being hardcoded in the app to instead be provided as API extensions. This moves all API-related inputs from theappextension to the respective API extensions. For example, extensions created withThemeBlueprintare now attached to thethemesinput ofapi:app-themerather than theappextension. -
836127c: Updated dependency@testing-library/reactto^16.0.0. -
948d431: Removing deprecatednamespaceparameter in favour ofpluginIdinstead -
043d7cd: Internal refactor -
220f4f7: Remove unnecessary config object on IconBundleBlueprint -
2a61422: Thefactoryoption is no longer required when overriding an extension. -
98850de: Added support for definingreplacesincreateExtensionInputwhich will allow extensions to redirect missingattachTopoints to an input of the created extension.export const AppThemeApi = ApiBlueprint.makeWithOverrides({ name: 'app-theme', inputs: { themes: createExtensionInput([ThemeBlueprint.dataRefs.theme], { // attachTo: { id: 'app', input: 'themes'} will be redirected to this input instead replaces: [{ id: 'app', input: 'themes' }], }), }, factory: () { ... } }); -
4a66456: A newapisparameter has been added tofactoryfor extensions. This is a way to access utility APIs without being coupled to the React context. -
Updated dependencies
- @backstage/core-components@0.15.0
- @backstage/core-plugin-api@1.9.4
- @backstage/version-bridge@1.0.9
- @backstage/types@1.1.1
0.8.0-next.2
Patch Changes
836127c: Updated dependency@testing-library/reactto^16.0.0.043d7cd: Internal refactor2a61422: Thefactoryoption is no longer required when overriding an extension.- Updated dependencies
- @backstage/core-components@0.14.11-next.1
- @backstage/core-plugin-api@1.9.4-next.0
- @backstage/version-bridge@1.0.9-next.0
- @backstage/types@1.1.1
0.8.0-next.1
Patch Changes
-
c816e2d: AddedcreateFrontendModuleas a replacement forcreateExtensionOverrides, which is now deprecated.Deprecated the
BackstagePluginandFrontendFeaturetype in favor ofFrontendPluginandFrontendFeaturefrom@backstage/frontend-app-apirespectively. -
52f9c5a: Deprecated thenamespaceoption forcreateExtensionBlueprintandcreateExtension, these are no longer required and will default to thepluginIdinstead.You can migrate some of your extensions that use
createExtensionOverridesto usingcreateFrontendModuleinstead and providing apluginIdthere.// Before createExtensionOverrides({ extensions: [ createExtension({ name: 'my-extension', namespace: 'my-namespace', kind: 'test', ... }) ], }); // After createFrontendModule({ pluginId: 'my-namespace', extensions: [ createExtension({ name: 'my-extension', kind: 'test', ... }) ], }); -
948d431: Removing deprecatednamespaceparameter in favour ofpluginIdinstead -
Updated dependencies
- @backstage/core-components@0.14.11-next.0
- @backstage/core-plugin-api@1.9.3
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.8
0.8.0-next.0
Minor Changes
-
5446061: BREAKING: Removed support for "v1" extensions. This means that it is no longer possible to declare inputs and outputs as objects when usingcreateExtension. In addition, all extension creators except forcreateComponentExtensionhave been removed, use the equivalent blueprint instead. See the 1.30 migration documentation for more information on this change. -
fec8b57: BREAKING: Updated the type parameters forExtensionDefinitionandExtensionBlueprintto only have a single object parameter. The base type parameter is exported asExtensionDefinitionParametersandExtensionBlueprintParametersrespectively. This is shipped as an immediate breaking change as we expect usage of these types to be rare, and it does not affect the runtime behavior of the API.This is a breaking change as it changes the type parameters. Existing usage can generally be updated as follows:
ExtensionDefinition<any>->ExtensionDefinitionExtensionDefinition<any, any>->ExtensionDefinitionExtensionDefinition<TConfig>->ExtensionDefinition<{ config: TConfig }>ExtensionDefinition<TConfig, TConfigInput>->ExtensionDefinition<{ config: TConfig, configInput: TConfigInput }>
If you need to infer the parameter you can use
ExtensionDefinitionParameters, for example:import { ExtensionDefinition, ExtensionDefinitionParameters, } from '@backstage/frontend-plugin-api'; function myUtility<T extends ExtensionDefinitionParameters>( ext: ExtensionDefinition<T>, ): T['config'] { // ... }The same patterns apply to
ExtensionBlueprint.This change is made to improve the readability of API references and ability to evolve the type parameters in the future.
Patch Changes
-
2bb9517: Introduce the@backstage/plugin-apppackage to hold all of the built-in extensions for easy consumption and overriding. -
f3a2b91: Moved several implementations of built-in APIs from being hardcoded in the app to instead be provided as API extensions. This moves all API-related inputs from theappextension to the respective API extensions. For example, extensions created withThemeBlueprintare now attached to thethemesinput ofapi:app-themerather than theappextension. -
98850de: Added support for definingreplacesincreateExtensionInputwhich will allow extensions to redirect missingattachTopoints to an input of the created extension.export const AppThemeApi = ApiBlueprint.makeWithOverrides({ name: 'app-theme', inputs: { themes: createExtensionInput([ThemeBlueprint.dataRefs.theme], { // attachTo: { id: 'app', input: 'themes'} will be redirected to this input instead replaces: [{ id: 'app', input: 'themes' }], }), }, factory: () { ... } }); -
4a66456: A newapisparameter has been added tofactoryfor extensions. This is a way to access utility APIs without being coupled to the React context. -
Updated dependencies
- @backstage/core-components@0.14.10
- @backstage/core-plugin-api@1.9.3
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.8
0.7.0
Minor Changes
-
72754db: BREAKING: All types of route refs are always considered optional byuseRouteRef, which means the caller must always handle a potentialundefinedreturn value. Related to this change, theoptionaloption fromcreateExternalRouteRefhas been removed, since it is no longer necessary.This is released as an immediate breaking change as we expect the usage of the new route refs to be extremely low or zero, since plugins that support the new system will still use route refs and
useRouteReffrom@backstage/core-plugin-apiin combination withconvertLegacyRouteReffrom@backstage/core-compat-api.
Patch Changes
-
6f72c2b: Fixing issue with extension blueprintsinputsmerging. -
210d066: Added support for using theparamsin other properties of thecreateExtensionBlueprintoptions by providing a callback. -
9b356dc: RenamedcreatePlugintocreateFrontendPlugin. The old symbol is still exported but deprecated. -
a376559: Correct theTConfigtype of data references to only contain config -
4e53ad6: Introduce a new way to encapsulate extension kinds that replaces the extension creator pattern withcreateExtensionBlueprintThis allows the creation of extension instances with the following pattern:
// create the extension blueprint which is used to create instances const EntityCardBlueprint = createExtensionBlueprint({ kind: 'entity-card', attachTo: { id: 'test', input: 'default' }, output: [coreExtensionData.reactElement], factory(params: { text: string }) { return [coreExtensionData.reactElement(<h1>{params.text}</h1>)]; }, }); // create an instance of the extension blueprint with params const testExtension = EntityCardBlueprint.make({ name: 'foo', params: { text: 'Hello World', }, }); -
9b89b82: TheExtensionBoundarynow by default infers whether it's routable from whether it outputs a route path. -
e493020: DeprecatedinputsandconfigSchemaoptions forcreateComponentExtenion, these will be removed in a future release -
7777b5f: Added a newIconBundleBlueprintthat lets you create icon bundle extensions that can be installed in an App in order to override or add new app icons.import { IconBundleBlueprint } from '@backstage/frontend-plugin-api'; const exampleIconBundle = IconBundleBlueprint.make({ name: 'example-bundle', params: { icons: { user: MyOwnUserIcon, }, }, }); -
99abb6b: Support overriding of plugin extensions using the newplugin.withOverridesmethod.import homePlugin from '@backstage/plugin-home'; export default homePlugin.withOverrides({ extensions: [ homePage.getExtension('page:home').override({ *factory(originalFactory) { yield* originalFactory(); yield coreExtensionData.reactElement(<h1>My custom home page</h1>); }, }), ], }); -
813cac4: Add anExtensionBoundary.lazyfunction to create properly wrapped lazy-loading enabled elements, suitable for use withcoreExtensionData.reactElement. The page blueprint now automatically leverages this. -
a65cfc8: Add support for accessing extensions definitions provided by a plugin viaplugin.getExtension(...). For this to work the extensions must be defined using the v2 format, typically using an extension blueprint. -
3be9aeb: Extensions have been changed to be declared with an array of inputs and outputs, rather than a map of named data refs. This change was made to reduce confusion around the role of the input and output names, as well as enable more powerful APIs for overriding extensions.An extension that was previously declared like this:
const exampleExtension = createExtension({ name: 'example', inputs: { items: createExtensionInput({ element: coreExtensionData.reactElement, }), }, output: { element: coreExtensionData.reactElement, }, factory({ inputs }) { return { element: ( <div> Example {inputs.items.map(item => { return <div>{item.output.element}</div>; })} </div> ), }; }, });Should be migrated to the following:
const exampleExtension = createExtension({ name: 'example', inputs: { items: createExtensionInput([coreExtensionData.reactElement]), }, output: [coreExtensionData.reactElement], factory({ inputs }) { return [ coreExtensionData.reactElement( <div> Example {inputs.items.map(item => { return <div>{item.get(coreExtensionData.reactElement)}</div>; })} </div>, ), ]; }, }); -
34f1b2a: Support merging ofinputsin extension blueprints, but stop mergingoutput. In addition, the original factory in extension blueprints now returns a data container that both provides access to the returned data, but can also be forwarded as output. -
3fb421d: Added support to be able to definezodconfig schema in Blueprints, with built in schema merging from the Blueprint and the extension instances. -
2d21599: Added support for being able to override extension definitions.const TestCard = EntityCardBlueprint.make({ ... }); TestCard.override({ // override attachment points attachTo: { id: 'something-else', input: 'overridden' }, // extend the config schema config: { schema: { newConfig: z => z.string().optional(), } }, // override factory *factory(originalFactory, { inputs, config }){ const originalOutput = originalFactory(); yield coreExentsionData.reactElement( <Wrapping> {originalOutput.get(coreExentsionData.reactElement)} </Wrapping> ); } }); -
31bfc44: Extension data references can now be defined in a way that encapsulates the ID string in the type, in addition to the data type itself. The old way of creating extension data references is deprecated and will be removed in a future release.For example, the following code:
export const myExtension = createExtensionDataRef<MyType>('my-plugin.my-data');Should be updated to the following:
export const myExtension = createExtensionDataRef<MyType>().with({ id: 'my-plugin.my-data', }); -
6349099: Added config input type to the extensions -
Updated dependencies
- @backstage/core-components@0.14.10
- @backstage/core-plugin-api@1.9.3
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.8
0.7.0-next.3
Patch Changes
-
6f72c2b: Fixing issue with extension blueprintsinputsmerging. -
99abb6b: Support overriding of plugin extensions using the newplugin.withOverridesmethod.import homePlugin from '@backstage/plugin-home'; export default homePlugin.withOverrides({ extensions: [ homePage.getExtension('page:home').override({ *factory(originalFactory) { yield* originalFactory(); yield coreExtensionData.reactElement(<h1>My custom home page</h1>); }, }), ], }); -
a65cfc8: Add support for accessing extensions definitions provided by a plugin viaplugin.getExtension(...). For this to work the extensions must be defined using the v2 format, typically using an extension blueprint. -
34f1b2a: Support merging ofinputsin extension blueprints, but stop mergingoutput. In addition, the original factory in extension blueprints now returns a data container that both provides access to the returned data, but can also be forwarded as output. -
2d21599: Added support for being able to override extension definitions.const TestCard = EntityCardBlueprint.make({ ... }); TestCard.override({ // override attachment points attachTo: { id: 'something-else', input: 'overridden' }, // extend the config schema config: { schema: { newConfig: z => z.string().optional(), } }, // override factory *factory(originalFactory, { inputs, config }){ const originalOutput = originalFactory(); yield coreExentsionData.reactElement( <Wrapping> {originalOutput.get(coreExentsionData.reactElement)} </Wrapping> ); } }); -
Updated dependencies
- @backstage/core-components@0.14.10-next.0
- @backstage/core-plugin-api@1.9.3
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.8
0.7.0-next.2
Minor Changes
-
72754db: BREAKING: All types of route refs are always considered optional byuseRouteRef, which means the caller must always handle a potentialundefinedreturn value. Related to this change, theoptionaloption fromcreateExternalRouteRefhas been removed, since it is no longer necessary.This is released as an immediate breaking change as we expect the usage of the new route refs to be extremely low or zero, since plugins that support the new system will still use route refs and
useRouteReffrom@backstage/core-plugin-apiin combination withconvertLegacyRouteReffrom@backstage/core-compat-api.
Patch Changes
210d066: Added support for using theparamsin other properties of thecreateExtensionBlueprintoptions by providing a callback.- Updated dependencies
- @backstage/core-components@0.14.10-next.0
- @backstage/core-plugin-api@1.9.3
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.8
0.6.8-next.1
Patch Changes
-
3be9aeb: Extensions have been changed to be declared with an array of inputs and outputs, rather than a map of named data refs. This change was made to reduce confusion around the role of the input and output names, as well as enable more powerful APIs for overriding extensions.An extension that was previously declared like this:
const exampleExtension = createExtension({ name: 'example', inputs: { items: createExtensionInput({ element: coreExtensionData.reactElement, }), }, output: { element: coreExtensionData.reactElement, }, factory({ inputs }) { return { element: ( <div> Example {inputs.items.map(item => { return <div>{item.output.element}</div>; })} </div> ), }; }, });Should be migrated to the following:
const exampleExtension = createExtension({ name: 'example', inputs: { items: createExtensionInput([coreExtensionData.reactElement]), }, output: [coreExtensionData.reactElement], factory({ inputs }) { return [ coreExtensionData.reactElement( <div> Example {inputs.items.map(item => { return <div>{item.get(coreExtensionData.reactElement)}</div>; })} </div>, ), ]; }, }); -
3fb421d: Added support to be able to definezodconfig schema in Blueprints, with built in schema merging from the Blueprint and the extension instances. -
6349099: Added config input type to the extensions -
Updated dependencies
- @backstage/core-components@0.14.10-next.0
- @backstage/core-plugin-api@1.9.3
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.8
0.6.8-next.0
Patch Changes
-
4e53ad6: Introduce a new way to encapsulate extension kinds that replaces the extension creator pattern withcreateExtensionBlueprintThis allows the creation of extension instances with the following pattern:
// create the extension blueprint which is used to create instances const EntityCardBlueprint = createExtensionBlueprint({ kind: 'entity-card', attachTo: { id: 'test', input: 'default' }, output: { element: coreExtensionData.reactElement, }, factory(params: { text: string }) { return { element: <h1>{params.text}</h1>, }; }, }); // create an instance of the extension blueprint with params const testExtension = EntityCardBlueprint.make({ name: 'foo', params: { text: 'Hello World', }, }); -
9b89b82: TheExtensionBoundarynow by default infers whether it's routable from whether it outputs a route path. -
7777b5f: Added a newIconBundleBlueprintthat lets you create icon bundle extensions that can be installed in an App in order to override or add new app icons.import { IconBundleBlueprint } from '@backstage/frontend-plugin-api'; const exampleIconBundle = IconBundleBlueprint.make({ name: 'example-bundle', params: { icons: { user: MyOwnUserIcon, }, }, }); -
31bfc44: Extension data references can now be defined in a way that encapsulates the ID string in the type, in addition to the data type itself. The old way of creating extension data references is deprecated and will be removed in a future release.For example, the following code:
export const myExtension = createExtensionDataRef<MyType>('my-plugin.my-data');Should be updated to the following:
export const myExtension = createExtensionDataRef<MyType>().with({ id: 'my-plugin.my-data', }); -
Updated dependencies
- @backstage/core-components@0.14.10-next.0
- @backstage/core-plugin-api@1.9.3
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.8
0.6.7
Patch Changes
- Updated dependencies
- @backstage/core-components@0.14.9
- @backstage/core-plugin-api@1.9.3
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.8
0.6.7-next.1
Patch Changes
- Updated dependencies
- @backstage/core-components@0.14.9-next.1
0.6.7-next.0
Patch Changes
- Updated dependencies
- @backstage/core-components@0.14.9-next.0
- @backstage/core-plugin-api@1.9.3
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.8
0.6.6
Patch Changes
- Updated dependencies
- @backstage/core-components@0.14.8
- @backstage/core-plugin-api@1.9.3
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.8
0.6.6-next.2
Patch Changes
- Updated dependencies
- @backstage/core-components@0.14.8-next.2
- @backstage/core-plugin-api@1.9.3-next.0
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.8
0.6.6-next.1
Patch Changes
- Updated dependencies
- @backstage/core-components@0.14.8-next.1
- @backstage/core-plugin-api@1.9.3-next.0
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.8
0.6.6-next.0
Patch Changes
- Updated dependencies
- @backstage/core-components@0.14.8-next.0
- @backstage/core-plugin-api@1.9.2
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.8
0.6.5
Patch Changes
- Updated dependencies
0.6.5-next.1
Patch Changes
- Updated dependencies
- @backstage/core-components@0.14.6-next.1
0.6.5-next.0
Patch Changes
- Updated dependencies
- @backstage/core-components@0.14.5-next.0
- @backstage/core-plugin-api@1.9.2
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.8
0.6.4
Patch Changes
abfbcfc: Updated dependency@testing-library/reactto^15.0.0.35452b3: Fixed the type foruseRouteRef, which wasn't handling optional external route refs correctly.- Updated dependencies
- @backstage/core-components@0.14.4
- @backstage/core-plugin-api@1.9.2
- @backstage/version-bridge@1.0.8
- @backstage/types@1.1.1
0.6.4-next.1
Patch Changes
35452b3: Fixed the type foruseRouteRef, which wasn't handling optional external route refs correctly.- Updated dependencies
- @backstage/core-components@0.14.4-next.0
- @backstage/core-plugin-api@1.9.1
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.7
0.6.4-next.0
Patch Changes
- Updated dependencies
- @backstage/core-components@0.14.4-next.0
- @backstage/core-plugin-api@1.9.1
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.7
0.6.3
Patch Changes
- Updated dependencies
- @backstage/core-components@0.14.3
- @backstage/core-plugin-api@1.9.1
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.7
0.6.2
Patch Changes
- Updated dependencies
- @backstage/core-components@0.14.2
- @backstage/core-plugin-api@1.9.1
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.7
0.6.1
Patch Changes
- Updated dependencies
- @backstage/core-components@0.14.1
- @backstage/core-plugin-api@1.9.1
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.7
0.6.1-next.2
Patch Changes
- Updated dependencies
- @backstage/core-components@0.14.1-next.2
- @backstage/core-plugin-api@1.9.1-next.1
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.7
0.6.1-next.1
Patch Changes
- Updated dependencies
- @backstage/core-components@0.14.1-next.1
- @backstage/core-plugin-api@1.9.1-next.1
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.7
0.6.1-next.0
Patch Changes
- Updated dependencies
- @backstage/core-components@0.14.1-next.0
- @backstage/core-plugin-api@1.9.1-next.0
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.7
0.6.0
Minor Changes
e586f79: BREAKING: Replace default plugin extension and plugin ids to beappinstead ofroot.
Patch Changes
7eae3e0: Added initialIconsApidefinition.f919be9: Added a utility API for VMware Cloud auth; the API ref is available in the@backstage/core-plugin-apiand@backstage/frontend-plugin-apipackages, the implementation is in@backstage/core-app-apiand a factory has been added to@backstage/app-defaults.8fe56a8: Widen@types/reactdependency range to include version 18.bc621aa: AddedRouteResolutionsApias a replacement for the routing context.1e61ad3: App component extensions are no longer wrapped in anExtensionBoundary, allowing them to inherit the outer context instead.46b63de: Allow external route refs in the new system to have adefaultTargetpointing to a route that it'll resolve to by default if no explicit bindings were made by the adopter.- Updated dependencies
- @backstage/core-components@0.14.0
- @backstage/core-plugin-api@1.9.0
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.7
0.6.0-next.3
Patch Changes
- Updated dependencies
- @backstage/core-components@0.14.0-next.2
- @backstage/core-plugin-api@1.9.0-next.1
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.7
0.6.0-next.2
Patch Changes
f919be9: Added a utility API for VMware Cloud auth; the API ref is available in the@backstage/core-plugin-apiand@backstage/frontend-plugin-apipackages, the implementation is in@backstage/core-app-apiand a factory has been added to@backstage/app-defaults.8fe56a8: Widen@types/reactdependency range to include version 18.- Updated dependencies
- @backstage/core-components@0.14.0-next.1
- @backstage/core-plugin-api@1.9.0-next.1
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.7
0.6.0-next.1
Minor Changes
e586f79: BREAKING: Replace default plugin extension and plugin ids to beappinstead ofroot.
Patch Changes
bc621aa: AddedRouteResolutionsApias a replacement for the routing context.1e61ad3: App component extensions are no longer wrapped in anExtensionBoundary, allowing them to inherit the outer context instead.46b63de: Allow external route refs in the new system to have adefaultTargetpointing to a route that it'll resolve to by default if no explicit bindings were made by the adopter.- Updated dependencies
- @backstage/core-components@0.14.0-next.0
- @backstage/core-plugin-api@1.8.3-next.0
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.7
0.5.1-next.0
Patch Changes
7eae3e0: Added initialIconsApidefinition.- Updated dependencies
- @backstage/core-components@0.13.10
- @backstage/core-plugin-api@1.8.2
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.7
0.5.0
Minor Changes
d4149bf: BREAKING: Renamed theapp/routerextension toapp/root.
Patch Changes
b2d370e: ExposedcreateComponentRef, and ensured that produced refs and feature bits have atoStringfor easier debugging7d63b32: Accepts sub route refs on the newcreatePluginroutes map.516fd3e: Updated README to reflect release status4016f21: Remove some unused dependenciesc97fa1c: Addedelements,wrappers, androuterinputs toapp/root, that let you add things to the root of the React tree above the layout. You can use thecreateAppRootElementExtension,createAppRootWrapperExtension, andcreateRouterExtensionextension creator, respectively, to conveniently create such extensions. These are all optional, and if you do not supply a router a default one will be used (BrowserRouterin regular runs,MemoryRouterin tests/CI).- Updated dependencies
- @backstage/core-components@0.13.10
- @backstage/core-plugin-api@1.8.2
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.7
0.4.1-next.2
Patch Changes
516fd3e: Updated README to reflect release status
0.4.1-next.1
Patch Changes
- Updated dependencies
- @backstage/core-plugin-api@1.8.2-next.0
- @backstage/core-components@0.13.10-next.1
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.7
0.4.1-next.0
Patch Changes
4016f21: Remove some unused dependencies- Updated dependencies
- @backstage/core-components@0.13.10-next.0
- @backstage/core-plugin-api@1.8.1
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.7
0.4.0
Minor Changes
-
af7bc3e: Switched all core extensions to instead use the namespace'app'. -
5cdf2b3: ChangedExtensionandExtensionDefinitionto use opaque types. -
8f5d6c1: Extension inputs are now wrapped into an additional object when passed to the extension factory, with the previous values being available at theoutputproperty. TheExtensionInputValuestype has also been replaced byResolvedExtensionInputs. -
8837a96: BREAKING: This version changes how extensions are created and how their IDs are determined. ThecreateExtensionfunction now acceptskind,namespaceandnameinstead ofid. All of the new options are optional, and are used to construct the final extension ID. By convention extension creators should set thekindto match their own name, for examplecreateNavItemExtensionsets the kindnav-item.The
createExtensionfunction as well as all extension creators now also return anExtensionDefinitionrather than anExtension, which in turn needs to be passed tocreatePluginorcreateExtensionOverridesto be used. -
f9ef632: Moved several extension data references fromcoreExtensionDatato their respective extension creators. -
a5a0473: The extensionfactoryfunction now longer receivesidorsource, but instead now provides the extension'sAppNodeasnode. TheExtensionBoundarycomponent has also been updated to receive anodeprop rather thanidandsource.
Patch Changes
a379243: Add theFrontendFeaturetype, which is the union ofBackstagePluginandExtensionOverridesb7adf24: Update alpha component ref type to be more specific than any, delete boot page component and use new plugin type for error boundary component extensions.5eb6b8a: Added the nav logo extension for customization of sidebar logo1f12fb7: Create factories for overriding default core components extensions.5970928: Add feature flags to plugins and extension overrides.e539735: AddedcreateSignInPageExtension.73246ec: Added translation APIs as well ascreateTranslationExtension.cb4197a: Forwardnode`` instead ofextensionId` to resolved extension inputs.f27ee7d: Migrate analytics api and context files.0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref: https://security.snyk.io/vuln/SNYK-JS-ZOD-5925617f1183b7: Renamed thecomponentoption ofcreateComponentExtensiontoloader.- Updated dependencies
- @backstage/core-plugin-api@1.8.1
- @backstage/core-components@0.13.9
- @backstage/config@1.1.1
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.7
0.4.0-next.3
Patch Changes
- Updated dependencies
- @backstage/core-components@0.13.9-next.3
- @backstage/config@1.1.1
- @backstage/core-plugin-api@1.8.1-next.1
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.7
0.4.0-next.2
Minor Changes
-
8f5d6c1: Extension inputs are now wrapped into an additional object when passed to the extension factory, with the previous values being available at theoutputproperty. TheExtensionInputValuestype has also been replaced byResolvedExtensionInputs. -
8837a96: BREAKING: This version changes how extensions are created and how their IDs are determined. ThecreateExtensionfunction now acceptskind,namespaceandnameinstead ofid. All of the new options are optional, and are used to construct the final extension ID. By convention extension creators should set thekindto match their own name, for examplecreateNavItemExtensionsets the kindnav-item.The
createExtensionfunction as well as all extension creators now also return anExtensionDefinitionrather than anExtension, which in turn needs to be passed tocreatePluginorcreateExtensionOverridesto be used.
Patch Changes
b7adf24: Update alpha component ref type to be more specific than any, delete boot page component and use new plugin type for error boundary component extensions.73246ec: Added translation APIs as well ascreateTranslationExtension.cb4197a: Forwardnode`` instead ofextensionId` to resolved extension inputs.- Updated dependencies
- @backstage/config@1.1.1
- @backstage/core-components@0.13.9-next.2
- @backstage/core-plugin-api@1.8.1-next.1
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.7
0.4.0-next.1
Minor Changes
a5a04739e1: The extensionfactoryfunction now longer receivesidorsource, but instead now provides the extension'sAppNodeasnode. TheExtensionBoundarycomponent has also been updated to receive anodeprop rather thanidandsource.
Patch Changes
5eb6b8a7bc: Added the nav logo extension for customization of sidebar logo1f12fb762c: Create factories for overriding default core components extensions.59709286b3: Add feature flags to plugins and extension overrides.e539735435: AddedcreateSignInPageExtension.f27ee7d937: Migrate analytics api and context files.- Updated dependencies
- @backstage/core-components@0.13.9-next.1
- @backstage/core-plugin-api@1.8.1-next.1
- @backstage/config@1.1.1
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.7
0.3.1-next.0
Patch Changes
- Updated dependencies
- @backstage/core-plugin-api@1.8.1-next.0
- @backstage/core-components@0.13.9-next.0
- @backstage/config@1.1.1
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.7
0.3.0
Minor Changes
68fc9dc60e: AddedRouteRef,SubRouteRef,ExternalRouteRef, and related types. All exports from this package that previously relied on the types with the same name from@backstage/core-plugin-apinow use the new types instead. To convert and existing legacy route ref to be compatible with the APIs from this package, use theconvertLegacyRouteRefutility from@backstage/core-plugin-api/alpha.77f009b35d: Extensions now return their output from the factory function rather than callingbind(...).
Patch Changes
6c2b872153: Add official support for React 18.733bd95746: Add newAppTreeApi.6af88a05ff: Improve the extension boundary component and create a default extension suspense component.- Updated dependencies
- @backstage/core-components@0.13.8
- @backstage/core-plugin-api@1.8.0
- @backstage/version-bridge@1.0.7
- @backstage/types@1.1.1
0.3.0-next.2
Patch Changes
-
#20888
733bd95746Thanks @Rugvip! - Add newAppTreeApi. -
Updated dependencies
- @backstage/core-components@0.13.8-next.2
0.3.0-next.1
Minor Changes
77f009b35d: Extensions now return their output from the factory function rather than callingbind(...).
Patch Changes
- Updated dependencies
- @backstage/core-components@0.13.8-next.1
- @backstage/core-plugin-api@1.8.0-next.0
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.7-next.0
0.3.0-next.0
Minor Changes
68fc9dc60e: AddedRouteRef,SubRouteRef,ExternalRouteRef, and related types. All exports from this package that previously relied on the types with the same name from@backstage/core-plugin-apinow use the new types instead. To convert and existing legacy route ref to be compatible with the APIs from this package, use theconvertLegacyRouteRefutility from@backstage/core-plugin-api/alpha.
Patch Changes
6c2b872153: Add official support for React 18.6af88a05ff: Improve the extension boundary component and create a default extension suspense component.- Updated dependencies
- @backstage/core-components@0.13.7-next.0
- @backstage/core-plugin-api@1.8.0-next.0
- @backstage/version-bridge@1.0.7-next.0
- @backstage/types@1.1.1
0.2.0
Minor Changes
06432f900c: Extension attachment point is now configured viaattachTo: { id, input }instead ofat: 'id/input'.4461d87d5a: Removed support for the newuseRouteRef.
Patch Changes
d3a37f55c0: Add support forSidebarGroupon the sidebar item extension.2ecd33618a: Plugins can now be assignedroutesandexternalRouteswhen created.9a1fce352e: Updated dependency@testing-library/jest-domto^6.0.0.c1e9ca6500: AddedcreateExtensionOverrideswhich can be used to install a collection of extensions in an app that will replace any existing ones.52366db5b3: AddedcreateThemeExtensionandcoreExtensionData.theme.- Updated dependencies
- @backstage/core-plugin-api@1.7.0
- @backstage/types@1.1.1
0.2.0-next.2
Minor Changes
06432f900c: Extension attachment point is now configured viaattachTo: { id, input }instead ofat: 'id/input'.4461d87d5a: Removed support for the newuseRouteRef.
Patch Changes
- Updated dependencies
- @backstage/core-plugin-api@1.7.0-next.1
- @backstage/types@1.1.1
0.1.1-next.1
Patch Changes
d3a37f55c0: Add support forSidebarGroupon the sidebar item extension.52366db5b3: AddedcreateThemeExtensionandcoreExtensionData.theme.- Updated dependencies
- @backstage/core-plugin-api@1.7.0-next.0
- @backstage/types@1.1.1
0.1.1-next.0
Patch Changes
- Updated dependencies
- @backstage/core-plugin-api@1.7.0-next.0
- @backstage/types@1.1.1
0.1.0
Minor Changes
628ca7e458: Initial release
Patch Changes
- Updated dependencies
- @backstage/core-plugin-api@1.6.0
- @backstage/types@1.1.1
0.1.0-next.0
Minor Changes
628ca7e458: Initial release
Patch Changes
- Updated dependencies
- @backstage/core-plugin-api@1.6.0-next.3
- @backstage/types@1.1.1-next.0
0.0.1-next.0
Patch Changes
- Updated dependencies
- @backstage/core-plugin-api@1.6.0-next.2
- @backstage/types@1.1.0