We use the ApiVersion enum to return a response compatible with the requested version. Given the way things are structured today, if we add a new version, we'd have to make a change in every place where the version is used to determine the response structure. We need a way to use the apiVersion as a range. For example, the health endpoint needs to be able to say if the version is >= 3 do X otherwise do Y.

Comment From: philwebb

I'm not against adding something like apiVersion.isSince(ApiVersion.V3), but for this specific one I wonder if we should just make that code a bit more verbose and change it to:

if(apiVersion == ApiVersion.V2) {
    this.components = null;
    this.details = sort(components);
}
else {
    this.components = sort(components);
    this.details = null;
}

Comment From: philwebb

We'll go with the extended if for now and look at isSince later if we need to.

Comment From: philwebb

I'm going to close this one since we've not needed this in the last few years.