Releases: backstage/backstage
v0.20.0
@backstage/plugin-catalog-backend@0.7.0
Minor Changes
-
676ede6: DELETE on an entity now just deletes the entity, rather than removing all related entities and the location
-
f1b2c1d: Add
readonly
mode to catalog backendThis change adds a
catalog.readonly
field inapp-config.yaml
that can be used to configure the catalog in readonly mode which effectively disables the possibility of adding new components to the catalog after startup.When in
readonly
mode only locations configured incatalog.locations
are loaded and served.
By defaultreadonly
is disabled which represents the current functionality where locations can be added at run-time.This change requires the config API in the router which requires a change to
createRouter
.return await createRouter({ entitiesCatalog, locationsCatalog, higherOrderOperation, locationAnalyzer, logger: env.logger, + config: env.config, });
Patch Changes
- 29e1789: Make sure that Group
spec.members
is taken into account when filling out an org hierarchy - 8488a1a: Added support for the "members" field of the Group entity, allowing specification of
direct members from the Group side of the relationship. Added support to the
BuiltinKindsEntityProcessor
to generate the appropriate relationships. - 6b2d54f: Fix mapping between users and groups for Microsoft Active Directories when using the LdapOrgProcessor
- 4459051: Add Bitbucket Server discovery processor.
- Updated dependencies [8488a1a]
- Updated dependencies [37e3a69]
- @backstage/catalog-model@0.7.5
- @backstage/backend-common@0.6.1
@backstage/backend-common@0.6.1
Patch Changes
- 37e3a69: Export
ReadTreeResponseFile
andSearchResponseFile
.
@backstage/catalog-client@0.3.9
Patch Changes
- 676ede6: Added the
getOriginLocationByEntity
andremoveLocationById
methods to the catalog client - b196a45: Avoid using Headers as it is not supported in the backend
- Updated dependencies [8488a1a]
- @backstage/catalog-model@0.7.5
@backstage/catalog-model@0.7.5
Patch Changes
- 8488a1a: Added support for the "members" field of the Group entity, allowing specification of
direct members from the Group side of the relationship. Added support to the
BuiltinKindsEntityProcessor
to generate the appropriate relationships.
@backstage/create-app@0.3.16
Patch Changes
- Updated dependencies [676ede6]
- Updated dependencies [2ab6f3f]
- Updated dependencies [0d55dcc]
- Updated dependencies [ee55292]
- Updated dependencies [2c29611]
- Updated dependencies [29e1789]
- Updated dependencies [aa58c01]
- Updated dependencies [60bddef]
- Updated dependencies [bebd1c4]
- Updated dependencies [f1b2c1d]
- Updated dependencies [676ede6]
- Updated dependencies [9f48b54]
- Updated dependencies [8bee6a1]
- Updated dependencies [b196a45]
- Updated dependencies [8488a1a]
- Updated dependencies [37e3a69]
- Updated dependencies [6b2d54f]
- Updated dependencies [4459051]
- Updated dependencies [dd7fa21]
- Updated dependencies [164cc4c]
- Updated dependencies [676ede6]
- @backstage/plugin-catalog-backend@0.7.0
- @backstage/plugin-scaffolder@0.8.1
- @backstage/plugin-scaffolder-backend@0.9.4
- @backstage/plugin-auth-backend@0.3.7
- @backstage/plugin-api-docs@0.4.10
- @backstage/plugin-github-actions@0.4.3
- @backstage/plugin-catalog@0.5.2
- @backstage/plugin-techdocs@0.7.1
- @backstage/catalog-client@0.3.9
- @backstage/plugin-catalog-import@0.5.1
- @backstage/plugin-explore@0.3.3
- @backstage/catalog-model@0.7.5
- @backstage/backend-common@0.6.1
- @backstage/plugin-user-settings@0.2.9
@backstage/plugin-api-docs@0.4.10
Patch Changes
- ee55292: Include the GraphiQL stylesheet
- 60bddef: Export
apiDocsConfigRef
fromapi-docs
plugin to allow extending it with
custom API rendering. - 9f48b54: Make it possible to specify entity type to
useEntity
when it's known - Updated dependencies [9f48b54]
- Updated dependencies [8488a1a]
- @backstage/plugin-catalog-react@0.1.4
- @backstage/catalog-model@0.7.5
@backstage/plugin-auth-backend@0.3.7
Patch Changes
- 0d55dcc: Fixes timezone bug for auth signing keys
- 676ede6: Added the
getOriginLocationByEntity
andremoveLocationById
methods to the catalog client - Updated dependencies [676ede6]
- Updated dependencies [b196a45]
- Updated dependencies [8488a1a]
- Updated dependencies [37e3a69]
- @backstage/catalog-client@0.3.9
- @backstage/catalog-model@0.7.5
- @backstage/backend-common@0.6.1
@backstage/plugin-catalog@0.5.2
Patch Changes
-
aa58c01: Adds a new
EntitySystemDiagramCard
component to visually map all elements in a system.To use this new component with the legacy composability pattern, you can add a new tab with the component on to the System Entity Page in your
packages/app/src/components/catalog/EntityPage.tsx
file.For example,
const SystemEntityPage = ({ entity }: { entity: Entity }) => ( <EntityPageLayoutWrapper> <EntityPageLayout.Content path="/*" title="Overview" element={<SystemOverviewContent entity={entity} />} /> + <EntityPageLayout.Content + path="/diagram/*" + title="Diagram" + element={<EntitySystemDiagramCard />} + /> </EntityPageLayoutWrapper> );
-
676ede6: Added the
getOriginLocationByEntity
andremoveLocationById
methods to the catalog client -
8bee6a1: unify how the owner and lifecycle header labels are made
-
676ede6: Improve the unregister dialog, to support both unregistration and plain deletion
-
Updated dependencies [676ede6]
-
Updated dependencies [9f48b54]
-
Updated dependencies [b196a45]
-
Updated dependencies [8488a1a]
- @backstage/catalog-client@0.3.9
- @backstage/plugin-catalog-react@0.1.4
- @backstage/catalog-model@0.7.5
@backstage/plugin-catalog-import@0.5.1
Patch Changes
- 676ede6: Added the
getOriginLocationByEntity
andremoveLocationById
methods to the catalog client - Updated dependencies [676ede6]
- Updated dependencies [9f48b54]
- Updated dependencies [b196a45]
- Updated dependencies [8488a1a]
- @backstage/catalog-client@0.3.9
- @backstage/plugin-catalog-react@0.1.4
- @backstage/catalog-model@0.7.5
@backstage/plugin-catalog-react@0.1.4
Patch Changes
- 9f48b54: Make it possible to specify entity type to
useEntity
when it's known - Updated dependencies [676ede6]
- Updated dependencies [b196a45]
- Updated dependencies [8488a1a]
- @backstage/catalog-client@0.3.9
- @backstage/catalog-model@0.7.5
@backstage/plugin-explore@0.3.3
Patch Changes
- 676ede6: Added the
getOriginLocationByEntity
andremoveLocationById
methods to the catalog client - Updated dependencies [9f48b54]
- Updated dependencies [8488a1a]
- @backstage/plugin-catalog-react@0.1.4
- @backstage/catalog-model@0.7.5
@backstage/plugin-github-actions@0.4.3
Patch Changes
- 2c29611: Fixed GitHub workflows not appearing when the originating repository for a workflow run was deleted.
- Updated dependencies [9f48b54]
- Updated dependencies [8488a1a]
- @backstage/plugin-catalog-react@0.1.4
- @backstage/catalog-model@0.7.5
@backstage/plugin-kafka-backend@0.2.3
Patch Changes
- f03a52f: Add support for SASL authentication & SSL boolean config.
- Updated dependencies [8488a1a]
- Updated dependencies [37e3a69]
- @backstage/catalog-model@0.7.5
- @backstage/backend-common@0.6.1
@backstage/plugin-kubernetes-backend@0.3.3
Patch Changes
- 1ac6a52: updated entity name to be set through annotations or fallback
- 60e463c: Load credentials properly for AWS Kubernetes Auth Translator
- Updated dependencies [8488a1a]
- Updated dependencies [37e3a69]
- @backstage/catalog-model@0.7.5
- @backstage/backend-common@0.6.1
@backstage/plugin-org@0.3.11
Patch Changes
- 7c6e146: Correctly route to namespaced group members
- 87171d5: Correctly include group members via matching namespace relation
- baa3980: Fixed MembersList showing members from a previous group when navigating to a new group
- 9f48b54: Some cleanup in how types and components are used; leverage
EntityRefLinks
- Updated dependencies [9f48b54]
- Updated dependencies [8488a1a]
- @backstage/plugin-catalog-react@0.1.4
- @backstage/catalog-model@0.7.5
@backstage/plugin-register-component@0.2.13
Patch Changes
- 676ede6: Added the
getOriginLocationByEntity
andremoveLocationById
methods to the catalog client - Updated dependencies [9f48b54]
- Updated dependencies [8488a1a]
- @backstage/plugin-catalog-react@0.1.4
- @backstage/catalog-model@0.7.5
@backstage/plugin-scaffolder@0.8.1
Patch Changes
- 2ab6f3f: Add OwnerPicker component to scaffolder for specifying a component's owner from users and groups in the catalog.
- 676ede6: Added the
getOriginLocationByEntity
andremoveLocationById
methods to the catalog client - Updated dependencies [676ede6]
- Updated dependencies [9f48b54]
- Updated dependencies [b196a45]
- Updated depende...
v0.19.0
@backstage/plugin-techdocs@0.7.0
Minor Changes
- aaeb7ec: When newer documentation available but not built, show older documentation while async building newer
TechDocs backend: /sync endpoint added to support above, returns immediate success if docs don't need a build, returns delayed success after build if needed
TechDocs backend: /docs endpoint removed as frontend can directly request to techdocs.storageUrl or /static/docs - 3139f83: Add sticky sidebars and footer navigation links to TechDocs Reader
Patch Changes
- ea9d977: Introduce workaround for admonition icons of MkDocs.
- 2aab543: TechDocs: links at sidebar and bottom reset scroll position to top
- Updated dependencies [01ccef4]
- Updated dependencies [fcc3ada]
- Updated dependencies [4618774]
- Updated dependencies [df59930]
- @backstage/plugin-catalog-react@0.1.3
- @backstage/core@0.7.3
- @backstage/theme@0.2.5
@backstage/plugin-techdocs-backend@0.7.0
Minor Changes
- aaeb7ec: When newer documentation available but not built, show older documentation while async building newer
TechDocs backend: /sync endpoint added to support above, returns immediate success if docs don't need a build, returns delayed success after build if needed
TechDocs backend: /docs endpoint removed as frontend can directly request to techdocs.storageUrl or /static/docs
@backstage/cli@0.6.6
Patch Changes
- 598f5bc: Lock down the version of webpack-dev-server as it's causing some nasty bugs someplace
- 4d24872: Make the backend plugin template use the correct latest version of
express-promise-router
@backstage/core@0.7.3
Patch Changes
- fcc3ada: Reuse ResponseErrorList for non ResponseErrors
- 4618774: Changed color for Add Item, Support & Choose buttons with low contrast/readability in dark mode
- df59930: Fix PropTypes error with OverflowTooltip component
- Updated dependencies [76deafd]
- Updated dependencies [01ccef4]
- Updated dependencies [4618774]
- @backstage/core-api@0.2.15
- @backstage/theme@0.2.5
@backstage/core-api@0.2.15
Patch Changes
- 76deafd: Changed the signature of
createRoutableExtension
to include null - 01ccef4: Introduce
useRouteRefParams
tocore-api
to retrieve typed route parameters. - Updated dependencies [4618774]
- @backstage/theme@0.2.5
@backstage/create-app@0.3.15
Patch Changes
-
2c525f8: (fix) Adds locationAnalyzer to default-app template
The locationAnalyzer was missing from the default-app template.
This resulted in 404 errors in newly bootstrapped backstage applications,
when adding components without configuration.To fix this in an existing backstage application, the locationAnalyzer needs
to be carried from the builder to the router in the
packages/backend/src/plugins/catalog.ts
file.const builder = new CatalogBuilder(env); const { entitiesCatalog, locationsCatalog, higherOrderOperation, + locationAnalyzer, } = await builder.build(); // ... return await createRouter({ entitiesCatalog, locationsCatalog, higherOrderOperation, + locationAnalyzer, logger: env.logger, });
-
f88fe9d: Adds plugin-org and more capability to the default EntityPage to display Users, Groups and Systems.
To update an existing application, add the org plugin:
cd packages/app yarn add @backstage/plugin-org
Then add the example systems locations to your
app-config.yaml
:catalog: rules: - - allow: [Component, API, Group, User, Template, Location] + - allow: [Component, System, API, Group, User, Template, Location] locations: # Backstage example components - type: url target: https://github.com/backstage/backstage/blob/master/packages/catalog-model/examples/all-components.yaml + # Backstage example systems + - type: url + target: https://github.com/backstage/backstage/blob/master/packages/catalog-model/examples/all-systems.yaml + # Backstage example APIs
Additionally, the default app sidebar was updated to parity with the Backstage
repo. You can see these changes in the template
App.tsx
referencing a newRoot
component.Finally, compare your
packages/app/src/components/catalog/EntityPage.tsx
to
EntityPage
from the@backstage/create-app
default template to pick up additional
changes there. -
4d24872: Update the create-app template to use the correct latest version of
express-promise-router
.To apply the same change in your own repository, update all of your repo's dependencies on
express-promise-router
to"^4.1.0"
. -
Updated dependencies [9f2e51e]
-
Updated dependencies [01ccef4]
-
Updated dependencies [4d24872]
-
Updated dependencies [aaeb7ec]
-
Updated dependencies [449776c]
-
Updated dependencies [91e87c0]
-
Updated dependencies [ea9d977]
-
Updated dependencies [fcc3ada]
-
Updated dependencies [687f066]
-
Updated dependencies [2aab543]
-
Updated dependencies [113d3d5]
-
Updated dependencies [f47e114]
-
Updated dependencies [4618774]
-
Updated dependencies [3139f83]
-
Updated dependencies [598f5bc]
-
Updated dependencies [c862b3f]
-
Updated dependencies [4d24872]
-
Updated dependencies [df59930]
- @backstage/plugin-scaffolder-backend@0.9.3
- @backstage/plugin-github-actions@0.4.2
- @backstage/plugin-catalog@0.5.1
- @backstage/plugin-techdocs@0.7.0
- @backstage/plugin-techdocs-backend@0.7.0
- @backstage/plugin-auth-backend@0.3.6
- @backstage/core@0.7.3
- @backstage/plugin-catalog-backend@0.6.7
- @backstage/theme@0.2.5
- @backstage/cli@0.6.6
@backstage/theme@0.2.5
Patch Changes
- 4618774: Changed color for Add Item, Support & Choose buttons with low contrast/readability in dark mode
@backstage/plugin-auth-backend@0.3.6
Patch Changes
-
449776c: The
auth
config types now properly accept any declared auth environment. Previously onlydevelopment
was accepted.The
audience
configuration is no longer required for GitLab auth; this will default tohttps://gitlab.com
@backstage/plugin-badges@0.1.2
Patch Changes
- 687f066: Update badge dialog formatting
- 4d24872: Get the current entity using
useEntity
from@backstage/plugin-catalog-react
- Updated dependencies [01ccef4]
- Updated dependencies [fcc3ada]
- Updated dependencies [4618774]
- Updated dependencies [df59930]
- @backstage/plugin-catalog-react@0.1.3
- @backstage/core@0.7.3
- @backstage/theme@0.2.5
@backstage/plugin-catalog@0.5.1
Patch Changes
- 4d24872: Temporarily add
UNSTABLE_extraContextMenuItems
to the entity layout, so that we could detach the catalog plugin from the dependency on the badges plugin - 687f066: Add icon for entity badge menu
- Updated dependencies [01ccef4]
- Updated dependencies [fcc3ada]
- Updated dependencies [4618774]
- Updated dependencies [df59930]
- @backstage/plugin-catalog-react@0.1.3
- @backstage/core@0.7.3
- @backstage/theme@0.2.5
@backstage/plugin-catalog-backend@0.6.7
Patch Changes
-
f47e114: Log how many repositories were actually matching in
GithubDiscoveryProcessor
-
c862b3f: Introduce pagination in the /entities catalog endpoint.
Pagination is requested using query parameters. Currently supported parameters, all optional, are:
limit
- an integer number of entities to return, at mostoffset
- an integer number of entities to skip over at the startafter
- an opaque string cursor as returned by a previous paginated request
Example request:
GET /entities?limit=100
Example response:
200 OK Content-Type: application/json; charset=utf-8 Link: </entities?limit=100&after=eyJsaW1pdCI6Miwib2Zmc2V0IjoyfQ%3D%3D>; rel="next" <more headers> [{"metadata":{...
Note the Link header. It contains the URL (path and query part, relative to the catalog root) to use for requesting the next page.
It uses theafter
cursor to point out the end of the previous page. If the Link header is not present, there is no more data to read.The current implementation is naive and encodes offset/limit in the cursor implementation, so it is not robust in the face of overlapping
changes to the catalog. This can be improved separately in the future without having to change the calling patterns. -
Updated dependencies [4d24872]
- @backstage/plugin-search-backend-node@0.1.2
@backstage/plugin-catalog-react@0.1.3
Patch Changes
- 01ccef4: Introduce
useRouteRefParams
tocore-api
to retrieve typed route parameters. - Updated dependencies [fcc3ada]
- Updated dependencies [4618774]
- Updated dependencies [df59930]
- @backstage/core@0.7.3
@backstage/plugin-cost-insights@0.8.4
Patch Changes
- d10ea17: fix missing type exports of public components
- Updated...
v0.18.1
Added a new badges plugin, split into @backstage/plugin-badges
and @backstage/plugin-badges-backend
.
The badges plugin offers a set of badges that can be used outside of your backstage deployment, showing information related to data in the catalog, such as entity owner and lifecycle data.
v0.18.0
@backstage/backend-common@0.6.0
Minor Changes
-
8686eb3: Encode thrown errors in the backend as a JSON payload. This is technically a breaking change, since the response format even of errors are part of the contract. If you relied on the response being text, you will now have some extra JSON "noise" in it. It should still be readable by end users though.
Before:
NotFoundError: No entity named 'tara.macgovern2' found, with kind 'user' in namespace 'default' at eval (webpack-internal:///../../plugins/catalog-backend/src/service/router.ts:117:17)
After:
{ "error": { "name": "NotFoundError", "message": "No entity named 'tara.macgovern2' found, with kind 'user' in namespace 'default'", "stack": "NotFoundError: No entity named 'tara.macgovern2' found, with kind 'user' in namespace 'default'\n at eval (webpack-internal:///../../plugins/catalog-backend/src/service/router.ts:117:17)" }, "request": { "method": "GET", "url": "/entities/by-name/user/default/tara.macgovern2" }, "response": { "statusCode": 404 } }
-
8686eb3: Removed the custom error types (e.g.
NotFoundError
). Those are now instead in the new@backstage/errors
package. This is a breaking change, and you will have to update your imports if you were using these types.-import { NotFoundError } from '@backstage/backend-common'; +import { NotFoundError } from '@backstage/errors';
Patch Changes
- Updated dependencies [0434853]
- @backstage/config@0.1.4
@backstage/plugin-catalog@0.5.0
Minor Changes
- 3385b37: Use
scmIntegrationsApiRef
from the new@backstage/integration-react
.
Patch Changes
-
633a31f: Add the ability to change the initially selected filter, if not set it still defaults to
owned
.<Route path="/catalog" element={<CatalogIndexPage initiallySelectedFilter="all" />} />
-
9ca0e40: use local version of lowerCase and upperCase methods
-
8686eb3: Use errors from
@backstage/errors
-
Updated dependencies [8686eb3]
-
Updated dependencies [8686eb3]
-
Updated dependencies [9ca0e40]
-
Updated dependencies [34ff49b]
- @backstage/catalog-client@0.3.8
- @backstage/core@0.7.2
- @backstage/plugin-catalog-react@0.1.2
@backstage/plugin-catalog-import@0.5.0
Minor Changes
- 3385b37: Use
scmIntegrationsApiRef
from the new@backstage/integration-react
.
Patch Changes
-
7d8c4c9: Update the wording for unknown URLs in the import flow
-
a0dacc1: Use title form field value for the commit message on catalog import PRs. Also allow customization of the pull requests title or body only. For example:
<Route path="/catalog-import" element={ <CatalogImportPage pullRequest={{ preparePullRequest: () => ({ title: 'chore: add backstage catalog file [skip ci]', }), }} /> } />
-
9ca0e40: use local version of lowerCase and upperCase methods
-
Updated dependencies [8686eb3]
-
Updated dependencies [8686eb3]
-
Updated dependencies [9ca0e40]
-
Updated dependencies [34ff49b]
- @backstage/catalog-client@0.3.8
- @backstage/core@0.7.2
- @backstage/plugin-catalog-react@0.1.2
@backstage/plugin-jenkins@0.4.0
Minor Changes
- e8b2ed9: Changed the way project slug is extracted from an entity. Up until now, the plugin assumed that the project slug is always of the format "owner/repo". However, this is not something that is enforced by Jenkins and sometimes the project name doesn't contain an owner.
Since this split is not used anywhere and the entire project slug is always used as-is, removed this distinction and just read the project slug from the annotation as-is.
Patch Changes
- 9ca0e40: use local version of lowerCase and upperCase methods
- Updated dependencies [8686eb3]
- Updated dependencies [9ca0e40]
- Updated dependencies [34ff49b]
- @backstage/core@0.7.2
- @backstage/plugin-catalog-react@0.1.2
@backstage/plugin-scaffolder@0.8.0
Minor Changes
- 3385b37: Use
scmIntegrationsApiRef
from the new@backstage/integration-react
.
Patch Changes
- 9ca0e40: use local version of lowerCase and upperCase methods
- Updated dependencies [8686eb3]
- Updated dependencies [0434853]
- Updated dependencies [8686eb3]
- Updated dependencies [9ca0e40]
- Updated dependencies [34ff49b]
- @backstage/catalog-client@0.3.8
- @backstage/config@0.1.4
- @backstage/core@0.7.2
- @backstage/plugin-catalog-react@0.1.2
@backstage/catalog-client@0.3.8
Patch Changes
- 8686eb3: Throw the new
ResponseError
from@backstage/errors
- Updated dependencies [0434853]
- @backstage/config@0.1.4
@backstage/cli@0.6.5
Patch Changes
- 8497254: Lint storybook files, i.e.
*.stories.*
, as if they were tests. - Updated dependencies [0434853]
- @backstage/config@0.1.4
@backstage/config@0.1.4
Patch Changes
- 0434853: Reformulate the json types to break type recursion
@backstage/core@0.7.2
Patch Changes
- 8686eb3: Add a
ResponseErrorPanel
to renderResponseError
from@backstage/errors
- 9ca0e40: use local version of lowerCase and upperCase methods
- 34ff49b: Allow extension components to also return
null
in addition to aJSX.Element
. - Updated dependencies [a51dc00]
- Updated dependencies [e7f9b94]
- Updated dependencies [0434853]
- Updated dependencies [34ff49b]
- Updated dependencies [d88dd21]
- Updated dependencies [c8b54c3]
- @backstage/core-api@0.2.14
- @backstage/config@0.1.4
@backstage/core-api@0.2.14
Patch Changes
- a51dc00: Export
SubRouteRef
type, and allowSubRouteRef
s to be assigned toplugin.routes
. - e7f9b94: Allow elements to be used multiple times in the app element tree.
- 34ff49b: Allow extension components to also return
null
in addition to aJSX.Element
. - d88dd21: Internal refactor to allow for future package splits. As part of this
ApiRef
s are now identified by their ID rather than their reference. - c8b54c3: Added new Docs Icon to Core Icons
- Updated dependencies [0434853]
- @backstage/config@0.1.4
@backstage/create-app@0.3.14
Patch Changes
-
3385b37: Supply a
scmIntegrationsApiRef
from the new@backstage/integration-react
.This is a new facility that plugins will start to use. You will have to add it to your local
packages/app
as described below. If this is not done, runtime errors will be seen in the frontend, on the formNo API factory available for dependency apiRef{integration.scmintegrations}
.In
packages/app/package.json
:"dependencies": { + "@backstage/integration-react": "^0.1.1",
In
packages/app/src/apis.ts
:+import { + scmIntegrationsApiRef, + ScmIntegrationsApi, +} from '@backstage/integration-react'; export const apis: AnyApiFactory[] = [ + createApiFactory({ + api: scmIntegrationsApiRef, + deps: { configApi: configApiRef }, + factory: ({ configApi }) => ScmIntegrationsApi.fromConfig(configApi), + }),
-
9ca0e40: use local version of lowerCase and upperCase methods
-
0283392: Adds example groups and users to the default app template.
To apply this change in an existing application, change the following in
app-config.yaml
:- type: url target: https://github.com/backstage/backstage/blob/master/packages/catalog-model/examples/all-apis.yaml + # Backstage example organization groups + - type: url + target: https://github.com/backstage/backstage/blob/master/packages/catalog-model/examples/acme/org.yaml + rules: + - allow: [Group, User] + # Backstage example templates - type: url target: https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend/sample-templates/react-ssr-template/template.yaml
-
Updated dependencies [010aed7]
-
Updated dependencies [633a31f]
-
Updated dependencies [8686eb3]
-
Updated dependencies [34e6bb4]
-
Updated dependencies [b56815b]
-
Updated dependencies [147b4c5]
-
Updated dependencies [83bfc98]
-
Updated dependencies [7d8c4c9]
-
Updated dependencies [e7baa0d]
-
Updated dependencies [8b4f7e4]
-
Updated dependencies [8686eb3]
-
Updated dependencies [8497254]
-
Updated dependencies [3385b37]
-
Updated dependencies [0434853]
-
Updated dependencies [a0dacc1]
-
Updated dependencies [8686eb3]
-
Updated dependencies [9ca0e40]
-
Updated dependencies [4bc98a5]
-
Updated dependencies [34ff49b]
-
Updated dependencies [d2f4efc]
-
Updated dependencies [8686eb3]
-
Updated dependencies [424742d]
-
Updated dependencies [c8b54c3]
-
Updated dependencies [4e0b505]
-
Updated dependencies [8b5e597]
-
Updated dependencies [8686eb3]
- @backstage/plugin-catalog-backend@0.6.6
- @backstage/plugin-catalog@0.5.0
- @backstage/catalog-client@0.3.8
- @backstage/plugin-tech-radar@0.3.8
- @backstage/plugin-user-settings@0.2.8
- @backstage/plugin-techdocs@0.6.2
- @backstage/plugin-catalog-import@0.5.0
- @backstage/plugin...
v0.17.3
v0.17.2
v0.17.1
Added new @backstage/errors
package to provide uniform error handling and standardized errors.
v0.17.0
@backstage/plugin-github-actions@0.4.0
Minor Changes
- eabe89d: Show workflow name
Patch Changes
- 13fb842: Link to GitHub using host defined in app config if defined.
- Updated dependencies [277644e]
- Updated dependencies [52f6130]
- Updated dependencies [0b42fff]
- Updated dependencies [ff4d666]
- Updated dependencies [905cbfc]
- Updated dependencies [2089de7]
- Updated dependencies [d4e77ec]
- Updated dependencies [dc1fc92]
- @backstage/integration@0.5.1
- @backstage/catalog-model@0.7.4
- @backstage/core@0.7.1
- @backstage/theme@0.2.4
@backstage/plugin-kubernetes@0.4.0
Minor Changes
-
9581ff0: Restructure configuration; Add GKE cluster locator
Config migration
kubernetes.clusters
is now atkubernetes.clusterLocatorMethods[].clusters
when theclusterLocatorMethod
is oftype: 'config''
kubernetes.serviceLocatorMethod
is now an object.multiTenant
is the only validtype
currently
Old config example:
kubernetes: serviceLocatorMethod: 'multiTenant' clusterLocatorMethods: - 'config' clusters: - url: http://127.0.0.1:9999 name: minikube authProvider: 'serviceAccount' serviceAccountToken: $env: K8S_MINIKUBE_TOKEN - url: http://127.0.0.2:9999 name: aws-cluster-1 authProvider: 'aws'
New config example:
kubernetes: serviceLocatorMethod: type: 'multiTenant' clusterLocatorMethods: - type: 'config' clusters: - url: http://127.0.0.1:9999 name: minikube authProvider: 'serviceAccount' serviceAccountToken: $env: K8S_MINIKUBE_TOKEN - url: http://127.0.0.2:9999 name: aws-cluster-1 authProvider: 'aws'
-
e2c1b3f: Add initial CRD support framework
Patch Changes
- 763926b: Adds a new method
getClusters
to grab cluster configuration in the frontend - Updated dependencies [5d7834b]
- Updated dependencies [0b42fff]
- Updated dependencies [ff4d666]
- Updated dependencies [9581ff0]
- Updated dependencies [2089de7]
- Updated dependencies [dc1fc92]
- Updated dependencies [8de9963]
- Updated dependencies [e2c1b3f]
- @backstage/plugin-kubernetes-backend@0.3.0
- @backstage/catalog-model@0.7.4
- @backstage/core@0.7.1
- @backstage/theme@0.2.4
@backstage/plugin-kubernetes-backend@0.3.0
Minor Changes
-
9581ff0: Restructure configuration; Add GKE cluster locator
Config migration
kubernetes.clusters
is now atkubernetes.clusterLocatorMethods[].clusters
when theclusterLocatorMethod
is oftype: 'config''
kubernetes.serviceLocatorMethod
is now an object.multiTenant
is the only validtype
currently
Old config example:
kubernetes: serviceLocatorMethod: 'multiTenant' clusterLocatorMethods: - 'config' clusters: - url: http://127.0.0.1:9999 name: minikube authProvider: 'serviceAccount' serviceAccountToken: $env: K8S_MINIKUBE_TOKEN - url: http://127.0.0.2:9999 name: aws-cluster-1 authProvider: 'aws'
New config example:
kubernetes: serviceLocatorMethod: type: 'multiTenant' clusterLocatorMethods: - type: 'config' clusters: - url: http://127.0.0.1:9999 name: minikube authProvider: 'serviceAccount' serviceAccountToken: $env: K8S_MINIKUBE_TOKEN - url: http://127.0.0.2:9999 name: aws-cluster-1 authProvider: 'aws'
-
e2c1b3f: Add initial CRD support framework
Patch Changes
- 5d7834b: Use AWS SDK V2 instead of V3 for Kubernetes authentication
- 8de9963: Remove Kubernetes client caching
- Updated dependencies [d7245b7]
- Updated dependencies [0b42fff]
- Updated dependencies [7616988]
- @backstage/backend-common@0.5.6
- @backstage/catalog-model@0.7.4
@backstage/plugin-splunk-on-call@0.2.0
Minor Changes
- a310f33: Updated splunk-on-call plugin to use the REST endpoint (incident creation-acknowledgement-resolution).
It implies switching fromsplunkOnCall.username
configuration tosplunkOnCall.eventsRestEndpoint
configuration, this is a breaking change.
Patch Changes
- Updated dependencies [0b42fff]
- Updated dependencies [ff4d666]
- Updated dependencies [2089de7]
- Updated dependencies [dc1fc92]
- @backstage/catalog-model@0.7.4
- @backstage/core@0.7.1
- @backstage/theme@0.2.4
@backstage/backend-common@0.5.6
Patch Changes
-
d7245b7: Add a utility function runDockerContainer used to run a docker container (currently used by Scaffolder and TechDocs for their 'generate' processes)
-
7616988: Bump to the latest version of the Knex library.
You will most likely want to bump your own
packages/backend/package.json
as well:- "knex": "^0.21.18", + "knex": "^0.95.1",
Note that the recent versions of the Knex library have some changes that may affect your internal plugins' database migration files. Importantly, they now support
ALTER TABLE
on SQLite, and no longer accidentally remove indices when making some modifications. It now also exports theKnex
typescript type as a named export.import { Knex } from 'knex';
-
Updated dependencies [277644e]
-
Updated dependencies [52f6130]
-
Updated dependencies [905cbfc]
-
Updated dependencies [d4e77ec]
- @backstage/integration@0.5.1
@backstage/catalog-client@0.3.7
Patch Changes
- 0b42fff: Make use of parseLocationReference/stringifyLocationReference
- Updated dependencies [0b42fff]
- @backstage/catalog-model@0.7.4
@backstage/catalog-model@0.7.4
Patch Changes
- 0b42fff: Add parseLocationReference, stringifyLocationReference
@backstage/cli@0.6.4
Patch Changes
- 5ab5864: Add support for most TypeScript 4.1 syntax.
@backstage/core@0.7.1
Patch Changes
- ff4d666: Add support for passing a fetch function instead of data to Table
data
prop. - 2089de7: Deprecated
ItemCard
. AddedItemCardGrid
andItemCardHeader
instead, that can be used to compose functionality around regular Material-UICard
components instead. - dc1fc92: Add support for non external URI's in the Link component to
to
prop. For example `Slack - Updated dependencies [13524b8]
- Updated dependencies [e74b075]
- Updated dependencies [6fb4258]
- Updated dependencies [2089de7]
- Updated dependencies [3958859]
- @backstage/core-api@0.2.13
- @backstage/theme@0.2.4
@backstage/core-api@0.2.13
Patch Changes
-
13524b8: Fully deprecate
title
option ofRouteRef
s and introduceid
instead. -
e74b075: Fixed a bug where FlatRoutes didn't handle React Fragments properly.
-
6fb4258: Add
SubRouteRef
s, which can be used to create a route ref with a fixed path relative to an absoluteRouteRef
. They are useful if you for example have a page that is mounted at a sub route of a routable extension component, and you want other plugins to be able to route to that page.For example:
// routes.ts const rootRouteRef = createRouteRef({ id: 'root' }); const detailsRouteRef = createSubRouteRef({ id: 'root-sub', parent: rootRouteRef, path: '/details', }); // plugin.ts export const myPlugin = createPlugin({ routes: { root: rootRouteRef, details: detailsRouteRef, } }) export const MyPage = plugin.provide(createRoutableExtension({ component: () => import('./components/MyPage').then(m => m.MyPage), mountPoint: rootRouteRef, })) // components/MyPage.tsx const MyPage = () => ( <Routes> {/* myPlugin.routes.root will take the user to this page */} <Route path='/' element={<IndexPage />}> {/* myPlugin.routes.details will take the user to this page */} <Route path='/details' element={<DetailsPage />}> </Routes> )
-
3958859: Wait for
configApi
to be ready before usingfeatureFlagsApi
-
Updated dependencies [2089de7]
- @backstage/theme@0.2.4
@backstage/create-app@0.3.13
Patch Changes
-
b03fba0: Adds "yarn dev" command to simplify local development.
To add the command to an existing application, first add it to the
scripts
section of your monorepo rootpackage.json
like so:"scripts": { + "dev": "concurrently \"yarn start\" \"yarn start-backend\"", "start": "yarn workspace app start", "start-backend": "yarn workspace backend start",
And then add the
concurrently
package to your monorepo, like so:yarn add concurrently@6.0.0 --dev -W
Notes:
- This needs to be done to the monorepo root, not your frontend or backend package.
- The
--dev -W
will add it only todevDependencies
, and force it to the monorepo main root.
You can then run
yarn dev
which will start both the Backstage frontend and backend in a single window. -
Updated dependencies [13fb842]
-
Updated dependencies [9ef5a12]
-
...
v0.16.1
v0.16.0
@backstage/core@0.7.0
Minor Changes
-
4c049a1: - Adds onClick and other props to IconLinkVertical;
-
Allows TriggerButton component to render when pager duty key is missing;
-
Refactors TriggerButton and PagerDutyCard not to have shared state;
-
Removes the
action
prop of the IconLinkVertical component while addingonClick
.Instead of having an action including a button with onClick, now the whole component can be clickable making it easier to implement and having a better UX.
Before:
const myLink: IconLinkVerticalProps = { label: 'Click me', action: <Button onClick={myAction} />, icon: <MyIcon onClick={myAction} />, };
After:
const myLink: IconLinkVerticalProps = { label: 'Click me', onClick: myAction, icon: <MyIcon />, };
-
Patch Changes
- 40c0fdb: Added support for optional external route references. By setting
optional: true
when creating anExternalRouteRef
it is no longer a requirement to bind the route in the app. If the app isn't bounduseRouteRef
will returnundefined
. - 2a271d8: Internal refactor of how component data is access to avoid polluting components and make it possible to bridge across versions.
- bece090: Improve rendering of multiple support item links in the
SupportButton
- 169f48d: Added the color prop to TrendLine from the Sparklines props types to be able to have custom colors.
- 8a15667: Added a new useSupportConfig hook that reads a new
app.support
config key. Also updated the SupportButton and ErrorPage components to use the new config. - Updated dependencies [40c0fdb]
- Updated dependencies [2a271d8]
- @backstage/core-api@0.2.12
@backstage/plugin-explore@0.3.0
Minor Changes
-
cfc83ca: Introduce external route for linking to the entity page from the explore plugin.
To use the explore plugin you have to bind the external route in your app:
const app = createApp({ ... bindRoutes({ bind }) { ... bind(explorePlugin.externalRoutes, { catalogEntity: catalogPlugin.routes.catalogEntity, }); }, });
Patch Changes
- Updated dependencies [12d8f27]
- Updated dependencies [40c0fdb]
- Updated dependencies [2a271d8]
- Updated dependencies [bece090]
- Updated dependencies [169f48d]
- Updated dependencies [8a15667]
- Updated dependencies [9d455f6]
- Updated dependencies [4c049a1]
- Updated dependencies [02816ec]
- @backstage/catalog-model@0.7.3
- @backstage/core@0.7.0
- @backstage/plugin-catalog-react@0.1.1
- @backstage/plugin-explore-react@0.0.3
@backstage/plugin-scaffolder@0.7.0
Minor Changes
-
8106c95: The scaffolder has been updated to support the new
v1beta2
template schema which allows for custom template actions!See documentation for more information how to create and register new template actions.
Breaking changes
The backend scaffolder plugin now needs a
UrlReader
which can be pulled from the PluginEnvironment.The following change is required in
backend/src/plugins/scaffolder.ts
export default async function createPlugin({ logger, config, database, + reader, }: PluginEnvironment): Promise<Router> { // omitted code return await createRouter({ preparers, templaters, publishers, logger, config, dockerClient, database, catalogClient, + reader, });
Patch Changes
- 12d8f27: Move logic for constructing the template form to the backend, using a new
./parameter-schema
endpoint that returns the form schema for a given template. - bc327dc: Tweak the template cards to be even more compliant with MUI examples, and a little bit more dense.
- Updated dependencies [12d8f27]
- Updated dependencies [40c0fdb]
- Updated dependencies [2a271d8]
- Updated dependencies [bece090]
- Updated dependencies [169f48d]
- Updated dependencies [8a15667]
- Updated dependencies [9d455f6]
- Updated dependencies [4c049a1]
- Updated dependencies [02816ec]
- @backstage/catalog-model@0.7.3
- @backstage/core@0.7.0
- @backstage/plugin-catalog-react@0.1.1
@backstage/plugin-scaffolder-backend@0.9.0
Minor Changes
-
8106c95: The scaffolder has been updated to support the new
v1beta2
template schema which allows for custom template actions!See documentation for more information how to create and register new template actions.
Breaking changes
The backend scaffolder plugin now needs a
UrlReader
which can be pulled from the PluginEnvironment.The following change is required in
backend/src/plugins/scaffolder.ts
export default async function createPlugin({ logger, config, database, + reader, }: PluginEnvironment): Promise<Router> { // omitted code return await createRouter({ preparers, templaters, publishers, logger, config, dockerClient, database, catalogClient, + reader, });
-
96ccc8f: Removed support for deprecated publisher auth configuration within the
scaffolder
configuration block, such asscaffolder.github.token
. Access should instead be configured throughintegrations
configuration.For example, replace the following configuration in
app-config.yaml
scaffolder: github: token: my-token
with
integrations: github: - host: github.com token: my-token
Patch Changes
- 12d8f27: Move logic for constructing the template form to the backend, using a new
./parameter-schema
endpoint that returns the form schema for a given template. - 12d8f27: Add version
backstage.io/v1beta2
schema for Template entities. - f31b76b: Consider both authentication methods for both
onprem
andcloud
BitBucket - f431922: remove usage of res.send() for res.json() and res.end() to ensure content types are more consistently application/json on backend responses and error cases
- d0ed251: Fixed file path resolution for templates with a file location
- Updated dependencies [12d8f27]
- Updated dependencies [4978590]
- Updated dependencies [8adb48d]
- @backstage/catalog-model@0.7.3
- @backstage/backend-common@0.5.5
@backstage/plugin-techdocs@0.6.0
Minor Changes
- 813c6a4: Add authorization header on techdocs api requests. Breaking change as clients now needs the Identity API.
Patch Changes
- Updated dependencies [12d8f27]
- Updated dependencies [f431922]
- Updated dependencies [40c0fdb]
- Updated dependencies [2a271d8]
- Updated dependencies [bece090]
- Updated dependencies [169f48d]
- Updated dependencies [8a15667]
- Updated dependencies [9d455f6]
- Updated dependencies [4c049a1]
- Updated dependencies [02816ec]
- Updated dependencies [6129951]
- @backstage/catalog-model@0.7.3
- @backstage/techdocs-common@0.4.3
- @backstage/core@0.7.0
- @backstage/plugin-catalog-react@0.1.1
@backstage/backend-common@0.5.5
Patch Changes
- 4978590: Add optional
logClientErrors
to errorHandler to log 4XX errors - 8adb48d: Change debug log format to print as color grey
@backstage/catalog-model@0.7.3
Patch Changes
- 12d8f27: Add version
backstage.io/v1beta2
schema for Template entities.
@backstage/cli@0.6.3
Patch Changes
- 507513f: Bump
@svgr/webpack
from5.4.x
to5.5.x
. - e37d2de: Bump
@testing-library/react
in the plugin template from^10.4.1
to^11.2.5
. To apply this to an existing plugin, update the dependency in yourpackage.json
. - 11c6208: Fixed an issue where the
backend:dev
command would get stuck executing the backend process multiple times, causing port conflict issues. - d4f0a14: New config command to export the configuration schema. When running backstage-cli with yarn, consider using
yarn --silent backstage-cli config:schema
to get a clean output onstdout
. - b93538a: Fix for type declaration input being required for build even if types aren't being built.
- 8871e75: Bump
ts-loader
dependency range from^7.0.4
to^8.0.17
.
@backstage/core-api@0.2.12
Patch Changes
- 40c0fdb: Added support for optional external route references. By setting
optional: true
when creating anExternalRouteRef
it is no longer a requirement to bind the route in the app. If the app isn't bounduseRouteRef
will returnundefined
. - 2a271d8: Internal refactor of how component data is access to avoid polluting components and make it possible to bridge across versions.
@backstage/create-app@0.3.12
Patch Changes
-
f715898: The api-docs plugin has been migrated to use an external route reference to dynamically link to the create component page.
If you want to have a button that links to the scaffolder plugin from the API explorer, apply the following changes to
packages/app/src/App.tsx
:+ import { apiDocsPlugin } from '@backstage/plugin-api-docs'; import { scaffolderPlugin } from '@backstage/plugin-scaffolder'; const app = createApp({ // ... bindR...