Does a 6.6.0.0 shopware/core
constraint allow Shopware 6.7.0.0?
A 6.6.0.0 shopware/core declaration excludes Shopware 6.7.0.0.
An exact version accepts one release and nothing else — composer treats a bare partial version as exact on its zero-padded form, which is the trap that reads like a range and is not one.
The bound this idiom derives
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.7.0.0 is decided clause by clause rather than by one cut-off.
The next release up
The next release line above Shopware 6.7.0.0 is 6.7.1.
A 6.6.0.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.6.0.0 shopware/core declaration excludes Shopware 6.6.10.3. |
| Shopware 6.7.0.0 | excludes | A 6.6.0.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.