Ocramius/PackageVersions

📦 Composer addon to efficiently get installed packages' version numbers

PHP

3,167

1,028 commits

updated Oct 17, 2026

See the code

README

Package Versions

A message to Russian 🇷🇺 people

If you currently live in Russia, please read this message.

Purpose

This utility provides quick and easy access to version information of composer dependencies.

This information is derived from the composer.lock file which is (re)generated during composer install or composer update.

$version = \PackageVersions\Versions::getVersion('ocramius/package-versions');

var_dump($version); // 1.0.0@0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33

Mutation testing badge Type Coverage Downloads Packagist Dependencies

Installation

composer require ocramius/package-versions

It is suggested that you use an optimized composer autoloader (to prevent autoload I/O when accessing the PackageVersions\Versions API) in your composer.json:

...
    "config": {
        "optimize-autoloader": true
    },
...

In case you manually generate your autoloader via the CLI use the --optimize flag:

composer dump-autoload --optimize

Use-cases

This repository implements PackageVersions\Versions::getVersion() in such a way that no IO happens when calling it, because the list of package versions is compiled during composer installation.

This is especially useful when you want to generate assets/code/artifacts that are computed from the current version of a certain dependency. Doing so at runtime by checking the installed version of a package would be too expensive, and this package mitigates that.

ocramius/package-versions for enterprise

Available as part of the Tidelift Subscription.

The maintainer of ocramius/package-versions and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. Learn more..

You can also contact the maintainer at [email protected] for looking into issues related to this package in your private projects.

Ocramius/PackageVersions

📦 Composer addon to efficiently get installed packages' version numbers

PHP

3,167

1,028 commits

updated Oct 17, 2026

See the code

README

Package Versions

A message to Russian 🇷🇺 people

If you currently live in Russia, please read this message.

Purpose

This utility provides quick and easy access to version information of composer dependencies.

This information is derived from the composer.lock file which is (re)generated during composer install or composer update.

$version = \PackageVersions\Versions::getVersion('ocramius/package-versions');

var_dump($version); // 1.0.0@0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33

Mutation testing badge Type Coverage Downloads Packagist Dependencies

Installation

composer require ocramius/package-versions

It is suggested that you use an optimized composer autoloader (to prevent autoload I/O when accessing the PackageVersions\Versions API) in your composer.json:

...
    "config": {
        "optimize-autoloader": true
    },
...

In case you manually generate your autoloader via the CLI use the --optimize flag:

composer dump-autoload --optimize

Use-cases

This repository implements PackageVersions\Versions::getVersion() in such a way that no IO happens when calling it, because the list of package versions is compiled during composer installation.

This is especially useful when you want to generate assets/code/artifacts that are computed from the current version of a certain dependency. Doing so at runtime by checking the installed version of a package would be too expensive, and this package mitigates that.

ocramius/package-versions for enterprise

Available as part of the Tidelift Subscription.

The maintainer of ocramius/package-versions and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. Learn more..

You can also contact the maintainer at [email protected] for looking into issues related to this package in your private projects.

Project health

Overall

4.5/10

Maintained

10/10

Code review

0/10
OpenSSF Scorecard

Significant stargazers

Fabien Potencier

13,642 followers · starred Dec 2017

Alexander M. Turek

452 followers · starred Sep 2019

Grégoire Pineau

813 followers · starred Dec 2017

Carl Schwan

114 followers · starred Jun 2018