Update from v3.3.x to v3.3.latest¶
This update procedure applies if you are using a v3.3 installation without the latest maintenance release.
Go through the following steps to update to the latest maintenance release of v3.3 (v3.3.40).
Note
You can only update to the latest patch release of 3.3.x.
Update the application¶
Note
If you are using v3.3.15 or earlier v3.3 version, or encounter an error related to flex.ibexa.co, you need to update your Flex server first.
Run:
1 |
|
1 |
|
1 |
|
To avoid deprecations when updating from an older PHP version to PHP 8.2 or 8.3, run the following commands:
1 2 |
|
Update Flex server¶
The flex.ibexa.co
Flex server has been disabled.
If you are using v3.3.15 or earlier v3.3 version, you need to update your Flex server.
In your composer.json
check whether the https://flex.ibexa.co
endpoint is still listed in extra.symfony.endpoint
.
If that's the case, you need to perform the following update procedure.
First, update the symfony/flex
bundle to handle the new endpoint:
1 |
|
Then, replace the https://flex.ibexa.co
endpoint with the new https://api.github.com/repos/ibexa/recipes/contents/index.json?ref=flex/main
endpoint in composer.json
under extra.symfony.endpoint
.
You can do it manually, or by running the following command:
1 |
|
Next, continue with updating the app:
1 2 |
|
1 2 |
|
1 2 |
|
Review the changes to make sure your custom configuration wasn't affected.
Remove the vendor
folder to prevent issues related to the new Flex server.
Then, perform a database upgrade and other steps relevant to the version you are updating to.
Clear Redis cache
If you are using Redis as your persistence cache storage you should always clear it manually after an upgrade. You can do it by executing the following command:
1 |
|
v3.3.2¶
Update entity managers¶
Version v3.3.2 introduces new entity managers. To ensure that they work in multi-repository setups, you must update the Doctrine schema. You do this manually by following this procedure:
-
Update your project to v3.3.2 and run the
php bin/console cache:clear
command to generate the service container. -
Run the following command to discover the names of the new entity managers. Take note of the names that you discover:
php bin/console debug:container --parameter=doctrine.entity_managers --format=json | grep ibexa_
-
For every entity manager prefixed with
ibexa_
, run the following command:php bin/console doctrine:schema:update --em=<ENTITY_MANAGER_NAME> --dump-sql
-
Review the queries and ensure that there are no harmful changes that could affect your data.
-
For every entity manager prefixed with
ibexa_
, run the following command to run queries on the database:php bin/console doctrine:schema:update --em=<ENTITY_MANAGER_NAME> --force
VCL configuration for Fastly¶
If you use Fastly, deploy the most up-to-date VCL configuration.
Locate the vendor/ezsystems/ezplatform-http-cache-fastly/fastly/ez_main.vcl
file, make sure that it has been updated with the following changes, and upload it to your Fastly:
- Add the following lines:
1 2 3 |
|
- Move the
#FASTLY recv
macro call to a new location, right after thePreserve X-Forwarded-For in all requests
section.
Optimize workflow queries¶
Run the following SQL queries to optimize workflow performance:
1 2 |
|
Enable Commerce features¶
Commerce features in Experience and Content editions are disabled by default.
If you use these features, after the update enable Commerce features by going to config\packages\ecommerce.yaml
and setting the following:
1 2 3 4 5 |
|
Next, run the following command:
1 |
|
Database update¶
If you are using MySQL, run the following update script:
1 |
|
v3.3.4¶
Migration Bundle¶
Remove Kaliop\eZMigrationBundle\eZMigrationBundle::class => ['all' => true],
from config/bundles.php
before running composer require
.
Then, in composer.json
, set minimum stability to stable
:
1 |
|
v3.3.6¶
Symfony 5.3¶
To update to Symfony 5.3, update the following package versions in your composer.json
,
including the Symfony version (line 9):
1 2 3 4 5 6 7 8 9 10 11 |
|
See https://github.com/ibexa/website-skeleton/pull/5/files for details of the package version change.
v3.3.7¶
Commerce configuration¶
If you are using Commerce, run the following migration action to update the way Commerce configuration is stored:
1 2 3 |
|
Database update¶
Run the following scripts:
1 |
|
1 |
|
Ibexa Open Source¶
If you have no access to Ibexa DXP's ibexa/installer
package, apply the following database upgrade script:
1 2 3 4 5 6 7 8 9 |
|
1 2 3 4 5 6 7 8 9 |
|
v3.3.9¶
Database update¶
Run the following scripts:
1 |
|
1 |
|
v3.3.13¶
Symfony 5.4
Prior to v3.3.13, Symfony 5.3 was used by default.
If you are still using Symfony 5.3, you need to update your installation to Symfony 5.4.
To do this, update your composer.json
to refer to 5.4.*
instead or 5.3.*
.
Refer to the relevant website skeleton: content, experience, commerce.
The following sed
commands should update the relevant lines.
Use them with caution and properly check the result:
1 2 |
|
After this composer.json
update, run composer update "symfony/*"
.
You may need to adapt configuration to fit the new minor version of Symfony.
For example, you might have to remove timeout
related config from nelmio_solarium
bundle config:
1 2 |
|
v3.3.14¶
VCL configuration¶
Update your Varnish VCL file to align with docs/varnish/vcl/varnish5.vcl
.
Make sure it contains the highlighted additions.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
v3.3.15¶
Adapt your composer.json
file according to manifest.json
, by adding and moving the following lines:
1 2 3 4 5 6 7 8 9 |
|
v3.3.16¶
See Update Flex server.
v3.3.24¶
VCL configuration for Fastly¶
Ibexa DXP now supports Fastly shielding. If you are using Fastly and want to use shielding, you need to update your VCL files.
Tip
Even if you do not plan to use Fastly shielding, it is recommended to update the VCL files for future compatibility.
- Locate the
vendor/ezsystems/ezplatform-http-cache-fastly/fastly/ez_main.vcl
file and update your VCL file with the recent changes. - Do the same with
vendor/ezsystems/ezplatform-http-cache-fastly/fastly/ez_user_hash.vcl
. - Upload a new
snippet_re_enable_shielding.vcl
snippet file, based onvendor/ezsystems/ezplatform-http-cache-fastly/fastly/snippet_re_enable_shielding.vcl
.
v3.3.25¶
Database update¶
On Experience or Commerce edition, run the following scripts:
1 |
|
1 |
|
v3.3.28¶
Ensure password safety¶
Following Security advisory: IBEXA-SA-2022-009, unless you can verify based on your log files that the vulnerability hasn't been exploited, you should revoke passwords for all affected users.
v3.3.34¶
Database update¶
Run the following scripts:
1 |
|
1 |
|
v3.3.40¶
A command to deal with duplicated database entries, as reported in IBX-8562, will be available soon.