I&#39;ve upgraded a server from 2.3.7 to 2.3.13 (both were from Invoca RPMs) and we&#39;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 &quot;12-Nov-2008 08:37:09 -0500&quot; RFC822.SIZE 699 ENVELOPE (&quot;Wed, 12 Nov 2008 08:37:09 -0500 (EST)&quot; &quot;Test Message&quot; ((NIL NIL &quot;test237&quot; &quot;domain.local&quot;)) ((NIL NIL &quot;test237&quot; &quot;domain.local&quot;)) ((NIL NIL &quot;test237&quot; &quot;domain.local&quot;)) ((NIL NIL &quot;test237&quot; &quot;domain.local&quot;)) NIL NIL NIL &quot;&lt;20081112133709.AA8784017C@test237imap.domain.local&gt;&quot;) BODY[HEADER.FIELDS (CONTENT-TYPE)] {2}<br>
<br>)<br>* 4 FETCH (FLAGS (\Recent) UID 4 INTERNALDATE &quot;12-Nov-2008 08:37:07 -0500&quot; RFC822.SIZE 699 ENVELOPE (&quot;Wed, 12 Nov 2008 08:37:07 -0500 (EST)&quot; &quot;Test Message&quot; ((NIL NIL &quot;test237&quot; &quot;domain.local&quot;)) ((NIL NIL &quot;test237&quot; &quot;domain.local&quot;)) ((NIL NIL &quot;test237&quot; &quot;domain.local&quot;)) ((NIL NIL &quot;test237&quot; &quot;domain.local&quot;)) NIL NIL NIL &quot;&lt;20081112133707.364044017C@test237imap.domain.local&gt;&quot;) 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 &quot;12-Nov-2008 12:56:36 -0600&quot; RFC822.SIZE 750 ENVELOPE (&quot;Wed, 12 Nov 2008 12:56:39 -0600&quot; &quot;subj test subject&quot; ((NIL NIL &quot;test2313&quot; &quot;domain.local&quot;)) ((NIL NIL &quot;test2313&quot; &quot;domain.local&quot;)) ((NIL NIL &quot;test2313&quot; &quot;domain.local&quot;)) ((NIL NIL &quot;test2313&quot; &quot;domain.local&quot;)) NIL NIL NIL NIL) BODY[HEADER.FIELDS (CONTENT-TYPE)] {95}<br>
Content-Type: multipart/alternative;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; boundary=&quot;----=_NextPart_000_66D8_D9376028.6CA0E718&quot;<br><br>)<br>* 5 FETCH (FLAGS (\Recent) UID 5 INTERNALDATE &quot;12-Nov-2008 12:56:36 -0600&quot; RFC822.SIZE 750 ENVELOPE (&quot;Wed, 12 Nov 2008 12:56:40 -0600&quot; &quot;subj test subject&quot; ((NIL NIL &quot;test2313&quot; &quot;domain.local&quot;)) ((NIL NIL &quot;test2313&quot; &quot;domain.local&quot;)) ((NIL NIL &quot;test2313&quot; &quot;domain.local&quot;)) ((NIL NIL &quot;test2313&quot; &quot;domain.local&quot;)) NIL NIL NIL NIL) BODY[HEADER.FIELDS (CONTENT-TYPE)] {95}<br>
Content-Type: multipart/alternative;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; boundary=&quot;----=_NextPart_000_6551_DF97AA18.3ED767D6&quot;<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&#39;t mention a return order for items fetched, so I&#39;m not sure if the return is something we can count on.