Support for deprecation


#1

Based on the spec, JSON API doesn’t appear to have any formalized approach to deprecation. Was this an intentional decision, or might there exist opportunity to grow the spec in that regard?

Initially it seems plausible that one might embed deprecation information into an object’s meta data, but I can imagine formalizing the style would be beneficial.

Any thoughts on this?


#2

This is absolutely something I’d like to specify as an extension, so that there’s a way to formalize it beyond just "dump it in meta". The extension system, which will allow such changes, is in the works now and should be ready soon (I’ve volunteered to do it, but have been quite busy lately).


#3

This sounds great! Let me know if there is any way I can help. I’d love to get more involved :slight_smile:


#4

@iamvery Awesome! Two things would be incredibly helpful:

  1. For deprecation in particular, would you be up for putting together a proposal? (I.e. a list of use cases that should be supported and a couple different approaches for solving them). That way, we can offer the extension as soon as the extension system is ready.

  2. JSON API is still pretty hard to get started with, imo. Would you be up, at all, for writing some summary/getting started material? I think that would be a huge help. And it doesn’t have to be perfect by any means; anything to start with would be better than what we have now!

In the mean time, I’m continuing to work on the design for the extension system itself and will post about that very soon. When I do, your comments on that would, of course, be appreciated as well!


Proposal for deprecations
#5

Thanks for the reply, Ethan! I’m definitely interested in helping out in these ways. I’ll add this to my list and try to get something back to the project in the next few weeks. What is the best medium to post back? Should I start a new post here?


#6

Awesome! And yeah, starting new threads on here would be perfect. :slight_smile:


#7

I put together a draft post re: “getting started”. I’m not sure if this is the direction you’re looking for so I thought I’d post it back here before starting another thread. This is more a primer to the spec itself than practically “how do I get started?” I also struggle a bit with that because it’s so dependent on your platform. Thoughts?

https://github.com/iamvery/iamvery.github.com/pull/14/files?short_path=22e9b6c


#8

Thanks @iamvery :smile:

I’ll take a look at this, and your deprecations proposal, over the next couple days!


#9

Thanks! No rush. Also I’m happy to PR the repo with things whenever appropriate. I considered it with the deprecation stuff, but stuck with a post since we discussed it.