Every new version of Mathematica contains many new features. But careful design from the outset has allowed nearly total compatibility to be maintained between all versions. As a result, almost any program written, say, for Mathematica Version 1 in 1988 should be able to run without change in Mathematica Version 5.1--though it will often run considerably faster.
One inevitable problem, however, is that if a program uses names that begin with upper-case letters, then it is possible that since the version when the program was first written, built-in functions may have been added to Mathematica whose names conflict with those used in the program.
In addition, to maintain the overall coherence of Mathematica a few functions that existed in earlier versions have gradually been dropped--first becoming undocumented, and later generating warning messages if used. Furthermore, it has in a few rare cases been necessary to makes changes to particular functions that are not compatible with their earlier operation.
This section lists all major incompatible changes from Mathematica Version 1 onward.