Tilde and caret version constraints in Composer

There are also some syntactic sugar operators like `~` (tilde) and `^` (caret).
  • `~4.1.3` means `>=4.1.3,<4.2.0`,
  • `~4.1` means `>=4.1.0,<5.0.0` (most used),
  • `~0.4` means `>=0.4.0,<1.0.0`,
  • `~4` means `>=4.0.0,<5.0.0`.
The caret sign is slightly different:
  • `^4.1.3` (most used) means `>=4.1.3,<5.0.0`,
  • `^4.1` means `>=4.1.0,<5.0.0`, same as `~4.1` but:
  • `^0.4` means `>=0.4.0,<0.5.0`, this is different from `~0.4` and is more useful for defining backwards compatible version ranges.
  • `^4` means `>=4.0.0,<5.0.0` which is the same as `~4` and `4.*`.
 
http://blog.madewithlove.be/post/tilde-and-caret-constraints/

Join 9,500+ smart developers

Get my monthly newsletter with what I learn from running Spatie, building Oh Dear, and maintaining 300+ open source packages. Practical takes on Laravel, PHP, and AI that you can actually use.

No spam. Unsubscribe anytime. You can also follow me on X.

Found something interesting to share? Submit a link to the community section.