Release Notes - November - 1 2017

Edit on GitHub

This month we released some important security updates.

Features

Multi-currency for Shipments

We are currently working on full enablement of multi-store and multi-currency concepts. In consequent releases, we will be enabling every relevant functionality with multi-store and -currency step-by-step.

This release focuses on enabling multi-currency for shipments. It allows you to manage multi-currency prices for shipment methods. We have extracted the shipment method price data to a separate table now (spy_shipment_method_price) and the default_price field is now deprecated in the spy_shipment_method table. The shipment method prices in Yves are retrieved for the given store, price mode and selected currency. CheckoutAvailableShipmentMethodsPlugin has major impact in its result because of the multi-currency price structure.

Affected Modules

MAJOR MINOR PATCH
Shipment 6.0.0 ShipmentDiscountConnector 1.1.1

Documentation
For module documentation, see Shipment Module Guide.
For detailed migration guides, see Shipment Module Migration Guide from Version 5. to 6. For store administration guides, see Shipment Store Administration Guide For other related documentation, see HowTo - Add New Shipment Method

Migration Guides
To upgrade, follow the steps described below:

  • Apply every minor and patch:
composer update "spryker/*"
  • Once that is done, upgrade to the new module major and its dependencies:
composer require spryker/shipment:"^6.0.0"

Introducing Infrastructure for Upcoming Publish & Synchronisation

This release provides the required infrastructure for Publish & Synchronisation, the next generation of collectors with structured data, clear way of publishing data to Yves storages, storage tables per module, no raw SQL queries, new fast synchronisation possibility and much more. This release includes main entities events, storage and search APIs, optimised Queue module, etc.

Affected Modules

MAJOR MINOR PATCH
n/a

Documentation
For detailed migration guides, see RabbitMQ Module Migration Guide from Version 0. to 1.

Migration Guides
To upgrade, follow the steps described below:

  • Apply every minor and patch:
composer update "spryker/*"
  • Once that is done, upgrade to the new module major and its dependencies:
composer require spryker/rabbit-mq:"^1.0.0" spryker/event:"^2.0.0" spryker/event-behavior:"^0.1.0" spryker/queue:"^1.0.0" spryker/synchronization:"^0.1.0" spryker/synchronization-behavior:"^0.1.0"

Improvements

State Machine Sub-process Reuse

A sub-processes in Spryker state machine allows you to simplify workflows. Each sub-process can represent a part of your business logic. Sometimes within the business logic you might need to have same or similar sub-processes multiple times (e.g. transactional email, refund). With this release, we allow you to copy state machine sub-processes as many times as you need in a project workflow. This will allow you to reuse existing parts of a state machine schema. For more details, see Modelling - State Machine.

Affected Modules

MAJOR MINOR PATCH
n/a StateMachine 2.1.0 n/a

Aggregated Reservations for Availability Updates

Previously, we had an issue when reading the number of reserved items to calculate the product availability in Oms. Previously, a non-aggregated function was being used to read the reservation, which had an impact on performance. To improve this, there is a new method in Oms module which only returns the aggregated numbers instead of running the whole calculation. The Availability module uses those aggregated numbers for product availability calculation.

Affected Modules

MAJOR MINOR PATCH
n/a Oms 7.2.0 Availability 5.2.1

Dedicated Log Configuration Plugins

Previously, there was only one Log configuration which was used by Yves and Zed. It is now possible to use dedicated Log configuration plugins for each application. Handlers and Processors can now be different for the applications.

Affected Modules

MAJOR MINOR PATCH
n/a Log 3.2.0 Queue 1.0.1

Decoupling JavaScript Dependency in CMS

With this release, we have removed Cms and CmsBlockGui JavaScript hidden dependencies to CmsContentWidget.

If you are using CmsContentWidget with Cms and/or CmsBlockGui, and you want to update at least one of them, please update CmsContentWidget to version 1.1.1 or higher in order to avoid inconsistencies and issues in Zed Administration Interface.

Affected Modules

MAJOR MINOR PATCH
n/a n/a

Bugfixes

SECURITY Missing Twig Variable on Zed Sales Detail View

Previously, there was a twig error in Zed order details page when displaying order items without grouping them. This was happening when ProductBundleOrderHydratePlugin was not enabled in the order hydration plugin stack. The issue is fixed now.

Affected Modules

MAJOR MINOR PATCH
n/a n/a Sales 8.0.4

Include Services in Dependency Violation Finder

Previously, dependency violation finder ignored Service files during dependency check. This issue is fixed now, service files are also checked for violation finding and their missing dependency are be highlighted.

Affected Modules

MAJOR MINOR PATCH
n/a n/a

Multi-currency Support for Promotional Products

Since the Multi-currency for Discounts was released, we had in issue with promotional products in discounts. The price was moved from product to quoteTransfer but promotional products still read from the old PRICE_MODE. So when trying to read the price, there was no price found. This issue is fixed now, it’s now price agnostic.

Affected Modules

MAJOR MINOR PATCH
n/a n/a DiscountPromotion 1.0.3

Propel SQL Insert Command Fail

Previously, InsertSqlConsole used a wrong path configuration. Executing this command was throwing an exception as it was not possible to load any configuration. We have now updated it to use the one that all other commands use.

Affected Modules

MAJOR MINOR PATCH
n/a n/a Propel 3.2.2

Calculation BC Fix

Our recent Calculation 4.2.0 release introduced a BC breaking issue in Calculation. The DiscountAmountAggregator was calling $calculatedDiscountTransfer->getUnitAmount() yet the unit amount was introduced in a successive release. This issue is fixed now to make sure the Calculation does not depend on the Discount major.

Affected Modules

MAJOR MINOR PATCH
n/a n/a Calculation 4.2.1

Documentation Updates

The following content has been added to the Academy:

Your feedback would be highly appreciated. Please help us understand what you need from the Spryker Academy by filling out a very short survey.