title: What's the difference between tilde(~) and caret(^) in package.json?
body: <p>After I upgraded to the latest stable <code>node</code> and <code>npm</code>, I tried <code>npm install moment --save</code>. It saves the entry in the <code>package.json</code> with the caret <code>^</code> prefix. Previously, it was a tilde <code>~</code> prefix.</p>
  <ol>
  <li>Why are these changes made in <code>npm</code>?</li>
  <li>What is the difference between tilde <code>~</code> and caret <code>^</code>?</li>
  <li>What are the advantages over others?</li>
  </ol>