YunoHost-Apps / roundcube_ynh

Roundcube package for YunoHost
https://roundcube.net/
GNU Affero General Public License v3.0
11 stars 19 forks source link

Failed upgrade from 1.6.0~ynh4 to 1.6.6~ynh1 #193

Open pp-r opened 5 months ago

pp-r commented 5 months ago

Describe the bug

Upgrade failed when try to upgrade by click on in the webadmin both VPS and ARM board 64 bits with the same error

2024-01-27 14:16:43,543: DEBUG - - Required package "guzzlehttp/guzzle" is in the lock file as "6.5.8" but that does not satisfy your constraint "^7.3.0". 2024-01-27 14:16:43,543: DEBUG - - Required package "bacon/bacon-qr-code" is not present in the lock file.

Context

Steps to reproduce

2024-01-27 14:16:43,543: DEBUG - - Required package "guzzlehttp/guzzle" is in the lock file as "6.5.8" but that does not satisfy your constraint "^7.3.0". 2024-01-27 14:16:43,543: DEBUG - - Required package "bacon/bacon-qr-code" is not present in the lock file.

Same error with CLI on both.

Expected behavior

*Upgrade from from 1.6.0 ynh4 to 1.6.6 ynh1 should work. https://packages.debian.org/en/bookworm/php-guzzlehttp-guzzle https://packages.debian.org/en/bookworm/php/php-bacon-qr-code

Logs

When an operation fails, YunoHost provides a simple way to share the logs.

ARM bord 64bits: https://paste.yunohost.org/raw/ecobolahup

EDIT :

Maybe composer in YunoHost should be update/upgrade because in the roundcubemail-1.6.6.tar.gz there is a file name composer.json-dist with these requirements about guzzlehttp/guzzle (6.5.8 instead of 7.3.0) and bacon/bacon-qr-code (missing instead of 2.0.0) :

"require": { "php": ">=7.3.0", "pear/pear-core-minimal": "~1.10.1", "pear/auth_sasl": "~1.1.0", "pear/mail_mime": "~1.10.0", "pear/net_smtp": "~1.10.0", "pear/crypt_gpg": "~1.6.3", "pear/net_sieve": "~1.4.5", "roundcube/plugin-installer": "~0.3.1", "roundcube/rtf-html-php": "~2.1", "masterminds/html5": "~2.7.0", "bacon/bacon-qr-code": "^2.0.0", "guzzlehttp/guzzle": "^7.3.0" },

tio-trom commented 5 months ago

Failed for me too with 2024-01-28 10:18:51,456: WARNING - Unable to install core dependencies with Composer. https://paste.yunohost.org/raw/ucujuzuzaj - unsure if this is related.

1Dimitri commented 5 months ago

Same here, the message from @tio-trom is the one launched by ynh_die but the initial message from @pp-r shows the complaints about the contents of the composer.json file leading to this

rodinux commented 5 months ago

It seems the error come with this line on the script upgrade https://github.com/YunoHost-Apps/roundcube_ynh/blob/47277f99a4589f76ff4705b724f992ce89262a3e/scripts/upgrade#L203

noeperez83 commented 5 months ago

Same problem here : https://paste.yunohost.org/raw/liyiwuzabo

I've managed to solve the problem by uninstalling then reinstalling the app, so probably the preceding comment by rodinux is right and there is an issue with script upgrade. The problem with my solution is that by doing a fresh re-installation you lose all your saved contacts. I'll leave it this way for now the time to find a better solution. If you decide to go my way remind to do a backup first.

isAAAc commented 5 months ago

same here too https://paste.yunohost.org/raw/ifaribarun

olberger commented 5 months ago

I may be wrong, and don't do that unless you know better. But in such case, maybe the way to proceed would be removing (keeping a backup may be advised) the composer.lock file, and re-launching the composer install command... but how precisely and where to do that... I don't know yet. There are few chances I have the time to investigate more, but just in case this helps, here's my 2 cents

Szkodnix commented 5 months ago

Same issue here: https://paste.yunohost.org/raw/bevogetomo

bidroidk commented 5 months ago

Same here (Unable to install core dependencies with Composer) : https://paste.yunohost.org/raw/ziqudukavu

Thank you for your help

HugoPoi commented 5 months ago

There is definitely something wrong with the upgrade script, as I understand we never update composer.json during upgrade https://github.com/YunoHost-Apps/roundcube_ynh/blob/47277f99a4589f76ff4705b724f992ce89262a3e/scripts/upgrade#L110-L120

I think we should always run cp "$install_dir/composer.json-dist" "$install_dir/composer.json" as it's a part of the deployment process of roundcube

Workaround

cd /var/www/roundcube
rm composer.json # will be copied from composer.json-dist
rm -r vendor # conflict with ldap old installation
# Answer Yes to installing roundcube plugin
COMPOSER_ALLOW_SUPERUSER=1 php8.1 /var/www/roundcube/composer.phar require roundcube/carddav 5.0.1 --with-all-dependencies
yunohost app upgrade roundcube -b
rodinux commented 5 months ago

There is definitely something wrong with the upgrade script, as I understand we never update composer.json during upgrade

https://github.com/YunoHost-Apps/roundcube_ynh/blob/47277f99a4589f76ff4705b724f992ce89262a3e/scripts/upgrade#L110-L120

I think we should always run cp "$install_dir/composer.json-dist" "$install_dir/composer.json" as it's a part of the deployment process of roundcube

* `COMPOSER_ALLOW_SUPERUSER=1` to trigger roundcube composer plugin to fill the plugins directory

* We should use the exact same process as install script

* I don't if could avoid running composer as root and just roundcube user and having www-data as read only

Workaround

cd /var/www/roundcube
rm composer.json # will be copied from composer.json-dist
rm -r vendor # conflict with ldap old installation
# Answer Yes to installing roundcube plugin
COMPOSER_ALLOW_SUPERUSER=1 php8.1 /var/www/roundcube/composer.phar require roundcube/carddav 5.0.1 --with-all-dependencies
yunohost app upgrade roundcube -b

Could you try do fix-PR to test it ??

HugoPoi commented 5 months ago

I'm looking into it, trying to reproduce in a dev env

HugoPoi commented 5 months ago

@rodinux I looked into it more in depth, and the problem originate even before 1.6.0~ynh4 I think because we never upgrade composer.json in some cases. So I need to dig deeper to reproduce the issue. I can try to fix blindly but the rm -r vendor doesn't seems right to me. We could add a custom migration for people encountering the issue.

nicofrand commented 4 months ago

Re. composer.json, isn't that done by Roundcube's script already: https://github.com/roundcube/roundcubemail/blob/master/bin/update.sh#L177 ?

rodinux commented 4 months ago

Well, I found another way to upgrade. I have rename the file composer.lock to composer.lock.bkp and the upgrade restore a new one.

I put here a diff between the two files diff -y composer.lock composer.lock.bkp > diff-composerlock.txt

https://rodinux.fr/zerobin/?2ddcee3f36c33f74#3bAwsY5wFEvps6FYpqko6uFcKGs4o6V2KzJZxaFaxvWe

g1smo commented 4 months ago

Renaming composer.lock to something else worked for me too. Upgraded successfully. The upgrade script should either run a composer update or provide a new lock file with updated php package versions (the latter seems more predictable and therefore more reliable).

lapineige commented 4 months ago

provide a new lock file with updated php package versions (the latter seems more predictable and therefore more reliable).

Could you share the one it generated after the upgrade then ? :)

rodinux commented 4 months ago

I can put here the new composer.lock generated here

{
    "_readme": [
        "This file locks the dependencies of your project to a known state",
        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
        "This file is @generated automatically"
    ],
    "content-hash": "1cef409009d33625fd94d32e22822db9",
    "packages": [
        {
            "name": "bacon/bacon-qr-code",
            "version": "2.0.8",
            "source": {
                "type": "git",
                "url": "https://github.com/Bacon/BaconQrCode.git",
                "reference": "8674e51bb65af933a5ffaf1c308a660387c35c22"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/8674e51bb65af933a5ffaf1c308a660387c35c22",
                "reference": "8674e51bb65af933a5ffaf1c308a660387c35c22",
                "shasum": ""
            },
            "require": {
                "dasprid/enum": "^1.0.3",
                "ext-iconv": "*",
                "php": "^7.1 || ^8.0"
            },
            "require-dev": {
                "phly/keep-a-changelog": "^2.1",
                "phpunit/phpunit": "^7 | ^8 | ^9",
                "spatie/phpunit-snapshot-assertions": "^4.2.9",
                "squizlabs/php_codesniffer": "^3.4"
            },
            "suggest": {
                "ext-imagick": "to generate QR code images"
            },
            "type": "library",
            "autoload": {
                "psr-4": {
                    "BaconQrCode\\": "src/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-2-Clause"
            ],
            "authors": [
                {
                    "name": "Ben Scholzen 'DASPRiD'",
                    "email": "mail@dasprids.de",
                    "homepage": "https://dasprids.de/",
                    "role": "Developer"
                }
            ],
            "description": "BaconQrCode is a QR code generator for PHP.",
            "homepage": "https://github.com/Bacon/BaconQrCode",
            "support": {
                "issues": "https://github.com/Bacon/BaconQrCode/issues",
                "source": "https://github.com/Bacon/BaconQrCode/tree/2.0.8"
            },
            "time": "2022-12-07T17:46:57+00:00"
        },
        {
            "name": "dasprid/enum",
            "version": "1.0.5",
            "source": {
                "type": "git",
                "url": "https://github.com/DASPRiD/Enum.git",
                "reference": "6faf451159fb8ba4126b925ed2d78acfce0dc016"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/6faf451159fb8ba4126b925ed2d78acfce0dc016",
                "reference": "6faf451159fb8ba4126b925ed2d78acfce0dc016",
                "shasum": ""
            },
            "require": {
                "php": ">=7.1 <9.0"
            },
            "require-dev": {
                "phpunit/phpunit": "^7 | ^8 | ^9",
                "squizlabs/php_codesniffer": "*"
            },
            "type": "library",
            "autoload": {
                "psr-4": {
                    "DASPRiD\\Enum\\": "src/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-2-Clause"
            ],
            "authors": [
                {
                    "name": "Ben Scholzen 'DASPRiD'",
                    "email": "mail@dasprids.de",
                    "homepage": "https://dasprids.de/",
                    "role": "Developer"
                }
            ],
            "description": "PHP 7.1 enum implementation",
            "keywords": [
                "enum",
                "map"
            ],
            "support": {
                "issues": "https://github.com/DASPRiD/Enum/issues",
                "source": "https://github.com/DASPRiD/Enum/tree/1.0.5"
            },
            "time": "2023-08-25T16:18:39+00:00"
        },
        {
            "name": "guzzlehttp/guzzle",
            "version": "7.8.1",
            "source": {
                "type": "git",
                "url": "https://github.com/guzzle/guzzle.git",
                "reference": "41042bc7ab002487b876a0683fc8dce04ddce104"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104",
                "reference": "41042bc7ab002487b876a0683fc8dce04ddce104",
                "shasum": ""
            },
            "require": {
                "ext-json": "*",
                "guzzlehttp/promises": "^1.5.3 || ^2.0.1",
                "guzzlehttp/psr7": "^1.9.1 || ^2.5.1",
                "php": "^7.2.5 || ^8.0",
                "psr/http-client": "^1.0",
                "symfony/deprecation-contracts": "^2.2 || ^3.0"
            },
            "provide": {
                "psr/http-client-implementation": "1.0"
            },
            "require-dev": {
                "bamarni/composer-bin-plugin": "^1.8.2",
                "ext-curl": "*",
                "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999",
                "php-http/message-factory": "^1.1",
                "phpunit/phpunit": "^8.5.36 || ^9.6.15",
                "psr/log": "^1.1 || ^2.0 || ^3.0"
            },
            "suggest": {
                "ext-curl": "Required for CURL handler support",
                "ext-intl": "Required for Internationalized Domain Name (IDN) support",
                "psr/log": "Required for using the Log middleware"
            },
            "type": "library",
            "extra": {
                "bamarni-bin": {
                    "bin-links": true,
                    "forward-command": false
                }
            },
            "autoload": {
                "files": [
                    "src/functions_include.php"
                ],
                "psr-4": {
                    "GuzzleHttp\\": "src/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Graham Campbell",
                    "email": "hello@gjcampbell.co.uk",
                    "homepage": "https://github.com/GrahamCampbell"
                },
                {
                    "name": "Michael Dowling",
                    "email": "mtdowling@gmail.com",
                    "homepage": "https://github.com/mtdowling"
                },
                {
                    "name": "Jeremy Lindblom",
                    "email": "jeremeamia@gmail.com",
                    "homepage": "https://github.com/jeremeamia"
                },
                {
                    "name": "George Mponos",
                    "email": "gmponos@gmail.com",
                    "homepage": "https://github.com/gmponos"
                },
                {
                    "name": "Tobias Nyholm",
                    "email": "tobias.nyholm@gmail.com",
                    "homepage": "https://github.com/Nyholm"
                },
                {
                    "name": "Márk Sági-Kazár",
                    "email": "mark.sagikazar@gmail.com",
                    "homepage": "https://github.com/sagikazarmark"
                },
                {
                    "name": "Tobias Schultze",
                    "email": "webmaster@tubo-world.de",
                    "homepage": "https://github.com/Tobion"
                }
            ],
            "description": "Guzzle is a PHP HTTP client library",
            "keywords": [
                "client",
                "curl",
                "framework",
                "http",
                "http client",
                "psr-18",
                "psr-7",
                "rest",
                "web service"
            ],
            "support": {
                "issues": "https://github.com/guzzle/guzzle/issues",
                "source": "https://github.com/guzzle/guzzle/tree/7.8.1"
            },
            "funding": [
                {
                    "url": "https://github.com/GrahamCampbell",
                    "type": "github"
                },
                {
                    "url": "https://github.com/Nyholm",
                    "type": "github"
                },
                {
                    "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle",
                    "type": "tidelift"
                }
            ],
            "time": "2023-12-03T20:35:24+00:00"
        },
        {
            "name": "guzzlehttp/promises",
            "version": "2.0.2",
            "source": {
                "type": "git",
                "url": "https://github.com/guzzle/promises.git",
                "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223",
                "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223",
                "shasum": ""
            },
            "require": {
                "php": "^7.2.5 || ^8.0"
            },
            "require-dev": {
                "bamarni/composer-bin-plugin": "^1.8.2",
                "phpunit/phpunit": "^8.5.36 || ^9.6.15"
            },
            "type": "library",
            "extra": {
                "bamarni-bin": {
                    "bin-links": true,
                    "forward-command": false
                }
            },
            "autoload": {
                "psr-4": {
                    "GuzzleHttp\\Promise\\": "src/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Graham Campbell",
                    "email": "hello@gjcampbell.co.uk",
                    "homepage": "https://github.com/GrahamCampbell"
                },
                {
                    "name": "Michael Dowling",
                    "email": "mtdowling@gmail.com",
                    "homepage": "https://github.com/mtdowling"
                },
                {
                    "name": "Tobias Nyholm",
                    "email": "tobias.nyholm@gmail.com",
                    "homepage": "https://github.com/Nyholm"
                },
                {
                    "name": "Tobias Schultze",
                    "email": "webmaster@tubo-world.de",
                    "homepage": "https://github.com/Tobion"
                }
            ],
            "description": "Guzzle promises library",
            "keywords": [
                "promise"
            ],
            "support": {
                "issues": "https://github.com/guzzle/promises/issues",
                "source": "https://github.com/guzzle/promises/tree/2.0.2"
            },
            "funding": [
                {
                    "url": "https://github.com/GrahamCampbell",
                    "type": "github"
                },
                {
                    "url": "https://github.com/Nyholm",
                    "type": "github"
                },
                {
                    "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
                    "type": "tidelift"
                }
            ],
            "time": "2023-12-03T20:19:20+00:00"
        },
        {
            "name": "guzzlehttp/psr7",
            "version": "2.6.2",
            "source": {
                "type": "git",
                "url": "https://github.com/guzzle/psr7.git",
                "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221",
                "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221",
                "shasum": ""
            },
            "require": {
                "php": "^7.2.5 || ^8.0",
                "psr/http-factory": "^1.0",
                "psr/http-message": "^1.1 || ^2.0",
                "ralouphie/getallheaders": "^3.0"
            },
            "provide": {
                "psr/http-factory-implementation": "1.0",
                "psr/http-message-implementation": "1.0"
            },
            "require-dev": {
                "bamarni/composer-bin-plugin": "^1.8.2",
                "http-interop/http-factory-tests": "^0.9",
                "phpunit/phpunit": "^8.5.36 || ^9.6.15"
            },
            "suggest": {
                "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
            },
            "type": "library",
            "extra": {
                "bamarni-bin": {
                    "bin-links": true,
                    "forward-command": false
                }
            },
            "autoload": {
                "psr-4": {
                    "GuzzleHttp\\Psr7\\": "src/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Graham Campbell",
                    "email": "hello@gjcampbell.co.uk",
                    "homepage": "https://github.com/GrahamCampbell"
                },
                {
                    "name": "Michael Dowling",
                    "email": "mtdowling@gmail.com",
                    "homepage": "https://github.com/mtdowling"
                },
                {
                    "name": "George Mponos",
                    "email": "gmponos@gmail.com",
                    "homepage": "https://github.com/gmponos"
                },
                {
                    "name": "Tobias Nyholm",
                    "email": "tobias.nyholm@gmail.com",
                    "homepage": "https://github.com/Nyholm"
                },
                {
                    "name": "Márk Sági-Kazár",
                    "email": "mark.sagikazar@gmail.com",
                    "homepage": "https://github.com/sagikazarmark"
                },
                {
                    "name": "Tobias Schultze",
                    "email": "webmaster@tubo-world.de",
                    "homepage": "https://github.com/Tobion"
                },
                {
                    "name": "Márk Sági-Kazár",
                    "email": "mark.sagikazar@gmail.com",
                    "homepage": "https://sagikazarmark.hu"
                }
            ],
            "description": "PSR-7 message implementation that also provides common utility methods",
            "keywords": [
                "http",
                "message",
                "psr-7",
                "request",
                "response",
                "stream",
                "uri",
                "url"
            ],
            "support": {
                "issues": "https://github.com/guzzle/psr7/issues",
                "source": "https://github.com/guzzle/psr7/tree/2.6.2"
            },
            "funding": [
                {
                    "url": "https://github.com/GrahamCampbell",
                    "type": "github"
                },
                {
                    "url": "https://github.com/Nyholm",
                    "type": "github"
                },
                {
                    "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
                    "type": "tidelift"
                }
            ],
            "time": "2023-12-03T20:05:35+00:00"
        },
        {
            "name": "johndoh/contextmenu",
            "version": "3.3",
            "source": {
                "type": "git",
                "url": "https://github.com/johndoh/roundcube-contextmenu.git",
                "reference": "0f2dd2dbb8effb5ea741be5d63eea440fb023244"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/johndoh/roundcube-contextmenu/zipball/0f2dd2dbb8effb5ea741be5d63eea440fb023244",
                "reference": "0f2dd2dbb8effb5ea741be5d63eea440fb023244",
                "shasum": ""
            },
            "require": {
                "php": ">=5.4.0",
                "roundcube/plugin-installer": ">=0.1.2"
            },
            "type": "roundcube-plugin",
            "extra": {
                "roundcube": {
                    "min-version": "1.5",
                    "persistent-files": [
                        "skins/elastic/_custom.less"
                    ]
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "GPL-3.0-or-later"
            ],
            "authors": [
                {
                    "name": "Philip Weir",
                    "email": "roundcube@tehinterweb.co.uk",
                    "role": "Developer"
                }
            ],
            "description": "Adds context menus with common tasks to various parts of Roundcube",
            "homepage": "https://github.com/johndoh/roundcube-contextmenu/",
            "keywords": [
                "Context",
                "menu",
                "right-click"
            ],
            "support": {
                "issues": "https://github.com/johndoh/roundcube-contextmenu/issues",
                "source": "https://github.com/johndoh/roundcube-contextmenu/tree/3.3"
            },
            "time": "2021-10-19T15:45:28+00:00"
        },
        {
            "name": "kolab/net_ldap3",
            "version": "v1.1.5",
            "source": {
                "type": "git",
                "url": "https://git.kolab.org/diffusion/PNL/php-net_ldap3.git",
                "reference": "5a319cf437d75aad564ce7fd076cc5423722868b"
            },
            "require": {
                "pear/net_ldap2": ">=2.0.12",
                "php": ">=5.3.3"
            },
            "type": "library",
            "autoload": {
                "classmap": [
                    "lib/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "GPL-3.0+"
            ],
            "authors": [
                {
                    "name": "Jeroen van Meeuwen",
                    "email": "vanmeeuwen@kolabsys.com",
                    "role": "Lead"
                },
                {
                    "name": "Aleksander Machniak",
                    "email": "machniak@kolabsys.com",
                    "role": "Developer"
                },
                {
                    "name": "Thomas Bruederli",
                    "email": "roundcube@gmail.com",
                    "role": "Developer"
                }
            ],
            "description": "A successor of the PEAR:Net_LDAP2 module providing advanced functionality for accessing LDAP directories",
            "homepage": "http://git.kolab.org/pear/Net_LDAP3/",
            "keywords": [
                "PEAR",
                "ldap",
                "vlv"
            ],
            "time": "2023-06-07T08:32:15+00:00"
        },
        {
            "name": "masterminds/html5",
            "version": "2.7.6",
            "source": {
                "type": "git",
                "url": "https://github.com/Masterminds/html5-php.git",
                "reference": "897eb517a343a2281f11bc5556d6548db7d93947"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/897eb517a343a2281f11bc5556d6548db7d93947",
                "reference": "897eb517a343a2281f11bc5556d6548db7d93947",
                "shasum": ""
            },
            "require": {
                "ext-ctype": "*",
                "ext-dom": "*",
                "ext-libxml": "*",
                "php": ">=5.3.0"
            },
            "require-dev": {
                "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "2.7-dev"
                }
            },
            "autoload": {
                "psr-4": {
                    "Masterminds\\": "src"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Matt Butcher",
                    "email": "technosophos@gmail.com"
                },
                {
                    "name": "Matt Farina",
                    "email": "matt@mattfarina.com"
                },
                {
                    "name": "Asmir Mustafic",
                    "email": "goetas@gmail.com"
                }
            ],
            "description": "An HTML5 parser and serializer.",
            "homepage": "http://masterminds.github.io/html5-php",
            "keywords": [
                "HTML5",
                "dom",
                "html",
                "parser",
                "querypath",
                "serializer",
                "xml"
            ],
            "support": {
                "issues": "https://github.com/Masterminds/html5-php/issues",
                "source": "https://github.com/Masterminds/html5-php/tree/2.7.6"
            },
            "time": "2022-08-18T16:18:26+00:00"
        },
        {
            "name": "pear/auth_sasl",
            "version": "v1.1.0",
            "source": {
                "type": "git",
                "url": "https://github.com/pear/Auth_SASL.git",
                "reference": "db1ead3dc0bf986d2bab0dbc04d114800cf91dee"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/pear/Auth_SASL/zipball/db1ead3dc0bf986d2bab0dbc04d114800cf91dee",
                "reference": "db1ead3dc0bf986d2bab0dbc04d114800cf91dee",
                "shasum": ""
            },
            "require": {
                "pear/pear_exception": "@stable"
            },
            "require-dev": {
                "phpunit/phpunit": "@stable"
            },
            "type": "library",
            "autoload": {
                "psr-0": {
                    "Auth": "./"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "include-path": [
                "./"
            ],
            "license": [
                "BSD"
            ],
            "authors": [
                {
                    "name": "Anish Mistry",
                    "email": "amistry@am-productions.biz",
                    "role": "Lead"
                },
                {
                    "name": "Richard Heyes",
                    "email": "richard@php.net",
                    "role": "Lead"
                },
                {
                    "name": "Michael Bretterklieber",
                    "email": "michael@bretterklieber.com",
                    "role": "Lead"
                }
            ],
            "description": "Abstraction of various SASL mechanism responses",
            "support": {
                "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Auth_SASL",
                "source": "https://github.com/pear/Auth_SASL"
            },
            "time": "2017-03-07T14:37:05+00:00"
        },
        {
            "name": "pear/console_commandline",
            "version": "v1.2.6",
            "source": {
                "type": "git",
                "url": "https://github.com/pear/Console_CommandLine.git",
                "reference": "611c5bff2e47ec5a184748cb5fedc2869098ff28"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/pear/Console_CommandLine/zipball/611c5bff2e47ec5a184748cb5fedc2869098ff28",
                "reference": "611c5bff2e47ec5a184748cb5fedc2869098ff28",
                "shasum": ""
            },
            "require": {
                "ext-dom": "*",
                "ext-xml": "*",
                "pear/pear_exception": "^1.0.0",
                "php": ">=5.3.0"
            },
            "require-dev": {
                "phpunit/phpunit": "*"
            },
            "type": "library",
            "autoload": {
                "psr-0": {
                    "Console": "./"
                },
                "exclude-from-classmap": [
                    "tests/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "include-path": [
                ""
            ],
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Richard Quadling",
                    "email": "rquadling@gmail.com"
                },
                {
                    "name": "David Jean Louis",
                    "email": "izimobil@gmail.com"
                }
            ],
            "description": "A full featured command line options and arguments parser.",
            "homepage": "https://github.com/pear/Console_CommandLine",
            "keywords": [
                "console"
            ],
            "support": {
                "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Console_CommandLine",
                "source": "https://github.com/pear/Console_CommandLine"
            },
            "time": "2023-04-02T18:49:53+00:00"
        },
        {
            "name": "pear/console_getopt",
            "version": "v1.4.3",
            "source": {
                "type": "git",
                "url": "https://github.com/pear/Console_Getopt.git",
                "reference": "a41f8d3e668987609178c7c4a9fe48fecac53fa0"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/pear/Console_Getopt/zipball/a41f8d3e668987609178c7c4a9fe48fecac53fa0",
                "reference": "a41f8d3e668987609178c7c4a9fe48fecac53fa0",
                "shasum": ""
            },
            "type": "library",
            "autoload": {
                "psr-0": {
                    "Console": "./"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "include-path": [
                "./"
            ],
            "license": [
                "BSD-2-Clause"
            ],
            "authors": [
                {
                    "name": "Andrei Zmievski",
                    "email": "andrei@php.net",
                    "role": "Lead"
                },
                {
                    "name": "Stig Bakken",
                    "email": "stig@php.net",
                    "role": "Developer"
                },
                {
                    "name": "Greg Beaver",
                    "email": "cellog@php.net",
                    "role": "Helper"
                }
            ],
            "description": "More info available on: http://pear.php.net/package/Console_Getopt",
            "support": {
                "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Console_Getopt",
                "source": "https://github.com/pear/Console_Getopt"
            },
            "time": "2019-11-20T18:27:48+00:00"
        },
        {
            "name": "pear/crypt_gpg",
            "version": "v1.6.8",
            "source": {
                "type": "git",
                "url": "https://github.com/pear/Crypt_GPG.git",
                "reference": "89c661fbd7027f7745c25efd4053552972278bc1"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/pear/Crypt_GPG/zipball/89c661fbd7027f7745c25efd4053552972278bc1",
                "reference": "89c661fbd7027f7745c25efd4053552972278bc1",
                "shasum": ""
            },
            "require": {
                "ext-mbstring": "*",
                "pear/console_commandline": "*",
                "pear/pear_exception": "*",
                "php": ">=5.4.8"
            },
            "require-dev": {
                "phpunit/phpunit": "^9"
            },
            "suggest": {
                "ext-posix": "May require the posix PHP extension"
            },
            "bin": [
                "scripts/crypt-gpg-pinentry"
            ],
            "type": "library",
            "autoload": {
                "classmap": [
                    "Crypt/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "include-path": [
                "./"
            ],
            "license": [
                "LGPL-2.1"
            ],
            "authors": [
                {
                    "name": "Michael Gauthier",
                    "email": "mike@silverorange.com"
                },
                {
                    "name": "Nathan Fredrickson",
                    "email": "nathan@silverorange.com"
                },
                {
                    "name": "Aleksander Machniak",
                    "email": "alec@alec.pl"
                }
            ],
            "description": "Provides an object oriented interface to the GNU Privacy Guard (GnuPG). It requires the GnuPG executable to be on the system.",
            "homepage": "https://github.com/pear/Crypt_GPG",
            "keywords": [
                "PGP",
                "encryption",
                "gnupg",
                "gpg"
            ],
            "support": {
                "issues": "https://pear.php.net/bugs/search.php?cmd=display&package_name[]=Crypt_GPG",
                "source": "https://github.com/pear/Crypt_GPG"
            },
            "time": "2023-11-23T09:15:05+00:00"
        },
        {
            "name": "pear/mail_mime",
            "version": "1.10.11",
            "source": {
                "type": "git",
                "url": "https://github.com/pear/Mail_Mime.git",
                "reference": "d4fb9ce61201593d0f8c6db629c45e29c3409c14"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/pear/Mail_Mime/zipball/d4fb9ce61201593d0f8c6db629c45e29c3409c14",
                "reference": "d4fb9ce61201593d0f8c6db629c45e29c3409c14",
                "shasum": ""
            },
            "require": {
                "pear/pear-core-minimal": "*",
                "php": ">=5.2.0"
            },
            "type": "library",
            "autoload": {
                "psr-0": {
                    "Mail": "./"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "include-path": [
                "./"
            ],
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Cipriano Groenendal",
                    "email": "cipri@php.net",
                    "role": "Lead"
                },
                {
                    "name": "Aleksander Machniak",
                    "email": "alec@php.net",
                    "role": "Lead"
                }
            ],
            "description": "Mail_Mime provides classes to create MIME messages",
            "homepage": "http://pear.php.net/package/Mail_Mime",
            "support": {
                "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Mail_Mime",
                "source": "https://github.com/pear/Mail_Mime"
            },
            "time": "2021-09-05T08:42:45+00:00"
        },
        {
            "name": "pear/net_ldap2",
            "version": "v2.3.0",
            "source": {
                "type": "git",
                "url": "https://github.com/pear/Net_LDAP2.git",
                "reference": "6eae6d20533469ffe1c01684923cd09f0fae3b77"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/pear/Net_LDAP2/zipball/6eae6d20533469ffe1c01684923cd09f0fae3b77",
                "reference": "6eae6d20533469ffe1c01684923cd09f0fae3b77",
                "shasum": ""
            },
            "require": {
                "ext-ldap": "*",
                "pear/pear-core-minimal": "^1.10.1"
            },
            "require-dev": {
                "phpunit/phpunit": "^9 || ^10.3"
            },
            "type": "library",
            "autoload": {
                "classmap": [
                    "Net/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "include-path": [
                "."
            ],
            "license": [
                "LGPL-3.0"
            ],
            "description": "Object oriented interface for searching and manipulating LDAP-entries",
            "homepage": "http://pear.php.net/package/Net_LDAP2",
            "keywords": [
                "PEAR",
                "ldap"
            ],
            "support": {
                "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Net_LDAP2",
                "source": "https://github.com/pear/Net_LDAP2"
            },
            "time": "2023-10-12T20:00:01+00:00"
        },
        {
            "name": "pear/net_sieve",
            "version": "1.4.6",
            "source": {
                "type": "git",
                "url": "https://github.com/pear/Net_Sieve.git",
                "reference": "ea79747d73e6d4017716d9bab2e760f7df3249d7"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/pear/Net_Sieve/zipball/ea79747d73e6d4017716d9bab2e760f7df3249d7",
                "reference": "ea79747d73e6d4017716d9bab2e760f7df3249d7",
                "shasum": ""
            },
            "require": {
                "pear/net_socket": "~1.2",
                "pear/pear-core-minimal": "~1.10"
            },
            "require-dev": {
                "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7"
            },
            "suggest": {
                "pear/auth_sasl": "Install optionally via your project's composer.json"
            },
            "type": "library",
            "autoload": {
                "classmap": [
                    "./"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-2-Clause"
            ],
            "authors": [
                {
                    "name": "Aleksander Machniak",
                    "email": "alec@alec.pl",
                    "role": "Lead"
                },
                {
                    "name": "Jan Schneider",
                    "email": "jan@horde.org",
                    "role": "Lead"
                },
                {
                    "name": "Richard Heyes",
                    "email": "richard@php.net",
                    "role": "Lead"
                },
                {
                    "name": "Damian Fernandez Sosa",
                    "email": "damlists@cnba.uba.ar",
                    "role": "Lead"
                },
                {
                    "name": "Anish Mistry",
                    "email": "amistry@am-productions.biz",
                    "role": "Lead"
                }
            ],
            "description": "More info available on: https://pear.php.net/package/Net_Sieve",
            "support": {
                "issues": "https://pear.php.net/bugs/search.php?cmd=display&package_name[]=Net_Sieve",
                "source": "https://github.com/pear/Net_Sieve"
            },
            "time": "2022-12-02T17:19:07+00:00"
        },
        {
            "name": "pear/net_smtp",
            "version": "1.10.1",
            "source": {
                "type": "git",
                "url": "https://github.com/pear/Net_SMTP.git",
                "reference": "cfd963dc5cc73b4d64c7769e47dfa0f439dec536"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/pear/Net_SMTP/zipball/cfd963dc5cc73b4d64c7769e47dfa0f439dec536",
                "reference": "cfd963dc5cc73b4d64c7769e47dfa0f439dec536",
                "shasum": ""
            },
            "require": {
                "pear/net_socket": "@stable",
                "pear/pear-core-minimal": "@stable",
                "php": ">=5.4.0"
            },
            "require-dev": {
                "phpunit/phpunit": "*"
            },
            "suggest": {
                "pear/auth_sasl": "Install optionally via your project's composer.json"
            },
            "type": "library",
            "autoload": {
                "psr-0": {
                    "Net": "./"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "include-path": [
                "./"
            ],
            "license": [
                "BSD-2-Clause"
            ],
            "authors": [
                {
                    "name": "Jon Parise",
                    "email": "jon@php.net",
                    "homepage": "https://www.indelible.org",
                    "role": "Lead"
                },
                {
                    "name": "Chuck Hagenbuch",
                    "email": "chuck@horde.org",
                    "role": "Lead"
                },
                {
                    "name": "Armin Graefe",
                    "email": "schengawegga@gmail.com",
                    "role": "Lead"
                }
            ],
            "description": "An implementation of the SMTP protocol",
            "homepage": "https://pear.github.io/Net_SMTP/",
            "keywords": [
                "email",
                "mail",
                "smtp"
            ],
            "support": {
                "issues": "https://github.com/pear/Net_SMTP/issues",
                "source": "https://github.com/pear/Net_SMTP"
            },
            "time": "2022-09-23T21:48:50+00:00"
        },
        {
            "name": "pear/net_socket",
            "version": "v1.2.2",
            "source": {
                "type": "git",
                "url": "https://github.com/pear/Net_Socket.git",
                "reference": "bbe6a12bb4f7059dba161f6ddd43f369c0ec8d09"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/pear/Net_Socket/zipball/bbe6a12bb4f7059dba161f6ddd43f369c0ec8d09",
                "reference": "bbe6a12bb4f7059dba161f6ddd43f369c0ec8d09",
                "shasum": ""
            },
            "require": {
                "pear/pear_exception": "*"
            },
            "require-dev": {
                "phpunit/phpunit": "*"
            },
            "type": "library",
            "autoload": {
                "psr-0": {
                    "Net": "./"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "include-path": [
                "./"
            ],
            "license": [
                "PHP License"
            ],
            "authors": [
                {
                    "name": "Chuck Hagenbuch",
                    "email": "chuck@horde.org",
                    "role": "Lead"
                },
                {
                    "name": "Aleksander Machniak",
                    "email": "alec@php.net",
                    "role": "Lead"
                },
                {
                    "name": "Stig Bakken",
                    "email": "stig@php.net",
                    "role": "Lead"
                }
            ],
            "description": "More info available on: http://pear.php.net/package/Net_Socket",
            "support": {
                "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Net_Socket",
                "source": "https://github.com/pear/Net_Socket"
            },
            "time": "2015-03-22T15:48:19+00:00"
        },
        {
            "name": "pear/pear-core-minimal",
            "version": "v1.10.14",
            "source": {
                "type": "git",
                "url": "https://github.com/pear/pear-core-minimal.git",
                "reference": "a86fc145edb5caedbf96527214ce3cadc9de4a32"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/a86fc145edb5caedbf96527214ce3cadc9de4a32",
                "reference": "a86fc145edb5caedbf96527214ce3cadc9de4a32",
                "shasum": ""
            },
            "require": {
                "pear/console_getopt": "~1.4",
                "pear/pear_exception": "~1.0",
                "php": ">=5.4"
            },
            "replace": {
                "rsky/pear-core-min": "self.version"
            },
            "type": "library",
            "autoload": {
                "psr-0": {
                    "": "src/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "include-path": [
                "src/"
            ],
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Christian Weiske",
                    "email": "cweiske@php.net",
                    "role": "Lead"
                }
            ],
            "description": "Minimal set of PEAR core files to be used as composer dependency",
            "support": {
                "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=PEAR",
                "source": "https://github.com/pear/pear-core-minimal"
            },
            "time": "2023-11-26T16:15:38+00:00"
        },
        {
            "name": "pear/pear_exception",
            "version": "v1.0.2",
            "source": {
                "type": "git",
                "url": "https://github.com/pear/PEAR_Exception.git",
                "reference": "b14fbe2ddb0b9f94f5b24cf08783d599f776fff0"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/pear/PEAR_Exception/zipball/b14fbe2ddb0b9f94f5b24cf08783d599f776fff0",
                "reference": "b14fbe2ddb0b9f94f5b24cf08783d599f776fff0",
                "shasum": ""
            },
            "require": {
                "php": ">=5.2.0"
            },
            "require-dev": {
                "phpunit/phpunit": "<9"
            },
            "type": "class",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.0.x-dev"
                }
            },
            "autoload": {
                "classmap": [
                    "PEAR/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "include-path": [
                "."
            ],
            "license": [
                "BSD-2-Clause"
            ],
            "authors": [
                {
                    "name": "Helgi Thormar",
                    "email": "dufuz@php.net"
                },
                {
                    "name": "Greg Beaver",
                    "email": "cellog@php.net"
                }
            ],
            "description": "The PEAR Exception base class.",
            "homepage": "https://github.com/pear/PEAR_Exception",
            "keywords": [
                "exception"
            ],
            "support": {
                "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=PEAR_Exception",
                "source": "https://github.com/pear/PEAR_Exception"
            },
            "time": "2021-03-21T15:43:46+00:00"
        },
        {
            "name": "psr/http-client",
            "version": "1.0.3",
            "source": {
                "type": "git",
                "url": "https://github.com/php-fig/http-client.git",
                "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90",
                "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90",
                "shasum": ""
            },
            "require": {
                "php": "^7.0 || ^8.0",
                "psr/http-message": "^1.0 || ^2.0"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.0.x-dev"
                }
            },
            "autoload": {
                "psr-4": {
                    "Psr\\Http\\Client\\": "src/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "PHP-FIG",
                    "homepage": "https://www.php-fig.org/"
                }
            ],
            "description": "Common interface for HTTP clients",
            "homepage": "https://github.com/php-fig/http-client",
            "keywords": [
                "http",
                "http-client",
                "psr",
                "psr-18"
            ],
            "support": {
                "source": "https://github.com/php-fig/http-client"
            },
            "time": "2023-09-23T14:17:50+00:00"
        },
        {
            "name": "psr/http-factory",
            "version": "1.0.2",
            "source": {
                "type": "git",
                "url": "https://github.com/php-fig/http-factory.git",
                "reference": "e616d01114759c4c489f93b099585439f795fe35"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35",
                "reference": "e616d01114759c4c489f93b099585439f795fe35",
                "shasum": ""
            },
            "require": {
                "php": ">=7.0.0",
                "psr/http-message": "^1.0 || ^2.0"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.0.x-dev"
                }
            },
            "autoload": {
                "psr-4": {
                    "Psr\\Http\\Message\\": "src/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "PHP-FIG",
                    "homepage": "https://www.php-fig.org/"
                }
            ],
            "description": "Common interfaces for PSR-7 HTTP message factories",
            "keywords": [
                "factory",
                "http",
                "message",
                "psr",
                "psr-17",
                "psr-7",
                "request",
                "response"
            ],
            "support": {
                "source": "https://github.com/php-fig/http-factory/tree/1.0.2"
            },
            "time": "2023-04-10T20:10:41+00:00"
        },
        {
            "name": "psr/http-message",
            "version": "2.0",
            "source": {
                "type": "git",
                "url": "https://github.com/php-fig/http-message.git",
                "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71",
                "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71",
                "shasum": ""
            },
            "require": {
                "php": "^7.2 || ^8.0"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "2.0.x-dev"
                }
            },
            "autoload": {
                "psr-4": {
                    "Psr\\Http\\Message\\": "src/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "PHP-FIG",
                    "homepage": "https://www.php-fig.org/"
                }
            ],
            "description": "Common interface for HTTP messages",
            "homepage": "https://github.com/php-fig/http-message",
            "keywords": [
                "http",
                "http-message",
                "psr",
                "psr-7",
                "request",
                "response"
            ],
            "support": {
                "source": "https://github.com/php-fig/http-message/tree/2.0"
            },
            "time": "2023-04-04T09:54:51+00:00"
        },
        {
            "name": "ralouphie/getallheaders",
            "version": "3.0.3",
            "source": {
                "type": "git",
                "url": "https://github.com/ralouphie/getallheaders.git",
                "reference": "120b605dfeb996808c31b6477290a714d356e822"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
                "reference": "120b605dfeb996808c31b6477290a714d356e822",
                "shasum": ""
            },
            "require": {
                "php": ">=5.6"
            },
            "require-dev": {
                "php-coveralls/php-coveralls": "^2.1",
                "phpunit/phpunit": "^5 || ^6.5"
            },
            "type": "library",
            "autoload": {
                "files": [
                    "src/getallheaders.php"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Ralph Khattar",
                    "email": "ralph.khattar@gmail.com"
                }
            ],
            "description": "A polyfill for getallheaders.",
            "support": {
                "issues": "https://github.com/ralouphie/getallheaders/issues",
                "source": "https://github.com/ralouphie/getallheaders/tree/develop"
            },
            "time": "2019-03-08T08:55:37+00:00"
        },
        {
            "name": "roundcube/plugin-installer",
            "version": "0.3.2",
            "source": {
                "type": "git",
                "url": "https://github.com/roundcube/plugin-installer.git",
                "reference": "c4335e20b86cfe3a184ccf24d675c6a0338a372a"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/roundcube/plugin-installer/zipball/c4335e20b86cfe3a184ccf24d675c6a0338a372a",
                "reference": "c4335e20b86cfe3a184ccf24d675c6a0338a372a",
                "shasum": ""
            },
            "require": {
                "composer-plugin-api": "^1.0 || ^2.0"
            },
            "require-dev": {
                "composer/composer": "*"
            },
            "type": "composer-plugin",
            "extra": {
                "class": [
                    "Roundcube\\Composer\\RoundcubeInstaller"
                ]
            },
            "autoload": {
                "psr-0": {
                    "Roundcube\\Composer": "src/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "GPL-3.0+"
            ],
            "authors": [
                {
                    "name": "Thomas Bruederli",
                    "email": "thomas@roundcube.net"
                },
                {
                    "name": "Till Klampaeckel",
                    "email": "till@php.net"
                },
                {
                    "name": "Philip Weir",
                    "email": "roundcube@tehinterweb.co.uk"
                }
            ],
            "description": "A composer-installer for Roundcube plugins and skins.",
            "support": {
                "issues": "https://github.com/roundcube/plugin-installer/issues",
                "source": "https://github.com/roundcube/plugin-installer/tree/0.3.2"
            },
            "time": "2022-06-24T09:08:18+00:00"
        },
        {
            "name": "roundcube/rtf-html-php",
            "version": "v2.2",
            "source": {
                "type": "git",
                "url": "https://github.com/roundcube/rtf-html-php.git",
                "reference": "a3432ca249b73bf24fec50114191a63ad8b1478c"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/roundcube/rtf-html-php/zipball/a3432ca249b73bf24fec50114191a63ad8b1478c",
                "reference": "a3432ca249b73bf24fec50114191a63ad8b1478c",
                "shasum": ""
            },
            "require": {
                "ext-iconv": "*",
                "ext-mbstring": "*",
                "php": ">=5.4"
            },
            "require-dev": {
                "phpstan/phpstan": "^1.2",
                "phpunit/phpunit": "^4.8.36 || ^5.7.21 || ^6 || ^7 | ^9.6"
            },
            "type": "library",
            "autoload": {
                "psr-4": {
                    "RtfHtmlPhp\\": "src/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "GPL-2.0"
            ],
            "authors": [
                {
                    "name": "Alexander van Oostenrijk",
                    "email": "alex.vanoostenrijk@gmail.com"
                },
                {
                    "name": "Aleksander Machniak",
                    "email": "alec@alec.pl"
                }
            ],
            "description": "RTF to HTML converter in PHP",
            "keywords": [
                "converter",
                "rtf"
            ],
            "support": {
                "issues": "https://github.com/roundcube/rtf-html-php/issues",
                "source": "https://github.com/roundcube/rtf-html-php/tree/v2.2"
            },
            "time": "2023-12-31T14:01:02+00:00"
        },
        {
            "name": "sblaisot/automatic_addressbook",
            "version": "v0.4.3",
            "source": {
                "type": "git",
                "url": "https://github.com/sblaisot/automatic_addressbook.git",
                "reference": "ca622de3364b996c655eea2e7724ce6e325e9b9d"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/sblaisot/automatic_addressbook/zipball/ca622de3364b996c655eea2e7724ce6e325e9b9d",
                "reference": "ca622de3364b996c655eea2e7724ce6e325e9b9d",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.0",
                "roundcube/plugin-installer": ">=0.1.6"
            },
            "type": "roundcube-plugin",
            "extra": {
                "roundcube": {
                    "min-version": "0.6.0",
                    "max-version": "10.21",
                    "sql-dir": "SQL"
                }
            },
            "license": [
                "GPL-3.0+"
            ],
            "authors": [
                {
                    "name": "Sebastien Blaisot",
                    "email": "sebastien@blaisot.org",
                    "role": "Developer"
                },
                {
                    "name": "Jocelyn Delalande",
                    "role": "Developer"
                }
            ],
            "description": "The automatic addressbook plugin collect each address you send an email to and records it in an address book, making it available for later use or auto-completion.",
            "homepage": "https://github.com/sblaisot/automatic_addressbook",
            "keywords": [
                "addressbook",
                "automatic"
            ],
            "time": "2017-01-26T08:10:28+00:00"
        },
        {
            "name": "symfony/deprecation-contracts",
            "version": "v3.4.0",
            "source": {
                "type": "git",
                "url": "https://github.com/symfony/deprecation-contracts.git",
                "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf",
                "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf",
                "shasum": ""
            },
            "require": {
                "php": ">=8.1"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-main": "3.4-dev"
                },
                "thanks": {
                    "name": "symfony/contracts",
                    "url": "https://github.com/symfony/contracts"
                }
            },
            "autoload": {
                "files": [
                    "function.php"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Nicolas Grekas",
                    "email": "p@tchwork.com"
                },
                {
                    "name": "Symfony Community",
                    "homepage": "https://symfony.com/contributors"
                }
            ],
            "description": "A generic function and convention to trigger deprecation notices",
            "homepage": "https://symfony.com",
            "support": {
                "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0"
            },
            "funding": [
                {
                    "url": "https://symfony.com/sponsor",
                    "type": "custom"
                },
                {
                    "url": "https://github.com/fabpot",
                    "type": "github"
                },
                {
                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
                    "type": "tidelift"
                }
            ],
            "time": "2023-05-23T14:45:45+00:00"
        }
    ],
    "packages-dev": [
        {
            "name": "doctrine/instantiator",
            "version": "1.5.0",
            "source": {
                "type": "git",
                "url": "https://github.com/doctrine/instantiator.git",
                "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b",
                "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b",
                "shasum": ""
            },
            "require": {
                "php": "^7.1 || ^8.0"
            },
            "require-dev": {
                "doctrine/coding-standard": "^9 || ^11",
                "ext-pdo": "*",
                "ext-phar": "*",
                "phpbench/phpbench": "^0.16 || ^1",
                "phpstan/phpstan": "^1.4",
                "phpstan/phpstan-phpunit": "^1",
                "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
                "vimeo/psalm": "^4.30 || ^5.4"
            },
            "type": "library",
            "autoload": {
                "psr-4": {
                    "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Marco Pivetta",
                    "email": "ocramius@gmail.com",
                    "homepage": "https://ocramius.github.io/"
                }
            ],
            "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
            "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
            "keywords": [
                "constructor",
                "instantiate"
            ],
            "support": {
                "issues": "https://github.com/doctrine/instantiator/issues",
                "source": "https://github.com/doctrine/instantiator/tree/1.5.0"
            },
            "funding": [
                {
                    "url": "https://www.doctrine-project.org/sponsorship.html",
                    "type": "custom"
                },
                {
                    "url": "https://www.patreon.com/phpdoctrine",
                    "type": "patreon"
                },
                {
                    "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
                    "type": "tidelift"
                }
            ],
            "time": "2022-12-30T00:15:36+00:00"
        },
        {
            "name": "phpdocumentor/reflection-docblock",
            "version": "2.0.5",
            "source": {
                "type": "git",
                "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
                "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/e6a969a640b00d8daa3c66518b0405fb41ae0c4b",
                "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.3"
            },
            "require-dev": {
                "phpunit/phpunit": "~4.0"
            },
            "suggest": {
                "dflydev/markdown": "~1.0",
                "erusev/parsedown": "~1.0"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "2.0.x-dev"
                }
            },
            "autoload": {
                "psr-0": {
                    "phpDocumentor": [
                        "src/"
                    ]
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Mike van Riel",
                    "email": "mike.vanriel@naenius.com"
                }
            ],
            "support": {
                "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
                "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/release/2.x"
            },
            "time": "2016-01-25T08:17:30+00:00"
        },
        {
            "name": "phpspec/prophecy",
            "version": "v1.5.0",
            "source": {
                "type": "git",
                "url": "https://github.com/phpspec/prophecy.git",
                "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4745ded9307786b730d7a60df5cb5a6c43cf95f7",
                "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7",
                "shasum": ""
            },
            "require": {
                "doctrine/instantiator": "^1.0.2",
                "phpdocumentor/reflection-docblock": "~2.0",
                "sebastian/comparator": "~1.1"
            },
            "require-dev": {
                "phpspec/phpspec": "~2.0"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.4.x-dev"
                }
            },
            "autoload": {
                "psr-0": {
                    "Prophecy\\": "src/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Konstantin Kudryashov",
                    "email": "ever.zet@gmail.com",
                    "homepage": "http://everzet.com"
                },
                {
                    "name": "Marcello Duarte",
                    "email": "marcello.duarte@gmail.com"
                }
            ],
            "description": "Highly opinionated mocking framework for PHP 5.3+",
            "homepage": "https://github.com/phpspec/prophecy",
            "keywords": [
                "Double",
                "Dummy",
                "fake",
                "mock",
                "spy",
                "stub"
            ],
            "support": {
                "issues": "https://github.com/phpspec/prophecy/issues",
                "source": "https://github.com/phpspec/prophecy/tree/master"
            },
            "time": "2015-08-13T10:07:40+00:00"
        },
        {
            "name": "phpunit/php-code-coverage",
            "version": "2.2.4",
            "source": {
                "type": "git",
                "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
                "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979",
                "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.3",
                "phpunit/php-file-iterator": "~1.3",
                "phpunit/php-text-template": "~1.2",
                "phpunit/php-token-stream": "~1.3",
                "sebastian/environment": "^1.3.2",
                "sebastian/version": "~1.0"
            },
            "require-dev": {
                "ext-xdebug": ">=2.1.4",
                "phpunit/phpunit": "~4"
            },
            "suggest": {
                "ext-dom": "*",
                "ext-xdebug": ">=2.2.1",
                "ext-xmlwriter": "*"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "2.2.x-dev"
                }
            },
            "autoload": {
                "classmap": [
                    "src/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Sebastian Bergmann",
                    "email": "sb@sebastian-bergmann.de",
                    "role": "lead"
                }
            ],
            "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
            "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
            "keywords": [
                "coverage",
                "testing",
                "xunit"
            ],
            "support": {
                "irc": "irc://irc.freenode.net/phpunit",
                "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
                "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/2.2"
            },
            "time": "2015-10-06T15:47:00+00:00"
        },
        {
            "name": "phpunit/php-file-iterator",
            "version": "1.4.5",
            "source": {
                "type": "git",
                "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
                "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4",
                "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.3"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.4.x-dev"
                }
            },
            "autoload": {
                "classmap": [
                    "src/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Sebastian Bergmann",
                    "email": "sb@sebastian-bergmann.de",
                    "role": "lead"
                }
            ],
            "description": "FilterIterator implementation that filters files based on a list of suffixes.",
            "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
            "keywords": [
                "filesystem",
                "iterator"
            ],
            "support": {
                "irc": "irc://irc.freenode.net/phpunit",
                "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
                "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/1.4.5"
            },
            "time": "2017-11-27T13:52:08+00:00"
        },
        {
            "name": "phpunit/php-text-template",
            "version": "1.2.1",
            "source": {
                "type": "git",
                "url": "https://github.com/sebastianbergmann/php-text-template.git",
                "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
                "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.3"
            },
            "type": "library",
            "autoload": {
                "classmap": [
                    "src/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Sebastian Bergmann",
                    "email": "sebastian@phpunit.de",
                    "role": "lead"
                }
            ],
            "description": "Simple template engine.",
            "homepage": "https://github.com/sebastianbergmann/php-text-template/",
            "keywords": [
                "template"
            ],
            "support": {
                "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
                "source": "https://github.com/sebastianbergmann/php-text-template/tree/1.2.1"
            },
            "time": "2015-06-21T13:50:34+00:00"
        },
        {
            "name": "phpunit/php-timer",
            "version": "1.0.8",
            "source": {
                "type": "git",
                "url": "https://github.com/sebastianbergmann/php-timer.git",
                "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/38e9124049cf1a164f1e4537caf19c99bf1eb260",
                "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.3"
            },
            "require-dev": {
                "phpunit/phpunit": "~4|~5"
            },
            "type": "library",
            "autoload": {
                "classmap": [
                    "src/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Sebastian Bergmann",
                    "email": "sb@sebastian-bergmann.de",
                    "role": "lead"
                }
            ],
            "description": "Utility class for timing",
            "homepage": "https://github.com/sebastianbergmann/php-timer/",
            "keywords": [
                "timer"
            ],
            "support": {
                "irc": "irc://irc.freenode.net/phpunit",
                "issues": "https://github.com/sebastianbergmann/php-timer/issues",
                "source": "https://github.com/sebastianbergmann/php-timer/tree/master"
            },
            "time": "2016-05-12T18:03:57+00:00"
        },
        {
            "name": "phpunit/php-token-stream",
            "version": "1.4.12",
            "source": {
                "type": "git",
                "url": "https://github.com/sebastianbergmann/php-token-stream.git",
                "reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/1ce90ba27c42e4e44e6d8458241466380b51fa16",
                "reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16",
                "shasum": ""
            },
            "require": {
                "ext-tokenizer": "*",
                "php": ">=5.3.3"
            },
            "require-dev": {
                "phpunit/phpunit": "~4.2"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.4-dev"
                }
            },
            "autoload": {
                "classmap": [
                    "src/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Sebastian Bergmann",
                    "email": "sebastian@phpunit.de"
                }
            ],
            "description": "Wrapper around PHP's tokenizer extension.",
            "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
            "keywords": [
                "tokenizer"
            ],
            "support": {
                "issues": "https://github.com/sebastianbergmann/php-token-stream/issues",
                "source": "https://github.com/sebastianbergmann/php-token-stream/tree/1.4"
            },
            "abandoned": true,
            "time": "2017-12-04T08:55:13+00:00"
        },
        {
            "name": "phpunit/phpunit",
            "version": "4.8.36",
            "source": {
                "type": "git",
                "url": "https://github.com/sebastianbergmann/phpunit.git",
                "reference": "46023de9a91eec7dfb06cc56cb4e260017298517"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/46023de9a91eec7dfb06cc56cb4e260017298517",
                "reference": "46023de9a91eec7dfb06cc56cb4e260017298517",
                "shasum": ""
            },
            "require": {
                "ext-dom": "*",
                "ext-json": "*",
                "ext-pcre": "*",
                "ext-reflection": "*",
                "ext-spl": "*",
                "php": ">=5.3.3",
                "phpspec/prophecy": "^1.3.1",
                "phpunit/php-code-coverage": "~2.1",
                "phpunit/php-file-iterator": "~1.4",
                "phpunit/php-text-template": "~1.2",
                "phpunit/php-timer": "^1.0.6",
                "phpunit/phpunit-mock-objects": "~2.3",
                "sebastian/comparator": "~1.2.2",
                "sebastian/diff": "~1.2",
                "sebastian/environment": "~1.3",
                "sebastian/exporter": "~1.2",
                "sebastian/global-state": "~1.0",
                "sebastian/version": "~1.0",
                "symfony/yaml": "~2.1|~3.0"
            },
            "suggest": {
                "phpunit/php-invoker": "~1.1"
            },
            "bin": [
                "phpunit"
            ],
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "4.8.x-dev"
                }
            },
            "autoload": {
                "classmap": [
                    "src/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Sebastian Bergmann",
                    "email": "sebastian@phpunit.de",
                    "role": "lead"
                }
            ],
            "description": "The PHP Unit Testing framework.",
            "homepage": "https://phpunit.de/",
            "keywords": [
                "phpunit",
                "testing",
                "xunit"
            ],
            "support": {
                "issues": "https://github.com/sebastianbergmann/phpunit/issues",
                "source": "https://github.com/sebastianbergmann/phpunit/tree/4.8.36"
            },
            "time": "2017-06-21T08:07:12+00:00"
        },
        {
            "name": "phpunit/phpunit-mock-objects",
            "version": "2.3.8",
            "source": {
                "type": "git",
                "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
                "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983",
                "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983",
                "shasum": ""
            },
            "require": {
                "doctrine/instantiator": "^1.0.2",
                "php": ">=5.3.3",
                "phpunit/php-text-template": "~1.2",
                "sebastian/exporter": "~1.2"
            },
            "require-dev": {
                "phpunit/phpunit": "~4.4"
            },
            "suggest": {
                "ext-soap": "*"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "2.3.x-dev"
                }
            },
            "autoload": {
                "classmap": [
                    "src/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Sebastian Bergmann",
                    "email": "sb@sebastian-bergmann.de",
                    "role": "lead"
                }
            ],
            "description": "Mock Object library for PHPUnit",
            "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
            "keywords": [
                "mock",
                "xunit"
            ],
            "support": {
                "irc": "irc://irc.freenode.net/phpunit",
                "issues": "https://github.com/sebastianbergmann/phpunit-mock-objects/issues",
                "source": "https://github.com/sebastianbergmann/phpunit-mock-objects/tree/2.3"
            },
            "abandoned": true,
            "time": "2015-10-02T06:51:40+00:00"
        },
        {
            "name": "sebastian/comparator",
            "version": "1.2.4",
            "source": {
                "type": "git",
                "url": "https://github.com/sebastianbergmann/comparator.git",
                "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
                "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.3",
                "sebastian/diff": "~1.2",
                "sebastian/exporter": "~1.2 || ~2.0"
            },
            "require-dev": {
                "phpunit/phpunit": "~4.4"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.2.x-dev"
                }
            },
            "autoload": {
                "classmap": [
                    "src/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Jeff Welch",
                    "email": "whatthejeff@gmail.com"
                },
                {
                    "name": "Volker Dusch",
                    "email": "github@wallbash.com"
                },
                {
                    "name": "Bernhard Schussek",
                    "email": "bschussek@2bepublished.at"
                },
                {
                    "name": "Sebastian Bergmann",
                    "email": "sebastian@phpunit.de"
                }
            ],
            "description": "Provides the functionality to compare PHP values for equality",
            "homepage": "http://www.github.com/sebastianbergmann/comparator",
            "keywords": [
                "comparator",
                "compare",
                "equality"
            ],
            "support": {
                "issues": "https://github.com/sebastianbergmann/comparator/issues",
                "source": "https://github.com/sebastianbergmann/comparator/tree/1.2"
            },
            "time": "2017-01-29T09:50:25+00:00"
        },
        {
            "name": "sebastian/diff",
            "version": "1.4.1",
            "source": {
                "type": "git",
                "url": "https://github.com/sebastianbergmann/diff.git",
                "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e",
                "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.3"
            },
            "require-dev": {
                "phpunit/phpunit": "~4.8"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.4-dev"
                }
            },
            "autoload": {
                "classmap": [
                    "src/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Kore Nordmann",
                    "email": "mail@kore-nordmann.de"
                },
                {
                    "name": "Sebastian Bergmann",
                    "email": "sebastian@phpunit.de"
                }
            ],
            "description": "Diff implementation",
            "homepage": "https://github.com/sebastianbergmann/diff",
            "keywords": [
                "diff"
            ],
            "support": {
                "issues": "https://github.com/sebastianbergmann/diff/issues",
                "source": "https://github.com/sebastianbergmann/diff/tree/master"
            },
            "time": "2015-12-08T07:14:41+00:00"
        },
        {
            "name": "sebastian/environment",
            "version": "1.3.7",
            "source": {
                "type": "git",
                "url": "https://github.com/sebastianbergmann/environment.git",
                "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4e8f0da10ac5802913afc151413bc8c53b6c2716",
                "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.3"
            },
            "require-dev": {
                "phpunit/phpunit": "~4.4"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.3.x-dev"
                }
            },
            "autoload": {
                "classmap": [
                    "src/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Sebastian Bergmann",
                    "email": "sebastian@phpunit.de"
                }
            ],
            "description": "Provides functionality to handle HHVM/PHP environments",
            "homepage": "http://www.github.com/sebastianbergmann/environment",
            "keywords": [
                "Xdebug",
                "environment",
                "hhvm"
            ],
            "support": {
                "issues": "https://github.com/sebastianbergmann/environment/issues",
                "source": "https://github.com/sebastianbergmann/environment/tree/1.3.7"
            },
            "time": "2016-05-17T03:18:57+00:00"
        },
        {
            "name": "sebastian/exporter",
            "version": "1.2.2",
            "source": {
                "type": "git",
                "url": "https://github.com/sebastianbergmann/exporter.git",
                "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4",
                "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.3",
                "sebastian/recursion-context": "~1.0"
            },
            "require-dev": {
                "ext-mbstring": "*",
                "phpunit/phpunit": "~4.4"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.3.x-dev"
                }
            },
            "autoload": {
                "classmap": [
                    "src/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Jeff Welch",
                    "email": "whatthejeff@gmail.com"
                },
                {
                    "name": "Volker Dusch",
                    "email": "github@wallbash.com"
                },
                {
                    "name": "Bernhard Schussek",
                    "email": "bschussek@2bepublished.at"
                },
                {
                    "name": "Sebastian Bergmann",
                    "email": "sebastian@phpunit.de"
                },
                {
                    "name": "Adam Harvey",
                    "email": "aharvey@php.net"
                }
            ],
            "description": "Provides the functionality to export PHP variables for visualization",
            "homepage": "http://www.github.com/sebastianbergmann/exporter",
            "keywords": [
                "export",
                "exporter"
            ],
            "support": {
                "issues": "https://github.com/sebastianbergmann/exporter/issues",
                "source": "https://github.com/sebastianbergmann/exporter/tree/master"
            },
            "time": "2016-06-17T09:04:28+00:00"
        },
        {
            "name": "sebastian/global-state",
            "version": "1.1.1",
            "source": {
                "type": "git",
                "url": "https://github.com/sebastianbergmann/global-state.git",
                "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4",
                "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.3"
            },
            "require-dev": {
                "phpunit/phpunit": "~4.2"
            },
            "suggest": {
                "ext-uopz": "*"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.0-dev"
                }
            },
            "autoload": {
                "classmap": [
                    "src/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Sebastian Bergmann",
                    "email": "sebastian@phpunit.de"
                }
            ],
            "description": "Snapshotting of global state",
            "homepage": "http://www.github.com/sebastianbergmann/global-state",
            "keywords": [
                "global state"
            ],
            "support": {
                "issues": "https://github.com/sebastianbergmann/global-state/issues",
                "source": "https://github.com/sebastianbergmann/global-state/tree/1.1.1"
            },
            "time": "2015-10-12T03:26:01+00:00"
        },
        {
            "name": "sebastian/recursion-context",
            "version": "1.0.5",
            "source": {
                "type": "git",
                "url": "https://github.com/sebastianbergmann/recursion-context.git",
                "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7",
                "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.3"
            },
            "require-dev": {
                "phpunit/phpunit": "~4.4"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.0.x-dev"
                }
            },
            "autoload": {
                "classmap": [
                    "src/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Jeff Welch",
                    "email": "whatthejeff@gmail.com"
                },
                {
                    "name": "Sebastian Bergmann",
                    "email": "sebastian@phpunit.de"
                },
                {
                    "name": "Adam Harvey",
                    "email": "aharvey@php.net"
                }
            ],
            "description": "Provides functionality to recursively process PHP variables",
            "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
            "support": {
                "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
                "source": "https://github.com/sebastianbergmann/recursion-context/tree/master"
            },
            "time": "2016-10-03T07:41:43+00:00"
        },
        {
            "name": "sebastian/version",
            "version": "1.0.6",
            "source": {
                "type": "git",
                "url": "https://github.com/sebastianbergmann/version.git",
                "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
                "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
                "shasum": ""
            },
            "type": "library",
            "autoload": {
                "classmap": [
                    "src/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Sebastian Bergmann",
                    "email": "sebastian@phpunit.de",
                    "role": "lead"
                }
            ],
            "description": "Library that helps with managing the version number of Git-hosted PHP projects",
            "homepage": "https://github.com/sebastianbergmann/version",
            "support": {
                "issues": "https://github.com/sebastianbergmann/version/issues",
                "source": "https://github.com/sebastianbergmann/version/tree/1.0.6"
            },
            "time": "2015-06-21T13:59:46+00:00"
        },
        {
            "name": "symfony/polyfill-ctype",
            "version": "v1.29.0",
            "source": {
                "type": "git",
                "url": "https://github.com/symfony/polyfill-ctype.git",
                "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4",
                "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4",
                "shasum": ""
            },
            "require": {
                "php": ">=7.1"
            },
            "provide": {
                "ext-ctype": "*"
            },
            "suggest": {
                "ext-ctype": "For best performance"
            },
            "type": "library",
            "extra": {
                "thanks": {
                    "name": "symfony/polyfill",
                    "url": "https://github.com/symfony/polyfill"
                }
            },
            "autoload": {
                "files": [
                    "bootstrap.php"
                ],
                "psr-4": {
                    "Symfony\\Polyfill\\Ctype\\": ""
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Gert de Pagter",
                    "email": "BackEndTea@gmail.com"
                },
                {
                    "name": "Symfony Community",
                    "homepage": "https://symfony.com/contributors"
                }
            ],
            "description": "Symfony polyfill for ctype functions",
            "homepage": "https://symfony.com",
            "keywords": [
                "compatibility",
                "ctype",
                "polyfill",
                "portable"
            ],
            "support": {
                "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0"
            },
            "funding": [
                {
                    "url": "https://symfony.com/sponsor",
                    "type": "custom"
                },
                {
                    "url": "https://github.com/fabpot",
                    "type": "github"
                },
                {
                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
                    "type": "tidelift"
                }
            ],
            "time": "2024-01-29T20:11:03+00:00"
        },
        {
            "name": "symfony/yaml",
            "version": "v3.4.47",
            "source": {
                "type": "git",
                "url": "https://github.com/symfony/yaml.git",
                "reference": "88289caa3c166321883f67fe5130188ebbb47094"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/symfony/yaml/zipball/88289caa3c166321883f67fe5130188ebbb47094",
                "reference": "88289caa3c166321883f67fe5130188ebbb47094",
                "shasum": ""
            },
            "require": {
                "php": "^5.5.9|>=7.0.8",
                "symfony/polyfill-ctype": "~1.8"
            },
            "conflict": {
                "symfony/console": "<3.4"
            },
            "require-dev": {
                "symfony/console": "~3.4|~4.0"
            },
            "suggest": {
                "symfony/console": "For validating YAML files using the lint command"
            },
            "type": "library",
            "autoload": {
                "psr-4": {
                    "Symfony\\Component\\Yaml\\": ""
                },
                "exclude-from-classmap": [
                    "/Tests/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Fabien Potencier",
                    "email": "fabien@symfony.com"
                },
                {
                    "name": "Symfony Community",
                    "homepage": "https://symfony.com/contributors"
                }
            ],
            "description": "Symfony Yaml Component",
            "homepage": "https://symfony.com",
            "support": {
                "source": "https://github.com/symfony/yaml/tree/v3.4.47"
            },
            "funding": [
                {
                    "url": "https://symfony.com/sponsor",
                    "type": "custom"
                },
                {
                    "url": "https://github.com/fabpot",
                    "type": "github"
                },
                {
                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
                    "type": "tidelift"
                }
            ],
            "time": "2020-10-24T10:57:07+00:00"
        }
    ],
    "aliases": [],
    "minimum-stability": "stable",
    "stability-flags": [],
    "prefer-stable": false,
    "prefer-lowest": false,
    "platform": {
        "php": ">=7.3.0"
    },
    "platform-dev": [],
    "plugin-api-version": "2.3.0"
}
lapineige commented 4 months ago

Great thank you !

So we could use this directly in the package ?

rodinux commented 4 months ago

Great thank you !

So we could use this directly in the package ?

I don't know, I just understand if you remove or rename this file, the process in install will generate it.

vcorreze commented 3 months ago

Well, I've been trying to update with this solution but getting an error : seems that php-net_ldap3.git needs authentication now

fatal: unable to access 'https://git.kolab.org/diffusion/PNL/php-net_ldap3.git/': The requested URL returned error: 503

rodinux commented 3 months ago

Well, I've been trying to update with this solution but getting an error : seems that php-net_ldap3.git needs authentication now

fatal: unable to access 'https://git.kolab.org/diffusion/PNL/php-net_ldap3.git/': The requested URL returned error: 503

Can you tell us how you process ?

zamentur commented 2 months ago

On my side i have done this to fix it:

cd /var/www/roundcube/
mv composer.lock composer.lock.bkp
rm composer.json
rm -r vendor
COMPOSER_ALLOW_SUPERUSER=1 php8.1 /var/www/roundcube/composer.phar require roundcube/carddav 5.0.1 --with-all-dependencies
cd ../
yunohost app upgrade roundcube --force
cd /var/www/roundcube/
source /usr/share/yunohost/helpers
app=roundcube
ynh_composer_exec --commands="require kolab/net_ldap3 --update-with-all-dependencies" --phpversion=8.1 --workdir=/var/www/roundcube
ynh_composer_exec --commands="require pear/net_sieve --update-with-all-dependencies" --phpversion=8.1 --workdir=/var/www/roundcube
tio-trom commented 2 months ago

On my side i have done this to fix it:

cd /var/www/roundcube/
mv composer.lock composer.lock.bkp
rm composer.json
rm -r vendor
COMPOSER_ALLOW_SUPERUSER=1 php8.1 /var/www/roundcube/composer.phar require roundcube/carddav 5.0.1 --with-all-dependencies
cd ../
yunohost app upgrade roundcube --force
cd /var/www/roundcube/
source /usr/share/yunohost/helpers
app=roundcube
ynh_composer_exec --commands="require kolab/net_ldap3 --update-with-all-dependencies" --phpversion=8.1 --workdir=/var/www/roundcube
ynh_composer_exec --commands="require pear/net_sieve --update-with-all-dependencies" --phpversion=8.1 --workdir=/var/www/roundcube

I have a lot of applications installed on my server. Will this method affect any of them?

g1smo commented 2 months ago

This should not affect other applications.

For me it was much simpler to upgrade; I just renamed /var/www/roundcube/composer.lock to something else (I added .bak in the end). Then the upgrade went through.

On 17. 04. 24 00:51, Tio wrote:

On my side i have done this to fix it:

|cd /var/www/roundcube/ mv composer.lock composer.lock.bkp rm
composer.json rm -r vendor COMPOSER_ALLOW_SUPERUSER=1 php8.1
/var/www/roundcube/composer.phar require roundcube/carddav 5.0.1
--with-all-dependencies cd ../ yunohost app upgrade roundcube
--force cd /var/www/roundcube/ source /usr/share/yunohost/helpers
app=roundcube ynh_composer_exec --commands="require kolab/net_ldap3
--update-with-all-dependencies" --phpversion=8.1
--workdir=/var/www/roundcube ynh_composer_exec --commands="require
pear/net_sieve --update-with-all-dependencies" --phpversion=8.1
--workdir=/var/www/roundcube |

I have a lot of applications installed on my server. Will this method affect any of them?

— Reply to this email directly, view it on GitHub https://github.com/YunoHost-Apps/roundcube_ynh/issues/193#issuecomment-2060037132, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7WIUV5IJSX35MLGX2SHQDY5WTQVAVCNFSM6AAAAABCNL45G6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRQGAZTOMJTGI. You are receiving this because you commented.Message ID: @.***>

tio-trom commented 2 months ago

This should not affect other applications. For me it was much simpler to upgrade; I just renamed /var/www/roundcube/composer.lock to something else (I added .bak in the end). Then the upgrade went through. On 17. 04. 24 00:51, Tio wrote: On my side i have done this to fix it: |cd /var/www/roundcube/ mv composer.lock composer.lock.bkp rm composer.json rm -r vendor COMPOSER_ALLOW_SUPERUSER=1 php8.1 /var/www/roundcube/composer.phar require roundcube/carddav 5.0.1 --with-all-dependencies cd ../ yunohost app upgrade roundcube --force cd /var/www/roundcube/ source /usr/share/yunohost/helpers app=roundcube ynh_composer_exec --commands="require kolab/net_ldap3 --update-with-all-dependencies" --phpversion=8.1 --workdir=/var/www/roundcube ynh_composer_exec --commands="require pear/net_sieve --update-with-all-dependencies" --phpversion=8.1 --workdir=/var/www/roundcube | I have a lot of applications installed on my server. Will this method affect any of them? — Reply to this email directly, view it on GitHub <#193 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7WIUV5IJSX35MLGX2SHQDY5WTQVAVCNFSM6AAAAABCNL45G6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRQGAZTOMJTGI. You are receiving this because you commented.Message ID: @.***>

Ok that was easy and it worked. Thanks!

olberger commented 2 months ago

AFAICS, there's a 1.6.6~ynh2 version that appeared recently... would it by chance address this issue (btw, I couldn't spot a changelog to try and track this, and the Git repo isn't really explicit on what's cooking, what would be in a release... but I may have overlooked some release labelling practices). Thanks in advance.