Technology1 min read

Cooldown Dependency Policy now in Composer 2.11

By · Published by Everything Blog

In short

The feature enables teams to designate a waiting period during commands like require and update, leaving existing lock file installations untouched. To enforce this, the system reads an authoritative published-time field provided directly by Packagist.org instead of author-defined timestamps. Developers can fine-tune exemptions using wildcards, version constraints, command-line flags, or environment variables. Furthermore, the 2.11.0 update resolves dependency trees faster while patching six separate security vulnerabilities.

Key points

  • Setting a cooldown period helps prevent development teams from immediately pulling malici…: Setting a cooldown period helps prevent development teams from immediately pulling malicious updates into their software projects.
  • Administrators can bypass the waiting period entirely or exempt particular packages using…: Administrators can bypass the waiting period entirely or exempt particular packages using granular ignore rules with wildcard patterns.
  • Teams relying on the automated fallback to source-based installations must adjust their c…: Teams relying on the automated fallback to source-based installations must adjust their configurations because the behavior has been discontinued.

Sources checked by our analysis pipeline: 1

Composer 2.11.0 has a new cooldown dependency policy. You set a waiting time, such as one day, and Composer skips any package version published more recently than that. Composer 2.10 added the first dependency policies, which block versions with security advisories or known malware.

This release also includes six security fixes and faster dependency resolution. If you still depend on Composer falling back to source installs, check the upgrade notes first, since that behavior is gone.

What's New

Cooldown Dependency Policy

Say you set a one-day cooldown, and someone publishes a malicious version of a package you depend on. Composer won't install that version for a day after it was published. If the version is reported and removed in that time, your project never installs it. The policy is off until you set a period

under config.policy

:

{ "config": { "policy": { "cooldown": { "period": "1 day" } } } }

The period

takes a string such as "6 hours"

or "7 days"

, using the units second

, minute

, hour

, day

, or week

. It…

Technology