Skip to content

Conversation

Rugvip
Copy link
Member

@Rugvip Rugvip commented Jul 15, 2025

Hey, I just made a Pull Request!

With catalog backend shipping 3.0 in the next release we thought it was time to include a few more changed to the default configuration:

  • disableRelationsCompatibility: true: Relations compatibility is now disabled by default, but it can be re-enabled with the new enableRelationsCompatibility flag. Relations compatibility makes sure there's both target and targetRef in all relation objects, which significantly reduces overall performance of the catalog. With compatibility disabled, only the targetRef will be present. Only bespoke external consumers of the catalog could be affected by this change, as the targetRef has been in use for many years at this point.
  • orphanStrategy: 'delete': This switches the default orphan strategy to eagerly delete entities that are no longer referenced within the catalog.
  • orphanProviderStrategy: 'delete': This switches the default provider installation strategy to remove and entities that have been omitted by providers that are no longer present.
  • stitichingStrategy: { mode: 'deferred' }: Switches the stitching strategy to happen out-of-band of the main processing loop, instead being run in a background task. This makes stitching a lot more performant in large catalogs.

These are all flags that have been around for a while and are often cited as fixes to common catalog problems. We feel it's worth switching over all of these defaults to provide a better out-of-the-box experience for the catalog. These new defaults should behave well with existing catalogs as well, but there may be some edge cases that we haven't thought of, and will be highlighting this change in the release notes.

These are in addition to the catalog.useUrlReadersSearch switch in #29788

Rugvip added 4 commits July 15, 2025 15:59
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
@Rugvip Rugvip requested review from a team as code owners July 15, 2025 14:05
@Rugvip Rugvip requested review from benjdlambert and vinzscam July 15, 2025 14:05
@github-actions github-actions bot added the area:catalog Related to the Catalog Project Area label Jul 15, 2025
@backstage-goalie
Copy link
Contributor

Important

This PR includes changes that affect public-facing API. Please ensure you are adding/updating documentation for new features or behavior.

Changed Packages

Package Name Package Path Changeset Bump Current Version
@backstage/plugin-catalog-backend plugins/catalog-backend major v3.0.0-next.1

@benjdlambert
Copy link
Member

🚢

@Rugvip Rugvip merged commit c167ee9 into master Jul 15, 2025
23 checks passed
@Rugvip Rugvip deleted the rugvip/do-you-have-a-flag branch July 15, 2025 14:20
Copy link
Contributor

Thank you for contributing to Backstage! The changes in this pull request will be part of the 1.41.0 release, scheduled for Tue, 15 Jul 2025.

@stephenglass
Copy link
Contributor

Great changes here, awesome!!

@benjdlambert benjdlambert mentioned this pull request Jul 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:catalog Related to the Catalog Project Area
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants