← Back to Baseline

Why it Matters

Magento projects often depend on third-party PHP libraries through Composer. If any of these libraries are marked as abandoned, it means the maintainer has stopped updating them. These libraries will not receive bug fixes or security patches, creating long-term exposure for the store.

Disallowing abandoned PHP libraries ensures that your dependency stack remains supported and secure. It also forces developers to migrate to actively maintained packages, reducing technical debt and compliance risks.

Verification Steps

Composer audit

# Check abandoned status of all PHP libs
composer show -a | grep abandoned

# Expected: no output (no abandoned libs)

Automation

# CI/CD step to fail build if abandoned libs are detected
composer show -a | grep abandoned && exit 1

Remediation / Fix Guidance

  1. Identify all abandoned libraries using composer show -a.
  2. Replace abandoned libraries with their suggested alternatives (if provided by Packagist).
  3. If no alternative is suggested:
    • Fork the library internally and take over maintenance.
    • Or replace it with a supported library providing similar functionality.
  4. Update your Composer constraints to remove abandoned dependencies permanently.
  5. Block abandoned libraries in CI/CD pipelines so they cannot be reintroduced.

Examples

Fail Example
$ composer show vendor/old-lib -a
name     : vendor/old-lib
versions : * 1.0.0
abandoned: This package is abandoned and no longer maintained. Use vendor/new-lib instead.
# FAIL: Store still uses abandoned library
Pass Example
$ composer show vendor/new-lib -a
name     : vendor/new-lib
versions : * 2.1.0
# PASS: Migrated to supported replacement

References