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 Magento Commerce Cloud Suite. The release notes include:

  • New features
  • Fixes and improvements

The ece-tools package uses the following release versioning sequence: 200<major>.<minor>.<patch>.

See Upgrades and patches for information about updating to the latest release of the ece-tools package.

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 Javascript bundling capabilities–Now you can use the Magento Baler module to build optimized JavaScript and HTML content during static content deployment. See Optimize JavaScript and HTML content.

    • 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 the primary: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 Magento to fix any issues that might cause the di:compile and module:refresh steps to fail.

    • Fixed an issue in the Magento installation process that incorrectly returns the Crypt key missing error. The crypt/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 Magento Baler module for JavaScript bundling during the Magento Commerce Cloud 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 Magento 2.3.5 or later. See the variable description in the deploy variables.

  • CLI command updates

    • Updated the following Magento 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.app.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 Magento 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:

      1
      
      Your application does not have the "post_deploy" hook enabled.
      
    • Added validation for Zend Framework dependencies–Added compoer 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.

      1
      2
      3
      4
      
      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.
      

      See Verify Zend Framework dependencies.

    • Added validation for env.php file and data–Added checks for the env.php file and data during the Magento install and upgrade process.

      • If the env.php file is missing from the Magento installation, and the crypt/key value is not specified in the .magento.app.yaml file, the deployment fails with the following notification:

        1
        
        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 Magento installation does not include the env.php file, or the configuration contains only one cache type, the cron:enable command runs during the upgrade process to restore the file with all cache_types. The following notification is added to the log:

        1
        2
        
        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 Magento Cloud Docker–Decoupled the Docker package from the ece-tools package to maintain code quality and provide independent releases. Updates and fixes related to ece-tools are managed from the magento-cloud-docker GitHub repository.

    • Updated patching capabilities–Moved the Magento 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 Magento Cloud patches release notes.

    • Updated Composer dependencies–Updated the composer.json file for Magento Commerce Cloud with a dependency for the magento/magento-cloud-docker package. Now, ece-tools includes dependencies for all packages in the Magento Commerce Cloud Suite. These packages are installed and updated automatically when you install or update ece-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 the hooks 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.

    Before updating to ece-tools version 2002.1.0, review the backward incompatible changes to learn about changes that might require you to update Magento Commerce Cloud project configuration or processes.

  • 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.

    See Service versions for a list of services used in Magento Commerce Cloud and their version compatibility with the Magento Cloud template.

  • 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, and STATIC_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 Magento Commerce Cloud environment using the cron:disable and cron:enable commands. Use the disable command to stop all active cron processes and disable all Magento 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 Magento 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 renamed ece-tools docker commands to ece-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 Magento production mode.

Older releases

See the release notes archive for version 2002.0.22 and earlier.