Skip to content

v1.18.0

tagged this 10 Sep 10:30
Publishes the register slug resolver contract so leaf apps can load it, adds
the exclusion marker for gate-115, and lets a repo opt into gate-46 blocking
on @e2e anchors.

WHY THIS TAG EXISTS. The contract merged after v1.17.0 was cut, so at
^1.17.0 a consuming app resolves ObjectServiceInterface and does not resolve
RegisterSlugResolverInterface. Four apps adopting the resolver were each
carrying two workarounds for that one missing tag, and a leaf app could not
write a test double against a contract it cannot load.

WHAT A CONSUMING REPO WILL SEE THAT IT DID NOT BEFORE. Nothing new in CI:
callers already resolve the runner at @main, so gates 111 to 115 have been
running for a day. What changes is local: composer gates in an app now
measures the same set CI does, rather than three to five gates fewer.

gate-115 reports 20 findings across 6 repos, split ten stale names and ten
migrated register slugs. The slug half CANNOT be fixed by swapping the
literal. Both slugs are live across the fleet depending on whether an
instance has run its repair step, so the answer is a probe. That is what
this contract is for.
Assets 2
Loading