I can give details on the process we used in the past for managing breaking changes in the protocol.
Basing breaking changes on versions and timeframe gave undesirable results. A key point that needs to be considered is we don’t have control over what version of the app our users use. Example some users do not install the app via an app store, and so the user is responsible for managing their own version upgrade.
I really like the principle of your timeframe based proposal.
What we found to have the most success was to also monitor Waku Telemetry to see what percentage of users were using an incompatible deprecated version.
If we combine the proposed Time from N
condition with an AND
percentage of users on App Version =< N+1
is less than X%, ( Where X is some level of user base acceptable to leave with an unsupported version.) we can ensure an acceptable level of users will lose expected compatibility.
This requires we define the percentage of user base, in the past we’ve used 5% as an acceptable cut off value.