CoreShop switches from semantic versioning to Pimcore's year-based scheme. The previous line (5.x)
remains the last semver release and continues to receive maintenance; all new development targets
2026.1 and up.
All CoreShop components and bundles now require pimcore/pimcore: ^2026.1. Companion bundles
(pimcore/studio-ui-bundle, pimcore/studio-backend-bundle, pimcore/generic-data-index-bundle)
are likewise bumped to ^2026.1.
Pimcore Classic Admin (ExtJS) support is removed. CoreShop 2026.1 targets Pimcore Studio exclusively.
Removed:
- All
Resources/public/pimcore/ExtJS asset trees (~480 JS/CSS files across 22 bundles). - All
AdminClass/namespaces (grid column operators, admin-JS injection listeners, admin-grid filter listeners, the Pimcore Grid Config Installer). - All
classic_admin.ymlservice files and the conditionalPimcoreAdminBundleloading blocks in bundle extensions. pimcore_adminconfiguration section fromCoreShopPimcoreExtensionand all bundleConfigurationclasses, plus theregisterPimcoreResources()helper onAbstractPimcoreExtension.CoreShop\Component\Pimcore\DataObject\Grid\GridFilterInterface,AsGridFilterattribute,RegisterGridFilterPasscompiler pass,GridConfigInstaller/GridConfigInstallerInterface.CoreShop\Bundle\PimcoreBundle\Controller\Admin\*controllers. Studio-facing actions were moved toCoreShop\Bundle\PimcoreBundle\Controller\{DynamicDropdown,Grid}Controller.- ExtJS menu rendering (
coreshop_menuroute,menu.js.twig,JsonRenderer). The Studio menu API (coreshop_menu_api,StudioRenderer) is unchanged. pimcore/admin-ui-classic-bundlesuggest entries from all bundlecomposer.json.- Classic Admin firewall / ACL / role hierarchy scaffolding in
config/packages/security.yaml.
If you have project code referencing any of these symbols, see the migration notes in the upgrade guide.
The following Studio APIs, routes, and registries continue to work as in 5.1:
GET /pimcore-studio/api/coreshop/grid/studio-filters/{listType}GET /pimcore-studio/api/coreshop/grid/actions/{listType}POST /pimcore-studio/api/coreshop/grid/apply-action/pimcore-studio/api/coreshop/dynamic-dropdown/{options,methods}/pimcore-studio/api/coreshop/menus- The seven entity extension types (form / table-column / save-decorator / tab / action / validation / lifecycle) and all dynamic type registrations.
CoreShop no longer depends on the deprecated pimcore/static-routes-bundle. The ~40 frontend shop
routes previously defined in FrontendBundle/Resources/install/pimcore/staticroutes.yml and written
into Pimcore's settings-store on install are now declared as native Symfony routes under
FrontendBundle/Resources/config/routes/, split per URL topic (shop/index.yaml,
shop/cart.yaml, shop/catalog.yaml, shop/checkout.yaml, shop/customer.yaml, shop/wishlist.yaml,
partial.yaml).
Routes are opt-in. The bundle no longer auto-registers them via Pimcore's pimcore_bundle route
loader. Projects must explicitly import them in their own config/routes.yaml:
coreshop_frontend:
resource: "@CoreShopFrontendBundle/Resources/config/routes.yaml"Projects with a custom storefront can skip the top-level import and cherry-pick only the sub-files
they want (e.g. routes/shop/cart.yaml without routes/shop/checkout.yaml). See the Installation
Guide for details.
Additional effects:
- Installing CoreShop no longer runs a route-installation step; the Symfony router picks the routes up at cache warm-up.
PimcoreRoutesInstaller,RouteConfiguration, and thecoreshop.resource.installer.routesservice definition are removed.PimcoreStaticRoutesBundleis removed fromconfig/bundles.phpand from the conditional registration inCoreShopResourceBundle::registerDependentBundles().LocaleSwitcherExtensionno longer callsStaticroute::getByName()— it inspects the current route's compiled parameters viaRouterInterface::getRouteCollection().- The
pimcore_wishlist_summarypath previously exposed both/{_locale}/shop/wishlistand/{_locale}/shop/wishlist/{identifier}under one name. The identifier variant is now a separate route,coreshop_wishlist_summary_identifier. Existing twig/template callers pass no identifier and are unaffected. - Route names and reverse URLs are preserved 1:1 — no template or redirect URL change is required.
Developer docs covering rule-engine, payment-provider, menu-bundle, form-extension, and
order-detail extension have been rewritten to use Studio patterns (StudioFormBundle schema,
TabExtension / ActionExtension slots). ExtJS code samples were removed.