- NEW FEATURE 🎉🎉🎉 Catalog promotions management: CRUD, asynchronous application on variants, different scopes, priorities management, exclusiveness and many more
- New API improvements: especially the Shop part, reaching ~80% of UI features coverage
- Bump required PHP version to 8.0, due to the end of life of PHP 7.4
- Bump required Symfony version to 5.4 LTS
- #12029 [BC BREAK] [API][BC-Break] Move commands and handlers to common namespace (@lchrusciel)
- #12177 [Behat][API] Programitically generate API autorization token (@lchrusciel)
- #12202 Feat: Add breadcrumb var in CRUD template for AdminBundle (@toofff)
- #12689 [API][Country] Initialize contract tests for api/v2 (@GSadee)
- #12693 [API] allow extending and overwrite api in yaml + test (@SirDomin)
- #12695 [API][PaymentMethod] Add contract test for available payment methods endpoint (@GSadee)
- #12700 [Docs] Docs customization (@SirDomin)
- #12703 [Api] Denying usage of unexisting promotion coupon (@Tomanhez)
- #12704 [API] Denying usage of coupon for invalid promotion (@Zales0123)
- #12713 [API] Use serializer instead of custom view for shipping methods (@GSadee)
- #12716 [API][ShippingMethod] Add contract test for available shipping methods endpoint (@GSadee)
- #12718 [POC] Add change of tax by address (@arti0090)
- #12719 [Api] Unnecessary addresses should not be saved to the database while addressing an order (@Tomanhez)
- #12742 [API] Serialize only shipment id and method as shipment in order response (@GSadee)
- #12743 [API] add final to clssess, cs fixes (@SirDomin)
- #12744 [Docs] fix unsetting filters (@SirDomin)
- #12745 [API] Add contract test to admin ProductVariant (@arti0090)
- #12746 [API] handle shipping without addressing (@SirDomin)
- #12749 [API] change error to violation (@SirDomin)
- #12750 [ApiBundle] Small CS fixes (@Zales0123)
- #12761 [API] contract test for get order collection by guest (@AdamKasp)
- #12766 [Locale]Available locales in channel by api (@AdamKasp)
- #12769 [API] Refactor converting arguments of commands from IRIs to identifiers (@Tomanhez, @GSadee)
- #12772 [ENHANCEMENT][API] Refactor Api Constraints to match rest of them (@arti0090)
- #12774 [API] Add Product Image type to responses (@arti0090)
- #12780 [Locale ][Api] Get locale refactor api (@AdamKasp)
- #12782 [API] Check payment amount (@Tomanhez, @AdamKasp, @GSadee)
- #12785 [API] Remove customer and serialize posted address (@arti0090)
- #12790 [ENH][API] Fixing naming issues after PR for serializing post on address (@arti0090)
- #12805 [Behat][API][Taxes] Turn on chunk of taxation related scenarios (@lchrusciel)
- #12806 [Behat][API][Promotion] Turn on chunk of promotion scenarios (@lchrusciel)
- #12830 [API] Exclude meaningless scenarios (@lchrusciel)
- #12834 [Docs] Customization docs + yaml customization (@SirDomin)
- #12841 [UPGRADE] Split API and non API upgrade files (@lchrusciel)
- #12842 [AUTO] Updated translations from Crowdin (master) ()
- #12846 [BC BREAK] [API] Unification of filtration namespaces (@lchrusciel)
- #12847 [API]Product image handling (@arti0090)
- #12851 [Order] Protect processors from execution if the order is in a state different than cart (@GSadee)
- #12854 [SM] Change priorities of State Machine callbacks (@arti0090)
- #12855 [API][Country] Improve endpoints serialization (@GSadee)
- #12856 [API] reduce customer update serialization (@SirDomin)
- #12858 [Core] Wrap resource update operation with a transaction (@GSadee)
- #12862 [API] Add liip image filters to API (@arti0090, @SirDomin)
- #12866 Update release-cycle.rst (@oallain)
- #12874 [ORM] add created at index to customer (@SirDomin)
- #12876 [Minor] Add missing license blocks (@lchrusciel)
- #12877 [API] add original price to product variant (@SirDomin)
- #12879 [DOCS] How to modify invoices (@arti0090)
- #12880 [Maintenance] Configure builds on postgressql & mariadb (@Arminek)
- #12883 [API] Rename original_price to originalPrice in api responses (@AdamKasp, @arti0090)
- #12884 [Docs] add registration/login examples (@SirDomin, @arti0090)
- #12887 [DOCS] Generating invoice after payment (@arti0090)
- #12888 [API] Fix formating for list in invoice cookbook (@arti0090)
- #12889 Original price behat fix (@arti0090)
- #12890 Fix to ordered list (@arti0090)
- #12963 Update swagger docs with product variants originalPrice (@arti0090)
- #12967 [API] Log in contract tests + minor fixes (@lchrusciel)
- #12968 [API] AddressOrderHandler refactored to use customer provider (@lchrusciel)
- #12969 [Maintenance] Dead code removal (@lchrusciel)
- #12970 [DX] Add sylius prefixes to normalizers ALREADY_CALLED consts values to avoid name collision (@lchrusciel)
- #12971 [DX] Adjust service names in ApiBundle (@lchrusciel)
- #12972 [DOCS] Update images in api authorization book (@arti0090)
- #12974 [Maintenance] Make all API Bundle services public and unify public notation (@lchrusciel)
- #12978 [API] Resend verification email refactor to take current user from the security context (@lchrusciel)
- #12979 [Minor] Adjust test class names to follow emerged convention (@lchrusciel)
- #12980 [API] Expose taxon children as IRI in menu endpoint (@lchrusciel)
- #12981 [API] Refactor current customer email aware commands (@lchrusciel)
- #12983 [Documentation] Change the order of pages in Getting Started section (@GSadee)
- #12986 [CatalogPromotion] Creating simple catalog promotion only with code and name (@Arminek, @Tomanhez)
- #12990 [CatalogPromotions] Catalog promotion event (@Tomanhez, @Arminek)
- #12994 Get, Update, Post and delete catalog promotions (@arti0090)
- #12997 [API] Add gender field to customer (@arti0090)
- #12998 [CatalogPromotion][API] Minor fixes to creating simple catalog promotion (@GSadee)
- #13001 [Catalog Promotions] add rule to catalog promotion (@AdamKasp, @SirDomin)
- #13002 [CatalogPromotion] Applying Catalog Promotion with hardcoded rule and action (@Tomanhez, @Zales0123)
- #13003 Fixes to endpoints and contract tests of CP (@arti0090)
- #13005 [CatalogPromotion][API] Create catalog promotion with translatable fields (@GSadee)
- #13008 [Catalog Promotions] Add behat scenarios for endpoints (@arti0090)
- #13009 [CatalogPromotion][API] Add channels to catalog promotion (@GSadee)
- #13010 [Catalog Promotion] Remove delete endpoint (@arti0090)
- #13011 [CatalogPromotion][API] Add simple validation for creating catalog promotion (@GSadee)
- #13013 [CatalogPromotion][API] Extend the possibility of editing catalog promotion (@GSadee)
- #13014 [CatalogPromotion] Use Catalog Promotion rule during application (@Zales0123)
- #13015 [CatalogPromotion] Add fixtures for catalog promotion entity (@GSadee)
- #13016 [CatalogPromotion][Behat] Minor improvements for catalog promotions scenarios (@GSadee)
- #13017 [CatalogPromotion][API] Add scenarios for browsing catalog promotions (@GSadee)
- #13022 [Bug] Fix default sylius config file path in Sylius master branch (@lchrusciel)
- #13026 [CatalogPromotion][Admin] Add browsing catalog promotions (@GSadee)
- #13028 [CatalogPromotion][Admin] Add creating catalog promotion (@GSadee)
- #13029 Catalog promotions action (@SirDomin, @Zales0123)
- #13030 Add validation for Catalog Promotion Rules (@AdamKasp)
- #13033 [Catalog Promotion] refactor rule configuration change iri with code (@AdamKasp)
- #13034 [CatalogPromotion][Admin] Add editing catalog promotions (@GSadee)
- #13035 [CatalogPromotions] Inform about promotions applied on variants (@Zales0123)
- #13036 [CatalogPromotions] Use actions for discount application (@Zales0123)
- #13041 [CartPromotion][Admin] Change label of promotion to cart promotion (@GSadee)
- #13048 [CatalogPromotions] Move variant-related CatalogPromotionRule constant to Core (@Zales0123)
- #13052 [CatalogPromotions] Manage rules and actions from UI (@Zales0123)
- #13055 [CatalogPromotions] Add fixtures for catalog promotions rules and actions (@Tomanhez)
- #13060 [CP] Add scenario for
Inform about promotions applied on variant
(@arti0090) - #13061 [UI][Behat] tests for editing catalog promotion with rule and action (@SirDomin)
- #13064 [Behat] move actions redirect to different step (@SirDomin)
- #13066 [CatalogPromotion] refactor cp rule to be consistent with cp action (@SirDomin)
- #13067 Fix persisting of Catalog Promotion data on create (@arti0090)
- #13068 [CatalogPromotions][Api] Add test for creation rule (@Tomanhez)
- #13071 [CatalogPromotion][API] Add validation for creating catalog promotion with actions (@Arminek, @GSadee)
- #13072 [CatalogPromotion] Improve names and namespaces of catalog promotion rule form types (@GSadee)
- #13073 [CatalogPromotion][Behat] Improve steps names (@GSadee)
- #13075 [CatalogPromotion][API] Refactor validation of rules (@GSadee)
- #13077 [CatalogPromotion] Fix configuration of fixtures for actions and rules (@GSadee)
- #13079 [DOCS] Rename promotions to cart promotions (@arti0090)
- #13080 [Catalog Promotions] Fixing issues with multiple variants (@arti0090)
- #13081 [CatalogPromotion][API] Apply catalog promotion in proper channels (@GSadee)
- #13082 [API] [Catalog Promotion] validate action amount (@AdamKasp)
- #13084 [DOCS]Add Catalog Promotion documentation (@arti0090)
- #13085 [CatalogPromotions] Modify AppliedPromotionInformationFormatter (@Tomanhez)
- #13086 [CatalogPromotion][API] Add examples of rules and actions to Swagger (@GSadee)
- #13089 [CatalogPromotions] Add missing description to applied promotions (@arti0090)
- #13091 [CatalogPromotions] Add api behat for multiple catalog promotions (@Tomanhez)
- #13092 [CatalogPromotion][Behat] Add scenarios for reapplying catalog promotions after editing its channels (@GSadee)
- #13093 [CatalogPromotions][Validation] add validation to catalog promotion, … (@SirDomin)
- #13094 [Catalog Promotions][Docs] Add a section about how promotions are applied (@arti0090)
- #13096 [DOCS] Fix catalog promotions docs reference (@arti0090)
- #13098 [CatalogPromotions] Add product to cart with discounted catalog price (@Tomanhez, @arti0090)
- #13100 [CatalogPromotion] Clear applied catalog promotions after updating (@GSadee)
- #13101 [CatalogPromotions] Showing catalog promotions in Products index and show page (@SirDomin, @Zales0123)
- #13103 [UI][Catalog Promotion] Add discounted product to cart (@AdamKasp)
- #13104 [API] Use POST action to add new item to cart (@lchrusciel)
- #13105 [Catalog Promotions] Reapplying Catalog Promotion on Action Edit (@arti0090)
- #13107 [Api] Customer add product with discounted catalog price (@Tomanhez)
- #13110 [Fixtures] Extract promotions to a separate file to fix applying catalog promotions (@GSadee)
- #13111 [ChannelPricing] Improve query for finding discounted pricings (@GSadee)
- #13112 [Catalog Promotion] Cart catalog promotion becomes ineligible (@GSadee, @AdamKasp)
- #13114 [CatalogPromotions] Do not display applied promotion description in label if not set (@Zales0123)
- #13117 [API] Remove phoneNumber from Customer command and handler (@lchrusciel)
- #13121 [AUTO] Updated translations from Crowdin (master) (@bot@@sylius.@org)
- #13124 [CatalogPromotion][API] Reapplying catalog promotions after update its channel (@AdamKasp)
- #13128 [API][CatalogPromotion] Reapplying catalog promotion on variant once its data changes (@GSadee)
- #13129 [API][CatalogPromotion] Reapplying catalog promotions on rule update (@SirDomin, @GSadee)
- #13130 [CatalogPromotion][Behat] Cover scenarios for reapplying catalog promotions (@Tomanhez, @GSadee)
- #13131 [CatalogPromotions][API] Reapply promotions after action removal (@arti0090)
- #13132 [API][UI] Toggle catalog promotion (@AdamKasp)
- #13133 Reorganize flushes in Catalog Promotions processing (@Zales0123)
- #13137 [CatalogPromotions] Add behats for CatalogPromotions based on taxon (@Tomanhez, @AdamKasp)
- #13138 [Build] ignore string inflector phpstan (@SirDomin)
- #13141 [UI][CatalogPromotion] Reapplying catalog promotion on variant once its data changes (@GSadee)
- #13145 [API][CatalogPromotion] refactor Variants Provider to strategy Pattern (@AdamKasp)
- #13146 [Api] CatalogPromotionRule per taxon (@AdamKasp, @Tomanhez, @Zales0123)
- #13147 [API] Fix admin path in swagger (@arti0090)
- #13150 [API] Refactor path removal with (unset) (@Zales0123)
- #13152 [CatalogPromotion] Refactor to not listen on Doctrine events (@GSadee)
- #13153 [UI][CatalogPromotion] Reapply catalog promotions after editing their rules and actions (@GSadee)
- #13155 [Documentation][CatalogPromotion] Adjust docs after removing usage of Doctrine events (@GSadee)
- #13156 [CatalogPromotion] change change channel with toggle in UI (@AdamKasp)
- #13161 [CatalogPromotions] Rename CP Rule to Scope (@arti0090)
- #13164 Rename behat file from rule to scope on catalog promotion (@arti0090)
- #13168 [CatalogPromotion] Minor fixes after renaming rule to scope (@GSadee)
- #13169 [Catalog Promotions] Reapply CP after changing its taxons (@arti0090)
- #13174 [CatalogPromotion] Refactor scope validators to be more extendable (@GSadee)
- #13175 [CatalogPromotions] "For taxons" scope in UI with dynamic form configurations (@Zales0123)
- #13179 [CatalogPromotions] Start and end date (@Zales0123)
- #13181 [CatalogPromotion][UI] Reapply catalog promotions after product's taxon changes + refactor (@GSadee)
- #13182 [CatalogPromotions] Display taxons with names in scope (@Zales0123)
- #13183 [DOCS][Catalog Promotions] Making new CP scope (@arti0090)
- #13184 [CatalogPromotion][UI][Behat] Implement scenarios for reapplying catalog promotions after editing their for taxons scope (@GSadee)
- #13186 [CatalogPromotion][API][UI] Introduce states with state machine for catalog promotion (@GSadee)
- #13189 [CatalogPromotions] Take into account CP dates during processing (@Zales0123)
- #13190 [CatalogPromotion] Minor improvements in EligibleCatalogPromotionsProvider (@GSadee)
- #13191 [CatalogPromotion][Behat] Add scenario for applying catalog promotion with different scopes defined (@GSadee)
- #13192 [DOCS] Refactor from promotion to cart promotion (@arti0090)
- #13195 [CatalogPromotion] Secure that the catalog promotion cannot be edited (@GSadee)
- #13196 [CatalogPromotions] async workers introduction (@SirDomin)
- #13206 [API][UI] Sort products by their discounted price (@arti0090, @GSadee)
- #13208 [CatalogPromotion] fix pricing clearer (@AdamKasp)
- #13209 Move channel pricing to separate tab (@AdamKasp)
- #13212 [Hot-fix] Conflict doctrine/dbal 3.* in ApiBundle (@Zales0123)
- #13217 [Docs] Add description of prices (@AdamKasp)
- #13218 [CatalogPromotion] Add show page for catalog promotion (@GSadee)
- #13219 [ChannelPricing] fixes after merge (@AdamKasp)
- #13220 Add note about time delay (@AdamKasp)
- #13221 [CatalogPromotions] Prevent editing start and end date (@Zales0123)
- #13222 [UI][Catalog Promotions] Set default time for CP dates if not provided (@Zales0123)
- #13226 [CatalogPromotions] Handle failed catalog promotions (@SirDomin)
- #13227 [CatalogPromotions] Always prevent CP dates editing - even if they're not set during creation (@Zales0123)
- #13228 [Conflict] add conflict to new release of fos-rest (@SirDomin)
- #13229 [CatalogPromotion] docs about async messages (@AdamKasp)
- #13230 [CatalogPromotion] change DateRange criteria + functional tests (@SirDomin)
- #13231 [CatalogPromotion] Make criteria services public in container by default (@lchrusciel)
- #13234 Update Typo in Performance section (@zairigimad)
- #13235 [CatalogPromotion] Changing state after toggling catalog promotion (@GSadee)
- #13236 [CatalogPromotion] fix service typo, stateMachine error fixed (@SirDomin)
- #13248 [CatalogPromotion] Small fixes to
docs about async messages
(@arti0090) - #13256 [CatalogPromotion] dates are editable and validated (@AdamKasp)
- #13260 [CatalogPromotions] Add priorities (@Zales0123, @GSadee)
- #13262 Remove conflict with fos/rest-bundle (@Zales0123)
- #13264 [AUTO] Updated translations from Crowdin (master) (@bot@@sylius.@org)
- #13266 Specify minimum price of product and apply it on catalogPromotions (@SirDomin)
- #13271 Fix composer.json file after rebase (@Zales0123)
- #13273 [CatalogPromotion] Add "for products" scope (@GSadee)
- #13279 [Behat] Remove deprecated whitespace from behat tags on master (@GSadee)
- #13280 Get products by slug api endpoint (@paullla)
- #13287 List of channel currencies endpoint (@paullla)
- #13291 [MinimumPrice] Handle minimum price cart (@SirDomin, @lchrusciel)
- #13294 [Minimum Price] documentation (@AdamKasp)
- #13295 [Github] clear cache before phpunit (@SirDomin)
- #13297 [Actions] disable xdebug for actions (@SirDomin)
- #13299 [Adr] Fix customization api documentation url (@SebLours)
- #13303 [CatalogPromotion] Add exclusiveness flag (@AdamKasp)
- #13305 [Behat] Skip ui based checkout steps in api coverage (@lchrusciel)
- #13306 [Minor][Behat] Style and type refactor (@lchrusciel)
- #13311 Code cleanup - user password reset (@antonioperic)
- #13325 [CatalogPromotion][API][UI] Fixed discount action (@GSadee)
- #13328 [CartPromotion][API][UI] Apply on discounted flag added (@SirDomin, @AdamKasp)
- #13329 Addressing, locale update and apply coupon code unified to one endpoint (@paullla)
- #13333 Replace data providers with doctrine extensions (@paullla)
- #13337 [AUTO] Updated translations from Crowdin (master) (@bot@@sylius.@org)
- #13338 Drop support for PHP 7.4 (@AdamKasp)
- #13339 Add Support for Symfony 5.4 (@AdamKasp)
- #13343 [Documentation] Update required version of PHP (@GSadee)
- #13344 Doctrine Extensions upgrade info & code cleanup (@paullla)
- #13349 [CartPromotion][CatalogPromotion] Receiving discount only on non discounted products (@GSadee, @SirDomin)
- #13350 Order items list and order/item adjustments serialization groups (@paullla)
- #13352 Use QueryNameGenerator for extension query parameters (@paullla)
- #13367 [Maintenance] Remove Sf6.0 conflicts (@lchrusciel)
- #13368 [UI] change time format to 24H, autocomplete times on data change (@SirDomin)
- #13369 [Command] add command to generate jwt (@SirDomin)
- #13373 Revert "Move "polishsymfonycommunity/symfony-mocker-container" into dev dependencies" due to the BC break (@lchrusciel)
- #13375 Catalog promotion channel pricing relation (@Rafikooo)
- #13377 Move "polishsymfonycommunity/symfony-mocker-container" into dev dependencies (@stloyd, @lchrusciel)
- #13378 [CatalogPromotion] change icon on show page (@AdamKasp)
- #13380 [Bug][Migrations] Add missing mysql check for our migrations to ensure proper syntax is available - master edition (@lchrusciel)
- #13381 Drop support for older
gedmo/doctrine-extensions
versions (@mbabker) - #13387 Explanation note about minimum price in product variant creation form (@TheMilek)
- #13388 [Migrations] Remove invalid NOT NULL usage (@Zales0123)
- #13391 [Maintenance] Conflict with Symfony 6 packages (@lchrusciel)