Jump to content

You're browsing the 2004-2023 VATSIM Forums archive. All content is preserved in a read-only fashion.
For the latest forum posts, please visit https://forum.vatsim.net.

Need to find something? Use the Google search below.

Unadvertised changes to JSON v3 format after release


Daniel Neugebauer
 Share

Recommended Posts

Daniel Neugebauer
Posted
Posted

I just noticed that there were a few additions to flight plans after the JSON v3 format was put into production in December:

  • aircraft_faa which holds aircraft information in the old FAA-style format (e.g. H/B744/L)
  • aircraft_short which holds only the aircraft ICAO code (e.g. B744)
  • revision_id which apparently re-adds the flight plan revision ID

The first two fields have been documented in the API docs but revision_id is undocumented so far. Is revision_id going to stay in the format permanently or is it just experimental and might be removed again?

Although I'm happy to see those additions I would have expected the format to be final after release and any modification to result in an incremented format version number. How is the process for future changes supposed to look like?

 

Link to comment
Share on other sites

Tobias Dammers
Posted
Posted

I don't have any inside information for you, but in general, I don't think adding fields to a JSON data structure would require upgrading a version number - after all, your code should still work unchanged, and just ignore those extra fields. That's how JSON-consuming code is usually written. It might not be a great idea to *depend* on those fields until the documentation explicitly mentions them, but you can surely *ignore* them.

23.png
Link to comment
Share on other sites

Nestor Perez
Posted
Posted

Correct. As Tobias says, version numbers will only be incremented with breaking changes, where "breaking changes" means any changes that would cause existing apps to break, like removing existing fields or changing their type (string). Adding new fields is NOT a breaking change, since existing applications should just ignore any fields they don't know about.

Hope that answers the question!

Me.

Link to comment
Share on other sites

Daniel Neugebauer
Posted
Posted

That's fine for me, thanks! :) Is there any easy-to-follow place where changes to the data feed are publicly announced? I only stumbled upon those changes by looking at the raw JSON yesterday and wondering myself if I missed the flightplan's revision_id earlier. There was no mention on Tech Blog Q1 either. I don't follow these forums regularly so if there was some announcement maybe I just missed it.

What about the not yet documented revision_id in particular? Are you able to already tell if it is going to stay permanently?

Link to comment
Share on other sites

 Share