Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context
Important
Take not this PR needs to be merged together with https://github.com/Yoast/wordpress-seo-local/pull/2554
Also take a look at the source issue for linked in this PR for more next steps when we are merging this.
Summary
This PR can be summarized in the following changelog entry:
symfony/dependency-injection
package to version 5.4Relevant technical choices:
To make this work I needed to make a couple of changes. The first change was to also include some new files in our
php-scoper
which are located inconfig/php-scoper/service-contracts.inc.php
these files are needed for the DI container to compile so we need them to be copied over in our scoper.The second change made was to mark
src/introductions/infrastructure/introductions-seen-repository.php
as@makePublic
. This is needed because with this update the default behavior for new classes that live inFree
and are used in any addon + premium is to be marked aspublic(false)
. This means that they are not included in the DI containers public classes. Which in practical terms means thatYoastSEO()->classes->get('...')
no longer works. We want this since we do not want our entire codebase to be public API.This has no affect on existing classes which are located in folders that are included in the list in
/config/dependency-injection/loader-pass.php
in theprocess_definition
method.Test instructions
Test instructions for the acceptance test before the PR gets merged
This PR can be acceptance tested by following these steps:
composer require yoast/wordpress-seo:"dev-feature/update-di-container@dev as dev-release/24.1@dev" --dev
For premium you just need:
composer require yoast/wordpress-seo:"dev-feature/update-di-container@dev as dev-release/24.1@dev"
Relevant test scenarios
Test instructions for QA when the code is in the RC
QA can test this PR by following these steps:
Impact check
This PR affects the following parts of the plugin, which may require extra testing:
UI changes
Other environments
[shopify-seo]
, added test instructions for Shopify and attached theShopify
label to this PR.Documentation
Quality assurance
Innovation
innovation
label.Fixes #