jean85/pretty-package-versions
Lightweight wrapper to fetch human-friendly version strings for installed Composer dependencies. Works across Composer 1 and 2 with a smooth upgrade path, using the appropriate backend (InstalledVersions or package-versions-deprecated) as needed.
Start by installing the package via Composer:
composer require 'jean85/pretty-package-versions:^1.5 || ^2.0'
Use the Jean85\PrettyVersions class to get version information for any installed dependency — for example, PrettyVersions::getVersion('phpunit/phpunit'). The returned Version object provides methods like getPrettyVersion() (e.g., '6.0.0') and __toString() (which implicitly calls getPrettyVersion()), making it trivial to display dependency versions in CLI tools, health checks, or error logs. For root project info, use PrettyVersions::getRootPackageVersion().
app:info) to display all major dependencies and versions cleanly.PrettyVersions::getVersion('some-critical-lib') into application health endpoints to validate exact versions.'4.19' vs '5.0') using getShortVersion() or getPrettyVersion().laravel/framework, tightenco/jigsaw, or symfony/console to debug environment discrepancies.^1.5 || ^2.0 to support both Composer 1 and 2 users, ensuring your library works across environments without forcing Composer upgrades.PackageVersions\Versions usage: This package provides stability across Composer versions and handles replaced/provided packages gracefully via exceptions (ProvidedPackageException, ReplacedPackageException).NO_VERSION_TEXT (e.g., "dev-develop" without commit) — always use Version::NO_VERSION_TEXT and Version::NO_REFERENCE_TEXT constants for safe comparisons.getVersionWithShortReference() over deprecated getVersionWithShortCommit().ROOT_PACKAGE_NAME is not guaranteed by Composer’s native API — use PrettyVersions::getRootPackageName() instead for reliability.dev-main@abc123), getPrettyVersion() falls back to getVersionWithShortReference() — handle in UI by stripping commit hash where needed.How can I help you explore Laravel packages today?