@lando/drupal 1.11.0 → 1.13.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.
Files changed (149) hide show
  1. package/.lando.yml +1 -2
  2. package/CHANGELOG.md +18 -0
  3. package/LICENSE +21 -0
  4. package/README.md +20 -27
  5. package/builders/_drupaly.js +27 -20
  6. package/builders/drupal-mariadb.js +1 -1
  7. package/builders/drupal-mssql.js +1 -1
  8. package/builders/drupal-mysql.js +7 -1
  9. package/builders/drupal-nginx.js +1 -1
  10. package/builders/drupal-php.js +18 -19
  11. package/builders/drupal-postgres.js +1 -1
  12. package/builders/drupal10.js +1 -1
  13. package/builders/drupal6.js +3 -2
  14. package/builders/drupal9.js +1 -1
  15. package/config/drupal11/mysql8.cnf +44 -92
  16. package/inits/drupal10.js +5 -0
  17. package/inits/drupal11.js +7 -0
  18. package/inits/drupal6.js +4 -0
  19. package/inits/drupal7.js +3 -0
  20. package/inits/drupal8.js +3 -0
  21. package/inits/drupal9.js +5 -0
  22. package/netlify.toml +17 -1
  23. package/node_modules/@lando/mariadb/.lando.yml +1 -1
  24. package/node_modules/@lando/mariadb/.node-version +1 -1
  25. package/node_modules/@lando/mariadb/CHANGELOG.md +8 -1
  26. package/node_modules/@lando/mariadb/LICENSE +21 -0
  27. package/node_modules/@lando/mariadb/README.md +5 -2
  28. package/node_modules/@lando/mariadb/builders/mariadb.js +25 -22
  29. package/node_modules/@lando/mariadb/netlify.toml +9 -2
  30. package/node_modules/@lando/mariadb/package.json +8 -8
  31. package/node_modules/@lando/mysql/.lando.yml +1 -1
  32. package/node_modules/@lando/mysql/CHANGELOG.md +10 -0
  33. package/node_modules/@lando/mysql/LICENSE +21 -0
  34. package/node_modules/@lando/mysql/README.md +5 -2
  35. package/node_modules/@lando/mysql/builders/mysql.js +9 -5
  36. package/node_modules/@lando/mysql/netlify.toml +9 -0
  37. package/node_modules/@lando/mysql/package.json +8 -8
  38. package/node_modules/@lando/php/.lando.yml +1 -1
  39. package/node_modules/@lando/php/CHANGELOG.md +35 -1
  40. package/node_modules/@lando/php/LICENSE +21 -0
  41. package/node_modules/@lando/php/README.md +5 -2
  42. package/node_modules/@lando/php/builders/php.js +68 -15
  43. package/node_modules/@lando/php/images/5.6-apache/Dockerfile +0 -4
  44. package/node_modules/@lando/php/images/5.6-fpm/Dockerfile +0 -5
  45. package/node_modules/@lando/php/images/7.0-apache/Dockerfile +0 -4
  46. package/node_modules/@lando/php/images/7.0-fpm/Dockerfile +0 -4
  47. package/node_modules/@lando/php/images/7.1-apache/Dockerfile +0 -4
  48. package/node_modules/@lando/php/images/7.1-fpm/Dockerfile +0 -4
  49. package/node_modules/@lando/php/images/7.2-apache/Dockerfile +0 -4
  50. package/node_modules/@lando/php/images/7.2-fpm/Dockerfile +0 -4
  51. package/node_modules/@lando/php/images/7.3-apache/Dockerfile +0 -3
  52. package/node_modules/@lando/php/images/7.3-fpm/Dockerfile +0 -3
  53. package/node_modules/@lando/php/images/7.4-apache/Dockerfile +45 -55
  54. package/node_modules/@lando/php/images/7.4-fpm/Dockerfile +59 -69
  55. package/node_modules/@lando/php/images/8.0-apache/Dockerfile +45 -56
  56. package/node_modules/@lando/php/images/8.0-fpm/Dockerfile +45 -56
  57. package/node_modules/@lando/php/images/8.1-apache/Dockerfile +12 -2
  58. package/node_modules/@lando/php/images/8.1-fpm/Dockerfile +12 -2
  59. package/node_modules/@lando/php/images/8.2-apache/Dockerfile +12 -2
  60. package/node_modules/@lando/php/images/8.2-fpm/Dockerfile +12 -2
  61. package/node_modules/@lando/php/images/8.3-apache/Dockerfile +24 -4
  62. package/node_modules/@lando/php/images/8.3-fpm/Dockerfile +25 -4
  63. package/node_modules/@lando/php/images/8.4-apache/Dockerfile +27 -4
  64. package/node_modules/@lando/php/images/8.4-fpm/Dockerfile +27 -4
  65. package/node_modules/@lando/php/netlify.toml +10 -1
  66. package/node_modules/@lando/php/node_modules/@lando/nginx/.lando.yml +1 -1
  67. package/node_modules/@lando/php/node_modules/@lando/nginx/.node-version +1 -1
  68. package/node_modules/@lando/php/node_modules/@lando/nginx/CHANGELOG.md +9 -1
  69. package/node_modules/@lando/php/node_modules/@lando/nginx/LICENSE +21 -0
  70. package/node_modules/@lando/php/node_modules/@lando/nginx/README.md +5 -2
  71. package/node_modules/@lando/php/node_modules/@lando/nginx/builders/nginx.js +34 -15
  72. package/node_modules/@lando/php/node_modules/@lando/nginx/netlify.toml +9 -4
  73. package/node_modules/@lando/php/node_modules/@lando/nginx/package.json +8 -8
  74. package/node_modules/@lando/php/package.json +10 -10
  75. package/node_modules/@lando/php/scripts/install-composer.sh +4 -0
  76. package/node_modules/@lando/php/utils/add-build-step.js +17 -3
  77. package/node_modules/@lando/php/utils/get-install-commands.js +19 -3
  78. package/node_modules/@lando/postgres/.lando.yml +1 -1
  79. package/node_modules/@lando/postgres/CHANGELOG.md +11 -0
  80. package/node_modules/@lando/postgres/LICENSE +21 -0
  81. package/node_modules/@lando/postgres/README.md +5 -2
  82. package/node_modules/@lando/postgres/builders/postgres.js +9 -9
  83. package/node_modules/@lando/postgres/netlify.toml +9 -4
  84. package/node_modules/@lando/postgres/package.json +8 -8
  85. package/node_modules/semver/README.md +14 -4
  86. package/node_modules/semver/bin/semver.js +4 -1
  87. package/node_modules/semver/classes/comparator.js +2 -0
  88. package/node_modules/semver/classes/index.js +2 -0
  89. package/node_modules/semver/classes/range.js +2 -0
  90. package/node_modules/semver/classes/semver.js +22 -5
  91. package/node_modules/semver/functions/clean.js +2 -0
  92. package/node_modules/semver/functions/cmp.js +2 -0
  93. package/node_modules/semver/functions/coerce.js +2 -0
  94. package/node_modules/semver/functions/compare-build.js +2 -0
  95. package/node_modules/semver/functions/compare-loose.js +2 -0
  96. package/node_modules/semver/functions/compare.js +2 -0
  97. package/node_modules/semver/functions/diff.js +7 -12
  98. package/node_modules/semver/functions/eq.js +2 -0
  99. package/node_modules/semver/functions/gt.js +2 -0
  100. package/node_modules/semver/functions/gte.js +2 -0
  101. package/node_modules/semver/functions/inc.js +2 -0
  102. package/node_modules/semver/functions/lt.js +2 -0
  103. package/node_modules/semver/functions/lte.js +2 -0
  104. package/node_modules/semver/functions/major.js +2 -0
  105. package/node_modules/semver/functions/minor.js +2 -0
  106. package/node_modules/semver/functions/neq.js +2 -0
  107. package/node_modules/semver/functions/parse.js +2 -0
  108. package/node_modules/semver/functions/patch.js +2 -0
  109. package/node_modules/semver/functions/prerelease.js +2 -0
  110. package/node_modules/semver/functions/rcompare.js +2 -0
  111. package/node_modules/semver/functions/rsort.js +2 -0
  112. package/node_modules/semver/functions/satisfies.js +2 -0
  113. package/node_modules/semver/functions/sort.js +2 -0
  114. package/node_modules/semver/functions/valid.js +2 -0
  115. package/node_modules/semver/index.js +2 -0
  116. package/node_modules/semver/internal/constants.js +2 -0
  117. package/node_modules/semver/internal/debug.js +2 -0
  118. package/node_modules/semver/internal/identifiers.js +2 -0
  119. package/node_modules/semver/internal/lrucache.js +2 -0
  120. package/node_modules/semver/internal/parse-options.js +2 -0
  121. package/node_modules/semver/internal/re.js +10 -4
  122. package/node_modules/semver/package.json +8 -7
  123. package/node_modules/semver/preload.js +2 -0
  124. package/node_modules/semver/ranges/gtr.js +2 -0
  125. package/node_modules/semver/ranges/intersects.js +2 -0
  126. package/node_modules/semver/ranges/ltr.js +2 -0
  127. package/node_modules/semver/ranges/max-satisfying.js +2 -0
  128. package/node_modules/semver/ranges/min-satisfying.js +2 -0
  129. package/node_modules/semver/ranges/min-version.js +2 -0
  130. package/node_modules/semver/ranges/outside.js +2 -0
  131. package/node_modules/semver/ranges/simplify.js +2 -0
  132. package/node_modules/semver/ranges/subset.js +2 -0
  133. package/node_modules/semver/ranges/to-comparators.js +2 -0
  134. package/node_modules/semver/ranges/valid.js +2 -0
  135. package/package.json +13 -13
  136. package/LICENSE.md +0 -674
  137. package/PRIVACY.md +0 -169
  138. package/node_modules/@lando/mariadb/LICENSE.md +0 -674
  139. package/node_modules/@lando/mariadb/PRIVACY.md +0 -169
  140. package/node_modules/@lando/mariadb/tmpfile +0 -0
  141. package/node_modules/@lando/mysql/.tool-versions +0 -1
  142. package/node_modules/@lando/mysql/LICENSE.md +0 -674
  143. package/node_modules/@lando/mysql/PRIVACY.md +0 -169
  144. package/node_modules/@lando/php/LICENSE.md +0 -674
  145. package/node_modules/@lando/php/PRIVACY.md +0 -169
  146. package/node_modules/@lando/php/node_modules/@lando/nginx/LICENSE.md +0 -674
  147. package/node_modules/@lando/php/node_modules/@lando/nginx/PRIVACY.md +0 -169
  148. package/node_modules/@lando/postgres/LICENSE.md +0 -674
  149. package/node_modules/@lando/postgres/PRIVACY.md +0 -169
@@ -1 +1 @@
1
- 18
1
+ 20
@@ -1,7 +1,14 @@
1
1
  ## {{ UNRELEASED_VERSION }} - [{{ UNRELEASED_DATE }}]({{ UNRELEASED_LINK }})
2
2
 
3
+ ## v1.7.0 - [August 30, 2025](https://github.com/lando/mariadb/releases/tag/v1.7.0)
4
+
5
+ * Switched images to [bitnamilegacy](https://github.com/bitnami/containers/issues/83267) namespace
6
+ * Updated `mariadb:11.4` to `11.4.7`
7
+
3
8
  ## v1.6.3 - [December 6, 2024](https://github.com/lando/mariadb/releases/tag/v1.6.3)
4
9
 
10
+ * Added support for MariaDB 11.6 and 11.7.
11
+ * Bumped all available MariaDB minor versions.
5
12
  * Updated the version index.md to get Docuverse page to build correctly.
6
13
 
7
14
  ## v1.6.2 - [December 4, 2024](https://github.com/lando/mariadb/releases/tag/v1.6.2)
@@ -19,7 +26,7 @@
19
26
  ## v1.5.0 - [September 26, 2024](https://github.com/lando/mariadb/releases/tag/v1.5.0)
20
27
 
21
28
  * Added MariaDB 11.5.
22
- * Updated pinned image versions to be ARM compatible.
29
+ * Updated pinned image versions to be ARM compatible.
23
30
 
24
31
  ## v1.4.0 - [September 24, 2024](https://github.com/lando/mariadb/releases/tag/v1.4.0)
25
32
 
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Lando Alliance
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -49,5 +49,8 @@ Made with [contributors-img](https://contrib.rocks).
49
49
 
50
50
  ## Other Selected Resources
51
51
 
52
- * [LICENSE](https://github.com/lando/mariadb/blob/main/LICENSE.md)
53
- * [The best professional advice ever](https://www.youtube.com/watch?v=tkBVDh7my9Q)
52
+ * [LICENSE](/LICENSE)
53
+ * [TERMS OF USE](https://docs.lando.dev/terms)
54
+ * [PRIVACY POLICY](https://docs.lando.dev/privacy)
55
+ * [CODE OF CONDUCT](https://docs.lando.dev/coc)
56
+
@@ -9,28 +9,31 @@ module.exports = {
9
9
  name: 'mariadb',
10
10
  config: {
11
11
  version: '10.3',
12
- supported: ['11.5', '11.4', '11.3', '11.2', '11.1', '11.0', '10.11', '10.10', '10.9',
13
- '10.8', '10.7', '10.6', '10.5', '10.4', '10.3', '10.2', '10.1'],
14
- legacy: ['11.0', '10.10', '10.9', '10.8', '10.7', '10.2',
15
- '10.1'],
12
+ supported: ['11.7', '11.6', '11.5', '11.4', '11.3', '11.2', '11.1',
13
+ '11.0', '10.11', '10.10', '10.9', '10.8', '10.7', '10.6', '10.5',
14
+ '10.4', '10.3', '10.2', '10.1'],
15
+ legacy: ['11.7', '11.6', '11.5', '11.3', '11.2', '11.1', '11.0',
16
+ '10.10', '10.9', '10.8', '10.7', '10.4', '10.3', '10.2', '10.1'],
16
17
  pinPairs: {
17
- '11.5': 'bitnami/mariadb:11.5.2-debian-12-r2',
18
- '11.4': 'bitnami/mariadb:11.4.3-debian-12-r1',
19
- '11.3': 'bitnami/mariadb:11.3.2-debian-12-r9',
20
- '11.2': 'bitnami/mariadb:11.2.5-debian-12-r2',
21
- '11.1': 'bitnami/mariadb:11.1.6-debian-12-r0',
22
- '11.0': 'bitnami/mariadb:11.0.6-debian-12-r0',
23
- '10.11': 'bitnami/mariadb:10.11.9-debian-12-r1',
24
- '10.10': 'bitnami/mariadb:10.10.7-debian-11-r6',
25
- '10.9': 'bitnami/mariadb:10.9.8-debian-11-r22',
26
- '10.8': 'bitnami/mariadb:10.8.8-debian-11-r5',
27
- '10.7': 'bitnami/mariadb:10.7.8-debian-11-r6',
28
- '10.6': 'bitnami/mariadb:10.6.18-debian-12-r0',
29
- '10.5': 'bitnami/mariadb:10.5.25-debian-12-r0',
30
- '10.4': 'bitnami/mariadb:10.4.34-debian-12-r0',
31
- '10.3': 'bitnami/mariadb:10.3.39-debian-11-r5',
32
- '10.2': 'bitnami/mariadb:10.2.44-debian-11-r9',
33
- '10.1': 'bitnami/mariadb:10.1.47-debian-10-r13',
18
+ '11.7': 'bitnamilegacy/mariadb:11.7.2-debian-12-r0',
19
+ '11.6': 'bitnamilegacy/mariadb:11.6.2-debian-12-r0',
20
+ '11.5': 'bitnamilegacy/mariadb:11.5.2-debian-12-r7',
21
+ '11.4': 'bitnamilegacy/mariadb:11.4.7-debian-12-r2',
22
+ '11.3': 'bitnamilegacy/mariadb:11.3.2-debian-12-r9',
23
+ '11.2': 'bitnamilegacy/mariadb:11.2.6-debian-12-r2',
24
+ '11.1': 'bitnamilegacy/mariadb:11.1.6-debian-12-r0',
25
+ '11.0': 'bitnamilegacy/mariadb:11.0.6-debian-12-r0',
26
+ '10.11': 'bitnamilegacy/mariadb:10.11.11-debian-12-r11',
27
+ '10.10': 'bitnamilegacy/mariadb:10.10.7-debian-11-r6',
28
+ '10.9': 'bitnamilegacy/mariadb:10.9.8-debian-11-r22',
29
+ '10.8': 'bitnamilegacy/mariadb:10.8.8-debian-11-r5',
30
+ '10.7': 'bitnamilegacy/mariadb:10.7.8-debian-11-r6',
31
+ '10.6': 'bitnamilegacy/mariadb:10.6.20-debian-12-r2',
32
+ '10.5': 'bitnamilegacy/mariadb:10.5.27-debian-12-r2',
33
+ '10.4': 'bitnamilegacy/mariadb:10.4.34-debian-12-r7',
34
+ '10.3': 'bitnamilegacy/mariadb:10.3.39-debian-11-r5',
35
+ '10.2': 'bitnamilegacy/mariadb:10.2.44-debian-11-r9',
36
+ '10.1': 'bitnamilegacy/mariadb:10.1.47',
34
37
  },
35
38
  patchesSupported: true,
36
39
  confSrc: path.resolve(__dirname, '..', 'config'),
@@ -59,7 +62,7 @@ module.exports = {
59
62
  if (!options.healthcheck) options.healthcheck = require('../utils/get-default-healthcheck')(options);
60
63
 
61
64
  const mariadb = {
62
- image: `bitnami/mariadb:${options.version}`,
65
+ image: `bitnamilegacy/mariadb:${options.version}`,
63
66
  command: '/launch.sh',
64
67
  environment: {
65
68
  ALLOW_EMPTY_PASSWORD: 'yes',
@@ -41,9 +41,16 @@
41
41
  [plugins.inputs.audits]
42
42
  output_path = "reports/lighthouse.html"
43
43
 
44
-
45
-
46
44
  # We need this so preview environments and the base site look ok on their own
45
+ [[redirects]]
46
+ from = "https://lando-mariadb.netlify.app"
47
+ to = "https://lando-mariadb.netlify.app/plugins/mariadb/index.html"
48
+ status = 301
49
+ force = true
50
+ [[redirects]]
51
+ from = "https://lando-mariadb.netlify.app/*"
52
+ to = "https://docs.lando.dev/:splat"
53
+ status = 301
47
54
  [[redirects]]
48
55
  from = "/"
49
56
  to = "/plugins/mariadb"
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@lando/mariadb",
3
3
  "description": "A Lando plugin that provides a tight integration with mariadb.",
4
- "version": "1.6.3",
4
+ "version": "1.7.0",
5
5
  "author": "Mike Pirog @pirog",
6
- "license": "GPL-3.0",
6
+ "license": "MIT",
7
7
  "repository": "lando/mariadb",
8
8
  "bugs": "https://github.com/lando/mariadb/issues/new/choose",
9
9
  "homepage": "https://github.com/lando/mariadb",
@@ -14,7 +14,7 @@
14
14
  "mariadb"
15
15
  ],
16
16
  "engines": {
17
- "node": ">=18.0.0"
17
+ "node": ">=20.0.0"
18
18
  },
19
19
  "lando": {},
20
20
  "main": "index.js",
@@ -48,7 +48,7 @@
48
48
  "devDependencies": {
49
49
  "@babel/eslint-parser": "^7.16.0",
50
50
  "@lando/leia": "^1.0.0-beta.3",
51
- "@lando/vitepress-theme-default-plus": "^1.1.0-beta.24",
51
+ "@lando/vitepress-theme-default-plus": "^1.1.1",
52
52
  "chai": "^4.3.4",
53
53
  "command-line-test": "^1.0.10",
54
54
  "eslint": "^7.32.0",
@@ -62,9 +62,9 @@
62
62
  "lodash"
63
63
  ],
64
64
  "dist": {
65
- "integrity": "sha512-lRNFeEZkrIJV03mrt2s2DUWEwEI/E760tYyzb3OfSfkVtJLbUOe9vz7rKr06BzxdY/zSWHt4DAIMix9Qq0dXgg==",
66
- "shasum": "0728729f8f452a75b9430492284186b4a394bf68",
67
- "filename": "lando-mariadb-1.6.3.tgz",
68
- "unpackedSize": 1472258
65
+ "integrity": "sha512-wyl7/a+vPWwj3OvOd12kbMRCA98PdbLscClQeTZTEmm6ngu/SX4wHtOFVt7n8bZXnqi35PlUF6etz1OzVDk1XQ==",
66
+ "shasum": "f4731311c8a6ee835c43a943557749fcd46b899a",
67
+ "filename": "lando-mariadb-1.7.0.tgz",
68
+ "unpackedSize": 1429697
69
69
  }
70
70
  }
@@ -5,7 +5,7 @@ proxy:
5
5
  services:
6
6
  cli:
7
7
  api: 4
8
- image: node:18
8
+ image: node:20
9
9
  command: sleep infinity
10
10
  ports:
11
11
  - 5173:5173/http
@@ -1,5 +1,15 @@
1
1
  ## {{ UNRELEASED_VERSION }} - [{{ UNRELEASED_DATE }}]({{ UNRELEASED_LINK }})
2
2
 
3
+ ## v1.6.0 - [August 31, 2025](https://github.com/lando/mysql/releases/tag/v1.6.0)
4
+
5
+ * Switched images to [bitnamilegacy](https://github.com/bitnami/containers/issues/83267) namespace
6
+ * Updated `mysql:8.4` to `8.4.3`
7
+
8
+ ## v1.5.0 - [January 6, 2025](https://github.com/lando/mysql/releases/tag/v1.5.0)
9
+
10
+ * Added support for MySQL 8.4
11
+ * Updated 8.0 to patch 40
12
+
3
13
  ## v1.4.4 - [December 7, 2024](https://github.com/lando/mysql/releases/tag/v1.4.4)
4
14
 
5
15
  * Optimized for `midcore`
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Lando Alliance
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -49,5 +49,8 @@ Made with [contributors-img](https://contrib.rocks).
49
49
 
50
50
  ## Other Selected Resources
51
51
 
52
- * [LICENSE](https://github.com/lando/mysql/blob/main/LICENSE.md)
53
- * [The best professional advice ever](https://www.youtube.com/watch?v=tkBVDh7my9Q)
52
+ * [LICENSE](/LICENSE)
53
+ * [TERMS OF USE](https://docs.lando.dev/terms)
54
+ * [PRIVACY POLICY](https://docs.lando.dev/privacy)
55
+ * [CODE OF CONDUCT](https://docs.lando.dev/coc)
56
+
@@ -9,13 +9,17 @@ module.exports = {
9
9
  name: 'mysql',
10
10
  config: {
11
11
  version: '5.7',
12
- supported: ['8.0', '5.7'],
12
+ supported: ['8', '8.4', '8.3', '8.2', '8.1', '8.0', '5.7'],
13
13
  pinPairs: {
14
- '8.0': 'bitnami/mysql:8.0.39-debian-12-r5',
15
- '5.7': 'bitnami/mysql:5.7.43-debian-11-r73',
14
+ '8': 'bitnamilegacy/mysql:8.4.5-debian-12-r0',
15
+ '8.4': 'bitnamilegacy/mysql:8.4.5-debian-12-r0',
16
+ '8.3': 'bitnamilegacy/mysql:8.3.0-debian-12-r9',
17
+ '8.2': 'bitnamilegacy/mysql:8.2.0-debian-11-r8',
18
+ '8.1': 'bitnamilegacy/mysql:8.1.0-debian-11-r57',
19
+ '8.0': 'bitnamilegacy/mysql:8.0.40-debian-12-r5',
20
+ '5.7': 'bitnamilegacy/mysql:5.7.43-debian-11-r73',
16
21
  },
17
22
  patchesSupported: true,
18
- authentication: 'caching_sha2_password',
19
23
  confSrc: path.resolve(__dirname, '..', 'config'),
20
24
  creds: {
21
25
  database: 'database',
@@ -47,7 +51,7 @@ module.exports = {
47
51
 
48
52
  // Build the default stuff here
49
53
  const mysql = {
50
- image: `bitnami/mysql:${options.version}`,
54
+ image: `bitnamilegacy/mysql:${options.version}`,
51
55
  command: '/launch.sh',
52
56
  environment: {
53
57
  ALLOW_EMPTY_PASSWORD: 'yes',
@@ -40,6 +40,15 @@
40
40
  output_path = "reports/lighthouse.html"
41
41
 
42
42
  # We need this so preview environments and the base site look ok on their own
43
+ [[redirects]]
44
+ from = "https://lando-mysql.netlify.app"
45
+ to = "https://lando-mysql.netlify.app/plugins/mysql/index.html"
46
+ status = 301
47
+ force = true
48
+ [[redirects]]
49
+ from = "https://lando-mysql.netlify.app/*"
50
+ to = "https://docs.lando.dev/:splat"
51
+ status = 301
43
52
  [[redirects]]
44
53
  from = "/"
45
54
  to = "/plugins/mysql"
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@lando/mysql",
3
3
  "description": "A Lando plugin that provides a tight integration with MySQL.",
4
- "version": "1.4.4",
4
+ "version": "1.6.0",
5
5
  "author": "Mike Pirog @pirog",
6
- "license": "GPL-3.0",
6
+ "license": "MIT",
7
7
  "repository": "lando/mysql",
8
8
  "bugs": "https://github.com/lando/mysql/issues/new/choose",
9
9
  "homepage": "https://github.com/lando/mysql",
@@ -14,7 +14,7 @@
14
14
  "mysql"
15
15
  ],
16
16
  "engines": {
17
- "node": ">=18.0.0"
17
+ "node": ">=20.0.0"
18
18
  },
19
19
  "lando": {},
20
20
  "main": "index.js",
@@ -48,7 +48,7 @@
48
48
  "devDependencies": {
49
49
  "@babel/eslint-parser": "^7.16.0",
50
50
  "@lando/leia": "^1.0.0-beta.3",
51
- "@lando/vitepress-theme-default-plus": "^1.1.0-beta.24",
51
+ "@lando/vitepress-theme-default-plus": "^1.1.1",
52
52
  "chai": "^4.3.4",
53
53
  "command-line-test": "^1.0.10",
54
54
  "eslint": "^7.32.0",
@@ -62,9 +62,9 @@
62
62
  "lodash"
63
63
  ],
64
64
  "dist": {
65
- "integrity": "sha512-b2k9E1ArWb3VNdPxxfEiEB05XCO7HtoTkf0O44E7SlPeYUfTTsBP6bPk60SJ6SJFA3V5KHl9TAPfXIhVemONtg==",
66
- "shasum": "2db77cc0602dc1a32f67205a058837954250ec60",
67
- "filename": "lando-mysql-1.4.4.tgz",
68
- "unpackedSize": 1471119
65
+ "integrity": "sha512-cuoAwfjGpcrsLcunOAi697Ot9NgKUy/EcHDwgB9PUwdMo+EPk+7K+WdBRUXyg4p/CcwdfT+qdkFPw0jJhjsFKQ==",
66
+ "shasum": "e026302a27da04338208d1bca579c4dc9b15f123",
67
+ "filename": "lando-mysql-1.6.0.tgz",
68
+ "unpackedSize": 1428568
69
69
  }
70
70
  }
@@ -5,7 +5,7 @@ proxy:
5
5
  services:
6
6
  cli:
7
7
  api: 4
8
- image: node:18
8
+ image: node:20
9
9
  command: sleep infinity
10
10
  ports:
11
11
  - 5173:5173/http
@@ -1,13 +1,47 @@
1
1
  ## {{ UNRELEASED_VERSION }} - [{{ UNRELEASED_DATE }}]({{ UNRELEASED_LINK }})
2
2
 
3
+ ## v1.8.0 - [September 2, 2025](https://github.com/lando/php/releases/tag/v1.8.0)
4
+
5
+ * Removed automatic installation of `hirak/prestissimo` for `composer:1`
6
+ * Switched images to [bitnamilegacy](https://github.com/bitnami/containers/issues/83267) namespace
7
+ * Updated to [@lando/nginx@1.5.0](https://github.com/lando/nginx/releases/tag/v1.5.0)
8
+
9
+ ## v1.7.1 - [January 15, 2025](https://github.com/lando/php/releases/tag/v1.7.1)
10
+
11
+ * Improved the `php` service builder to mount a unique scripts directory per service to prevent version conflicts.
12
+
13
+ ## v1.7.0 - [January 8, 2025](https://github.com/lando/php/releases/tag/v1.7.0)
14
+
15
+ * Added logic to allow default `composer` version to be set based on PHP version.
16
+ * Added `2.2` and `2.2-latest` shorthand options to install the latest stable 2.2 LTS version of `composer`.
17
+ * Set default `composer` version to `2-latest`
18
+ * Set default `composer` version to `2.2-latest` for PHP 5.3-7.2
19
+ * Set default `composer` version to `1-latest` for PHP <= 5.2
20
+ * Removed `composer` installation from images to prefer installing during app build
21
+ * Fixed bug causing `composer` 2.2.x to be installed when `composer_version` was set to a single digit version such as `1`
22
+ * Fixed mismatched `libsqlite3-dev` and `libsqlite3-0` versions in PHP 8.3 and 8.4 images
23
+ * Fixed regression causing ImageMagick `convert` to not be available in images with `imagick` extension enabled
24
+
25
+ ## v1.6.4 - [December 14, 2024](https://github.com/lando/php/releases/tag/v1.6.4)
26
+
27
+ * Fixed issue causing `xdebug` extension to not be disabled by default in PHP 8.3 and 8.4 images.
28
+ * Added `install-php-extensions` script to PHP 7.4-8.2 images.
29
+ * Added MariaDB client tools to PHP 7.4-8.4 images [#120](https://github.com/lando/php/issues/120).
30
+ * Added `xhprof` extension to PHP 7.4-8.4 images.
31
+ * Updated `sqlite3` to 3.45.1 in PHP 8.3-8.4 images.
32
+
3
33
  ## v1.6.3 - [December 7, 2024](https://github.com/lando/php/releases/tag/v1.6.3)
4
34
 
5
35
  * Optimized for `midcore`
6
36
 
7
37
  ## v1.6.2 - [December 6, 2024](https://github.com/lando/php/releases/tag/v1.6.2)
8
38
 
39
+ * Updated PHP 8.1-8.3 base images to Debian 12 (bookworm).
40
+ * Added `install-php-extensions` script to PHP 8.3 and 8.4 images.
41
+ * Added `imagick` extension to PHP 8.3 and 8.4 images.
42
+ * Updated 8.4RC image to 8.4 stable.
43
+ * Added `xdebug` extension to PHP 8.4 images.
9
44
  * Updated the version index.md to get Docuverse page to build correctly.
10
-
11
45
  * Updated to [@lando/vitepress-theme-default-plus@v1.1.0-beta.24](https://github.com/lando/vitepress-theme-default-plus/releases/tag/v1.1.0-beta.24).
12
46
  * Updated GitHub Actions to build images only on changes to images or workflows.
13
47
 
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Lando Alliance
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -54,5 +54,8 @@ Made with [contributors-img](https://contrib.rocks).
54
54
 
55
55
  ## Other Selected Resources
56
56
 
57
- * [LICENSE](https://github.com/lando/php/blob/main/LICENSE.md)
58
- * [The best professional advice ever](https://www.youtube.com/watch?v=tkBVDh7my9Q)
57
+ * [LICENSE](/LICENSE)
58
+ * [TERMS OF USE](https://docs.lando.dev/terms)
59
+ * [PRIVACY POLICY](https://docs.lando.dev/privacy)
60
+ * [CODE OF CONDUCT](https://docs.lando.dev/coc)
61
+
@@ -5,6 +5,29 @@ const _ = require('lodash');
5
5
  const path = require('path');
6
6
  const semver = require('semver');
7
7
  const addBuildStep = require('./../utils/add-build-step');
8
+
9
+ /**
10
+ * Get the appropriate Composer version based on the PHP version.
11
+ * @param {semver} phpSemver - The PHP semantic version.
12
+ * @return {string|boolean} - The Composer version or false if we cannot parse the version.
13
+ */
14
+ const getDefaultComposerVersion = phpSemver => {
15
+ // Don't set a default composer version if we cannot
16
+ // parse the version such as with `custom`.
17
+ if (!phpSemver) return false;
18
+
19
+ if (semver.lt(phpSemver, '5.3.2')) {
20
+ // Use Composer 1 for PHP < 5.3.2
21
+ return '1';
22
+ } else if (semver.lt(phpSemver, '7.3.0')) {
23
+ // Use Composer 2.2 LTS for PHP < 7.3
24
+ return '2.2';
25
+ } else {
26
+ // Use Composer 2 for PHP >= 7.3
27
+ return '2';
28
+ }
29
+ };
30
+
8
31
  /*
9
32
  * Helper to get nginx config
10
33
  */
@@ -30,13 +53,25 @@ const nginxConfig = options => ({
30
53
  const xdebugConfig = host => ([
31
54
  `client_host=${host}`,
32
55
  'discover_client_host=1',
33
- 'log=/tmp/xdebug.log',
34
- 'remote_enable=true',
56
+ 'log=/tmp/xdebug.log',
57
+ 'remote_enable=true',
35
58
  `remote_host=${host}`,
36
59
  ].join(' '));
37
60
 
38
- /*
39
- * Helper to build a package string
61
+ /**
62
+ * Helper function to build a package string by combining package name and version
63
+ *
64
+ * @param {string} pkg - The package name
65
+ * @param {string} version - The package version
66
+ * @return {string} The formatted package string, either "pkg:version" or just "pkg" if version is empty
67
+ *
68
+ * @example
69
+ * // Returns "php:7.4"
70
+ * pkger('php', '7.4');
71
+ *
72
+ * @example
73
+ * // Returns "mysql"
74
+ * pkger('mysql', '');
40
75
  */
41
76
  const pkger = (pkg, version) => (!_.isEmpty(version)) ? `${pkg}:${version}` : pkg;
42
77
 
@@ -108,7 +143,7 @@ module.exports = {
108
143
  ],
109
144
  confSrc: path.resolve(__dirname, '..', 'config'),
110
145
  command: ['sh -c \'a2enmod rewrite && apache2-foreground\''],
111
- composer_version: '2.2.22',
146
+ composer_version: true,
112
147
  phpServer: 'apache',
113
148
  defaultFiles: {
114
149
  _php: 'php.ini',
@@ -126,6 +161,7 @@ module.exports = {
126
161
  php: '/usr/local/etc/php/conf.d/zzz-lando-my-custom.ini',
127
162
  pool: '/usr/local/etc/php-fpm.d/zz-lando.conf',
128
163
  },
164
+ scriptsDir: path.resolve(__dirname, '..', 'scripts'),
129
165
  sources: [],
130
166
  suffix: '5',
131
167
  ssl: false,
@@ -137,12 +173,20 @@ module.exports = {
137
173
  parent: '_appserver',
138
174
  builder: (parent, config) => class LandoPhp extends parent {
139
175
  constructor(id, options = {}, factory) {
176
+ const debug = _.get(options, '_app._lando').log.debug;
177
+
178
+ // Merge the user config onto the default options
140
179
  options = parseConfig(_.merge({}, config, options));
180
+
181
+ // Get the semver of the PHP version, NULL if we cannot parse it
182
+ const phpSemver = semver.coerce(options.version);
183
+ phpSemver && debug('Parsed PHP semantic version: %s', phpSemver);
184
+
141
185
  // Mount our default php config
142
186
  options.volumes.push(`${options.confDest}/${options.defaultFiles._php}:${options.remoteFiles._php}`);
143
187
  options.volumes.push(`${options.confDest}/${options.defaultFiles.pool}:${options.remoteFiles.pool}`);
144
188
  // Shift on the docker entrypoint if this is a more recent version
145
- if (options.version !== 'custom' && semver.gt(semver.coerce(options.version), '5.5.0')) {
189
+ if (phpSemver && semver.gt(phpSemver, '5.5.0')) {
146
190
  options.command.unshift('docker-php-entrypoint');
147
191
  }
148
192
 
@@ -168,22 +212,31 @@ module.exports = {
168
212
  };
169
213
  options.info = {via: options.via};
170
214
 
171
- // Add our composer things to run step
172
- if (!_.isEmpty(options.composer)) {
173
- const commands =
174
- require('../utils/get-install-commands')(options.composer, pkger, ['composer', 'global', 'require', '-n']);
175
- addBuildStep(commands, options._app, options.name, 'build_internal');
215
+ // Determine the appropriate composer version to install if not specified
216
+ if (options.composer_version === true || options.composer_version === '') {
217
+ options.composer_version = getDefaultComposerVersion(phpSemver);
218
+ } else if (typeof options.composer_version === 'number') {
219
+ options.composer_version = options.composer_version.toString();
176
220
  }
177
221
 
178
- // Add activate steps for xdebug
222
+ // Add build step to enable xdebug
179
223
  if (options.xdebug) {
180
224
  addBuildStep(['docker-php-ext-enable xdebug'], options._app, options.name, 'build_as_root_internal');
181
225
  }
182
226
 
183
- // Install the desired composer version
227
+ // Add build step to install our Composer global packages
228
+ if (!_.isEmpty(options.composer)) {
229
+ const commands =
230
+ require('../utils/get-install-commands')(options.composer, pkger, ['composer', 'global', 'require', '-n']);
231
+ addBuildStep(commands, options._app, options.name, 'build_internal');
232
+ }
233
+
234
+ // Install the desired composer version as the first `build_internal` build step
184
235
  if (options.composer_version) {
185
- const commands = [`/helpers/install-composer.sh ${options.composer_version}`];
186
- addBuildStep(commands, options._app, options.name, 'build_internal', true);
236
+ debug('Installing composer version %s', options.composer_version);
237
+ const commands = [`/etc/lando/service/helpers/install-composer.sh ${options.composer_version}`];
238
+ const firstStep = true;
239
+ addBuildStep(commands, options._app, options.name, 'build_internal', firstStep);
187
240
  }
188
241
 
189
242
  // Add in nginx if we need to
@@ -72,11 +72,7 @@ RUN \
72
72
  intl \
73
73
  gettext \
74
74
  pcntl \
75
- && php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
76
- && php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=1.10.1 \
77
- && php -r "unlink('composer-setup.php');" \
78
75
  && chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
79
- && su -c "composer global require -n hirak/prestissimo" -s /bin/sh www-data \
80
76
  && apt-get -y clean \
81
77
  && apt-get -y autoclean \
82
78
  && apt-get -y autoremove \
@@ -72,12 +72,7 @@ RUN \
72
72
  intl \
73
73
  gettext \
74
74
  pcntl \
75
- # Install composer
76
- && php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
77
- && php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=1.10.1 \
78
- && php -r "unlink('composer-setup.php');" \
79
75
  && chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
80
- && su -c "composer global require -n hirak/prestissimo" -s /bin/sh www-data \
81
76
  && apt-get -y clean \
82
77
  && apt-get -y autoclean \
83
78
  && apt-get -y autoremove \
@@ -72,11 +72,7 @@ RUN \
72
72
  intl \
73
73
  gettext \
74
74
  pcntl \
75
- && php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
76
- && php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=1.10.1 \
77
- && php -r "unlink('composer-setup.php');" \
78
75
  && chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
79
- && su -c "composer global require -n hirak/prestissimo" -s /bin/sh www-data \
80
76
  && apt-get -y clean \
81
77
  && apt-get -y autoclean \
82
78
  && apt-get -y autoremove \
@@ -72,11 +72,7 @@ RUN \
72
72
  intl \
73
73
  gettext \
74
74
  pcntl \
75
- && php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
76
- && php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=1.10.1 \
77
- && php -r "unlink('composer-setup.php');" \
78
75
  && chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
79
- && su -c "composer global require -n hirak/prestissimo" -s /bin/sh www-data \
80
76
  && apt-get -y clean \
81
77
  && apt-get -y autoclean \
82
78
  && apt-get -y autoremove \