Backward compatibility refers to a software or hardware system that can successfully use interfaces and data from earlier versions of the system.
Questions tagged [backwards-compatibility]
1060 questions
14
votes
2 answers
Why crypto.createHash returns different output in new version?
Problem
I have node.js module that is using crypto.createHash to generate md5 hash.
Recently I noticed that hash generated by crypto module is different in new versions:
Code
require('crypto').createHash('md5').update('¥').digest('hex')
Node.js…

gevorg
- 4,835
- 4
- 35
- 52
14
votes
2 answers
Does semantic versioning apply to source or binary compatibility?
This question applies to any language which is written in one language ("source"), e.g. C or Java, and distributed in another ("binary"), e.g. machine code or Java byte code, using dynamic linking.
Suppose a user is already using version A of my…

Paul Draper
- 78,542
- 46
- 206
- 285
14
votes
2 answers
EcmaScript-6 backward compatibility
I am curious to understand/figure-out if the ECMAScript-6 new-changes will work on the old browsers or not.
Why I am asking this question is:
I remember the introduction of 'use strict'; in ECMAScript-5, it was meant for the compatibility with the…

dopeddude
- 4,943
- 3
- 33
- 41
14
votes
3 answers
Will visual studio 2015 projects and solutions be backward compatible with 2013?
Now that Visual Studio 2015 RC is out, has anyone installed it and opened Visual Studio 2013 projects/solutions?
Does it ask the files to be changed?
If yes, are the changes it makes backward compatible?

sprocket12
- 5,368
- 18
- 64
- 133
14
votes
2 answers
g++ always backward-compatible with "older" static libraries?
I have a few static libraries, which I'm not the owner of, compiled with an old version of g++ 4.3.2 (c++11/c++0x not activated).
When I compile my code with g++ 4.6 (no c++11) and link it using g++ 4.6 with these
static libraries, it links fine…

Yohan Danvin
- 885
- 6
- 13
14
votes
2 answers
Can I retire a required protobuf field?
I have a client-server application where the server transmits serialized objects in protobuf format to a client, and I would like to retire a required field. Unfortunately I can't change both client and server at the same time to use the new .proto…

bacar
- 9,761
- 11
- 55
- 75
13
votes
3 answers
Are android apps backwards compatible?
Should I build an app that targets Android 2.2 and release it on the Android Marketplace;
Would the app be available for download and use on devices running a version of Android OS lower than the targeted version of the app? - Let's say Android OS…

Jason Sultana
- 1,049
- 2
- 10
- 10
13
votes
5 answers
In C++, does overriding an existing virtual function break ABI?
My library has two classes, a base class and a derived class. In the current version of the library the base class has a virtual function foo(), and the derived class does not override it. In the next version I'd like the derived class to override…

Joseph Garvin
- 20,727
- 18
- 94
- 165
13
votes
6 answers
Is it a good practice to upgrade all python packages in production to their latest versions?
I am running a fairly complex Django application, for about a year now. It has about 50 packages in requirements.txt
Whenever I need a new package, I install it with pip, and then manually add it in the requirements.txt file with a fixed…

Martin Taleski
- 6,033
- 10
- 40
- 78
13
votes
2 answers
BeautifulSoup - TypeError: 'NoneType' object is not callable
I need to make my code backwards compatible with python2.6 and BeautifulSoup 3. My code was written using python2.7 and at this case using BS4. But when I try to run it at squeezy server, I get this error (it has python2.6 and bs3):
try:
from…

Andrius
- 19,658
- 37
- 143
- 243
13
votes
3 answers
Java 8: Spliterator, Iterator, Collection and "default" implemenations in Interfaces (Duplicate methods named spliterator)
Have an interesting situation following the release of Java 1.8.0_25 into the wilds... I believe the root of my issue is related primarily to the new (to 1.8) features of "default" implementations within Interfaces.
The application I am working on…

Gumbatron
- 231
- 2
- 6
13
votes
4 answers
Are compiled Java 8 lambda expressions backwards compatible with earlier versions of the Java runtime?
In order to reduce the clutter caused by numerous instantiations of anonymous types, I'm exploring the possibility of leveraging Java 8 lambdas.
One important consideration before using Java 8 and lambdas in a production environment is whether…

bnu
- 133
- 4
13
votes
3 answers
How could I use the same set of preference screens for all Android versions from 2.X to 4.X?
NOTICE: Please save yourself some time and refer to the accepted answer, no need to read all the quesiton.
You may read the rest of the question and the answer I provided for an alternative (although less sophisticated) method.
Also, you may want to…

ecv
- 708
- 7
- 14
12
votes
2 answers
Using iOS 5 features without breaking backward compatibility
My application is currently compiled against the latest iOS 4.x SDK. Once iOS 5.0 SDK is out, would it be possible for me to use the new iOS 5.0 SDK features in my application and yet have it run on iOS 4 devices (but with the parts using the new…

sparkymat
- 9,938
- 3
- 30
- 48
12
votes
1 answer
IBOutlets are nil on iOS 8 devices, but work fine on iOS 9 (Swift)
When running iOS 8, the IBOutlets of my nib based view controllers are nil, but when running iOS 9, they work fine. Any ideas why this might be happening?
My app supports iOS 8+, and I'm running Xcode 7.2.

jjramos
- 1,874
- 14
- 22