Skip to content

Instantly share code, notes, and snippets.

@calebporzio
Last active June 6, 2023 17:40
Show Gist options
  • Star 57 You must be signed in to star a gist
  • Fork 13 You must be signed in to fork a gist
  • Save calebporzio/747fc600f3316e49c4dbb6cb4aab17ed to your computer and use it in GitHub Desktop.
Save calebporzio/747fc600f3316e49c4dbb6cb4aab17ed to your computer and use it in GitHub Desktop.
Composer version symbol cheatsheet
...
"require": {
    "vendor/package": "1.3.2", // exactly 1.3.2 (exact)

    // >, <, >=, <= | specify upper / lower bounds
    "vendor/package": ">=1.3.2", // anything above or equal to 1.3.2
    "vendor/package": "<1.3.2", // anything below 1.3.2

    // * | wildcard
    "vendor/package": "1.3.*", // >=1.3.0 <1.4.0

    // ~ | allows last digit specified to go up
    "vendor/package": "~1.3.2", // >=1.3.2 <1.4.0
    "vendor/package": "~1.3", // >=1.3.0 <2.0.0

    // ^ | doesn't allow breaking changes (major version fixed - following semvar)
    "vendor/package": "^1.3.2", // >=1.3.2 <2.0.0
    "vendor/package": "^0.3.2", // >=0.3.2 <0.4.0 // except if major version is 0
}
@Morgy93
Copy link

Morgy93 commented Jun 30, 2017

@decadence
Copy link

@promatik
Copy link

Do you know the meaning of the symbols ! and ~ when running composer outdated?

almasaeed2010/adminlte      v2.4.3 ! v2.4.8 AdminLTE - admin control ...
nesbot/carbon               1.33.0 ~ 2.1.0  A simple API ...
phpdocumentor/type-resolver 0.4.0  ~ 0.7.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment