Does a ~6.4.0 shopware/core
constraint allow Shopware 6.7.0.0?
A ~6.4.0 shopware/core declaration excludes Shopware 6.7.0.0.
A tilde constraint drops the last given digit and increments the one before it, so how much it accepts depends on how precisely it was written.
The bound this idiom derives
The ~6.4.0 idiom stops below version 6.5.
Shopware 6.7.0.0 sits at or above the bound ~6.4.0 derives, which is why the declaration stops short of it.
The next release up
The next release line above Shopware 6.7.0.0 is 6.7.1.
A ~6.4.0 declaration does NOT reach Shopware 6.7.1, so the next release up is where this constraint stops.
The same declaration against every version we evaluate
| Target | Verdict | Statement |
|---|---|---|
| Shopware 6.6.10.3 | excludes | A ~6.4.0 shopware/core declaration excludes Shopware 6.6.10.3. |
| Shopware 6.7.0.0 | excludes | A ~6.4.0 shopware/core declaration excludes Shopware 6.7.0.0. |
Neighbouring declarations at Shopware 6.7.0.0
| Declaration | Family | At this target | Upper bound | Why |
|---|---|---|---|---|
^6.4 | caret | A ^6.4 shopware/core declaration allows Shopware 6.7.0.0. | The ^6.4 idiom stops below version 7. | Shopware 6.7.0.0 sits below the bound ^6.4 derives, which is why the declaration reaches it. |
>=6.4 | range | A >=6.4 shopware/core declaration allows Shopware 6.7.0.0. | No single upper bound follows from the >=6.4 idiom alone. | >=6.4 derives no single bound, so whether it reaches Shopware 6.7.0.0 is decided clause by clause rather than by one cut-off. |
dev-trunk | unevaluable | A dev-trunk shopware/core declaration cannot be evaluated against Shopware 6.7.0.0. | No single upper bound follows from the dev-trunk idiom alone. | dev-trunk derives no single bound, so whether it reaches Shopware 6.7.0.0 is decided clause by clause rather than by one cut-off. |
What this tells you, and what it does not
- This checks constraint DECLARATIONS, not a full dependency resolution — the definitive gate at update time is still `composer update --dry-run`.
- A plugin with no shopware/* constraint is UNKNOWN, never assumed fine.
- Transitive (non-shopware) dependency conflicts are out of scope.
Check a real shop
Run your composer.lock through the checker — it reads declarations the same way this page does, across every plugin at once.