Does a ~6.6.0 shopware/core
constraint allow Shopware 6.6.10.3?
A ~6.6.0 shopware/core declaration allows Shopware 6.6.10.3.
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.6.0 idiom stops below version 6.7.
Shopware 6.6.10.3 sits below the bound ~6.6.0 derives, which is why the declaration reaches it.
The next release up
The next release line above Shopware 6.6.10.3 is 6.6.11.
A ~6.6.0 declaration still reaches Shopware 6.6.11, so the next release up does not by itself force a constraint change.
The same declaration against every version we evaluate
| Target | Verdict | Statement |
|---|---|---|
| Shopware 6.6.10.3 | allows | A ~6.6.0 shopware/core declaration allows Shopware 6.6.10.3. |
| Shopware 6.7.0.0 | excludes | A ~6.6.0 shopware/core declaration excludes Shopware 6.7.0.0. |
Neighbouring declarations at Shopware 6.6.10.3
| Declaration | Family | At this target | Upper bound | Why |
|---|---|---|---|---|
6.6.0.0 | exact | A 6.6.0.0 shopware/core declaration excludes Shopware 6.6.10.3. | No single upper bound follows from the 6.6.0.0 idiom alone. | 6.6.0.0 derives no single bound, so whether it reaches Shopware 6.6.10.3 is decided clause by clause rather than by one cut-off. |
6.6.* | wildcard | A 6.6.* shopware/core declaration allows Shopware 6.6.10.3. | No single upper bound follows from the 6.6.* idiom alone. | 6.6.* derives no single bound, so whether it reaches Shopware 6.6.10.3 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.