Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
pp-r opened this issue Jan 27, 2024 · 27 comments · May be fixed by #195
Open

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

pp-r opened this issue Jan 27, 2024 · 27 comments · May be fixed by #195

Comments

@pp-r
Copy link
Contributor

pp-r commented Jan 27, 2024

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

  • Hardware: VPS bought online and Other ARM board 64bits
  • YunoHost version: 11.2.9.1
  • I have access to my server: Through SSH and through the webadmin
  • Are you in a special context or did you perform some particular tweaking on your YunoHost instance?: yes
    • If yes, please explain:
  • Using an exotic ssh port

Steps to reproduce

  • If you used the webadmin, please perform the equivalent command from the CLI first.
  • If the error occurs in your browser, explain what you did:
    1. Connect the webadmin
    2. Go to update
    3. Click on upgrade Roundcube
    4. WARNING - Unable to install core dependencies with Composer.

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
Copy link

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
Copy link

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
Copy link

rodinux commented Jan 28, 2024

It seems the error come with this line on the script upgrade

COMPOSER_ALLOW_SUPERUSER=1 ynh_exec_warn "php$phpversion" ./bin/update.sh --version=$oldversion -y

@noeperez83
Copy link

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
Copy link

isAAAc commented Jan 29, 2024

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

@olberger
Copy link

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
Copy link

Szkodnix commented Feb 2, 2024

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

@bidroidk
Copy link

bidroidk commented Feb 3, 2024

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

Thank you for your help

@HugoPoi
Copy link

HugoPoi commented Feb 3, 2024

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

# Check if dependencies need to be updated with Composer
if [ -f "$install_dir/composer.json" ]
then
ynh_exec_warn_less ynh_composer_exec --commands="update"
# Update plugin-installer for Composer version 2.0
ynh_exec_warn_less ynh_composer_exec --commands="require roundcube/plugin-installer:>=0.2.0"
else
# Install composer.json
cp "$install_dir/composer.json-dist" "$install_dir/composer.json"
fi

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

@rodinux
Copy link

rodinux commented Feb 3, 2024

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

# Check if dependencies need to be updated with Composer
if [ -f "$install_dir/composer.json" ]
then
ynh_exec_warn_less ynh_composer_exec --commands="update"
# Update plugin-installer for Composer version 2.0
ynh_exec_warn_less ynh_composer_exec --commands="require roundcube/plugin-installer:>=0.2.0"
else
# Install composer.json
cp "$install_dir/composer.json-dist" "$install_dir/composer.json"
fi

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
Copy link

HugoPoi commented Feb 4, 2024

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

@HugoPoi
Copy link

HugoPoi commented Feb 4, 2024

@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.

@HugoPoi HugoPoi linked a pull request Feb 4, 2024 that will close this issue
5 tasks
@nicofrand
Copy link

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

@rodinux
Copy link

rodinux commented Feb 8, 2024

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
Copy link

g1smo commented Feb 13, 2024

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
Copy link
Member

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
Copy link

rodinux commented Feb 20, 2024

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": "[email protected]",
                    "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": "[email protected]",
                    "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": "[email protected]",
                    "homepage": "https://github.com/GrahamCampbell"
                },
                {
                    "name": "Michael Dowling",
                    "email": "[email protected]",
                    "homepage": "https://github.com/mtdowling"
                },
                {
                    "name": "Jeremy Lindblom",
                    "email": "[email protected]",
                    "homepage": "https://github.com/jeremeamia"
                },
                {
                    "name": "George Mponos",
                    "email": "[email protected]",
                    "homepage": "https://github.com/gmponos"
                },
                {
                    "name": "Tobias Nyholm",
                    "email": "[email protected]",
                    "homepage": "https://github.com/Nyholm"
                },
                {
                    "name": "Márk Sági-Kazár",
                    "email": "[email protected]",
                    "homepage": "https://github.com/sagikazarmark"
                },
                {
                    "name": "Tobias Schultze",
                    "email": "[email protected]",
                    "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": "[email protected]",
                    "homepage": "https://github.com/GrahamCampbell"
                },
                {
                    "name": "Michael Dowling",
                    "email": "[email protected]",
                    "homepage": "https://github.com/mtdowling"
                },
                {
                    "name": "Tobias Nyholm",
                    "email": "[email protected]",
                    "homepage": "https://github.com/Nyholm"
                },
                {
                    "name": "Tobias Schultze",
                    "email": "[email protected]",
                    "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": "[email protected]",
                    "homepage": "https://github.com/GrahamCampbell"
                },
                {
                    "name": "Michael Dowling",
                    "email": "[email protected]",
                    "homepage": "https://github.com/mtdowling"
                },
                {
                    "name": "George Mponos",
                    "email": "[email protected]",
                    "homepage": "https://github.com/gmponos"
                },
                {
                    "name": "Tobias Nyholm",
                    "email": "[email protected]",
                    "homepage": "https://github.com/Nyholm"
                },
                {
                    "name": "Márk Sági-Kazár",
                    "email": "[email protected]",
                    "homepage": "https://github.com/sagikazarmark"
                },
                {
                    "name": "Tobias Schultze",
                    "email": "[email protected]",
                    "homepage": "https://github.com/Tobion"
                },
                {
                    "name": "Márk Sági-Kazár",
                    "email": "[email protected]",
                    "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": "[email protected]",
                    "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": "[email protected]",
                    "role": "Lead"
                },
                {
                    "name": "Aleksander Machniak",
                    "email": "[email protected]",
                    "role": "Developer"
                },
                {
                    "name": "Thomas Bruederli",
                    "email": "[email protected]",
                    "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": "[email protected]"
                },
                {
                    "name": "Matt Farina",
                    "email": "[email protected]"
                },
                {
                    "name": "Asmir Mustafic",
                    "email": "[email protected]"
                }
            ],
            "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": "[email protected]",
                    "role": "Lead"
                },
                {
                    "name": "Richard Heyes",
                    "email": "[email protected]",
                    "role": "Lead"
                },
                {
                    "name": "Michael Bretterklieber",
                    "email": "[email protected]",
                    "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": "[email protected]"
                },
                {
                    "name": "David Jean Louis",
                    "email": "[email protected]"
                }
            ],
            "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": "[email protected]",
                    "role": "Lead"
                },
                {
                    "name": "Stig Bakken",
                    "email": "[email protected]",
                    "role": "Developer"
                },
                {
                    "name": "Greg Beaver",
                    "email": "[email protected]",
                    "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": "[email protected]"
                },
                {
                    "name": "Nathan Fredrickson",
                    "email": "[email protected]"
                },
                {
                    "name": "Aleksander Machniak",
                    "email": "[email protected]"
                }
            ],
            "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": "[email protected]",
                    "role": "Lead"
                },
                {
                    "name": "Aleksander Machniak",
                    "email": "[email protected]",
                    "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": "[email protected]",
                    "role": "Lead"
                },
                {
                    "name": "Jan Schneider",
                    "email": "[email protected]",
                    "role": "Lead"
                },
                {
                    "name": "Richard Heyes",
                    "email": "[email protected]",
                    "role": "Lead"
                },
                {
                    "name": "Damian Fernandez Sosa",
                    "email": "[email protected]",
                    "role": "Lead"
                },
                {
                    "name": "Anish Mistry",
                    "email": "[email protected]",
                    "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": "[email protected]",
                    "homepage": "https://www.indelible.org",
                    "role": "Lead"
                },
                {
                    "name": "Chuck Hagenbuch",
                    "email": "[email protected]",
                    "role": "Lead"
                },
                {
                    "name": "Armin Graefe",
                    "email": "[email protected]",
                    "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": "[email protected]",
                    "role": "Lead"
                },
                {
                    "name": "Aleksander Machniak",
                    "email": "[email protected]",
                    "role": "Lead"
                },
                {
                    "name": "Stig Bakken",
                    "email": "[email protected]",
                    "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": "[email protected]",
                    "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": "[email protected]"
                },
                {
                    "name": "Greg Beaver",
                    "email": "[email protected]"
                }
            ],
            "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": "[email protected]"
                }
            ],
            "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": "[email protected]"
                },
                {
                    "name": "Till Klampaeckel",
                    "email": "[email protected]"
                },
                {
                    "name": "Philip Weir",
                    "email": "[email protected]"
                }
            ],
            "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": "[email protected]"
                },
                {
                    "name": "Aleksander Machniak",
                    "email": "[email protected]"
                }
            ],
            "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": "[email protected]",
                    "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": "[email protected]"
                },
                {
                    "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": "[email protected]",
                    "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": "[email protected]"
                }
            ],
            "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": "[email protected]",
                    "homepage": "http://everzet.com"
                },
                {
                    "name": "Marcello Duarte",
                    "email": "[email protected]"
                }
            ],
            "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": "[email protected]",
                    "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": "[email protected]",
                    "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": "[email protected]",
                    "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": "[email protected]",
                    "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": "[email protected]"
                }
            ],
            "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": "[email protected]",
                    "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": "[email protected]",
                    "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": "[email protected]"
                },
                {
                    "name": "Volker Dusch",
                    "email": "[email protected]"
                },
                {
                    "name": "Bernhard Schussek",
                    "email": "[email protected]"
                },
                {
                    "name": "Sebastian Bergmann",
                    "email": "[email protected]"
                }
            ],
            "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": "[email protected]"
                },
                {
                    "name": "Sebastian Bergmann",
                    "email": "[email protected]"
                }
            ],
            "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": "[email protected]"
                }
            ],
            "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": "[email protected]"
                },
                {
                    "name": "Volker Dusch",
                    "email": "[email protected]"
                },
                {
                    "name": "Bernhard Schussek",
                    "email": "[email protected]"
                },
                {
                    "name": "Sebastian Bergmann",
                    "email": "[email protected]"
                },
                {
                    "name": "Adam Harvey",
                    "email": "[email protected]"
                }
            ],
            "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": "[email protected]"
                }
            ],
            "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": "[email protected]"
                },
                {
                    "name": "Sebastian Bergmann",
                    "email": "[email protected]"
                },
                {
                    "name": "Adam Harvey",
                    "email": "[email protected]"
                }
            ],
            "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": "[email protected]",
                    "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": "[email protected]"
                },
                {
                    "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": "[email protected]"
                },
                {
                    "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
Copy link
Member

Great thank you !

So we could use this directly in the package ?

@rodinux
Copy link

rodinux commented Feb 20, 2024

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
Copy link

vcorreze commented Mar 31, 2024

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
Copy link

rodinux commented Mar 31, 2024

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
Copy link

zamentur commented Apr 16, 2024

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
Copy link

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
Copy link

g1smo commented Apr 16, 2024 via email

@tio-trom
Copy link

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
Copy link

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.

@gemlog
Copy link

gemlog commented Jul 12, 2024

In desperation, I deleted the lockfile.
Good news! The upgrade finally succeeded! I logged in and my mail was fine and so on.
Bad news, normal users could not login.
Good news! I edited the one user's profile and then she could log in.
Bad news: that didn't work for everyone. I think it has to do with if they ever actually used the webmail via roundcube or just use the email normally from a client like tbird/evolution/w/e

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.