diff --git a/README.md b/README.md index e7eb735..4b60387 100644 --- a/README.md +++ b/README.md @@ -7,13 +7,13 @@ # WordPress (Composer) for Platform.sh -This template builds WordPress on Platform.sh using the [`johnbloch/wordpress`](https://github.com/johnpbloch/wordpress) "Composer Fork" of WordPress. Plugins and themes should be managed with Composer exclusively. A custom configuration file is provided that runs on Platform.sh to automatically configure the database, so the installer will not ask you for database credentials. For local-only configuration you can use a `wp-config-local.php` file that gets excluded from Git. +This template builds WordPress on Platform.sh using [`roots/wordpress`](https://github.com/roots/wordpress), an actively-maintained meta-package for installing WordPress core via Composer. Plugins and themes should be managed with Composer exclusively. A custom configuration file is provided that runs on Platform.sh to automatically configure the database, so the installer will not ask you for database credentials. For local-only configuration you can use a `wp-config-local.php` file that gets excluded from Git. WordPress is a blogging and lightweight CMS written in PHP. ## Features -* PHP 7.4 +* PHP 8.1 * MariaDB 10.4 * Automatic TLS certificates * Composer-based build @@ -49,13 +49,13 @@ define('AUTH_SALT', 'SECURE_AUTH_SALT'); The following changes have been made relative to WordPress as it is downloaded from WordPress.org. If using this project as a reference for your own existing project, replicate the changes below to your project. -* It uses the [`johnbolch/wordpress`](https://github.com/johnpbloch/wordpress) "Composer Fork" of WordPress, which allow the site to be managed entirely with Composer. +* It uses [`roots/wordpress`](https://github.com/roots/wordpress) to install WordPress core via Composer, allowing the site to be managed entirely with Composer. * The `.platform.app.yaml`, `.platform/services.yaml`, and `.platform/routes.yaml` files have been added. These provide Platform.sh-specific configuration and are present in all projects on Platform.sh. You may customize them as you see fit. * An additional Composer library, [`platformsh/config-reader`](https://github.com/platformsh/config-reader-php), has been added. It provides convenience wrappers for accessing the Platform.sh environment variables. * The `wp-config.php` file has been modified to use the Config Reader to configure WordPress based on Platform.sh environment variables if present. If not, your own `wp-config-local.php` file will be loaded to configure the site for local development. * A base [Landofile](https://docs.lando.dev/config/lando.html#base-file) provides configuration to use this template locally using [Lando](https://docs.lando.dev). * Any themes and plugins present in the most recent version of WordPress are detected and have been added as dependencies in `composer.json` so they are easier to update. -* The upstream `composer.json` file has been modified to include the script `subdirComposer`. It moves `wp-config.php` into the default install directory and docroot `wordpress` after `composer install` is run. It also removes a nested directory `wordpress/wp-content/wp-content`. Since WordPress is not by default intended to be installed via Composer, anything Composer-related wrapping around it does not always perfectly interact, and adding new themes and plugins via Composer is a case of this. If this command was not included, the initial deployment would work just fine, and the default themes and plugins would end up where you would expect in `wordpress/wp-content/[themes|plugins]`. However, once you `composer require` additional packages from WPackagist, those original default packages end up in a nested subdirectory `wordpress/wp-content/wp-content` and are inaccessible to WordPress. This is another reason that those default themes and plugins are added to `composer.json`, allowing us to remove this artifact when WordPress builds with Composer. You can view the original issue [here](https://github.com/platformsh-templates/wordpress-composer/issues/7). +* The upstream `composer.json` file has been modified to include the script `subdirComposer`. It moves `wp-config.php` into the default install directory and docroot `wordpress` after `composer install` is run. It also removes a nested directory `wordpress/wp-content/wp-content`. Since WordPress is not by default intended to be installed via Composer, anything Composer-related wrapping around it does not always perfectly interact, and adding new themes and plugins via Composer is a case of this. If this command was not included, the initial deployment would work just fine, and the default themes and plugins would end up where you would expect in `wordpress/wp-content/[themes|plugins]`. However, once you `composer require` additional packages from WP Packages, those original default packages end up in a nested subdirectory `wordpress/wp-content/wp-content` and are inaccessible to WordPress. This is another reason that those default themes and plugins are added to `composer.json`, allowing us to remove this artifact when WordPress builds with Composer. You can view the original issue [here](https://github.com/platformsh-templates/wordpress-composer/issues/7). ## Local development diff --git a/composer.json b/composer.json index c21ca91..fbcf67b 100644 --- a/composer.json +++ b/composer.json @@ -1,49 +1,38 @@ { - "name": "johnpbloch/wordpress", - "description": "WordPress is open source software you can use to create a beautiful website, blog, or app.", + "name": "platformsh-templates/wordpress-composer", + "description": "Platform.sh starter template for deploying WordPress via Composer.", "keywords": [ "wordpress", - "blog", + "composer", + "platformsh", "cms" ], - "type": "package", - "homepage": "https://wordpress.org/", + "type": "project", + "homepage": "https://github.com/platformsh-templates/wordpress-composer", "license": "GPL-2.0+", - "authors": [ - { - "name": "WordPress Community", - "homepage": "https://wordpress.org/about/" - } - ], "support": { - "issues": "https://core.trac.wordpress.org/", - "forum": "https://wordpress.org/support/", - "docs": "https://developer.wordpress.org/", - "irc": "irc://irc.freenode.net/wordpress", - "source": "https://core.trac.wordpress.org/browser" + "issues": "https://github.com/platformsh-templates/wordpress-composer/issues", + "source": "https://github.com/platformsh-templates/wordpress-composer" }, "require": { - "php": ">=5.6.20", - "johnpbloch/wordpress-core-installer": "^1.0 || ^2.0", - "johnpbloch/wordpress-core": "^6.2.2", + "php": ">=8.0", + "roots/wordpress": "^6.0", "platformsh/config-reader": "^2.4", "wp-cli/wp-cli-bundle": "^2.7", "psy/psysh": "^0.11.18", - "wpackagist-plugin/akismet": "^5.1", - "wpackagist-theme/twentytwentyone": "^2.0", - "wpackagist-theme/twentytwentytwo": "^2.0", - "wpackagist-theme/twentytwentythree": "^1.1" + "wp-plugin/akismet": "^5.1", + "wp-theme/twentytwentyfive": "^1.0" }, "config": { "allow-plugins": { - "johnpbloch/wordpress-core-installer": true, + "roots/wordpress-core-installer": true, "composer/installers": true } }, "repositories": [ { "type": "composer", - "url": "https://wpackagist.org" + "url": "https://repo.wp-packages.org" } ], "scripts": { @@ -53,6 +42,7 @@ "post-install-cmd": "@subdirComposer" }, "extra": { + "wordpress-install-dir": "wordpress", "installer-paths": { "wordpress/wp-content/plugins/{$name}": [ "type:wordpress-plugin" diff --git a/composer.lock b/composer.lock index 00a9760..a7465bb 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "4d927125c5a7350451ab979a0ae9991c", + "content-hash": "8c6a9760a953fdb32bbd3a07176ce940", "packages": [ { "name": "composer/ca-bundle", @@ -987,108 +987,6 @@ ], "time": "2026-02-23T14:05:50+00:00" }, - { - "name": "johnpbloch/wordpress-core", - "version": "6.9.4", - "source": { - "type": "git", - "url": "https://github.com/johnpbloch/wordpress-core.git", - "reference": "13e02e0047ca5c8ec8dc837c2de8a5bd3583b879" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/johnpbloch/wordpress-core/zipball/13e02e0047ca5c8ec8dc837c2de8a5bd3583b879", - "reference": "13e02e0047ca5c8ec8dc837c2de8a5bd3583b879", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": ">=7.2.24" - }, - "provide": { - "wordpress/core-implementation": "6.9.4" - }, - "type": "wordpress-core", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "WordPress Community", - "homepage": "https://wordpress.org/about/" - } - ], - "description": "WordPress is open source software you can use to create a beautiful website, blog, or app.", - "homepage": "https://wordpress.org/", - "keywords": [ - "blog", - "cms", - "wordpress" - ], - "support": { - "forum": "https://wordpress.org/support/", - "irc": "irc://irc.freenode.net/wordpress", - "issues": "https://core.trac.wordpress.org/", - "source": "https://core.trac.wordpress.org/browser", - "wiki": "https://codex.wordpress.org/" - }, - "time": "2026-03-11T15:27:36+00:00" - }, - { - "name": "johnpbloch/wordpress-core-installer", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/johnpbloch/wordpress-core-installer.git", - "reference": "237faae9a60a4a2e1d45dce1a5836ffa616de63e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/johnpbloch/wordpress-core-installer/zipball/237faae9a60a4a2e1d45dce1a5836ffa616de63e", - "reference": "237faae9a60a4a2e1d45dce1a5836ffa616de63e", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^1.0 || ^2.0", - "php": ">=5.6.0" - }, - "conflict": { - "composer/installers": "<1.0.6" - }, - "require-dev": { - "composer/composer": "^1.0 || ^2.0", - "phpunit/phpunit": ">=5.7.27" - }, - "type": "composer-plugin", - "extra": { - "class": "johnpbloch\\Composer\\WordPressCorePlugin" - }, - "autoload": { - "psr-0": { - "johnpbloch\\Composer\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "John P. Bloch", - "email": "me@johnpbloch.com" - } - ], - "description": "A custom installer to handle deploying WordPress with composer", - "keywords": [ - "wordpress" - ], - "support": { - "issues": "https://github.com/johnpbloch/wordpress-core-installer/issues", - "source": "https://github.com/johnpbloch/wordpress-core-installer/tree/master" - }, - "time": "2020-04-16T21:44:57+00:00" - }, { "name": "justinrainbow/json-schema", "version": "6.8.0", @@ -1480,16 +1378,16 @@ }, { "name": "psr/log", - "version": "3.0.2", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" + "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", - "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376", + "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376", "shasum": "" }, "require": { @@ -1498,7 +1396,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -1524,9 +1422,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/3.0.2" + "source": "https://github.com/php-fig/log/tree/2.0.0" }, - "time": "2024-09-11T13:17:53+00:00" + "time": "2021-07-14T16:41:46+00:00" }, { "name": "psy/psysh", @@ -1681,6 +1579,187 @@ ], "time": "2025-08-19T18:57:03+00:00" }, + { + "name": "roots/wordpress", + "version": "6.9.4", + "source": { + "type": "git", + "url": "https://github.com/roots/wordpress.git", + "reference": "2fa44383ade9e8ccbb986e95ca70a365c8221eb1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/roots/wordpress/zipball/2fa44383ade9e8ccbb986e95ca70a365c8221eb1", + "reference": "2fa44383ade9e8ccbb986e95ca70a365c8221eb1", + "shasum": "" + }, + "require": { + "roots/wordpress-core-installer": "^3.0", + "roots/wordpress-no-content": "self.version" + }, + "type": "metapackage", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT", + "GPL-2.0-or-later" + ], + "description": "WordPress is open source software you can use to create a beautiful website, blog, or app.", + "homepage": "https://wordpress.org/", + "keywords": [ + "blog", + "cms", + "wordpress" + ], + "support": { + "issues": "https://github.com/roots/wordpress/issues", + "source": "https://github.com/roots/wordpress/tree/6.9.4" + }, + "funding": [ + { + "url": "https://github.com/roots", + "type": "github" + } + ], + "time": "2026-03-09T19:47:29+00:00" + }, + { + "name": "roots/wordpress-core-installer", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/roots/wordpress-core-installer.git", + "reference": "714d2e2a9e523f6e7bde4810d5a04aedf0ec217f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/roots/wordpress-core-installer/zipball/714d2e2a9e523f6e7bde4810d5a04aedf0ec217f", + "reference": "714d2e2a9e523f6e7bde4810d5a04aedf0ec217f", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0 || ^2.0", + "php": ">=7.2.24" + }, + "conflict": { + "composer/installers": "<1.0.6" + }, + "replace": { + "johnpbloch/wordpress-core-installer": "*" + }, + "require-dev": { + "composer/composer": "^1.0 || ^2.0", + "phpunit/phpunit": "^8.5" + }, + "type": "composer-plugin", + "extra": { + "class": "Roots\\Composer\\WordPressCorePlugin" + }, + "autoload": { + "psr-4": { + "Roots\\Composer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "John P. Bloch", + "email": "me@johnpbloch.com" + }, + { + "name": "Roots", + "email": "team@roots.io" + } + ], + "description": "A Composer custom installer to handle installing WordPress as a dependency", + "keywords": [ + "wordpress" + ], + "support": { + "issues": "https://github.com/roots/wordpress-core-installer/issues", + "source": "https://github.com/roots/wordpress-core-installer/tree/3.0.0" + }, + "funding": [ + { + "url": "https://github.com/roots", + "type": "github" + } + ], + "time": "2025-05-23T18:47:25+00:00" + }, + { + "name": "roots/wordpress-no-content", + "version": "6.9.4", + "source": { + "type": "git", + "url": "https://github.com/WordPress/WordPress.git", + "reference": "6.9.4" + }, + "dist": { + "type": "zip", + "url": "https://downloads.w.org/release/wordpress-6.9.4-no-content.zip", + "reference": "6.9.4", + "shasum": "8ae812bb54223ef859cd3de37f1c6b1db20e0e6f" + }, + "require": { + "php": ">= 7.2.24" + }, + "provide": { + "wordpress/core-implementation": "6.9.4" + }, + "suggest": { + "ext-curl": "Performs remote request operations.", + "ext-dom": "Used to validate Text Widget content and to automatically configuring IIS7+.", + "ext-exif": "Works with metadata stored in images.", + "ext-fileinfo": "Used to detect mimetype of file uploads.", + "ext-hash": "Used for hashing, including passwords and update packages.", + "ext-imagick": "Provides better image quality for media uploads.", + "ext-json": "Used for communications with other servers.", + "ext-libsodium": "Validates Signatures and provides securely random bytes.", + "ext-mbstring": "Used to properly handle UTF8 text.", + "ext-mysqli": "Connects to MySQL for database interactions.", + "ext-openssl": "Permits SSL-based connections to other hosts.", + "ext-pcre": "Increases performance of pattern matching in code searches.", + "ext-xml": "Used for XML parsing, such as from a third-party site.", + "ext-zip": "Used for decompressing Plugins, Themes, and WordPress update packages." + }, + "type": "wordpress-core", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "WordPress Community", + "homepage": "https://wordpress.org/about/" + } + ], + "description": "WordPress is open source software you can use to create a beautiful website, blog, or app.", + "homepage": "https://wordpress.org/", + "keywords": [ + "blog", + "cms", + "wordpress" + ], + "support": { + "docs": "https://developer.wordpress.org/", + "forum": "https://wordpress.org/support/", + "irc": "irc://irc.freenode.net/wordpress", + "issues": "https://core.trac.wordpress.org/", + "rss": "https://wordpress.org/news/feed/", + "source": "https://core.trac.wordpress.org/browser", + "wiki": "https://codex.wordpress.org/" + }, + "funding": [ + { + "url": "https://wordpressfoundation.org/donate/", + "type": "other" + } + ], + "time": "2026-03-11T15:49:55+00:00" + }, { "name": "seld/jsonlint", "version": "1.11.0", @@ -1856,47 +1935,52 @@ }, { "name": "symfony/console", - "version": "v6.4.37", + "version": "v5.4.47", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "7bbcaf3fdb1e18fa42a7f0b84a10d091c10548f5" + "reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/7bbcaf3fdb1e18fa42a7f0b84a10d091c10548f5", - "reference": "7bbcaf3fdb1e18fa42a7f0b84a10d091c10548f5", + "url": "https://api.github.com/repos/symfony/console/zipball/c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed", + "reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-mbstring": "~1.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^5.4|^6.0|^7.0" + "symfony/polyfill-php73": "^1.9", + "symfony/polyfill-php80": "^1.16", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/string": "^5.1|^6.0" }, "conflict": { - "symfony/dependency-injection": "<5.4", - "symfony/dotenv": "<5.4", - "symfony/event-dispatcher": "<5.4", - "symfony/lock": "<5.4", - "symfony/process": "<5.4" + "psr/log": ">=3", + "symfony/dependency-injection": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/event-dispatcher": "<4.4", + "symfony/lock": "<4.4", + "symfony/process": "<4.4" }, "provide": { - "psr/log-implementation": "1.0|2.0|3.0" + "psr/log-implementation": "1.0|2.0" }, "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/lock": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "psr/log": "^1|^2", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/event-dispatcher": "^4.4|^5.0|^6.0", + "symfony/lock": "^4.4|^5.0|^6.0", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/var-dumper": "^4.4|^5.0|^6.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" }, "type": "library", "autoload": { @@ -1930,7 +2014,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.37" + "source": "https://github.com/symfony/console/tree/v5.4.47" }, "funding": [ { @@ -1941,33 +2025,29 @@ "url": "https://github.com/fabpot", "type": "github" }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2026-04-13T15:27:04+00:00" + "time": "2024-11-06T11:30:55+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.6.0", + "version": "v3.0.2", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" + "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", - "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/26954b3d62a6c5fd0ea8a2a00c0353a14978d05c", + "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.0.2" }, "type": "library", "extra": { @@ -1976,7 +2056,7 @@ "name": "symfony/contracts" }, "branch-alias": { - "dev-main": "3.6-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -2001,7 +2081,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.0.2" }, "funding": [ { @@ -2017,29 +2097,30 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2022-01-02T09:55:41+00:00" }, { "name": "symfony/filesystem", - "version": "v6.4.37", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "29f792d7dc30cc670fc4cdd50d7c6653d067ce7b" + "reference": "57c8294ed37d4a055b77057827c67f9558c95c54" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/29f792d7dc30cc670fc4cdd50d7c6653d067ce7b", - "reference": "29f792d7dc30cc670fc4cdd50d7c6653d067ce7b", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/57c8294ed37d4a055b77057827c67f9558c95c54", + "reference": "57c8294ed37d4a055b77057827c67f9558c95c54", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=7.2.5", "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8" + "symfony/polyfill-mbstring": "~1.8", + "symfony/polyfill-php80": "^1.16" }, "require-dev": { - "symfony/process": "^5.4|^6.4|^7.0" + "symfony/process": "^5.4|^6.4" }, "type": "library", "autoload": { @@ -2067,7 +2148,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.37" + "source": "https://github.com/symfony/filesystem/tree/v5.4.45" }, "funding": [ { @@ -2078,36 +2159,31 @@ "url": "https://github.com/fabpot", "type": "github" }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2026-04-13T15:27:04+00:00" + "time": "2024-10-22T13:05:35+00:00" }, { "name": "symfony/finder", - "version": "v6.4.34", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "9590e86be1d1c57bfbb16d0dd040345378c20896" + "reference": "63741784cd7b9967975eec610b256eed3ede022b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/9590e86be1d1c57bfbb16d0dd040345378c20896", - "reference": "9590e86be1d1c57bfbb16d0dd040345378c20896", + "url": "https://api.github.com/repos/symfony/finder/zipball/63741784cd7b9967975eec610b256eed3ede022b", + "reference": "63741784cd7b9967975eec610b256eed3ede022b", "shasum": "" }, "require": { - "php": ">=8.1" - }, - "require-dev": { - "symfony/filesystem": "^6.0|^7.0" + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -2135,7 +2211,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.34" + "source": "https://github.com/symfony/finder/tree/v5.4.45" }, "funding": [ { @@ -2146,16 +2222,12 @@ "url": "https://github.com/fabpot", "type": "github" }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2026-01-28T15:16:37+00:00" + "time": "2024-09-28T13:32:08+00:00" }, { "name": "symfony/polyfill-ctype", @@ -2818,26 +2890,28 @@ }, { "name": "symfony/service-contracts", - "version": "v3.6.1", + "version": "v3.0.2", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43" + "reference": "d78d39c1599bd1188b8e26bb341da52c3c6d8a66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43", - "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d78d39c1599bd1188b8e26bb341da52c3c6d8a66", + "reference": "d78d39c1599bd1188b8e26bb341da52c3c6d8a66", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/container": "^1.1|^2.0", - "symfony/deprecation-contracts": "^2.5|^3" + "php": ">=8.0.2", + "psr/container": "^2.0" }, "conflict": { "ext-psr": "<1.1|>=2" }, + "suggest": { + "symfony/service-implementation": "" + }, "type": "library", "extra": { "thanks": { @@ -2845,16 +2919,13 @@ "name": "symfony/contracts" }, "branch-alias": { - "dev-main": "3.6-dev" + "dev-main": "3.0-dev" } }, "autoload": { "psr-4": { "Symfony\\Contracts\\Service\\": "" - }, - "exclude-from-classmap": [ - "/Test/" - ] + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2881,7 +2952,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.6.1" + "source": "https://github.com/symfony/service-contracts/tree/v3.0.2" }, "funding": [ { @@ -2892,46 +2963,42 @@ "url": "https://github.com/fabpot", "type": "github" }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-07-15T11:30:57+00:00" + "time": "2022-05-30T19:17:58+00:00" }, { "name": "symfony/string", - "version": "v6.4.34", + "version": "v6.0.19", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "2adaf4106f2ef4c67271971bde6d3fe0a6936432" + "reference": "d9e72497367c23e08bf94176d2be45b00a9d232a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/2adaf4106f2ef4c67271971bde6d3fe0a6936432", - "reference": "2adaf4106f2ef4c67271971bde6d3fe0a6936432", + "url": "https://api.github.com/repos/symfony/string/zipball/d9e72497367c23e08bf94176d2be45b00a9d232a", + "reference": "d9e72497367c23e08bf94176d2be45b00a9d232a", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.0.2", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "symfony/translation-contracts": "<2.5" + "symfony/translation-contracts": "<2.0" }, "require-dev": { - "symfony/http-client": "^5.4|^6.0|^7.0", - "symfony/intl": "^6.2|^7.0", - "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^5.4|^6.0|^7.0" + "symfony/error-handler": "^5.4|^6.0", + "symfony/http-client": "^5.4|^6.0", + "symfony/translation-contracts": "^2.0|^3.0", + "symfony/var-exporter": "^5.4|^6.0" }, "type": "library", "autoload": { @@ -2970,7 +3037,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.34" + "source": "https://github.com/symfony/string/tree/v6.0.19" }, "funding": [ { @@ -2981,47 +3048,47 @@ "url": "https://github.com/fabpot", "type": "github" }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2026-02-08T20:44:54+00:00" + "time": "2023-01-01T08:36:10+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.36", + "version": "v6.0.19", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "7c8ad9ce4faf6c8a99948e70ce02b601a0439782" + "reference": "eb980457fa6899840fe1687e8627a03a7d8a3d52" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/7c8ad9ce4faf6c8a99948e70ce02b601a0439782", - "reference": "7c8ad9ce4faf6c8a99948e70ce02b601a0439782", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/eb980457fa6899840fe1687e8627a03a7d8a3d52", + "reference": "eb980457fa6899840fe1687e8627a03a7d8a3d52", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.0.2", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { + "phpunit/phpunit": "<5.4.3", "symfony/console": "<5.4" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/error-handler": "^6.3|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/uid": "^5.4|^6.0|^7.0", + "ext-iconv": "*", + "symfony/console": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0", + "symfony/uid": "^5.4|^6.0", "twig/twig": "^2.13|^3.0.4" }, + "suggest": { + "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", + "ext-intl": "To show region name in time zone dump", + "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" + }, "bin": [ "Resources/bin/var-dump-server" ], @@ -3058,7 +3125,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.36" + "source": "https://github.com/symfony/var-dumper/tree/v6.0.19" }, "funding": [ { @@ -3069,16 +3136,12 @@ "url": "https://github.com/fabpot", "type": "github" }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2026-03-30T15:36:00+00:00" + "time": "2023-01-20T17:44:14+00:00" }, { "name": "wp-cli/cache-command", @@ -5337,7 +5400,7 @@ "time": "2026-04-10T07:32:03+00:00" }, { - "name": "wpackagist-plugin/akismet", + "name": "wp-plugin/akismet", "version": "5.7", "source": { "type": "svn", @@ -5349,64 +5412,49 @@ "url": "https://downloads.wordpress.org/plugin/akismet.5.7.zip" }, "require": { - "composer/installers": "^1.0 || ^2.0" + "composer/installers": "~1.0|~2.0" }, "type": "wordpress-plugin", - "homepage": "https://wordpress.org/plugins/akismet/" - }, - { - "name": "wpackagist-theme/twentytwentyone", - "version": "2.7", - "source": { - "type": "svn", - "url": "https://themes.svn.wordpress.org/twentytwentyone/", - "reference": "2.7" - }, - "dist": { - "type": "zip", - "url": "https://downloads.wordpress.org/theme/twentytwentyone.2.7.zip" - }, - "require": { - "composer/installers": "^1.0 || ^2.0" + "notification-url": "https://wp-packages.org/downloads", + "authors": [ + { + "name": "Automattic" + } + ], + "description": "The best anti-spam protection to block spam comments and spam in a contact form. The most trusted antispam solution for WordPress and WooCommerce.", + "homepage": "https://akismet.com/", + "support": { + "changelog": "https://wordpress.org/plugins/akismet/#developers", + "issues": "https://wordpress.org/support/plugin/akismet", + "source": "https://plugins.svn.wordpress.org/akismet" }, - "type": "wordpress-theme", - "homepage": "https://wordpress.org/themes/twentytwentyone/" + "time": "2026-05-01T00:26:06+00:00" }, { - "name": "wpackagist-theme/twentytwentythree", - "version": "1.6", + "name": "wp-theme/twentytwentyfive", + "version": "1.4", "source": { "type": "svn", - "url": "https://themes.svn.wordpress.org/twentytwentythree/", - "reference": "1.6" + "url": "https://themes.svn.wordpress.org/twentytwentyfive/", + "reference": "1.4" }, "dist": { "type": "zip", - "url": "https://downloads.wordpress.org/theme/twentytwentythree.1.6.zip" + "url": "https://downloads.wordpress.org/theme/twentytwentyfive.1.4.zip" }, "require": { - "composer/installers": "^1.0 || ^2.0" + "composer/installers": "~1.0|~2.0" }, "type": "wordpress-theme", - "homepage": "https://wordpress.org/themes/twentytwentythree/" - }, - { - "name": "wpackagist-theme/twentytwentytwo", - "version": "2.1", - "source": { - "type": "svn", - "url": "https://themes.svn.wordpress.org/twentytwentytwo/", - "reference": "2.1" - }, - "dist": { - "type": "zip", - "url": "https://downloads.wordpress.org/theme/twentytwentytwo.2.1.zip" - }, - "require": { - "composer/installers": "^1.0 || ^2.0" + "notification-url": "https://wp-packages.org/downloads", + "description": "Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.", + "homepage": "https://wordpress.org/themes/twentytwentyfive/", + "support": { + "changelog": "https://wordpress.org/themes/twentytwentyfive/#developers", + "issues": "https://wordpress.org/support/theme/twentytwentyfive", + "source": "https://themes.svn.wordpress.org/twentytwentyfive" }, - "type": "wordpress-theme", - "homepage": "https://wordpress.org/themes/twentytwentytwo/" + "time": "2026-03-23T19:23:21+00:00" } ], "packages-dev": [], @@ -5416,7 +5464,7 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">=5.6.20" + "php": ">=8.0" }, "platform-dev": {}, "plugin-api-version": "2.9.0"