diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index d03f139e49..2f9cef86b4 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -60,7 +60,7 @@ "elevateIfNeeded": true }, "8025": { - "label": "mailhog", + "label": "mailpit", "protocol": "http", "onAutoForward": "notify", "elevateIfNeeded": true diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml index db2ef9a6d1..6d936e5fca 100644 --- a/.devcontainer/docker-compose.yml +++ b/.devcontainer/docker-compose.yml @@ -51,9 +51,9 @@ services: - POSTGRES_USER=${POSTGRES_USER:-nextcloud} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-nextcloud} - MAIL_FROM_ADDRESS=${MAIL_FROM_ADDRESS:-nextcloud} - - MAIL_DOMAIN=${MAIL_DOMAIN:-mailhog} + - MAIL_DOMAIN=${MAIL_DOMAIN:-mailpit} - MAIL_SMTPPORT=${MAIL_SMTPPORT:-1025} - - MAIL_SMTPHOST=${MAIL_SMTPHOST:-mailhog} + - MAIL_SMTPHOST=${MAIL_SMTPHOST:-mailpit} - VERSION_NEXTCLOUD=${VERSION_NEXTCLOUD:-master} - AUTOINSTALL=${AUTOINSTALL:-1} - XDEBUG_CONFIG @@ -68,10 +68,10 @@ services: - ../:/var/www/html/apps-extra/libresign:ro ports: - ${HTTP_PORT:-80}:80 - mailhog: - image: blueimp/mailhog + mailpit: + image: axllent/mailpit ports: - - 127.0.0.1:${MAILHOG_PORT:-8025}:8025 + - 127.0.0.1:${MAILPIT_PORT:-8025}:8025 redis: image: redis volumes: diff --git a/.github/workflows/behat-mariadb.yml b/.github/workflows/behat-mariadb.yml index e1fe27e3f8..9197df97c6 100644 --- a/.github/workflows/behat-mariadb.yml +++ b/.github/workflows/behat-mariadb.yml @@ -72,8 +72,8 @@ jobs: env: MYSQL_ROOT_PASSWORD: rootpassword options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 5 - mailhog: - image: mailhog/mailhog + mailpit: + image: axllent/mailpit ports: - 8025:8025/tcp - 1025:1025/tcp @@ -132,7 +132,7 @@ jobs: env: DB_PORT: 4444 run: | - sudo echo "127.0.0.1 mailhog" | sudo tee -a /etc/hosts + sudo echo "127.0.0.1 mailpit" | sudo tee -a /etc/hosts mkdir data ./occ maintenance:install \ --verbose \ @@ -154,7 +154,7 @@ jobs: ./occ app:enable --force guests ./occ config:system:set allow_local_remote_servers --value true --type boolean ./occ config:system:set auth.bruteforce.protection.enabled --value false --type boolean - ./occ config:system:set mail_smtphost --value mailhog + ./occ config:system:set mail_smtphost --value mailpit ./occ config:system:set mail_smtpport --value 1025 --type integer ./occ config:system:set ratelimit.protection.enabled --value false --type boolean ./occ config:app:set dav enableDefaultContact --value false --type boolean diff --git a/.github/workflows/behat-mysql.yml b/.github/workflows/behat-mysql.yml index 21a5affdf5..b51e954fd3 100644 --- a/.github/workflows/behat-mysql.yml +++ b/.github/workflows/behat-mysql.yml @@ -76,8 +76,8 @@ jobs: env: MYSQL_ROOT_PASSWORD: rootpassword options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10 - mailhog: - image: mailhog/mailhog + mailpit: + image: axllent/mailpit ports: - 8025:8025/tcp - 1025:1025/tcp @@ -144,7 +144,7 @@ jobs: env: DB_PORT: 4444 run: | - sudo echo "127.0.0.1 mailhog" | sudo tee -a /etc/hosts + sudo echo "127.0.0.1 mailpit" | sudo tee -a /etc/hosts mkdir data ./occ maintenance:install \ --verbose \ @@ -166,7 +166,7 @@ jobs: ./occ app:enable --force guests ./occ config:system:set allow_local_remote_servers --value true --type boolean ./occ config:system:set auth.bruteforce.protection.enabled --value false --type boolean - ./occ config:system:set mail_smtphost --value mailhog + ./occ config:system:set mail_smtphost --value mailpit ./occ config:system:set mail_smtpport --value 1025 --type integer ./occ config:system:set ratelimit.protection.enabled --value false --type boolean ./occ config:app:set dav enableDefaultContact --value false --type boolean diff --git a/.github/workflows/behat-pgsql.yml b/.github/workflows/behat-pgsql.yml index 349e41b339..6910d42659 100644 --- a/.github/workflows/behat-pgsql.yml +++ b/.github/workflows/behat-pgsql.yml @@ -75,8 +75,8 @@ jobs: POSTGRES_PASSWORD: rootpassword POSTGRES_DB: nextcloud options: --health-cmd pg_isready --health-interval 5s --health-timeout 2s --health-retries 5 - mailhog: - image: mailhog/mailhog + mailpit: + image: axllent/mailpit ports: - 8025:8025/tcp - 1025:1025/tcp @@ -138,7 +138,7 @@ jobs: env: DB_PORT: 4444 run: | - sudo echo "127.0.0.1 mailhog" | sudo tee -a /etc/hosts + sudo echo "127.0.0.1 mailpit" | sudo tee -a /etc/hosts mkdir data ./occ maintenance:install \ --verbose \ @@ -160,7 +160,7 @@ jobs: ./occ app:enable --force guests ./occ config:system:set allow_local_remote_servers --value true --type boolean ./occ config:system:set auth.bruteforce.protection.enabled --value false --type boolean - ./occ config:system:set mail_smtphost --value mailhog + ./occ config:system:set mail_smtphost --value mailpit ./occ config:system:set mail_smtpport --value 1025 --type integer ./occ config:system:set ratelimit.protection.enabled --value false --type boolean ./occ config:app:set dav enableDefaultContact --value false --type boolean diff --git a/.github/workflows/behat-sqlite.yml b/.github/workflows/behat-sqlite.yml index 59d0a7c85c..6cbcdbea35 100644 --- a/.github/workflows/behat-sqlite.yml +++ b/.github/workflows/behat-sqlite.yml @@ -66,8 +66,8 @@ jobs: name: SQLite PHP ${{ matrix.mysql-versions }} PHP ${{ matrix.php-versions }} Nextcloud ${{ matrix.server-versions }} services: - mailhog: - image: mailhog/mailhog + mailpit: + image: axllent/mailpit ports: - 8025:8025/tcp - 1025:1025/tcp @@ -129,7 +129,7 @@ jobs: env: DB_PORT: 4444 run: | - sudo echo "127.0.0.1 mailhog" | sudo tee -a /etc/hosts + sudo echo "127.0.0.1 mailpit" | sudo tee -a /etc/hosts mkdir data ./occ maintenance:install \ --verbose \ @@ -151,7 +151,7 @@ jobs: ./occ app:enable --force guests ./occ config:system:set allow_local_remote_servers --value true --type boolean ./occ config:system:set auth.bruteforce.protection.enabled --value false --type boolean - ./occ config:system:set mail_smtphost --value mailhog + ./occ config:system:set mail_smtphost --value mailpit ./occ config:system:set mail_smtpport --value 1025 --type integer ./occ config:system:set ratelimit.protection.enabled --value false --type boolean ./occ config:app:set dav enableDefaultContact --value false --type boolean diff --git a/tests/integration/composer.json b/tests/integration/composer.json index 193a527388..9112238d41 100644 --- a/tests/integration/composer.json +++ b/tests/integration/composer.json @@ -6,8 +6,8 @@ "jarnaiz/behat-junit-formatter": "^1.3", "php-http/guzzle7-adapter": "^1.1", "php-http/message": "^1.16", - "rpkamp/mailhog-behat-extension": "^1.3", - "libresign/nextcloud-behat": "^1.4" + "libresign/nextcloud-behat": "^1.4", + "libresign/mailpit-behat-extension": "^0.1.1" }, "config": { "allow-plugins": { diff --git a/tests/integration/composer.lock b/tests/integration/composer.lock index e4ba63b508..a42c2b443e 100644 --- a/tests/integration/composer.lock +++ b/tests/integration/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": "41819ffbebefae711992da5926c2a707", + "content-hash": "7bf03bae631e1e0482a6dfc27dc14386", "packages": [ { "name": "behat/behat", @@ -946,6 +946,129 @@ }, "time": "2024-10-31T18:50:11+00:00" }, + { + "name": "libresign/mailpit-behat-extension", + "version": "v0.1.1", + "source": { + "type": "git", + "url": "https://github.com/LibreSign/mailpit-behat-extension.git", + "reference": "5867dc381dc2c04dc239341267d9aeff977edca7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/LibreSign/mailpit-behat-extension/zipball/5867dc381dc2c04dc239341267d9aeff977edca7", + "reference": "5867dc381dc2c04dc239341267d9aeff977edca7", + "shasum": "" + }, + "require": { + "libresign/mailpit-client": "^0.1", + "nyholm/psr7": "^1.3", + "php": "^8.2", + "psr-discovery/http-client-implementations": "^1.0", + "psr-discovery/http-factory-implementations": "^1.0", + "symfony/dependency-injection": "^7.0", + "symfony/http-client": "^7.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8", + "behat/behat": "^3.8.0", + "roave/security-advisories": "dev-master", + "symfony/dotenv": "^7.0", + "symfony/mailer": "^7.0", + "symfony/mime": "^7.0" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": true + } + }, + "autoload": { + "psr-4": { + "LibreSign\\Behat\\MailpitExtension\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "LibreSign Team", + "email": "hello@libresign.coop" + }, + { + "name": "Remon van de Kamp", + "email": "rpkamp@gmail.com", + "role": "Original Mailhog Behat extension author" + } + ], + "description": "Mailpit Extension for Behat - Modern replacement for Mailhog", + "support": { + "source": "https://github.com/LibreSign/mailpit-behat-extension/tree/v0.1.1" + }, + "time": "2026-02-03T22:20:24+00:00" + }, + { + "name": "libresign/mailpit-client", + "version": "v0.1.1", + "source": { + "type": "git", + "url": "https://github.com/LibreSign/mailpit-client.git", + "reference": "382507d3e1029a9048e1320bf67991783e34d0e2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/LibreSign/mailpit-client/zipball/382507d3e1029a9048e1320bf67991783e34d0e2", + "reference": "382507d3e1029a9048e1320bf67991783e34d0e2", + "shasum": "" + }, + "require": { + "ext-iconv": "*", + "ext-json": "*", + "php": "^8.2", + "php-http/httplug": "^2.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^2.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8", + "roave/security-advisories": "dev-master" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": true + } + }, + "autoload": { + "psr-4": { + "LibreSign\\Mailpit\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "LibreSign Team", + "email": "hello@libresign.coop" + }, + { + "name": "Remon van de Kamp", + "email": "rpkamp@gmail.com", + "role": "Original Mailhog client author" + } + ], + "description": "Mailpit API Client for PHP - Modern replacement for Mailhog", + "support": { + "source": "https://github.com/LibreSign/mailpit-client/tree/v0.1.1" + }, + "time": "2026-02-03T19:14:09+00:00" + }, { "name": "libresign/nextcloud-behat", "version": "v1.4.0", @@ -1124,6 +1247,84 @@ }, "time": "2025-12-06T11:56:16+00:00" }, + { + "name": "nyholm/psr7", + "version": "1.8.2", + "source": { + "type": "git", + "url": "https://github.com/Nyholm/psr7.git", + "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Nyholm/psr7/zipball/a71f2b11690f4b24d099d6b16690a90ae14fc6f3", + "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.1 || ^2.0" + }, + "provide": { + "php-http/message-factory-implementation": "1.0", + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "http-interop/http-factory-tests": "^0.9", + "php-http/message-factory": "^1.0", + "php-http/psr7-integration-tests": "^1.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.4", + "symfony/error-handler": "^4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8-dev" + } + }, + "autoload": { + "psr-4": { + "Nyholm\\Psr7\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com" + }, + { + "name": "Martijn van der Ven", + "email": "martijn@vanderven.se" + } + ], + "description": "A fast PHP7 implementation of PSR-7", + "homepage": "https://tnyholm.se", + "keywords": [ + "psr-17", + "psr-7" + ], + "support": { + "issues": "https://github.com/Nyholm/psr7/issues", + "source": "https://github.com/Nyholm/psr7/tree/1.8.2" + }, + "funding": [ + { + "url": "https://github.com/Zegnat", + "type": "github" + }, + { + "url": "https://github.com/nyholm", + "type": "github" + } + ], + "time": "2024-09-09T07:06:30+00:00" + }, { "name": "phar-io/manifest", "version": "2.0.4", @@ -1802,16 +2003,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.60", + "version": "10.5.63", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "f2e26f52f80ef77832e359205f216eeac00e320c" + "reference": "33198268dad71e926626b618f3ec3966661e4d90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f2e26f52f80ef77832e359205f216eeac00e320c", - "reference": "f2e26f52f80ef77832e359205f216eeac00e320c", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/33198268dad71e926626b618f3ec3966661e4d90", + "reference": "33198268dad71e926626b618f3ec3966661e4d90", "shasum": "" }, "require": { @@ -1832,7 +2033,7 @@ "phpunit/php-timer": "^6.0.0", "sebastian/cli-parser": "^2.0.1", "sebastian/code-unit": "^2.0.0", - "sebastian/comparator": "^5.0.4", + "sebastian/comparator": "^5.0.5", "sebastian/diff": "^5.1.1", "sebastian/environment": "^6.1.0", "sebastian/exporter": "^5.1.4", @@ -1883,7 +2084,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.60" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.63" }, "funding": [ { @@ -1907,7 +2108,7 @@ "type": "tidelift" } ], - "time": "2025-12-06T07:50:42+00:00" + "time": "2026-01-27T05:48:37+00:00" }, { "name": "psr-discovery/discovery", @@ -2489,123 +2690,6 @@ }, "time": "2019-03-08T08:55:37+00:00" }, - { - "name": "rpkamp/mailhog-behat-extension", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/rpkamp/mailhog-behat-extension.git", - "reference": "c7f8637418347951a165087d9f2b947832c7a2ab" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rpkamp/mailhog-behat-extension/zipball/c7f8637418347951a165087d9f2b947832c7a2ab", - "reference": "c7f8637418347951a165087d9f2b947832c7a2ab", - "shasum": "" - }, - "require": { - "behat/behat": "^3.8.0", - "php": "^8.1", - "psr-discovery/http-client-implementations": "^1.0", - "psr-discovery/http-factory-implementations": "^1.0", - "rpkamp/mailhog-client": "^2.0", - "symfony/dependency-injection": "^6.4 || ^7.0", - "symfony/http-client": "^6.0" - }, - "require-dev": { - "doctrine/coding-standard": "^8.0", - "egulias/email-validator": "^2.1.23", - "guzzlehttp/psr7": "^1.6", - "mockery/mockery": "^1.3.3", - "nyholm/psr7": "^1.3", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpmd/phpmd": "^2.9.1", - "phpstan/phpstan": "^1.1", - "phpstan/phpstan-mockery": "^1.1", - "phpunit/phpunit": "^9.0", - "swiftmailer/swiftmailer": "^6.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "rpkamp\\Behat\\MailhogExtension\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Remon van de Kamp", - "email": "rpkamp@gmail.com" - } - ], - "description": "Mailhog Extension for Behat", - "support": { - "issues": "https://github.com/rpkamp/mailhog-behat-extension/issues", - "source": "https://github.com/rpkamp/mailhog-behat-extension/tree/1.3.0" - }, - "time": "2024-03-02T15:10:47+00:00" - }, - { - "name": "rpkamp/mailhog-client", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/rpkamp/mailhog-client.git", - "reference": "80464889d03373513b3f2d375c5e4596152e45fb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rpkamp/mailhog-client/zipball/80464889d03373513b3f2d375c5e4596152e45fb", - "reference": "80464889d03373513b3f2d375c5e4596152e45fb", - "shasum": "" - }, - "require": { - "ext-iconv": "*", - "ext-json": "*", - "php": "^8.1", - "php-http/client-implementation": "^1.0", - "php-http/httplug": "^1.0 || ^2.0", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.0 || ^2.0" - }, - "require-dev": { - "doctrine/coding-standard": "^9.0", - "egulias/email-validator": "^2.1.23", - "nyholm/psr7": "^1.2", - "pdepend/pdepend": "^2.5", - "php-http/curl-client": "^2.0", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpmd/phpmd": "^2.9.1", - "phpstan/phpstan": "^0.12.64", - "phpunit/phpunit": "^10.0", - "symfony/mailer": "^5.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "rpkamp\\Mailhog\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Remon van de Kamp", - "email": "rpkamp@gmail.com" - } - ], - "description": "Mailhog API Client for PHP", - "support": { - "issues": "https://github.com/rpkamp/mailhog-client/issues", - "source": "https://github.com/rpkamp/mailhog-client/tree/2.0.2" - }, - "time": "2025-07-10T05:59:31+00:00" - }, { "name": "sebastian/cli-parser", "version": "2.0.1", @@ -2776,16 +2860,16 @@ }, { "name": "sebastian/comparator", - "version": "5.0.4", + "version": "5.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "e8e53097718d2b53cfb2aa859b06a41abf58c62e" + "reference": "55dfef806eb7dfeb6e7a6935601fef866f8ca48d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/e8e53097718d2b53cfb2aa859b06a41abf58c62e", - "reference": "e8e53097718d2b53cfb2aa859b06a41abf58c62e", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55dfef806eb7dfeb6e7a6935601fef866f8ca48d", + "reference": "55dfef806eb7dfeb6e7a6935601fef866f8ca48d", "shasum": "" }, "require": { @@ -2841,7 +2925,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.4" + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.5" }, "funding": [ { @@ -2861,7 +2945,7 @@ "type": "tidelift" } ], - "time": "2025-09-07T05:25:07+00:00" + "time": "2026-01-24T09:25:16+00:00" }, { "name": "sebastian/complexity", @@ -3561,16 +3645,16 @@ }, { "name": "symfony/config", - "version": "v7.4.1", + "version": "v7.4.4", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "2c323304c354a43a48b61c5fa760fc4ed60ce495" + "reference": "4275b53b8ab0cf37f48bf273dc2285c8178efdfb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/2c323304c354a43a48b61c5fa760fc4ed60ce495", - "reference": "2c323304c354a43a48b61c5fa760fc4ed60ce495", + "url": "https://api.github.com/repos/symfony/config/zipball/4275b53b8ab0cf37f48bf273dc2285c8178efdfb", + "reference": "4275b53b8ab0cf37f48bf273dc2285c8178efdfb", "shasum": "" }, "require": { @@ -3616,7 +3700,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v7.4.1" + "source": "https://github.com/symfony/config/tree/v7.4.4" }, "funding": [ { @@ -3636,20 +3720,20 @@ "type": "tidelift" } ], - "time": "2025-12-05T07:52:08+00:00" + "time": "2026-01-13T11:36:38+00:00" }, { "name": "symfony/console", - "version": "v6.4.30", + "version": "v6.4.32", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "1b2813049506b39eb3d7e64aff033fd5ca26c97e" + "reference": "0bc2199c6c1f05276b05956f1ddc63f6d7eb5fc3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/1b2813049506b39eb3d7e64aff033fd5ca26c97e", - "reference": "1b2813049506b39eb3d7e64aff033fd5ca26c97e", + "url": "https://api.github.com/repos/symfony/console/zipball/0bc2199c6c1f05276b05956f1ddc63f6d7eb5fc3", + "reference": "0bc2199c6c1f05276b05956f1ddc63f6d7eb5fc3", "shasum": "" }, "require": { @@ -3714,7 +3798,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.30" + "source": "https://github.com/symfony/console/tree/v6.4.32" }, "funding": [ { @@ -3734,20 +3818,20 @@ "type": "tidelift" } ], - "time": "2025-12-05T13:47:41+00:00" + "time": "2026-01-13T08:45:59+00:00" }, { "name": "symfony/dependency-injection", - "version": "v7.4.2", + "version": "v7.4.5", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "baf614f7c15b30ba6762d4b1ddabdf83dbf0d29b" + "reference": "76a02cddca45a5254479ad68f9fa274ead0a7ef2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/baf614f7c15b30ba6762d4b1ddabdf83dbf0d29b", - "reference": "baf614f7c15b30ba6762d4b1ddabdf83dbf0d29b", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/76a02cddca45a5254479ad68f9fa274ead0a7ef2", + "reference": "76a02cddca45a5254479ad68f9fa274ead0a7ef2", "shasum": "" }, "require": { @@ -3798,7 +3882,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v7.4.2" + "source": "https://github.com/symfony/dependency-injection/tree/v7.4.5" }, "funding": [ { @@ -3818,7 +3902,7 @@ "type": "tidelift" } ], - "time": "2025-12-08T06:57:04+00:00" + "time": "2026-01-27T16:16:02+00:00" }, { "name": "symfony/deprecation-contracts", @@ -3889,16 +3973,16 @@ }, { "name": "symfony/event-dispatcher", - "version": "v7.4.0", + "version": "v7.4.4", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "9dddcddff1ef974ad87b3708e4b442dc38b2261d" + "reference": "dc2c0eba1af673e736bb851d747d266108aea746" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9dddcddff1ef974ad87b3708e4b442dc38b2261d", - "reference": "9dddcddff1ef974ad87b3708e4b442dc38b2261d", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/dc2c0eba1af673e736bb851d747d266108aea746", + "reference": "dc2c0eba1af673e736bb851d747d266108aea746", "shasum": "" }, "require": { @@ -3950,7 +4034,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.4.0" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.4.4" }, "funding": [ { @@ -3970,7 +4054,7 @@ "type": "tidelift" } ], - "time": "2025-10-28T09:38:46+00:00" + "time": "2026-01-05T11:45:34+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -4120,20 +4204,20 @@ }, { "name": "symfony/http-client", - "version": "v6.4.30", + "version": "v7.4.5", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "a67de2002d72f76ce7c57f830c4df503febc8d77" + "reference": "84bb634857a893cc146cceb467e31b3f02c5fe9f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/a67de2002d72f76ce7c57f830c4df503febc8d77", - "reference": "a67de2002d72f76ce7c57f830c4df503febc8d77", + "url": "https://api.github.com/repos/symfony/http-client/zipball/84bb634857a893cc146cceb467e31b3f02c5fe9f", + "reference": "84bb634857a893cc146cceb467e31b3f02c5fe9f", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/log": "^1|^2|^3", "symfony/deprecation-contracts": "^2.5|^3", "symfony/http-client-contracts": "~3.4.4|^3.5.2", @@ -4141,8 +4225,10 @@ "symfony/service-contracts": "^2.5|^3" }, "conflict": { + "amphp/amp": "<2.5", + "amphp/socket": "<1.1", "php-http/discovery": "<1.15", - "symfony/http-foundation": "<6.3" + "symfony/http-foundation": "<6.4" }, "provide": { "php-http/async-client-implementation": "*", @@ -4151,19 +4237,20 @@ "symfony/http-client-implementation": "3.0" }, "require-dev": { - "amphp/amp": "^2.5", - "amphp/http-client": "^4.2.1", - "amphp/http-tunnel": "^1.0", - "amphp/socket": "^1.1", + "amphp/http-client": "^4.2.1|^5.0", + "amphp/http-tunnel": "^1.0|^2.0", "guzzlehttp/promises": "^1.4|^2.0", "nyholm/psr7": "^1.0", "php-http/httplug": "^1.0|^2.0", "psr/http-client": "^1.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^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/amphp-http-client-meta": "^1.0|^2.0", + "symfony/cache": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/rate-limiter": "^6.4|^7.0|^8.0", + "symfony/stopwatch": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -4194,7 +4281,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v6.4.30" + "source": "https://github.com/symfony/http-client/tree/v7.4.5" }, "funding": [ { @@ -4214,7 +4301,7 @@ "type": "tidelift" } ], - "time": "2025-12-04T16:42:50+00:00" + "time": "2026-01-27T16:16:02+00:00" }, { "name": "symfony/http-client-contracts", @@ -4795,16 +4882,16 @@ }, { "name": "symfony/process", - "version": "v5.4.47", + "version": "v5.4.51", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "5d1662fb32ebc94f17ddb8d635454a776066733d" + "reference": "467bfc56f18f5ef6d5ccb09324d7e988c1c0a98f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/5d1662fb32ebc94f17ddb8d635454a776066733d", - "reference": "5d1662fb32ebc94f17ddb8d635454a776066733d", + "url": "https://api.github.com/repos/symfony/process/zipball/467bfc56f18f5ef6d5ccb09324d7e988c1c0a98f", + "reference": "467bfc56f18f5ef6d5ccb09324d7e988c1c0a98f", "shasum": "" }, "require": { @@ -4837,7 +4924,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.4.47" + "source": "https://github.com/symfony/process/tree/v5.4.51" }, "funding": [ { @@ -4848,12 +4935,16 @@ "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": "2024-11-06T11:36:42+00:00" + "time": "2026-01-26T15:53:37+00:00" }, { "name": "symfony/service-contracts", @@ -4944,16 +5035,16 @@ }, { "name": "symfony/string", - "version": "v7.4.0", + "version": "v7.4.4", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "d50e862cb0a0e0886f73ca1f31b865efbb795003" + "reference": "1c4b10461bf2ec27537b5f36105337262f5f5d6f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/d50e862cb0a0e0886f73ca1f31b865efbb795003", - "reference": "d50e862cb0a0e0886f73ca1f31b865efbb795003", + "url": "https://api.github.com/repos/symfony/string/zipball/1c4b10461bf2ec27537b5f36105337262f5f5d6f", + "reference": "1c4b10461bf2ec27537b5f36105337262f5f5d6f", "shasum": "" }, "require": { @@ -5011,7 +5102,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.4.0" + "source": "https://github.com/symfony/string/tree/v7.4.4" }, "funding": [ { @@ -5031,20 +5122,20 @@ "type": "tidelift" } ], - "time": "2025-11-27T13:27:24+00:00" + "time": "2026-01-12T10:54:30+00:00" }, { "name": "symfony/translation", - "version": "v7.4.0", + "version": "v7.4.4", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "2d01ca0da3f092f91eeedb46f24aa30d2fca8f68" + "reference": "bfde13711f53f549e73b06d27b35a55207528877" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/2d01ca0da3f092f91eeedb46f24aa30d2fca8f68", - "reference": "2d01ca0da3f092f91eeedb46f24aa30d2fca8f68", + "url": "https://api.github.com/repos/symfony/translation/zipball/bfde13711f53f549e73b06d27b35a55207528877", + "reference": "bfde13711f53f549e73b06d27b35a55207528877", "shasum": "" }, "require": { @@ -5111,7 +5202,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v7.4.0" + "source": "https://github.com/symfony/translation/tree/v7.4.4" }, "funding": [ { @@ -5131,7 +5222,7 @@ "type": "tidelift" } ], - "time": "2025-11-27T13:27:24+00:00" + "time": "2026-01-13T10:40:19+00:00" }, { "name": "symfony/translation-contracts", diff --git a/tests/integration/config/behat.yml b/tests/integration/config/behat.yml index 74fe6577b0..9c2943ec03 100644 --- a/tests/integration/config/behat.yml +++ b/tests/integration/config/behat.yml @@ -6,14 +6,14 @@ default: suites: default: contexts: - - rpkamp\Behat\MailhogExtension\Context\MailhogContext + - LibreSign\Behat\MailpitExtension\Context\MailpitContext - FeatureContext paths: - '%paths.base%/../features' extensions: - rpkamp\Behat\MailhogExtension: - base_url: http://mailhog:8025 + LibreSign\Behat\MailpitExtension\ServiceContainer\MailpitExtension: + base_url: http://mailpit:8025 PhpBuiltin\Server: runAs: www-data workers: 10 diff --git a/tests/integration/features/bootstrap/FeatureContext.php b/tests/integration/features/bootstrap/FeatureContext.php index 18effb0d9f..68f4500a11 100644 --- a/tests/integration/features/bootstrap/FeatureContext.php +++ b/tests/integration/features/bootstrap/FeatureContext.php @@ -11,10 +11,10 @@ use Behat\Hook\BeforeSuite; use Behat\Step\Given; use Behat\Testwork\Hook\Scope\BeforeSuiteScope; +use LibreSign\Behat\MailpitExtension\Context\OpenedEmailStorageAwareContext; +use LibreSign\Behat\MailpitExtension\Service\OpenedEmailStorage; use Libresign\NextcloudBehat\NextcloudApiContext; use PHPUnit\Framework\Assert; -use rpkamp\Behat\MailhogExtension\Context\OpenedEmailStorageAwareContext; -use rpkamp\Behat\MailhogExtension\Service\OpenedEmailStorage; /** * Defines application features from the specific context. @@ -82,7 +82,7 @@ public function followTheLinkOnOpenedEmail(): void { throw new RuntimeException('No email opened, unable to do something!'); } - /** @var \rpkamp\Mailhog\Message\Message $openedEmail */ + /** @var \LibreSign\Mailpit\Message\Message $openedEmail */ $openedEmail = $this->openedEmailStorage->getOpenedEmail(); preg_match('/p\/sign\/(?[\w-]+)"/', $openedEmail->body, $matches);