docs/releases/v1.27.0-changelog.md
Upgrade Helper: https://backstage.github.io/upgrade-helper/?to=1.27.0
ed83f85: Internal refactor of the database code.
BREAKING: The helper functions createDatabaseClient and ensureDatabaseExists have been removed from the public interface, since they have no usage within the repository and never were suitable for calling from the outside. Please consider using coreServices.database or DatabaseManager directly wherever possible instead.
HarnessURLReader with readUrl support.backend-common that are not used by the core framework, such as the isomorphic Git class. As we will no longer support the isomorphic Git utility in the framework packages, we recommend plugins that start maintaining their own implementation of this class.legacyPlugin helper are now able to authenticate requests from plugins that are fully implemented using the new backend system. This fixes the Key for the ES256 algorithm must be one of type KeyObject or CryptoKey. Received an instance of Uint8Array error.backend-common to the backend-plugin-api package.ensureSchemaExists to support postgres instances where user can create schemas but not databases.CacheService instances are madeServerTokenManager.fromConfig that allows it to be instantiated in production without any configured keys.HarnessIntegration via the ScmIntegrations interface.repo schema openapi diff and package schema openapi diff. repo schema openapi diff is intended to power a new breaking changes check on pull requests and the package level command allows plugin developers to quickly see new API breaking changes. They're intended to be used in complement with the existing repo schema openapi verify command to validate your OpenAPI spec against a variety of things.backend-common to the backend-plugin-api package.LocationAnalyzer type, which has been moved to @backstage/plugin-catalog-node./alpha plugin export has had its implementation of the catalogAnalysisExtensionPoint updated to reflect the new API.backend-common to the backend-plugin-api package.EntityListComponent uses entityPresentationApi instead of humanizeEntityRef to display EntityLocationAnalyzer type, moved from @backstage/plugin-catalog-backend./alpha API where the catalogAnalysisExtensionPoint has been reworked. The addLocationAnalyzer method has been renamed to addScmLocationAnalyzer, and a new setLocationAnalyzer method has been added which allows the full LocationAnalyzer implementation to be overridden.MultiEntityPicker uses EntityDisplayName instead of humanizeEntityRef to display entity.@rjsf/utils to 5.18.2.
Updated dependency @rjsf/core to 5.18.2.
Updated dependency @rjsf/material-ui to 5.18.2.
Updated dependency @rjsf/validator-ajv8 to 5.18.2.MultiEntityPicker was not able to be set as requiredgitlab:projectVariable:create scaffolder action & improve related testsbackend-common to the backend-plugin-api package.gitlab:repo:push scaffolder action & improve related tests4cd5ff0: Add ability to configure the Node.js HTTP Server when configuring the root HTTP Router service
e8199b1: Move the JWKS registration outside of the lifecycle middleware
d229dc4: Move path utilities from backend-common to the backend-plugin-api package.
dc8c5dd: The default TokenManager implementation no longer requires keys to be configured in production, but it will throw an errors when generating or authenticating tokens. The default AuthService implementation will now also provide additional context if such an error is throw when falling back to using the TokenManager service to generate tokens for outgoing requests.
025641b: Redact meta fields too with the logger
09f8988: Remove explicit alg check for user tokens in verifyToken
5863e02: Internal refactor to only create one external token handler
a1dc547: Added support for camel case CSP directives in app-config. For example:
backend:
csp:
upgradeInsecureRequests: false
329cc34: Added logging of all plugins being initialized, periodic status, and completion.
Updated dependencies
eventsServiceFactory to defaultServiceFactories to resolve issue where different instances of the EventsServices could be usedREADME.md to point to packages/backend instead of packages/backend-next.backend-common to the backend-plugin-api package.scanRoot method in the PluginScanner class to specifically ignore the lost+found directory, which is a system-generated directory used for file recovery on Unix-like systems. Skipping this directory avoids unnecessary errors.backend-common to the backend-plugin-api package.toString() method from ServiceRef type.backend-common to the backend-plugin-api package.backend-common to the backend-plugin-api package.eventsServiceFactory to defaultServiceFactories to resolve issue where different instances of the EventsServices could be usedbuild-workspace command no longer manually runs yarn postpack, relying instead on the fact that running yarn pack will automatically invoke the postpack script. No action is necessary if you are running the latest version of yarn 1, 3, or 4.@backstage/cli/config/tsconfig.json.versions:migrate to do code changes. Can be skipped with --no-code-changesversions:bump command will no longer exit with a non-zero status if the version bump fails due to forbidden duplicate package installations. It will now also provide more information about how to troubleshoot such an error. The set of forbidden duplicates has also been expanded to include all @backstage/*-app-api packages.--require argument through to the Node process during package startrepo fix command to set an incorrect workspace property using Windowsbackstage-cli new --select plugin.errorInfo in ErrorBoundaryinitialShowDropDown prop to SidebarSubmenuItem to internally manage the initial display state of the dropdown items.alignGauge prop to the GaugeCard, and a small size version. When alignGauge is 'bottom' the gauge will vertically align the gauge in the cards, even when the card titles span across multiple lines.
Add alignContent prop to the InfoCard, defaulting to 'normal' with the option of 'bottom' which vertically aligns the content to the bottom of the card.SignInPage guest provider will now fall back to legacy guest auth if the backend request fails, allowing guest auth without a running backend.packages/backend/src/types.ts from the template as it is unused. It was mistakenly left in after moving the template to the new backend system.pickers fixesservedescription: from OpenAPI definitionsbackend-common to the backend-plugin-api package.backend-common to the backend-plugin-api package.AuthOwnershipResolutionExtensionPointAuthOwnershipResolutionExtensionPointCookieAuthRefreshProvider or useCookieAuthRefresh, a 404 response from the cookie endpoint will now be treated as if cookie auth is disabled and is not needed.ts-morph to ^22.0.0.skipArchivedRepos flag) on Bitbucket.0b50143: GitHub push events now schedule a refresh on entities that have a refresh_key matching the catalogPath config itself.
This allows to support a catalogPath configuration that uses glob patterns.
f2a2a83: Updated to use the new catalogAnalysisExtensionPoint API.
5bdeaa7: Added alwaysUseDefaultNamespace option to GithubMultiOrgEntityProvider.
If set to true, the provider will use default as the namespace for all group entities. Groups with the same name across different orgs will be considered the same group.
Updated dependencies
catalog-backend-module-github-org would not correctly create groups using default as namespace in case a single organization was configured.GitlabDiscoveryEntityProvider and GitlabOrgDiscoveryEntityProvider.catalog-backend-module-gitlab-org module which adds the GitlabOrgDiscoveryEntityProvider to the catalog's providers using the new backend system.backend-common to the backend-plugin-api package.README.md to point to packages/backend instead of packages/backend-next.ownedBy and applicationOwnerBy) to have the same source and target node.eventsServiceFactory to defaultServiceFactories to resolve issue where different instances of the EventsServices could be used@rjsf/utils to 5.18.2.
Updated dependency @rjsf/core to 5.18.2.
Updated dependency @rjsf/material-ui to 5.18.2.
Updated dependency @rjsf/validator-ajv8 to 5.18.2.@rjsf/utils to 5.18.2.
Updated dependency @rjsf/core to 5.18.2.
Updated dependency @rjsf/material-ui to 5.18.2.
Updated dependency @rjsf/validator-ajv8 to 5.18.2.NotificationsPage page propertiesclassName and additional properties for NotificationsSideBarItemesm issue and config readingbackend-common to the backend-plugin-api package.esm issue and config readingbackend-common to the backend-plugin-api package.meta fields too with the loggerpublish:bitbucketServer:pull-request scaffolder action & improve related testsbackend-common to the backend-plugin-api package.repoVisibility field for the action publish:giteabackend-common to the backend-plugin-api package.publish:github:pull-requestbackend-common to the backend-plugin-api package.backend-common package, this package now maintains its own isomorphic Git class implementation.@rjsf/utils to 5.18.2.
Updated dependency @rjsf/core to 5.18.2.
Updated dependency @rjsf/material-ui to 5.18.2.
Updated dependency @rjsf/validator-ajv8 to 5.18.2.aria-label attribute to DialogTitle element and set aria-modal attribute to true for improved accessibility in the search modal.README.md to point to packages/backend instead of packages/backend-next./alpha path, which was causing authentication failures.tokenManager parameter to be optional when instantiating collatorbackend-common to the backend-plugin-api package.tokenManager parameter to be optional when instantiating collatortechdocs.builder config is now optional and it will default to local.techdocs.builder config is now optional and it will default to local.backend-common to the backend-plugin-api package.backend-common to the backend-plugin-api package.