docs/releases/v1.14.0-next.0-changelog.md
201206132da: Introduced a new config source system to replace loadConfig. There is a new ConfigSource interface along with utilities provided by ConfigSources, as well as a number of built-in configuration source implementations. The new system is more flexible and makes it easier to create new and reusable sources of configuration, such as loading configuration from secret providers.
The following is an example of how to load configuration using the default behavior:
const source = ConfigSources.default({
argv: options?.argv,
remote: options?.remote,
});
const config = await ConfigSources.toConfig(source);
The ConfigSource interface looks like this:
export interface ConfigSource {
readConfigData(options?: ReadConfigDataOptions): AsyncConfigSourceIterator;
}
It is best implemented using an async iterator:
class MyConfigSource implements ConfigSource {
async *readConfigData() {
yield {
config: [
{
context: 'example',
data: { backend: { baseUrl: 'http://localhost' } },
},
],
};
}
}
2258dcae970: Added an entity namespace filter and column on the default catalog page.
If you have a custom version of the catalog page, you can add this filter in your CatalogPage code:
<CatalogFilterLayout>
<CatalogFilterLayout.Filters>
<EntityTypePicker />
<UserListPicker initialFilter={initiallySelectedFilter} />
<EntityTagPicker />
/* if you want namespace picker */
<EntityNamespacePicker />
</CatalogFilterLayout.Filters>
<CatalogFilterLayout.Content>
<CatalogTable columns={columns} actions={actions} />
</CatalogFilterLayout.Content>
</CatalogFilterLayout>
The namespace column can be added using createNamespaceColumn();. This is only needed if you customized the columns for CatalogTable.
2258dcae970: Added an entity namespace filter and column on the default catalog page.
If you have a custom version of the catalog page, you can add this filter in your CatalogPage code:
<CatalogFilterLayout>
<CatalogFilterLayout.Filters>
<EntityTypePicker />
<UserListPicker initialFilter={initiallySelectedFilter} />
<EntityTagPicker />
/* if you want namespace picker */
<EntityNamespacePicker />
</CatalogFilterLayout.Filters>
<CatalogFilterLayout.Content>
<CatalogTable columns={columns} actions={actions} />
</CatalogFilterLayout.Content>
</CatalogFilterLayout>
The namespace column can be added using createNamespaceColumn();. This is only needed if you customized the columns for CatalogTable.
890988341e9: Update aws-sdk client from v2 to v3.
BREAKING: The AwsIamKubernetesAuthTranslator class no longer exposes the following methods awsGetCredentials, getBearerToken, getCredentials and validCredentials. There is no replacement for these methods.
750e45539ad: Add close button & improve search input.
Material UI's Paper wrapping the SearchBar in the SearchPage was removed, we recommend users update their apps accordingly.
SearchBarBase's TextField's label support added & aria-label uses label string if present, tests relying on the default placeholder value should still work unless custom placeholder was given.
750e45539ad: Add close button & improve search input.
Material UI's Paper wrapping the SearchBar in the SearchPage was removed, we recommend users update their apps accordingly.
SearchBarBase's TextField's label support added & aria-label uses label string if present, tests relying on the default placeholder value should still work unless custom placeholder was given.
configServiceFactory to use ConfigSources from @backstage/config-loader to load config.DatabaseManager to include the plugin id in the Postgres application name of the database connections created for each plugin.HostDiscovery to supersede deprecated SingleHostDiscovery (deprecated due to name)POSTGRES_11 and POSTGRES_12 as supported test database IDs.FrontendHostDiscovery for config driven discovery implementationEntityTeamPullRequestsContent and EntityTeamPullRequestsCard support the ability to view the labels/tags added to each PRa788e715cfc: createPermissionIntegrationRouter now accepts rules and permissions for multiple resource types. Example:
createPermissionIntegrationRouter({
resources: [
{
resourceType: 'resourceType-1',
permissions: permissionsResourceType1,
rules: rulesResourceType1,
},
{
resourceType: 'resourceType-2',
permissions: permissionsResourceType2,
rules: rulesResourceType2,
},
],
});
Updated dependencies
ad1a1429de4: Improvements to the scaffolder/next buttons UX:
Stepper componentOngoingTask component. The state of these buttons match their existing counter parts in the Context MenuContextMenu componentUpdated dependencies
vm2 to be 3.9.17ad1a1429de4: Improvements to the scaffolder/next buttons UX:
Stepper componentOngoingTask component. The state of these buttons match their existing counter parts in the Context MenuContextMenu componentUpdated dependencies
LocalStoredShortcuts as deprecated, replacing it with DefaultShortcutsApi whose naming more clearly suggests that the shortcuts aren't necessarily stored locally (it depends on the storage implementation).