- [PayumBundle] remove payment_state processing to confirm orders by @dpfaffenbauer in #2743
- [Docs] Upgrade guide: Mention emergency recovery if major version got updated without updating to latest minor version first by @BlackbitDevs in #2745
- [Core] allow multiple store-values by @dpfaffenbauer in #2747
- [CoreBundle] fix quantity price rules customerGroups condition by @dpfaffenbauer in #2750
- [Pimcore] use getCount() instead of getTotalCount() for BatchListing by @hethehe in #2715
- [Store] fix cached store context by @dpfaffenbauer in #2727
- [Twig] twig >= 3.14 is compatible again by @dpfaffenbauer in #2719
- [PimcoreBundle] respect user language for grid filter labels (#2694) by @benwalch in #2695
- [Product] fix regression of price rules for products with default unit by @dpfaffenbauer in #2698
- [NotificationBundle] Mail Processor: Fix adding recipient twice by @benwalch in #2701
- [OrderBundle] use context language for OrderState Operator by @dpfaffenbauer in #2677
- [VariantBundle] Variant Creator by @breakone in #2679
- [PaymentBundle] fix null title for payment provider by @dpfaffenbauer in #2640
- [ProductBundle] fix missing cascade merge by @benwalch in #2647
- [PaymentBundle/ShippingBundle] fix logo select form type by @dpfaffenbauer in #2654
- [OrderBundle] use user locale for transition and state translations by @dpfaffenbauer in #2653
- [Order] fixes for backend order creation by @dpfaffenbauer in #2652
- [Messenger] fix serialization of failed_at by @dpfaffenbauer in #2658
- [CoreBundle] fixes for Reports by @dpfaffenbauer in #2659
- [Pimcore] add conflict for Pimcore 11.3.1 by @dpfaffenbauer in #2664
- [ProductBundle] fix missing cascade merge by @nehlsen in #2636
- [IndexBundle] Fix JS Error due to missing global function ts() by @gadget60 in #2638
- [CoreBundle] Prevent PHP error for store without currency by @BlackbitDevs in #2634
- [IndexBundle] Index error if product does not have a store by @hethehe in #2603
- [Index] make ObjectInterpreter compatible with "Advanced Many-To-Many Object Relation" Type by @hethehe in #2604
- [Notification] make password reset notification store aware by @hethehe in #2609
- [FrontendBundle] add missing subscribed services by @hethehe in #2617
- [OrderBundle] Notification Rules doesn't have state/transitions in DEV mode by @hethehe in #2619
- [Core] fix priorities between bundles by @dpfaffenbauer in #2606
- [OrderBundle] fix range condition with notInRangeMessage by @dpfaffenbauer in #2624
- [Core] Pimcore 11.1 and 11.2 compatibility and psalm update by @dpfaffenbauer in #2584
- [NoteService] implement deadlock retry strategy by @dpfaffenbauer in #2588
- [Docs] Improve resource bundle docs a bit by @jdreesen in #2554
- [OrderBundle] register OrderDocumentPrintController in controller.yml by @breakone in #2557
- [OrderBundle] cast return values for getWkHtmlToPdfBinary and getXvfb… by @breakone in #2558
- [Docs] improved installation instructions by @nehlsen in #2569
- [Core] Fixes in DataObject Extensions and Subscribed Services by @solverat in #2528
- [MessengerBundle] make FailedMessageDetails and MessageDetails JsonSerializable by @dpfaffenbauer in #2530
- [DataHub] only enable queries for selected entities by @dpfaffenbauer in #2512
- add address identifier repository to subscribed services by @solverat in #2518
- add guest condition by @breakone in #2514
- fix customer repository service link by @solverat in #2523
- [Docs] Update docusaurus by @dpfaffenbauer in #2490
- [Resource] Update Select.php by @breakone in #2489
- [Product] use coreshop.form.factory in product unit definitions extension by @solverat in #2501
- add missing subscribed services by @hethehe in #2439
- [Docs] update docs by @dpfaffenbauer in #2455
- fix workflow.registry service argument by @hethehe in #2457
- [StoreBundle] fix StoreCollector for backend by @codingioanniskrikos in #2466
- [Core] fix o_id usages by @dpfaffenbauer in #2473
- [Pimcore11] remove o_ column usages by @dpfaffenbauer in #2413
- [Pimcore11] fix return type for getChildCategories by @dpfaffenbauer in #2414
- can not save store shop settings by @sevarozh in #2415
- [Pimcore] require Pimcore 11.1 as minimum by @dpfaffenbauer in #2423
- Fix error in the filter functionality for multiselects by @hethehe in #2426
- CoreShop 4.0.0 is the same as 3.2.0 will be, it contains all bug-fixes and feature from 3.1 and 3.2
- [ResourceBundle] fix CoreShopRelation and CoreShopRelations dynamic classes setter by @dpfaffenbauer in #2396
- CoreShop 4.0.0 is the same as 3.2.0 will be, it contains all bug-fixes and feature from 3.1 and 3.2
CoreShop 4.0.0 is the same as 3.1.0, but with Pimcore 11 compatibility. Updating CoreShop therefore is quite easy. Since Symfony now doesn't have a full container anymore, we use Service Containers now for our Controllers. So your overwritten Controllers probably need changes.