docs/releases/v1.7.0-next.2-changelog.md
8554533546: BREAKING The bazaar-backend createRouter now requires that the identityApi is passed to the router.
These changes are required to packages/backend/src/plugins/bazaar.ts
The user entity ref is now added to the members table and is taken from the requesting user using the identityApi.
import { PluginEnvironment } from '../types';
import { createRouter } from '@backstage/plugin-bazaar-backend';
import { Router } from 'express';
export default async function createPlugin(
env: PluginEnvironment,
): Promise<Router> {
return await createRouter({
logger: env.logger,
config: env.config,
database: env.database,
+ identity: env.identity,
});
}
getLatestProjects that takes a limit of projects as prop.b2e6cb6acf: Added a new method addLocationAnalyzers to the CatalogBuilder. With this you can add location analyzers to your catalog. These analyzers will be used by the /analyze-location endpoint to decide if the provided URL contains any catalog-info.yaml files already or not.
Moved the following types from this package to @backstage/plugin-catalog-backend.
eb25f7e12d: The exported permission rules and the API of createCatalogConditionalDecision have changed to reflect the breaking changes made to the PermissionRule type. Note that all involved types are exported from @backstage/plugin-catalog-backend/alpha
response.json rather than response.send where appropriate, as outlined in SECURITY.mdb2e6cb6acf: Breaking Moved the code search for the existing catalog-info.yaml files to the backend from the frontend. It means it will use the configured GitHub integration's credentials.
Add the following to your CatalogBuilder to have the repo URL ingestion working again.
// catalog.ts
import { GitHubLocationAnalyzer } from '@backstage/plugin-catalog-backend-module-github';
...
builder.addLocationAnalyzers(
new GitHubLocationAnalyzer({
discovery: env.discovery,
config: env.config,
}),
);
...
LocationSpec type. It got moved from this package to the @backstage/plugin-catalog-common so make sure imports are updated.46b4a72cee: BREAKING: When defining permission rules, it's now necessary to provide a ZodSchema that specifies the parameters the rule expects. This has been added to help better describe the parameters in the response of the metadata endpoint and to validate the parameters before a rule is executed.
To help with this, we have also made a change to the API of permission rules. Before, the permission rules toQuery and apply signature expected parameters to be separate arguments, like so...
createPermissionRule({
apply: (resource, foo, bar) => true,
toQuery: (foo, bar) => {},
});
The API has now changed to expect the parameters as a single object
createPermissionRule({
paramSchema: z.object({
foo: z.string().describe('Foo value to match'),
bar: z.string().describe('Bar value to match'),
}),
apply: (resource, { foo, bar }) => true,
toQuery: ({ foo, bar }) => {},
});
One final change made is to limit the possible values for a parameter to primitives and arrays of primitives.
46b4a72cee: BREAKING: When defining permission rules, it's now necessary to provide a ZodSchema that specifies the parameters the rule expects. This has been added to help better describe the parameters in the response of the metadata endpoint and to validate the parameters before a rule is executed.
To help with this, we have also made a change to the API of permission rules. Before, the permission rules toQuery and apply signature expected parameters to be separate arguments, like so...
createPermissionRule({
apply: (resource, foo, bar) => true,
toQuery: (foo, bar) => {},
});
The API has now changed to expect the parameters as a single object
createPermissionRule({
paramSchema: z.object({
foo: z.string().describe('Foo value to match'),
bar: z.string().describe('Bar value to match'),
}),
apply: (resource, { foo, bar }) => true,
toQuery: ({ foo, bar }) => {},
});
One final change made is to limit the possible values for a parameter to primitives and arrays of primitives.
eb25f7e12d: BREAKING The exported permission rules have changed to reflect the breaking changes made to the PermissionRule type.
For example, the playlistConditions.isOwner API has changed from:
playlistConditions.isOwner(['user:default/me', 'group:default/owner']);
to:
playlistConditions.isOwner({
owners: ['user:default/me', 'group:default/owner'],
});
github:publish action to allow passing whether pull
requests must be up to date with the default branch before merging.sourcePath parameter to publish:gitlab:merge-request action, targetPath is now optional and falls back to current workspace path.catalogClient argument to createRoute parametersresponse.json rather than response.send where appropriate, as outlined in SECURITY.mdreadTaskScheduleDefinitionFromConfig to read TaskScheduleDefinition (aka. schedule) from the Config.response.json rather than response.send where appropriate, as outlined in SECURITY.mdyarn install ... and apt-get ... commands to speed up repeated builds.response.json rather than response.send where appropriate, as outlined in SECURITY.mdresponse.json rather than response.send where appropriate, as outlined in SECURITY.mdOverview Card for either latest or random projects. Changed ProjectPreview.tsx so it take gridSize and useTablePagination as props.23f9199a0f: Deprecate @backstage/plugin-catalog-backend-module-bitbucket.
Please migrate to @backstage/plugin-catalog-backend-module-bitbucket-cloud
or @backstage/plugin-catalog-backend-module-bitbucket-server instead.
Updated dependencies
f66e696e7b: Bitbucket Cloud provider: Add option to configure schedule via app-config.yaml instead of in code.
Please find how to configure the schedule at the config at https://backstage.io/docs/integrations/bitbucketCloud/discovery
a9b91d39bb: Add bitbucketCloudCatalogModule (new backend-plugin-api, alpha).
Updated dependencies
GitHubLocationAnalyzer. This can be used to add to the CatalogBuilder. When added this will be used by RepoLocationAnalyzer to figure out if the given URL that you are trying to import from the /catalog-import page already contains catalog-info.yaml files.GitHubEntityProvider.823acaa88b: Moved the following types from @backstage/plugin-catalog-backend to this package.
Updated dependencies
response.json rather than response.send where appropriate, as outlined in SECURITY.mdresponse.json rather than response.send where appropriate, as outlined in SECURITY.mdresponse.json rather than response.send where appropriate, as outlined in SECURITY.mdresponse.json rather than response.send where appropriate, as outlined in SECURITY.md/next scaffolder work end to end with the old TaskPage viewreact-jsonschema-form@v5-beta for the NextRouter under @alpha exportsallowed* values for the RepoUrlPicker would be reset on render.response.json rather than response.send where appropriate, as outlined in SECURITY.mdresponse.json rather than response.send where appropriate, as outlined in SECURITY.mdResponse.status instead of .send(number)response.json rather than response.send where appropriate, as outlined in SECURITY.md