With any sufficiently large customer base, differing versions of the language base and supporting libraries need to be managed.
We currently have code in production that uses everything from version 1.5.2 (only one system, thankfully) up to 2.2.x.
As a general rule, current code works with 2.1, just to ensure compatibility. Grabbing new features as soon as they hit a release is a bit fraught with danger (see bug reporting bit later on).