@since tag versioning

BabylonJS is a fast growing framework - constantly getting new features. What I have noticed is that many questions are answered by upgrading BabylonJS and it’s hard to follow even from what’s new sometimes and I end up searching git file history. There is a JSDoc tag @since that is intended to address exactly that. It’s only intended for classes and methods, I believe, but at least that would answer a lot of questions. Maybe it would just pollute the code? Here is an example:
image

I have seen a typedoc plugin that allows multiple version API document creation - this would allow a version 4.1 API documentation (would exclude @since 4.2+) and a 4.2 (would include @since 4.2). Browsing current API docs you don’t really know if it’s 4.1 or 4.2.

Even if it didn’t make it into the TypeDoc, I did a test and it came through in the typings:
image

It’s really helpful in other languages like Java, which has an @since. Here is the JSDoc official:

1 Like

A very helpful addition. I agree :slight_smile:

Sadly TsDoc does not support it:

image

And i assume the doc compilation will fail because of an unknown tag.

I guess this can be overridden, but - babylon versioning (and the version we call “stable” is not the same as many other projects. We technically only have two versions - current and preview, and the fact that we guaranty backwards compatibility can help very much with easily upgrading your current version. Having said that, the new documentation page will also have a “Since” tag in the doc pages (optional tag for doc writers).

This is just to start a conversion about it! I will actually be happy to have it added, if we can get tsdoc and our doc parser to play nicely with it.

1 Like

I put it in the WebXRDomOverlay feature. Seems to be visible in our docs and TsDoc was OK with it :slight_smile:
image

3 Likes

tsdoc was updated since then, I guess they added it :slight_smile:

Which reminds me - I need to upgrade tsdocs again…

1 Like