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

Remaining tasks

User interface changes

API changes

Data model changes

Comments

Dane Powell created an issue. See original summary.

Gábor Hojtsy’s picture

Do you have suggested alternatives to arraytotexttable?

Dane Powell’s picture

Do you have suggested alternatives to arraytotexttable?

I'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.

amanire’s picture

Gábor Hojtsy’s picture

Status: Active » Closed (duplicate)

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

MustangGB’s picture

Just 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 wants psr/container v2.

Whereas mathieuviossat/arraytotexttable wants psr/container v1.

It "kind of works" because laminas/laminas-servicemanager v3.15.0 (which is a dependency of laminas/laminas-text which is a dependency of mathieuviossat/arraytotexttable) allowed for psr/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 and mathieuviossat/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 support psr/container v2 and PHP 8.2, so this could be resolved soon-ish.