requirements:
    "5.1.0-beta":
    - "clipper/6.4.2"
    - "boost/1.78.0"
    - "rapidjson/1.1.0"
    - "stb/20200203"
    "5.1.0-cura_9365":
    - "clipper/6.4.2"
    - "boost/1.78.0"
    - "rapidjson/1.1.0"
    - "stb/20200203"
requirements_arcus:
    "5.1.0-beta":
    - "protobuf/3.17.1"
    - "arcus/5.1.0-beta@ultimaker/stable"
    "5.1.0-cura_9365":
    - "protobuf/3.17.1"
    - "arcus/5.1.0-CURA-9365@ultimaker/testing"

requirements:
    "5.1.0-beta":
    - "clipper/6.4.2"
    - "boost/1.78.0"
    - "rapidjson/1.1.0"
    - "stb/20200203"
    "5.1.0-cura_9365":
    - "clipper/6.4.2"
    - "boost/1.78.0"
    - "rapidjson/1.1.0"
    - "stb/20200203"
requirements_arcus:
    "5.1.0-beta":
    - "protobuf/3.17.1"
    - "arcus/[~5.1.0-beta]@ultimaker/stable"
    "5.1.0-cura_9365":
    - "protobuf/3.17.1"
    - "arcus/[~5.1.0-cura_9365]@ultimaker/testing"

Use semver compatible range modifier
Use semver compatible range modifier

https://docs.conan.io/en/latest/versioning/version_ranges.html

It won't match build metadata otherwise.

The order of search for matching versions is as follows:

First, the local conan storage is searched for matching versions, unless the --update flag is provided to conan install.
If a matching version is found, it is used in the dependency graph as a solution.
If no matching version is locally found, it starts to search in the remotes, in order. If some remote is specified with -r=remote, then only that remote will be used.
If the --update parameter is used, then the existing packages in the local conan cache will not be used, and the same search of the previous steps is carried out in the remotes. If new matching versions are found, they will be retrieved, so subsequent calls to install will find them locally and use them.

Contributes to CURA-9365
