d). Several people got confused by how much extra server state needs
to be stored and under what circumstances.
-00 required to store a modsequence for each expunged message. This
can potentially result in potentially very long list, with no upper
limit on its length.
-01 was changed to require absolutely no extra state on the server.
Arnt and Dave have convinced me that what described in -01 can
consume too much bandwidth. And I agree with Mark and Peter Coates
that holding expunged data indefinitely (as in -00) is not a good idea.
So, I would suggest to do the following changes:
Allow implementations to either store modsequences for expunged
messages (+ allow there expiration) or not store any extra state. The
latter would be compliant, but would be clearly marked as "poor
implementation". Because this would not make any difference from
protocol point of view (apart from wasting bandwidth), there is no
reason to completely disallow such implementations. For the former
case I would add an extra section describing why holding expunged data
indefinitely is a bad thing. This section would also recommend how to
properly "expire" old expunged records.