Comment From: oranagra

we already have "since" in command arguments. can you please give an example of where "history" and "deprecated since" would have been useful?

Comment From: guybe7

someone from JSON raised it (JSON.GET used to have an arg NOESCAPE up until version 2.0.0 of the module)

Comment From: oshadmi

Also RediSearch has deprecated args, such as WITHPAYLOADS in FT.SEARCH and PAYLOAD_FIELD in FT.CREATE

Comment From: guybe7

i feel like the general command history should work fine for mentioning deprecated arguments, I don't think we need a history for arguments.

TBH even "since", which already exists in the arguments object, is kinda redundant, because the same information exists in history (or maybe the history should not include sentences like "this arg was added in that version"?), but one may claim that "since" may be used by clients. The same goes for "deprecated_since", si will add it.

Comment From: oshadmi

@guybe7 It seems more simple/consistent to me having arg related data owned by the arg, rather than having it owned by the command and therefore also require some parsing. For example, if we would like to mark deprecated args as such in the documentation, it would be straightforward.

Comment From: guybe7

@oshadmi since anyway the "history" is meant to be read by humans, I find it more confusing if it's spread across COMMAND DOCS' reply, rather than being all in one place...

@itamarhaber @oranagra thoughts?

Comment From: oranagra

I think both are useful. * it is good to have a history section with human readable text that describes API changes. * it is also good to have machine usable metadata for when things were introduced, deprecated or removed.

if we do that, i don't think we want to repeat the same info twice. we can let the machine (in our case redis.io) complete the human readable part with additional lines it extracts from the metadata. same as we don't currently write in the history when the command was introduced or deprecated (that's in the metadata), we can do the same for arguments. and then in redis.io, since we don't show that metadata, we'll use it to complete the history section.

Comment From: guybe7

summary: since and deprecated_since: per command, and per command argument history: per command