diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 3be7f77da..13fb6d04e 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,5 +1,5 @@ blank_issues_enabled: false contact_links: - name: Want to ask something? - url: https://gitter.im/wallabag/wallabag - about: Use Gitter to ask questions. + url: https://matrix.to/#/#wallabag:matrix.org + about: Use Matrix to ask questions. diff --git a/CHANGELOG.md b/CHANGELOG.md index e90e27e84..67aac594d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,27 @@ # Changelog +## [2.6.10](https://github.com/wallabag/wallabag/tree/2.6.10) +[Full Changelog](https://github.com/wallabag/wallabag/compare/2.6.9...2.6.10) + +### Improvement + +* Add Omnivore import by @nicosomb in https://github.com/wallabag/wallabag/pull/7754 + +### Fixes + +* Update site config & tests by @j0k3r in https://github.com/wallabag/wallabag/pull/7582 (fixes "Key provided is shorter + than 256 bits, only 240 bits provided" https://github.com/wallabag/wallabag/issues/7531) +* Update site config by @yguedidi in https://github.com/wallabag/wallabag/pull/7623 +* Replace gitter with matrix by @nicosomb in https://github.com/wallabag/wallabag/pull/7753 + +## [2.6.9](https://github.com/wallabag/wallabag/tree/2.6.9) +[Full Changelog](https://github.com/wallabag/wallabag/compare/2.6.8...2.6.9) + +### Fixes +* Fix same domain pagination by @yguedidi in https://github.com/wallabag/wallabag/pull/7266 +* Upgrade PHP dependencies by @yguedidi in https://github.com/wallabag/wallabag/pull/7272 +* Use a proper "how to" for elCurator by @j0k3r in https://github.com/wallabag/wallabag/pull/7323 + ## [2.6.8](https://github.com/wallabag/wallabag/tree/2.6.8) [Full Changelog](https://github.com/wallabag/wallabag/compare/2.6.7...2.6.8) diff --git a/README.md b/README.md index 0831fb2a2..e3ec9b306 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # wallabag ![CI](https://github.com/wallabag/wallabag/workflows/CI/badge.svg) -[![Gitter](https://badges.gitter.im/gitterHQ/gitter.svg)](https://gitter.im/wallabag/wallabag) +[![Matrix](https://matrix.to/img/matrix-badge.svg)](https://matrix.to/#/#wallabag:matrix.org) [![Donation Status](https://img.shields.io/liberapay/goal/wallabag.svg?logo=liberapay)](https://liberapay.com/wallabag/donate) [![Translation status](https://hosted.weblate.org/widgets/wallabag/-/svg-badge.svg)](https://hosted.weblate.org/engage/wallabag/?utm_source=widget) ![License](https://img.shields.io/github/license/wallabag/wallabag) diff --git a/app/config/config.yml b/app/config/config.yml index 71b2aa71b..ace558c1b 100644 --- a/app/config/config.yml +++ b/app/config/config.yml @@ -277,6 +277,11 @@ old_sound_rabbit_mq: exchange_options: name: 'wallabag.import.elcurator' type: topic + import_omnivore: + connection: default + exchange_options: + name: 'wallabag.import.omnivore' + type: topic import_firefox: connection: default exchange_options: @@ -370,6 +375,15 @@ old_sound_rabbit_mq: name: 'wallabag.import.elcurator' callback: wallabag.consumer.amqp.elcurator qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"} + import_omnivore: + connection: default + exchange_options: + name: 'wallabag.import.omnivore' + type: topic + queue_options: + name: 'wallabag.import.omnivore' + callback: wallabag.consumer.amqp.omnivore + qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"} import_firefox: connection: default exchange_options: diff --git a/app/config/services.yml b/app/config/services.yml index 2618bd8c0..0b4c91f8c 100644 --- a/app/config/services.yml +++ b/app/config/services.yml @@ -58,6 +58,11 @@ services: $rabbitMqProducer: '@old_sound_rabbit_mq.import_elcurator_producer' $redisProducer: '@wallabag.producer.redis.elcurator' + Wallabag\Controller\Import\OmnivoreController: + arguments: + $rabbitMqProducer: '@old_sound_rabbit_mq.import_omnivore_producer' + $redisProducer: '@wallabag.producer.redis.omnivore' + Wallabag\Controller\Import\FirefoxController: arguments: $rabbitMqProducer: '@old_sound_rabbit_mq.import_firefox_producer' @@ -324,6 +329,10 @@ services: tags: - { name: wallabag.import, alias: delicious } + Wallabag\Import\OmnivoreImport: + tags: + - { name: wallabag.import, alias: omnivore } + Wallabag\Import\FirefoxImport: tags: - { name: wallabag.import, alias: firefox } diff --git a/app/config/services_rabbit.yml b/app/config/services_rabbit.yml index 2c01be3bb..978624aa7 100644 --- a/app/config/services_rabbit.yml +++ b/app/config/services_rabbit.yml @@ -19,6 +19,7 @@ services: $elcuratorConsumer: '@old_sound_rabbit_mq.import_elcurator_consumer' $shaarliConsumer: '@old_sound_rabbit_mq.import_shaarli_consumer' $pocketHtmlConsumer: '@old_sound_rabbit_mq.import_pocket_html_consumer' + $omnivoreConsumer: '@old_sound_rabbit_mq.import_omnivore_consumer' wallabag.consumer.amqp.pocket: class: Wallabag\Consumer\AMQPEntryConsumer @@ -45,6 +46,11 @@ services: arguments: $import: '@Wallabag\Import\DeliciousImport' + wallabag.consumer.amqp.omnivore: + class: Wallabag\Consumer\AMQPEntryConsumer + arguments: + $import: '@Wallabag\Import\OmnivoreImport' + wallabag.consumer.amqp.wallabag_v1: class: Wallabag\Consumer\AMQPEntryConsumer arguments: diff --git a/app/config/services_redis.yml b/app/config/services_redis.yml index 0a6b5be99..2065fe4f5 100644 --- a/app/config/services_redis.yml +++ b/app/config/services_redis.yml @@ -69,6 +69,22 @@ services: arguments: $import: '@Wallabag\Import\DeliciousImport' + # Omnivore + wallabag.queue.redis.omnivore: + class: Simpleue\Queue\RedisQueue + arguments: + $queueName: "wallabag.import.omnivore" + + wallabag.producer.redis.omnivore: + class: Wallabag\Redis\Producer + arguments: + - "@wallabag.queue.redis.omnivore" + + wallabag.consumer.redis.omnivore: + class: Wallabag\Consumer\RedisEntryConsumer + arguments: + $import: '@Wallabag\Import\OmnivoreImport' + # pocket wallabag.queue.redis.pocket: class: Simpleue\Queue\RedisQueue diff --git a/app/config/wallabag.yml b/app/config/wallabag.yml index 4c26ec8a7..13abc5250 100644 --- a/app/config/wallabag.yml +++ b/app/config/wallabag.yml @@ -1,5 +1,5 @@ parameters: - wallabag.version: 2.6.8 + wallabag.version: 2.6.10 wallabag.paypal_url: "https://liberapay.com/wallabag/donate" wallabag.languages: en: 'English' diff --git a/composer.lock b/composer.lock index 35e945d2f..7201b144b 100644 --- a/composer.lock +++ b/composer.lock @@ -145,16 +145,16 @@ }, { "name": "beberlei/assert", - "version": "v3.3.2", + "version": "v3.3.3", "source": { "type": "git", "url": "https://github.com/beberlei/assert.git", - "reference": "cb70015c04be1baee6f5f5c953703347c0ac1655" + "reference": "b5fd8eacd8915a1b627b8bfc027803f1939734dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/beberlei/assert/zipball/cb70015c04be1baee6f5f5c953703347c0ac1655", - "reference": "cb70015c04be1baee6f5f5c953703347c0ac1655", + "url": "https://api.github.com/repos/beberlei/assert/zipball/b5fd8eacd8915a1b627b8bfc027803f1939734dd", + "reference": "b5fd8eacd8915a1b627b8bfc027803f1939734dd", "shasum": "" }, "require": { @@ -162,7 +162,7 @@ "ext-json": "*", "ext-mbstring": "*", "ext-simplexml": "*", - "php": "^7.0 || ^8.0" + "php": "^7.1 || ^8.0" }, "require-dev": { "friendsofphp/php-cs-fixer": "*", @@ -206,9 +206,9 @@ ], "support": { "issues": "https://github.com/beberlei/assert/issues", - "source": "https://github.com/beberlei/assert/tree/v3.3.2" + "source": "https://github.com/beberlei/assert/tree/v3.3.3" }, - "time": "2021-12-16T21:41:27+00:00" + "time": "2024-07-15T13:18:35+00:00" }, { "name": "behat/transliterator", @@ -413,23 +413,23 @@ }, { "name": "dasprid/enum", - "version": "1.0.5", + "version": "1.0.6", "source": { "type": "git", "url": "https://github.com/DASPRiD/Enum.git", - "reference": "6faf451159fb8ba4126b925ed2d78acfce0dc016" + "reference": "8dfd07c6d2cf31c8da90c53b83c026c7696dda90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/6faf451159fb8ba4126b925ed2d78acfce0dc016", - "reference": "6faf451159fb8ba4126b925ed2d78acfce0dc016", + "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/8dfd07c6d2cf31c8da90c53b83c026c7696dda90", + "reference": "8dfd07c6d2cf31c8da90c53b83c026c7696dda90", "shasum": "" }, "require": { "php": ">=7.1 <9.0" }, "require-dev": { - "phpunit/phpunit": "^7 | ^8 | ^9", + "phpunit/phpunit": "^7 || ^8 || ^9 || ^10 || ^11", "squizlabs/php_codesniffer": "*" }, "type": "library", @@ -457,9 +457,9 @@ ], "support": { "issues": "https://github.com/DASPRiD/Enum/issues", - "source": "https://github.com/DASPRiD/Enum/tree/1.0.5" + "source": "https://github.com/DASPRiD/Enum/tree/1.0.6" }, - "time": "2023-08-25T16:18:39+00:00" + "time": "2024-08-09T14:30:48+00:00" }, { "name": "defuse/php-encryption", @@ -860,16 +860,16 @@ }, { "name": "doctrine/dbal", - "version": "3.9.0", + "version": "3.9.3", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "d8f68ea6cc00912e5313237130b8c8decf4d28c6" + "reference": "61446f07fcb522414d6cfd8b1c3e5f9e18c579ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/d8f68ea6cc00912e5313237130b8c8decf4d28c6", - "reference": "d8f68ea6cc00912e5313237130b8c8decf4d28c6", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/61446f07fcb522414d6cfd8b1c3e5f9e18c579ba", + "reference": "61446f07fcb522414d6cfd8b1c3e5f9e18c579ba", "shasum": "" }, "require": { @@ -885,7 +885,7 @@ "doctrine/coding-standard": "12.0.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2023.1", - "phpstan/phpstan": "1.11.7", + "phpstan/phpstan": "1.12.6", "phpstan/phpstan-strict-rules": "^1.6", "phpunit/phpunit": "9.6.20", "psalm/plugin-phpunit": "0.18.4", @@ -953,7 +953,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.9.0" + "source": "https://github.com/doctrine/dbal/tree/3.9.3" }, "funding": [ { @@ -969,7 +969,7 @@ "type": "tidelift" } ], - "time": "2024-08-15T07:34:42+00:00" + "time": "2024-10-10T17:56:43+00:00" }, { "name": "doctrine/deprecations", @@ -1665,16 +1665,16 @@ }, { "name": "doctrine/orm", - "version": "2.19.6", + "version": "2.20.0", "source": { "type": "git", "url": "https://github.com/doctrine/orm.git", - "reference": "c1bb2ccf4b19c845f91ff7c4c01dc7cbba7f4073" + "reference": "8ed6c2234aba019f9737a6bcc9516438e62da27c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/orm/zipball/c1bb2ccf4b19c845f91ff7c4c01dc7cbba7f4073", - "reference": "c1bb2ccf4b19c845f91ff7c4c01dc7cbba7f4073", + "url": "https://api.github.com/repos/doctrine/orm/zipball/8ed6c2234aba019f9737a6bcc9516438e62da27c", + "reference": "8ed6c2234aba019f9737a6bcc9516438e62da27c", "shasum": "" }, "require": { @@ -1703,7 +1703,9 @@ "doctrine/annotations": "^1.13 || ^2", "doctrine/coding-standard": "^9.0.2 || ^12.0", "phpbench/phpbench": "^0.16.10 || ^1.0", - "phpstan/phpstan": "~1.4.10 || 1.11.1", + "phpstan/extension-installer": "~1.1.0 || ^1.4", + "phpstan/phpstan": "~1.4.10 || 1.12.6", + "phpstan/phpstan-deprecation-rules": "^1", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6", "psr/log": "^1 || ^2 || ^3", "squizlabs/php_codesniffer": "3.7.2", @@ -1760,9 +1762,9 @@ ], "support": { "issues": "https://github.com/doctrine/orm/issues", - "source": "https://github.com/doctrine/orm/tree/2.19.6" + "source": "https://github.com/doctrine/orm/tree/2.20.0" }, - "time": "2024-06-26T17:24:40+00:00" + "time": "2024-10-11T11:47:24+00:00" }, { "name": "doctrine/persistence", @@ -2655,16 +2657,16 @@ }, { "name": "gedmo/doctrine-extensions", - "version": "v3.16.1", + "version": "v3.17.1", "source": { "type": "git", "url": "https://github.com/doctrine-extensions/DoctrineExtensions.git", - "reference": "e85560ed96f977b8c29428a99222cb2ef2f0e80d" + "reference": "eabb45018c5a4362b46c5beae3881261da89f900" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine-extensions/DoctrineExtensions/zipball/e85560ed96f977b8c29428a99222cb2ef2f0e80d", - "reference": "e85560ed96f977b8c29428a99222cb2ef2f0e80d", + "url": "https://api.github.com/repos/doctrine-extensions/DoctrineExtensions/zipball/eabb45018c5a4362b46c5beae3881261da89f900", + "reference": "eabb45018c5a4362b46c5beae3881261da89f900", "shasum": "" }, "require": { @@ -2681,14 +2683,14 @@ }, "conflict": { "doctrine/annotations": "<1.13 || >=3.0", - "doctrine/dbal": "<3.2 || >=4.0", + "doctrine/dbal": "<3.7 || >=5.0", "doctrine/mongodb-odm": "<2.3 || >=3.0", "doctrine/orm": "<2.14.0 || 2.16.0 || 2.16.1 || >=4.0" }, "require-dev": { "doctrine/annotations": "^1.13 || ^2.0", "doctrine/cache": "^1.11 || ^2.0", - "doctrine/dbal": "^3.2", + "doctrine/dbal": "^3.7 || ^4.0", "doctrine/doctrine-bundle": "^2.3", "doctrine/mongodb-odm": "^2.3", "doctrine/orm": "^2.14.0 || ^3.0", @@ -2760,7 +2762,7 @@ "support": { "email": "gediminas.morkevicius@gmail.com", "issues": "https://github.com/doctrine-extensions/DoctrineExtensions/issues", - "source": "https://github.com/doctrine-extensions/DoctrineExtensions/tree/v3.16.1", + "source": "https://github.com/doctrine-extensions/DoctrineExtensions/tree/v3.17.1", "wiki": "https://github.com/Atlantic18/DoctrineExtensions/tree/main/doc" }, "funding": [ @@ -2781,7 +2783,7 @@ "type": "github" } ], - "time": "2024-06-25T16:22:14+00:00" + "time": "2024-10-07T22:30:27+00:00" }, { "name": "grandt/binstring", @@ -5626,16 +5628,16 @@ }, { "name": "nelmio/api-doc-bundle", - "version": "v4.33.3", + "version": "v4.33.4", "source": { "type": "git", "url": "https://github.com/nelmio/NelmioApiDocBundle.git", - "reference": "2384711daffaf01ab30d14743a5ce3422bbe8246" + "reference": "c43171895161c8eb342bc5fc5eb21760dd91b646" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nelmio/NelmioApiDocBundle/zipball/2384711daffaf01ab30d14743a5ce3422bbe8246", - "reference": "2384711daffaf01ab30d14743a5ce3422bbe8246", + "url": "https://api.github.com/repos/nelmio/NelmioApiDocBundle/zipball/c43171895161c8eb342bc5fc5eb21760dd91b646", + "reference": "c43171895161c8eb342bc5fc5eb21760dd91b646", "shasum": "" }, "require": { @@ -5736,7 +5738,7 @@ ], "support": { "issues": "https://github.com/nelmio/NelmioApiDocBundle/issues", - "source": "https://github.com/nelmio/NelmioApiDocBundle/tree/v4.33.3" + "source": "https://github.com/nelmio/NelmioApiDocBundle/tree/v4.33.4" }, "funding": [ { @@ -5744,7 +5746,7 @@ "type": "github" } ], - "time": "2024-11-07T15:46:45+00:00" + "time": "2024-11-08T15:00:51+00:00" }, { "name": "nelmio/cors-bundle", @@ -7014,23 +7016,23 @@ }, { "name": "phpdocumentor/type-resolver", - "version": "1.9.0", + "version": "1.10.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "1fb5ba8d045f5dd984ebded5b1cc66f29459422d" + "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/1fb5ba8d045f5dd984ebded5b1cc66f29459422d", - "reference": "1fb5ba8d045f5dd984ebded5b1cc66f29459422d", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/679e3ce485b99e84c775d28e2e96fade9a7fb50a", + "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a", "shasum": "" }, "require": { "doctrine/deprecations": "^1.0", "php": "^7.3 || ^8.0", "phpdocumentor/reflection-common": "^2.0", - "phpstan/phpdoc-parser": "^1.18" + "phpstan/phpdoc-parser": "^1.18|^2.0" }, "require-dev": { "ext-tokenizer": "*", @@ -7066,9 +7068,9 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.9.0" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.10.0" }, - "time": "2024-11-03T20:11:34+00:00" + "time": "2024-11-09T15:12:26+00:00" }, { "name": "phpseclib/phpseclib", @@ -8591,16 +8593,16 @@ }, { "name": "sentry/sentry", - "version": "4.9.0", + "version": "4.10.0", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-php.git", - "reference": "788ec170f51ebb22f2809a1e3f78b19ccd39b70d" + "reference": "2af937d47d8aadb8dab0b1d7b9557e495dd12856" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/788ec170f51ebb22f2809a1e3f78b19ccd39b70d", - "reference": "788ec170f51ebb22f2809a1e3f78b19ccd39b70d", + "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/2af937d47d8aadb8dab0b1d7b9557e495dd12856", + "reference": "2af937d47d8aadb8dab0b1d7b9557e495dd12856", "shasum": "" }, "require": { @@ -8618,12 +8620,12 @@ }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.4", - "guzzlehttp/promises": "^1.0|^2.0", + "guzzlehttp/promises": "^2.0.3", "guzzlehttp/psr7": "^1.8.4|^2.1.1", "monolog/monolog": "^1.6|^2.0|^3.0", "phpbench/phpbench": "^1.0", "phpstan/phpstan": "^1.3", - "phpunit/phpunit": "^8.5.14|^9.4", + "phpunit/phpunit": "^8.5|^9.6", "symfony/phpunit-bridge": "^5.2|^6.0|^7.0", "vimeo/psalm": "^4.17" }, @@ -8664,7 +8666,7 @@ ], "support": { "issues": "https://github.com/getsentry/sentry-php/issues", - "source": "https://github.com/getsentry/sentry-php/tree/4.9.0" + "source": "https://github.com/getsentry/sentry-php/tree/4.10.0" }, "funding": [ { @@ -8676,7 +8678,7 @@ "type": "custom" } ], - "time": "2024-08-08T14:40:50+00:00" + "time": "2024-11-06T07:44:19+00:00" }, { "name": "sentry/sentry-symfony", @@ -8908,16 +8910,16 @@ }, { "name": "spiriitlabs/form-filter-bundle", - "version": "v10.0.0", + "version": "v10.0.2", "source": { "type": "git", "url": "https://github.com/SpiriitLabs/form-filter-bundle.git", - "reference": "7a1ab5c7f8d1890562f8a3e57796bbb8f84e5be8" + "reference": "78a8aaaf4f0e51d1ba6ffd59e371e137f9517123" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/SpiriitLabs/form-filter-bundle/zipball/7a1ab5c7f8d1890562f8a3e57796bbb8f84e5be8", - "reference": "7a1ab5c7f8d1890562f8a3e57796bbb8f84e5be8", + "url": "https://api.github.com/repos/SpiriitLabs/form-filter-bundle/zipball/78a8aaaf4f0e51d1ba6ffd59e371e137f9517123", + "reference": "78a8aaaf4f0e51d1ba6ffd59e371e137f9517123", "shasum": "" }, "require": { @@ -8954,9 +8956,9 @@ "symfony" ], "support": { - "source": "https://github.com/SpiriitLabs/form-filter-bundle/tree/v10.0.0" + "source": "https://github.com/SpiriitLabs/form-filter-bundle/tree/v10.0.2" }, - "time": "2024-01-15T14:09:58+00:00" + "time": "2024-08-23T08:46:41+00:00" }, { "name": "spomky-labs/otphp", @@ -9115,16 +9117,16 @@ }, { "name": "symfony/asset", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/asset.git", - "reference": "e5aa241b4914257164b39c3c2678b2c41b7671e3" + "reference": "b7a18eaff1d717c321b4f13403413f8815bf9cb0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/asset/zipball/e5aa241b4914257164b39c3c2678b2c41b7671e3", - "reference": "e5aa241b4914257164b39c3c2678b2c41b7671e3", + "url": "https://api.github.com/repos/symfony/asset/zipball/b7a18eaff1d717c321b4f13403413f8815bf9cb0", + "reference": "b7a18eaff1d717c321b4f13403413f8815bf9cb0", "shasum": "" }, "require": { @@ -9169,7 +9171,7 @@ "description": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/asset/tree/v5.4.40" + "source": "https://github.com/symfony/asset/tree/v5.4.45" }, "funding": [ { @@ -9185,7 +9187,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-10-22T13:05:35+00:00" }, { "name": "symfony/cache", @@ -9699,16 +9701,16 @@ }, { "name": "symfony/doctrine-bridge", - "version": "v5.4.42", + "version": "v5.4.46", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-bridge.git", - "reference": "009d870d520f30a213a1db0e410f8edf674eda5a" + "reference": "22f9d7c3724ae10656797f10d1cb926daa612845" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/009d870d520f30a213a1db0e410f8edf674eda5a", - "reference": "009d870d520f30a213a1db0e410f8edf674eda5a", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/22f9d7c3724ae10656797f10d1cb926daa612845", + "reference": "22f9d7c3724ae10656797f10d1cb926daa612845", "shasum": "" }, "require": { @@ -9795,7 +9797,7 @@ "description": "Provides integration for Doctrine with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-bridge/tree/v5.4.42" + "source": "https://github.com/symfony/doctrine-bridge/tree/v5.4.46" }, "funding": [ { @@ -9811,20 +9813,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:05:19+00:00" + "time": "2024-11-05T15:58:15+00:00" }, { "name": "symfony/dom-crawler", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "2ad469c3e07fdba677b278d0e266071a51aa0dac" + "reference": "89647a57db280f9f93c27271fea58babb77bb473" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/2ad469c3e07fdba677b278d0e266071a51aa0dac", - "reference": "2ad469c3e07fdba677b278d0e266071a51aa0dac", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/89647a57db280f9f93c27271fea58babb77bb473", + "reference": "89647a57db280f9f93c27271fea58babb77bb473", "shasum": "" }, "require": { @@ -9870,7 +9872,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v5.4.40" + "source": "https://github.com/symfony/dom-crawler/tree/v5.4.45" }, "funding": [ { @@ -9886,7 +9888,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-10-22T13:05:35+00:00" }, { "name": "symfony/error-handler", @@ -10318,16 +10320,16 @@ }, { "name": "symfony/form", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/form.git", - "reference": "ff45013def0a3a692e84010095e8ee5fe9a9fa43" + "reference": "c1974a723cdee8a273cb49ce13fada5c1667706a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/form/zipball/ff45013def0a3a692e84010095e8ee5fe9a9fa43", - "reference": "ff45013def0a3a692e84010095e8ee5fe9a9fa43", + "url": "https://api.github.com/repos/symfony/form/zipball/c1974a723cdee8a273cb49ce13fada5c1667706a", + "reference": "c1974a723cdee8a273cb49ce13fada5c1667706a", "shasum": "" }, "require": { @@ -10400,7 +10402,7 @@ "description": "Allows to easily create, process and reuse HTML forms", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/form/tree/v5.4.40" + "source": "https://github.com/symfony/form/tree/v5.4.45" }, "funding": [ { @@ -10416,7 +10418,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-10-08T07:27:17+00:00" }, { "name": "symfony/framework-bundle", @@ -10571,16 +10573,16 @@ }, { "name": "symfony/google-mailer", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/google-mailer.git", - "reference": "beca9c52ec192b32accf5ec0bcddb8cd29c81a9e" + "reference": "d49cb1463a6e9f45a2f1fd901ede8869d142f76d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/google-mailer/zipball/beca9c52ec192b32accf5ec0bcddb8cd29c81a9e", - "reference": "beca9c52ec192b32accf5ec0bcddb8cd29c81a9e", + "url": "https://api.github.com/repos/symfony/google-mailer/zipball/d49cb1463a6e9f45a2f1fd901ede8869d142f76d", + "reference": "d49cb1463a6e9f45a2f1fd901ede8869d142f76d", "shasum": "" }, "require": { @@ -10617,7 +10619,7 @@ "description": "Symfony Google Mailer Bridge", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/google-mailer/tree/v5.4.40" + "source": "https://github.com/symfony/google-mailer/tree/v5.4.45" }, "funding": [ { @@ -10633,20 +10635,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/http-client", - "version": "v5.4.41", + "version": "v5.4.46", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "87ca825717928d178de8a3458f163100925fb675" + "reference": "ebcaeeafc48b69f497f82b9700ddf54bfe975f71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/87ca825717928d178de8a3458f163100925fb675", - "reference": "87ca825717928d178de8a3458f163100925fb675", + "url": "https://api.github.com/repos/symfony/http-client/zipball/ebcaeeafc48b69f497f82b9700ddf54bfe975f71", + "reference": "ebcaeeafc48b69f497f82b9700ddf54bfe975f71", "shasum": "" }, "require": { @@ -10708,7 +10710,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v5.4.41" + "source": "https://github.com/symfony/http-client/tree/v5.4.46" }, "funding": [ { @@ -10724,7 +10726,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T07:25:22+00:00" + "time": "2024-10-25T11:45:42+00:00" }, { "name": "symfony/http-client-contracts", @@ -10995,16 +10997,16 @@ }, { "name": "symfony/intl", - "version": "v5.4.40", + "version": "v5.4.46", "source": { "type": "git", "url": "https://github.com/symfony/intl.git", - "reference": "75482b3b0aadc7f652d99b4f543b1d21f6562ff4" + "reference": "d74763310045ccf2bf485549f8ba942184e31087" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/intl/zipball/75482b3b0aadc7f652d99b4f543b1d21f6562ff4", - "reference": "75482b3b0aadc7f652d99b4f543b1d21f6562ff4", + "url": "https://api.github.com/repos/symfony/intl/zipball/d74763310045ccf2bf485549f8ba942184e31087", + "reference": "d74763310045ccf2bf485549f8ba942184e31087", "shasum": "" }, "require": { @@ -11065,7 +11067,7 @@ "localization" ], "support": { - "source": "https://github.com/symfony/intl/tree/v5.4.40" + "source": "https://github.com/symfony/intl/tree/v5.4.46" }, "funding": [ { @@ -11081,20 +11083,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-11-05T14:12:18+00:00" }, { "name": "symfony/mailer", - "version": "v5.4.41", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "13f4fac7f8450381122f0f4cd750a63c2821c7fa" + "reference": "f732e1fafdf0f4a2d865e91f1018aaca174aeed9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/13f4fac7f8450381122f0f4cd750a63c2821c7fa", - "reference": "13f4fac7f8450381122f0f4cd750a63c2821c7fa", + "url": "https://api.github.com/repos/symfony/mailer/zipball/f732e1fafdf0f4a2d865e91f1018aaca174aeed9", + "reference": "f732e1fafdf0f4a2d865e91f1018aaca174aeed9", "shasum": "" }, "require": { @@ -11141,7 +11143,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v5.4.41" + "source": "https://github.com/symfony/mailer/tree/v5.4.45" }, "funding": [ { @@ -11157,20 +11159,20 @@ "type": "tidelift" } ], - "time": "2024-06-27T20:38:52+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/mime", - "version": "v5.4.41", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "c71c7a1aeed60b22d05e738197e31daf2120bd42" + "reference": "8c1b9b3e5b52981551fc6044539af1d974e39064" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/c71c7a1aeed60b22d05e738197e31daf2120bd42", - "reference": "c71c7a1aeed60b22d05e738197e31daf2120bd42", + "url": "https://api.github.com/repos/symfony/mime/zipball/8c1b9b3e5b52981551fc6044539af1d974e39064", + "reference": "8c1b9b3e5b52981551fc6044539af1d974e39064", "shasum": "" }, "require": { @@ -11226,7 +11228,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v5.4.41" + "source": "https://github.com/symfony/mime/tree/v5.4.45" }, "funding": [ { @@ -11242,20 +11244,20 @@ "type": "tidelift" } ], - "time": "2024-06-28T09:36:24+00:00" + "time": "2024-10-23T20:18:32+00:00" }, { "name": "symfony/monolog-bridge", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/monolog-bridge.git", - "reference": "ac6e0bf2a275e017c1dedd54dd0f1fbf252a9351" + "reference": "cf7d75d4d64a41fbb1c0e92301bec404134fa84b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/ac6e0bf2a275e017c1dedd54dd0f1fbf252a9351", - "reference": "ac6e0bf2a275e017c1dedd54dd0f1fbf252a9351", + "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/cf7d75d4d64a41fbb1c0e92301bec404134fa84b", + "reference": "cf7d75d4d64a41fbb1c0e92301bec404134fa84b", "shasum": "" }, "require": { @@ -11310,7 +11312,7 @@ "description": "Provides integration for Monolog with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/monolog-bridge/tree/v5.4.40" + "source": "https://github.com/symfony/monolog-bridge/tree/v5.4.45" }, "funding": [ { @@ -11326,7 +11328,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-10-10T06:37:45+00:00" }, { "name": "symfony/monolog-bundle", @@ -11480,16 +11482,16 @@ }, { "name": "symfony/password-hasher", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/password-hasher.git", - "reference": "21b98178ab2024e6c7d8ab72cca9ba16015c6093" + "reference": "6c5993b24505f98b90ca4896448012bbec54c7c8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/password-hasher/zipball/21b98178ab2024e6c7d8ab72cca9ba16015c6093", - "reference": "21b98178ab2024e6c7d8ab72cca9ba16015c6093", + "url": "https://api.github.com/repos/symfony/password-hasher/zipball/6c5993b24505f98b90ca4896448012bbec54c7c8", + "reference": "6c5993b24505f98b90ca4896448012bbec54c7c8", "shasum": "" }, "require": { @@ -11534,7 +11536,7 @@ "password" ], "support": { - "source": "https://github.com/symfony/password-hasher/tree/v5.4.40" + "source": "https://github.com/symfony/password-hasher/tree/v5.4.45" }, "funding": [ { @@ -11550,7 +11552,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/polyfill-ctype", @@ -11711,20 +11713,20 @@ }, { "name": "symfony/polyfill-intl-icu", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "e76343c631b453088e2260ac41dfebe21954de81" + "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/e76343c631b453088e2260ac41dfebe21954de81", - "reference": "e76343c631b453088e2260ac41dfebe21954de81", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78", + "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance and support of other locales than \"en\"" @@ -11775,7 +11777,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.31.0" }, "funding": [ { @@ -11791,26 +11793,25 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c" + "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", - "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c36586dcf89a12315939e00ec9b4474adcb1d773", + "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773", "shasum": "" }, "require": { - "php": ">=7.1", - "symfony/polyfill-intl-normalizer": "^1.10", - "symfony/polyfill-php72": "^1.10" + "php": ">=7.2", + "symfony/polyfill-intl-normalizer": "^1.10" }, "suggest": { "ext-intl": "For best performance" @@ -11859,7 +11860,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.31.0" }, "funding": [ { @@ -11875,7 +11876,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-normalizer", @@ -12040,36 +12041,28 @@ }, { "name": "symfony/polyfill-php72", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "10112722600777e02d2745716b70c5db4ca70442" + "reference": "fa2ae56c44f03bed91a39bfc9822e31e7c5c38ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/10112722600777e02d2745716b70c5db4ca70442", - "reference": "10112722600777e02d2745716b70c5db4ca70442", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/fa2ae56c44f03bed91a39bfc9822e31e7c5c38ce", + "reference": "fa2ae56c44f03bed91a39bfc9822e31e7c5c38ce", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, - "type": "library", + "type": "metapackage", "extra": { "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" } }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - } - }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" @@ -12093,7 +12086,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.31.0" }, "funding": [ { @@ -12109,7 +12102,7 @@ "type": "tidelift" } ], - "time": "2024-06-19T12:30:46+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-php73", @@ -12345,16 +12338,16 @@ }, { "name": "symfony/property-access", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "6e4834145c2231b34eafabe440aaac478a95b456" + "reference": "111e7ed617509f1a9139686055d234aad6e388e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/6e4834145c2231b34eafabe440aaac478a95b456", - "reference": "6e4834145c2231b34eafabe440aaac478a95b456", + "url": "https://api.github.com/repos/symfony/property-access/zipball/111e7ed617509f1a9139686055d234aad6e388e0", + "reference": "111e7ed617509f1a9139686055d234aad6e388e0", "shasum": "" }, "require": { @@ -12406,7 +12399,7 @@ "reflection" ], "support": { - "source": "https://github.com/symfony/property-access/tree/v5.4.40" + "source": "https://github.com/symfony/property-access/tree/v5.4.45" }, "funding": [ { @@ -12422,7 +12415,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/property-info", @@ -12517,16 +12510,16 @@ }, { "name": "symfony/proxy-manager-bridge", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/proxy-manager-bridge.git", - "reference": "2ebc25e0174a6a244f7edada5a498f9728dc0d29" + "reference": "e96cd37f3de0b75ff32f6b79c180ba77c4037eec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/proxy-manager-bridge/zipball/2ebc25e0174a6a244f7edada5a498f9728dc0d29", - "reference": "2ebc25e0174a6a244f7edada5a498f9728dc0d29", + "url": "https://api.github.com/repos/symfony/proxy-manager-bridge/zipball/e96cd37f3de0b75ff32f6b79c180ba77c4037eec", + "reference": "e96cd37f3de0b75ff32f6b79c180ba77c4037eec", "shasum": "" }, "require": { @@ -12564,7 +12557,7 @@ "description": "Provides integration for ProxyManager with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/proxy-manager-bridge/tree/v5.4.40" + "source": "https://github.com/symfony/proxy-manager-bridge/tree/v5.4.45" }, "funding": [ { @@ -12580,7 +12573,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/psr-http-message-bridge", @@ -12763,23 +12756,23 @@ }, { "name": "symfony/security-bundle", - "version": "v5.4.41", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/security-bundle.git", - "reference": "86557f237fb152412048912660895ab86aa61494" + "reference": "d6081d1b9118f944df90bb77444a8617eba01542" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-bundle/zipball/86557f237fb152412048912660895ab86aa61494", - "reference": "86557f237fb152412048912660895ab86aa61494", + "url": "https://api.github.com/repos/symfony/security-bundle/zipball/d6081d1b9118f944df90bb77444a8617eba01542", + "reference": "d6081d1b9118f944df90bb77444a8617eba01542", "shasum": "" }, "require": { "ext-xml": "*", "php": ">=7.2.5", "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^5.3|^6.0", + "symfony/dependency-injection": "^5.4.43|^6.4.11", "symfony/deprecation-contracts": "^2.1|^3", "symfony/event-dispatcher": "^5.1|^6.0", "symfony/http-foundation": "^5.3|^6.0", @@ -12846,7 +12839,7 @@ "description": "Provides a tight integration of the Security component into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-bundle/tree/v5.4.41" + "source": "https://github.com/symfony/security-bundle/tree/v5.4.45" }, "funding": [ { @@ -12862,20 +12855,20 @@ "type": "tidelift" } ], - "time": "2024-06-21T13:58:36+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/security-core", - "version": "v5.4.42", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/security-core.git", - "reference": "3c6b81c68a828958ae0bcec9dd44a8e6ea0a38de" + "reference": "2d324971f4a241cf538502e14f15ad32f2b16b9b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-core/zipball/3c6b81c68a828958ae0bcec9dd44a8e6ea0a38de", - "reference": "3c6b81c68a828958ae0bcec9dd44a8e6ea0a38de", + "url": "https://api.github.com/repos/symfony/security-core/zipball/2d324971f4a241cf538502e14f15ad32f2b16b9b", + "reference": "2d324971f4a241cf538502e14f15ad32f2b16b9b", "shasum": "" }, "require": { @@ -12940,7 +12933,7 @@ "description": "Symfony Security Component - Core Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-core/tree/v5.4.42" + "source": "https://github.com/symfony/security-core/tree/v5.4.45" }, "funding": [ { @@ -12956,20 +12949,20 @@ "type": "tidelift" } ], - "time": "2024-07-16T19:38:31+00:00" + "time": "2024-10-23T08:30:13+00:00" }, { "name": "symfony/security-csrf", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/security-csrf.git", - "reference": "9058d522c1c33d7ba13f4b3c79555cc2c4c16028" + "reference": "28dcafc3220f12264bb2aabe2389a2163458c1f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-csrf/zipball/9058d522c1c33d7ba13f4b3c79555cc2c4c16028", - "reference": "9058d522c1c33d7ba13f4b3c79555cc2c4c16028", + "url": "https://api.github.com/repos/symfony/security-csrf/zipball/28dcafc3220f12264bb2aabe2389a2163458c1f4", + "reference": "28dcafc3220f12264bb2aabe2389a2163458c1f4", "shasum": "" }, "require": { @@ -13013,7 +13006,7 @@ "description": "Symfony Security Component - CSRF Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-csrf/tree/v5.4.40" + "source": "https://github.com/symfony/security-csrf/tree/v5.4.45" }, "funding": [ { @@ -13029,20 +13022,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/security-guard", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/security-guard.git", - "reference": "d930fd327c290f451c9d8dd7889169195d4484e9" + "reference": "f3da3dbec38aaedaf287ffeb4e3a90994af37faa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-guard/zipball/d930fd327c290f451c9d8dd7889169195d4484e9", - "reference": "d930fd327c290f451c9d8dd7889169195d4484e9", + "url": "https://api.github.com/repos/symfony/security-guard/zipball/f3da3dbec38aaedaf287ffeb4e3a90994af37faa", + "reference": "f3da3dbec38aaedaf287ffeb4e3a90994af37faa", "shasum": "" }, "require": { @@ -13081,7 +13074,7 @@ "description": "Symfony Security Component - Guard", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-guard/tree/v5.4.40" + "source": "https://github.com/symfony/security-guard/tree/v5.4.45" }, "funding": [ { @@ -13097,20 +13090,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/security-http", - "version": "v5.4.41", + "version": "v5.4.46", "source": { "type": "git", "url": "https://github.com/symfony/security-http.git", - "reference": "14d271e304dce13ae77e39e6a6353c986e756b40" + "reference": "7152f0e4e292719cdeb8306076448036e025569b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-http/zipball/14d271e304dce13ae77e39e6a6353c986e756b40", - "reference": "14d271e304dce13ae77e39e6a6353c986e756b40", + "url": "https://api.github.com/repos/symfony/security-http/zipball/7152f0e4e292719cdeb8306076448036e025569b", + "reference": "7152f0e4e292719cdeb8306076448036e025569b", "shasum": "" }, "require": { @@ -13167,7 +13160,7 @@ "description": "Symfony Security Component - HTTP Integration", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-http/tree/v5.4.41" + "source": "https://github.com/symfony/security-http/tree/v5.4.46" }, "funding": [ { @@ -13183,20 +13176,20 @@ "type": "tidelift" } ], - "time": "2024-06-17T05:58:45+00:00" + "time": "2024-11-04T12:18:48+00:00" }, { "name": "symfony/serializer", - "version": "v5.4.41", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "c97dba58c2fb36dee0381da84952cad21c49b6fb" + "reference": "460c5df9fb6c39d10d5b7f386e4feae4b6370221" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/c97dba58c2fb36dee0381da84952cad21c49b6fb", - "reference": "c97dba58c2fb36dee0381da84952cad21c49b6fb", + "url": "https://api.github.com/repos/symfony/serializer/zipball/460c5df9fb6c39d10d5b7f386e4feae4b6370221", + "reference": "460c5df9fb6c39d10d5b7f386e4feae4b6370221", "shasum": "" }, "require": { @@ -13270,7 +13263,7 @@ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/serializer/tree/v5.4.41" + "source": "https://github.com/symfony/serializer/tree/v5.4.45" }, "funding": [ { @@ -13286,7 +13279,7 @@ "type": "tidelift" } ], - "time": "2024-06-27T16:09:31+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/service-contracts", @@ -13373,16 +13366,16 @@ }, { "name": "symfony/stopwatch", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "0e9daf3b7c805c747638b2cc48f1649e594f9625" + "reference": "fb2c199cf302eb207f8c23e7ee174c1c31a5c004" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/0e9daf3b7c805c747638b2cc48f1649e594f9625", - "reference": "0e9daf3b7c805c747638b2cc48f1649e594f9625", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/fb2c199cf302eb207f8c23e7ee174c1c31a5c004", + "reference": "fb2c199cf302eb207f8c23e7ee174c1c31a5c004", "shasum": "" }, "require": { @@ -13415,7 +13408,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v5.4.40" + "source": "https://github.com/symfony/stopwatch/tree/v5.4.45" }, "funding": [ { @@ -13431,7 +13424,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/string", @@ -13521,16 +13514,16 @@ }, { "name": "symfony/templating", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/templating.git", - "reference": "9eae6e708a65ea50e2072e99c87b193b24d3f028" + "reference": "e9e46b530d8e202071bc5efcea1a3d3174d68a9b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/templating/zipball/9eae6e708a65ea50e2072e99c87b193b24d3f028", - "reference": "9eae6e708a65ea50e2072e99c87b193b24d3f028", + "url": "https://api.github.com/repos/symfony/templating/zipball/e9e46b530d8e202071bc5efcea1a3d3174d68a9b", + "reference": "e9e46b530d8e202071bc5efcea1a3d3174d68a9b", "shasum": "" }, "require": { @@ -13569,7 +13562,7 @@ "description": "Provides all the tools needed to build any kind of template system", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/templating/tree/v5.4.40" + "source": "https://github.com/symfony/templating/tree/v5.4.45" }, "funding": [ { @@ -13585,20 +13578,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-10-22T13:05:35+00:00" }, { "name": "symfony/translation", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "bb51d7f183756d1ac03f50ea47dc5726518cc7e8" + "reference": "98f26acc99341ca4bab345fb14d7b1d7cb825bed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/bb51d7f183756d1ac03f50ea47dc5726518cc7e8", - "reference": "bb51d7f183756d1ac03f50ea47dc5726518cc7e8", + "url": "https://api.github.com/repos/symfony/translation/zipball/98f26acc99341ca4bab345fb14d7b1d7cb825bed", + "reference": "98f26acc99341ca4bab345fb14d7b1d7cb825bed", "shasum": "" }, "require": { @@ -13666,7 +13659,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.4.40" + "source": "https://github.com/symfony/translation/tree/v5.4.45" }, "funding": [ { @@ -13682,7 +13675,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/translation-contracts", @@ -13764,16 +13757,16 @@ }, { "name": "symfony/twig-bridge", - "version": "v5.4.41", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "d7b10dad12c49863c20c7f8e4cc74b9416eefbb9" + "reference": "b3d3738b4be14bf1a4544a6faeed89463fe8b60e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/d7b10dad12c49863c20c7f8e4cc74b9416eefbb9", - "reference": "d7b10dad12c49863c20c7f8e4cc74b9416eefbb9", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/b3d3738b4be14bf1a4544a6faeed89463fe8b60e", + "reference": "b3d3738b4be14bf1a4544a6faeed89463fe8b60e", "shasum": "" }, "require": { @@ -13865,7 +13858,7 @@ "description": "Provides integration for Twig with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bridge/tree/v5.4.41" + "source": "https://github.com/symfony/twig-bridge/tree/v5.4.45" }, "funding": [ { @@ -13881,20 +13874,20 @@ "type": "tidelift" } ], - "time": "2024-06-09T18:59:35+00:00" + "time": "2024-10-24T15:46:29+00:00" }, { "name": "symfony/twig-bundle", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/twig-bundle.git", - "reference": "997c002735c88b50a6325cca8ecf3d8723902666" + "reference": "e1ca56e1dc7791eb19f0aff71d3d94e6a91cc8f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/997c002735c88b50a6325cca8ecf3d8723902666", - "reference": "997c002735c88b50a6325cca8ecf3d8723902666", + "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/e1ca56e1dc7791eb19f0aff71d3d94e6a91cc8f9", + "reference": "e1ca56e1dc7791eb19f0aff71d3d94e6a91cc8f9", "shasum": "" }, "require": { @@ -13955,7 +13948,7 @@ "description": "Provides a tight integration of Twig into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bundle/tree/v5.4.40" + "source": "https://github.com/symfony/twig-bundle/tree/v5.4.45" }, "funding": [ { @@ -13971,20 +13964,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/validator", - "version": "v5.4.41", + "version": "v5.4.46", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "e00b2547f712a97755933db45efc03123b2d2690" + "reference": "9849c2cae17964a42a77df6823ac90414e2b451d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/e00b2547f712a97755933db45efc03123b2d2690", - "reference": "e00b2547f712a97755933db45efc03123b2d2690", + "url": "https://api.github.com/repos/symfony/validator/zipball/9849c2cae17964a42a77df6823ac90414e2b451d", + "reference": "9849c2cae17964a42a77df6823ac90414e2b451d", "shasum": "" }, "require": { @@ -14024,7 +14017,7 @@ "symfony/http-kernel": "^4.4|^5.0|^6.0", "symfony/intl": "^4.4|^5.0|^6.0", "symfony/mime": "^4.4|^5.0|^6.0", - "symfony/property-access": "^4.4|^5.0|^6.0", + "symfony/property-access": "^5.4|^6.0", "symfony/property-info": "^5.3|^6.0", "symfony/translation": "^5.4.35|~6.3.12|^6.4.3", "symfony/yaml": "^4.4|^5.0|^6.0" @@ -14068,7 +14061,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v5.4.41" + "source": "https://github.com/symfony/validator/tree/v5.4.46" }, "funding": [ { @@ -14084,7 +14077,7 @@ "type": "tidelift" } ], - "time": "2024-06-10T09:18:21+00:00" + "time": "2024-11-04T11:03:12+00:00" }, { "name": "symfony/var-dumper", @@ -14728,16 +14721,16 @@ }, { "name": "twig/twig", - "version": "v3.11.2", + "version": "v3.11.3", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "5b580ec1882b54c98cbd8c0f8a3ca5d1904db6b1" + "reference": "3b06600ff3abefaf8ff55d5c336cd1c4253f8c7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/5b580ec1882b54c98cbd8c0f8a3ca5d1904db6b1", - "reference": "5b580ec1882b54c98cbd8c0f8a3ca5d1904db6b1", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/3b06600ff3abefaf8ff55d5c336cd1c4253f8c7e", + "reference": "3b06600ff3abefaf8ff55d5c336cd1c4253f8c7e", "shasum": "" }, "require": { @@ -14792,7 +14785,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.11.2" + "source": "https://github.com/twigphp/Twig/tree/v3.11.3" }, "funding": [ { @@ -14804,7 +14797,7 @@ "type": "tidelift" } ], - "time": "2024-11-06T18:50:16+00:00" + "time": "2024-11-07T12:34:41+00:00" }, { "name": "wallabag/phpepub", @@ -15603,24 +15596,24 @@ }, { "name": "composer/semver", - "version": "3.4.2", + "version": "3.4.3", "source": { "type": "git", "url": "https://github.com/composer/semver.git", - "reference": "c51258e759afdb17f1fd1fe83bc12baaef6309d6" + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/c51258e759afdb17f1fd1fe83bc12baaef6309d6", - "reference": "c51258e759afdb17f1fd1fe83bc12baaef6309d6", + "url": "https://api.github.com/repos/composer/semver/zipball/4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "phpstan/phpstan": "^1.4", - "symfony/phpunit-bridge": "^4.2 || ^5" + "phpstan/phpstan": "^1.11", + "symfony/phpunit-bridge": "^3 || ^7" }, "type": "library", "extra": { @@ -15664,7 +15657,7 @@ "support": { "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.4.2" + "source": "https://github.com/composer/semver/tree/3.4.3" }, "funding": [ { @@ -15680,7 +15673,7 @@ "type": "tidelift" } ], - "time": "2024-07-12T11:35:52+00:00" + "time": "2024-09-19T14:15:21+00:00" }, { "name": "composer/xdebug-handler", @@ -16843,16 +16836,16 @@ }, { "name": "myclabs/deep-copy", - "version": "1.12.0", + "version": "1.12.1", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c" + "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/123267b2c49fbf30d78a7b2d333f6be754b94845", + "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845", "shasum": "" }, "require": { @@ -16891,7 +16884,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0" + "source": "https://github.com/myclabs/DeepCopy/tree/1.12.1" }, "funding": [ { @@ -16899,20 +16892,20 @@ "type": "tidelift" } ], - "time": "2024-06-12T14:39:25+00:00" + "time": "2024-11-08T17:47:46+00:00" }, { "name": "nikic/php-parser", - "version": "v4.19.1", + "version": "v4.19.4", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "4e1b88d21c69391150ace211e9eaf05810858d0b" + "reference": "715f4d25e225bc47b293a8b997fe6ce99bf987d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4e1b88d21c69391150ace211e9eaf05810858d0b", - "reference": "4e1b88d21c69391150ace211e9eaf05810858d0b", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/715f4d25e225bc47b293a8b997fe6ce99bf987d2", + "reference": "715f4d25e225bc47b293a8b997fe6ce99bf987d2", "shasum": "" }, "require": { @@ -16921,7 +16914,7 @@ }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" }, "bin": [ "bin/php-parse" @@ -16953,9 +16946,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.4" }, - "time": "2024-03-17T08:10:35+00:00" + "time": "2024-09-29T15:01:53+00:00" }, { "name": "phar-io/manifest", @@ -17187,16 +17180,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.12.8", + "version": "1.12.9", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "f6a60a4d66142b8156c9da923f1972657bc4748c" + "reference": "ceb937fb39a92deabc02d20709cf14b2c452502c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/f6a60a4d66142b8156c9da923f1972657bc4748c", - "reference": "f6a60a4d66142b8156c9da923f1972657bc4748c", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/ceb937fb39a92deabc02d20709cf14b2c452502c", + "reference": "ceb937fb39a92deabc02d20709cf14b2c452502c", "shasum": "" }, "require": { @@ -17241,20 +17234,20 @@ "type": "github" } ], - "time": "2024-11-06T19:06:49+00:00" + "time": "2024-11-10T17:10:04+00:00" }, { "name": "phpstan/phpstan-doctrine", - "version": "1.5.5", + "version": "1.5.6", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-doctrine.git", - "reference": "4e9c77fc7bc3293f773fb2d8155c99572a3c89a4" + "reference": "8ba022846e79238872e315fff61e19b42ba2f139" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/4e9c77fc7bc3293f773fb2d8155c99572a3c89a4", - "reference": "4e9c77fc7bc3293f773fb2d8155c99572a3c89a4", + "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/8ba022846e79238872e315fff61e19b42ba2f139", + "reference": "8ba022846e79238872e315fff61e19b42ba2f139", "shasum": "" }, "require": { @@ -17311,9 +17304,9 @@ "description": "Doctrine extensions for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-doctrine/issues", - "source": "https://github.com/phpstan/phpstan-doctrine/tree/1.5.5" + "source": "https://github.com/phpstan/phpstan-doctrine/tree/1.5.6" }, - "time": "2024-10-29T12:19:49+00:00" + "time": "2024-11-09T17:34:01+00:00" }, { "name": "phpstan/phpstan-phpunit", @@ -17441,35 +17434,35 @@ }, { "name": "phpunit/php-code-coverage", - "version": "9.2.31", + "version": "9.2.32", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965" + "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/48c34b5d8d983006bd2adc2d0de92963b9155965", - "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/85402a822d1ecf1db1096959413d35e1c37cf1a5", + "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.18 || ^5.0", + "nikic/php-parser": "^4.19.1 || ^5.1.0", "php": ">=7.3", - "phpunit/php-file-iterator": "^3.0.3", - "phpunit/php-text-template": "^2.0.2", - "sebastian/code-unit-reverse-lookup": "^2.0.2", - "sebastian/complexity": "^2.0", - "sebastian/environment": "^5.1.2", - "sebastian/lines-of-code": "^1.0.3", - "sebastian/version": "^3.0.1", - "theseer/tokenizer": "^1.2.0" + "phpunit/php-file-iterator": "^3.0.6", + "phpunit/php-text-template": "^2.0.4", + "sebastian/code-unit-reverse-lookup": "^2.0.3", + "sebastian/complexity": "^2.0.3", + "sebastian/environment": "^5.1.5", + "sebastian/lines-of-code": "^1.0.4", + "sebastian/version": "^3.0.2", + "theseer/tokenizer": "^1.2.3" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^9.6" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", @@ -17478,7 +17471,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "9.2-dev" + "dev-main": "9.2.x-dev" } }, "autoload": { @@ -17507,7 +17500,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.31" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.32" }, "funding": [ { @@ -17515,7 +17508,7 @@ "type": "github" } ], - "time": "2024-03-02T06:37:42+00:00" + "time": "2024-08-22T04:23:01+00:00" }, { "name": "phpunit/php-file-iterator", @@ -17760,16 +17753,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.20", + "version": "9.6.21", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "49d7820565836236411f5dc002d16dd689cde42f" + "reference": "de6abf3b6f8dd955fac3caad3af7a9504e8c2ffa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/49d7820565836236411f5dc002d16dd689cde42f", - "reference": "49d7820565836236411f5dc002d16dd689cde42f", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/de6abf3b6f8dd955fac3caad3af7a9504e8c2ffa", + "reference": "de6abf3b6f8dd955fac3caad3af7a9504e8c2ffa", "shasum": "" }, "require": { @@ -17784,7 +17777,7 @@ "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=7.3", - "phpunit/php-code-coverage": "^9.2.31", + "phpunit/php-code-coverage": "^9.2.32", "phpunit/php-file-iterator": "^3.0.6", "phpunit/php-invoker": "^3.1.1", "phpunit/php-text-template": "^2.0.4", @@ -17843,7 +17836,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.20" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.21" }, "funding": [ { @@ -17859,7 +17852,7 @@ "type": "tidelift" } ], - "time": "2024-07-10T11:45:39+00:00" + "time": "2024-09-19T10:50:18+00:00" }, { "name": "react/cache", @@ -19349,16 +19342,16 @@ }, { "name": "symfony/browser-kit", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "92c8ba1e5ee12d07120744c90898516132b4e58b" + "reference": "03cce39764429e07fbab9b989a1182a24578341d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/92c8ba1e5ee12d07120744c90898516132b4e58b", - "reference": "92c8ba1e5ee12d07120744c90898516132b4e58b", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/03cce39764429e07fbab9b989a1182a24578341d", + "reference": "03cce39764429e07fbab9b989a1182a24578341d", "shasum": "" }, "require": { @@ -19401,7 +19394,7 @@ "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/browser-kit/tree/v5.4.40" + "source": "https://github.com/symfony/browser-kit/tree/v5.4.45" }, "funding": [ { @@ -19417,20 +19410,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-10-22T13:05:35+00:00" }, { "name": "symfony/css-selector", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "ea43887e9afd2029509662d4f95e8b5ef6fc9bbb" + "reference": "4f7f3c35fba88146b56d0025d20ace3f3901f097" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/ea43887e9afd2029509662d4f95e8b5ef6fc9bbb", - "reference": "ea43887e9afd2029509662d4f95e8b5ef6fc9bbb", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/4f7f3c35fba88146b56d0025d20ace3f3901f097", + "reference": "4f7f3c35fba88146b56d0025d20ace3f3901f097", "shasum": "" }, "require": { @@ -19467,7 +19460,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v5.4.40" + "source": "https://github.com/symfony/css-selector/tree/v5.4.45" }, "funding": [ { @@ -19483,20 +19476,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/debug-bundle", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/debug-bundle.git", - "reference": "177f79296705823eee0d7dd79773f3a9df884fe0" + "reference": "653c7629d036ef24ac5de54a157aecdc400d2570" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/177f79296705823eee0d7dd79773f3a9df884fe0", - "reference": "177f79296705823eee0d7dd79773f3a9df884fe0", + "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/653c7629d036ef24ac5de54a157aecdc400d2570", + "reference": "653c7629d036ef24ac5de54a157aecdc400d2570", "shasum": "" }, "require": { @@ -19546,7 +19539,7 @@ "description": "Provides a tight integration of the Symfony VarDumper component and the ServerLogCommand from MonologBridge into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/debug-bundle/tree/v5.4.40" + "source": "https://github.com/symfony/debug-bundle/tree/v5.4.45" }, "funding": [ { @@ -19562,7 +19555,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/maker-bundle", @@ -19657,16 +19650,16 @@ }, { "name": "symfony/phpunit-bridge", - "version": "v7.1.2", + "version": "v7.1.6", "source": { "type": "git", "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "8eb63f1c0e2001f97b3cd9ed550b18765cdeb1c8" + "reference": "c6b9d8f52d3e276bedb49612aa4a2a046171287f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/8eb63f1c0e2001f97b3cd9ed550b18765cdeb1c8", - "reference": "8eb63f1c0e2001f97b3cd9ed550b18765cdeb1c8", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/c6b9d8f52d3e276bedb49612aa4a2a046171287f", + "reference": "c6b9d8f52d3e276bedb49612aa4a2a046171287f", "shasum": "" }, "require": { @@ -19719,7 +19712,7 @@ "description": "Provides utilities for PHPUnit, especially user deprecation notices management", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/phpunit-bridge/tree/v7.1.2" + "source": "https://github.com/symfony/phpunit-bridge/tree/v7.1.6" }, "funding": [ { @@ -19735,7 +19728,7 @@ "type": "tidelift" } ], - "time": "2024-06-25T19:55:06+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/process", @@ -19801,16 +19794,16 @@ }, { "name": "symfony/web-profiler-bundle", - "version": "v5.4.40", + "version": "v5.4.46", "source": { "type": "git", "url": "https://github.com/symfony/web-profiler-bundle.git", - "reference": "a29669617c4e63785f363571a190a706b9022890" + "reference": "8ce2ad95670ad50b92eb6456836d15d0cc0eeff8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/a29669617c4e63785f363571a190a706b9022890", - "reference": "a29669617c4e63785f363571a190a706b9022890", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/8ce2ad95670ad50b92eb6456836d15d0cc0eeff8", + "reference": "8ce2ad95670ad50b92eb6456836d15d0cc0eeff8", "shasum": "" }, "require": { @@ -19861,7 +19854,7 @@ "description": "Provides a development tool that gives detailed information about the execution of any request", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/web-profiler-bundle/tree/v5.4.40" + "source": "https://github.com/symfony/web-profiler-bundle/tree/v5.4.46" }, "funding": [ { @@ -19877,7 +19870,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-11-04T11:02:15+00:00" }, { "name": "symfony/web-server-bundle", @@ -20034,7 +20027,7 @@ "ext-tokenizer": "*", "ext-xml": "*" }, - "platform-dev": [], + "platform-dev": {}, "platform-overrides": { "php": "7.4.29" }, diff --git a/src/Command/Import/ImportCommand.php b/src/Command/Import/ImportCommand.php index 4c2594eb0..119843a20 100644 --- a/src/Command/Import/ImportCommand.php +++ b/src/Command/Import/ImportCommand.php @@ -19,6 +19,7 @@ use Wallabag\Import\DeliciousImport; use Wallabag\Import\ElcuratorImport; use Wallabag\Import\FirefoxImport; use Wallabag\Import\InstapaperImport; +use Wallabag\Import\OmnivoreImport; use Wallabag\Import\PinboardImport; use Wallabag\Import\PocketHtmlImport; use Wallabag\Import\ReadabilityImport; @@ -42,6 +43,7 @@ class ImportCommand extends Command private InstapaperImport $instapaperImport; private PinboardImport $pinboardImport; private DeliciousImport $deliciousImport; + private OmnivoreImport $omnivoreImport; private WallabagV1Import $wallabagV1Import; private ElcuratorImport $elcuratorImport; private ShaarliImport $shaarliImport; @@ -61,7 +63,8 @@ class ImportCommand extends Command WallabagV1Import $wallabagV1Import, ElcuratorImport $elcuratorImport, ShaarliImport $shaarliImport, - PocketHtmlImport $pocketHtmlImport + PocketHtmlImport $pocketHtmlImport, + OmnivoreImport $omnivoreImport ) { $this->entityManager = $entityManager; $this->tokenStorage = $tokenStorage; @@ -73,6 +76,7 @@ class ImportCommand extends Command $this->instapaperImport = $instapaperImport; $this->pinboardImport = $pinboardImport; $this->deliciousImport = $deliciousImport; + $this->omnivoreImport = $omnivoreImport; $this->wallabagV1Import = $wallabagV1Import; $this->elcuratorImport = $elcuratorImport; $this->shaarliImport = $shaarliImport; @@ -159,6 +163,9 @@ class ImportCommand extends Command case 'pocket': $import = $this->pocketHtmlImport; break; + case 'omnivore': + $import = $this->omnivoreImport; + break; default: $import = $this->wallabagV1Import; } diff --git a/src/Command/Import/RedisWorkerCommand.php b/src/Command/Import/RedisWorkerCommand.php index f788f22a2..f5ec875aa 100644 --- a/src/Command/Import/RedisWorkerCommand.php +++ b/src/Command/Import/RedisWorkerCommand.php @@ -28,7 +28,7 @@ class RedisWorkerCommand extends Command protected function configure() { $this - ->addArgument('serviceName', InputArgument::REQUIRED, 'Service to use: wallabag_v1, wallabag_v2, pocket, readability, pinboard, delicious, firefox, chrome or instapaper') + ->addArgument('serviceName', InputArgument::REQUIRED, 'Service to use: wallabag_v1, wallabag_v2, pocket, readability, pinboard, delicious, omnivore, firefox, chrome or instapaper') ->addOption('maxIterations', '', InputOption::VALUE_OPTIONAL, 'Number of iterations before stopping', false) ; } diff --git a/src/Consumer/RabbitMQConsumerTotalProxy.php b/src/Consumer/RabbitMQConsumerTotalProxy.php index 1dadd8626..bb2f45acd 100644 --- a/src/Consumer/RabbitMQConsumerTotalProxy.php +++ b/src/Consumer/RabbitMQConsumerTotalProxy.php @@ -22,6 +22,7 @@ class RabbitMQConsumerTotalProxy private Consumer $elcuratorConsumer; private Consumer $shaarliConsumer; private Consumer $pocketHtmlConsumer; + private Consumer $omnivoreConsumer; public function __construct( Consumer $pocketConsumer, @@ -35,7 +36,8 @@ class RabbitMQConsumerTotalProxy Consumer $deliciousConsumer, Consumer $elcuratorConsumer, Consumer $shaarliConsumer, - Consumer $pocketHtmlConsumer + Consumer $pocketHtmlConsumer, + Consumer $omnivoreConsumer ) { $this->pocketConsumer = $pocketConsumer; $this->readabilityConsumer = $readabilityConsumer; @@ -49,6 +51,7 @@ class RabbitMQConsumerTotalProxy $this->elcuratorConsumer = $elcuratorConsumer; $this->shaarliConsumer = $shaarliConsumer; $this->pocketHtmlConsumer = $pocketHtmlConsumer; + $this->omnivoreConsumer = $omnivoreConsumer; } /** @@ -99,6 +102,9 @@ class RabbitMQConsumerTotalProxy case 'pocket_html': $consumer = $this->pocketHtmlConsumer; break; + case 'omnivore': + $consumer = $this->omnivoreConsumer; + break; default: return 0; } diff --git a/src/Controller/EntryController.php b/src/Controller/EntryController.php index 814ba717b..bd5fb4bad 100644 --- a/src/Controller/EntryController.php +++ b/src/Controller/EntryController.php @@ -602,7 +602,7 @@ class EntryController extends AbstractController * * @param int $page * - * @Route("/domain/{id}/{page}", requirements={"id" = ".+"}, defaults={"page" = 1}, name="same_domain") + * @Route("/domain/{id}/{page}", requirements={"id" = "\d+"}, defaults={"page" = 1}, name="same_domain") * @IsGranted("LIST_ENTRIES") * * @return Response diff --git a/src/Controller/Import/ImportController.php b/src/Controller/Import/ImportController.php index 8bd8d579e..bc506d264 100644 --- a/src/Controller/Import/ImportController.php +++ b/src/Controller/Import/ImportController.php @@ -59,6 +59,7 @@ class ImportController extends AbstractController + $this->rabbitMQConsumerTotalProxy->getTotalMessage('elcurator') + $this->rabbitMQConsumerTotalProxy->getTotalMessage('shaarli') + $this->rabbitMQConsumerTotalProxy->getTotalMessage('pocket_html') + + $this->rabbitMQConsumerTotalProxy->getTotalMessage('omnivore') ; } catch (\Exception $e) { $rabbitNotInstalled = true; @@ -79,6 +80,7 @@ class ImportController extends AbstractController + $redis->llen('wallabag.import.elcurator') + $redis->llen('wallabag.import.shaarli') + $redis->llen('wallabag.import.pocket_html') + + $redis->llen('wallabag.import.omnivore') ; } catch (\Exception $e) { $redisNotInstalled = true; diff --git a/src/Controller/Import/OmnivoreController.php b/src/Controller/Import/OmnivoreController.php new file mode 100644 index 000000000..2482c93fc --- /dev/null +++ b/src/Controller/Import/OmnivoreController.php @@ -0,0 +1,84 @@ +rabbitMqProducer = $rabbitMqProducer; + $this->redisProducer = $redisProducer; + } + + /** + * @Route("/import/omnivore", name="import_omnivore") + */ + public function indexAction(Request $request, OmnivoreImport $omnivore, Config $craueConfig, TranslatorInterface $translator) + { + $form = $this->createForm(UploadImportType::class); + $form->handleRequest($request); + + $omnivore->setUser($this->getUser()); + + if ($craueConfig->get('import_with_rabbitmq')) { + $omnivore->setProducer($this->rabbitMqProducer); + } elseif ($craueConfig->get('import_with_redis')) { + $omnivore->setProducer($this->redisProducer); + } + + if ($form->isSubmitted() && $form->isValid()) { + $file = $form->get('file')->getData(); + $markAsRead = $form->get('mark_as_read')->getData(); + $name = 'omnivore_' . $this->getUser()->getId() . '.json'; + + if (null !== $file && \in_array($file->getClientMimeType(), $this->getParameter('wallabag.allow_mimetypes'), true) && $file->move($this->getParameter('wallabag.resource_dir'), $name)) { + $res = $omnivore + ->setFilepath($this->getParameter('wallabag.resource_dir') . '/' . $name) + ->setMarkAsRead($markAsRead) + ->import(); + + $message = 'flashes.import.notice.failed'; + + if (true === $res) { + $summary = $omnivore->getSummary(); + $message = $translator->trans('flashes.import.notice.summary', [ + '%imported%' => $summary['imported'], + '%skipped%' => $summary['skipped'], + ]); + + if (0 < $summary['queued']) { + $message = $translator->trans('flashes.import.notice.summary_with_queue', [ + '%queued%' => $summary['queued'], + ]); + } + + unlink($this->getParameter('wallabag.resource_dir') . '/' . $name); + } + + $this->addFlash('notice', $message); + + return $this->redirect($this->generateUrl('homepage')); + } + + $this->addFlash('notice', 'flashes.import.notice.failed_on_file'); + } + + return $this->render('Import/Omnivore/index.html.twig', [ + 'form' => $form->createView(), + 'import' => $omnivore, + ]); + } +} diff --git a/src/Import/OmnivoreImport.php b/src/Import/OmnivoreImport.php new file mode 100644 index 000000000..1ac2a39b6 --- /dev/null +++ b/src/Import/OmnivoreImport.php @@ -0,0 +1,137 @@ +filepath = $filepath; + + return $this; + } + + public function import() + { + if (!$this->user) { + $this->logger->error('OmnivoreImport: user is not defined'); + + return false; + } + + if (!file_exists($this->filepath) || !is_readable($this->filepath)) { + $this->logger->error('OmnivoreImport: unable to read file', ['filepath' => $this->filepath]); + + return false; + } + + $data = json_decode(file_get_contents($this->filepath), true); + + if (empty($data)) { + $this->logger->error('OmnivoreImport: no entries in imported file'); + + return false; + } + + if ($this->producer) { + $this->parseEntriesForProducer($data); + + return true; + } + + $this->parseEntries($data); + + return true; + } + + public function validateEntry(array $importedEntry) + { + if (empty($importedEntry['url'])) { + return false; + } + + return true; + } + + public function parseEntry(array $importedEntry) + { + $existingEntry = $this->em + ->getRepository(Entry::class) + ->findByUrlAndUserId($importedEntry['url'], $this->user->getId()); + + if (false !== $existingEntry) { + ++$this->skippedEntries; + + return null; + } + + $data = [ + 'title' => $importedEntry['title'], + 'url' => $importedEntry['url'], + 'is_archived' => ('Archived' === $importedEntry['state']) || $this->markAsRead, + 'is_starred' => false, + 'created_at' => $importedEntry['savedAt'], + 'tags' => $importedEntry['labels'], + 'published_by' => [$importedEntry['author']], + 'published_at' => $importedEntry['publishedAt'], + 'preview_picture' => $importedEntry['thumbnail'], + ]; + + $entry = new Entry($this->user); + $entry->setUrl($data['url']); + $entry->setTitle($data['title']); + + // update entry with content (in case fetching failed, the given entry will be return) + $this->fetchContent($entry, $data['url'], $data); + + if (!empty($data['tags'])) { + $this->tagsAssigner->assignTagsToEntry( + $entry, + $data['tags'], + $this->em->getUnitOfWork()->getScheduledEntityInsertions() + ); + } + + $entry->updateArchived($data['is_archived']); + $entry->setCreatedAt(\DateTime::createFromFormat('Y-m-d\TH:i:s.u\Z', $data['created_at'])); + if (null !== $data['published_at']) { + $entry->setPublishedAt(\DateTime::createFromFormat('Y-m-d\TH:i:s.u\Z', $data['published_at'])); + } + $entry->setPublishedBy($data['published_by']); + $entry->setPreviewPicture($data['preview_picture']); + + $this->em->persist($entry); + ++$this->importedEntries; + + return $entry; + } + + protected function setEntryAsRead(array $importedEntry) + { + return $importedEntry; + } +} diff --git a/templates/Import/Elcurator/index.html.twig b/templates/Import/Elcurator/index.html.twig index bbedb4f32..7236f7be5 100644 --- a/templates/Import/Elcurator/index.html.twig +++ b/templates/Import/Elcurator/index.html.twig @@ -1,3 +1,45 @@ -{% extends "Import/WallabagV1/index.html.twig" %} +{% extends "layout.html.twig" %} {% block title %}{{ 'import.elcurator.page_title'|trans }}{% endblock %} + +{% block content %} +
{{ import.description|trans }}+
{{ 'import.elcurator.how_to'|trans }}
+ +{{ import.description|trans }}+
{{ 'import.omnivore.how_to'|trans }}
+ +