Hi @gkujawsk, good to hear from you. We have an implementation where chunks can arrive out of order.
Our message order has never been guaranteed, but the nature of the old broker meant that messages almost always turned up in order. Having now moved to a cluster of servers and message de-duplication, there is a high likelihood messages will turn up in any order. Whichever broker queue finishes first will send the message to the stream, resulting in an unordered response. The change was made as this offers much more reliability, with the downside being an unordered queue.
An ordered response for TCP devices was almost always guaranteed, but for Cellular devices it has always been a jumble.
A feature in the works is blockwise transfers that will solve this problem for everyone. I expect the block-wise transfer feature in the first half of 2020. Blockwise transfer will open a stream down to the device and our device service will send ordered chunks to the device. The current implementation sends data as it arrives.
Our documentation team has been tasked with updating the relevant docs so users are not caught unaware. I am sorry that you have been affected by this.