Problem/Motivation
Installing this package via Composer throws a warning:
Package container-interop/container-interop is abandoned, you should avoid using it. Use psr/container instead.
I know this is "just a warning" and end users can safely ignore it, but it's still an indicator of a problem and potential danger (bad things happen to abandoned packages) and needs to be addressed.
This is due to Upgrade Status' dependency on mathieuviossat/arraytotexttable, which through a chain of dependencies relies on laminas/laminas-servicemanager. That package has a PR to remove container-interop but it seems stalled, and the lack of activity on downstream projects makes me not so confident that they'd ever upgrade once it's fixed: https://github.com/laminas/laminas-servicemanager/pull/96
Steps to reproduce
composer require drupal/upgrade-status
Proposed resolution
Consider an alternative to mathieuviossat/arraytotexttable
Comments
Comment #2
Gábor HojtsyDo you have suggested alternatives to arraytotexttable?
Comment #3
Dane Powell CreditAttribution: Dane Powell at Acquia commentedI'd suggest using the Symfony Table Helper. It's super easy to implement, at least for something that's already a Console application. I've never tried to use it in a Drupal module, but I think it should work.
Comment #4
amanire CreditAttribution: amanire at Environmental Defense Fund commentedI think this is a duplicate of https://www.drupal.org/project/upgrade_status/issues/3345997?
Comment #5
Gábor HojtsyYeah https://packagist.org/packages/mathieuviossat/arraytotexttable#v1.0.7 still dependened on Zend but later versions moved to Laminas and it does not depend on container-interop either. 4.x and 3.x of Upgrade Status both depend on
"mathieuviossat/arraytotexttable": "~1.0.0",
so they should have picked up this fix. Marking duplicate of #3345997: Package x is abandoned indeed.Comment #6
MustangGB CreditAttribution: MustangGB commentedJust to mention there is another slight "problem" with
mathieuviossat/arraytotexttable
.That being it effectively prevents PHP 8.2 usage.
Reason being that
drupal/core-recommended
wantspsr/container v2
.Whereas
mathieuviossat/arraytotexttable
wantspsr/container v1
.It "kind of works" because
laminas/laminas-servicemanager v3.15.0
(which is a dependency oflaminas/laminas-text
which is a dependency ofmathieuviossat/arraytotexttable
) allowed forpsr/container v1/v2
, however this was quickly realised as BC breaking and rolled back.However as a side effect
laminas/laminas-servicemanager v3.15.0
also has PHP 8.1 as a restriction.The end result being the only option for using
drupal/core-recommended
andmathieuviossat/arraytotexttable
is to use the "broken"laminas/laminas-servicemanager v3.15.0
, therefore no PHP 8.2 option.That being said there is a
laminas/laminas-servicemanager v4.0.0-rc2
that does supportpsr/container v2
and PHP 8.2, so this could be resolved soon-ish.