I've upgraded a server from 2.3.7 to 2.3.13 (both were from Invoca RPMs) and we've noticed that when fetching specific messages on 2.3.13 that the return order is not in the same order as we requested.<br>In 2.3.7 that return order was in the order we asked to fetch items.<br>
<br>For example on 2.3.7:<br><br>. UID SORT (REVERSE DATE) US-ASCII ALL<br>* SORT 6 5 4 3 2 1<br>. OK Completed (6 msgs in 0.000 secs)<br>. UID FETCH 5,4 (UID FLAGS INTERNALDATE RFC822.SIZE ENVELOPE BODY[HEADER.FIELDS (CONTENT-TYPE)])<br>
* 5 FETCH (FLAGS (\Recent) UID 5 INTERNALDATE "12-Nov-2008 08:37:09 -0500" RFC822.SIZE 699 ENVELOPE ("Wed, 12 Nov 2008 08:37:09 -0500 (EST)" "Test Message" ((NIL NIL "test237" "domain.local")) ((NIL NIL "test237" "domain.local")) ((NIL NIL "test237" "domain.local")) ((NIL NIL "test237" "domain.local")) NIL NIL NIL "<20081112133709.AA8784017C@test237imap.domain.local>") BODY[HEADER.FIELDS (CONTENT-TYPE)] {2}<br>
<br>)<br>* 4 FETCH (FLAGS (\Recent) UID 4 INTERNALDATE "12-Nov-2008 08:37:07 -0500" RFC822.SIZE 699 ENVELOPE ("Wed, 12 Nov 2008 08:37:07 -0500 (EST)" "Test Message" ((NIL NIL "test237" "domain.local")) ((NIL NIL "test237" "domain.local")) ((NIL NIL "test237" "domain.local")) ((NIL NIL "test237" "domain.local")) NIL NIL NIL "<20081112133707.364044017C@test237imap.domain.local>") BODY[HEADER.FIELDS (CONTENT-TYPE)] {2}<br>
<br>)<br>. OK Completed (0.000 sec)<br><br><br><br>Example on 2.3.13:<br><br>. UID SORT (REVERSE DATE) US-ASCII ALL<br>* SORT 5 4 3 2 1<br>. OK Completed (5 msgs in 0.000 secs)<br>. UID FETCH 5,4 (UID FLAGS INTERNALDATE RFC822.SIZE ENVELOPE BODY[HEADER.FIELDS (CONTENT-TYPE)])<br>
* 4 FETCH (FLAGS (\Recent) UID 4 INTERNALDATE "12-Nov-2008 12:56:36 -0600" RFC822.SIZE 750 ENVELOPE ("Wed, 12 Nov 2008 12:56:39 -0600" "subj test subject" ((NIL NIL "test2313" "domain.local")) ((NIL NIL "test2313" "domain.local")) ((NIL NIL "test2313" "domain.local")) ((NIL NIL "test2313" "domain.local")) NIL NIL NIL NIL) BODY[HEADER.FIELDS (CONTENT-TYPE)] {95}<br>
Content-Type: multipart/alternative;<br> boundary="----=_NextPart_000_66D8_D9376028.6CA0E718"<br><br>)<br>* 5 FETCH (FLAGS (\Recent) UID 5 INTERNALDATE "12-Nov-2008 12:56:36 -0600" RFC822.SIZE 750 ENVELOPE ("Wed, 12 Nov 2008 12:56:40 -0600" "subj test subject" ((NIL NIL "test2313" "domain.local")) ((NIL NIL "test2313" "domain.local")) ((NIL NIL "test2313" "domain.local")) ((NIL NIL "test2313" "domain.local")) NIL NIL NIL NIL) BODY[HEADER.FIELDS (CONTENT-TYPE)] {95}<br>
Content-Type: multipart/alternative;<br> boundary="----=_NextPart_000_6551_DF97AA18.3ED767D6"<br><br>)<br>. OK Completed (0.000 sec)<br><br>Is this something that changed? Was it just chance that it worked before? The IMAP spec doesn't mention a return order for items fetched, so I'm not sure if the return is something we can count on.