Skip to content

Upgrading to 1.1.25

This release introduces several notable improvements designed to offer both developers and customers greater control over the checkout process. A key feature is the new Cascading Step Validation, which ensures that each step is completed and notifies the customer of any missing information.

We’ve also made the redirect timeout to the order success page configurable, allowing you to adjust it to your preferences.

Additionally, enhanced evaluation result types now provide greater precision in workflow orchestration, while the new MessageDialog API allows developers to present fully backend-orchestrated dialogs including a title, text and a Executable to determine what should happen next when pressing the confirmation button.

The update also brings more flexible form customisation options and improved control over batch processing and validation sequences.

Last but not least, we’ve deprecated the blocking evaluation result in favour of a more intuitive error message system, providing clearer guidance to customers during the checkout process.

Please refer to the changelog for details.

Please check the upgrade process overview for Hyvä-Checkout first.
Then, to upgrade, run the command

composer update --with-dependencies hyva-themes/magento2-hyva-checkout:1.1.25

Important

This release deprecates the blocking option that allowed developers to prevent actions on key navigation buttons like "Move to Step" or "Place Order." We recognize that this change may have a significant impact, as some third-party integrations relied on this feature. However, our vision is that a single checkout component should not be responsible for blocking such a critical part of the checkout process.

The deprecation is fully backward-compatible, as the blocking functionality has been replaced by an error message that appears when users attempt to proceed with checkout.

When upgrading to this version or beyond, it's important to verify if any third-party integrations were utilizing this blocking behavior. If so, please check whether steps have already been taken to update the integration, such as through a pull request or planned updates. If not, reach out to the third party or notify us so we can contact the vendor directly and assist with the transition.

What to look for

// Within: PHP
->createBlocking

// Within: JS/PHTML
hyvaCheckout.navigation.disableButtonPrevious
hyvaCheckout.navigation.enableButtonPrevious
hyvaCheckout.navigation.disableButtonNext
hyvaCheckout.navigation.enableButtonNext
hyvaCheckout.navigation.disableButtonPlaceOrder
hyvaCheckout.navigation.enableButtonPlaceOrder
hyvaCheckout.navigation.disableButtonPrimary
hyvaCheckout.navigation.enableButtonPrimary

Backward incompatible changes

  • No backward incompatible changes.

Deprecations

  • Hyva\Checkout\Model\Magewire\Component\Evaluation\Blocking
  • Hyva\Checkout\Model\Magewire\Component\Evaluation\Concern\BlockingCapabilities
  • Hyva\Checkout\Model\Magewire\Component\EvaluationResultFactory::createBlocking

The blocking evaluation result is deprecated as it silently obstructs primary navigation buttons. These buttons are essential for triggering navigational and validation tasks, which provide user-friendly notifications to guide customers on the next steps, such as proceeding or placing an order.

  • Hyva\Checkout\Model\Layout\UpdateHandleProcessorInterface

Has been replaced with an abstract class \Hyva\Checkout\Model\Layout\AbstractUpdateHandleProcessor.

Templates changed

  • Hyva_Checkout::page/js/api/v1/alpinejs/magewire-form-component.phtml @internal
  • Hyva_Checkout::page/js/api/v1/init-evaluation.phtml @internal
  • Hyva_Checkout::page/js/api/v1/init-message.phtml @internal
  • Hyva_Checkout::page/js/api/v1/init-navigation.phtml @internal
  • Hyva_Checkout::page/js/api/v1/init-storage.phtml @internal
  • Hyva_Checkout::page/js/api/v1/init-validation.phtml @internal
  • Hyva_Checkout::page/js/api/v1.phtml @internal
  • Hyva_Checkout::page/js/api/v1/directive/navigation.phtml

Changelogs

Changelogs are available from the CHANGELOG.md in the codebase, or here in the docs.