docs/releases/v1.9.0-changelog.md
de8a975911: Changed to use native AbortController and AbortSignal from Node.js, instead
of the one from node-abort-controller. This is possible now that the minimum
supported Node.js version of the project is 16.
Note that their interfaces are very slightly different, but typically not in a way that matters to consumers. If you see any typescript errors as a direct result from this, they are compatible with each other in the ways that we interact with them, and should be possible to type-cast across without ill effects.
GitlabUrlReader.readTree bug when there were no matching commitsmsw to ^0.49.0.@kubernetes/client-node to 0.18.0.@types/http-errors to ^2.0.0.SingleHostDiscovery so that it properly handles single-string backend.listen configurations such as :80.coreServices object. For example, the loggerServiceRef is now accessed via coreServices.logger instead.*Service.LoggerService interface with more log methods and meta.lifecycleServiceRef.de8a975911: Changed to use native AbortController and AbortSignal from Node.js, instead
of the one from node-abort-controller. This is possible now that the minimum
supported Node.js version of the project is 16.
Note that their interfaces are very slightly different, but typically not in a way that matters to consumers. If you see any typescript errors as a direct result from this, they are compatible with each other in the ways that we interact with them, and should be possible to type-cast across without ill effects.
zod dependency to a version that does not collide with other librariesgetEntitiesByRefs endpoint to CatalogApi, for efficient batch fetching of entities by ref.msw to ^0.49.0.736f893f72: The Jest configuration that was previously enabled with BACKSTAGE_NEXT_TESTS is now enabled by default. To revert to the old configuration you can now instead set BACKSTAGE_OLD_TESTS.
This new configuration uses the babel coverage provider rather than v8. It used to be that v8 worked better when using Sucrase for transpilation, but now that we have switched to SWC, babel seems to work better. In addition, the new configuration also enables source maps by default, as they no longer have a negative impact on code coverage accuracy, and it also enables a modified Jest runtime with additional caching of script objects.
@sucrase/jest-plugin.index.html from correct endpoint on subsequent requests.zod dependency to a version that does not collide with other librariesmsw version in default plugin/app templatesesbuild to ^0.16.0.minimatch to 5.1.1 and switch version range to ^.msw to ^0.49.0.@rollup/plugin-commonjs to ^23.0.0.@rollup/plugin-yaml to ^4.0.0.@rollup/plugin-json to ^5.0.0.--skip-install parameter to backstage-cli versions:bumpe0d9c9559a: Added a new AppRouter component and app.createRoot() method that replaces app.getRouter() and app.getProvider(), which are now deprecated. The new AppRouter component is a drop-in replacement for the old router component, while the new app.createRoot() method is used instead of the old provider component.
An old app setup might look like this:
const app = createApp(/* ... */);
const AppProvider = app.getProvider();
const AppRouter = app.getRouter();
const routes = ...;
const App = () => (
<AppProvider>
<AlertDisplay />
<OAuthRequestDialog />
<AppRouter>
<Root>{routes}</Root>
</AppRouter>
</AppProvider>
);
export default App;
With these new APIs, the setup now looks like this:
import { AppRouter } from '@backstage/core-app-api';
const app = createApp(/* ... */);
const routes = ...;
export default app.createRoot(
<>
<AlertDisplay />
<OAuthRequestDialog />
<AppRouter>
<Root>{routes}</Root>
</AppRouter>
</>,
);
Note that app.createRoot() accepts a React element, rather than a component.
zod dependency to a version that does not collide with other librariesmsw to ^0.49.0.zen-observable to ^0.9.0.zen-observable to ^0.10.0.WebStorage notify its subscribers when localStorage values change in other tabs/windowsapp.baseUrl configuration to match the current location.origin. The backend.baseUrl will also be rewritten in the same way when the app.baseUrl and backend.baseUrl have matching origins. This will reduce the need for separate frontend builds for different environments.9a1864976a: Added a new display property to the AlertMessage which can accept the values permanent or transient.
Here's a rough example of how to trigger an alert using the new display property:
import { alertApiRef, useApi } from '@backstage/core-plugin-api';
const ExampleTransient = () => {
const alertApi = useApi(alertApiRef);
alertApi.post({
message: 'Example of Transient Alert',
severity: 'success',
display: 'transient',
});
};
msw to ^0.49.0.zen-observable to ^0.9.0.zen-observable to ^0.10.0.99713fd671: Introducing repo-tools package
03843259b4: Api reference documentation improvements
@config annotation to describe related config keys9b1193f277: declare dependencies
a8611bcac4: Add new command options to the api-report
--allow-warnings, -a to continue processing packages if selected packages have warnings--allow-all-warnings to continue processing packages any packages have warnings--omit-messages, -o to pass some warnings messages code to be omitted from the api-report.md filespaths argument for this command now takes as default the value on workspaces.packages inside the root package.json@backstage/cli-common packages instead25ec5c0c3a: Include asset-types.d.ts while running the api report command
71f80eb354: add the command type-deps to the repo tool package.
ac440299ef: Updated api docs generation to be compatible with Docusaurus 2-alpha and 2.x.
Updated dependencies
OwnershipCard works again). EntityKindPicker now accepts an optional allowedKinds prop, just like CatalogKindHeader.CatalogKindHeader from DefaultCatalogPage. Deprecated CatalogKindHeader in favour of EntityKindPicker.AboutCard.react-router-dom rather than react-router.zen-observable to ^0.9.0.zen-observable to ^0.10.0.CatalogKindHeader component.16891a212c: Added new POST /entities/by-refs endpoint, which allows you to efficiently
batch-fetch entities by their entity ref. This can be useful e.g. in graphql
resolvers or similar contexts where you need to fetch many entities at the same
time.
273ba3a77f: Deprecated Prometheus metrics in favour of OpenTelemtry metrics.
c395abb5b2: The catalog no longer stops after the first processor validateEntityKind
method returns true when validating entity kind shapes. Instead, it continues
through all registered processors that have this method, and requires that at
least one of them returned true.
The old behavior of stopping early made it harder to extend existing core kinds
with additional fields, since the BuiltinKindsEntityProcessor is always
present at the top of the processing chain and ensures that your additional
validation code would never be run.
This is technically a breaking change, although it should not affect anybody under normal circumstances, except if you had problematic validation code that you were unaware that it was not being run. That code may now start to exhibit those problems.
If you need to disable this new behavior, CatalogBuilder as used in your
packages/backend/src/plugins/catalog.ts file now has a
useLegacySingleProcessorValidation() method to go back to the old behavior.
const builder = await CatalogBuilder.create(env);
+builder.useLegacySingleProcessorValidation();
3072ebfdd7: The search table also holds the original entity value now and the facets endpoint fetches the filtered entity data from the search table.
catalog.rules[].location configuration that makes it possible to configure catalog rules to only apply to specific locations, either via exact match or a glob pattern.LocationSpec from the @backstage/plugin-catalog-node packageStitcher process to be more memory efficientcoreServices from @backstage/backend-plugin-api.delta mutation deletions.zod dependency to a version that does not collide with other librariessubstr into substring.msw to ^0.49.0.c507aee8a2: Ensured typescript type checks in migration files.
884d749b14: Refactored to use coreServices from @backstage/backend-plugin-api.
de8a975911: Changed to use native AbortController and AbortSignal from Node.js, instead
of the one from node-abort-controller. This is possible now that the minimum
supported Node.js version of the project is 16.
Note that their interfaces are very slightly different, but typically not in a way that matters to consumers. If you see any typescript errors as a direct result from this, they are compatible with each other in the ways that we interact with them, and should be possible to type-cast across without ill effects.
05a928e296: Updated usages of types from @backstage/backend-plugin-api.
61d4efe978: Make incremental providers more resilient to failures
Updated dependencies
delta mutation deletions.coreServices from @backstage/backend-plugin-api.cf41eedf43: BREAKING: Remove required field router at HttpPostIngressEventPublisher.fromConfig
and replace it with bind(router: Router).
Additionally, the path prefix /http will be added inside HttpPostIngressEventPublisher.
// at packages/backend/src/plugins/events.ts
const eventsRouter = Router();
- const httpRouter = Router();
- eventsRouter.use('/http', httpRouter);
const http = HttpPostIngressEventPublisher.fromConfig({
config: env.config,
logger: env.logger,
- router: httpRouter,
});
+ http.bind(eventsRouter);
884d749b14: Refactored to use coreServices from @backstage/backend-plugin-api.
cf41eedf43: Introduce a new interface RequestDetails to abstract Request
providing access to request body and headers.
BREAKING: Replace request: Request with request: RequestDetails at RequestValidator.
Updated dependencies
cf41eedf43: Introduce a new interface RequestDetails to abstract Request
providing access to request body and headers.
BREAKING: Replace request: Request with request: RequestDetails at RequestValidator.
caFile property.@kubernetes/client-node to 0.18.0.@kubernetes/client-node to 0.18.0.transformErrors function to the Stepper for /nextRepoUrlPicker field extension now has an allowedProjects option for narrowing the selection of Bitbucket URLs.d4d07cf55e: Enabling the customization of the last step in the scaffolder template.
To override the content you have to do the next:
<TemplatePage ReviewStepComponent={YourCustomComponent} />
ef803022f1: Initialize all formData in the Stepper in /next
9b1fadf6d8: Added noHtml5Validate prop to FormProps on NextScaffolderPage
b05dcd5530: Move the zod dependency to a version that does not collide with other libraries
2e701b3796: Internal refactor to use react-router-dom rather than react-router.
9000952e87: Form data is now passed to validator functions in 'next' scaffolder, so it's now possible to perform validation for fields that depend on other field values. This is something that we discourage due to the coupling that it creates, but is sometimes still the most sensible solution.
export const myCustomValidation = (
value: string,
validation: FieldValidation,
{ apiHolder, formData }: { apiHolder: ApiHolder; formData: JsonObject },
) => {
// validate
};
5b10b2485a: Parse formData from window.location.query for scaffolder/next
57ad6553d0: Pass through transformErrors to TemplateWizardPage
3280711113: Updated dependency msw to ^0.49.0.
19356df560: Updated dependency zen-observable to ^0.9.0.
c3fa90e184: Updated dependency zen-observable to ^0.10.0.
5fb6d5e92e: Updated dependency @react-hookz/web to ^19.0.0.
146378c146: Updated dependency @react-hookz/web to ^20.0.0.
380f549b75: bump @rjsf/*-v5 dependencies
a63e2df559: fixed headerOptions not passed to TemplatePage component
9b606366bf: Bump json-schema-library to version ^7.3.9 which does not pull in the gson-pointer library
db6310b6a0: Show input type array correctly on installed actions page.
Updated dependencies
a20a0ea698: Added requiredConversationResolution template option to github:repo:create, github:repo:push and publish:github
b32005e98a: Deprecated the taskWorkers option in RouterOptions in favor of concurrentTasksLimit which sets the limit of concurrent tasks in a single TaskWorker
TaskWorker can now run multiple (defaults to 10) tasks concurrently using the concurrentTasksLimit option available in both RouterOptions and CreateWorkerOptions.
To use the option to create a TaskWorker:
const worker = await TaskWorker.create({
taskBroker,
actionRegistry,
integrations,
logger,
workingDirectory,
additionalTemplateFilters,
+ concurrentTasksLimit: 10 // (1 to Infinity)
});
fc51bd8aa0: Add support for disabling Github repository wiki, issues and projects
0053d07bee: Update the github:publish action to allow passing wether to dismiss stale reviews on the protected default branch.
coreServices from @backstage/backend-plugin-api.zod dependency to a version that does not collide with other librariesesbuild to ^0.16.0.msw to ^0.49.0.zen-observable to ^0.9.0.zen-observable to ^0.10.0.zod dependency to a version that does not collide with other librariese48fc1f1ae: Added the option to pass a logger to PgSearchEngine during instantiation. You may do so as follows:
const searchEngine = await PgSearchEngine.fromConfig(env.config, {
database: env.database,
+ logger: env.logger,
});
dff9843718: The search engine now better handles the case when it receives 0 documents at index-time. Prior to this change, the indexer would replace any existing index with an empty index, effectively deleting it. Now instead, a warning is logged, and any existing index is left alone (preserving the index from the last successful indexing attempt).
a962ce0551: Wait for indexer initialization before finalizing indexing.
de8a975911: Changed to use native AbortController and AbortSignal from Node.js, instead
of the one from node-abort-controller. This is possible now that the minimum
supported Node.js version of the project is 16.
Note that their interfaces are very slightly different, but typically not in a way that matters to consumers. If you see any typescript errors as a direct result from this, they are compatible with each other in the ways that we interact with them, and should be possible to type-cast across without ill effects.
683ced83f6: Fixed a bug that could cause a max listeners exceeded warning to be logged when more than 10 collators were running simultaneously.
81b1e7b0fe: Updated indexer and decorator base classes to take advantage of features introduced in Node.js v16; be sure you are running a supported version of Node.js.
54c5836f7a: Use of TestPipeline.withSubject() is now deprecated. Instead, use the fromCollator, fromDecorator, or fromIndexer static methods to instantiate a test pipeline. You may also use the class' withCollator, withDecorator, and withIndexer instance methods to build test pipelines that consist of multiple test subjects.
Updated dependencies
value of a search analytics event is now set as the total number of search results (when available)react-router-dom rather than react-router.6b59903bfa: Parts of plugin-sonarqube have been moved into a new plugin-sonarqube-react package. Additionally some types that were
previously internal to plugin-sonarqube have been made public and will allow access for third-parties. As the sonarqube
plugin has not yet reached 1.0 breaking changes are expected in the future. As such exports of plugin-sonarqube-react
require importing via the /alpha entrypoint:
import { sonarQubeApiRef } from '@backstage/plugin-sonarqube-react/alpha';
const sonarQubeApi = useApi(sonarQubeApiRef);
Moved from plugin-sonarqube to plugin-sonarqube-react:
Exports that been introduced to plugin-sonarqube-react are documented in the API report.
msw to ^0.49.0.rc-progress to 3.4.1.6b59903bfa: Parts of plugin-sonarqube have been moved into a new plugin-sonarqube-react package. Additionally some types that were
previously internal to plugin-sonarqube have been made public and will allow access for third-parties. As the sonarqube
plugin has not yet reached 1.0 breaking changes are expected in the future. As such exports of plugin-sonarqube-react
require importing via the /alpha entrypoint:
import { sonarQubeApiRef } from '@backstage/plugin-sonarqube-react/alpha';
const sonarQubeApi = useApi(sonarQubeApiRef);
Moved from plugin-sonarqube to plugin-sonarqube-react:
Exports that been introduced to plugin-sonarqube-react are documented in the API report.
accountId to the configuration options of the AWS S3 publisher. Configuring this option will source credentials for the accountId in the aws app config section. See https://github.com/backstage/backstage/blob/master/packages/integration-aws-node/README.md for more details.msw to ^0.49.0.react-router-dom rather than react-router.msw to ^0.49.0.zen-observable to ^0.9.0.zen-observable to ^0.10.0.react-router-dom rather than react-router.coreServices from @backstage/backend-plugin-api..stop() method to Backend.lifecycleFactory implementation.@backstage/backend-plugin-api.lifecycleFactory to default service factories.startTestBackend are now automatically stopped after all tests have run.msw to ^0.49.0.msw to ^0.49.0.typescript-json-schema to ^0.55.0.a236a8830d: Update sidebar icon alignment
d3fea4ae0a: Internal fixes to avoid implicit usage of globals
b05dcd5530: Move the zod dependency to a version that does not collide with other libraries
ea4a5be8f3: Create a variable for minimum height and add a prop named 'fit' for determining if the graph height should grow or be contained.
2e701b3796: Internal refactor to use react-router-dom rather than react-router.
d2e3bf6737: Made AlertDisplay not crash on undefined messages
64a579a998: Add items prop to SupportButton. This prop can be used to override the items that would otherwise be grabbed from the config.
5d3058355d: Add react/forbid-elements linter rule for button, suggest Material UI Button
3280711113: Updated dependency msw to ^0.49.0.
19356df560: Updated dependency zen-observable to ^0.9.0.
c3fa90e184: Updated dependency zen-observable to ^0.10.0.
5fb6d5e92e: Updated dependency @react-hookz/web to ^19.0.0.
17a8e32f39: Updated dependency rc-progress to 3.4.1.
146378c146: Updated dependency @react-hookz/web to ^20.0.0.
dfc8edf9c5: Internal refactor to avoid usage of deprecated symbols.
8015ff1258: Tweaked wording to use inclusive terminology
830687539f: Sync components in @backstage/core-components with the Component Design Guidelines
1ae86ab5fb: Added an option to allow the AlertMessage to be self-closing. This is done with a new display property that is set to transient on the AlertMessage when triggering a message to the AlertApi. The length of time that these transient messages stay open for can be set using the transientTimeoutMs prop on the AlertDisplay in the App.tsx. Here is an example:
const App = () => (
<AppProvider>
+ <AlertDisplay transientTimeoutMs={2500} />
<OAuthRequestDialog />
<AppRouter>
<Root>{routes}</Root>
</AppRouter>
</AppProvider>
);
The above example will set the transient timeout to 2500ms from the default of 5000ms
16e31e690f: InfoCard - Remove subheader container when there is not a subheader or icon
a5a2d12298: Added option to pass additional headers to <ProxiedSignInPage />, which are passed along with the request to the underlying provider
91bba69ef8: Internal refactor to remove deprecated symbols.
Updated dependencies
c4788dbb58: Fix dependency ordering in templated packages.
83d3167594: Bumped create-app version.
2cb6963f9b: Bumped create-app version.
6465ab3686: Bumped create-app version.
af1358bb07: added default project name for CI job compatibility
935b66a646: Change step output template examples to use square bracket syntax.
dfb269fab2: Updated the template to have the '/test' proxy endpoint in app-config.yaml be commented out by default.
d9b3753f87: Updated the app template to use the new AppRouter component instead of app.getRouter(), as well as app.createRoot() instead of app.getProvider().
To apply this change to an existing app, make the following change to packages/app/src/App.tsx:
-import { FlatRoutes } from '@backstage/core-app-api';
+import { AppRouter, FlatRoutes } from '@backstage/core-app-api';
...
-const AppProvider = app.getProvider();
-const AppRouter = app.getRouter();
...
-const App = () => (
+export default app.createRoot(
- <AppProvider>
+ <>
<AlertDisplay />
<OAuthRequestDialog />
<AppRouter>
<Root>{routes}</Root>
</AppRouter>
- </AppProvider>
+ </>,
);
The final export step should end up looking something like this:
export default app.createRoot(
<>
<AlertDisplay />
<OAuthRequestDialog />
<AppRouter>
<Root>{routes}</Root>
</AppRouter>
</>,
);
Note that app.createRoot() accepts a React element, rather than a component.
71e75c0b70: Removed the react-router dependency from the app package, using only react-router-dom instead.
This change is just a bit of cleanup and is optional. If you want to apply it to your app, remove the react-router dependency from packages/app/package.json, and replace any imports from react-router with react-router-dom instead.
Updated dependencies
react-router-dom rather than react-router.zen-observable to ^0.9.0.zen-observable to ^0.10.0.msw to ^0.49.0.integrations.github.apps.allowedInstallationOwners to the configuration schema.msw to ^0.49.0.msw to ^0.49.0.MockPluginProvider has been created. It will be handy in the cases when you use
__experimentalConfigure in your plugin. It is experimental and exported through @backstage/test-utils/alpha.react-router-dom rather than react-router.msw to ^0.49.0.zen-observable to ^0.9.0.zen-observable to ^0.10.0.zen-observable to ^0.9.0.zen-observable to ^0.10.0.msw to ^0.49.0.msw to ^0.49.0.react-router-dom rather than react-router.msw to ^0.49.0.object-hash dependencymsw to ^0.49.0.msw to ^0.49.0.msw to ^0.49.0.search events in order to enable
Site Search functionality in GA. For more information consult READMEmsw to ^0.49.0.react-router-dom rather than react-router.msw to ^0.49.0.msw to ^0.49.0.coreServices from @backstage/backend-plugin-api.msw to ^0.49.0.msw to ^0.49.0.msw to ^0.49.0.react-router-dom rather than react-router.msw to ^0.49.0.msw to ^0.49.0.msw to ^0.49.0.msw to ^0.49.0.react-router-dom rather than react-router.msw to ^0.49.0.HomePageBazaarInfoCard is now displaying title instead of name. Title is a string that doesn't have to be URL friendly.
The BazaarOverviewCard have the new property fullHeight. Link in BazaarOverviewCardis moved to header in card.title as optional parameter to BazaarOverviewCardtitle has replaced column name for BazaarProject in databasemsw to ^0.49.0.msw to ^0.49.0.coreServices from @backstage/backend-plugin-api.coreServices from @backstage/backend-plugin-api.msw to ^0.49.0.msw to ^0.49.0.repo:push more efficiently.coreServices from @backstage/backend-plugin-api.msw to ^0.49.0.BitbucketCloudEventRouter.coreServices from @backstage/backend-plugin-api.msw to ^0.49.0.coreServices from @backstage/backend-plugin-api.msw to ^0.49.0.70fa5ec3ec: Fixes the assignment of group member references in GithubMultiOrgProcessor so membership relations are resolved correctly.
884d749b14: Refactored to use coreServices from @backstage/backend-plugin-api.
fe93cce743: Added the githubCredentialsProvider property to the GithubLocationAnalyzerOptions to be able to override the GithubCredentialsProvider.
a0fd4af94a: Handle GitHub push events at the GithubEntityProvider by subscribing to the topic github.push.
Implements EventSubscriber to receive events for the topic github.push.
On github.push, the affected repository will be refreshed.
This includes adding new Location entities, refreshing existing ones,
and removing obsolete ones.
Please find more information at https://backstage.io/docs/integrations/github/discovery#installation-with-events-support
3280711113: Updated dependency msw to ^0.49.0.
754b5854df: Fix incorrectly exported GithubOrgEntityProvider as a type
Updated dependencies
coreServices from @backstage/backend-plugin-api.msw to ^0.49.0.coreServices from @backstage/backend-plugin-api.msw to ^0.49.0.$refs in all kind of yaml documents, not only OpenAPI. This implicitly adds $ref resolving support for AsyncAPI specs. Thus, the openApiPlaceholderResolver has been renamed to jsonSchemaRefPlaceholderResolver.react-router-dom rather than react-router.maxDepth prop for EntityRelationsGraph to a smaller value to provide better readability.msw to ^0.49.0.react-router-dom rather than react-router.msw to ^0.49.0.react-router-dom rather than react-router.zen-observable to ^0.9.0.zen-observable to ^0.10.0.react-router-dom rather than react-router.msw to ^0.49.0.react-router-dom rather than react-router.msw to ^0.49.0.react-router-dom rather than react-router.msw to ^0.49.0.react-router-dom rather than react-router.msw to ^0.49.0.msw to ^0.49.0.msw to ^0.49.0.rc-progress to 3.4.1.msw to ^0.49.0.zen-observable to ^0.9.0.zen-observable to ^0.10.0.msw to ^0.49.0.costInsights.engineerThreshold to allow users to control the threshold value for the 'negligible' change in costs.msw to ^0.49.0.coreServices from @backstage/backend-plugin-api.884d749b14: Refactored to use coreServices from @backstage/backend-plugin-api.
0f46ec304c: Add createGithubSignatureValidator(config) which can be used
to create a validator used at an ingress for topic github.
On top, there is a new githubWebhookEventsModule for the new backend plugin API
which auto-registers the HttpPostIngress for topic github incl. the validator.
Please find more information at https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-github/README.md.
Updated dependencies
884d749b14: Refactored to use coreServices from @backstage/backend-plugin-api.
31fe8f256a: Add createGitlabTokenValidator(config) which can be used
to create a validator used at an ingress for topic gitlab.
On top, there is a new gitlabWebhookEventsModule for the new backend plugin API
which auto-registers the HttpPostIngress for topic gitlab incl. the validator.
Please find more information at https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-gitlab/README.md.
Updated dependencies
c8f49ed4d0: Update search links to only have header as linkable text
2e701b3796: Internal refactor to use react-router-dom rather than react-router.
ea4a5be8f3: Adds styling to graph forcing it to always fill out the available space.
3280711113: Updated dependency msw to ^0.49.0.
4dec6f16be: Added new @backstage/plugin-explore-backend & @backstage/plugin-explore-common packages.
This deprecates the ExploreToolsConfig API (in @backstage/plugin-explore-react) which is replaced by the ExploreApi & ExploreClient. The list of ExploreTool data can now be provided on the backend by either using the supplied StaticExploreToolProvider or by implementing a custom ExploreToolProvider. See the explore-backend README for full details.
NOTE: Existing installations that have customized the ExploreToolConfig will continue to work through the new ExploreClient. However, existing data should be migrated over to new explore-backend plugin as ExploreToolConfig will be removed in the future.
BREAKING CHANGE: If you have previously installed the explore plugin, but not yet customized the ExploreToolConfig API in your packages/app, this will result in an empty list of tools.
Updated dependencies
4dec6f16be: Added new @backstage/plugin-explore-backend & @backstage/plugin-explore-common packages.
This deprecates the ExploreToolsConfig API (in @backstage/plugin-explore-react) which is replaced by the ExploreApi & ExploreClient. The list of ExploreTool data can now be provided on the backend by either using the supplied StaticExploreToolProvider or by implementing a custom ExploreToolProvider. See the explore-backend README for full details.
NOTE: Existing installations that have customized the ExploreToolConfig will continue to work through the new ExploreClient. However, existing data should be migrated over to new explore-backend plugin as ExploreToolConfig will be removed in the future.
BREAKING CHANGE: If you have previously installed the explore plugin, but not yet customized the ExploreToolConfig API in your packages/app, this will result in an empty list of tools.
Updated dependencies
4dec6f16be: Added new @backstage/plugin-explore-backend & @backstage/plugin-explore-common packages.
This deprecates the ExploreToolsConfig API (in @backstage/plugin-explore-react) which is replaced by the ExploreApi & ExploreClient. The list of ExploreTool data can now be provided on the backend by either using the supplied StaticExploreToolProvider or by implementing a custom ExploreToolProvider. See the explore-backend README for full details.
NOTE: Existing installations that have customized the ExploreToolConfig will continue to work through the new ExploreClient. However, existing data should be migrated over to new explore-backend plugin as ExploreToolConfig will be removed in the future.
BREAKING CHANGE: If you have previously installed the explore plugin, but not yet customized the ExploreToolConfig API in your packages/app, this will result in an empty list of tools.
3280711113: Updated dependency msw to ^0.49.0.
4dec6f16be: Added new @backstage/plugin-explore-backend & @backstage/plugin-explore-common packages.
This deprecates the ExploreToolsConfig API (in @backstage/plugin-explore-react) which is replaced by the ExploreApi & ExploreClient. The list of ExploreTool data can now be provided on the backend by either using the supplied StaticExploreToolProvider or by implementing a custom ExploreToolProvider. See the explore-backend README for full details.
NOTE: Existing installations that have customized the ExploreToolConfig will continue to work through the new ExploreClient. However, existing data should be migrated over to new explore-backend plugin as ExploreToolConfig will be removed in the future.
BREAKING CHANGE: If you have previously installed the explore plugin, but not yet customized the ExploreToolConfig API in your packages/app, this will result in an empty list of tools.
Updated dependencies
msw to ^0.49.0.msw to ^0.49.0.msw to ^0.49.0.msw to ^0.49.0.@react-hookz/web to ^19.0.0.@react-hookz/web to ^20.0.0.react-router-dom rather than react-router.msw to ^0.49.0.react-router-dom rather than react-router.msw to ^0.49.0.msw to ^0.49.0.msw to ^0.49.0.msw to ^0.49.0.msw to ^0.49.0.msw to ^0.49.0.msw to ^0.49.0.msw to ^0.49.0.react-router-dom rather than react-router.msw to ^0.49.0.msw to ^0.49.0.react-router-dom rather than react-router.msw to ^0.49.0.promise-any-polyfill.msw to ^0.49.0.react-router-dom rather than react-router.msw to ^0.49.0.kafkajs 2.2.3msw to ^0.49.0.@kubernetes/client-node to 0.18.0.lighthouse-audit-service.msw to ^0.49.0.msw to ^0.49.0.react-router-dom rather than react-router.UserProfileCard and GroupProfileCard to not render links unless the showLinks prop is set. The primary component for rendering links are the EntityLinksCard from plugin-catalog.msw to ^0.49.0.GroupListPicker. Fixes: Vertical size jump on text entry, left align for text, selecting a value closes the popup, auto focus on the popup when openingmsw to ^0.49.0.msw to ^0.49.0.msw to ^0.49.0.msw to ^0.49.0.zod dependency to a version that does not collide with other librariesmsw to ^0.49.0.zod dependency to a version that does not collide with other librariesmsw to ^0.49.0.zod dependency to a version that does not collide with other librariesmsw to ^0.49.0.react-router-dom rather than react-router.react-router-dom rather than react-router.msw to ^0.49.0.zod dependency to a version that does not collide with other librariesmsw to ^0.49.0.msw to ^0.49.0.createRouter method.react-router-dom rather than react-router.msw to ^0.49.0.msw to ^0.49.0.msw to ^0.49.0.createFetchRailsAction to be passed to rails newreact-router-dom rather than react-router.msw to ^0.49.0.react-router-dom rather than react-router.msw to ^0.49.0.react-router-dom rather than react-router.msw to ^0.49.0.zen-observable to ^0.9.0.zen-observable to ^0.10.0.msw to ^0.49.0.msw to ^0.49.0.msw to ^0.49.0.<StackOverflowSearchResultListItem /> component is now able to highlight the result title and/or text when provided. To take advantage of this, pass in the highlight prop, similar to how it is done on other result list item components.msw to ^0.49.0.msw to ^0.49.0.react-router-dom rather than react-router.react/forbid-elements linter rule for button, suggest Material UI Buttonmsw to ^0.49.0.msw to ^0.49.0.msw to ^0.49.0.@react-hookz/web to ^19.0.0.@react-hookz/web to ^20.0.0.app.title from app-config.yaml when creating new Documentation Feedback issue. Backstage is the default value.0a61aab172: Bump dependency @azure/identity to next minor
e40790d0c2: Add support for specifying an S3 bucket's account ID and retrieving the credentials from the aws app config section. This is now the preferred way to configure AWS credentials for Techdocs.
37931c33ce: Upgrade to AWS SDK for Javascript v3
Techdocs support for AWS S3 now requires defining the AWS region to connect to.
If techdocs.publisher.awsS3.region is missing from the config, the AWS environment variable AWS_REGION will be used.
Updated dependencies
react-router-dom rather than react-router.msw to ^0.49.0.msw to ^0.49.0.msw to ^0.49.0.vault.publicUrl as alternative to vault.baseUrl for editUrl and showUrl in case vault.baseUrl is internalmsw to ^0.49.0.express-promise-router to catch errors properly.
Add 403 error as a known one. It will now return a NotAllowed error.msw to ^0.49.0.