@lando/drupal 1.14.0 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/README.md +2 -2
- package/builders/_drupaly.js +12 -2
- package/netlify.toml +2 -1
- package/node_modules/@lando/php/CHANGELOG.md +17 -0
- package/node_modules/@lando/php/builders/php.js +11 -7
- package/node_modules/@lando/php/node_modules/@lando/nginx/CHANGELOG.md +2 -0
- package/node_modules/@lando/php/node_modules/@lando/nginx/config/launch.sh +9 -0
- package/node_modules/@lando/php/node_modules/@lando/nginx/netlify.toml +1 -1
- package/node_modules/@lando/php/node_modules/@lando/nginx/package.json +5 -5
- package/node_modules/@lando/php/package.json +6 -6
- package/node_modules/@lando/php/scripts/install-composer.sh +3 -9
- package/node_modules/@lando/php/scripts/mariadb-compat-install.sh +0 -3
- package/node_modules/@lando/php/scripts/mysql-client-install.sh +5 -0
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
## {{ UNRELEASED_VERSION }} - [{{ UNRELEASED_DATE }}]({{ UNRELEASED_LINK }})
|
|
2
2
|
|
|
3
|
+
## v1.15.0 - [March 11, 2026](https://github.com/lando/drupal/releases/tag/v1.15.0)
|
|
4
|
+
|
|
5
|
+
* Fixed `drush_uri` to include non-standard proxy ports [#180](https://github.com/lando/drupal/pull/180)
|
|
6
|
+
* Removed `--ansi` flag from composer tooling command to prevent escape codes in redirected output [#157](https://github.com/lando/drupal/issues/157)
|
|
7
|
+
* Updated to [@lando/php@1.12.0](https://github.com/lando/php/releases/tag/v1.12.0) to enable mod_headers/mod_expires by default and fix xdebug log ownership
|
|
8
|
+
|
|
9
|
+
## v1.14.1 - [February 20, 2026](https://github.com/lando/drupal/releases/tag/v1.14.1)
|
|
10
|
+
|
|
11
|
+
* Updated to [@lando/php@1.11.1](https://github.com/lando/php/releases/tag/v1.11.1)
|
|
12
|
+
|
|
3
13
|
## v1.14.0 - [February 19, 2026](https://github.com/lando/drupal/releases/tag/v1.14.0)
|
|
4
14
|
|
|
5
15
|
* Added `drush_uri` configuration option to set `DRUSH_OPTIONS_URI` environment variable in the appserver service with SSL support
|
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ Of course, once a user is running their Drupal project with Lando they can take
|
|
|
18
18
|
Add a `drupal11` recipe to your Landofile
|
|
19
19
|
|
|
20
20
|
```yaml
|
|
21
|
-
name:
|
|
21
|
+
name: my-cms
|
|
22
22
|
recipe: drupal11
|
|
23
23
|
config:
|
|
24
24
|
php: 8.3
|
|
@@ -82,7 +82,7 @@ npm release
|
|
|
82
82
|
|
|
83
83
|
* [@pirog](https://github.com/pirog)
|
|
84
84
|
* [@reynoldsalec](https://github.com/reynoldsalec)
|
|
85
|
-
* [@
|
|
85
|
+
* [@aaronfeledy](https://github.com/AaronFeledy)
|
|
86
86
|
|
|
87
87
|
## Contributors
|
|
88
88
|
|
package/builders/_drupaly.js
CHANGED
|
@@ -16,7 +16,7 @@ const DRUSH7 = '7.4.0';
|
|
|
16
16
|
const toolingDefaults = {
|
|
17
17
|
'composer': {
|
|
18
18
|
service: 'appserver',
|
|
19
|
-
cmd: 'composer
|
|
19
|
+
cmd: 'composer',
|
|
20
20
|
},
|
|
21
21
|
'db-import <file>': {
|
|
22
22
|
service: ':host',
|
|
@@ -299,7 +299,17 @@ module.exports = {
|
|
|
299
299
|
// Check SSL setting for the proxy service
|
|
300
300
|
const proxyServiceSsl = options.services[options.proxyService]?.ssl;
|
|
301
301
|
const ssl = proxyServiceSsl !== undefined ? proxyServiceSsl : options.services.appserver?.ssl;
|
|
302
|
-
|
|
302
|
+
const protocol = ssl ? 'https' : 'http';
|
|
303
|
+
// Include port if non-standard (e.g. proxy on 444 instead of 443)
|
|
304
|
+
const ports = _.get(options, '_app._config.proxyLastPorts');
|
|
305
|
+
let port = '';
|
|
306
|
+
if (ports) {
|
|
307
|
+
const activePort = ssl ? ports.https : ports.http;
|
|
308
|
+
if (activePort && ((ssl && activePort !== 443) || (!ssl && activePort !== 80))) {
|
|
309
|
+
port = `:${activePort}`;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
drushUri = `${protocol}://${proxyUrl}${port}`;
|
|
303
313
|
}
|
|
304
314
|
}
|
|
305
315
|
|
package/netlify.toml
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
## {{ UNRELEASED_VERSION }} - [{{ UNRELEASED_DATE }}]({{ UNRELEASED_LINK }})
|
|
2
2
|
|
|
3
|
+
## v1.12.0 - [March 8, 2026](https://github.com/lando/php/releases/tag/v1.12.0)
|
|
4
|
+
|
|
5
|
+
* Enabled `mod_headers` and `mod_expires` Apache modules by default [#243](https://github.com/lando/php/issues/243)
|
|
6
|
+
* Fixed xdebug log file ownership issue when `build_as_root` or `run_as_root` creates `/tmp/xdebug.log` as root [#242](https://github.com/lando/php/pull/242)
|
|
7
|
+
|
|
8
|
+
## v1.11.2 - [February 25, 2026](https://github.com/lando/php/releases/tag/v1.11.2)
|
|
9
|
+
|
|
10
|
+
* Fixed composer install crash caused by legacy prestissimo removal running as wrong user
|
|
11
|
+
* Improved composer install script to default to latest stable
|
|
12
|
+
* Fixed `mysqldump` warning for unknown option on MariaDB 11.4/11.8 [#237](https://github.com/lando/php/issues/237)
|
|
13
|
+
* Updated to [@lando/nginx@1.6.0](https://github.com/lando/nginx/releases/tag/v1.6.0)
|
|
14
|
+
|
|
15
|
+
## v1.11.1 - [February 20, 2026](https://github.com/lando/php/releases/tag/v1.11.1)
|
|
16
|
+
|
|
17
|
+
* Fixed database type detection when no version is specified
|
|
18
|
+
* Added npm edge-to-latest tag promotion on release
|
|
19
|
+
|
|
3
20
|
## v1.11.0 - [February 19, 2026](https://github.com/lando/php/releases/tag/v1.11.0)
|
|
4
21
|
|
|
5
22
|
* Fixed database client auto-detection for recipe-based services [#223](https://github.com/lando/php/pull/223)
|
|
@@ -68,12 +68,12 @@ const detectDatabaseClient = (options, debug = () => {}) => {
|
|
|
68
68
|
|
|
69
69
|
for (const service of Object.values(services)) {
|
|
70
70
|
const type = service?.type || '';
|
|
71
|
-
// Match mysql
|
|
72
|
-
const mysqlMatch = type.match(/(?:^|-)mysql
|
|
73
|
-
if (mysqlMatch && !mysqlVersion) mysqlVersion = mysqlMatch[1];
|
|
74
|
-
// Match mariadb
|
|
75
|
-
const mariaMatch = type.match(/(?:^|-)mariadb
|
|
76
|
-
if (mariaMatch && !mariaVersion) mariaVersion = mariaMatch[1];
|
|
71
|
+
// Match mysql or mysql:X, including recipe prefixes (e.g., backdrop-mysql, backdrop-mysql:8.0)
|
|
72
|
+
const mysqlMatch = type.match(/(?:^|-)mysql(?::(\d+(?:\.\d+)?))?(?:$|[^a-z])/);
|
|
73
|
+
if (mysqlMatch && !mysqlVersion) mysqlVersion = mysqlMatch[1] || '8.0';
|
|
74
|
+
// Match mariadb or mariadb:X, including recipe prefixes (e.g., backdrop-mariadb:10.6)
|
|
75
|
+
const mariaMatch = type.match(/(?:^|-)mariadb(?::(\d+(?:\.\d+)?))?(?:$|[^a-z])/);
|
|
76
|
+
if (mariaMatch && !mariaVersion) mariaVersion = mariaMatch[1] || '11.4';
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
if (mariaVersion && mysqlVersion) {
|
|
@@ -170,7 +170,7 @@ module.exports = {
|
|
|
170
170
|
'/helpers',
|
|
171
171
|
],
|
|
172
172
|
confSrc: path.resolve(__dirname, '..', 'config'),
|
|
173
|
-
command: ['sh -c \'a2enmod rewrite && apache2-foreground\''],
|
|
173
|
+
command: ['sh -c \'a2enmod rewrite headers expires && apache2-foreground\''],
|
|
174
174
|
composer_version: true,
|
|
175
175
|
phpServer: 'apache',
|
|
176
176
|
defaultFiles: {
|
|
@@ -248,6 +248,10 @@ module.exports = {
|
|
|
248
248
|
options.composer_version = options.composer_version.toString();
|
|
249
249
|
}
|
|
250
250
|
|
|
251
|
+
// Pre-create xdebug log with world-writable permissions so root-owned builds
|
|
252
|
+
// don't block www-data from writing to it later
|
|
253
|
+
addBuildStep(['touch /tmp/xdebug.log && chmod 666 /tmp/xdebug.log'], options._app, options.name, 'build_as_root_internal');
|
|
254
|
+
|
|
251
255
|
// Add build step to enable xdebug
|
|
252
256
|
if (options.xdebug) {
|
|
253
257
|
addBuildStep(['docker-php-ext-enable xdebug'], options._app, options.name, 'build_as_root_internal');
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
## {{ UNRELEASED_VERSION }} - [{{ UNRELEASED_DATE }}]({{ UNRELEASED_LINK }})
|
|
2
2
|
|
|
3
|
+
## v1.6.0 - [February 23, 2026](https://github.com/lando/nginx/releases/tag/v1.6.0)
|
|
4
|
+
|
|
3
5
|
## v1.5.0 - [August 31, 2025](https://github.com/lando/nginx/releases/tag/v1.5.0)
|
|
4
6
|
|
|
5
7
|
* Switched images to [bitnamilegacy](https://github.com/bitnami/containers/issues/83267) namespace
|
|
@@ -47,6 +47,15 @@ fi
|
|
|
47
47
|
lando_info "Rendered template /tmp/vhosts.lando to /opt/bitnami/nginx/conf/vhosts/lando.conf"
|
|
48
48
|
lando_debug $(cat /opt/bitnami/nginx/conf/vhosts/lando.conf)
|
|
49
49
|
|
|
50
|
+
# Set nginx worker user to www-data so it can serve files created by PHP
|
|
51
|
+
# Bitnami's nginx-env.sh hardcodes NGINX_DAEMON_USER=daemon which overwrites
|
|
52
|
+
# any env var we set, so we patch it before the entrypoint runs
|
|
53
|
+
# See: https://github.com/lando/drupal/issues/124
|
|
54
|
+
if [ -f "/opt/bitnami/scripts/nginx-env.sh" ]; then
|
|
55
|
+
sed -i 's/export NGINX_DAEMON_USER="daemon"/export NGINX_DAEMON_USER="www-data"/' /opt/bitnami/scripts/nginx-env.sh
|
|
56
|
+
sed -i 's/export NGINX_DAEMON_GROUP="daemon"/export NGINX_DAEMON_GROUP="www-data"/' /opt/bitnami/scripts/nginx-env.sh
|
|
57
|
+
fi
|
|
58
|
+
|
|
50
59
|
# Detect and run the correct entrypoint script. THANKS BITNAMI!
|
|
51
60
|
if [ -f "/opt/bitnami/scripts/nginx/entrypoint.sh" ]; then
|
|
52
61
|
/opt/bitnami/scripts/nginx/entrypoint.sh /opt/bitnami/scripts/nginx/run.sh
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
[[context.deploy-preview.plugins]]
|
|
11
11
|
package = "netlify-plugin-checklinks"
|
|
12
12
|
[context.deploy-preview.plugins.inputs]
|
|
13
|
-
todoPatterns = [ "load", "CHANGELOG.html", "x.com", "twitter.com", "/v/" ]
|
|
13
|
+
todoPatterns = [ "load", "CHANGELOG.html", "x.com", "twitter.com", "/v/", "hub.docker.com" ]
|
|
14
14
|
skipPatterns = [ ".rss", ".gif", ".jpg" ]
|
|
15
15
|
checkExternal = true
|
|
16
16
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lando/nginx",
|
|
3
3
|
"description": "A Lando plugin that provides a tight integration with NGINX.",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.6.0",
|
|
5
5
|
"author": "Mike Pirog @pirog",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": "lando/nginx",
|
|
@@ -62,9 +62,9 @@
|
|
|
62
62
|
"lodash"
|
|
63
63
|
],
|
|
64
64
|
"dist": {
|
|
65
|
-
"integrity": "sha512-
|
|
66
|
-
"shasum": "
|
|
67
|
-
"filename": "lando-nginx-1.
|
|
68
|
-
"unpackedSize":
|
|
65
|
+
"integrity": "sha512-hFMXf957vKd++pvHh08Ywc8h2Aftg1uDg+4Pt4HqsTQxYSnlN8ayoOVYphV7cUe2WV1gRIbFCLz5pKAPak/bYQ==",
|
|
66
|
+
"shasum": "648e64c6fc22418c8cd65b6ebe3274d16a6dc115",
|
|
67
|
+
"filename": "lando-nginx-1.6.0.tgz",
|
|
68
|
+
"unpackedSize": 1439572
|
|
69
69
|
}
|
|
70
70
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lando/php",
|
|
3
3
|
"description": "A Lando plugin that provides a tight integration with PHP.",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.12.0",
|
|
5
5
|
"author": "Mike Pirog @pirog",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": "lando/php",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@babel/eslint-parser": "^7.25.9",
|
|
52
52
|
"@lando/leia": "0.6.7",
|
|
53
|
-
"@lando/vitepress-theme-default-plus": "^1.1.
|
|
53
|
+
"@lando/vitepress-theme-default-plus": "^1.1.5",
|
|
54
54
|
"chai": "^4.3.4",
|
|
55
55
|
"command-line-test": "^1.0.10",
|
|
56
56
|
"eslint": "^7.32.0",
|
|
@@ -66,9 +66,9 @@
|
|
|
66
66
|
"semver"
|
|
67
67
|
],
|
|
68
68
|
"dist": {
|
|
69
|
-
"integrity": "sha512-
|
|
70
|
-
"shasum": "
|
|
71
|
-
"filename": "lando-php-1.
|
|
72
|
-
"unpackedSize":
|
|
69
|
+
"integrity": "sha512-nsB/0TpunQiov9qAnACEcJi3vlduFJjxTkQtkci0jHjG1clPKFUCDPPzwGTfnJl4J0TxJ48dZDMAMcAHRkTttA==",
|
|
70
|
+
"shasum": "92efcddcc2f1b59017a440b2a4d545353496f847",
|
|
71
|
+
"filename": "lando-php-1.12.0.tgz",
|
|
72
|
+
"unpackedSize": 3060783
|
|
73
73
|
}
|
|
74
74
|
}
|
|
@@ -24,17 +24,11 @@ elif [ "$VERSION" = 'preview' ]; then
|
|
|
24
24
|
php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer --preview
|
|
25
25
|
elif [ "$VERSION" = 'snapshot' ]; then
|
|
26
26
|
php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer --snapshot
|
|
27
|
-
|
|
27
|
+
elif [ -n "$VERSION" ]; then
|
|
28
28
|
php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer --version="$VERSION"
|
|
29
|
+
else
|
|
30
|
+
php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
|
|
29
31
|
fi
|
|
30
32
|
|
|
31
33
|
# Remove the setup script
|
|
32
34
|
php -r "unlink('/tmp/composer-setup.php');"
|
|
33
|
-
|
|
34
|
-
# Check if anything is installed globally
|
|
35
|
-
if [ -f /var/www/.composer/composer.json ]; then
|
|
36
|
-
# If this is version 2 then let's make sure hirak/prestissimo is removed
|
|
37
|
-
if composer --version 2>/dev/null | grep -E "Composer (version )?2." > /dev/null; then
|
|
38
|
-
composer global remove hirak/prestissimo
|
|
39
|
-
fi
|
|
40
|
-
fi
|
|
@@ -34,9 +34,6 @@ default-character-set=utf8mb4
|
|
|
34
34
|
# Prevent SSL errors when connecting to servers without SSL
|
|
35
35
|
disable-ssl-verify-server-cert
|
|
36
36
|
|
|
37
|
-
[mysqldump]
|
|
38
|
-
# MySQL 8 uses this; MariaDB safely ignores it via loose- prefix
|
|
39
|
-
loose-skip-column-statistics
|
|
40
37
|
MYCNF
|
|
41
38
|
|
|
42
39
|
echo "MariaDB compatibility wrappers installed"
|
|
@@ -50,10 +50,15 @@ mkdir -p /etc/mysql/conf.d
|
|
|
50
50
|
cat > /etc/mysql/conf.d/lando.cnf << 'MYCNF'
|
|
51
51
|
[client]
|
|
52
52
|
default-character-set=utf8mb4
|
|
53
|
+
# Use PREFERRED so SSL is used when available but self-signed certs
|
|
54
|
+
# (e.g. MySQL 5.7 defaults) don't cause verification failures.
|
|
55
|
+
# Preserves SSL for servers that support it
|
|
56
|
+
ssl-mode=PREFERRED
|
|
53
57
|
|
|
54
58
|
[mysqldump]
|
|
55
59
|
# Prevent column-statistics errors with newer mysqldump
|
|
56
60
|
skip-column-statistics
|
|
61
|
+
ssl-mode=PREFERRED
|
|
57
62
|
MYCNF
|
|
58
63
|
|
|
59
64
|
if ! mysql --version 2>/dev/null; then
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lando/drupal",
|
|
3
3
|
"description": "A Lando plugin that provides a tight integration with Drupal.",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.15.0",
|
|
5
5
|
"author": "Mike Pirog @pirog",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": "lando/drupal",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"@lando/mariadb": "^1.8.0",
|
|
47
47
|
"@lando/mssql": "^1.4.3",
|
|
48
48
|
"@lando/mysql": "^1.6.0",
|
|
49
|
-
"@lando/php": "^1.
|
|
49
|
+
"@lando/php": "^1.12.0",
|
|
50
50
|
"@lando/postgres": "^1.6.0",
|
|
51
51
|
"lodash": "^4.17.21",
|
|
52
52
|
"semver": "^7.7.2"
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@babel/eslint-parser": "^7.16.0",
|
|
56
56
|
"@lando/leia": "^1.0.0-beta.3",
|
|
57
|
-
"@lando/vitepress-theme-default-plus": "^1.1.
|
|
57
|
+
"@lando/vitepress-theme-default-plus": "^1.1.5",
|
|
58
58
|
"chai": "^4.3.4",
|
|
59
59
|
"command-line-test": "^1.0.10",
|
|
60
60
|
"eslint": "^7.32.0",
|
|
@@ -75,9 +75,9 @@
|
|
|
75
75
|
"semver"
|
|
76
76
|
],
|
|
77
77
|
"dist": {
|
|
78
|
-
"integrity": "sha512-
|
|
79
|
-
"shasum": "
|
|
80
|
-
"filename": "lando-drupal-1.
|
|
81
|
-
"unpackedSize":
|
|
78
|
+
"integrity": "sha512-heWji6NOqsne1Yoif3/6RLgyrvqk7VL9Sqeeu6dzUKfMOB7afZD+nBYKsJARib3t9gH/PECPTjzzN+lLLqdECA==",
|
|
79
|
+
"shasum": "e0213ff47cdfed4cff2fc7b540dd2dcc750516bb",
|
|
80
|
+
"filename": "lando-drupal-1.15.0.tgz",
|
|
81
|
+
"unpackedSize": 10432844
|
|
82
82
|
}
|
|
83
83
|
}
|