What does the tilde (~) mean in my composer.json file?
Tilde means next significant release. In your case, it is equivalent to >= 2.0, < 3.0
.
The full explanation is at Tilde Version Range docs page:
The
~
operator is best explained by example:~1.2
is equivalent to>=1.2 <2.0.0
, while~1.2.3
is equivalent to>=1.2.3 <1.3.0
.Another way of looking at it is that using
~
specifies a minimum version, but allows the last digit specified to go up.
Seldeak's below comment is a simple sum up explanation of the Composer documentation.
Tilde
operator is useful for the projects that version their libraries using semantic versioning
scheme.
Semantic versioning
is more of a guideline that evaluates to the next significant release
.
For Composer, this operator means to allow minor releases (that can include patches) without allowing a major version (that may not be backward compatible) while installing and updating.
For example: ~4.1
will allow project versions >=4.1
but <5.0
.
The tilde ~
in ~2.0@dev
exactly mean to go up for immediate version :
For Example :
If we have ~2.0@dev
it goes to up immediate next version => ~2.x@dev