Backward incompatible changes in 1.1.0
There are quite a number of backward incompatible changes in this release, but we expect the impact to be limited, as many are in classes and interfaces not commonly used for checkout customizations.
We expect the most impact to be for custom form field implementations, which is why those changes are listed first. Other changes that will impact most implementations are a new translation phrase and a template change.
The following backward incompatible changes are included in release 1.1.0.
Backward incompatible localization changes
New phrase "Preparing form"
A new translation phrase "Preparing form" was added, in addition to the previously used phrase "Preparing address form".
Add the new phrase to all localizations before upgrading. Ensure to also keep the previous phrase "Preparing address form" in place.
Backward incompatible template changes
src/view/frontend/templates/checkout/address-view/address-list/form.phtml
DOM section "Save in address book" moved
Previously the "Save in address book" checkbox was rendered by this template if $magewire->canSaveToAddressBook()
was true.
Now the checkbox is added as a form field dynamically using the form modifier API.
If you override the template in your theme, be sure to remove the section from the template after the upgrade, to avoid the checkbox being rendered twice.
src/view/frontend/templates/breadcrumbs.phtml
CSS selector changed
In the template breadcrumbs.phtml
a typo in the CSS class nav-braincrumbs
was fixed. The new CSS class is nav-breadcrumbs
.
Any custom JavaScript, CSS, or tests using the old CSS class need to be changed after the upgrade.
di.xml
preference changes
Other DI configuration changes in regard to constructor argument changes are listed with the respective classes below.
Preference for Hyva\Checkout\Model\Form\EntityFieldInterface
changed
The preference for the interface configured in etc/di.xml
has changed from \Hyva\Checkout\Model\Form\EntityField\EavAttributeField
to \Hyva\Checkout\Model\Form\EntityField\Input
.
Backward incompatible PHP Class and Interface changes
Class \Hyva\Checkout\Model\Form\EntityFormFieldFactory
The changes in this class will likely impact any instance using custom field implementations because of how they are registered in di.xml
.
Method __construct
signature change
This mainly affects how field types are registered in di.xml
.
The $customFields
argument is no longer present
Previously field types were registered using:
<type name="Hyva\Checkout\Model\Form\EntityFormFieldFactory">
<arguments>
<argument name="customFields" xsi:type="array">
<item name="telephone" xsi:type="string">Hyva\Checkout\Model\Form\EntityField\EavEntityAddress\TelephoneAttributeField</item>
<item name="email" xsi:type="string">Hyva\Checkout\Model\Form\EntityField\EavEntityCustomer\EmailAttributeField</item>
<item name="password" xsi:type="string">Hyva\Checkout\Model\Form\EntityField\Password</item>
<item name="street" xsi:type="string">Hyva\Checkout\Model\Form\EntityField\EavEntityAddress\StreetAttributeField</item>
<item name="region" xsi:type="string">Hyva\Checkout\Model\Form\EntityField\EavEntityAddress\RegionAttributeField</item>
<item name="country_id" xsi:type="string">Hyva\Checkout\Model\Form\EntityField\EavEntityAddress\CountryAttributeField</item>
<item name="postcode" xsi:type="string">Hyva\Checkout\Model\Form\EntityField\EavEntityAddress\PostcodeAttributeField</item>
<item name="prefix" xsi:type="string">Hyva\Checkout\Model\Form\EntityField\EavEntityAddress\PrefixAttributeField</item>
<item name="gender" xsi:type="string">Hyva\Checkout\Model\Form\EntityField\EavEntityAddress\GenderAttributeField</item>
</argument>
</arguments>
</type>
Before the upgrade, add any custom fields to the
EntityFormFactory
constructor argument $elements
.
<type name="Hyva\Checkout\Model\Form\EntityFormFactory">
<arguments>
<argument name="elements" xsi:type="array">
<!-- Default EAV fields -->
<item name="telephone" xsi:type="string">Hyva\Checkout\Model\Form\EntityField\EavEntityAddress\TelephoneAttributeField</item>
<item name="email" xsi:type="string">Hyva\Checkout\Model\Form\EntityField\EavEntityCustomer\EmailAttributeField</item>
<item name="street" xsi:type="string">Hyva\Checkout\Model\Form\EntityField\EavEntityAddress\StreetAttributeField</item>
<item name="region" xsi:type="string">Hyva\Checkout\Model\Form\EntityField\EavEntityAddress\RegionAttributeField</item>
<item name="country_id" xsi:type="string">Hyva\Checkout\Model\Form\EntityField\EavEntityAddress\CountryAttributeField</item>
<item name="postcode" xsi:type="string">Hyva\Checkout\Model\Form\EntityField\EavEntityAddress\PostcodeAttributeField</item>
<item name="prefix" xsi:type="string">Hyva\Checkout\Model\Form\EntityField\EavEntityAddress\PrefixAttributeField</item>
<item name="gender" xsi:type="string">Hyva\Checkout\Model\Form\EntityField\EavEntityAddress\GenderAttributeField</item>
<!-- Regular fields -->
<item name="id" xsi:type="string">Hyva\Checkout\Model\Form\EntityField\PrimaryKey</item>
<item name="save" xsi:type="string">Hyva\Checkout\Model\Form\EntityField\SaveAs</item>
</argument>
</arguments>
</type>
di.xml
registration completely.
After the upgrade, the old $customFields
configuration for custom fields can be removed.
Method create
signature change
The signature of create
changed from
create(string $id, string $form = null, array $data = [], string $default = null)
to
create(string $name, EntityFormInterface $form, array $arguments = [], string $type = null)
Any custom code calling this method needs to be changed after the upgrade.
Method getCustomFields
removed
The method has no replacement after the upgrade.
Any plugins to the method will no longer be called. To dynamically add fields, change the code to the new form modifier API instead.
Interface \Hyva\Checkout\Model\Form\EntityFieldInterface
Method addAttribute
deprecated.
The method remains for backward compatibility.
No action in custom code is required, but we recommend using the new setAttribute
method instead:
Method getFrontendInputAlias
deprecated
The method remains for backward compatibility, but now simply returns getFrontendInput
.
It is no longer called, so plugins to this method will no longer be triggered.
Before the upgrade, custom logic calling this method should be implemented additionally using the new form modifier API.
Custom form field implementations need to be prepared to no longer rely on this method.
After the upgrade, the old implementation using getFrontendInputAlias
can be removed.
Method getBlockNameAffix
deprecated
The method remains for backward compatibility, but now simply returns getFrontendInput
.
It is no longer called, so plugins using this method will not be triggered after the upgrade.
Custom form field implementations need to be prepared to no longer rely on this method.
Method reset
added
Before the upgrade implement the method in custom form field implementations unless they extend from \Hyva\Checkout\Model\Form\EntityField\AbstractEntityField
which provides a default implementation.
Method setValidationRule
added
Before the upgrade implement the method in custom form field implementations unless they extend from \Hyva\Checkout\Model\Form\EntityField\AbstractEntityField
which provides a default implementation.
Method removeValidationRule
added
Before the upgrade implement the method in custom form field implementations unless they extend from \Hyva\Checkout\Model\Form\EntityField\AbstractEntityField
which provides a default implementation.
Class \Hyva\Checkout\Model\Form\EntityField\AbstractEntityField
The changes to this class will impact instances with custom form field implementations overriding the constructor.
Method __construct
signature change
All parent dependencies have been encapsulated in a container to avoid future constructor signature changes.
This change affects all custom form field implementations overriding__construct
.
Be aware the required change to keep your code compatible can not be done before the upgrade.After the upgrade, change the overridden constructor to receive the new
\Hyva\Checkout\Model\Form\EntityField\FormFieldDependencies
dependency and pass it on to the parent.
Method renderValidationRules
removed
Rendering validation rule attributes now is done via element attributes.
For Hyvä-Checkout native fields, these attributes are set by \Hyva\Checkout\Model\Form\EntityFormModifier\MagewireAddressModifier::applyHyvaValidationApiModifications
.
Plugins to renderValidationRules
method will need to be changed to use MagewireAddressModifier::applyHyvaValidationApiModifications
instead, as the plugin no longer will be triggered.
Custom field implementations have to be changed to render the rules via renderAttributes
instead.
Note the helper method setValidationRule
can be used to set a rule on a field without accidentally removing already existing rules.
Method addAttribute
deprecated
The method remains for backward compatibility.
No action in custom code is required, but we recommend using the new setAttribute
method instead:
Class \Hyva\Checkout\Model\Form\EntityField\EavAttributeField
The changes to this class will impact instances with custom form field implementations overriding the constructor.
Method __construct
signature change
All parent dependencies have been encapsulated in a container to avoid future constructor signature changes.
This change affects all custom form field implementations overriding__construct
.
Be aware the required change to keep your code compatible can not be done before the upgrade.After the upgrade, change the overridden constructor to receive the new
\Hyva\Checkout\Model\Form\EntityField\FormFieldDependencies
dependency and pass it on to the parent.
Interface \Hyva\Checkout\Model\Form\EntityFormInterface
Method submit
signature changed
Previously, the values to submit to a form were passed as an array argument to the submit
method.
After the upgrade, submit
no longer receives an argument.
The values should instead be set on the form using $form->fill($values)
, followed by $form->submit()
without any argument.
Method createField
signature changed
The old method signature is createField(string $name, array $data = [])
The new method signature is createField(string $name, string $type = 'text', array $arguments = [])
After the upgrade, change any custom code calling the method to use the new signature.
Also, plugins on createField
referring to the arguments need to be changed accordingly.
Method store
removed
Previously this method was called by the frontend via Magewire to trigger state synchronization. The store
method implementation in AbstractEntityForm
did nothing at all.
If code in your instance calls the method store
on a form instance, the call can be removed without issues.
New method group
The purpose of the method is to assign an array of elements as relatives to an ancestor.
Add this method to custom entity form implementations before the upgrade unless your custom form implementation extends from \Hyva\Checkout\Model\Form\AbstractEntityForm
which provides a default implementation.
Method fill
signature changed
Custom form implementations need to change the fill
method to match the new signature defined in the interface.
This will only affect custom implementations not extending from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
The signature change is backward compatible for custom code calling fill
, so no change is required there.
Plugins to the method should also continue to work without changes.
Method addField
signature changed
The old method signature is public function addField(string $name, EntityFieldInterface $field)
The new method signature is public function addField(EntityFieldInterface $field)
Custom form implementations need to change the fill
method to match the new signature defined in the interface.
This will only affect custom implementations not extending from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Custom code calling addField
will need to be changed after the upgrade to no longer supply the field name as the first argument.
Method removeField
signature changed
The old method signature is public function removeField(string $name)
The new method signature is public function removeField(EntityFieldInterface $field)
Custom form implementations need to change the removeField
method to match the new signature defined in the interface unless they extend from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Custom code calling the method needs to be changed after the upgrade to supply the field instance instead of the field name.
Method createElement
added
Custom form implementations need to implement the method unless they extend from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Method addElement
added
Custom form implementations need to implement the method unless they extend from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Method getElement
added
Custom form implementations need to implement the method unless they extend from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Method removeElement
added
Custom form implementations need to implement the method unless they extend from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Method reinstateElement
added
Custom form implementations need to implement the method unless they extend from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Method createField
signature changed
The old method signature is createField(string $name, array $data = [])
The new method signature is createField(string $name, string $type = 'text', array $arguments = [])
Custom implementations need to be changed to match the new signature after the upgrade.
Also, change any custom code calling the method to use the new signature, and plugins on createField
referring to the arguments need to be changed accordingly, too.
Method getFactoryFor
added
Custom form implementations need to implement the method unless they extend from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Method getSaveService
added
Custom form implementations need to implement the method unless they extend from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Method registerModificationListener
added
Custom form implementations need to implement the method unless they extend from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Method unregisterModificationListener
added
Custom form implementations need to implement the method unless they extend from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Method dispatchModificationHook
added
Custom form implementations need to implement the method unless they extend from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Class \Hyva\Checkout\Magewire\Checkout\AddressView\AbstractMagewireAddressForm
Method updatingAddressCountryId
removed
Now the generic lifecycle method updated($value, $name)
is used.
This potentially affects custom plugins for updatingAddressCountryId
.
If such plugins exist in your Magento instance, before upgrading, add a matching plugin for the updated
method.
In the plugin, place your custom code in a condition checking
After the upgrade, the original plugin method on updatingAddressCountryId
can be removed.
saveDateTime
and getSaveDateTime()
deprecated
The property and the method still exist, but they have been deprecated without a replacement. If you are referring to these in your code, please change your code to keep track of the value with custom logic depending on your needs.
Any plugins to getSaveDateTime
will no longer be executed after the upgrade, because the method is no longer called.
Interface \Hyva\Checkout\Model\Form\EntityFormInterface
Method submit
signature changed
Previously, the values to submit to a form were passed as an array argument to the submit
method.
After the upgrade, submit
no longer receives an argument.
The values should instead be set on the form using $form->fill($values)
, followed by $form->submit()
without any argument.
Method createField
signature changed
The old method signature is createField(string $name, array $data = [])
The new method signature is createField(string $name, string $type = 'text', array $arguments = [])
After the upgrade, change any custom code calling the method to use the new signature.
Also, plugins on createField
referring to the arguments need to be changed accordingly.
Method store
removed
Previously this method was called by the frontend via Magewire to trigger state synchronization. The store
method implementation in AbstractEntityForm
did nothing at all.
If code in your instance calls the method store
on a form instance, the call can be removed without issues.
New method group
The purpose of the method is to assign an array of elements as relatives to an ancestor.
Add this method to custom entity form implementations before the upgrade unless your custom form implementation extends from \Hyva\Checkout\Model\Form\AbstractEntityForm
which provides a default implementation.
Method fill
signature changed
Custom form implementations need to change the fill
method to match the new signature defined in the interface.
This will only affect custom implementations not extending from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
The signature change is backward compatible for custom code calling fill
, so no change is required there.
Plugins to the method should also continue to work without changes.
Method addField
signature changed
The old method signature is public function addField(string $name, EntityFieldInterface $field)
The new method signature is public function addField(EntityFieldInterface $field)
Custom form implementations need to change the fill
method to match the new signature defined in the interface.
This will only affect custom implementations not extending from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Custom code calling addField
will need to be changed after the upgrade to no longer supply the field name as the first argument.
Method removeField
signature changed
The old method signature is public function removeField(string $name)
The new method signature is public function removeField(EntityFieldInterface $field)
Custom form implementations need to change the removeField
method to match the new signature defined in the interface unless they extend from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Custom code calling the method needs to be changed after the upgrade to supply the field instance instead of the field name.
Method createElement
added
Custom form implementations need to implement the method unless they extend from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Method addElement
added
Custom form implementations need to implement the method unless they extend from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Method getElement
added
Custom form implementations need to implement the method unless they extend from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Method removeElement
added
Custom form implementations need to implement the method unless they extend from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Method reinstateElement
added
Custom form implementations need to implement the method unless they extend from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Method createField
signature changed
The old method signature is createField(string $name, array $data = [])
The new method signature is createField(string $name, string $type = 'text', array $arguments = [])
Custom implementations need to be changed to match the new signature after the upgrade.
Also, change any custom code calling the method to use the new signature and plugins on createField
referring to the arguments need to be changed accordingly, too.
Method getFactoryFor
added
Custom form implementations need to implement the method unless they extend from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Method getSaveService
added
Custom form implementations need to implement the method unless they extend from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Method registerModificationListener
added
Custom form implementations need to implement the method unless they extend from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Method unregisterModificationListener
added
Custom form implementations need to implement the method unless they extend from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Method dispatchModificationHook
added
Custom form implementations need to implement the method unless they extend from \Hyva\Checkout\Model\Form\AbstractEntityForm
.
Interface \Hyva\Checkout\Magewire\Checkout\AddressView\MagewireAddressFormInterface
Method getAutoSaveTimeout
deprecated
The method remains in the interface for backward compatibility.
Instead of the method, the $autoSaveTimeout
public property of the implementation \Hyva\Checkout\Magewire\Checkout\AddressView\AbstractMagewireAddressForm
should be used.
If code in your instance calls getAutoSaveTimeout()
on Magewire components, no action is required.
If there are plugins to getAutoSaveTimeout
in your instance, they probably to be changed since the getAutoSaveTimeout
method is no longer called, and thus the plugins will not be executed.
Method canSaveToAddressBook
deprecated
The method remains in the interface for backward compatibility.
It is no longer called, so any plugins on the method will no longer be triggered.
Instead of this method, the form modifier \Hyva\Checkout\Model\Form\EntityFormModifier\WithAuthenticationModifier
now registers a hook method that adds the "Save to Address Book" field if possible.
Class \Hyva\Checkout\Model\Component\AbstractAddressType
Method getComponentViewBlock
is now abstract
As before, the method is also declared in the interface \Hyva\Checkout\Model\Component\AddressTypeInterface
.
Now however, the getComponentViewBlock
method is declared as abstract on AbstractAddressType
, so any implementing class is required to implement it.
Example implementations can be found in the child classes AddressTypeBilling
or AddressTypeShipping
.
This will only impact you if you implement AbstractAddressType
in custom code. In that case, you now will need to implement the method.
The previous default implementation simply returned false
.
Class \Hyva\Checkout\Model\Form\AbstractEntityForm
Method __construct
signature change
A new optional constructor argument $factories = []
was added as the last parameter.
If an implementation of AbstractEntityForm
overrides the default constructor, the new argument needs to be added to the constructor signature and passed to the parent constructor.
Technically, the new argument is optional (it defaults to an empty array), but if it is empty, an undefined index exception will be thrown, so it needs to be present.
Method store
removed
Previously this method was called by the frontend via Magewire to trigger state synchronization. The store
method itself did nothing at all.
If code in your instance calls the method store
on a form instance, the call can be removed without issues.
New abstract method populate
This will only affect custom implementations of AbstractEntityForm
.
In this case, have a look at one of the implementations of the method in EavAttributeBillingAddressForm
or EavAttributeShippingAddressForm
.
The purpose of the method is to create all required form field elements and add them to the form instance.
New abstract method getTitle
As with populate
, this change will only affect custom implementations of AbstractEntityForm
.
The method simply returns the form name as an (untranslated) string.
Protected property entityFormFieldFactory
removed
Instead of calling $this->entityFormFieldFactory->createField(...)
, use $this->createField(...)
and pass the type of field to create as a fourth argument.
The possible field factory types are the array keys declared in etc/frontend/di.xml
for the Hyva\Checkout\Model\Form\AbstractEntityForm
argument factories
, that is, one of elements
, fields
or eav_fields
.
For example:
Protected property layout
deprecated
The property remains present for backward compatibility. The reason it is deprecated is that referring to it in the form is a layer violation.
The form instance should not directly handle rendering. This should instead be handled by renderer blocks, Magewire components, or view models.
No action is required before upgrading, but should there be a custom form implementation in your instance, we recommend refactoring the code accordingly.
Protected property $fields
renamed to $elements
This change will impact instances with custom form implementations extending from AbstractEntityForm
.
Before the upgrade, change your code to create a temporary getter or setter that uses either $this->fields
- if it is present, or $this->elements
as a fallback.
For example:
public function myGetFields()
{
return property_exists($this, 'fields') ? $this->fields : $this->elements;
}
public function mySetField($key, $value)
{
if (property_exists($this, 'fields')) {
$this->fields[$key] = $value;
} else {
$this->elements[$key] = $value;
}
}
After the upgrade, the custom form implementation can be changed to refer to $this->elements
directly, and the temporary getter and setter can be removed.
Interface \Hyva\Checkout\Model\Form\EntityFieldFactoryInterface
renamed to EntityElementFactoryInterface
This change will affect any custom field factory implementation, or any custom form implementation that depends on the interface.
Should this be the case in your instance, be aware the required changes can not be done before the upgrade to keep your code compatible.
After the upgrade, change your code accordingly to use the new interface.
Class \Hyva\Checkout\Model\Form\EntityField\Config\EavAttributeMappingConfig
Method hasTooltip
removed
Before the upgrade, plugins to this method have to be changed to use getTooltip
instead, as the original method will no longer be called.
Custom code calling hasTooltip
needs to be changed to use getTooltip
and use the return value in a boolean context instead.
Interface \Hyva\Checkout\Model\Form\EntityField\EavAttributeMappingConfigInterface
Method getComment
added
Before the upgrade, add this method to custom implementations of the interface.
Class \Hyva\Checkout\Model\Form\EntityField\EavEntityAddress\RegionAttributeField
Method setIsRequired
removed
The isRequired
method now returns $this->attribute->getIsRequired() || $this->getConfig()->getRequired()
, so setting it via property is no longer possible.
Plugins to this method and custom code calling it need to be changed accordingly before the upgrade.
Class \Hyva\Checkout\Model\Form\EntityField\Renderer\Regular
removed
The class is replaced by \Hyva\Checkout\Model\Form\EntityFormElement\Renderer\Element
.
The method signatures also changed slightly, as the $form
argument is no longer required.
The new renderer class also implements a new interface \Hyva\Checkout\Model\Form\EntityFormElement\RendererInterface
instead of the old \Hyva\Checkout\Model\Form\EntityField\RendererInterface
.
Class \Hyva\Checkout\Model\Form\EntityFormModifier\MagewireAddressModifier
Method applyCustomModificationsForField
removed
Plugins to this method will no longer be triggered after the upgrade. Before the upgrade, implement the same customizations that were done in the plugin using the new form modifier API.
The same is true for custom code calling the method.
Method applyHyvaValidationApiModifications
signature changed
Custom code calling the method as well as plugins to the method have to be changed accordingly after the upgrade.
Method withComponent
removed
Plugins to this method will no longer be triggered after the upgrade.
Custom code calling the method will cease to function.
Change the code to use the new form modifier API, where the component can be received as an argument in specific hook method callbacks.
Class \Hyva\Checkout\Model\Form\EntityFormModifier\MagewireAuthenticationModifier
Method withEmail
removed
Plugins to this method will no longer be triggered after the upgrade.
Custom code calling the method will cease to function.
Change the code to use the new form modifier API, where the field value can be retrieved by from the email form field.
Method withComponent
removed
Plugins to this method will no longer be triggered after the upgrade.
Custom code calling the method will cease to function.
Change the code to use the new form modifier API, where the component can be received as an argument in specific hook method callbacks.
Class \Hyva\Checkout\ViewModel\Checkout\AddressView
Method __construct
signature change
The constructor of the abstract class AddressView
changed.
After the upgrade, all custom implementations overriding the constructor need to be changed to pass all required arguments to the parent.
Class \Hyva\Checkout\ViewModel\Checkout\AddressView\AbstractAddressList
Method __construct
signature change
The constructor of the abstract class AbstractAddressList
changed.
After the upgrade, all custom implementations overriding the constructor need to be changed to pass only the required arguments to the parent.
Interface \Hyva\Checkout\ViewModel\Checkout\AddressView\AddressListInterface
Method getAddressListItems
signature changed
The return type changed from being not declared to array
.
Any custom implementation not extending from \Hyva\Checkout\ViewModel\Checkout\AddressView\AbstractAddressList
needs to be changed after the upgrade to match the new signature.
Interface \Hyva\Checkout\Model\Form\EntityFormFieldsFilterInterface
removed
The interface was never used, so any custom implementations need to be changed to use a custom interface instead.
Interface \Hyva\Checkout\Model\Form\EntityField\RendererInterface
deprecated
The new release introduces the concept of form elements, which are a superset of form fields.
Because of this change, the new interface Hyva\Checkout\Model\Form\EntityFormElement\RendererInterface
was introduced as a replacement.
The old interface remains for backward compatibility, but because the signatures of the methods it defines are incompatible with the same methods in the new interface, it can no longer be used.
After the upgrade, and custom code referring to EntityField\RendererInterface
has to be changed to refer to EntityFormElement\RendererInterface
instead.