In the pubspec.yaml file of my Flutter project there is a caret (^) before the version number of some of the dependencies.
pubspec.yaml
^
dependen
It means that any new versions of a dependency that does not contain breaking changes will be accepted.
Dart language follows semantic versioning and uses it for package maintainers.
In layman's terms ^1.8.1 means >= 1.8.1 < 2.0.0
^1.8.1 means >= 1.8.1 < 2.0.0