I'd like to answer some of the concerns we've seen regarding our upcoming update, v18.5, and explain why we've historically been keeping release dates under wraps.
We don't communicate on the dates mostly because while we have a general idea of when we'd like to ship (every 1 to 3 months), we don't have an exact date to share simply because we don't know it.
This "release when it's ready" strategy mostly stems from the randomness of software development. Let me illustrate with a few examples that happened to us:
Back in 2012, the initial release of Infinite Flight on the App Store was delayed by more than a month. It was an issue with certification in the App Store. The app randomly crashed, only when Apple’s review team used it on their WIFI. We could not get any of our beta testers to reproduce the error, it only happened on Apple's testing environment. We sent the initial version to Apple on February 23. Back then, the review wait time was 5 to 7 days. On 2/29, we got a rejection notice. It took a lot of back and forth, often times with reviewers not responding to our messages for days, to get it to pass. Every time, we had to wait another 5 to 7 days to get reviewed, and get another rejection. That is, until 3/31/2012, when it finally passed the review process.
This was a rough start for us.
This sort of situations happened multiple times after that, sometimes because of App Store rule changes. In the past year, review times have become shorter (about a day), so those delays have had less impact after a rejection if the fixes were easy to implement. The last update we shipped (v18.4) was actually rejected, we made a fix and it was approved a day later. But sometimes, as we've been through in 2012, the fixes take longer.
Sometimes, our development environment is deprecating components we need and there often is no easy replacement. One such thing happened a couple of years ago. We were using an external library for authentication with Facebook & Google. Facebook had planned to deprecate an API call, we had been begging the external library developers to add support for it, but they couldn't do it in time, which lead us to scramble to find other solutions to still support Facebook login. This delayed the release at that time because we simply couldn't ship with a broken Facebook Authentication.
Other times, we realized late in the beta process that after flights of 20 hours or more, for example, the app may crash. That's something that takes time to test, track, reproduce, and fix, and ultimately this can delay a release in the final stages.
Those things are hard to predict. Software development is difficult to plan, especially on short release cycles like we have today on mobile.
That's why we say soon. To the best of our ability, we think it'll be soon, because all indicators point to everything being ready in the near future, bearing in mind the 1 to 3 months typical release cycle. We like to ship updates just as much as the community likes receiving them and we always do our best to ship when it's ready. Ready for us means that it's stable and is at a level of quality we feel comfortable with.
Now, about the pending update... It was in review last week and got rejected by Apple because of the way we handle user accounts and subscriptions. They realized that we asked users to create accounts before we allowed a subscription purchase and for privacy reasons, asked us to allow users to make Facebook/Google Login optional. In short, users should be able to get Infinite Flight Pro without having to share their personal information.
We've been working on making this change all weekend and feel confident that this rework will not take long. Again, we cannot share any dates for the reasons above. While we are implementing this new system to comply with the rules (Android rules are the same), they may still have a few things for us to correct when they review it.
I hope this helps clarify what is happening behind the scenes.
Thanks for your continued support and understanding :)