Adding @since tags

Pavel Safrata pavel.safrata at
Tue May 28 09:53:35 PDT 2013

Hi Richard,

On 28.5.2013 17:37, Richard Bair wrote:
> Hi Pavel,
> This sounds great!
>> I'm almost ready with a tool that generates @since tags to JavaFX API. My question is what should I generate. Essentially, there are three releases with added API: 2.0, 2.2 and 8.0.
> How does it work? Specifically, if an API was not tagged in 2.2, and is not tagged in 8.0, how do you determine which release the API appeared in? Are you searching through the generated javadocs? A tool I've wanted for many years but haven't had to time to write would be one that would catch new public API changes that haven't been reviewed, and list all the new API at the end of the release that we could then use as the basis for slides / presentations / release notes / etc.

I take two jars from subsequent releases, use SigTest to list API 
differences, then go over the results, find the added entities in 
sources and add/update the javadoc tag.

>> Question 1:
>> Should we generate @since for the initial stuff that appeared in 2.0?
> I think so.
>> Question 2:
>> There are classes and methods marked as "@since JavaFX 1.3" (comments survived porting to Java). Should I keep it? Or remove/replace by 2.0 based on Q1? Note that I'm not able to compare Java 2.0 API to previous fx-script API so I cannot make sure everything that existed before 2.0 is marked properly as 1.x.
> I would replace all the @JavaFX 1.x with whatever the answer to Question 3 is.
>> Question 3:
>> What should be the format?
>> (a) - full FX version
>> 2.0: @since JavaFX 2.0
>> 2.2: @since JavaFX 2.2
>> 8.0: @since JavaFX 8.0
>> (b) - major FX version
>> 2.0: @since JavaFX 2
>> 2.2: @since JavaFX 2
>> 8.0: @since JavaFX 8
>> (c) - JDK version
>> 2.0: @since 1.7
>> 2.2: @since 1.7
>> 8.0: @since 1.8
>> Or something else?
> Right now I think I'd say (a), the full FX version is what we ought to go with for now. At first ( c ) looked like the best option,  however, we then have the oddity that @since 2.0 happened before @since 1.8! Also, 2.0 was shipped with 1.6 as well as 1.7 so @since 1.7 isn't entirely accurate.
> If/When FX goes through the JCP process, it will at that time be standardized and we might reset the clock, such that everything at that time is upgraded to 1.9 as the "since" version.

OK, if there are no other concerns I'll go with (a).

> Another question, when a class is added in a release, do you add @since to the class but *not* the methods, or do you tag both the class and the methods? It seems more foolproof to tag both the class & methods, but I don't think that is how they do it on the JDK side.

I add it only to the class. Indeed, this is the JDK practice. SigTest 
reports new class as a single change, so right now I don't have input 
for adding it everywhere. I think I could go over the new classes, add 
empty classes with the same names to the old jar and then use the tool 
to generate the tags for the API difference which will now be all the 
contents of the classes. Do you think it's worth the effort?


> Richard

More information about the openjfx-dev mailing list