@lando/php 1.10.0 → 1.11.1

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 CHANGED
@@ -1,5 +1,14 @@
1
1
  ## {{ UNRELEASED_VERSION }} - [{{ UNRELEASED_DATE }}]({{ UNRELEASED_LINK }})
2
2
 
3
+ ## v1.11.1 - [February 20, 2026](https://github.com/lando/php/releases/tag/v1.11.1)
4
+
5
+ * Fixed database type detection when no version is specified
6
+ * Added npm edge-to-latest tag promotion on release
7
+
8
+ ## v1.11.0 - [February 19, 2026](https://github.com/lando/php/releases/tag/v1.11.0)
9
+
10
+ * Fixed database client auto-detection for recipe-based services [#223](https://github.com/lando/php/pull/223)
11
+
3
12
  ## v1.10.0 - [February 18, 2026](https://github.com/lando/php/releases/tag/v1.10.0)
4
13
 
5
14
  * Added database client auto-detection and version matching [#212](https://github.com/lando/php/pull/212)
package/builders/php.js CHANGED
@@ -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:X, mysql:X.Y, or mysql:X.Y.Z formats
72
- const mysqlMatch = type.match(/^mysql:(\d+(?:\.\d+)?)/);
73
- if (mysqlMatch && !mysqlVersion) mysqlVersion = mysqlMatch[1];
74
- // Match mariadb:X, mariadb:X.Y, or mariadb:X.Y.Z formats
75
- const mariaMatch = type.match(/^mariadb:(\d+(?:\.\d+)?)/);
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) {
@@ -65,6 +65,10 @@ COPY --from=mysql-client-84 /usr/bin/mysql /usr/local/mysql-client/8.4/mysql
65
65
  COPY --from=mysql-client-84 /usr/bin/mysqldump /usr/local/mysql-client/8.4/mysqldump
66
66
  COPY --from=mysql-client-84 /usr/bin/mysqladmin /usr/local/mysql-client/8.4/mysqladmin
67
67
 
68
+ # Ensure required MySQL client shared libraries are present
69
+ COPY --from=mysql-client-80 /usr/lib64/libmysqlclient.so* /usr/lib/
70
+ COPY --from=mysql-client-84 /usr/lib64/libmysqlclient.so* /usr/lib/
71
+
68
72
  RUN \
69
73
  chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
70
74
  && apt-get -y clean \
@@ -65,6 +65,10 @@ COPY --from=mysql-client-84 /usr/bin/mysql /usr/local/mysql-client/8.4/mysql
65
65
  COPY --from=mysql-client-84 /usr/bin/mysqldump /usr/local/mysql-client/8.4/mysqldump
66
66
  COPY --from=mysql-client-84 /usr/bin/mysqladmin /usr/local/mysql-client/8.4/mysqladmin
67
67
 
68
+ # Ensure required MySQL client shared libraries are present
69
+ COPY --from=mysql-client-80 /usr/lib64/libmysqlclient.so* /usr/lib/
70
+ COPY --from=mysql-client-84 /usr/lib64/libmysqlclient.so* /usr/lib/
71
+
68
72
  RUN \
69
73
  chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
70
74
  && apt-get -y clean \
@@ -65,6 +65,10 @@ COPY --from=mysql-client-84 /usr/bin/mysql /usr/local/mysql-client/8.4/mysql
65
65
  COPY --from=mysql-client-84 /usr/bin/mysqldump /usr/local/mysql-client/8.4/mysqldump
66
66
  COPY --from=mysql-client-84 /usr/bin/mysqladmin /usr/local/mysql-client/8.4/mysqladmin
67
67
 
68
+ # Ensure required MySQL client shared libraries are present
69
+ COPY --from=mysql-client-80 /usr/lib64/libmysqlclient.so* /usr/lib/
70
+ COPY --from=mysql-client-84 /usr/lib64/libmysqlclient.so* /usr/lib/
71
+
68
72
  RUN \
69
73
  chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
70
74
  && apt-get -y clean \
@@ -66,6 +66,10 @@ COPY --from=mysql-client-84 /usr/bin/mysql /usr/local/mysql-client/8.4/mysql
66
66
  COPY --from=mysql-client-84 /usr/bin/mysqldump /usr/local/mysql-client/8.4/mysqldump
67
67
  COPY --from=mysql-client-84 /usr/bin/mysqladmin /usr/local/mysql-client/8.4/mysqladmin
68
68
 
69
+ # Ensure required MySQL client shared libraries are present
70
+ COPY --from=mysql-client-80 /usr/lib64/libmysqlclient.so* /usr/lib/
71
+ COPY --from=mysql-client-84 /usr/lib64/libmysqlclient.so* /usr/lib/
72
+
69
73
  RUN \
70
74
  chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
71
75
  && apt-get -y clean \
@@ -65,6 +65,10 @@ COPY --from=mysql-client-84 /usr/bin/mysql /usr/local/mysql-client/8.4/mysql
65
65
  COPY --from=mysql-client-84 /usr/bin/mysqldump /usr/local/mysql-client/8.4/mysqldump
66
66
  COPY --from=mysql-client-84 /usr/bin/mysqladmin /usr/local/mysql-client/8.4/mysqladmin
67
67
 
68
+ # Ensure required MySQL client shared libraries are present
69
+ COPY --from=mysql-client-80 /usr/lib64/libmysqlclient.so* /usr/lib/
70
+ COPY --from=mysql-client-84 /usr/lib64/libmysqlclient.so* /usr/lib/
71
+
68
72
  RUN \
69
73
  chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
70
74
  && apt-get -y clean \
@@ -66,6 +66,10 @@ COPY --from=mysql-client-84 /usr/bin/mysql /usr/local/mysql-client/8.4/mysql
66
66
  COPY --from=mysql-client-84 /usr/bin/mysqldump /usr/local/mysql-client/8.4/mysqldump
67
67
  COPY --from=mysql-client-84 /usr/bin/mysqladmin /usr/local/mysql-client/8.4/mysqladmin
68
68
 
69
+ # Ensure required MySQL client shared libraries are present
70
+ COPY --from=mysql-client-80 /usr/lib64/libmysqlclient.so* /usr/lib/
71
+ COPY --from=mysql-client-84 /usr/lib64/libmysqlclient.so* /usr/lib/
72
+
69
73
  RUN \
70
74
  chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
71
75
  && apt-get -y clean \
package/package.json CHANGED
@@ -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.10.0",
4
+ "version": "1.11.1",
5
5
  "author": "Mike Pirog @pirog",
6
6
  "license": "MIT",
7
7
  "repository": "lando/php",
@@ -66,9 +66,9 @@
66
66
  "semver"
67
67
  ],
68
68
  "dist": {
69
- "integrity": "sha512-KI1gTQPz98mOetlZpUMjzxZas/yF8quXdzY9QCV+Yqe2FKmG+8vFgvCViMeiRzevKVXAVpfRiXb5InH3gnyq/g==",
70
- "shasum": "85545d2e4b9dc77cc8b771899b1fbdb2e4883c4e",
71
- "filename": "lando-php-1.10.0.tgz",
72
- "unpackedSize": 3057365
69
+ "integrity": "sha512-YARvLV+LsZ5LloDW2E7r3stkptHPkCtMh7VrEQu7Wa0pNF1N8TAQJlGxIRrWWuVT/6N7mgw+IWgro3CtPlCKsw==",
70
+ "shasum": "74c9af6bc8853760d8ca3a57528658580f99e409",
71
+ "filename": "lando-php-1.11.1.tgz",
72
+ "unpackedSize": 3059346
73
73
  }
74
74
  }
@@ -35,8 +35,8 @@ default-character-set=utf8mb4
35
35
  disable-ssl-verify-server-cert
36
36
 
37
37
  [mysqldump]
38
- # Prevent column-statistics errors with newer mysqldump
39
- skip-column-statistics
38
+ # MySQL 8 uses this; MariaDB safely ignores it via loose- prefix
39
+ loose-skip-column-statistics
40
40
  MYCNF
41
41
 
42
42
  echo "MariaDB compatibility wrappers installed"
@@ -50,10 +50,18 @@ 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
- mysql --version 2>/dev/null || echo "Warning: MySQL client not available"
64
+ if ! mysql --version 2>/dev/null; then
65
+ echo "Error: MySQL client not available after activation"
66
+ exit 1
67
+ fi