sylius-labs/sylius-1-11-shim-bundle
A Sylius Labs compatibility shim bundle for Sylius 1.11 that helps extensions and projects bridge API changes, smooth upgrades, and keep legacy integrations working with minimal code changes.
This is a transitional compatibility bundle: it re-introduces behaviour that existed in Sylius 1.11 but was removed/changed in 1.12+. Treat it as a bridge during an upgrade, not as a permanent dependency.
Minimal steps:
Require it (runtime, not dev-only, because it registers services/compiler passes at boot):
composer require sylius-labs/sylius-1-11-shim-bundle
Confirm your project is actually on Sylius ≥ 1.12 first — the bundle is pointless (and may conflict) on 1.11.
Register the bundle in config/bundles.php. Order matters for bundle-loading bundles — put it after the Sylius bundles so its service overrides win:
SyliusLabs\Sylius111ShimBundle\Sylius111ShimBundle::class => ['all' => true],
Clear the cache (bin/console cache:clear) and boot the app. If anything throws ServiceNotFoundException/ClassNotFoundError that used to work on 1.11, that's exactly the symptom the shim is meant to fix.
Where to look first:
src/ — specifically DependencyInjection/, Resources/config/services.*, and any CompilerPass/. This tells you exactly which services, parameters, or templates it re-registers. Do this before relying on it; it's a one-release, zero-star package, so the source is the spec.composer.json for the Sylius/Symfony version constraints.First use case: you upgraded a project (or a third-party plugin) from Sylius 1.11 to 1.12, and a service, model helper, or template block your code relied on no longer exists. Install the shim, verify the missing symbol resolves and your existing Behat/PHPUnit suite goes green again, then start removing the legacy calls.
config/bundles.php and composer.json before merging long-term. Track each removal as a checklist item so the debt is visible.config/packages/dev/monolog.yaml and run your suite; anything hitting restored services shows up as a deprecation you can chase down.['dev', 'test'] in config/bundles.php) so production runs on clean 1.12 behaviour. This also flushes out hidden dependencies on the shimmed code.sylius/sylius too loosely risks pulling 1.13/2.x where core may have re-introduced or re-removed the same APIs, causing duplicate service definitions or signature conflicts.Sylius\Bundle\CoreBundle and friends. If a Sylius bundle loads later, its service definitions can overwrite the shim's.The class ... was not found or duplicate-mapping errors after cache:clear. Run bin/console doctrine:schema:validate post-install.config/services.yaml or config/packages/*.yaml. Use bin/console debug:container <service> to see which definition actually wins.cache:clear and, ideally, cache:warmup. Stale container XML masks whether the shim did anything.debug:event-dispatcher if it re-wires listeners; debug:twig if it restores template functions/blocks; debug:router for any restored routes. For legacy template event blocks, confirm the block is actually dispatched (bin/console debug:event-dispatcher sylius.ui...) before blaming the shim.sylius.resource overrides, and form/event subscribers are all more durable than depending on a re-introduced 1.11 API.How can I help you explore Laravel packages today?