I've been thinking about the case where you have two things trying to continue. For example, prop=categories|templates.
Previously, you might have just kept replacing continue parameters until you reach the end:
Q: prop=categories|templates R: clcontinue=1&tlcontinue=1 Q: prop=categories|templates&clcontinue=1&tlcontinue=1 R: clcontinue=2 Q: prop=categories|templates&clcontinue=2&tlcontinue=1 R: -> done!
Or you could have ignored continue parameters that have already been run to completion:
Q: prop=categories|templates R: clcontinue=1&tlcontinue=1 Q: prop=categories|templates&clcontinue=1&tlcontinue=1 R: clcontinue=2 Q: prop=categories|templates&clcontinue=2 R: tlcontinue=1, but ignore it because we already did iistart -> done!
But now, the continue parameters are not independent; depending on the result size, one can restrict the other. So the first algorithm could go like this:
Q: prop=categories|templates R: clcontinue=1&tlcontinue=0 Q: prop=categories|templates&clcontinue=1&tlcontinue=0 R: clcontinue=2&tlcontinue=0 Q: prop=categories|templates&clcontinue=2&tlcontinue=0 R: tlcontinue=0 Q: prop=categories|templates&clcontinue=2&tlcontinue=0 R: tlcontinue=0 Q: prop=categories|templates&clcontinue=2&tlcontinue=0 -> loop forever
And the second like this:
Q: prop=categories|templates R: clcontinue=1&tlcontinue=0 Q: prop=categories|templates&clcontinue=1&tlcontinue=0 R: clcontinue=2&tlcontinue=0 Q: prop=categories|templates&clcontinue=2&tlcontinue=0 R: tlcontinue=0 Q: prop=categories|templates&tlcontinue=0 R: clcontinue=1&tlcontinue=0, but clcontinue is ignored Q: prop=categories|templates&tlcontinue=0 -> loop forever
To work right now, you need to remove property specifiers once you run out of continues:
Q: prop=categories|templates R: clcontinue=1&tlcontinue=0 Q: prop=categories|templates&clcontinue=1&tlcontinue=0 R: clcontinue=2&tlcontinue=0 Q: prop=categories|templates&clcontinue=2&tlcontinue=0 R: tlcontinue=0 ** Remove revisions! Q: prop=imageinfo&tlcontinue=0 R: tlcontinue=1 Q: prop=imageinfo&tlcontinue=1 R: -> done!
I just thought I'd mention this additional aspect to the breaking change. The "new" algorithm is superior anyway, but its quite possible people's bots are using one of the other two (mine was using the first one, BTW).