Version targeting

In computing, version targeting is a technique that allows a group of (presumably knowledgeable) users (including software developers) to use some advanced software features that were introduced in a particular software version while allowing users accustomed to the prior versions to still use the same software as if the new features were never added to the software. It is a way to ensure backward compatibility when new software features would otherwise break it.

In Mozilla Firefox
Version targeting has been used in Mozilla Firefox when it introduced JavaScript 1.6 in Firefox 1.5 and JavaScript 1.7 in Firefox 2.0: developers willing to use the new scripting engine had to explicitly opt-in.

Use in Internet Explorer
Version targeting was proposed by Microsoft for use in its Internet Explorer 8 product-in-development, but the idea was later discarded.

The proposal came after the release of Internet Explorer 7 which improved its CSS 2.1 support at the cost of causing some websites that were developed for Internet Explorer 6 to be rendered incorrectly when viewed with the new browser version.

Microsoft contacted the Web Standards Project and experts on Web standards and asked for assistance in devising a new DOCTYPE-like technique that could work across browsers and let Web developers specify exact browser versions under which their Web sites are known to work correctly, and browsers implementing this form of version targeting would use the correct rendering engine versions to display the site correctly. Members of the WaSP Microsoft Task Force were involved in the proposal, albeit not every member backed it.

Some commentators suggested that it would be possible to use Internet Explorer 8's support for new DOCTYPEs in order to avoid using its version targeting meta tag.

Criticism
The concept of version targeting, especially as proposed by Microsoft, has been criticised for being a new form of browser sniffing and for violating the principle of forward-compatible development where progressive enhancement is preferred.

Version targeting has been criticised for not giving incentives to developers to plan ahead for forward compatibility.

Positive reception
Version targeting has been welcomed by some people as a means to enable browsers to adopt Web standards without breaking compatibility with Web sites depended on old rendering engines for their functionality.