I've been a very long time Windows user and software engineer and last year I bought my first MacBook Pro.

One of the issues I've been genuinely shocked by is the questions around application compatibility after a 10.X update.

I have code I wrote and apps I used on Windows 95 that still happily runs on Windows 7, 8 and will no doubt continue to run on Windows 10 when it arrives.

I have a vast gap in my knowledge as to why this issue exists on OSX and would love to hear from people here what the nuts and bolts issues are. To my Windows leaning understanding I could understand this with a major version increment but I don't get understand why a minor version number update would be such an issue.

One particular issue for me has been with Parallels Desktop. For the last few months my installation of Parallels has been telling me to upgrade from version 8 to version 10 as version 8 is "incompatible" with Yosemity and "will not work".

There are posts from Parallels employees on their own support forum stating this repeatedly to users as well as the application offering a dialog on application launch also repeating this message.

One of their support staff even stated in a post that when they tried it in their labs the VM software simply wouldn't even launch.

Well, yesterday I updated to Yosemity and launched Parallels 8 and ran my VM without any issues.

I don't know about other countries but this is completely illegal marketing practices in the UK. They have so clearly told me that what I did would categorically not work when in fact it did. I have saved myself a £35 upgrade by all accounts.

Parallels customers are complaining about the upgrade cycle and leaving the Parallels platform in droves by all accounts and switching to the free Virtual Box and after this experience I am certainly not giving them any more of my cash.

It seems that many vendors talk about a minor OSX version increment like it's a completely different OS and application model under the hood which to my mind just doesn't make sense.

Since I'm yet to take up Mac software development with any real world software I'm not aware of what these issues might be and now that I feel I have been completely mislead by Parallels I'm feeling particularly annoyed that I could have spent £35 on a software update based on what appears to be lies.

What are these potential incompatibilities? Obviously new features of the OS wont by used by "old" software but to be told that my apps won't even launch when in fact they do is seriously questionable business practices and is even illegal in my country.

  • This question does not appear to be about Apple hardware or software within the scope defined in the help center. – Daniel Oct 18 '14 at 10:59

To provide an insight into the API level changes between OS X versions, Apple's What's New in OS X developer document is useful.

The deprecated framework and function lists can be extensive between 10.x releases:

Deprecated Frameworks and APIs

Periodically, Apple adds deprecation macros to APIs to indicate that those APIs should no longer be used in active development. When a deprecation occurs, it is not an immediate end of life for the specified API. Instead, it is the beginning of a grace period for transitioning from that API and to newer and more modern replacements. Deprecated APIs typically remain present and usable in the system for a reasonable time past the release in which they were deprecated. However, active development on them ceases, and the APIs receive only minor changes to accommodate security patches or to fix other critical bugs. Deprecated APIs may be removed entirely from a future version of the operating system.

As a developer, avoid using deprecated APIs in your code as soon as possible. At a minimum, new code you write should never use deprecated APIs. And if your existing code uses deprecated APIs, update that code as soon as possible. Fortunately, the compiler generates warnings whenever it spots the use of a deprecated API in your code. You can use those warnings to track down and remove all references to those APIs.


For clarification, Apple's 'point' releases are the equivalent of Windows' major updates...
10.9 to 10.10 is as big a change as Windows 7 to 8.

Apple has always had a lot harder approach to backwards compatibility. They want you on the latest & greatest & don't support older OSes for very long at all, "Last 3" would be about maximum for even security updates.
iOS is even stricter, they stopped signing iOS 7 within a week of iOS 8 being released, for any hardware that is capable of running 8.

Window's backwards compatibility is beleaguered by an ever-increasing legacy of .net & C libs, scattered around even a current Windows machine. Apple says, keep up or fall behind.

Without in any way defending Parallels - did you actually investigate what their incompatibility issue was? The latest official announcement I can see from them was July, long before the final release of Yosemite; maybe the situation changed in later betas.

  • Anyway, after having typed all this, I'm pretty sure the post will be deleted soon, rants & 'why?' questions are off-topic on SE. – Tetsujin Oct 18 '14 at 8:37
  • The post I was referring to was actually written by a Parallels employee only yesterday ... – Jammer Oct 18 '14 at 8:42
  • Sure, I get the rant thing but my question was fairly specific "What are these potential incompatibilities?". To be fair to the Windows backwards compatibility thing. I hear this constantly from businesses as a major reason why it will be difficult for OSX to really break into the mission critical Enterprise world. Large organisations run a LOT of legacy software that is simply too expensive to have to roll out new versions all the time, it's a simple financial consideration at the end of the day ... – Jammer Oct 18 '14 at 8:47
  • So basically what you're saying is that a 10.X update could drastically alter the shape of the various OSX APIs? In fact it could wholesale replace some and deprecate others ... – Jammer Oct 18 '14 at 8:50
  • Yes, in short - though at that level it's "above my pay grade" so I can't provide specifics, sorry. For future Googleability [if you can spare the energy] it might be worth re-casting the initial question to aim it more squarely at that issue. It would then be more likely to get good, solid answers & I can pull my initial defensive stance from this answer & comments, keeping it all more relevant for other users to search later. – Tetsujin Oct 18 '14 at 9:03

Not the answer you're looking for? Browse other questions tagged .