airr-standards icon indicating copy to clipboard operation
airr-standards copied to clipboard

deprecate openapi v2 for v3

Open schristley opened this issue 1 year ago • 10 comments

  • [ ] Currently, the PR check converts the v2 schema into v3 then compares with jsondiff. Swap this so v2 is generated from the v3 schema.
  • [ ] write simple shell script that converts the v3 schema file to v2 and copies the schema to the language subdirectories
  • [ ] switching to #688 should be straight forward, it was for javascript
  • [ ] review I/o routines
  • [ ] This leaves R. Need to change references of x-airr: nullable to nullable:

schristley avatar Dec 16 '23 23:12 schristley

@javh I can do the first 3 items if you feel the R changes are doable. There might even be a validation library available now?

schristley avatar Dec 16 '23 23:12 schristley

@javh @schristley does this seem feasible for v2.0?

bcorrie avatar Feb 19 '24 20:02 bcorrie

Trying to completely move to Open API v3 will be too much for the V2 release, but we can do it in increments. At a minimum, we want to release the OpenAPI v3 spec alongside the v2 spec, even if the language reference libraries aren't using them yet.

schristley avatar Feb 21 '24 23:02 schristley

putting the initial moves that can go into V2 into PR #758

schristley avatar Feb 22 '24 00:02 schristley

Yep. I can handle R. I think it would be very good to swap over to OpenAPI V3 for AIRR v2, at least as the default used by the libraries. I don't think we necessarily need to deprecate V2 support if we have the converter.

javh avatar Feb 27 '24 19:02 javh

Yep. I can handle R. I think it would be very good to swap over to OpenAPI V3 for AIRR v2, at least as the default used by the libraries. I don't think we necessarily need to deprecate V2 support if we have the converter.

@javh Ok, great, yeah I think we can get it done in time. The converter may be an issue though, it may be valid but it likely will be "ugly", will lose all comments, might have things out of order, etc. Do we care enough to hand-craft some code? Or we don't care anymore because it's auto-generated and won't ever be hand modified?

schristley avatar Mar 02 '24 13:03 schristley

We may not care. It's also not that big of a deal to manually maintain the V2 and V3 spec files if we need to, considering that we intended to be feature complete for the next release (AIRR v2.0).

javh avatar Mar 04 '24 00:03 javh

considering that we intended to be feature complete for the next release (AIRR v2.0).

I love your wishful thinking! :-D

schristley avatar Mar 04 '24 00:03 schristley

We may not care. It's also not that big of a deal to manually maintain the V2 and V3 spec files if we need to, considering that we intended to be feature complete for the next release (AIRR v2.0).

I was trying to think if doing the converter was worth it right now, because I think it would create a lot of churn in our PRs. Maybe a good compromise as you suggest is to manually maintain both through the v2.0 release, then switch on the auto-generation of V2. Then again, after v2.0 release, maybe just delete V2 and problem is resolved ;-D

schristley avatar Mar 04 '24 01:03 schristley

Then again, after v2.0 release, maybe just delete V2 and problem is resolved ;-D

However, I'll note if we do that, then we also effectively deprecate the V2 of the ADC API #765 , not that I'm opposed to that either.

schristley avatar Mar 04 '24 01:03 schristley