$locked */ public static function matrix(array $locked, ReleaseState $state = ReleaseState::Untested): CompatibilityMatrix { $features = []; foreach (DiviFeature::cases() as $feature) { $features[$feature->value] = in_array($feature, $locked, true) ? new FeatureStatus( $feature, $state, $state === ReleaseState::Incompatible ? ['Seiten: et_x() – Signatur geändert'] : [] ) : new FeatureStatus($feature, ReleaseState::Released, [], ReleaseStatus::SOURCE_CODE); } return new CompatibilityMatrix($features); } /** @param list $locked */ public static function status( array $locked, ReleaseState $state = ReleaseState::Untested, string $version = '5.3.0' ): ReleaseStatus { return ReleaseStatus::of($version, self::matrix($locked, $state)); } }