Skip to content

Drupal stack changelog

This is the changelog for Drupal stack deployed via Wodby, for docker4drupal changes see GitHub releases page.

MariaDB updates

  • We strongly recommend backing up your database before upgrading your application stack if the new version contains MariaDB updates
  • During MariaDB upgrade we run mysql-check and mysql-upgrade. This operation may take a few minutes for big databases

6.0.19

  • ⬆️ Vanilla Drupal updated to 11.0.7, 10.3.8
  • 🪦 Drupal console launcher dropped
  • ⭐️For Drupal 7 you can now set env var DRUPAL7_INSTALL_GLOBAL_DRUSH to install drush globally on container's start up (for non-composer based projects)
  • PHP:
  • ⬆️ Updated to 8.3.13, 8.2.25
  • 📜 Added $PHP_ZEND_ env vars for zend.* runtime configuration https://github.com/wodby/php/issues/205
  • ⬆️ PECL extensions updates:
    • apcu 5.1.24
    • amqp 2.1.2
    • ast 1.1.2
    • igbinary 3.2.16
    • mongodb 1.20.0
    • opentelemetry 1.1.0
    • redis 6.1.0
    • yaml 2.2.4
    • uuid 1.2.1
    • xhprof 2.3.10
    • event 3.1.4
  • ⬆️ MariaDB 11.4.4, 10.11.10, 10.6.20, 10.5.27
  • ⬆️ Memcached 1.6.32

6.0.18

  • PHP:
  • ⬆️ Updated to 8.3.12, 8.2.24, 8.1.30
  • 🐞 Bugfix: gd extension used bundled in libgd instead of shared
  • ⬆️ Nginx 1.27.2

6.0.17

  • ⬆️ Vanilla Drupal 11.0.4, 10.3.5
  • ⬆️ PHP 8.3.11, 8.2.23
  • MariaDB:
    • 🪦 10.4 has reached EOL
    • 🏔️ Alpine Linux updated to 3.20
  • ⬆️ Webgrind, adminer and xhprof viewer rebased to PHP 8.1
  • ⬆️ Memcached 1.6.31
  • 🏔️ Alpine Linux security updates (3.20.3)

6.0.16

  • ⭐️ Vanilla Drupal 11
  • ⬆️ Vanilla Drupal 10.3.2
  • PHP
    • ⬆️ Updated to 8.3.10, 8.2.22
    • 📜 Default apc.shm_size increased to 256M
    • 📜 Deprecated assert.active removed from PHP 8.3
  • Nginx:
    • ⬆️ Updated to 1.27.1, 1.26.2
    • 📜 Modsecurity config now applied for all Drupal versions
  • ⬆️ MariaDB 10.11.9, 10.6.19, 10.5.26
  • ⬆️ Redis 7.4.0
  • ⬆️ Apache HTTPD 2.4.62
  • ⬆️ XHProf viewer 2.3.10

6.0.15

  • ⬆️ Vanilla Drupal 10.3.1
  • ⬆️ PHP 8.3.8, 8.2.20, 8.1.29
  • Nginx:
    • ⭐️ Added 1.27
    • ⬆️ Updated to 1.26.1
    • 🪦 1.25 has reached end of life
    • ⬆️ Upload progress module updated to 0.9.3
  • ⬆️ OpenSMTPD 7
  • ⬆️ Apache HTTPd 2.4.61
  • ⬆️ Memcached 1.6.29
  • ⬆️ Redis 7.2.5

6.0.14

🐞 Bugfix: broken sendmail path env var for PHP 8.1

6.0.13

🐞 Bugfix: zookeeper data was not persistent

6.0.12

6.0.11

  • ⬆️ Vanilla Drupal 10.2.4, 7.100
  • PHP:
    • ⬆️ Updated to 8.3.3, 8.2.16
    • ⭐️ Added imagick extension for PHP 8.3
    • 📧 Mail delivery method changed to msmtp for all versions
    • 🪦 Global drush and drush launcher removed https://github.com/wodby/drupal-php/issues/98
    • 🪦 ftp module no longer enabled for PHP 8.3, 8.2
    • 📜 Added PHP_GRPC_ env vars for grpc extension configuration https://github.com/wodby/drupal-php/issues/102
    • 📜 Changed GRPC ext defaults: enabled fork support, poll strategy set to epoll1, verbosity set to error
  • MariaDB:
    • ⬆️ Updated to 10.11.7, 10.6.17, 10.5.24, 10.4.33
    • 📜 Transaction isolation set to READ-COMMITTED
  • ⬆️ Nginx 1.25.4
  • ⬆️ Redis 7.2.4
  • ⬆️ Memcached 1.6.24

6.0.10

  • ⬆️ Vanilla Drupal 10.2.1, 7.99
  • PHP:
    • ⭐️ Added PHP 8.3 (no imagick)
    • ⭐️ Added opentelemetry extension
    • ⭐️ GRPC extension returned
    • ⬆️ Updated to 8.3.1, 8.2.14, 8.1.27
    • ⬆️ Updated extensions:
      • xdebug 3.3.1
      • ds 1.5.0
      • apcu 1.5.23
      • mongodb 1.17.1
      • brotli 0.14.2
      • amqp 2.1.1 (from 1.x)
      • ast 1.1.1
      • igbinary 3.2.15
      • smbclient 1.1.1
    • 🛠 PHP extensions libraries now stripped out of debug symbols
    • 🪦 PHP 8.0 has reach end of life
  • 🏔 Alpine Linux updated to 3.19 for most of the images

6.0.9

  • Vanilla Drupal:
    • ⬆️ Updated to 10.1.6
    • 🪦 Version 9 has reached end of life
  • Redis:
    • ⬆️ Updated to 7.2.3, 6.2.14
    • 🪦 Version 5 has reached end of life
  • MariaDB:
    • ⬆️ Updated to 10.11.6, 10.6.16, 10.5.23, 10.4.32
    • 🪦 Version 10.9 has reached end of life
    • 🐞 Bugfix: MYSQL_TRANSACTION_ISOLATION had no effect in 10.x
  • ⬆️ Nginx 1.25.3
  • ⬆️ PHP 8.2.12, 8.1.25
  • ⬆️ Varnish 6.0.12
  • ⬆️ Apache HTTPd 2.4.58
  • ⬆️ Webgrind 1.9.3
  • ⬆️ Memcached 1.6.22
  • 📜 OpenSMTPD now has $RELAY_PROTO to change relay protocol https://github.com/wodby/opensmtpd/pull/2
  • 🏔 Alpine Linux 3.18.4

6.0.8

  • ⬆️ Vanilla Drupal 10.1.4, 9.5.11
  • PHP:
  • ⬆️ Redis 7.2.1
  • 🪦 Varnish 4 has reach end of life
  • 🏔 Alpine Linux 3.18.4

6.0.7

  • ⬆️ Vanilla Drupal 10.1.2, 9.5.10
  • PHP:
  • Nginx:
  • ⬆️ MariaDB 11.0.3, 10.11.5, 10.10.6, 10.9.8, 10.6.15, 10.5.22, 10.4.31
  • ⬆️ Redis 7.0.12, 6.2.13
  • 🏔 Alpine Linux updated to 3.18.3, 3.16.7

6.0.6

  • ⬆️ Vanilla Drupal 7.98
  • PHP:
    • ⬆️ Updated to 8.2.7, 8.1.20, 8.0.29
    • ⭐️ NewRelic extension and agent added to arm64 variants
  • Nginx:
  • MariaDB
    • ⭐️ Added new version 10.11
    • 🪦 Versions 10.3, 10.7, 10.8 have reached end of life and will no longer receive updates
    • ⬆️ Updated to 10.9.7, 10.6.14, 10.5.21, 10.4.30
  • ⬆️ Memcached 1.6.21

6.0.5

  • ⬆️ Vanilla Drupal 10.0.9, 9.5.9
  • ⬆️ PHP 8.2.6, 8.1.19
  • ⭐️ Nginx 1.25, 1.24 added
  • ⬆️ MariaDB 10.9.6, 10.8.8, 10.6.13, 10.5.20, 10.4.29, 10.3.39
  • ⬆️ Memcached 1.6.20
  • 🏔 Alpine Linux upgraded to 3.18 for some of the images

6.0.4

  • ⬆️ Vanilla Drupal 10.0.8, 9.5.8, 7.97
  • ⬆️ PHP 8.2.5, 8.1.18
  • ⬆️ Apache HTTPD 2.4.57
  • ⬆️ Redis 7.0.11, 6.2.12
  • 🐞 Solr bugfix: default collection creation in init action failed in Solr cloud mode during https://github.com/wodby/solr/issues/20
  • 🏔 Alpine Linux upgraded to 3.17.3, 3.16.5

6.0.3

  • ⬆️ Vanilla Drupal 10.0.7, 9.5.7, 7.95
  • PHP:
    • ⬆️ Updated to 8.2.4, 8.1.17
    • ⬆️ Updated PECL extensions ast 1.1.0, igbinary 3.2.14, mongodb 1.15.1, sqlsrv 5.11.0, xhprof 2.3.9, yaml 2.2.3
    • ⬆️ ODBC libraries updated to 18.2.1.1
    • 🛠 MS tools binaries now linked to /usr/bin
  • Redis:
    • ⬆️ Updated to 7.0.10
    • 🐞 Bugfix: redis saved to disk even when REDIS_SAVE_TO_DISK was not set
  • ⬆️ Apache HTTPD 2.4.56
  • ⬆️ Nginx 1.23.4
  • ⬆️ Memcached 1.6.19
  • 🏔 Alpine Linux upgraded to 3.17.3, 3.16.5

6.0.2

🐞 Incorrect architecture in Alpine Linux https://github.com/alpinelinux/docker-alpine/issues/303#issuecomment-1448126235

6.0.1

6.0.0

  • ⚠️ This version of stack requires server infrastructure 6.0.0+
  • ⬆️ Vanilla Drupal 10.0.3, 9.5.3
  • ⬆️ Drush launcher 0.10.2
  • PHP:
    • ⬆️ Updated to 8.2.2, 8.1.15
    • 📜 Introduced PHP_XDEBUG_USE_COMPRESSION to control xdebug.use_compression
  • Webgrind:
  • ⬆️ MariaDB 10.9.5, 10.8.7, 10.7.8, 10.6.12, 10.5.19, 10.4.28, 10.3.38
  • ⬆️ Apache 2.4.55
  • ⬆️ Redis 7.0.8, 6.2.10
  • 🏔 Alpine updated to 3.17 for MariaDB (10.5-10.9), OpenSMTPD and Nginx

5.7.1

  • ⬆️ Vanilla Drupal 10.0.1, 9.5.1
  • ⬇️ Global drush downgraded to v8 (for Drupal 7 compatibility)
  • ⭐ PHP 8.2 variant added to Drupal 9 and Drupal 8/9 stacks (for Drupal 10 upgrades)
  • PHP:
  • ⬆️ Memcached 1.6.18
  • 🏔 Alpine updated to 3.17.1 and 3.16.3

5.7.0

  • 🚨️️ Zookeeper's snapshots are now persistent. If you're using Solr Cloud this means that with this upgrade zookeeper will reboot and lose all its data (collections will be lost). After this stack upgrade you should add any env var to Solr service to force its reboot to reinitialize connection to zookeeper. After this stack upgrade, zookeeper will no longer lose data after container/server reboots
  • Vanilla Drupal:
    • ⭐️ Added Vanilla Drupal 10
    • ⬆️ Updated to 9.5.0, 7.94
  • PHP:
    • ⭐️ Added PHP 8.2
    • 🪦 PHP 7 has reached EOL and will no longer receive updates
    • ⬆️ PECL extensions updates: apcu 5.1.22, event 3.0.8, igbinary 3.2.12, mongodb 1.15.0, rdkafka 6.0.3, xdebug 3.2.0, xhprof 2.3.8
    • ⬆️ Global drush updated to v10
    • 🪦 Drush patchfile extension no longer installed
  • Nginx:
    • ⬆️ Updated to 1.23.3
    • 🐞 Bugfix: web.config endpoint was accessible
  • ⬆️ Redis 7.0.7, 6.2.8
  • ⬆️ XHProf 2.3.9

5.6.11

  • PHP:
    • ⬆️ Updated to 8.1.13, 8.0.26
    • ⬆️ PECL extension xdebug updated to 3.1.6
    • ⚙️ HTTP_PROXY support for direct git integration
    • 📜️ Passwordless redis support in wodby.settings.php https://github.com/wodby/drupal-php/pull/93
  • ⭐ Added PHP 8.1 for Drupal 7 stack

5.6.10

  • ⬆️ PHP 7.4.33
  • MariaDB:
    • ⭐️ Added new MariaDB 10.9
    • ⬆️ Updated to 10.8.6, 10.7.7, 10.6.11, 10.5.18, 10.4.27, 10.3.37
  • ⬆️ Varnish 6.0.11
  • 🔁 Adminer, webgrind, xhprof rebuilt against updated PHP image
  • 🏔 Base OS Alpine Linux updated to 3.16.3 for some of the images

5.6.9

  • ⬆️ Vanilla Drupal 9.4.8
  • PHP:
    • ⬆️ Updated to 8.1.12, 8.0.25
    • 🪦 Blackfire extension dropped
  • ⬆️ Nginx 1.23.2, 1.22.1
  • 🔁 Adminer, webgrind, xhprof rebuilt against updated PHP image

5.6.8

  • ⬆️ Vanilla Drupal 9.4.7
  • ⬆️ PHP 8.1.10, 8.0.23, 7.4.32
  • ⬆️ Redis 7.0.5
  • 🔁 Adminer, webgrind, xhprof rebuilt against updated PHP image

5.6.7

  • ⬆️ Vanilla Drupal 9.4.6, 7.92
  • ⬆️ XHProf 2.3.7
  • ⬆️ MariaDB 10.7.6, 10.6.10
  • 🐞️ Bugfix: invalid db variables set in Drupal 8's wodby.settings.php
  • 🐞️ Bugfix: email sending with opensmtpd does not work in EOL PHP images

5.6.6

  • ⬆️ PHP 8.1.10, 8.0.23
  • ⬆️ Memcached 1.6.17
  • ⬆️ XHProf 2.3.6
  • 🔁 Adminer, webgrind rebuilt against updated PHP image

5.6.5

  • ⬆️ MariaDB 10.7.5, 10.6.9, 10.5.17, 10.4.26, 10.3.36
  • 🐞 Missing 7zip package in PHP image that is required in actions
  • 🏔 Alpine Linux updated to 3.16.2 for some of the images

5.6.4

  • ⬆️ Vanilla Drupal 9.4.5, 7.91
  • ⬆️ PHP 8.1.9, 8.0.22
  • Nginx:
    • ⬆️ Updated to 1.23.1
    • 📜 Added support for dynamic endpoints robots.txt, humans.txt, ads.txt
  • ⬆️ Redis 7.0.4
  • ⬆️ Memcached 1.6.16
  • 🔃 Adminer and xhprof images rebuilt against updated base PHP image
  • 🏔 Alpine Linux updated to 3.16.1, 3.16.2

5.6.3

  • ⬆️ Vanilla Drupal 9.4.2
  • PHP:
  • ⭐️ Added Nginx 1.23, 1.22
  • ⬆️ Solr 8.11.2
  • ⬆️ Postgres 14.4
  • ⬆️ Redis 7.0.2
  • 🔃 Adminer and xhprof images rebuilt against updated base PHP image
  • 🏔 Alpine Linux updated to 3.16.0 for some of the images

5.6.2

  • ⬆️ Vanilla Drupal 9.3.16, 7.90
  • 🔒 Solr Cloud password now will be set automatically for the Search API server named solr (via wodby.settings.php)
  • PHP:
    • ⬆️ Updated to 8.1.7, 8.0.20, 7.4.30
    • ⭐️ Added smbclient extension
    • ⬆️ Updated sqlsrv extension to 5.10.1
  • Nginx:
    • 📜 Introduced $NGINX_DRUPAL_FILES_STATIC_EXT_REGEX to override files extensions (txt by default) allowed in files directory
    • 📜 Added .yaml to the default value of $NGINX_DRUPAL_NOT_FOUND_REGEX (additionally added .yml for Drupal7)
  • MariaDB:
    • ⭐️ Added MariaDB 10.8
    • ⬆️ Updated to 10.7.4, 10.6.8, 10.5.16, 10.4.25, 10.3.35
    • 🪦 MariaDB 10.2 has reached EOL
  • ⭐ Redis 7
  • ⬆️ Apache 2.4.54
  • ⬆️ Webgrind 1.9.2
  • 🔃 Adminer and xhprof images rebuilt against updated base PHP image
  • 🏔 Alpine Linux updated to 3.16.0 for some of the images

5.6.1

  • 🚨 Solr in Solr Cloud mode now generates a random password, you should update it. Read more
  • ⬆️ Vanilla Drupal 9.3.13
  • PHP:
    • ⬆️ Updated to 8.1.6, 8.0.19
    • ⭐ NewRelic agent now works on ARM64
    • ⬆️ Extensions updates: xdebug 3.1.4, mongo 1.13.0, memcached 3.2.0
  • ⬆️ Redis 6.2.7
  • 📜 MariaDB config: removed deprecated innodb_log_files_in_group and innodb_buffer_pool_instances from 10.5+
  • 🔒 Solr running in Solr Cloud mode now forbids unauthorized access to all pages in admin UI
  • 🔃 Webgrind, adminer and xhprof images rebuilt against updated base PHP image

5.6.0

  • ℹ️ This update requires server infrastructure at least 5.9.0
  • ⬆️ Vanilla Drupal 9.3.11
  • ⬆️ PHP 8.1.5, 8.0.18, 7.4.29
  • ⬆️ OpenSMTPD 6.8.0
  • 🪦 Solr 7.5, 7.6 will no longer get updates (update to 7.7)
  • 🏔 Alpine Linux updated to 3.15

5.5.0

  • ⬆️ Vanilla Drupal 9.3.9
  • Drupal 8 stack now deploys Drupal 9 for Vanilla option instead of Drupal 8 that has reached EOL
  • PHP
    • 📦 Added sSMTP package and $SSMTP_ env vars for configuration
    • 🛠 Removed preload of libiconv https://github.com/docker-library/php/pull/1264
    • 🐞 Bugfix: mail delivery fails due to non-compliant RFC 2822 error
    • 🐞 Bugfix: mail delivery fails invalid sender address
  • ⭐️ Added Zookeeper service, you can now upload Search API Solr config sets via admin UI, see instructions
  • ⭐️ Added Solr Cloud support for Solr
  • ⬆️ OpenSMTPD 1.11.0
  • ⬆️ Memcached 1.6.15
  • 🏔 Security updates for base OS Alpine Linux

5.4.45

  • ⭐️ PHP 8.0, 8.1 added to Drupal 8 stack (so you wouldn't need to migrate your Drupal 9 app from D8)
  • ⬆️ Vanilla Drupal 9.3.8, 7.89
  • PHP
    • ⬆️ Updated to 8.1.4, 8.0.17
    • ⭐️ NewRelic extension added to PHP 8.1
  • ⬆️ Apache HTTPd 2.4.53
  • 🏔 Patch updates for base OS Alpine Linux
  • 🐞 Bugfix: import action failed for archives with unicode filenames

5.4.44

  • ⬆️ Vanilla Drupal 9.3.6, 7.88
  • PHP:
    • ⬆️ Updated to 8.1.3, 8.0.16, 7.4.28
    • ⬆️ Drush launcher updated to 0.10.1
    • ⬆️ PECL extensions updates:
      • amqp 1.11.0
      • ast 1.0.1
      • igbinary 3.2.7
      • imagick 3.7.0
      • mongodb 1.12.0
      • pdo_sqlsrv 5.10.0
      • rdkafka 6.0.1
      • redis 5.3.7
      • xdebug 3.1.3
  • Nginx:
    • 📜 Not found regex default value now includes *.txt, package.json, package-lock.json, yarn.lock https://github.com/wodby/nginx/pull/72
    • 📜 Default header Content-Security-Policy now set to frame-ancestors 'self' by default
    • 🐞 Bugfix: duplicated headers
  • MariaDB:
    • ⭐️ Added new MariaDB 10.7
    • ⏎ Returned MariaDB 10.2 (dropped by mistake)
    • ⬆️ Updated to 10.6.7, 10.5.15, 10.4.24, 10.3.34, 10.2.43
    • 🚨 Reworked my.cnf configuration https://github.com/wodby/mariadb/issues/45:
      • lower_case_table_names, join_buffer_size, innodb_open_files no longer set by default unless specified
      • query_cache_size default value changed to 1M
      • query_cache_type now OFF by default
      • flush_log_at_trx_commit default value changed to 1
      • Added new env vars $MYSQL_JOIN_BUFFER_SPACE_LIMIT, $MYSQL_OPTIMIZER_SWITCH (no default values)
      • ⚠️ Name of $MYSQL_LOWER_CASE_TABLE_NAME changed to $MYSQL_LOWER_CASE_TABLE_NAMES
  • ⬆️ Webgrind and XHProf rebased to the latest PHP 7.4
  • ⬆️ Memcached 1.6.14

5.4.43

  • ⬆️ Vanilla Drupal 9.3.3, 7.87
  • PHP:
    • ⬆️ Updated to 8.1.2, 8.0.5
    • ⬆️ PECL extensions updates: ds 1.4.0, rdkafka 6.0.0, xdebug 3.1.2 (ds and rdkafka now added to PHP 8.1)
    • 🪦 PHP 7.3 dropped (reached end of life)
  • Nginx:
    • ⬆️ Updated to 1.21.6
    • 📜 Regex used to define Drupal paths that return 404 has been actualized and now can be overriden $NGINX_DRUPAL_NOT_FOUND_REGEX https://github.com/wodby/nginx/pull/71
  • ⬆️ Memcached 1.6.13
  • ⬆️ Varnish 6.0.10
  • 🐞 Adminer bugfix: prefill server and database from env vars not working anymore https://github.com/wodby/adminer/issues/5

5.4.42

  • ⭐️ Added PHP 8.1, vanilla Drupal 9 now uses PHP 8.1 by default
  • ⬆️ Drush launcher updated to 0.9.3
  • ⬆️ Nginx:
    • 📜 Default header Content-Security-Policy can now be changed with $NGINX_HEADERS_CONTENT_SECURITY_POLICY https://github.com/wodby/nginx/pull/69
    • 📜 webp added to the default list of static file extensions
  • ⬆️ Apache 2.4.52

5.4.41

  • ⬆️ Vanilla Drupal 7.84
  • ⬆️ PHP 8.1.1, 8.0.14, 7.4.27
  • Nginx:
    • 🐞 Bugfix: default headers do not apply with disabled caching
    • 📜 Added default Content-Security-Policy header (frame-ancestors 'none')
  • ⬆️ Solr 8.11.1
  • 🔃 Adminer rebuilt against updated base PHP image

5.4.40

5.4.39

  • ⬆️ Vanilla Drupal 9.2.9, 8.9.20
  • PHP:
  • MariaDB:
    • ⭐️ Added new MariaDB 10.6
    • ⬆️ Updates: 10.5.13, 10.4.22, 10.3.32, 10.2.41
  • ⭐️ Adminer rebased to PHP 7.4 and now has linux/arm64 variant
  • ⬆️ Nginx 1.21.4, 1.20.2
  • ⬆️ Solr 8.11.0

5.4.38

5.4.37

  • Vanilla Drupal:
    • ⭐️  Added PHP 8.0 variant for Drupal 7 (now default)
    • ⬆️  Updated to 9.2.6, 8.9.19
  • PHP:
  • ➕  Added Nginx 1.21
  • ⬆️  Solr 8.10.0
  • ⬆️  Webgrind 1.9.0
  • ⬆️  XHProf 2.3.5

5.4.36

  • PHP:
    • ⬆️  Updated to 8.0.10, 7.4.23, 7.3.30
    • ⬆️  ioncube loader extension added (disabled by default)

5.4.35

  • ⬆️  Vanilla Drupal 9.2.4, 8.9.18
  • PHP:
    • ⬆️  Updated to 8.0.9, 7.4.22
    • ⬆️  PECL extensions updates: imagick 3.5.1, apcu 5.1.20
  • ⬆️  MariaDB 10.4.21, 10.3.31
  • ⬆️  Elasticsearch, Kibana 7.14.0, 6.8.18
  • ⬆️  XHProf viewer 2.3.4

5.4.34

  • ⬆️  Vanilla Drupal 9.2.2, 8.9.17, 7.82
  • PHP:
  • ⬆️  MariaDB 10.5.11, 10.4.20, 10.3.30, 10.2.39
  • ⬆️  Varnish 6.0.8
  • ⬆️  Solr rebuilt for new config sets
  • ⬆️  XHProf viewer 2.3.3
  • 🚨  Due to https://github.com/alpinelinux/docker-alpine/issues/182 some images (redis, memcached) are now frozen (wodby actions can be performed on Alpine Linux 3.13 only starting docker 20.10.0+). Starting this release versions in Wodby stacks may slightly differ from ones in docker4x releases.

5.4.33

5.4.32

  • ❗  Vanilla Drupal security updates 9.1.9, 8.9.16
  • ⬆️  Added sqlite binaries to PHP https://github.com/wodby/php/pull/144
  • ⬆️  Apache 2.4.48
  • ⬆️  Nginx 1.20.1
  • ⬆️  Adminer 4.8.1

5.4.31

  • ⬆️  Vanilla Drupal 9.1.8, 8.9.15
  • ⬆️  PHP 8.0.6, 7.4.19
  • ⬆️  Apache 2.4.47
  • ⬆️  MariaDB 10.5.10, 10.4.19, 10.3.29, 10.2.38
  • ⬆️  Redis 6.2.3
  • ⬆️  XHProf 2.3.2

5.4.30

  • PHP: -❗️Security updates: 8.0.5, 7.4.18, 7.3.28 -❗️Composer security update 2.0.13
  • ⬆️  Elasticsearch, Kibana 7.12.1
  • ⬆️  XHProf viewer 2.3.1

5.4.29

  • ❗️Vanilla Drupal security updates: 9.1.7, 8.9.14, 7.80
  • PHP:
  • Nginx:
    • ⭐️  New major version 1.20
    • ⬆️  Updated to 1.19.10
    • 🐞  Bugfix: Drupal 8 had outdated Nginx images
  • ⬆️  Redis 6.2.2
  • ⬆️  Solr 8.8.2
  • XHProf viewer:
    • ⬆️  Updated to 2.3.0
    • 🚨  Env var for output directory renamed from PHP_XHPROF_OUTPUT_DIR to XHPROF_OUTPUT_DIR
  • 📦  Base OS Alpine Linux updated to 3.13.5

5.4.28

  • ⬆️  Vanilla Drupal 9.1.5
  • ⬆️  PHP 8.0.3, 7.4.16
  • ⬆️  Nginx 1.19.8
  • ⬆️  Redis 6.2.1, 5.0.12

5.4.27

  • 🐞  Nginx's mod security config didn't apply rule set for Drupal presets
  • MariaDB:
    • ⬆️  Updates: 10.5.9, 10.4.18, 10.3.28, 10.2.37
    • 🚨  RocksDB plugin no longer compiled in
  • ⬆️  Solr 8.8.1
  • ⬆️  Redis 6.2.0, 5.0.11

5.4.26

  • ⬆️  Vanilla Drupal 9.1.4, 8.9.13, 7.78
  • PHP:
    • ⬆️  Updates: 8.0.2, 7.4.15, 7.3.27
    • 🦴  Drush launcher updated to 0.9.0 and now added to PHP 8
    • ⬆️  sqlsrv, pdo_sqlsrv updated to 5.9.0
    • ⭐️  sqlsrv, pdo_sqlsrv, imagick added for PHP 8
    • 🐞  Bugfix: invalid temporary path setting in wodby.settings.php for Drupal 8/9
  • Nginx:
  • ⬆️  Solr 8.8.0
  • ⬆️  Adminer 4.8.0
  • ⬆️  Base image Alpine Linux updated to 3.13.2 for most of the images
  • 🔃  Webgrind, xhprof viewer rebuilt against updated PHP image

5.4.25

5.4.24

  • Vanilla Drupal:
    • ⬆️  Updated: 9.1.0, 8.9.11, 7.77
    • ↩️  Drupal console returned to Drupal 8 image
  • PHP:
    • ⭐️  PHP 8 (not all pecl extensions supported, see https://github.com/wodby/php/issues/129 for more details)
    • 🗑  PHP 7.2 has reached End of Life
    • ⬆️  Updates 7.4.13, 7.3.25
    • ⬆️  Drupal console launcher updated to 1.9.7
    • ⬆️  Updated pecl extensions:
      • ast 1.0.10
      • ds 1.3.0
      • event 3.0.2
      • grpc 1.34.0
      • igbinary 3.1.5
      • mcrypt 1.0.4
      • mongodb 1.9.0
      • oauth 2.0.7
      • rdkafka 4.1.1
      • tideways xhprof 5.0.2
      • uploadprogress 1.1.3
      • uuid 1.1.0
      • 😱  xdebug 3.0.1 (new major version, env vars have changed)
      • yaml 2.2.0
  • Nginx:
  • 🐞  MariaDB: sometimes backup errors weren't reported
  • ⬆️  Adminer 4.7.8
  • ⬆️  Memcached 1.6.9
  • ⬆️  Xhprof viewer 2.2.3
  • 🔃  Webgrind rebuilt against updated PHP image
  • ⬆️  Base image Alpine Linux updated to 3.12.3
  • 🦴  ImagePullPolicy changed to IfNotPresent

5.4.23

  • Vanilla Drupal:
  • PHP:
    • ⬆️  Updated to 7.4.12, 7.3.24
    • ⭐️  Composer 2.0. Also, now you have permissions reinstall or update composer
    • 🚨🚨🚨  Redis extension major update from 4.3.0 to 5.3.2. If you're on Drupal 8+ make sure your redis module version is 1.2 or newer. For Drupal 7 please apply the following patch, alternatively, you can switch your redis library from PhpRedis to Predis, see https://www.drupal.org/project/redis for more details. A quick temporary solution for Drupal 7 would be to disable Redis service in your application stack
    • 🐞  Bugfix: pcov extension was enabled by default, now disabled, this caused recent issues with NewRelic monitoring
    • 🐞  Bugfix: missing opcache.preload_user prevented from using preloading in PHP 7.4 https://github.com/wodby/php/pull/120
    • ⬆️  Xdebug 2.9.8
    • 🦴  Added env vars for sqlsrv extension runtime configuration https://github.com/wodby/php/issues/124
    • 📦  Added mariadb-connector-c package https://github.com/wodby/php/issues/122
  • ⬆️  Nginx 1.19.4
  • ⬆️  MariaDB 10.5.8, 10.4.17, 10.3.27, 10.2.36
  • ⬆️  Varnish 6.0.7
  • ⬆️  Solr 8.7.0
  • ⬆️  Memcached 1.6.8
  • ⬆️  AthenaPDF 2.16.0
  • 🔃  Adminer, webgrind, xhprof viewer rebuilt against updated PHP image
  • ⬆️  Base image Alpine Linux updated to 3.12.1

5.4.22

  • Vanilla Drupal 9.0.7, 8.9.7, 7.73
  • PHP 7.4.11, 7.3.23, 7.2.34
  • MariaDB 10.5.6, 10.4.15, 10.3.25, 10.2.34
  • Nginx 1.19.3
  • Solr now supports Search API Solr jump start configsets https://github.com/wodby/solr/issues/14
  • Adminer, webgrind and xhprof viewer rebuilt against updated PHP image

5.4.21

  • Vanilla Drupal 9.0.5, 8.9.5
  • PHP:
  • MariaDB 10.5
  • Solr 8.6.2
  • Redis 6.0.8
  • Memcached 1.6.7
  • Adminer, xhprof, webgrind rebuilt against updated PHP image

5.4.20

  • Vanilla Drupal 9.0.3, 8.9.3
  • PHP 7.4.9, 7.3.21, 7.2.33
  • Apache 2.4.46
  • Nginx 1.19.2
  • MariaDB 10.4.14, 10.3.24, 10.2.33, 10.1.46
  • Redis 6.0.6
  • Solr 8.6.0
  • Adminer, webgrind and xhprof viewer rebuilt against updated PHP image

5.4.19

5.4.18

  • Added Drupal 9
  • Added PHP 7.4 variant for Drupal 7
  • Vanilla Drupal 8.9.0, 7.71
  • PHP updates: 7.4.7, 7.3.19, 7.2.31
  • Nginx:
  • MariaDB 10.1.45, 10.2.32, 10.3.23, 10.4.13
  • Apache: access to all hidden files except .well-known is now forbidden
  • Solr:
    • Updated to 8.5.2
    • Added new config set search_api_solr_4.0
  • Adminer 4.7.7
  • Memcached 1.6.6
  • Redis 6.0.5
  • Base OS Alpine Linux updated to 3.12.0 for most of the images
  • Adminer, webgrind rebuilt against updated PHP image

5.4.17

  • PHP security updates: 7.4.5, 7.3.17, 7.2.30
  • Nginx 1.17.10
  • Redis:
    • Added redis 6
    • Updated to 5.0.9
    • Redis 4 now marked as EOL
  • Solr 8.5.1, 7.7.3
  • Memcached 1.6.5
  • XHProf viewer 2.2.0
  • Base OS Alpine Linux updated to 3.11.6
  • Adminer, webgrind rebuilt against updated PHP image

5.4.16

Added support for a changed sync directory setting in Drupal 8 https://www.drupal.org/docs/8/configuration-management/changing-the-storage-location-of-the-sync-directory#s-syntax-changes-in-drupal-880

5.4.15

  • Vanilla Drupal 8.8.5, 7.69
  • PHP:
    • Updated to 7.4.4, 7.3.16, 7.2.29
    • Updated extension: xdebug 2.9.4, rdkafka 4.0.3
    • Blackfire added to PHP 7.4
    • mcrypt PECL extension added to PHP 7.3, 7.4
    • Added libxml2
    • Added yarn to -dev versions of image https://github.com/wodby/php/pull/99
  • Nginx:
  • Apache HTTPd:
  • Solr:
    • Updated to 8.5.0
    • Added search_api_solr 3.9 config sets
  • MariaDB:
    • Updated to 10.4.12, 10.3.22, 10.2.31, 10.1.44
    • mysql_upgrade now runs with --upgrade-system-tables and --verbose flags (run during stack upgrades)
    • mysqlcheck now runs with --verbose flag (run with every deployment)
  • Varnish 6.0.6
  • Webgrind 1.7.0
  • Adminer 4.7.6
  • Memcached 1.6.3
  • Redis 5.0.8
  • Adminer, webgrind, xhprof viewer rebuilt against updated base PHP image
  • Images' base OS (Alpine Linux) updated to 3.11

5.4.14

  • Vanilla Drupal 8.8.0, 7.68
  • PHP:
  • Added PHP 7.4 (with the exception for vanilla Drupal 7)
  • Updated extension: ast 1.0.5, xdebug 2.8.0, mcrypt 1.0.3, oauth 2.0.4
  • Added Kerberos and SSL support for IMAP extension https://github.com/wodby/drupal-php/issues/70
  • MariaDB 10.4.11, 10.3.21, 10.2.30
  • Solr 8.3.1
  • Nginx:
  • /.well-known URIs excluded from denied hidden files location instead of explicitly allowed
  • Locations wodby.yml and Makefile are now forbidden
  • Apache hidden files, directories, wodby.yml, Makefile and certain extension are now forbidden
  • XHProf viewer updated to 2.1.3 (updated PECL extension) https://github.com/wodby/xhprof/issues/1
  • Bugfix: broken webgrind image tag
  • Adminer, webgrind and xhprof rebuilt against updated PHP image

5.4.13

  • Vanilla Drupal 8.7.10
  • Drupal launcher 1.9.4
  • PHP 7.3.12, 7.2.25
  • Nginx:
  • MariaDB 10.4.10, 10.3.20, 10.2.29, 10.1.43
  • Added liveness checks for Varnish, Nginx and Apache
  • Improved performance for Apache and Nginx readiness checks
  • Solr 8.3.0
  • Memcached 1.5.20
  • Adminer 4.7.5
  • Redis 5.0.7
  • Adminer, xhprof, webgrind rebased to PHP 7.2

5.4.12

5.4.11

  • Vanilla Drupal 8.7.8
  • PHP:
  • Updated to 7.3.10, 7.2.23
  • Drupal console launcher 1.9.3
  • Nginx 1.17.4
  • MariaDB 10.4.8, 10.3.18, 10.2.27
  • Memcached 1.5.19
  • Redis 3.1.3
  • Alpine updated to 3.10.2 for Solr images
  • Webgrind, adminer and xhprof viewer rebuilt against latest PHP image

5.4.10

  • Vanilla Drupal updated to 8.7.7
  • PHP:
    • Security updates: 7.3.9, 7.2.22, 7.1.32
    • New Relic extension log level set to warning by default
    • Drupal console launcher updated to 1.9.2
  • Varnish security update 6.0.4
  • Nginx 1.17.3, 1.16.1
  • Apache 2.4.41
  • Memcached 1.5.17
  • Adminer 4.7.3

5.4.9

  • Vanilla Drupal updated to 8.7.6
  • PHP:
    • ❗️Security updates: 7.3.8, 7.2.21, 7.1.31
    • Updated PECL extensions: rdkafka 3.1.2, mongo 1.5.5
    • NewRelic extension:
    • Drupal console launcher updated to 1.9.1
    • Bugfix: crond service missed preloaded iconv library
  • MariaDB:
  • Nginx:
  • Solr:
    • Updated to 8.2.0
    • We now run upgrade action that removes default core if it has a broken config set (so it can be automatically recreated). NOT applicable to EOL versions (6.4, 7.1, 7.2, 7.3, 7.4)
  • Adminer, Webgrind, Xhprof viewer rebuilt against the updated base image
  • Alpine Linux updated to 3.10 for Varnish, OpenSMTPD and MariaDB (except 10.1)

5.4.8

  • Vanilla Drupal updated to 8.7.5
  • PHP:
    • Bugfix updates to 7.3.7, 7.2.20
    • Event extension updated to 2.5.3
    • Drupal console launcher updated to 1.9.0
  • MariaDB:
  • Varnish:
    • webp added to the list of default static file extensions
    • PageSpeed downstream caching:
      • PS-CapabilityList now set to "fully general optimizations only" only if static files cache enabled
      • Bugfix: caching for text/html was disabled
  • Solr:
  • Drupal-node service had a $NODE_PORT environment variable with a wrong value that could break its startup
  • Nginx updated to 1.17.1
  • Webgrind updated to 1.6.1
  • Adminer updated to 4.7.2
  • Adminer, Webgrind, Xhprof viewer rebuilt against the updated base image
  • Alpine Linux (base OS) updated to 3.10.1 for most of the images

5.4.7

  • Vanilla Drupal updated to 8.7.2
  • PHP:
    • ❗️Security updates: 7.3.6, 7.2.19, 7.1.30
    • Updated extensions:
      • ast 1.0.1
      • ds 1.2.9
      • event 2.5.1
      • grpc 1.20.0
      • igbinary 3.0.1
      • redis 4.3.0
      • tideways xhprof 5.0-beta3
  • Nginx: added new version 1.17
  • MariaDB:
  • Updated to 10.3.15
  • log_warnings now configurable, set to 2 by default for all versions
  • Varnish now supports modpagespeed downstream caching https://github.com/wodby/varnish
  • Memcached updated to 1.5.16
  • Redis updated to 5.0.5
  • Adminer, Webgrind, Xhprof viewer rebuilt against updated base image

5.4.6

  • Vanilla Drupal updated to 8.7.1, 7.67
  • PHP:
    • ❗️Security updates: 7.3.5, 7.2.18, 7.1.29
    • Packages updates: imagemagick 7.0.8.44 (PHP 7.x only), libpng 1.6.37, libxslt 1.1.33
    • Extensions update: event 2.5.0, xdebug 2.7.2, imagick 3.4.4, rdkafka 3.1.0
  • Nginx:
  • MariaDB updates: 10.2.24, 10.1.40
  • Solr updated to 6.6.6
  • Memcached updated to 1.5.14
  • Alpine Linux updated to 3.9.4 (only for images based on 3.9)

5.4.5

Bugfix: composer install/update executed from post-deployment scripts may sometimes stuck.

5.4.4

  • Vanilla Drupal updates: 8.6.14
  • PHP:
  • ❗️Security updates: 7.3.4, 7.2.17, 7.1.28
  • Xdebug extension updated to 2.7.1
  • Nginx:
  • Updated to 1.15.11
  • Default static files expiration increased to 1 year https://github.com/wodby/nginx/pull/30
  • MariaDB updated to 10.3.14
  • ❗️Apache security update: 2.4.39
  • Alpine Linux updated to 3.9.3 for PHP (except 5.x), Varnish, MariaDB (except 10.1), Redis, Memcached, Solr, OpenSMTPD
  • Webgrind, Xhprof viewer and admirer rebuilt against updated PHP image

5.4.3

  • Vanilla Drupal updates: 8.6.13, 7.65
  • PHP:
  • Nginx:
  • Solr:
    • Versions 5.4, 6.4, 7.1-7.4 no longer supported (marked as EOL)
    • Versions 7.6, 7.7 added (and 5.5 for Drupal 7)
    • Added new search_api_solr config sets (Drupal 8 default config set updated to 8.x-2.7)
    • Bugfix: attachments indexation did not work in Drupal 7 https://github.com/wodby/solr/issues/5
  • MariaDB updated to 10.2.23
  • Redis updates: 5.0.4, 4.0.14
  • Varnish bugfix: GeoIP did not work (now uses X-Real-IP header instead of X-Forwarded-For) https://github.com/wodby/varnish/pull/18
  • XHProf, Webgrind, Adminer rebuilt against the latest PHP image
  • Apache base image changed from wodby/httpd to httpd
  • Alpine upgraded to 3.9.2 for all alpine-based updated images

5.4.2

  • Vanilla Drupal updates: 8.6.10, 7.64
  • PHP:
  • Rebased to Alpine 3.9: runtime packages updated, switched from LibreSSL to OpenSSL 1.1
  • PHP updates: 7.3.2, 7.2.15
  • Introduced additional env vars for NewRelic runtime configuration: $PHP_NEWRELIC_BROWSER_MONITORING_AUTO_INSTRUMENT, $PHP_NEWRELIC_GUZZLE_ENABLED
  • WebP support added to gd (PHP 7.x only) https://github.com/wodby/php/issues/68
  • MariaDB client updated to 10.3.13/10.2.22
  • Extensions update: igbinary 3.0.0, apcu 5.1.17
  • Bugfix: $PATH was missing in SSH environment variables
  • $SSHD_PERMIT_USER_ENV default values changed to yes
  • Nginx:
  • Patch update: 1.15.9
  • .map added to the list of default static files extensions ($NGINX_STATIC_EXT_REGEX)
  • Bugfix: $NGINX_LOG_FORMAT_OVERRIDE had no effect
  • Varnish:
  • Patch updates: 4.1.11, 6.0.3
  • Bugfix: cookie always stripped for static files requests
  • MariaDB:
  • Patch updates: 10.3.13, 10.2.22, 10.1.38
  • MariaDB 10.2, 10.3 rebased to Alpine 3.9 and OpenSSL 1.1
  • innodb_force_recovery and innodb_purge_threads are now configurable via env vars
  • Added mysql-check orchestration action and now run with every MariaDB deployment to detect potential issues
  • mod_include added to Apache https://github.com/wodby/apache/issues/6
  • Adminer updated to 4.7.1
  • Redis updated to 4.0.13
  • XHProf, Webgrind, Adminer rebuilt against the latest PHP image

5.4.1

5.4.0

Changes since 5.3.4

Update instructions

  • If you used deprecated environment variables in Varnish updated them to the new version
  • If you used Nginx pagespeed module, add $NGINX_PAGESPEED_ENABLED=1, if you had $NGINX_PAGESPEED=on you can delete it since it's on by default
  • If you use Solr you might need to update search_api_solr module since we fetch schema from the update version of the module

5.3.4

  • Bugfix: Nginx did not convert deprecated environment variables to new

5.3.3

  • Added new profiler service xhprof viewer for analysis and graphical review of xhprof traces
  • Added Redis 5
  • Vanilla Drupal patch updates: 8.6.3, 7.61
  • PHP:
    • Patch updates: 7.2.12, 7.1.24
    • Added event extension
    • You can now disable extensions via $PHP_EXTENSIONS_DISABLE (separated by comma)
    • Extensions updates: igbinary 2.0.8, ast 1.0.0, grpc 1.16.0
    • ImageMagick downgraded to 7.0.7.32 with enabled openmp
    • Bugfix: tideways xhprof extension could not be enabled
  • Nginx:
  • Memcached patch update 1.5.12
  • MariaDB 10.0 innodb_default_row_format now set to dynamic by default
  • Webgrind and Adminer rebuilt against the latest PHP image
  • Apache patch update https://github.com/wodby/apache/issues/5
  • MariaDB 10.0 patch update https://github.com/wodby/mariadb/issues/10

5.3.2

  • ❗️Vanilla Drupal core security update: 8.6.2, 7.60
  • Memcached patch update: 1.5.11

5.3.1

  • PHP:
    • Patch updates: 7.1.23, 7.2.11
    • uuid pecl extension added https://github.com/wodby/php/issues/43
    • oauth extension patch update: 2.0.3
    • PHP env vars moved from FPM config to the general PHP config
    • Bugfix: invalid Drupal 8 sync directory permissions
  • Nginx:
  • Node:
    • Minor updates: 10.12, 8.12
    • Directory /usr/src/app/node_modules/.bin added to $PATH
  • MariaDB patch update 10.3.10
  • Adminer:
    • Bugfix: some $PHP_ env vars were ignored
    • Default memory limit set to 512M
  • Adminer and Webgrind rebuilt against the latest PHP image

5.3.0

Changes

  • PHP:
    • Rebased to Alpine 3.8 with updated runtime libraries
    • ❗️PHP 7.0 will no longer be maintained (see why?)
    • Argon2 password hash supported added to PHP 7.2
    • MongoDB extension updated to 1.5.3
    • Bugfix: segfault in PHP's mail function when sent to multiple recipients (busybox bug)
    • Bugfix: xhprof tideways extension enabled twice
  • MariaDB:
    • Patch update: 10.2.18
    • Improved performance for backup orchestration action
  • Apache:
    • Patch update: 2.4.35
    • Option Indexes now disabled by default, can be enabled via $APACHE_INDEXES_ENABLED
  • Adminer:
    • Added the default list of plugins, enabled via $ADMINER_PLUGINS
    • You can now change Adminer design via $ADMINER_DESIGN z
    • Updated to the latest stable PHP image
  • Varnish:
    • Bugfix: batch pages did not work with Varnish
    • has_js cookie no longer stripped
    • Default response headers max length doubled to 16k
  • Nginx patch update: 1.15.4
  • Webgrind image updated to the latest stable PHP image

Upgrade instructions

  • Switch your application's PHP service implementation from 7.0 to 7.1

5.2.5

  • PHP:
    • Libraries update: ImageMagick 7.0.8.11, FreeType 2.9.1
    • OpenMP disabled in ImageMagick due to stability issues
    • Bugfix: xhprof (tideways) extension could not be enabled

5.2.4

  • PHP
    • ❗️Security updates: 7.2.10, 7.1.22, 7.0.32, 5.6.38
    • Added $PHP_PHAR_ env vars for Phar runtime configuration
    • Updated PHP extensions:
      • patch: apcu 5.1.12, ds 1.2.6, igbinary 2.0.7, xdebug 2.6.0
      • minor: mongodb 1.5.2, grpc 1.15.0
      • major: redis 4.1.1

5.2.3

  • Nginx:
    • New 50x error page, use $NGINX_ERROR_MESSAGE_50x to add a custom message
    • Env vars $NGINX_ERROR_PAGE_40x replaced to $NGINX_ERROR_40x_URI

5.2.2

  • Vanilla Drupal updated to 8.6.1
  • PHP extension XHProf (tideways) updated to 5.0-beta2
  • Nginx:
    • Nginx no longer hides 50x errors by default on non-prod instances
    • Setting $NGINX_VHOST_PRESET to empty value now disables usage of any presets
    • New $NGINX_VHOST_NO_DEFAULTS to disable default rules for virtual host
    • New default 50x error page, new $NGINX_ERROR_MESSAGE_50x to add a message on this page
  • MariaDB patch update: 10.1.36
  • Solr patch update: 6.6.5
  • Varnish bugfix: flush action from dashboard failed
  • Adminer and Webgrind rebased to the latest stable php image

5.2.1

Do not add trailing slashes for non-directory requests

5.2.0

Changes

  • Vanilla Drupal core updated to 8.5.6
  • PHP:
    • Patch updates: 7.2.9, 7.1.21, 7.0.31, 5.6.37
    • /var/www/html/vendor/bin added to $PATH
    • Added rdkafka extension
    • Added ~/.bash_profile for wodby user
    • SSH key and crontab can now be added via bind mounts
    • PostgreSQL lib updated to 10.5
    • Bugfix: Nice shell prompt is missing when connecting via drush ssh
    • Bugfix: PHP 5.6 missed GMP library
    • Bugfix: drush could not be found when connection via drush ssh
    • Bugfix: incorrect owner on wodby's ~/.shrc, ~/.bashrc
    • Libraries and extensions versions moved out from env vars
  • Nginx:
    • Image wodby/drupal-nginx has been replaced with wodby/nginx with $NGINX_VHOST_PRESET=drupal
    • Nginx updated to 1.15.3
    • Nginx image rebased to Alpine Linux 3.8
    • Use of $NGINX_LOG_FORMAT_OVERRIDE now prevails use of $NGINX_LOG_FORMAT_SHOW_REAL_IP
    • Drupal's preset env vars renamed (old names still supported):
      NGINX_STATIC_CONTENT_* => NGINX_STATIC_*
      NGINX_ALLOW_XML_ENDPOINTS => NGINX_DRUPAL_ALLOW_XML_ENDPOINTS
      NGINX_XMLRPC_SERVER_NAME => NGINX_DRUPAL_XMLRPC_SERVER_NAME
      NGINX_DRUPAL_TRACK_UPLOADS => NGINX_TRACK_UPLOADS
      
    • New env vars $NGINX_ERROR_PAGE_ to customize 403/404 pages location
    • Extended list of static files extensions
    • New env vars $NGINX_STATIC_ to control settings for handling static content
    • New env var $NGINX_ALLOW_ACCESS_HIDDEN_FILES to control access to files starting with a dot
    • Added pseudo-streaming server-side for .flv, .mp4, .mov, .m4a files
    • Env vars $NGINX_STATIC_MP4_ for mp4 streaming configuration
    • Updated default values for open_file_cache settings
    • Default expires for static content set to 7d by default
    • Bugfix: overriding log format via $NGINX_LOG_FORMAT_OVERRIDE produced an error
  • Apache:
    • Image wodby/php-apache has been replaced with wodby/apache with $APACHE_VHOST_PRESET=php
    • Env var $APACHE_SERVER_ROOT renamed to $APACHE_DOCUMENT_ROOT (old name still supported)
    • MPM modules are now shared and can be changed (event is still the default)
  • MariaDB:
    • MariaDB patch updates: 10.3.9, 10.2.17, 10.1.35
    • Image rebased to Alpine Linux 3.8
    • Backup action performance improvement: no intermediate file created
    • ionice no longer used in orchestration actions
    • Bugfix: triggers duplicated during db dump
    • Bugfix: no privileges before import could cause failure
  • Solr:
    • Image wodby/drupal-solr now replaced with wodby/solr and $SOLR_DEFAULT_CONFIG_SET, see versions matrix
    • New Solr versions added: 7.4, 7.3
    • Dropped versions 6.3, 6.5, 7.0
    • Config sets and solr.xml now symlinked to volume, existing cores won't be affected
    • Core directory get deleted when you delete a core via orchestration actions
    • Bugfix: duplicated configsets/configsets directory
  • Varnish:
    • Image wodby/drupal-varnish now replaced with wodby/varnish and $VARNISH_CONFIG_PRESET=drupal
    • External purge now always restricted by purge key
    • Unrestricted purge from the internal network can be optionally enabled (enabled by default)
    • Cache for mobile devices can now be separated or disabled entirely
    • Big files (by default >10M) won't be cached by default
    • Static files cache disabled by default for all presets
    • All varnish-related headers now start with X-VC-, e.g. X-Varnish-Cache is now X-VC-Cache
    • Secondary storage can now be defined for all presets
    • List of static files extensions expanded
    • Analytics/marketing cookies and query params stripped, configurable
    • New env vars to optionally preserve all cookies and query params
    • Query params can be ignored to cache URLs as a single object
    • Purge method now can be changed to regex and exact (respects query params)
    • Hashes and trailing ? stripped from URL before passing to a backend
    • All AJAX requests not cached
    • Error pages 404 and >500 not cached with a configurable grace period
    • Env vars changed for presets (old => new), old variant still supported: VARNISH_EXCLUDE_URLS => VARNISH_DRUPAL_EXCLUDE_URLS VARNISH_PRESERVED_COOKIES => VARNISH_DRUPAL_PRESERVED_COOKIES
    • Friendly varnish error message by default
  • Memcached:
    • Memcached returned as cache storage service option for Drupal 8/7
    • Memcached patch update: 1.5.10
  • OpenSMTPD patch update: 6.0.3

Upgrade instructions

  • Nginx: if you overridden a virtual host config (via $NGINX_CONF_INCLUDE) you'll have to update it from the original /etc/nginx/conf.d/vhost.conf and re-apply your changes again
  • If you used somewhere Varnish's header X-Varnish-Cache, update it to X-VC-Cache

5.1.0

Changes

  • Drupal
    • Vanilla Drupal core updated to 8.5.4
    • We now set $settings['reverse_proxy_addresses'] and $settings['reverse_proxy'] in wodby.settings.php file. You can also add additional proxy addresses via env var DRUPAL_REVERSE_PROXY_ADDRESSES
  • PHP
    • ⭐️ Added new PHP 7.2
    • Added php tidy extension
    • Added tideways xhprof extension https://github.com/wodby/drupal-php#49 (disabled by default)
    • auto_prepend_file and auto_append_file are now configurable
    • Updated PHP extensions: GRPC 1.12.0, igbinary 2.0.6, mongodb 1.4.4
  • MariaDB:
    • New version 10.3 added (10.3.7)
    • MariaDB updates: 10.2.15, 10.1.34
    • optimizer_prune_level and optimizer_search_depth are now configurable https://github.com/wodby/mariadb/issues/4
    • ⭐️ Default innodb_buffer_pool_size set to 128M that should significantly decrease memory usage by MariaDB container. See MariaDB stack documentation to learn how to calculate the optimal size of innodb_buffer_pool_size for your application
    • Default innodb_buffer_pool_instances set to 1
  • Nginx:
    • Added new Nginx 1.15, dropped legacy Nginx 1.12
    • ⭐️ Added mog_pagespeed module. Disabled by default, to enable add NGINX_PAGESPEED=on to nginx service
    • Added new modules:
      http_image_filter_module
      http_slice_module
      http_xslt_module
      stream_geoip_module
      stream_realip_module
      stream_ssl_preread_module
      
  • Varnish
  • Webgrind: error reporting now exludes strict and deprecated errors, rebased to latest PHP 7.1 image

Upgrade instructions

  • Make sure the new default size of innodb_buffer_pool_instances (128M) is enough for your project, see MariaDB stack documentation to learn how to calculate the optimal size of innodb_buffer_pool_size for your application

5.0.7

  • PHP:
    • Security update: 7.2.5, 7.1.17, 7.0.30
    • New php extensions added: GMP and igbinary
    • APCu extension updated to 5.0.11 for PHP 7.x
    • APCu serialized is now configurable with $PHP_APCU_SERIALIZER
    • Shell prompt in PHP containers now shows current user, application name and instance name
    • Added new helper script files_chown
    • Bugfix: iconv implementation missing wodby/php#25
  • Vanilla Drupal:
  • Drupal node container rebased to wodby/node with freezed node version
  • Added Nginx 1.14, patch update for 1.13
  • Nginx's underscores_in_headers is now configurable via $NGINX_UNDERSCORES_IN_HEADERS

5.0.6

  • PHP log errors max length set to unlimited
  • Bugfix: PHP errors didn't show up in the container output
  • Bugfix: APACHE_LIMITED_ACCESS support from 5.0.4 release was missing

5.0.5

  • PHP:
    • Updated to 7.2.4, 7.1.16, 7.0.35 (security update)
    • Added jpegoptim

5.0.4

  • Vanilla Drupal updated to 8.5.1 (security update)
  • Apache:
    • Updated to 2.4.33 (security update)
    • New environment variable APACHE_LIMITED_ACCESS to remove Require all granted when you need to limit access by IP

5.0.3

  • PHP:
    • PHP extension grpc updated to 1.10.0
    • Added environment variables for PHP session runtime configuration
    • Improved error reporting and progress messages for public files directory init
    • Bugfix: global drush used instead of drush launcher
  • Solr:
    • New 7.2 version
    • Patch update: 6.6.3
    • Solr 7.x config sources updated to search_api_solr 8.x-2.0-alpha3
  • Nginx updated to 1.13.10
  • You can now override apache config with APACHE_INCLUDE_CONF

5.0.2

  • Cron now runs from www-data user instead of wodby
  • Vanilla Drupal updated to 8.5.0
  • Drupal console launcher updated to 1.7.0 and freezed
  • files_chmod script now sets permissions with execution allowed only for directories

5.0.1

  • PHP updated to 7.2.3, 7.1.15, 7.0.28 (security updates)
  • Global drush freezed to 8.x

5.0.0

Changes

  • All containers now have resources request as listed here in Resources column, in addition, crond has CPU limit
  • PHP:
    • Container default user has been changed to wodby (uid/gid 1000), see https://github.com/wodby/php#users-and-permissions for more details
    • PHP updated to 7.1.14, 7.0.27, 5.6.33 (security updates)
    • Rebased to Alpine Linux 3.7
    • Now when your upgrade stack with a new version of vanilla Drupal, your source code will be updated
    • You can monitor PHP with NewRelic APM
    • allow_url_fopen and default_socket_timeout is now configurable
    • New php extensions added: newrelic, grpc, ds
    • Global drush updated to 9.x for PHP 7.x
    • Drush launcher updated to 0.5.1
    • Deprecated environment variables dropped (listed in 4.4.0 changes)
    • Added postgresql client bins (pg_dump, pg_restore, ...)
    • Added redis-cli
    • Updated php extensions: amqp 1.9.3, redis 3.1.6, mongodb 1.4.0, apcu 5.1.10
    • Environment variable WODBY_DIR_FILES replaced to FILES_DIR
    • Vanilla Drupal updated to 8.4.5
  • MariaDB:
    • Updated to 10.1.31, 10.2.12
    • Rebased to Alpine Linux 3.7
  • Nginx:
    • Updated to 1.13.9
    • Rebased to Alpine Linux 3.7
  • Redis:
    • Updated to 4.0.8
    • Bugfix: redis 4 init could not disable THP on some servers
  • OpenSMTPD:
    • Improved health check now runs smtp command
    • Messages queue is now persistent
  • Varnish:
    • The following environment variables changed names (old version no longer supported), DEPRECATED > NEW:
      VARNISHD_THREAD_POOLS > VARNISHD_PARAM_THREAD_POOLS
      VARNISHD_THREAD_POOL_ADD_DELAY > VARNISHD_PARAM_THREAD_POOL_ADD_DELAY
      VARNISHD_THREAD_POOL_MIN > VARNISHD_PARAM_THREAD_POOL_MIN
      VARNISHD_THREAD_POOL_MAX > VARNISHD_PARAM_THREAD_POOL_MAX
      
    • Changed default values:
      VARNISHD_PARAM_THREAD_POOL_ADD_DELAY from 2 to 0.000
      VARNISHD_PARAM_THREAD_POOLS from 1 to 2
      VARNISHD_PARAM_THREAD_POOL_MAX from 1000 to 5000
      
    • Added additional env vars that control varnishd params (https://github.com/wodby/varnish/issues/1)
  • Bugfix: auth issue in Apache (https://github.com/wodby/php-apache/issues/1)

Upgrade instructions

  • Make sure you don't use any of deprecated environment variables in PHP (listed in 4.4.0 changes) and Varnish (listed above) otherwise update their names
  • If you used WODBY_DIR_FILES in your code replace it with FILES_DIR
  • Make sure the default cron container 512M RAM limit is enough for your cron jobs, otherwise increase it manually from service configuration page

4.4.1

  • Vanilla Drupal updated to 8.4.3
  • Fixed missing tags for vanilla with PHP 7.0
  • Restored MariaDB 10.1 innodb_large_prefix setting (enabled by default) removed in 4.4.0

4.4.0

Changes

  • PHP:
    • PHP updated to 7.1.12, 7.0.26
    • PHP extensions updated: memcached 3.0.4, ast 0.1.6
    • Added packages: tig, nano, tmux, less, libjpeg-turbo-utils
    • PHPunit deleted from image to avoid composer conflicts
    • Env vars naming fixes (old names still supported), old > new:
      PHP_APCU_ENABLE > PHP_APCU_ENABLED
      PHP_FPM_SLOWLOG_TIMEOUT > PHP_FPM_REQUEST_SLOWLOG_TIMEOUT
      PHP_FPM_MAX_CHILDREN > PHP_FPM_PM_MAX_CHILDREN
      PHP_FPM_START_SERVERS > PHP_FPM_PM_START_SERVERS
      PHP_FPM_MIN_SPARE_SERVERS > PHP_FPM_PM_MIN_SPARE_SERVERS
      PHP_FPM_MAX_SPARE_SERVERS > PHP_FPM_PM_MAX_SPARE_SERVERS
      PHP_FPM_MAX_REQUESTS > PHP_FPM_PM_MAX_REQUESTS
      PHP_FPM_STATUS_PATH > PHP_FPM_PM_STATUS_PATH
      
    • New -dev image tags (replacing -debug) for CI/CD (TBA)
    • Env var WODBY_HOST_PRIMARY value now contains host (instead of URL) as it should, WODBY_URL_PRIMARY has been added for the URL value. See environment variables section
    • Drush launcher added
    • Improved validation and error reporting for drush import
    • Git email and name now can be configured via environment variables
  • Nginx:
    • Nginx updated to 1.13.7, 1.12.2
    • Fixed broken health check
    • New env var NGINX_NO_DEFAULT_HEADERS to hide default headers
    • We now show request real IP in access logs
    • New env var NGINX_DRUPAL_FILE_PROXY_URL to set up static files proxy
  • MariaDB:
    • New MariaDB 10.2.11
    • MariaDB updated to 10.1.29
    • Shutdown grace period increased to 5 minutes
    • Deployment strategy no longer can be changed
    • Optimized default config (my.cnf) values
    • New environment variables to configure recovery options
    • Default user/group in a container now mysql
    • Backup action now runs with nice and ionice to prioritize CPU and I/O time for this process
    • Improved error reporting during import
  • Solr:
    • New Solr versions 7.0.1 and 7.1.0 have been added
    • Solr versions updated and freezed: 6.6.2, 6.5.1, 6.4.2, 6.3.0, 5.5.5, 5.4.1
    • Config set source search_api_solr updated to 8.x-1.2
    • We now create a default solr core named default automatically if no cores found
  • Redis:
    • Redis updated to 3.2.11, 4.0.2
    • Fixed init failure when there's no /sys/kernel/mm/transparent_hugepage/enabled
  • Varnish:
    • Varnish updated to 4.1.9
    • Cache hash id now respects protocol (http/https)
  • Global environment variables changes:
    • $WODBY_APP_NAME no longer contains instance machine name, only application machine name
    • $WODBY_ENVIRONMENT_ variables have been deprecated and replaced with $WODBY_INSTANCE_
    • New variables $WODBY_INSTANCE_UUID and $WODBY_APP_UUID
  • Apache updated to 2.4.29
  • Vanilla Drupal updated to 8.4.2
  • Health checks timeout increased to 30 seconds for all services
  • OpenSMTPD now supports relay auth without password
  • Files backup and mirroring actions now run with nice and ionice to prioritize CPU and I/O time for this process

Upgrade instructions

  • If you used $WODBY_APP_NAME update your code accordingly to the new value (machine name of the app)
  • If you used $WODBY_HOST_PRIMARY (now contains host instead of URL) before you should replace it to $WODBY_URL_PRIMARY
  • Upgrade downtime ~5 minutes

4.3.0

Changes

  • User www-data is now default in php, nginx and apache containers
  • PHP:
    • PHP updated to 7.0.24, 7.1.10
    • Default vanilla Drupal updated to 8.4.0
    • Core extension pcntl is now enabled in PHP 7.x
    • Libressl added
    • Extensions update: redis 3.1.4, mongodb 1.3.0
    • New extension geoip
    • Default post_max_size, upload_max_filesize set to 32m
    • Optimized default opcache settings
    • New env var PHP_MAX_FILE_UPLOADS to control max_file_uploads
    • Bugfix: apcu (PHP 7.x) could cause segfaults in some cases
    • Bugfix: path to CA certificates specified in ldap config
    • Bugfix: files backup could fail when files changed during the process
    • Bugfix: missing quotes in wodby.sites.php
  • Nginx:
    • Nginx updated to 1.13.5
    • Nginx config revamped: upstream name changed from backend to php and moved from nginx.conf to drupal.conf
    • Default client_max_body_size set to 32m
    • Bugfix: broken static files on Drupal's 8 update.php page
  • Apache:
  • Varnish
    • Env vars for daemon launch params now have prefix VARNISHD_ to avoid collisions
    • New env vars VARNISH_EXCLUDE_URLS and VARNISH_STATIC_FILES for customization
    • Default exclude URLs now consider language prefixes
  • OpenSMTPD bugfix: health probes caused warning in logs

Update instructions

  • !!! If you forked drupal.conf, you must get the latest version from the source (/etc/nginx/conf.d/drupal.conf) and re-apply your changes. If you used NGINX_SERVER_EXTRA_CONF_FILEPATH, update usage of backend upstream to php
  • Make sure that the new default value (32m) of php's post_max_size, upload_max_filesize and nginx's client_max_body_size is enough for you
  • If you customized varnish launch params, update corresponding env vars prefix to VARNISHD_

4.2.1

  • Improved backward compatibility, the following environment variables are now available from PHP-FPM

4.2.0

  • PHP updated to 7.1.9, 7.0.23
  • PHPUnit updated to 6.3
  • New service Blackfire agent for profiling via blackfire.io, see usage instructions
  • Environment varibles now cleared in PHP-FPM by default except for WODBY_APP_NAME, WODBY_ENVIRONMENT_TYPE, WODBY_ENVIRONMENT_NAME. You can disable it by adding environment variable PHP_FPM_CLEAR_ENV with no value to Drupal (PHP) container
  • OpenSMTPD now supports relay without auth
  • Bugfix: PHP-FPM health probes sometimes could fail

4.1.9

  • Vanilla Drupal updated to 8.3.7
  • MariaDB and its client updated to 10.1.26
  • Athenapdf versions freeze to 2.10.0
  • Bugfix: PHP-FPM health probes sometimes could fail

4.1.8

  • Updated service: Redis (1.0.3)
  • PHP containers now have health checks and can be upgraded without downtime
  • We no longer support sites/*/files directories under version control
  • Drush modules added: registry rebuild and patchfile
  • PHP update: 7.1.8, 7.0.22
  • Vanilla Drupal update: 8.3.6
  • Nginx update: 1.13.4
  • Experimental redis 4.0 added
  • You can now enable PHP slowlog via environment variable PHP_FPM_SLOWLOG_TIMEOUT
  • Improved Varnish health checks, now use varnishadm instead of curl
  • Varnish bugfix: duplicated X-Forwarded-For header
  • Varnish bugfix: unrestricted purge/ban, now allowed only from internal network

4.1.7

  • New container webgrind – Xdebug profiling web frontend
  • Additional environment variables for Xdebug extension configuration including tracing and profiling
  • PHP extensions update: ast 0.1.5; yaml 2.0.2
  • Improvement: better handling of failed deployments
  • Bugfix: some environment variable could be unavailble in SSH container

4.1.6

  • Solr: fixed persistent data paths configuration

4.1.5

  • New fast health-check endpoints for Nginx and Apache2 hidden from access logs by default
  • Updated services: Redis (1.0.2), MariaDB (1.0.3), AthenaPDF (1.0.1)
  • PHP extension redis updated to 3.1.3
  • Number of default PHP-FPM workers set to 8

4.1.4

4.1.3

  • New Apache container
  • New Adminer container
  • Nginx updated to 1.13.2
  • Drupal headers no longer hidden by default, configurable via Nginx/Apache environment variables
  • MariaDB now recovers privileges in case of an error during import
  • Drupal node container freeze

4.1.2

  • Updated MariaDB with bug fixes
  • PHP extension APCu is now configurable
  • All PHP extensions are now frozen
  • Runtime Alpine Linux libraries used by PHP extension are now frozen
  • Dropped few environment variables
  • Updated vanilla Drupal: 8.3.4

4.1.1

  • Updated PHP: 7.1.5 > 7.1.6, 7.0.19 > 7.0.20
  • OpenSMTPD can now relay emails to 3rd party SMTP servers
  • OpenSMTPD rebased to Alpine 3.6 with freezed version
  • Environment variables for OpenSMTPD configuration
  • OpenSMTPD now writes logs to container output
  • Increased max_allowed_packet for MariaDB daemon
  • PHP expose header now disabled by default
  • Nginx images rebased to Alpine 3.6
  • Updated vanilla Drupal

4.1.0

  • Bug fix: git checkout in php container sometimes failed
  • Bug fix: varnish cache flush action failed
  • Bug fix: some environment variables missed in SSH container
  • MariaDB: No longer lock table during backups (--single-transaction)
  • MariaDB: Excludes cache tables data from backups. See backups section for more details
  • Nginx: New version: 1.13.0 > 1.13.1
  • PHP: All images rebased to Alpine Linux 3.6 and now use LibreSSL instead of OpenSSL
  • PHP: Fixed segfault caused by imagick extension
  • PHP: MongoDB extension downgraded to 1.1.10
  • New AthenaPDF container – drop-in replacement for wkhtmltopdf
  • New Rsyslog container
  • New Node.js container

4.0.1

  • Bug fixes and stabilization improvements
  • Images versions freeze
  • PHP versions freeze

4.0.0

Changes

  • All-new revamped docker container images consistent with docker4drupal
  • Improved performance of containers
  • Revamped orchestration with better logging and performance
  • Optional services now can be enabled/disabled on the working app
  • Services configuration via environment variables from the dashboard
  • Services' containers now can can be scaled (# of replicas)
  • Detailed log output for orchestration tasks
  • Redesigned scalability for cluster deployments

There's no backward compatibility with stacks 3.x