1.4.2: CI hygiene release (all-green for the first time)
Follow-up to 1.4.1. No functional change; addresses three CI
jobs (phpstan, phpcs, cspell) that had been silently failing
under the d.o. CI template's allow_failure: true defaults since
1.0.0. The "passed with warnings" badge had been treated as
green; it isn't. 1.4.2 is the first release on this project
where every CI job is genuinely success without allow-failure
crutches.
phpstan (4 errors, all globalDrupalDependencyInjection):
- BeaconController::resolveRouteName called \Drupal::hasService
+ \Drupal::service for path_alias.manager. Injected as nullable
AliasManagerInterface via NULL_ON_INVALID_REFERENCE so the
controller still constructs on sites without path_alias module.
- CwvRequestIdSubscriber::getModuleVersion called
\Drupal::service('extension.list.module'). Injected
ModuleExtensionList directly.
- CwvAsyncDecoratorBase::onTerminate called \Drupal::logger('cwv')
for finalize() failure logging. Added LoggerInterface to the
base class constructor; updated all four subclasses
(KernelTimingDecorator, BackendCacheCollector, RenderTreeCollector,
DatabaseCollector) to pass through; wired @logger.channel.cwv
into every cwv.collector.* services.yml entry.
phpcs (1 error + 4 warnings, all in CwvSettingsForm.php):
- 4x Drupal.Semantics.FunctionT.BackslashSingleQuote. Switched
the affected $this->t() calls to double-quoted strings.
- 1x Drupal.Commenting.InlineComment.InvalidEndChar. Rephrased
the inline comment so it ends in a period.
cspell (7 unknown + 1 forbidden):
- "whitelist" replaced by "allowlist" in the edge-cache probe
target description (Drupal community moved off the term).
- Six vocabulary additions: bref, swoole, cset, mmap, munin,
contextualise.
Library version bump 1.4.1 -> 1.4.2 to cache-bust the JS asset
on edge caches that key on the ?v= query string. No schema
change, no config-key change, no update hook, no behaviour
change for operators.