Backstage - release-2022-01-20
@backstage/cli@0.12.0
Minor Changes
-
08fa6a604a: Removed the
typescript
dependency from the Backstage CLI in order to decouple the TypeScript version in Backstage projects. To keep using a specific TypeScript version, be sure to add an explicit dependency in your rootpackage.json
:json "dependencies": { ... "typescript": "~4.5.4", }
We recommend using a
~
version range since TypeScript releases do not adhere to semver.It may be the case that you end up with errors if you upgrade the TypeScript version. This is because there was a change to TypeScript not long ago that defaulted the type of errors caught in
catch
blocks tounknown
. You can work around this by adding"useUnknownInCatchVariables": false
to the"compilerOptions"
in yourtsconfig.json
:json "compilerOptions": { ... "useUnknownInCatchVariables": false }
Another option is to use the utilities from
@backstage/errors
to assert the type of errors caught incatch
blocks:```ts
import { assertError, isError } from '@backstage/errors';try {
...
} catch (error) {
assertError(error);
...
// OR
if (isError(error)) {
...
}
}
```Yet another issue you might run into when upgrading TypeScript is incompatibilities in the types from
react-use
. The error you would run into looks something like this:```plain
node_modules/react-use/lib/usePermission.d.ts:1:54 - error TS2304: Cannot find name 'DevicePermissionDescriptor'.1 declare type PermissionDesc = PermissionDescriptor | DevicePermissionDescriptor | MidiPermissionDescriptor | PushPermissionDescriptor;
```If you encounter this error, the simplest fix is to replace full imports of
react-use
with more specific ones. For example, the following:ts import { useAsync } from 'react-use';
Would be converted into this:
ts import useAsync from 'react-use/lib/useAsync';
Patch Changes
-
6e34e2cfbf: Introduce
--deprecated
option toconfig:check
to log all deprecated app configuration propertiessh $ yarn backstage-cli config:check --lax --deprecated config:check --lax --deprecated Loaded config from app-config.yaml The configuration key 'catalog.processors.githubOrg' of app-config.yaml is deprecated and may be removed soon. Configure a GitHub integration instead.
-
f2fe4d240b: Switched to only apply
@hot-loader/react-dom
Webpack aliasing when using React 16. -
2a42d573d2: Introduced a new
--experimental-type-build
option to the various package build commands. This option switches the type definition build to be executed using API Extractor rather than arollup
plugin. In order for this experimental switch to work, you must also have@microsoft/api-extractor
installed within your project, as it is an optional peer dependency.The biggest difference between the existing mode and the experimental one is that rather than just building a single
dist/index.d.ts
file, API Extractor will outputindex.d.ts
,index.beta.d.ts
, andindex.alpha.d.ts
, all in thedist
directory. Each of these files will have exports from more unstable release stages stripped, meaning thatindex.d.ts
will omit all exports marked with@alpha
or@beta
, whileindex.beta.d.ts
will omit all exports marked with@alpha
.In addition, the
prepack
command now has support foralphaTypes
andbetaTypes
fields in thepublishConfig
ofpackage.json
. These optional fields can be pointed todist/types.alpha.d.ts
anddist/types.beta.d.ts
respectively, which will cause<name>/alpha
and<name>/beta
entry points to be generated for the package. See the@backstage/catalog-model
package for an example of how this can be used in practice. -
Updated dependencies
- @backstage/config@0.1.13
- @backstage/config-loader@0.9.3
## @backstage/core-app-api@0.5.0
Minor Changes
- ceebe25391: Removed deprecated
SignInResult
type, which was replaced with the newonSignInSuccess
callback.
Patch Changes
- fb565073ec: Add an
allowUrl
callback option toFetchMiddlewares.injectIdentityAuth
- f050eec2c0: Added validation during the application startup that detects if there are any plugins present that have not had their required external routes bound. Failing the validation will cause a hard crash as it is a programmer error. It lets you detect early on that there are dangling routes, rather than having them cause an error later on.
- Updated dependencies
- @backstage/core-plugin-api@0.6.0
- @backstage/config@0.1.13
## @backstage/core-plugin-api@0.6.0
Minor Changes
-
ceebe25391: Removed deprecated
IdentityApi
methods:getUserId
,getIdToken
, andgetProfile
.Existing usage of
getUserId
can be replaced bygetBackstageIdentity
, more precisely the equivalent of the previoususerId
can be retrieved like this:```ts
import { parseEntityRef } from '@backstage/catalog-model';const identity = await identityApi.getBackstageIdentity();
const { name: userId } = parseEntityRef(identity.userEntityRef);
```Note that it is recommended to consume the entire
userEntityRef
rather than parsing out just the name, in order to support namespaces.Existing usage of
getIdToken
can be replaced bygetCredentials
, like this:ts const { token } = await identityApi.getCredentials();
And existing usage of
getProfile
is replaced bygetProfileInfo
, which returns the same profile object, but is now async. -
ceebe25391: Removed deprecated
SignInResult
type, which was replaced with the newonSignInSuccess
callback. -
d879072b0c: Removed the deprecated
id
field ofBackstageIdentityResponse
.Existing usage can be replaced by parsing the
name
of theidentity.userEntityRef
withparseEntityRef
from@backstage/catalog-model
, although note that it is recommended to consume the entireuserEntityRef
in order to support namespaces. -
94c02b4246: Removed deprecated
BackstageIdentity
type, which was replaced byBackstageIdentityResponse
. -
234a36405b: Removed deprecated
OAuthRequestApi
types:AuthProvider
,AuthRequesterOptions
,AuthRequester
, andPendingAuthRequest
.
Patch Changes
- Updated dependencies
- @backstage/config@0.1.13
## @backstage/plugin-api-docs@0.7.0
Minor Changes
- b3831be2fe: Renamed the
createComponent
external route toregisterApi
since it's now recommended to link to the entity registration page rather than the creation page.
Patch Changes
-
306d879536: chore(deps): bump
react-syntax-highligher
andswagger-ui-react
-
c007bea546: Export
GraphQlDefinitionWidget
to be reused. -
cd4e3c4d4e: Using an explicitly empty string for the url argument ensures that the swagger UI does not run into undefined errors.
-
0c0d8a47e7: Bump @asyncapi/react-component for CVE
-
Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog@0.7.9
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
## @backstage/plugin-auth-backend@0.7.0
Minor Changes
-
6e92ee6267: Add new authentication provider to support the oauth2-proxy.
BREAKING The
AuthHandler
requires now anAuthResolverContext
parameter. This aligns with the
behavior of theSignInResolver
. -
f8496730ab: Switched the handling of the
BackstageIdentityResponse
so that the returnedidentity.userEntityRef
is always a full entity reference. IfuserEntityRef
was previously set tojane
, it will now beuser:default/jane
. TheuserEntityRef
in the response is parsed from thesub
claim in the payload of the Backstage token. -
a53d7d8143: Update provider subs to return full entity ref.
Patch Changes
- f815b7e4a4: build(deps): bump
@google-cloud/firestore
from 4.15.1 to 5.0.2 - Updated dependencies
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
- @backstage/catalog-model@0.9.10
- @backstage/catalog-client@0.5.5
## @backstage/plugin-catalog-backend@0.21.0
Minor Changes
-
9f2a8dc423: BREAKING: Removed all remnants of the old catalog engine implementation.
The old implementation has been deprecated for over half a year. To ensure that
you are not using the old implementation, check that your
packages/backend/src/plugins/catalog.ts
creates the catalog builder using
CatalogBuilder.create
. If you instead callnew CatalogBuilder
, you are on
the old implementation and will experience breakage if you upgrade to this
version. If you are still on the old version, see the relevant change log
entry
for migration instructions.The minimal
packages/backend/src/plugins/catalog.ts
file is now:ts export default async function createPlugin( env: PluginEnvironment, ): Promise<Router> { const builder = await CatalogBuilder.create(env); builder.addProcessor(new ScaffolderEntitiesProcessor()); const { processingEngine, router } = await builder.build(); await processingEngine.start(); return router; }
The following classes and interfaces have been removed:
- The
CatalogBuilder
constructor (see above; useCatalogBuilder.create
instead) AddLocationResult
CommonDatabase
CreateDatabaseOptions
createNextRouter
(usecreateRouter
instead - or preferably, use the
router
field returned for you bycatalogBuilder.build()
)Database
DatabaseEntitiesCatalog
(useEntitiesCatalog
instead)DatabaseLocationsCatalog
(useLocationService
instead)DatabaseLocationUpdateLogEvent
DatabaseLocationUpdateLogStatus
DatabaseManager
DbEntitiesRequest
DbEntitiesResponse
DbEntityRequest
DbEntityResponse
DbLocationsRow
DbLocationsRowWithStatus
DbPageInfo
EntitiesCatalog.batchAddOrUpdateEntities
(was only used by the legacy
engine)EntityUpsertRequest
EntityUpsertResponse
HigherOrderOperation
HigherOrderOperations
LocationReader
LocationReaders
LocationResponse
LocationsCatalog
LocationUpdateLogEvent
LocationUpdateStatus
NextCatalogBuilder
(useCatalogBuilder.create
instead)NextRouterOptions
(useRouterOptions
instead)ReadLocationEntity
ReadLocationError
ReadLocationResult
Transaction
The
RouterOptions
interface has been un-deprecated, and has instead found use
for passing intocreateRouter
. Its shape has been significantly changed to
accommodate the new router. - The
Patch Changes
- e15ce5c16e: Integrate authorization into the delete entities endpoint
- dce98a92f7: Now when entities are deleted, the parent entity state is updated such that it will "heal" accidental deletes on the next refresh round.
- 02687954ca: Fixed a typo and made a little clarification to a warning message
- 48248e2db5: Integrate permissions into entity ancestry endpoint in catalog-backend
- 68edbbeafd: Fix bug with resource loading in permission integration
- 7e38acaa9e: Integrate permissions into catalog-backend location endpoints
- 6680853e0c: Export conditional permission policy helpers from catalog-backend
- 2b27e49eb1: Internal update to match status field changes in
@backstage/catalog-model
. - Updated dependencies
- @backstage/integration@0.7.2
- @backstage/plugin-permission-common@0.4.0
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
- @backstage/plugin-permission-node@0.4.0
- @backstage/plugin-catalog-common@0.1.1
- @backstage/catalog-model@0.9.10
- @backstage/catalog-client@0.5.5
## @backstage/plugin-org@0.4.0
Minor Changes
-
1285c2fe60: BREAKING: Added a new and required
catalogIndex
external route. It should typically be linked to thecatalogIndex
route of the Catalog plugin:ts bind(orgPlugin.externalRoutes, { catalogIndex: catalogPlugin.routes.catalogIndex, });
Patch Changes
-
f006fe2529: For the component
EntityMembersListCard
you can now specify the pageSize. For example:tsx <Grid item xs={12}> <EntityMembersListCard pageSize={100} /> </Grid>
If left empty it will by default use 50.
-
2908a41b9b: Fixed typo in
MembersListCard
component -
Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
## @backstage/plugin-permission-backend@0.4.0
Minor Changes
- b768259244: BREAKING: Wrap batched requests and responses to /authorize in an envelope object. The latest version of the PermissionClient in @backstage/permission-common uses the new format - as long as the permission-backend is consumed using this client, no other changes are necessary.
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-backend@0.7.0
- @backstage/plugin-permission-common@0.4.0
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
- @backstage/plugin-permission-node@0.4.0
## @backstage/plugin-permission-common@0.4.0
Minor Changes
-
b768259244: BREAKING: Authorize API request and response types have been updated. The existing
AuthorizeRequest
andAuthorizeResponse
types now match the entire request and response objects for the /authorize endpoint, and new typesAuthorizeQuery
andAuthorizeDecision
have been introduced for individual items in the request and response batches respectively.BREAKING: PermissionClient has been updated to use the new request and response format in the latest version of @backstage/permission-backend.
Patch Changes
- Updated dependencies
- @backstage/config@0.1.13
## @backstage/plugin-permission-node@0.4.0
Minor Changes
- 0ae4f4cc82: BREAKING:
PolicyAuthorizeRequest
type has been renamed toPolicyAuthorizeQuery
.
BREAKING: Update to use renamed request and response types from @backstage/plugin-permission-common.
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-backend@0.7.0
- @backstage/plugin-permission-common@0.4.0
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
## @backstage/plugin-permission-react@0.3.0
Minor Changes
- 0ae4f4cc82: BREAKING: Update to use renamed request and response types from @backstage/plugin-permission-common.
Patch Changes
- 51fbedc445: Migrated usage of deprecated
IdentityApi
methods. - Updated dependencies
- @backstage/plugin-permission-common@0.4.0
- @backstage/core-plugin-api@0.6.0
- @backstage/config@0.1.13
## @backstage/plugin-scaffolder@0.12.0
Minor Changes
-
aecfe4f403: Make
ScaffolderClient
use theFetchApi
. You now need to pass in an instance
of that API when constructing the client, if you create a custom instance in
your app.If you are replacing the factory:
```diff
+import { fetchApiRef } from '@backstage/core-plugin-api';createApiFactory({
api: scaffolderApiRef,
deps: {
discoveryApi: discoveryApiRef,
scmIntegrationsApi: scmIntegrationsApiRef,
- identityApi: identityApiRef,
+ fetchApi: fetchApiRef,
},
factory: ({
discoveryApi,
scmIntegrationsApi,
- identityApi,
+ fetchApi,
}) =>
new ScaffolderClient({
discoveryApi,
scmIntegrationsApi,
- identityApi,
+ fetchApi,
}),
}),
```If instantiating directly:
```diff
+import { fetchApiRef } from '@backstage/core-plugin-api';+const fetchApi = useApi(fetchApiRef);
const client = new ScaffolderClient({
discoveryApi,
scmIntegrationsApi,
- identityApi,
+ fetchApi,
}),
```
Patch Changes
-
51fbedc445: Migrated usage of deprecated
IdentityApi
methods. -
b05d303226: Added the ability to support supplying secrets when creating tasks in the
scaffolder-backend
.deprecation: Deprecated
ctx.token
from actions in thescaffolder-backend
. Please move to usingctx.secrets.backstageToken
instead.deprecation: Deprecated
task.token
inTaskSpec
in thescaffolder-backend
. Please move to usingtask.secrets.backstageToken
instead. -
cd05442ed2: Refactoring the
RepoUrlPicker
into separate provider components to encapsulate provider nonsense -
Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/integration@0.7.2
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/config@0.1.13
- @backstage/catalog-model@0.9.10
- @backstage/catalog-client@0.5.5
- @backstage/integration-react@0.1.19
- @backstage/plugin-scaffolder-common@0.1.3
## @backstage/plugin-tech-insights-backend@0.2.0
Minor Changes
-
dfd5e81721: BREAKING CHANGES:
- The helper function to create a fact retriever registration is now expecting an object of configuration items instead of individual arguments.
Modify yourtechInsights.ts
plugin configuration inpackages/backend/src/plugins/techInsights.ts
(or equivalent) the following way:
```diff
-createFactRetrieverRegistration(
- '1 1 1 * ', // Example cron, At 01:01 on day-of-month 1.
- entityOwnershipFactRetriever,
-),
+createFactRetrieverRegistration({
+ cadende: '1 1 1 * ', // Example cron, At 01:01 on day-of-month 1.
+ factRetriever: entityOwnershipFactRetriever,
+}),```
TechInsightsStore
interface has changed its signature ofinsertFacts
method. If you have created your own implementation of eitherTechInsightsDatabase
orFactRetrieverEngine
you need to modify the implementation/call to this method to accept/pass-in an object instead if individual arguments. The interface now accepts an additionallifecycle
argument which is optional (defined below). An example modification to fact retriever engine:
diff -await this.repository.insertFacts(factRetriever.id, facts); +await this.repository.insertFacts({ + id: factRetriever.id, + facts, + lifecycle, +});
Adds a configuration option to fact retrievers to define lifecycle for facts the retriever persists. Possible values are either 'max items' or 'time-to-live'. The former will keep only n number of items in the database for each fact per entity. The latter will remove all facts that are older than the TTL value.
Possible values:
{ maxItems: 5 }
// Deletes all facts for the retriever/entity pair, apart from the last five{ ttl: 1209600000 }
// (2 weeks) Deletes all facts older than 2 weeks for the retriever/entity pair{ ttl: { weeks: 2 } }
// Deletes all facts older than 2 weeks for the retriever/entity pair
- The helper function to create a fact retriever registration is now expecting an object of configuration items instead of individual arguments.
Patch Changes
- Updated dependencies
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
- @backstage/plugin-tech-insights-node@0.2.0
- @backstage/catalog-model@0.9.10
- @backstage/catalog-client@0.5.5
## @backstage/plugin-tech-insights-node@0.2.0
Minor Changes
-
dfd5e81721: BREAKING CHANGES:
- The helper function to create a fact retriever registration is now expecting an object of configuration items instead of individual arguments.
Modify yourtechInsights.ts
plugin configuration inpackages/backend/src/plugins/techInsights.ts
(or equivalent) the following way:
```diff
-createFactRetrieverRegistration(
- '1 1 1 * ', // Example cron, At 01:01 on day-of-month 1.
- entityOwnershipFactRetriever,
-),
+createFactRetrieverRegistration({
+ cadende: '1 1 1 * ', // Example cron, At 01:01 on day-of-month 1.
+ factRetriever: entityOwnershipFactRetriever,
+}),```
TechInsightsStore
interface has changed its signature ofinsertFacts
method. If you have created your own implementation of eitherTechInsightsDatabase
orFactRetrieverEngine
you need to modify the implementation/call to this method to accept/pass-in an object instead if individual arguments. The interface now accepts an additionallifecycle
argument which is optional (defined below). An example modification to fact retriever engine:
diff -await this.repository.insertFacts(factRetriever.id, facts); +await this.repository.insertFacts({ + id: factRetriever.id, + facts, + lifecycle, +});
Adds a configuration option to fact retrievers to define lifecycle for facts the retriever persists. Possible values are either 'max items' or 'time-to-live'. The former will keep only n number of items in the database for each fact per entity. The latter will remove all facts that are older than the TTL value.
Possible values:
{ maxItems: 5 }
// Deletes all facts for the retriever/entity pair, apart from the last five{ ttl: 1209600000 }
// (2 weeks) Deletes all facts older than 2 weeks for the retriever/entity pair{ ttl: { weeks: 2 } }
// Deletes all facts older than 2 weeks for the retriever/entity pair
- The helper function to create a fact retriever registration is now expecting an object of configuration items instead of individual arguments.
Patch Changes
- Updated dependencies
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
## @backstage/plugin-techdocs@0.13.0
Minor Changes
-
aecfe4f403: Make
TechDocsClient
andTechDocsStorageClient
use theFetchApi
. You now
need to pass in an instance of that API when constructing the client, if you
create a custom instance in your app.If you are replacing the factory:
```diff
+import { fetchApiRef } from '@backstage/core-plugin-api';createApiFactory({
api: techdocsStorageApiRef,
deps: {
configApi: configApiRef,
discoveryApi: discoveryApiRef,
identityApi: identityApiRef,
+ fetchApi: fetchApiRef,
},
factory: ({
configApi,
discoveryApi,
identityApi,
+ fetchApi,
}) =>
new TechDocsStorageClient({
configApi,
discoveryApi,
identityApi,
+ fetchApi,
}),
}),
createApiFactory({
api: techdocsApiRef,
deps: {
configApi: configApiRef,
discoveryApi: discoveryApiRef,
- identityApi: identityApiRef,
+ fetchApi: fetchApiRef,
},
factory: ({
configApi,
discoveryApi,
- identityApi,
+ fetchApi,
}) =>
new TechDocsClient({
configApi,
discoveryApi,
- identityApi,
+ fetchApi,
}),
}),
```If instantiating directly:
```diff
+import { fetchApiRef } from '@backstage/core-plugin-api';+const fetchApi = useApi(fetchApiRef);
const storageClient = new TechDocsStorageClient({
configApi,
discoveryApi,
identityApi,
+ fetchApi,
});
const techdocsClient = new TechDocsClient({
configApi,
discoveryApi,
- identityApi,
+ fetchApi,
}),
```
Patch Changes
- 51fbedc445: Migrated usage of deprecated
IdentityApi
methods. - 29710c91c2: use lighter color for block quotes and horizontal rulers
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/integration@0.7.2
- @backstage/plugin-search@0.5.6
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog@0.7.9
- @backstage/plugin-catalog-react@0.6.12
- @backstage/config@0.1.13
- @backstage/catalog-model@0.9.10
- @backstage/integration-react@0.1.19
## @backstage/plugin-techdocs-backend@0.13.0
Minor Changes
-
ca2ee182c3: BREAKING: The
cache
option is now required bycreateRouter
.Added catalog-based authorization to TechDocs backend. When permissions are enabled for Backstage (via the
permission.enabled
config) the current user must have read access to the doc's corresponding catalog entity. The backend will return a 404 if the current user doesn't have access or if the entity doesn't exist. Entities are cached to for a short time to optimize the/static/docs
request path, which can be called many times when loading a single TechDocs page.Note: If you publish your TechDocs documentation to storage in a custom way under paths that do not conform to the default
:namespace/:kind/:name
pattern, then TechDocs will not work with permissions enabled. We want understand these use cases better and provide a solution in the future, so reach out to us on Discord in the #docs-like-code channel if you would like to help out.
Patch Changes
- Updated dependencies
- @backstage/integration@0.7.2
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
- @backstage/techdocs-common@0.11.4
- @backstage/catalog-model@0.9.10
- @backstage/catalog-client@0.5.5
## @backstage/app-defaults@0.1.5
Patch Changes
- Updated dependencies
- @backstage/plugin-permission-react@0.3.0
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/core-app-api@0.5.0
## @backstage/backend-common@0.10.4
Patch Changes
-
f685e1398f: Loading of app configurations now reference the
@deprecated
construct from
JSDoc to determine if a property in-use has been deprecated. Users are notified
of deprecated keys in the format:txt The configuration key 'catalog.processors.githubOrg' of app-config.yaml is deprecated and may be removed soon. Configure a GitHub integration instead.
When the
withDeprecatedKeys
option is set totrue
in theprocess
method
ofloadConfigSchema
, the user will be notified that deprecated keys have been
identified in their app configuration.The
backend-common
andplugin-app-backend
packages have been updated to set
withDeprecatedKeys
to true so that users are notified of deprecated settings
by default. -
Updated dependencies
- @backstage/integration@0.7.2
- @backstage/config@0.1.13
- @backstage/config-loader@0.9.3
## @backstage/backend-tasks@0.1.4
Patch Changes
- Updated dependencies
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
## @backstage/backend-test-utils@0.1.14
Patch Changes
- Updated dependencies
- @backstage/cli@0.12.0
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
## @backstage/catalog-client@0.5.5
Patch Changes
- Updated dependencies
- @backstage/catalog-model@0.9.10
## @backstage/catalog-model@0.9.10
Patch Changes
-
8b5a7763d5: Added
alpha
release stage type declarations, accessible via@backstage/catalog-model/alpha
.BREAKING: The experimental entity
status
field was removed from the baseEntity
type and is now only available on theAlphaEntity
type from the alpha release stage, along with all accompanying types that were previously marked asUNSTABLE_
.For example, the following import:
ts import { UNSTABLE_EntityStatusItem } from '@backstage/catalog-model';
Becomes this:
ts import { EntityStatusItem } from '@backstage/catalog-model/alpha';
Note that exports that are only available from the alpha release stage are considered unstable and do not adhere to the semantic versioning of the package.
-
Updated dependencies
- @backstage/config@0.1.13
## @backstage/codemods@0.1.30
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/core-app-api@0.5.0
## @backstage/config@0.1.13
Patch Changes
-
f685e1398f: Loading of app configurations now reference the
@deprecated
construct from
JSDoc to determine if a property in-use has been deprecated. Users are notified
of deprecated keys in the format:txt The configuration key 'catalog.processors.githubOrg' of app-config.yaml is deprecated and may be removed soon. Configure a GitHub integration instead.
When the
withDeprecatedKeys
option is set totrue
in theprocess
method
ofloadConfigSchema
, the user will be notified that deprecated keys have been
identified in their app configuration.The
backend-common
andplugin-app-backend
packages have been updated to set
withDeprecatedKeys
to true so that users are notified of deprecated settings
by default.
## @backstage/config-loader@0.9.3
Patch Changes
-
f685e1398f: Loading of app configurations now reference the
@deprecated
construct from
JSDoc to determine if a property in-use has been deprecated. Users are notified
of deprecated keys in the format:txt The configuration key 'catalog.processors.githubOrg' of app-config.yaml is deprecated and may be removed soon. Configure a GitHub integration instead.
When the
withDeprecatedKeys
option is set totrue
in theprocess
method
ofloadConfigSchema
, the user will be notified that deprecated keys have been
identified in their app configuration.The
backend-common
andplugin-app-backend
packages have been updated to set
withDeprecatedKeys
to true so that users are notified of deprecated settings
by default. -
Updated dependencies
- @backstage/config@0.1.13
## @backstage/core-components@0.8.5
Patch Changes
-
306d879536: chore(deps): bump
react-syntax-highligher
andswagger-ui-react
-
6b05ad1265: Updated the
SignInPage
,ProxiedSignInPage
andUserIdentity
implementations to match the removals of the deprecatedIdentityApi
methods and types. -
8bb0f4bc8a: - Add
useContent
hook to have a reference to the current main content element- Sets the main content reference on
Content
component
- Sets the main content reference on
-
7ba416be78: The
Bar
component will now render aMobileSidebar
instead of the current sidebar on smaller screens. The state of theMobileSidebar
will be treated as always open.
Add MobileSidebar: A navigation component, which sticks to the bottom. If there is no content in the Sidebar, it won't be rendered. If there are
children
in theSidebar
, but noSidebarGroup
s aschildren
, it will render allchildren
into a default overlay menu, which can be displayed by clicking a menu item. IfSidebarGroup
s are provided, it will render them in the bottom navigation. Additionally, aMobileSidebarContext
, which wraps the component, will save the selected menu item.Add SidebarGroup: Groups items of the
Sidebar
together. On bigger screens, this won't have any effect at the moment. On smaller screens, it will render a given icon into theMobileSidebar
. If a route is provided, clicking theSidebarGroup
in theMobileSidebar
will route to the page. If no route is provided, it will add a provided icon to theMobileSidebar
as a menu item & will render the children into an overlay menu, which will be displayed when the menu item is clicked. -
Updated dependencies
- @backstage/core-plugin-api@0.6.0
- @backstage/config@0.1.13
## @backstage/create-app@0.4.14
Patch Changes
-
d4941024bc: Rebind external route for catalog import plugin from
scaffolderPlugin.routes.root
tocatalogImportPlugin.routes.importPage
.To make this change to an existing app, make the following change to
packages/app/src/App.tsx
diff const App = createApp({ ... bindRoutes({ bind }) { ... bind(apiDocsPlugin.externalRoutes, { - createComponent: scaffolderPlugin.routes.root, + registerApi: catalogImportPlugin.routes.importPage, }); ... }, });
-
b5402d6d72: Migrated the app template to React 17.
To apply this change to an existing app, make sure you have updated to the latest version of
@backstage/cli
, and make the following change topackages/app/package.json
:diff "history": "^5.0.0", - "react": "^16.13.1", - "react-dom": "^16.13.1", + "react": "^17.0.2", + "react-dom": "^17.0.2", "react-router": "6.0.0-beta.0",
Since we have recently moved over all
react
andreact-dom
dependencies topeerDependencies
of all packages, and included React 17 in the version range, this should be all you need to do. If you end up with duplicate React installations, first make sure that all of your plugins are up-to-date, including ones for example from@roadiehq
. If that doesn't work, you may need to fall back to adding Yarn resolutions in thepackage.json
of your project root:diff + "resolutions": { + "react": "^17.0.2", + "react-dom": "^17.0.2" + },
-
5e8d278f8e: Added an external route binding from the
org
plugin to the catalog index page.This change is needed because
@backstage/plugin-org
now has a required external route that needs to be bound for the app to start.To apply this change to an existing app, make the following change to
packages/app/src/App.tsx
:diff import { ScaffolderPage, scaffolderPlugin } from '@backstage/plugin-scaffolder'; +import { orgPlugin } from '@backstage/plugin-org'; import { SearchPage } from '@backstage/plugin-search';
And further down within the
createApp
call:diff bind(scaffolderPlugin.externalRoutes, { registerComponent: catalogImportPlugin.routes.importPage, }); + bind(orgPlugin.externalRoutes, { + catalogIndex: catalogPlugin.routes.catalogIndex, + }); },
-
fb08e2f285: Updated the configuration of the
app-backend
plugin to enable the static asset store by passing ondatabase
from the plugin environment tocreateRouter
.To apply this change to an existing app, make the following change to
packages/backend/src/plugins/app.ts
:diff export default async function createPlugin({ logger, config, + database, }: PluginEnvironment): Promise<Router> { return await createRouter({ logger, config, + database, appPackageName: 'app', }); }
-
7ba416be78: You can now add
SidebarGroup
s to the currentSidebar
. This will not affect how the current sidebar is displayed, but allows a customization on how theMobileSidebar
on smaller screens will look like. ASidebarGroup
will be displayed with the given icon in theMobileSidebar
.A
SidebarGroup
can either link to an existing page (e.g./search
or/settings
) or wrap components, which will be displayed in a full-screen overlay menu (e.g.Menu
).diff <Sidebar> <SidebarLogo /> + <SidebarGroup label="Search" icon={<SearchIcon />} to="/search"> <SidebarSearchModal /> + </SidebarGroup> <SidebarDivider /> + <SidebarGroup label="Menu" icon={<MenuIcon />}> <SidebarItem icon={HomeIcon} to="catalog" text="Home" /> <SidebarItem icon={CreateComponentIcon} to="create" text="Create..." /> <SidebarDivider /> <SidebarScrollWrapper> <SidebarItem icon={MapIcon} to="tech-radar" text="Tech Radar" /> </SidebarScrollWrapper> + </SidebarGroup> <SidebarSpace /> <SidebarDivider /> + <SidebarGroup + label="Settings" + icon={<UserSettingsSignInAvatar />} + to="/settings" + > <SidebarSettings /> + </SidebarGroup> </Sidebar>
Additionally, you can order the groups differently in the
MobileSidebar
than in the usualSidebar
simply by giving a group a priority. The groups will be displayed in descending order from left to right.```diff
<SidebarGroup
label="Settings"
icon={}
to="/settings"
+ priority={1}<SidebarSettings />
```If you decide against adding
SidebarGroup
s to yourSidebar
theMobileSidebar
will contain one default menu item, which will open a full-screen overlay menu displaying all the content of the currentSidebar
.More information on the
SidebarGroup
& theMobileSidebar
component can be found in the changeset for thecore-components
. -
08fa6a604a: The app template has been updated to add an explicit dependency on
typescript
in the rootpackage.json
. This is because it was removed as a dependency of@backstage/cli
in order to decouple the TypeScript versioning in Backstage projects.To apply this change in an existing app, add a
typescript
dependency to yourpackage.json
in the project root:json "dependencies": { ... "typescript": "~4.5.4", }
We recommend using a
~
version range since TypeScript releases do not adhere to semver.It may be the case that you end up with errors if you upgrade the TypeScript version. This is because there was a change to TypeScript not long ago that defaulted the type of errors caught in
catch
blocks tounknown
. You can work around this by adding"useUnknownInCatchVariables": false
to the"compilerOptions"
in yourtsconfig.json
:json "compilerOptions": { ... "useUnknownInCatchVariables": false }
Another option is to use the utilities from
@backstage/errors
to assert the type of errors caught incatch
blocks:```ts
import { assertError, isError } from '@backstage/errors';try {
...
} catch (error) {
assertError(error);
...
// OR
if (isError(error)) {
...
}
}
```Yet another issue you might run into when upgrading TypeScript is incompatibilities in the types from
react-use
. The error you would run into looks something like this:```plain
node_modules/react-use/lib/usePermission.d.ts:1:54 - error TS2304: Cannot find name 'DevicePermissionDescriptor'.1 declare type PermissionDesc = PermissionDescriptor | DevicePermissionDescriptor | MidiPermissionDescriptor | PushPermissionDescriptor;
```If you encounter this error, the simplest fix is to replace full imports of
react-use
with more specific ones. For example, the following:ts import { useAsync } from 'react-use';
Would be converted into this:
ts import useAsync from 'react-use/lib/useAsync';
## @backstage/dev-utils@0.2.18
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/test-utils@0.2.3
- @backstage/core-app-api@0.5.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
- @backstage/app-defaults@0.1.5
- @backstage/integration-react@0.1.19
## @backstage/integration@0.7.2
Patch Changes
- f45e99e5da: Do not return a token rather than fail where the owner is not in the allowed installation owners
for a GitHub app. This allows anonymous access to public files in the organisation. - Updated dependencies
- @backstage/config@0.1.13
## @backstage/integration-react@0.1.19
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/integration@0.7.2
- @backstage/core-plugin-api@0.6.0
- @backstage/config@0.1.13
## @backstage/techdocs-common@0.11.4
Patch Changes
- 47277c0d8c: Updated the default version of the
@spotify/techdocs
container used whentechdocs.generator.runIn
isdocker
tov0.3.6
, which includes an update tomkdocs-monorepo-plugin
that allows glob-based wildcard includes. - Updated dependencies
- @backstage/integration@0.7.2
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
- @backstage/catalog-model@0.9.10
## @backstage/test-utils@0.2.3
Patch Changes
- c54c0d9d10: Add MockPermissionApi
- 6bf7826258: Added a
MockFetchApi
- Updated dependencies
- @backstage/plugin-permission-react@0.3.0
- @backstage/plugin-permission-common@0.4.0
- @backstage/core-plugin-api@0.6.0
- @backstage/core-app-api@0.5.0
- @backstage/config@0.1.13
## @backstage/plugin-airbrake@0.1.1
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
## @backstage/plugin-allure@0.1.12
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
## @backstage/plugin-analytics-module-ga@0.1.7
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/config@0.1.13
## @backstage/plugin-apache-airflow@0.1.4
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
## @backstage/plugin-app-backend@0.3.22
Patch Changes
-
f685e1398f: Loading of app configurations now reference the
@deprecated
construct from
JSDoc to determine if a property in-use has been deprecated. Users are notified
of deprecated keys in the format:txt The configuration key 'catalog.processors.githubOrg' of app-config.yaml is deprecated and may be removed soon. Configure a GitHub integration instead.
When the
withDeprecatedKeys
option is set totrue
in theprocess
method
ofloadConfigSchema
, the user will be notified that deprecated keys have been
identified in their app configuration.The
backend-common
andplugin-app-backend
packages have been updated to set
withDeprecatedKeys
to true so that users are notified of deprecated settings
by default. -
eb00e8af14: Updated the cache control headers for static assets to instruct clients to cache them for 14 days.
-
eb00e8af14: Added a new asset cache that stores static assets from previous deployments in the database. This fixes an issue where users have old browser tabs open and try to lazy-load static assets that no longer exist in the latest version.
The asset cache is enabled by passing the
database
option tocreateRouter
. -
Updated dependencies
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
- @backstage/config-loader@0.9.3
## @backstage/plugin-azure-devops@0.1.11
Patch Changes
- 51fbedc445: Migrated usage of deprecated
IdentityApi
methods. - Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
## @backstage/plugin-azure-devops-backend@0.3.1
Patch Changes
- Updated dependencies
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
## @backstage/plugin-badges@0.2.20
Patch Changes
- 51fbedc445: Migrated usage of deprecated
IdentityApi
methods. - Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
## @backstage/plugin-badges-backend@0.1.16
Patch Changes
- Updated dependencies
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
- @backstage/catalog-model@0.9.10
- @backstage/catalog-client@0.5.5
## @backstage/plugin-bazaar@0.1.10
Patch Changes
- 51fbedc445: Migrated usage of deprecated
IdentityApi
methods. - 8a6950b822: Switched out internal usage of the
catalogRouteRef
from@backstage/plugin-catalog-react
. - Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/cli@0.12.0
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog@0.7.9
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
- @backstage/catalog-client@0.5.5
## @backstage/plugin-bazaar-backend@0.1.7
Patch Changes
- Updated dependencies
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
- @backstage/backend-test-utils@0.1.14
## @backstage/plugin-bitrise@0.1.23
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
## @backstage/plugin-catalog@0.7.9
Patch Changes
-
7ba416be78: @backstage/plugin-user-settings: Hide Header on mobile screens to improve the UI & give more space to the content. Furthermore, the "Pin Sidebar" setting is removed on mobile screens, as the mobile sidebar is always pinned to the bottom.
Other plugins: Smaller style adjustments across plugins to improve the UI on mobile devices.
-
51fbedc445: Migrated usage of deprecated
IdentityApi
methods. -
c54c0d9d10: Add permission check to unregister entity button
If the permissions framework is disabled, this change should have no effect. If the permission framework is enabled, the unregister entity button will be disabled for those who do not have access to the
catalogEntityDeletePermission
as specified in your permission policy. -
61ded2a863: Export the
RelatedEntitiesCard
component which is helpful in case you want to model custom relations between entities -
2b27e49eb1: Internal update to match status field changes in
@backstage/catalog-model
. -
Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/plugin-catalog-common@0.1.1
- @backstage/catalog-model@0.9.10
- @backstage/catalog-client@0.5.5
- @backstage/integration-react@0.1.19
## @backstage/plugin-catalog-backend-module-ldap@0.3.10
Patch Changes
- 3368dc6b62: Make sure to clone objects sent to
ldapjs
since the library modifies them - Updated dependencies
- @backstage/plugin-catalog-backend@0.21.0
- @backstage/config@0.1.13
- @backstage/catalog-model@0.9.10
## @backstage/plugin-catalog-backend-module-msgraph@0.2.13
Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-backend@0.21.0
- @backstage/config@0.1.13
- @backstage/catalog-model@0.9.10
## @backstage/plugin-catalog-common@0.1.1
Patch Changes
- 7e38acaa9e: Remove Catalog Location resource type
- Updated dependencies
- @backstage/plugin-permission-common@0.4.0
## @backstage/plugin-catalog-graph@0.2.7
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
- @backstage/catalog-client@0.5.5
## @backstage/plugin-catalog-graphql@0.3.1
Patch Changes
- Updated dependencies
- @backstage/config@0.1.13
- @backstage/catalog-model@0.9.10
## @backstage/plugin-catalog-import@0.7.10
Patch Changes
- 51fbedc445: Migrated usage of deprecated
IdentityApi
methods. - Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/integration@0.7.2
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
- @backstage/catalog-client@0.5.5
- @backstage/integration-react@0.1.19
## @backstage/plugin-catalog-react@0.6.12
Patch Changes
-
3d87019269: The
entityRouteRef
is now a well-known route that should be imported directly from@backstage/plugin-catalog-react
. It is guaranteed to be globally unique across duplicate installations of the@backstage/plugin-catalog-react
, starting at this version.Deprecated
entityRoute
in favor ofentityRouteRef
.Deprecated
rootRoute
andcatalogRouteRef
. If you want to refer to the catalog index page from a public plugin you now need to use anExternalRouteRef
instead. For private plugins it is possible to take the shortcut of referring directly tocatalogPlugin.routes.indexPage
instead. -
2916a83b9c: Deprecated
loadIdentityOwnerRefs
, since they can now be retrieved asownershipEntityRefs
fromidentityApi.getBackstageIdentity()
instead. -
51fbedc445: Migrated usage of deprecated
IdentityApi
methods. -
c54c0d9d10: Add useEntityPermission hook
-
Updated dependencies
- @backstage/plugin-permission-react@0.3.0
- @backstage/core-components@0.8.5
- @backstage/integration@0.7.2
- @backstage/plugin-permission-common@0.4.0
- @backstage/core-plugin-api@0.6.0
- @backstage/catalog-model@0.9.10
- @backstage/catalog-client@0.5.5
## @backstage/plugin-circleci@0.2.35
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
## @backstage/plugin-cloudbuild@0.2.33
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
## @backstage/plugin-code-coverage@0.1.23
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/config@0.1.13
- @backstage/catalog-model@0.9.10
## @backstage/plugin-code-coverage-backend@0.1.20
Patch Changes
- Updated dependencies
- @backstage/integration@0.7.2
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
- @backstage/catalog-model@0.9.10
- @backstage/catalog-client@0.5.5
## @backstage/plugin-config-schema@0.1.19
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/config@0.1.13
## @backstage/plugin-cost-insights@0.11.18
Patch Changes
-
7ba416be78: @backstage/plugin-user-settings: Hide Header on mobile screens to improve the UI & give more space to the content. Furthermore, the "Pin Sidebar" setting is removed on mobile screens, as the mobile sidebar is always pinned to the bottom.
Other plugins: Smaller style adjustments across plugins to improve the UI on mobile devices.
-
51fbedc445: Migrated usage of deprecated
IdentityApi
methods. -
Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/config@0.1.13
- @backstage/catalog-model@0.9.10
## @backstage/plugin-explore@0.3.26
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
- @backstage/plugin-explore-react@0.0.11
## @backstage/plugin-explore-react@0.0.11
Patch Changes
- Updated dependencies
- @backstage/core-plugin-api@0.6.0
## @backstage/plugin-firehydrant@0.1.13
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
## @backstage/plugin-fossa@0.2.28
Patch Changes
- 51fbedc445: Migrated usage of deprecated
IdentityApi
methods. - Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
## @backstage/plugin-gcp-projects@0.3.14
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
## @backstage/plugin-git-release-manager@0.3.9
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/integration@0.7.2
- @backstage/core-plugin-api@0.6.0
## @backstage/plugin-github-actions@0.4.32
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/integration@0.7.2
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
## @backstage/plugin-github-deployments@0.1.27
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/integration@0.7.2
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
- @backstage/integration-react@0.1.19
## @backstage/plugin-gitops-profiles@0.3.14
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
## @backstage/plugin-gocd@0.1.2
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
## @backstage/plugin-graphiql@0.2.28
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
## @backstage/plugin-graphql-backend@0.1.12
Patch Changes
- Updated dependencies
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
- @backstage/plugin-catalog-graphql@0.3.1
## @backstage/plugin-home@0.4.11
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/plugin-search@0.5.6
- @backstage/core-plugin-api@0.6.0
## @backstage/plugin-ilert@0.1.22
Patch Changes
- 51fbedc445: Migrated usage of deprecated
IdentityApi
methods. - Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
## @backstage/plugin-jenkins@0.5.18
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
## @backstage/plugin-jenkins-backend@0.1.11
Patch Changes
- Updated dependencies
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
- @backstage/catalog-model@0.9.10
- @backstage/catalog-client@0.5.5
## @backstage/plugin-kafka@0.2.26
Patch Changes
- 51fbedc445: Migrated usage of deprecated
IdentityApi
methods. - Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
## @backstage/plugin-kafka-backend@0.2.15
Patch Changes
- Updated dependencies
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
- @backstage/catalog-model@0.9.10
## @backstage/plugin-kubernetes@0.5.5
Patch Changes
- edbd626d0a: add a new auth provider to support use GOOGLE_APPLICATION_CREDENTIALS
- 51fbedc445: Migrated usage of deprecated
IdentityApi
methods. - Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/config@0.1.13
- @backstage/catalog-model@0.9.10
- @backstage/plugin-kubernetes-common@0.2.2
## @backstage/plugin-kubernetes-backend@0.4.4
Patch Changes
- edbd626d0a: add a new auth provider to support use GOOGLE_APPLICATION_CREDENTIALS
- Updated dependencies
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
- @backstage/catalog-model@0.9.10
- @backstage/plugin-kubernetes-common@0.2.2
## @backstage/plugin-kubernetes-common@0.2.2
Patch Changes
- Updated dependencies
- @backstage/catalog-model@0.9.10
## @backstage/plugin-lighthouse@0.2.35
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/config@0.1.13
- @backstage/catalog-model@0.9.10
## @backstage/plugin-newrelic@0.3.14
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
## @backstage/plugin-newrelic-dashboard@0.1.4
Patch Changes
- afe1bd78d2: Newrelic Dashboards will render single page dashboards, meaning dashboards which do not have a parent GUID
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
## @backstage/plugin-pagerduty@0.3.23
Patch Changes
- 51fbedc445: Migrated usage of deprecated
IdentityApi
methods. - 013301e07b: Remove redundant
node-fetch
dependency - Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
## @backstage/plugin-proxy-backend@0.2.16
Patch Changes
- Updated dependencies
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
## @backstage/plugin-rollbar@0.3.24
Patch Changes
- 51fbedc445: Migrated usage of deprecated
IdentityApi
methods. - Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
## @backstage/plugin-rollbar-backend@0.1.19
Patch Changes
- Updated dependencies
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
## @backstage/plugin-scaffolder-backend@0.15.21
Patch Changes
-
b05d303226: Added the ability to support supplying secrets when creating tasks in the
scaffolder-backend
.deprecation: Deprecated
ctx.token
from actions in thescaffolder-backend
. Please move to usingctx.secrets.backstageToken
instead.deprecation: Deprecated
task.token
inTaskSpec
in thescaffolder-backend
. Please move to usingtask.secrets.backstageToken
instead. -
Updated dependencies
- @backstage/plugin-catalog-backend@0.21.0
- @backstage/integration@0.7.2
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
- @backstage/catalog-model@0.9.10
- @backstage/catalog-client@0.5.5
- @backstage/plugin-scaffolder-backend-module-cookiecutter@0.1.9
- @backstage/plugin-scaffolder-common@0.1.3
## @backstage/plugin-scaffolder-backend-module-cookiecutter@0.1.9
Patch Changes
- Updated dependencies
- @backstage/integration@0.7.2
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
- @backstage/plugin-scaffolder-backend@0.15.21
## @backstage/plugin-scaffolder-backend-module-rails@0.2.4
Patch Changes
- Updated dependencies
- @backstage/integration@0.7.2
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
- @backstage/plugin-scaffolder-backend@0.15.21
## @backstage/plugin-scaffolder-backend-module-yeoman@0.1.3
Patch Changes
- Updated dependencies
- @backstage/config@0.1.13
- @backstage/plugin-scaffolder-backend@0.15.21
## @backstage/plugin-scaffolder-common@0.1.3
Patch Changes
- Updated dependencies
- @backstage/catalog-model@0.9.10
## @backstage/plugin-search@0.5.6
Patch Changes
- 1523926507: Removes the focus from the sidebar and focus the main content after select one search result or navigate to the search result list
- 51fbedc445: Migrated usage of deprecated
IdentityApi
methods. - Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/config@0.1.13
- @backstage/catalog-model@0.9.10
## @backstage/plugin-search-backend@0.3.1
Patch Changes
- cd6854046e: Validate query string in search endpoint
- Updated dependencies
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
## @backstage/plugin-search-backend-module-elasticsearch@0.0.8
Patch Changes
- Updated dependencies
- @backstage/config@0.1.13
## @backstage/plugin-search-backend-module-pg@0.2.4
Patch Changes
- Updated dependencies
- @backstage/backend-common@0.10.4
## @backstage/plugin-sentry@0.3.34
Patch Changes
- 51fbedc445: Migrated usage of deprecated
IdentityApi
methods. - Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
## @backstage/plugin-shortcuts@0.1.20
Patch Changes
-
7ba416be78: @backstage/plugin-user-settings: Hide Header on mobile screens to improve the UI & give more space to the content. Furthermore, the "Pin Sidebar" setting is removed on mobile screens, as the mobile sidebar is always pinned to the bottom.
Other plugins: Smaller style adjustments across plugins to improve the UI on mobile devices.
-
c52ae0a73b: Allow shortcut side bar item icon to be configurable
-
Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
## @backstage/plugin-sonarqube@0.2.13
Patch Changes
- 51fbedc445: Migrated usage of deprecated
IdentityApi
methods. - Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
## @backstage/plugin-splunk-on-call@0.3.20
Patch Changes
- 013301e07b: Remove redundant
node-fetch
dependency - Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
## @backstage/plugin-tech-insights@0.1.6
Patch Changes
- 51fbedc445: Migrated usage of deprecated
IdentityApi
methods. - Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
## @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.6
Patch Changes
- Updated dependencies
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
- @backstage/plugin-tech-insights-node@0.2.0
## @backstage/plugin-tech-radar@0.5.3
Patch Changes
- 021bba18c4: Update readme
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
## @backstage/plugin-todo@0.1.20
Patch Changes
- 51fbedc445: Migrated usage of deprecated
IdentityApi
methods. - 751e0ceb2a: Apply fix from the 0.1.19 patch release
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/catalog-model@0.9.10
## @backstage/plugin-todo-backend@0.1.19
Patch Changes
- Updated dependencies
- @backstage/integration@0.7.2
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
- @backstage/catalog-model@0.9.10
- @backstage/catalog-client@0.5.5
## @backstage/plugin-user-settings@0.3.17
Patch Changes
-
7ba416be78: @backstage/plugin-user-settings: Hide Header on mobile screens to improve the UI & give more space to the content. Furthermore, the "Pin Sidebar" setting is removed on mobile screens, as the mobile sidebar is always pinned to the bottom.
Other plugins: Smaller style adjustments across plugins to improve the UI on mobile devices.
-
Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
## @backstage/plugin-xcmetrics@0.2.16
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/core-plugin-api@0.6.0
## example-app@0.2.61
Patch Changes
- Updated dependencies
- @backstage/plugin-tech-radar@0.5.3
- @backstage/core-components@0.8.5
- @backstage/plugin-api-docs@0.7.0
- @backstage/plugin-kubernetes@0.5.5
- @backstage/cli@0.12.0
- @backstage/plugin-search@0.5.6
- @backstage/core-plugin-api@0.6.0
- @backstage/plugin-org@0.4.0
- @backstage/plugin-catalog@0.7.9
- @backstage/plugin-cost-insights@0.11.18
- @backstage/plugin-shortcuts@0.1.20
- @backstage/plugin-user-settings@0.3.17
- @backstage/core-app-api@0.5.0
- @backstage/plugin-catalog-react@0.6.12
- @backstage/plugin-scaffolder@0.12.0
- @backstage/plugin-azure-devops@0.1.11
- @backstage/plugin-badges@0.2.20
- @backstage/plugin-catalog-import@0.7.10
- @backstage/plugin-kafka@0.2.26
- @backstage/plugin-pagerduty@0.3.23
- @backstage/plugin-rollbar@0.3.24
- @backstage/plugin-sentry@0.3.34
- @backstage/plugin-tech-insights@0.1.6
- @backstage/plugin-techdocs@0.13.0
- @backstage/plugin-todo@0.1.20
- @backstage/plugin-newrelic-dashboard@0.1.4
- @backstage/catalog-model@0.9.10
- @backstage/app-defaults@0.1.5
- @backstage/integration-react@0.1.19
- @backstage/plugin-airbrake@0.1.1
- @backstage/plugin-apache-airflow@0.1.4
- @backstage/plugin-catalog-graph@0.2.7
- @backstage/plugin-circleci@0.2.35
- @backstage/plugin-cloudbuild@0.2.33
- @backstage/plugin-code-coverage@0.1.23
- @backstage/plugin-explore@0.3.26
- @backstage/plugin-gcp-projects@0.3.14
- @backstage/plugin-github-actions@0.4.32
- @backstage/plugin-gocd@0.1.2
- @backstage/plugin-graphiql@0.2.28
- @backstage/plugin-home@0.4.11
- @backstage/plugin-jenkins@0.5.18
- @backstage/plugin-lighthouse@0.2.35
- @backstage/plugin-newrelic@0.3.14
## example-backend@0.2.61
Patch Changes
- Updated dependencies
- @backstage/plugin-auth-backend@0.7.0
- @backstage/plugin-permission-backend@0.4.0
- @backstage/plugin-catalog-backend@0.21.0
- @backstage/plugin-kubernetes-backend@0.4.4
- @backstage/integration@0.7.2
- @backstage/plugin-permission-common@0.4.0
- @backstage/plugin-search-backend@0.3.1
- @backstage/plugin-techdocs-backend@0.13.0
- @backstage/backend-common@0.10.4
- @backstage/config@0.1.13
- @backstage/plugin-app-backend@0.3.22
- @backstage/plugin-permission-node@0.4.0
- @backstage/plugin-scaffolder-backend@0.15.21
- @backstage/plugin-tech-insights-backend@0.2.0
- @backstage/plugin-tech-insights-node@0.2.0
- @backstage/catalog-model@0.9.10
- example-app@0.2.61
- @backstage/backend-tasks@0.1.4
- @backstage/catalog-client@0.5.5
- @backstage/plugin-azure-devops-backend@0.3.1
- @backstage/plugin-badges-backend@0.1.16
- @backstage/plugin-code-coverage-backend@0.1.20
- @backstage/plugin-graphql-backend@0.1.12
- @backstage/plugin-jenkins-backend@0.1.11
- @backstage/plugin-kafka-backend@0.2.15
- @backstage/plugin-proxy-backend@0.2.16
- @backstage/plugin-rollbar-backend@0.1.19
- @backstage/plugin-scaffolder-backend-module-rails@0.2.4
- @backstage/plugin-search-backend-module-elasticsearch@0.0.8
- @backstage/plugin-search-backend-module-pg@0.2.4
- @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.6
- @backstage/plugin-todo-backend@0.1.19
## embedded-techdocs-app@0.2.60
Patch Changes
- Updated dependencies
- @backstage/core-components@0.8.5
- @backstage/cli@0.12.0
- @backstage/core-plugin-api@0.6.0
- @backstage/test-utils@0.2.3
- @backstage/plugin-catalog@0.7.9
- @backstage/core-app-api@0.5.0
- @backstage/config@0.1.13
- @backstage/plugin-techdocs@0.13.0
- @backstage/catalog-model@0.9.10
- @backstage/app-defaults@0.1.5
- @backstage/integration-react@0.1.19
## storybook@0.2.2
Patch Changes
- Updated dependencies
- @backstage/core-plugin-api@0.6.0
- @backstage/test-utils@0.2.3
- @backstage/core-app-api@0.5.0
Security
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!