In 8.3 \Neos\Neos\Service\ImageVariantGarbageCollector::removeUnusedImageVariant seemed to be connected to the "nodePropertyChanged" signal of \Neos\ContentRepository\Domain\Model\Node::emitNodePropertyChanged
With Neos 9 we removed these signals. And need to use a catchup hook.
In 8.3
\Neos\Neos\Service\ImageVariantGarbageCollector::removeUnusedImageVariant
seemed to be connected to the "nodePropertyChanged" signal of\Neos\ContentRepository\Domain\Model\Node::emitNodePropertyChanged
With Neos 9 we removed these signals. And need to use a catchup hook.
Additionally this line
$node->subgraphIdentity->contentStreamId
will need to be reworked as we will remove the cs id on the node https://github.com/neos/neos-development-collection/issues/5043 But that will be part of https://github.com/neos/neos-development-collection/issues/5084