Verified on Shopware 6.7
Why 6.7 Is Not a Simple Update
Shopware 6.7 is one of the most significant releases since the 6.0 launch. Unlike minor version bumps, this update carries fundamental changes to the core architecture that directly affect your custom plugins, themes, and integrations.
If you're running a production shop on 6.5 or 6.6, you can't just hit "update" and hope for the best. Here's what you need to know.
Symfony Version Upgrade
Shopware 6.7 upgrades the underlying Symfony framework. This means:
- Deprecated Symfony services you may be using are now removed
- Container configuration syntax changes in some areas
- Event dispatcher changes that affect custom event subscribers
- Dependency injection - some service definitions need updating
What to do
Run bin/console debug:container on your current installation and compare with a fresh 6.7 instance. Look for any services your plugins depend on that have changed or been removed.
# Check for deprecated service usage in your plugins
grep -r "deprecated" custom/plugins/*/src/ -include="*.xml"
Admin Extension API Changes
The Admin Extension API has evolved significantly. If you built custom admin modules:
- Component registration syntax has changed
- Data handling through the repository pattern has new methods
- Vue.js version updates affect component lifecycle hooks
- Meteor component library replaces some legacy UI components
Migration checklist
- Audit all
Component.register()andComponent.override()calls - Check for deprecated mixin usage
- Update any direct Vuex store access
- Test all custom admin routes
Storefront Changes
Twig Template Updates
Several Twig blocks have been renamed or restructured:
- Check your theme's
Resources/views/directory for any blocks that override core templates - Run a diff against the new core templates to find renamed blocks
- Update
{% sw_extends %}paths if core template locations changed
JavaScript Plugin System
The storefront JS plugin system has minor but important changes:
// Old pattern (may be deprecated)
window.PluginManager.register('MyPlugin', MyPlugin, '[data-my-plugin]');
// Verify your registration pattern still works in 6.7
// Check the PluginManager source for any API changes
Data Abstraction Layer (DAL) Updates
The DAL has new features but also some breaking changes:
- New field types available for custom entities
- Association handling changes in some edge cases
- Migration system updates - check your migration files
- Entity definition changes that may require updates to your custom entities
// Verify your entity definitions
// Check for any deprecated field types or flags
class YourCustomDefinition extends EntityDefinition
{
// Audit defineFields() for deprecated patterns
}
Step-by-Step Migration Plan
Phase 1: Audit (1-2 days)
- List all custom plugins and their Shopware API touchpoints
- Run the Shopware upgrade check tool
- Review the official changelog for every breaking change
- Check third-party plugin compatibility with their vendors
Phase 2: Development Environment (1 day)
- Set up a fresh 6.7 instance locally
- Copy your database (sanitized) to the dev environment
- Attempt the upgrade and document every error
Phase 3: Fix and Test (3-7 days)
- Fix plugin compatibility issues one by one
- Run your test suite (you have one, right?)
- Manual QA of all critical paths: checkout, payment, cart rules
Phase 4: Staging and Go-Live (1-2 days)
- Deploy to staging with production data
- Run load tests
- Plan the go-live window - ideally low-traffic hours
- Have a rollback plan ready
Common Pitfalls
- Don't skip versions - if you're on 6.4 or earlier, migrate to 6.6 first, then to 6.7
- Plugin load order can change - test thoroughly if you have plugins that depend on each other
- Cache clearing - do a full cache clear, not just
cache:clear. Removevar/cache/entirely - Composer dependencies - run
composer updatecarefully, check for version conflicts - Database migrations - always back up before running
bin/console database:migrate
Summary
The 6.7 migration is significant but manageable with proper planning. The biggest risks are in custom admin modules and plugin service definitions. Start your audit now, even if you're not planning to upgrade immediately - knowing what needs to change lets you write forward-compatible code today.
Need help with your 6.7 migration? We've done this for production shops with 20+ custom plugins. Get in touch.