This commit takes rfc8297 into account and introduces a newer code 103 HttpStatus value which uses Early Hints as the more correct reason phrase, deprecating the outdated CHECKPOINT enum value for 103.

Additionally: - HttpStatus.valueOf(103) will return the new enum value - HttpStatusCode#isSameCodeAs(HttpStatusCode) is introduced to ease comparison of deprecated enums vs their newer counterparts (or any instance of a more generic HttpStatusCode) by comparing the integer value() - HttpStatusTests covers the new deprecation as well as the three previously deprecated codes, including a check with the above new method to ensure they have comparable integer values

Supersedes and Closes gh-27960

Comment From: bclozel

LGTM! I think we tend to align all deprecations to look like the following: @Deprecated(since = "6.0", forRemoval = true). Usage sites require @SuppressWarnings("removal").

Comment From: simonbasle

Good to know. I wonder if that should be a candidate for backport. I guess if we decided in favor of backport, the since portion of the @Deprecated in java would reflect that?

Comment From: bclozel

Sticking to 6.0 is fine I think. Backporting deprecations that late in the 5.x generation is not useful.

Comment From: simonbasle

Perfect. I've updated the @Deprecated to add since info.

I see a lot of occurrences of the annotation without any params (351 vs 182), and only 39 matches with forRemoval, so I guess the later is only for elements that we strongly feel should be removed. I haven't used it as I don't think there is any particular urge to remove the deprecated enum value.