What to expect with version 3.9.4 and iOS 11

Version 3.9.4 seems to be pretty near the end of it's testing window, and it's become pretty clear where the iOS 11 playback bug can be avoided, hidden, and where it will remain an issue until Apple resolves things on their end. To quickly recap, the issue is triggered every time the playback queue must be reset, which occurs when adding to or modifying the queue, toggling shuffle. In 3.9-3.9.3 this also included skipping tracks and processing tracks as they played through (which is why gapless playback was affected).

Here is what to expect in 3.9.4 and beyond:

  • Changes to the queue are applied immediately if playback is paused and the skip won't be noticed.
  • When playing, changes are deferred which means A) multiple changes can be addressed in a single interruption, and B) interruptions are hidden in the natural "gap" between tracks when one ends and the next begins.
  • If there is a deferred change waiting when you lock/send Cs to the background, it will be applied immediately (causing an interruption).
  • If the current track is the last track in the queue at the time of a change, it will be applied immediately (causing an interruption).
  • There is a little bit of latency on the notification that fires when the track changes. If there is a deferred change when a song ends, you may find that the previous (now possibly incorrect) track plays for a moment before the changes are applied.
  • The rolling queue has been replaced with the old full queue method. The positives are that this will fix gapless playback and the "Track 1 of 2" display on car stereos, etc. The drawback is that this will return a bit of lag/freezing when setting large queues.
  • Resume Queue has been revised yet again. Should be more reliable now.

The TL;DR of all this is that if you are a "set it and forget it" type listener, you might notice a bit more lag when setting large queues, but otherwise you aren't likely to experience any other issues like interruptions. If you live in the queue, you'll likely still find that you experience interruptions when leaving Cs.

Here's hoping Apple changes the backend soon.