By convention a patch release fixes bugs, a minor release adds features compatibly, and a major release may break the API. A range such as ^1.2.3 accepts any version from 1.2.3 up to, but not including, 2.0.0.