Closed gavin-norman-sociomantic closed 5 years ago
Moved to v5.1.0, in order to avoid merge conflicts (this will touch code that contains a lot of deprecations in v4.x.x).
We should also keep track of deprecated requests that are active. Some types of request (e.g. DMQ Consume) are active for long periods, so if we just track when they start, they will seem to hardly ever occur.
Updated proposal:
Rough PR: https://github.com/sociomantic-tsunami/swarm/pull/312. Blocked on being able to test the code in a neo node.
Done in #312.
Currently, there is no actual deprecation path for requests. A new request version is implemented, support for the old version continues for some time, then is simply removed. The only way that app developers know about a request being phased out is if node maintainers tell them.
The main problem is this: how do node maintainers know when it is safe to remove support for a request version? The only way, currently, is to manually check which protocol version is used by all known clients. This is very manual and error-prone.
A proposal for a much improved solution: