Upgrade guide: 1.4.x → 1.5.0
1.5.0 is not released yet (2026-09-28). Upgrades were run on test stacks only: 1.4.1 → 1.5.0 on Magento 2.4.7-p4, and 1.4.0 → a 1.5.0-RC1 test package through Composer on 2.4.7-p9 with Hyvä, MSI and Redis (Supported versions). 1.5.0 builds on 1.4.1 (released 2026-09-27); a store on 1.4.0 can upgrade directly.
In short
Nothing changes for your shoppers until you switch it on — twice. 1.5.0 adds signed customer identity and My orders; both are off in the module (per website) and off at Conviro (per workspace) after the upgrade. Until both sides are on, the store behaves exactly like 1.4.x: the same widget, greeting, chat and guest order lookup.
Before you upgrade
- 1.4.x first. Upgrading from 1.3.x? Follow the 1.3 → 1.4 guide first — everything there applies.
- PHP's sodium extension (
ext-sodium) must be loaded for the PHP that runs Composer, the web server and cron. 1.5.0'scomposer.jsonrequires it, so Composer refuses the upgrade on a PHP without it (and the store stays on 1.4.x). Check withphp -m | grep sodiumfor each PHP. - Magento 2.4.4+ and PHP 7.4 / 8.1–8.4 as for 1.4.x.
- Magento cron must run (as for 1.4.x).
- Take your usual backup.
Commands
As the owner of the Magento files, never root; production mode shown:
bin/magento maintenance:enable
composer require 'conviro/module-aichat:^1.5.0'
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f en_US <your store locales>
bin/magento cache:flush
bin/magento maintenance:disable
setup:di:compile and the static deploy are required in production mode (new classes and constructor arguments; the storefront loader changed). Each step and the release-directory method: Installation.
What the upgrade changes
| Schema | one new table, conviro_identity_binding (declarative schema; empty until signed identity is used). No change to existing tables. |
| Data patches | none. No key is generated and nothing is sent to Conviro by the upgrade itself. |
| Configuration | new group Signed Customer Identity (beta) — every switch No / This store view only by default (Configuration reference). |
| Integration permissions | unchanged. The new Conviro_AiChat::api_customer_orders is granted only once you switch My orders on. |
| Storefront | the loader file changed (deploy static content); a guest page still makes no identity request; a signed-in page makes none either until the switch is on and the shopper opens the chat. |
| Cron | new job conviro_purge_identity_bindings (hourly, deletes binding rows older than a day). |
| Admin | the Customer Experience & Identity card (shows "off") and one summary line on Integration Health. |
| Conviro | the store reports version 1.5.0 and announces the feature (identityBridge), with the capability off. |
Switching it on
Both sides, in any order — nothing happens until both are on:
- Ask Conviro to switch on
magento_identity_bridge(andmagento_my_ordersfor My orders) for your workspace. - In Magento, per website: Enable signed customer identity = Yes (and Show verified shoppers their own orders = Yes), Save Config.
- Check the card and run Test identity bridge (How to enable).
Rolling back
In order of preference — the first one is enough in almost every case:
- Switches off (no deploy): set the module switches to No and Save Config — the store stops signing at once and the next registration withdraws the order-read permission; or ask Conviro to switch the platform flag off — verifications end within about a minute. Shoppers are back to the 1.4.x experience.
- Module back to 1.4.x: restore the previous code (Composer
conviro/module-aichat:1.4.x) — beforesetup:upgraderan, restore the code and compile; after it ran, restore the database backup together with the old code, because Magento refuses older module code against a newer schema version. A 1.4.x registration no longer announces the feature, so Conviro revokes the store's identity keys; theconviro_identity_bindingtable, if left, is unused. The identity settings stay incore_config_data, unused. - Conviro backend to the previous release (Conviro's side): the identity routes disappear; a 1.5.0 module then shows "the Conviro backend does not support it yet" and everything else keeps working. Conviro's new tables stay, unused.
Checks after the upgrade
- Integration Health: every row as before; the summary line says Customer identity: off.
- The storefront: Check storefront finds this release's loader.
- Nothing else is expected to differ until you switch the feature on.