Skip to content

Update from v4.6.x to v4.6.latest

Update the application

Note which version you actually have before starting.

First, run:

1
2
composer require ibexa/headless:4.6.13 --with-all-dependencies --no-scripts
composer recipes:install ibexa/headless --force -v
1
2
composer require ibexa/experience:4.6.13 --with-all-dependencies --no-scripts
composer recipes:install ibexa/experience --force -v
1
2
composer require ibexa/commerce:4.6.13 --with-all-dependencies --no-scripts
composer recipes:install ibexa/commerce --force -v

Then execute the instructions below starting from the version you're upgrading from.

v4.6.2

Database update

Run the following scripts:

1
mysql -u <username> -p <password> <database_name> < vendor/ibexa/installer/upgrade/db/mysql/ibexa-4.6.1-to-4.6.2.sql
1
psql <database_name> < vendor/ibexa/installer/upgrade/db/postgresql/ibexa-4.6.1-to-4.6.2.sql

v4.6.3

Notification config update

The configuration of the package ibexa/notifications has changed. This package is required by other packages, such as ibexa/connector-actito for Transactional emails, ibexa/payment, or ibexa/user.

If you are customizing the configuration of the ibexa/notifications package, and using SiteAccess aware configuration to change the Notification subscriptions, you have to manually change your configuration by using the new node name notifier instead of the old notifications.

For example, the following v4.6.2 config:

1
2
3
4
5
6
7
8
ibexa:
    system:
        my_siteacces_name:
            notifications: # old
                subscriptions:
                    Ibexa\Contracts\Shipping\Notification\ShipmentStatusChange:
                        channels:
                            - sms

becomes the following from v4.6.3:

1
2
3
4
5
6
7
8
ibexa:
    system:
        my_siteacces_name:
            notifier: # new
                subscriptions:
                    Ibexa\Contracts\Shipping\Notification\ShipmentStatusChange:
                        channels:
                            - sms

v4.6.4

Database update

Run the following scripts:

1
mysql -u <username> -p <password> <database_name> < vendor/ibexa/installer/upgrade/db/mysql/ibexa-4.6.3-to-4.6.4.sql
1
psql <database_name> < vendor/ibexa/installer/upgrade/db/postgresql/ibexa-4.6.3-to-4.6.4.sql

v4.6.8

To avoid deprecations when updating from an older PHP version to PHP 8.2 or 8.3, run the following commands:

1
2
composer config extra.runtime.error_handler "\\Ibexa\\Contracts\\Core\\MVC\\Symfony\\ErrorHandler\\Php82HideDeprecationsErrorHandler"
composer dump-autoload

v4.6.9

No additional steps needed.

v4.6.10

No additional steps needed.

v4.6.11

Ibexa Cloud

Update Platform.sh configuration for PHP and Varnish.

Generate new configuration with the following command:

1
composer ibexa:setup --platformsh

Review the changes applied to .platform.app.yaml and .platform/, merge with your custom settings if needed, and commit them to Git.

v4.6.12

If the new bundle ibexa/core-search has not been added by the recipes, enable it by adding the following line in config/bundles.php:

1
    Ibexa\Bundle\CoreSearch\IbexaCoreSearchBundle::class => ['all' => true],

v4.6.13

This release comes with a command to clean up the duplicated entries in the ezcontentobject_attribute table, caused by the issue described in IBX-8562.

If you're affected you can remove the duplicated entries by running the following command:

1
php bin/console ibexa:content:remove-duplicate-fields

Caution

Remember about proper database backup before running the command in the production environment.

You can customize the behavior of the command with the following options:

  • batch-size or b - number of attributes affected per iteration. Default value = 10000.
  • max-iterations or i - max. iterations count (default or -1: unlimited). Default value = -1.
  • sleep or s - wait time between iterations, in milliseconds. Default value = 0.