$replace Statuses that replace the released one of their feature. */ public static function released(string $source = 'code', array $replace = []): CompatibilityMatrix { $features = []; foreach (DiviFeature::cases() as $feature) { $features[$feature->value] = new FeatureStatus($feature, ReleaseState::Released, [], $source); } foreach ($replace as $status) { $features[$status->feature->value] = $status; } return new CompatibilityMatrix($features); } /** @param string ...$problems */ public static function with( DiviFeature $feature, ReleaseState $state, string $source = 'code', string ...$problems ): CompatibilityMatrix { return self::released($source, [new FeatureStatus($feature, $state, $problems, null)]); } }