Skip to content

2002.0.13

Compare
Choose a tag to compare
@shiftedreality shiftedreality released this 07 Aug 14:14
· 254 commits to 2002.0 since this release
4d74a96

Changelog (35 related PRs)

  • Enable zero-downtime deployment—Now Magento Cloud queues requests with required database changes during deployment and applies the changes as soon as the deployment completes. Requests can be held for up to 5 minutes to ensure that no sessions are lost. See Static content deployment options to reduce deployment downtime on Cloud.

  • Docker Compose for Cloud—Made the following improvements to the Docker setup and configuration process:

    • Added a command—docker:config:convert to convert PHP configuration files to Docker ENV format to simplify environment configuration. Now, you copy the PHP configuration files to the Docker directory and convert them to Docker ENV files.
    • The Magento Cloud installation process now supports deploying to both read-only and read-write file systems to more closely emulate the Cloud file system.
    • Redis service support—Added a Redis image, which is deployed to a Docker container and configured automatically to work with your Docker installation.
    • Varnish service support— Added a Varnish image, which is deployed automatically to a Docker container. After deployment, you can manually configure Varnish following Magento best practices.
    • Secure site access—Added SSL support to access your Magento store and Admin panel.
  • Improved ECE-Tools extension support—Downgraded the minimum version requirement for the guzzlehttp/guzzle package in the ECE-Tools composer.json file to version 6.2 so that the ECE-Tools package is compatible with more extensions.

  • Apply custom changes to your Magento application during the build phase—We split the build phase into two separate processes so that you can use hooks to apply custom changes to the generated static content before packaging the application for deployment. The build:generate process generates code, applies patches, and generates static content. The build:transfer process transfers the generated code and static content to the final destination.

  • Environment configuration checks—Improved validation of the environment configuration to warn customers about version incompatibilities and configuration errors before building and deploying Magento Cloud.

    • Added version-specific validation to identify unsupported or deprecated environment variables and values.
    • Added an Elasticsearch compatibility check to warn users about Elasticsearch configuration issues. Now, the deployment fails if the version of Elasticsearch service on the server is incompatible with Magento. Previously, the deployment succeeded even if the Elasticsearch version was incompatible, which caused product catalog issues after site deployment.
      You can resolve the incompatibility by submitting a Support ticket to upgrade Elasticsearch to a compatible version, or change the Magento configuration to specify a compatible version of the Elasticsearch PHP client.
      • For Magento version 2.1.x to 2.2.2, upgrade Elasticsearch to version 2.4.
      • For Magento version 2.2.3 and later, upgrade Elasticsearch to version 5.2.
      • If you have Elasticsearch 1.x or 2.x and do not want to upgrade, update the Magento Elasticsearch PHP client version requirement in composer.json to "elasticsearch/elasticsearch": "~2.0".
    • Improved validation of environment variables to identify configuration settings that can cause conflicts during the build, deploy, and post-deploy phases. For example, a warning message displays during the install and upgrade process if the global setting for static content deployment conflicts with settings on the build or deploy phase.
  • Environment variable updates—Changed the following environment variables:

    • SKIP_HTML_MINIFICATION global variable—Changed the default value to true to enable on-demand HTML content minification, which minimizes downtime when deploying to Staging and Production environments. This configuration is required for zero-downtime deployments.
    • CLEAN_STATIC_FILES deploy variable—Added the capability to manage the clean static files processing for static content generated during the build phase based on the CLEAN_STATIC_FILES environment variable setting. Previously, static content files generated during the build phase were always cleaned.
  • Logging—Made the following changes to improve log messages and reduce log size:

    • Deployment failure log entries now include the command output from the operations that cause the failures even if your environment configuration does not specify debug level logging. See MIN_LOGGING_LEVEL.
    • Added logging for deployment failures that occur when generated factories required by some extensions cannot be generated correctly because the file system is in a read-only state.
    • Reduced the deploy log size and fixed formatting issues caused by setup commands that use the interactive progress bar.
    • Eliminated unnecessary verbosity and updated the priority levels for some log statements.
  • Cron-specific fixes

    • Changed the default cron job configuration settings for history lifetime from 3d (4320 min) to 1h (60 min) to prevent performance issues and deployment failures that can occur when the cron queue fills too quickly.
    • Improved the cron job management process during the deploy phase to prevent database locks and other critical issues. Now, all cron jobs stop during the deploy phase and restart after deployment completes.
    • Fixed an issue with the locking mechanism for scheduling consumers launched by cron jobs in Magento versions 2.2.0 and later to prevent cron jobs from launching duplicate consumers.
  • Fixed an issue with the static content compression process (gzip) that caused not overwritten and no such file or directory errors when referencing the compressed file during the deployment process.

  • Fixed an issue that prevented the php ./vendor/bin/ece-tools config:dump command from removing redundant sections from the config.php file during the dump process if the store locale is not specified. Now you can easily move your configuration files between environments. After you update to ECE-Tools v2002.0.13, regenerate older config.php files with the improved config:dump command.

  • Fixed an issue that caused an error during the deploy phase if the route configuration in the .magento/routes.yaml file redirects from an apex domain to a www domain.

  • Fixed an issue with the _merge option for the SEARCH_CONFIGURATION variable that caused incorrect merge results if you do not include the engine parameter in the updated .magento.env.yaml configuration file. Now, the merge operation correctly overwrites only the values you specify in the updated .magento.env.yaml without requiring you to set the engine parameter.

  • Fixed a Redis configuration issue that incorrectly enabled session locking for Magento versions 2.2.1 and later, which can cause slow performance and timeouts. Now, session locking is disabled by default. The issue was caused by a change in the default behavior of the disable_locking parameter introduced in v1.3.4 of the Redis session handler package. See colinmollenhour/php-redis-session-abstract package.