The LokiCheckout packages were initially (mid-2024 to mid-2025) developed with a namespace Yireo\LokiCheckout\
. However, because the LokiCheckout becomes more and more an entity separate from the company Yireo, it was decided to rename things drastically - mainly to drop the Yireo prefix.
The major renaming of PHP namespaces, composer packages and Magento modules was a change that changed almost every single file. This has led - following semantic versioning - to major versions for the various packages, except for the packages still full in developent (@dev
or 0.0.*
). For instance, the main package yireo/magento2-loki-checkout-core
was renamed to loki-checkout/magento2-core
which bumped the version from 1.X to 2.0. This document outlines the various steps to take in upgrading a Magento instance.
yireo/magento2-loki-checkout
(Yireo_LokiCheckout
) was renamed to loki-checkout/magento2-core
(LokiCheckout_Core
);yireo/magento2-loki-checkout-*
(Yireo_LokiCheckout*
) were renamed to loki-checkout/magento2-*
(LokiCheckout_*
);loki-checkout/magento2-core-adminhtml
(LokiCheckout_CoreAdminhtml
) and loki-checkout/magento2-core-cli
(LokiCheckout_CoreCli
);yireo/magento2-loki-components-debugger
(Yireo_LokiComponentsDebugger
) was renamed to loki/magento2-debugger
(Loki_Debugger
);yireo/magento2-loki-*
(Yireo_Loki*
) were renamed to loki/magento2-*
(Loki_*
);Yireo\LokiCheckout\*
were renamed to LokiCheckout\*
;Yireo\LokiComponents\*
were renamed to Loki\Components\*
;Yireo\LokiFieldComponents\*
were renamed to Loki\Field\*
;Yireo\LokiMapComponents\*
were renamed to Loki\Map\*
;
The upgrade of composer packages could take place via either the CLI or a manual editing of the composer.json
file. When upgrading things from the CLI, it is almost best to simply remove the LokiCheckout packages and re-add them. This automatically takes care of all versioning as well.
First dump all Loki packages to a temporary file:
composer show -N | grep loki > old-packages.txt
This file old-packages.txt
might look something like the following:
yireo/magento2-loki-checkout
yireo/magento2-loki-checkout-mollie
yireo/magento2-loki-checkout-postcode-nl
yireo/magento2-loki-checkout-edit-cart
yireo/magento2-loki-checkout-customer-note
yireo/magento2-loki-components
yireo/magento2-loki-components-debugger
yireo/magento2-loki-field-components
Now, the packages need to be renamed, for instance by copying old-packages.txt
to new-packages.txt
. In the case of the packages above, the output of new-packages.txt
is:
loki-checkout/magento2-core
loki-checkout/magento2-mollie
loki-checkout/magento2-postcode-nl
loki-checkout/magento2-edit-cart
loki-checkout/magento2-customer-note
loki/magento2-loki-components
loki/magento2-loki-debugger
loki/magento2-field-components
composer remove `cat old-packages.txt`
composer require `cat old-packages.txt`
Instead of using the commands above, you might as well just open up the composer.json
file directly and make the changes there. However, note that composer replacements and dependency calculations might make things a bit more difficult. Because of this, we recommend you - after making the changes to composer.json
- to remove the vendor/
folder and composer.lock
file and recalculate all versions and dependencies again.
rm -r vendor/ composer.lock
composer install
The functionality of backend pages and the CLI has been moved from the main core package to separate packages. The backend pages are handy for troubleshooting, so we recommend installing this:
comopser require loki-checkout/magento2-core-adminhtml
The CLI package is - currently - only needed if you are using a Luma theme:
comopser require loki-checkout/magento2-core-cli
app/etc/config.php
All modules related to the LokiCheckout need to renamed as well in the file app/etc/config.php
.
The old contents might look like the following:
<?php
return [
'modules' => [
...
'Yireo_LokiComponents' => 1,
'Yireo_LokiFieldComponents' => 1,
'Yireo_LokiMapComponents' => 1,
'Yireo_LokiCheckout' => 1,
...
]
];
The new contents might look like the following:
<?php
return [
'modules' => [
...
'Loki_Components' => 1,
'Loki_FieldComponents' => 1,
'Loki_MapComponents' => 1,
'LokiCheckout_Core' => 1,
'LokiCheckout_CoreAdminhtml' => 1,
'LokiCheckout_CoreCli' => 1,
...
]
];
If you have created template overrides, XML layout enhancements or PHP code that hooks into the LokiCheckout, it is required to update that code as well. Commonly, this includes changes in the XML layout when it comes to Magento module names and/or PHP namespaces.
To detect code that needs updating, you might use the following command:
grep -ri yireo app/design/frontend/ | grep -i loki
Flush the cache, preferably by flushing Redis (redis-cli flushall
) or removing the var/cache/
folder (or both).
Remove the generated/
folder.
Next, run the following to make sure the database is properly upgraded as well:
bin/magento setup:upgrade
Finally, it is good to double-check that things are working in the Developer Mode:
bin/magento deploy:mode:set developer
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f
bin/magento deploy:mode:set developer
If this works in the Developer Mode, it probably works in the Production Mode as well.