Releases: magento/ece-tools
Releases · magento/ece-tools
2002.0.10
Changelog (23 related PRs)
- Static Content Deployment (SCD)—There is a new, alternative deployment process to generate static content when requested (on-demand). This decreases downtime and improves cache handling by generating the most critical assets.
- New environment variable—Added the
SCD_ON_DEMAND
global environment variable to generate static content when requested. - Post-deploy hook—Added a
post_deploy
hook for the.magento.app.yaml
file that clears the cache and pre-loads (warms) the cache after the container begins accepting connections. It is available only for Pro projects that contain Staging and Production environments in the Project Web UI and for Starter projects. Although not required, this works in tandem with theSCD_ON_DEMAND
environment variable.
- New environment variable—Added the
- Optimization—Optimized moving or copying files during deployment to improve deployment speed and decrease loads on the file system.
- Deployment Logging—Added the ability to enable Syslog and Graylog Extended Log Format (GELF) handlers for outputting logs during the deployment process.
- Added the following Environment variables:
CRYPT_KEY
—Provide a cryptographic key to another environment when moving a database.SKIP_HTML_MINIFICATION
—Global environment variable that skips copying the static view files in thevar/view_preprocessed
directory and generates minified HTML when requested.SCD_ON_DEMAND
—Global environment variable to generate static content when requested.WARM_UP_PAGES
—You can list the pages to use to pre-load the cache. Available in the new Post-deploy variables.
- Fixed an issue that involved a locally applied patch breaking the deployment on an instance. Now, ECE-Tools can detect that a patch has been applied.
- Fixed a conflict between JavaScript bundling and GZIP functionality. Now these features work correctly together.
- Fixed an issue that caused ece-tools CLI commands to fail when using earlier PHP 7.0.x versions.
- Fixed an issue that prevented static content deployment with the compact strategy in multiple threads.
- Fixed a Redis session locking issue that caused an Admin login delay. Also, the fix is available for 2.1.x.
2002.0.9
Changelog (29 related PRs)
You must upgrade the Magento Cloud Metapackage to get this and all future updates.
- ECE-Tools—The ECE-Tools package now supports Magento 2.1.x.
- Redis configuration—You can now configure Redis page and default cache and Redis session storage using an environment variable.
- Search, AMQP, and Redis service improvements—We unified the service configuration flow so that it now behaves the same way for all services. Manually editing the
env.php
file to configure services is no longer supported. You must use environment variables or the.magento.env.yaml
file instead. - Environment variables—
- The use of
env:STATIC_CONTENT_THREADS
was deprecated and will be removed in a future release. Use theSTATIC_CONTENT_THREADS
environment variable instead. - The
STATIC_CONTENT_EXCLUDE_THEMES
environment variable was deprecated. You must use theSCD_EXCLUDE_THEMES
environment variable instead.
- The use of
- Logging—We simplified logging around built-in patching operations.
- We removed
developer
mode support and theAPPLICATION_MODE
environment variable because they were causing unexpected behavior. - We fixed an issue that was causing static content deployment failures related to Redis. Now, multi-threaded static content deployment runs as designed.
- We fixed an issue that was preventing users from saving modifications to configuration fields in the Admin, which are marked as sensitive after running the
app:config:dump
command. - We added support for an earlier version of
symfony/yaml
to fix conflicts with some packages, which are not yet compatible with the latest version.
2002.0.8
Changelog (23 related PRs)
We merged vendor/magento/ece-patches
into vendor/magento/ece-tools
in this release. You no longer need to update the vendor/magento/ece-patches
package separately.
- New features
- Improved logging
- We improved log messaging to provide better explanations when the build or deploy process overrides an environment variable.
- You can now view installation and upgrade progress in real time. Tail the
install_update.log
file to view progress. For example,tail -f var/log/install_upgrade.log
- New cron command—You can now unlock specific stuck cron jobs instead of stopping and re-launching all of them with the
cron:unlock
command. Not available in 2.1. - Unified configuration file—You can now configure build and deploy stages using a
.magento.env.yaml
file. - Backup configuration files—The deployment process now automatically creates a backup of the
app/etc/env.php
andapp/etc/config.php
configuration files after deployment. We also added a new CLI command to restore these configuration files from a backup. - Troubleshooting validation errors—We changed the command you must use to resolve validation errors when
config.php
does not contain enough data for static content deployment. Previously, the error message instructed you to runbin/magento app:config:dump
. Now, you must runphp ./vendor/bin/ece-tools config:dump
. - New environment variables—You can now use environment variables to connect custom search and AMQP-based services to your site.
- We implemented smart patching. Now the package applies patches based not on Magento version, but on patched package version.
- Improved logging
- Resolved issues
- We fixed a logging issue that was causing build errors.
- We fixed an issue that was causing timeout exceptions when running deployments in interactive mode.
- We fixed an issue that was causing errors when using the compact strategy for static content generation. Not available in 2.1.
- We fixed an issue that was preventing the deployment script from properly identifying staging and production environments.
- We fixed an issue that was causing network issues to disrupt database connections and cause failures during the installation and upgrade process.
- We fixed an issue preventing you from exporting the configuration files using
app:config:dump
more than once. Not available in 2.1. - We fixed a Redis session locking issue that caused an Admin login delay. Not available in 2.1.
- We fixed an implementation issue related to versioning that was causing a conflict with other Composer-based patching modules.
- We fixed an issue that was causing PHP memory issues during import.
- Removed patch; fixing bug in
colinmollenhour/credis
v1.6 to enable support for Magento 2.2.1. Not available in 2.1.
2002.0.7
Changelog (1 related PR)
- We removed
var/view_preprocessed
symlinking to fix an issue that was causing JavaScript minification conflicts.
2002.0.6
Changelog (4 related PRs)
- We fixed an issue that was causing
gzip
errors when a file or directory name contains spaces. - We fixed an issue that was preventing deployment scripts from properly recognizing and enabling module dependencies.
2002.0.5
Changelog (29 related PRs)
- New features
- Configure a cron consumer with an environment variable—You can now configure cron consumers using the new
CRON_CONSUMERS_RUNNER
environment variable. - Configuration scanning—We now scan for critical components during the build/deploy process and halt the process if the scan fails, which prevents unnecessary downtime due to the site being in maintenance mode.
- Build/deploy notifications—We added a configuration file that you can use to set up Slack and/or email notifications for build/deploy actions in all your environments.
- Static content compression—We now compress static content using gzip during the build and deploy phases. This compression, coupled with Fastly compression, helps reduce the size of your store and increase deployment speed. If necessary, you can disable compression using a build option or deploy variable.
- Configuration management—We now auto-generate an
app/etc/config.php
file in your Git repository during the build phase if it does not already exist. The auto-generated file includes only a list of modules and extensions. If the file already exists, the build phase continues as normal. If you follow Configuration Management at a later time, the commands update the file without requiring additional steps. - Database dumps—We added a
magento/ece-tools
CLI command for creating database dumps in all environments. For Pro plan Production environments, this command only dumps from one of three high-availability nodes, so production data written to a different node during the dump may not be copied. We recommend putting the application in maintenance mode before doing a database dump in Production environments. - Cron interval limitations lifted—The default cron interval for all environments provisioned in the us-3, eu-3, and ap-3 regions is 1 minute. The default cron interval in all other regions is 5 minutes for Pro Integration environments and 1 minute for Pro Staging and Production environments. To modify your existing cron jobs, edit your settings in
.magento.app.yaml
or create a support ticket for Production/Staging environments.
- Configure a cron consumer with an environment variable—You can now configure cron consumers using the new
- Resolved issues
- We fixed an issue that was causing long deploy times due to the deploy process invoking the
cache-clean
operation before static content deployment. - We fixed an issue causing errors during the static content generation step of deployment on Production environments.
- We fixed an issue preventing some
magento/ece-tools
commands from logging output tostderr
. - We fixed an issue preventing base URL values in
env.php
from being updated in forked branches. - We fixed an issue causing the
magento setup:install
command to add an unsecure prefix (http://
) to secure base URLs. - We fixed an issue preventing patch errors from causing deployment failures.
- We fixed an issue preventing
{{site.data.var.ct}}
from halting execution and throwing an exception if no patches can be applied. - We fixed an issue causing errors when loading the storefront after enabling HTML minification in the Magento Admin.
- We fixed an issue that was causing long deploy times due to the deploy process invoking the
2002.0.4
Changelog (2 related PRs)
- You can now manually reset stuck Magento cron jobs using a CLI command in all environments via SSH access. The deployment process automatically resets cron jobs.
2002.0.3
Changelog (1 related PR)
- We fixed an issue that was causing pages to time out because Redis was taking too long to read/write. You can now use the
disable_locking
parameter in Redis configurations to prevent this issue.
2002.0.2
Changelog (1 related PR)
- The RabbitMQ configuration process now obtains all required parameters automatically.
2002.0.1
Changelog (21 related PR)
- New features
- ECE-Tools now supports scopes and static content deployment strategies. We have added the
–s
parameter with a default setting ofquick
for the static content deployment strategy. You can use the environment variableSCD_STRATEGY
to customize and use these strategies with your build and deploy actions. This variable supports the optionsstandard
,quick
, orcompact
. If you selectcompact
, we override theSTATIC_CONTENT_THREADS
value with1
, which can slow deployment, especially in production environments. Not available in 2.1. - We have created a log file on environments to capture and compile build and deploy actions. The file is located in the
var/log/cloud.log
file inside the Magento root application directory.
- ECE-Tools now supports scopes and static content deployment strategies. We have added the
- Resolved issues
- Refactored the ECE-Tools package to make it compatible with Magento 2.2.0 and higher.
- We fixed an issue that was preventing ECE-Tools from halting execution and throwing an exception if no patches can be applied.
- We fixed an issue that was causing exceptions to be thrown when dependency injection (di) compilation is skipped during builds.
- We fixed an issue that was causing the deploy process to overwrite custom Redis configurations in the
env.php
file. - We fixed an issue that was causing redirect loops due to disabled by default secure admin.