docs/releases/v1.19.0-next.0-changelog.md
7077dbf131: BREAKING The new backend start command that used to be enabled by setting EXPERIMENTAL_BACKEND_START is now the default. To revert to the old behavior set LEGACY_BACKEND_START, which is recommended if you haven't migrated to the new backend system.
This new command is no longer based on Webpack, but instead uses Node.js loaders to transpile on the fly. Rather than hot reloading modules the entire backend is now restarted on change, but the SQLite database state is still maintained across restarts via a parent process.
start command to make it work on Windows.node-library packages with yarn new.@types/node and mock-fs.exports: 'named' for CJS builds, ensuring that they have e.g. exports["default"] = catalogPlugin;__experimentalReconfigure() from the plugin options as well as the __experimentalConfigure() method on plugin instances have both been removed.createApp config option has been replaced by a new configLoader option. There is now also a pluginLoader option that can be used to dynamically load plugins into the app.28f1ab2e1a: The catalog plugin no longer implements the experimental reconfiguration API. The create button title can now instead be configured using the new experimental internationalization API, via the catalogTranslationRef exported at /alpha. For example:
import { catalogTranslationRef } from '@backstage/plugin-catalog/alpha';
const app = createApp({
__experimentalTranslations: {
resources: [
createTranslationMessages({
ref: catalogTranslationRef,
catalog_page_create_button_title: 'Create Software',
}),
],
},
});
f3561a2935: include owner chip in catalog search result item
OpenTelemetryuseHotCleanup and useHotMemoize helpers are now deprecated, since hot module reloads for backend are being phased out.MockInstance, in order to be compatible with older versions of @types/jest.@types/node and mock-fs.@types/node and mock-fs.FileConfigSource will now retry file reading after a short delay if it reads an empty file. This is to avoid flakiness during watch mode where change events can trigger before the file content has been written.ba6a3b59c1: Removed duplicate apple-touch-icon link from packages/app/public/index.html that linked to nonexistent icon.
c8ec0dea4a: Create unique temp directory for each create-app execution.
b665f2ce65: Change base node image from node:18-bullseye-slim to node:18-bookworm-slim due to Docker build error on bullseye.
You can apply these change to your own Dockerfile by replacing node:18-bullseye-slim with node:18-bookworm-slim
deed089a3d: Bump cypress to fix the end-to-end tests
de42eebaaf: Bumped dev dependencies @types/node and mock-fs.
04a3f65e15: Bump Docker base images to node:18-bookworm-slim to fix node compatibility issues raised during image build.
You can apply these change to your own Dockerfile by replacing node:16-bullseye-slim with node:18-bookworm-slim
5eacd5d213: The E2E test setup based on Cypress has been replaced with one based on Playwright. Migrating existing apps is not required as this is a standalone setup, only do so if you also want to switch from Cypress to Playwright.
The scripts to run the E2E tests have been removed from packages/app/package.json, as they are now instead run from the root. Instead, a new script has been added to the root package.json, yarn test:e2e, which runs the E2E tests in development mode, unless CI is set in the environment.
The Playwright setup uses utilities from the new @backstage/e2e-test-utils package to find and include all packages in the monorepo that have an e2e-tests folder.
Updated dependencies
@types/node and mock-fs.@types/node and mock-fs.MockPluginProvider export since the plugin configuration API has been removed.requestInterceptor option to api-docs and pass it to SwaggerUI. This will enable to configure a proxy or headers to be sent to all the request made through the Try it out button on SwaggerUI.EntityPage to show an error for entities containing special characterscostInsights.hideTrendLine to true in the configuration.@types/node and mock-fs.