Skip to content

v1.9.0

tagged this 22 Aug 00:31
The package no longer declares

    "autoload": { "psr-4": { "OCA\\OpenRegister\\Contract\\": "hydra-gates/contracts/" } }

That prefix was LONGER than openregister's own OCA\OpenRegister\ -> lib/, PSR-4
is longest-prefix-wins, and the package installs into every consumer's vendor/ —
so whichever app's autoloader registered first defined OpenRegister's contract
for the whole process. Measured on a real instance: softwarecatalog's vendored
copy was supplying openregister's own interface (.github#514, #531).

The contracts still ship. A consumer that needs them requires them from its own
test bootstrap behind interface_exists(), which is order-independent. See
hydra-gates/README.md, 'The shipped OpenRegister contracts are opt-in'.

MINOR, not MAJOR, deliberately: every app constrains this package with a ^1
caret, so a 2.0.0 would reach nobody and the fleet would keep the defect. The
four consumers that relied on the implicit autoload — buildiq, decidiq, filinq,
stackiq — are migrated and verified on development ahead of this tag. The other
apps either ship their own contract stubs (dossiq, pipelinq, shillinq), own the
real one (openregister), or never reference it.
Assets 2
Loading