This is basically the inverted letter ‘V’, and is found on every keypad or keyboard in this contemporary world. Well, it is the caret symbol and the symbol of Caret is ^. Can you tell me that which is the least used punctuation mark in conventional writing? No, no! I do not mean that it is not used at all.
THREE CARET SYMBOL UPDATE
There is a dedicated command npm update for checking and installing newer versions satisfying semver pattern in you ever wondered that what is the symbol above the digit 6 on your standard qwerty keyboard?
THREE CARET SYMBOL INSTALL
Running npm install will not re-check if there's an even newer version available than you already have installed. Things change when you already have node_modules populated. The package.json file is evaluated, and satisfying versions are installed for each dependency. When executing npm install on a fresh checkout without existing node_modules, everything works nicely.
THREE CARET SYMBOL PATCH
Now it is likely that there will be no tailored bug fix patch release 1.3.5 for your version, and you end up not getting that bug fix. The bug gets proper treatment and is soon fixed in version 1.5.2. Then a mission-critical bug is discovered that affects every version to date.
Today the latest version is actually 1.5.1. The library is well maintained and advances quickly. Let's say you are using version 1.3.4 of a library with a tilde (~) as your dependency. The most common branch that gets a bug fix is the latest stable branch, and it is not that often that they are backported for older versions. When deciding whether to allow patch or minor level newer versions, it is important to note that old versions usually don't receive patches. Contract for Semantic Versioning in package.json. old functionality deprecated, but operational.You can allow a newer patch level version with tilde (~) and newer minor or patch level version with caret (^). Instead of specifying the exact version to be installed in package.json, npm allows you to widen the range of accepted versions. When executing npm install on a fresh checkout without existing node_modules, npm downloads and installs a version that satisfies package.json for each dependency. Giving npm permission to install newer version The safest way is to check the module documentation. A module might use a three-part version number, but increment it as they like. Not every module follows Semantic Versioning. Fixing a bug that wasn't handling certain corner-case in _.find() would make the next release 3.9.3. A new optional argument to _.map would make the next release 3.10.0. Major backward incompatible change to, for example, how _.filter() works, would make the next release 4.0.0.
Let's take lodash version 3.9.2 as a starting point.