ECE-Tools release notes
The ece-tools package is a set of scripts and tools designed to manage and deploy Cloud projects. These release notes describe the latest improvements to this package, which is part of the Cloud Tools Suite for Commerce.
ece-tools
package.The ece-tools
package uses the following release versioning sequence: 200<major>.<minor>.<patch>
The release notes include:
- New features
- Fixes and improvements
v2002.1.17
Release date: January 16, 2024
- Validator for Elasticsearch & OpenSearch—Fixed the validator that produced a misleading message to install a search service when LiveSearch is enabled.
- Deployment warning—Fixed an issue that resulted in deployment warnings about non-empty folders.
v2002.1.16
Release date: October 16, 2023
- ENABLE_WEBHOOKS global environment variable—Added the ENABLE_WEBHOOKS global variable for use with Commerce webhooks to connect to an external endpoint, such as App Builder runtime action or a third-party inventory management system.
v2002.1.15
Release date: July 31, 2023
- Error codes—Updated error code schema and error code document generator.
- Validator for custom Redis model-Updated the validator for custom Redis backend models. See the example for cache configuration.
- Validator for RabbitMQ-Added support for RabbitMQ 3.11
- Fixed the wrong link-Fixed the wrong link to the onboarding documentation in the welcome email template.
v2002.1.14
Release date: March 10, 2023
- PHP—Added support for PHP 8.2.
- Validators for Services—Updated validators for Commerce 2.4.6 required services: MariaDB 10.6, Redis 7.0, PHP 8.2, OpenSearch 2.x, and RabbitMQ 3.9.
-
ece-tools db-dump—Fixed an issue that caused the
db-dump
operation to stop prematurely.
v2002.1.13
Release date: October 27, 2022
- Added support for Adobe I/O Events for Adobe Commerce. Extension developers can now use the Adobe I/O Events framework to send Commerce event information from Cloud instances to their applications written for Adobe App Builder. Adobe I/O Events for Adobe Commerce is in Partner Preview.
- Validator for OPcache configuration—Added a validator to check the OPcache configuration for excluded paths.
-
Fixed an issue with GraphQL cache configuration—Now ECE-Tools keeps the GraphQL
id_salt
value incache
configuration in theapp/etc/env.php
file.
v2002.1.12
Release date: September 13, 2022
-
Enable
synchronous_replication
—ECE-Tools setssynchronous_replication=>true
in theapp/etc/env.php
file whenMYSQL_USE_SLAVE_CONNECTION
is enabled. This configuration affects only Commerce 2.4.6+. See theMYSQL_USE_SLAVE_CONNECTION
variable description in the Deploy variables. -
OpenSearch—Added functionality to configure and set the
opensearch
engine for the next Adobe Commerce release 2.4.6. See Set up OpenSearch service.
v2002.1.11
Release date: August 4, 2022
- ElasticSuite Validator and OpenSearch—Fixed ElasticSuite integrity check validator issue when OpenSearch is installed.
- Return types for deploy commands—Fixed return types for deploy commands.
- RabbitMQ issue with new Commerce 2.4.5 installation—Fixed RabbitMQ crash issue on new Commerce 2.4.5. installation.
v2002.1.10
Release date: March 31, 2022
- Elasticsearch 7.10—Updated validators to support the 7.10 version of Elasticsearch.
v2002.1.9
Release date: March 10, 2022
-
OpenSearch—Added support for OpenSearch for Adobe Commerce versions 2.4.4, 2.4.3-p2, and 2.3.7-p3.
-
PHP—Added support for PHP 8.1.
-
symfony/process—Added the compatibility with symfony/process ^5.3.
-
Consumer multiple processes—Added a
multiple_processes
option so that you can specify the number of processes to spawn for each consumer. See theCRON_CONSUMERS_RUNNER
variable description in the Deploy variables. -
OpenSearch scheme and full host path—Added the ability to configure an Elasticsearch scheme and full host path.
-
AWS S3—Changed the method of AWS S3 enablement.
-
Fix driver_options reader—Added reading driver_options configuration for DB connection from the
env.php
file byece-tools
for validators.
v2002.1.8
Release date: October 25, 2021
-
Alternative dump location—Added the
--dump-directory
option so that you can choose a target directory for a DB dump. Now/app/var/dump-main
is the default target directory for a DB dump. See Backup management: Dump your database -
Update Monolog—Updated the minimum version required for the
monolog
package to^2.3
. - Update Symfony—Updated the Symfony dependencies to be compatible with Adobe Commerce 2.4.4.
-
Feature/resolve autoload—Fixed an issue when deploying to an integration environment and seeing the
CRITICAL: [9] Required configuration is missed in autoload section of composer.json file.
error.
v2002.1.7
Release date: July 29, 2021
Configuration updates—
-
Added support for Composer 2.0.
-
Updated composer requirements for
symphony/console
—Updated the ECE-Toolscomposer.json
version requirements for thesymphony/console
package to fix an issue that caused thedi:compile
commands to fail with the following error:Incompatible argument type: Required type: int. Actual type: string
-
Updated the end-of-life software checks (
eol.yaml
) to include Elasticsearch 7.9.x.
v2002.1.6
Release date: April 20, 2021
-
Redis authentication credentials—Added the ability to read Redis authorization credentials from the
relationships
property during the deploy phase. -
Elasticsearch authorization credentials—Added the ability to read Elasticsearch authorization credentials from the
relationships
property during the deploy phase. -
Dedicated session storage service—Added
redis-session
as a second option for session storage. You can use theredis-session
service to store session information and use theredis
service for cache to provide better performance. -
Deprecated SPLIT_DB messages—Added validator warning and critical messages for the deprecated
SPLIT_DB
option for Adobe Commerce 2.4.2 and its removal in Adobe Commerce 2.5.0. -
Elasticsearch version from relationships—Fixed Service validator to retrieve the correct version of Elasticsearch from the
relationships
properties in Cloud Docker and integration environments. -
Flexible Redis port validation—Redis can now validate the port in a custom cache connection from the
server
URL. For example, you can add your port number to your server URL as follows:server: 'tcp://rfs-store-simple-page-cache:26379'
. This helps prevent validation errors where theport
option is either missing or incorrect. -
Upgrading to Adobe Commerce 2.4.2—Fixed the issue that required users to manually run
bin/magento setup:upgrade
to make their sites operational after upgrading to Adobe Commerce 2.4.2.
v2002.1.5
Release date: February 1, 2021
-
Remote storage—Added the
REMOTE_STORAGE
environment variable to enable Cloud Projects for remote storage of media files using a storage service, such as AWS S3. This configuration option is part of the ECE-Tools package, but is not supported on Adobe Commerce on cloud infrastructure. -
New cloudvalidate command—Added command
php vendor/bin/ece-tools cloud:config:validate
to validate the.magento.env.yaml
configuration before pushing changes to the remote Cloud environment. -
Flushing the opcache—Added support for the
opcache.enable_cli
PHP option to flush the OPcache before running the deploy hook. This configuration resets the cache configuration to ensure that the current configuration settings are applied on each deployment. -
Validation of Aurora DB—Updated the database service validation so that it is compatible with the Aurora database.
-
New SCD_NO_PARENT environment variable—Added the
SCD_NO_PARENT
environment variable (for Adobe Commerce >=2.4.2) to manage the generation of static content for parent themes. -
Memory limits and commands—Fixed an issue where
php vendor/bin/ece-tools
commands would not work if the size of thecloud.log
file exceeded the PHP memory_limit. Instead of reading the entirecloud.log
file into memory, we now only read a smaller subset of data from the log file. -
Custom database connections—Fixed a
.magento.env.yaml
configuration issue in which custom database connections defined forDATABASE_CONFIGURATION
were not used. The connection settings were not being added toapp/etc/env.php
. -
Empty error logs—Fixed an issue that caused deployments to fail if the
cloud.error.log
was empty. -
MariaDB 10.3 validation—Fixed validation of MariaDB 10.3 for Adobe Commerce 2.3.6-p1.
-
Cache:flush logging—Improved log entries to indicate the start and finish of the
cache:flush
step.
v2002.1.4
Release date: November 19, 2020
-
Fixed an issue that caused deployment failure when the search engine specified in the
SEARCH_CONFIGURATION
environment variable is a value other thanelasticsearch
.
v2002.1.3
Release date: November 9, 2020
Infrastructure updates—
-
Added ECE-Tools support for the read-only
pub/static
directory when static content is set to deploy in the build stage. -
Added support for Elasticsearch 7.9 and Redis 6 for compatibility with upcoming Adobe Commerce releases.
-
Updated the ECE-Tools
composer.json
to add a required dependency for the Quality Patches Tool. This fixes a circular dependency that existed between the ECE-Tools and magento-cloud-patches packages.
Validation and log improvements—
-
Added search-engine validation to ensure that
elasticsearch
is set for Adobe Commerce on cloud infrastructure 2.4 and later. If the validation fails, the deployment is stopped with a critical error message that suggests fixes for the issue. See Critical Errors, Deploy stage. -
Added Elasticsearch validation to check the compatibility between the Elasticsearch service version and the Adobe Commerce version.
-
Updated the Elasticsearch compatibility error message to show the versions of Elasticsearch that are compatible with the Adobe Commerce Elasticsearch module. The error message now provides the specific Elasticsearch versions to install in your Cloud infrastructure so that it is compatible with the Elasticsearch module used by your version of Adobe Commerce. See Warning Errors, Deploy stage.
-
Added warning errors
2026
and2027
for invalidMAGE_MODE
environment variable setting. The only valid value isproduction
. Before this fix,MAGE_MODE
could be set todeveloper
without deployment errors, only to cause errors later when trying to write to read-only files. See Warning Errors. -
Fixed validation for Redis, RabbitMQ, and MySQL services to ensure that these versions are compatible with the Adobe Commerce version. Valid versions of these services are now written to the
cloud.log
. -
Updated the
cloud.log
to include the concurrent requests limit for sending requests during cache warmup. This value is configured in the WARM_UP_CONCURRENCY post-deploy variable.
CLI command updates—
-
Added CLI commands (
cloud:config:create
andcloud:config:update
) to create and update the.magento.env.yaml
file with a configuration that can include one or more build, deploy, and post-deploy variables. See Create configuration file from CLI.
Environment variable updates—
-
Added the SKIP_COMPOSER_DUMP_AUTOLOAD build variable. Setting the variable to
true
stops the application from running thecomposer dump-autoload
command during a Cloud Docker for Commerce installation. The variable is only relevant to Cloud Docker for Commerce containers with writable file systems (created for testing and development using./vendor/bin/ece-docker build:compose --with-test
). With such installations, skipping thecomposer dump-autoload
command prevents errors when running other commands that try to access files from a deletedgenerated
directory.
v2002.1.2
Release date: August 5, 2020
Validation and log improvements—
-
Added the
schema.error.yaml
file that includes all error and warning notifications that can occur during the build, deploy, and post-deploy process along with suggestions for resolving the errors. The information in this file is also available in the Cloud Guide for Commerce. See Error message reference for ece-tools. -
Changed the Cloud error log (
/var/log/cloud.error.log
) entries to JSON format to make the log easier to parse programmatically. -
Added additional error checks to build, deploy, and post-deploy processing and improved existing checks:
-
Error code 2026—Failed to restore some data generated during the build phase to the mounted directories
-
Error code 3004—Cannot create backup files
-
Error code 102—Added additional checks for issues that occur when the
env.php
file is not writable
-
-
Added the QUALITY_PATCHES environment variable to specify one or more quality patches to apply during the deployment process. See Build variables.
v2002.1.1
Release date: June 25, 2020
-
Infrastructure updates—
-
Logging improvements—Improved log-tracking capability by assigning exit codes to critical deploy errors and exposing the exit codes in error message notifications and log events. See Error message reference for ece-tools.
-
Improved the process for database dumps (
vendor/bin/ece-tools db-dump
) and updated log messages to clarify that the database dump operation switches the application to maintenance mode, stops consumer queue processes, and disables cron jobs before the dump begins. -
Fixed an issue to ensure that the project URL is updated correctly when deploying to Staging and Production environments. Now,
ece-tools
uses the URL for the route with theprimary:true
attribute set in the project route configuration. See Deploy variables. -
Updated the
generate.xml
build scenario workflow for applying patches. Patches must be applied earlier to update Adobe Commerce to fix any issues that might cause thedi:compile
andmodule:refresh
steps to fail. -
Fixed an issue in the installation process that incorrectly returns the
Crypt key missing
error. Thecrypt/key
value is generated automatically during the installation.
-
-
Service updates—
- Added support for PHP 7.4 and MariaDB 10.4.
-
Environment variable updates—
-
Added the SCD_USE_BALER variable to enable the Baler module for JavaScript bundling during the Adobe Commerce on cloud infrastructure build process. See the variable description in the build variables.
-
Added the REDIS_BACKEND environment variable to configure the Redis backend model for Redis cache for Adobe Commerce 2.3.5 or later. See the variable description in the deploy variables.
-
-
CLI command updates—
-
Updated the following CLI commands with an option for more detailed logging:
app:config:dump
app:config:import
module:enable
The logging level for each call is determined by the configuration of the
VERBOSE_COMMANDS
variable in the.magento.env.yaml
file.
-
-
Validation improvements—
-
Elasticsearch 7.x compatibility checks—Updated Elasticsearch validation for Elasticsearch 7.x software compatibility checks.
-
Updated service version and EOL validation checks—Updated validation to check installed service versions against Adobe Commerce 2.4. requirements.
-
Fixed a validation issue so that the following post-deploy warning message displays only if the
post-deploy
hook configuration is missing from the.magento.app.yaml
file:code language-text Your application does not have the "post_deploy" hook enabled.
-
Added validation for Zend Framework dependencies—Added composer dependency validation for the Zend Framework which has migrated to the Laminas project. If the required dependencies are missing, the following error message displays during the build process.
code language-text Required configuration is missing from the autoload section of the composer.json file. Add ("Laminas\Mvc\Controller\Zend\": "setupsrc/ Zend/Mvc/Controller/") to the `autoload -> psr-4` section. Then, re-run the "composer update" command locally, and commit the updated composer.json and composer.lock files.
-
Added validation for
env.php
file and data—Added checks for theenv.php
file and data during the install and upgrade process.-
If the
env.php
file is missing from the installation, and thecrypt/key
value is not specified in the.magento.app.yaml
file, the deployment fails with the following notification:code language-text The crypt/key key value does not exist in the ./app/etc/env.php file or the CRYPT_KEY cloud environment variable``Missing crypt key for upgrading Magento`.
-
If the installation does not include the
env.php
file, or the configuration contains only one cache type, thecron:enable
command runs during the upgrade process to restore the file with allcache_types
. The following notification is added to the log:code language-text Magento state indicated as installed but configuration file app/etc/env.php was empty or did not exist. Required data will be restored from environment configurations and from the .magento.env.yaml file.
-
-
v2002.1.0
Release date: February 6, 2020
-
Infrastructure updates—
-
Added separate package for Cloud Docker for Commerce—Decoupled the Docker package from the
ece-tools
package to maintain code quality and provide independent releases. Updates and fixes related toece-tools
are managed from the magento-cloud-docker GitHub repository. -
Updated patching capabilities—Moved the patching functionality from the ECE-Tools package to a separate magento-cloud-patches package. During deployment,
ece-tools
uses the new package to apply patches. See Cloud patches release notes. -
Updated Composer dependencies—Updated the
composer.json
file for Adobe Commerce on cloud infrastructure with a dependency for themagento/magento-cloud-docker
package. Now,ece-tools
includes dependencies for all packages in theCloud Tools Suite for Commerce
. These packages are installed and updated automatically when you install or updateece-tools
.
-
-
Support for scenario-based deployments—
-
Now you can customize the build, deploy, and post-deploy processes using XML configuration files to override or customize the default configuration.
-
Changed the
hooks
configuration in.magento.app.yaml
—We updated thehooks
configuration format to support scenario-based deployments. The legacy format from earlier ECE-Tools 2002.0.x release is still supported. However, you must update to the new format to use the scenario-based deployment feature. See Scenario-based deployments.
-
-
Service updates—
-
Added support for PHP 7.3.
-
Added support for RabbitMQ 3.8.
-
Added validation to check installed service versions against the EOL date for each service. Now, customers receive a notification if a service version is within three months of the EOL date, and a warning if the EOL date is in the past.
-
Fixed an Elasticsearch configuration issue to ensure that the correct Elasticsearch settings are configured in all environments.
-
-
Environment variable updates—
-
Extended the functionality of the
WARM_UP_PAGES
environment variable to support cache preloading for specific product pages. See the expanded definition in the post-deploy variables topic. -
Added the
ERROR_REPORT_DIR_NESTING_LEVEL
environment variable to simplify error report data management in the<magento_root>/var/report/
directory. See the variable description in the build variables topic. -
Removed the
SCD_EXCLUDE_THEMES
,STATIC_CONTENT_THREADS
,DO_DEPLOY_STATIC_CONTENT
, andSTATIC_CONTENT_SYMLINK
environment variables. See Backward incompatible changes. -
Fixed an issue in the Elastic Suite configuration process so that the default configuration is overwritten as expected when you configure the
ELASTICSUITE_CONFIGURATION
deploy variable without the_merge
option.
-
-
CLI command updates—
-
New cron command—You can now manually manage cron processing in your Adobe Commerce on cloud infrastructure environment using the
cron:disable
andcron:enable
commands. Use the disable command to stop all active cron processes and disable all cron jobs. Use the enable command to re-enable cron jobs when you are ready. See Disable cron jobs. -
Improved error reporting—Added better logging for CLI command failures that occur during ECE-Tools processing.
-
Remove deprecated build commands— Removed the following build commands:
m2-ece-build
,m2-ece-deploy
,m2-ece-scd-dump
, and renamedece-tools docker
commands toece-docker
. See Backward incompatible changes
-
-
Removed the deprecated
build_options.ini
file and added validation to fail the build if the file exists. Use the .magento.env.yaml file to configure build options. -
Fixed an issue that caused the build process to fail when the
config.php
file is empty.
2002.0.23
Release date: February 27, 2020
-
Fixed a compatibility issue with
ece-tools
2002.0.x releases that prevented on-demand static content generation from completing successfully in production mode.
Older releases
See the release notes archive for version 2002.0.22 and earlier.