Add-On Compatibility and Patches

Here’s a pop quiz: you download the release candidate for a new X-Plane patch – maybe it’s 10.41 – and you run your add-on. To your horror, you find that a dataref is missing – or maybe a command no longer works. Do you:

  1. Immediately rewrite your code to work with the release candidate and release it immediately, preferably before the beta is over or
  2. File a bug, clearly indicating what changed from the last shipping version. Laminar fixes the release candidate and by the time the patch ships, your add-on “just works”.

Pencils down! I have said this before, but I’ll say it again: the answer is choice number two – file a bug.

If you find a problem with your add-on during a beta where something used to work and now does not:

  • Do file a bug. We cannot maintain compatibility if we do not know there is a problem.
  • Do not change your add-on (and definitely do not release that change). Most likely that change is a mistake, and when we fix the bug, your original add-on would have worked but your modified add-on is now broken.

We try really, really, really hard to make sure that you don’t have to cut a new release of your add-on just because we are issuing a free update to X-Plane.

What If I Am Late?

What if you are using the new shipping version of the sim? You just got 10.41, but you didn’t try any betas, and you find your add-on is broken.

File a bug.  We will still fix the bug, and issue a patch. The only difference here is that:

  • Your users will be grumpy about the 1 or 2 week period during which the add-on was broken – that time could have been zero weeks if you participated in the beta and
  • I will be grumpy that you reported the bug after beta instead of during the beta.

Free Passes

Even if we find a bug that requires a modification to your aircraft to fix, we still try to put a compatibility mode into X-Plane so that you don’t have to release your aircraft immediately. As I blogged before, shipping add-ons can get a free pass. In these cases we sometimes recommend you update your add-on when you can, but there is no requirement that you must update to match our new update. Update when you can, on your own schedule.

We did hit three bugs in X-Plane 10.40 for which you do have to update your aircraft to get the benefit of the bug fix:

  • Light sizes for billboard lights.
  • Fixing buggy fuel consumption at high altitude.
  • Feathering props on low oil pressure.

In all of these cases, we couldn’t apply the bug fix correctly to all aircraft – the changes would have positive effects on some aircraft and negative effects on others. So you get a free pass to leave the aircraft as is until you next save it in Plane-Maker; at that time you can make sure that the results of each bug fix are working for your aircraft. More details here.

 

Posted in Development by | 10 Comments

X-Plane 10.41 Release Candidate 3

X-Plane 10.41 release candidate 3 is live – check “get betas” to update to it using our installers, or enable betas on Steam to get it via Steam. Hopefully it will go final within a few days; r3 fixes the stupid version number typo and also fixes a bug in our crash detection analytics and the instructor station.

Posted in News by | 35 Comments

Please Try X-Plane 10.41 Release Candidate 1

I cut X-Plane 10.41 release candidate 1 last night – to get it, run the X-Plane Installer, pick update, and check “get betas”. Here’s a list of bug fixes.

10.41 is just critical bug fixes – fixes to crashes, and fixes to third party aircraft that didn’t make 10.40. No new features, no new airports. The goal here is to get these fixes out rapidly.

If your third party aircraft worked in 10.36 and does not work with 10.41 release candidate 1, please file a bug ASAP. We do not have any remaining open bugs with aircraft compatibility.

Steam users: we’ll cut a Steam version of 10.41 in the next few days if we don’t get any other reports – it’s the same plan as last time.

A number of users have asked me about why a build is sometimes named 10.40r1 or 10.40. Here’s how it works:

  • A build of X-Plane is called a “release candidate” if we think at the time we create the build that it could be an official release – e.g. there are no known bugs.
  • Release candidates get an “r” in the name, e.g. 1040r1 is our first release attempt for 10.40.  The previous builds had a “b”, e.g. 10.40b6 is the sixth beta of X-Plane 10.40.
  • If the release candidate doesn’t have show-stopping problems, we make it official – at that point every user gets that version when they update, even if they don’t have “get betas” checked.
  • We do not re-cut the build or rename the build. Instead, the “r1” remains in the name of the product forever in the Log.txt file and if you pick “Get Info” or “Properties”. We need this so that tech support can identify someone using the official release versus an older release candidate.
  • The version on the startup screen simply reads 10.40 – most users flying the sim don’t care about r1 or r2.

In order to remove the “r3” or “r1” from the long version of the build name, we would have to re-cut the build, which would mean a needless update and download for everyone, but more importantly, there would be a small but non-zero risk that we introduce a bug in the final version that was never tested in the release candidate.

You can see this strategy on OS X too – the OS version is 10.10.5 in the about box, but if you use the System Information App you get 10.10.5 (14F27) – that last cryptic number is the build identifier – it’s sort of like our r1 or r2.

Posted in News by | 11 Comments

Scheduled Maintenance and Free Passes

This may have happened to you: you import the latest approved airport scenery pack from the X-Plane Airport Gateway and modify it. When you go to export your improvements back to the gateway, WED says your work is invalid and has a problem — but not in the changes you made!

Huh? If this was the approved airport on the Gateway, how can it also be invalid in WED? How did that other author upload the airport before?

You Get a Free Pass

What do we do if we find that scenery and airports have bad data that is causing bugs? What if we can’t just fix the scenery pack for you? The policy we’ve been using is: “you get a free pass until your next scheduled maintenance; then you have to fix the bug.”

The X-Plane Scenery Gateway is a good example of this. Sometimes we find new categories of authoring mistakes – I write improvements to WED’s scenery validation function to catch these authoring errors. These are errors like:

  • Typos in taxiway signs – the old syntax makes a sign with incorrect letters.
  • Overlapping ATC routes – with the overlapping routes the AI aircraft do not taxi correctly.

In other words, these are situations where the WED scenery pack, if left alone, is causing clearly bad things to happen inside X-Plane. This isn’t a case of “old style or new style”, it’s a case of “broken or fixed.”

So what we do is we set WED to reject these scenery packs on future uploads, but we do not delete the airports from X-Plane itself. In other words, the airports with serious mistakes get a free pass until the next time an author does scheduled maintenance.

Then when an author is working in WED and is going to update the airport anyway, the author must fix the problems we have found.

No One Likes a Fire Drill

This strategy is a compromise between two extremes:

  • If we force you to fix your airport right now (e.g. “fix the airport or we remove it from X-Plane”), that’s not fun, that’s a fire drill. And having been exposed to plenty of fire drills myself dealing with the new OS X 10.11 and Windows 10 releases, I’m sympathetic to authors not wanting to have to stop everything to deal with an issue ASAP.
  • If we never require that these kinds of problems be fixed, they simply won’t be fixed. The overwhelming evidence that I have seen from working on authoring tools for X-Plane for over a decade is that some authors won’t fix problems unless the tools force them to do it.**

So requiring the change when the author does maintenance but not requiring the existing shipped scenery pack be modified strikes me as the best possible compromise: we still get quick responses to serious bugs, but we don’t force anyone to drop everything.

 

* I do realize that some authors are incredibly diligent about getting their scenery to be correct even if the tools don’t force them to do so! But the goal here is to have all scenery be correct; it only takes one broken scenery pack in the hundreds a user installs to crash X-Plane.

Posted in File Formats, Scenery, Tools by | 3 Comments

X-Plane 10 for Android and Mobile Roadmap

It’s been a while since I’ve written a blog entry because…I’ve been working in the dungeons, coding for Android, unlike Ben who spends his days at Starbucks sipping lattes and writing blog posts all day. 🙂

Seriously, if you have not yet heard, we’ve finally released X-Plane 10 for Android. It was a long, arduous process. Maybe I’ll write about the experience in a separate blog post if anyone’s interested. Anyway, back to the product…It has the same features and pricing model as X-Plane 10 for iPhone/iPad and will remain that way for the foreseeable future. I don’t expect Android to lag behind like it has in the past. If anything, it will probably be the first to get updates since there’s no painfully slow Apple approval process to sit through.

Where’s the iOS Update?

This initial release on Android is identical to the current release 10.1.0 on iOS except for the additional of liveries! This update will be available for iOS as soon as Apple approves it. It’s currently sitting in their queue.

What’s the Android Plan?

Currently I’m in firefighting mode! As of today, there are 7,654 supported devices so needless to say, there are some device-specific crash bugs…most on devices that I was not able to acquire myself during testing. I’ll admit however, there are fewer than I expected. We’re currently seeing 90.4% crash-free users. This is low compared to our iOS stability of 99.5% however the industry metric for games is supposedly 97%. I can’t remember where I read that, but that’s been my pseudo-goal so I plan on releasing frequent patches until we get there.

Aside from hardware-specific OpenGL issues, the biggest source of instability seems to be with Google’s In-App Billing service. I’ve found and fixed some issues in their sample code which will help, but many users cannot even link up with the service! I have not gotten enough data to fully understand that yet.

An update to 10.1.4 has been pushed this morning. It should go live in a couple of hours. That should fix stability issues for some people but I don’t expect it to move the needle significantly until the In-App Billing issues have been resolved. Until then,  I’ll keep at it!

What’s next for Mobile?

Android is a top priority at the moment. Until we reach stability there, almost all of my efforts will be focused on doing so. Once Android has settled down a bit, the work that we do will be for both platforms.

I know the map is a source of annoyance for a lot of people. It appears, unsolicited, when trying to operate the throttle. I can look into that.

We do of course have more aircraft and missions coming. I can’t talk about the specifics of those yet but our artists are very busy at work making more stunning planes.

But where’s the “meat and potatoes” features? Unfortunately, a lot of the feedback that I get is not specific enough for us to use. I see things like “I like Infinite Flight/Aerofly better!” which is fine…that’s a matter of preference. But WHY do you like it better? What features are you missing most?

So here’s your chance to chime in. What’s important to you? What will make the app fit your needs better? Please feel free to comment below. Get your friends to comment too. The more feedback that I get, the more I can make sure our customer’s needs are being met.

Posted in Android, News by | 56 Comments

A Bug Fix Patch Next

Like most major updates to X-Plane, we are working on a quick bug-fix patch, and it will be out soon. (This will be 10.41 and will only aim to fix critical bugs.) At this point it’s looking like I’ll have a 10.41 release candidate up Monday.*

There are unfortunately a few things that are causing a ton of bug reports that we can’t easily fix in X-Plane.

New Gateway airports will not go into 10.41; we’ll get more airports released as soon as possible once we get major bugs fixed.

There is one more bug I am looking into: quite a few users are seeing crash in audio code, only on – all together now – Windows 10. Since we ship a DLL of OpenAL I am hoping we can figure out what’s going on and fix it. I’ll post more when I get more info.

 

* Last night I finally reproduced a bug that I have suspected for a very long time: if you have a third party scenery library that modifies the cars and the right set of conditions happens, X-Plane will crash.

Nearly every bug report I’ve seen of this is of the form “I was just flying for a long time and X-Plane crashed” – no user had figured out that it was (1) traffic related or (2) due to third party libraries.

I should have a fix for this in 10.41 but in the meantime if you are in the “I was flying and crashed” camp, try turning off cars and see if things stabilize. If things get better, you can turn cars back on in 10.41.

Posted in News by | 14 Comments

Yesterday We Released a Lot of Stuff

A ton of new stuff came out yesterday! Everything shipped! Here’s a summary…

X-Plane 10.40 Is Final

X-Plane 10.40 is now the official release of X-Plane, for all users. This includes Steam users!  X-Plane 10.40 features hundreds of new 3-d airports, extended visibility with faster DSF loading, and just a ton of new features. Here’s a short summary of what’s new if you haven’t been in the beta. Here’s a really long summary.

Two gotchas:

  • Windows 10 users – if you let X-Plane auto-update and it fails with “Permission Denied”, you can work around this by running the X-Plane Installer directly (with X-Plane not running) and update X-Plane directly.  Once you have 10.40, the next auto-update should work.
  • We have a handful of bug fixes that didn’t make 10.40 final – they’ll be in a 10.41 patch later this week or early next week.

Control Pad – Control X-Plane From Your iPad

Control Pad is a remote instructor’s station app for iPad and iPhone. You can set up and modify your flight without exiting the cockpit; it’s great for training.

Control Pad is free and works with X-Plane 10.40.

X-Plane 10 Mobile for Android

X-Plane 10 Mobile is now available for Android in the Google Play Store. This is the same modern X-Plane 10 Mobile that we shipped for iPhone/iPad last year.  The app is free to fly, with in-app purchase of additional aircraft. Like X-Plane 10 Mobile for iOS, every plane features a custom working 3-d cockpit. More details here.

The Android release features new liveries available for free that are not yet available on iOS – those liveries are coming to iPhone shortly; the plan is to have the same features on iOS and Android, just like we have the same features in X-Plane 10 Global on Mac, Windows and Linux.

(The religious wars over smart phone operating systems are even more crazy than Mac vs Windows. It will be interesting to compare sales of the two mobile operating systems – this is the first time we’ve truly had the same product on both operating systems for an Apples to Apples comparison.)

Posted in News by | 21 Comments

X-Plane 10.40 Release Candidate Is On Steam

After a few false starts, X-Plane 10.40 release candidate 3 is now available to Steam users.

Steam users: to try the release candidate, you’ll need to go to the “properties” of X-Plane (in the steam client) and opt in to betas.

(If you can’t figure out how to do this, you should not opt in to betas!)

As with all pre-release software: if you would be annoyed by a crash or bug in X-Plane, do not try the beta or release candidate. The point of betas and release candidates is to find bugs, not to get X-Plane updates early.

Posted in News by | 35 Comments