RFC 3066 Tags for Identifying Languages superseded
The IETF has just announced two new RFCs, RFC 4646 Tags for Identifying Languages, and RFC 4647 Matching of Language Tags. These two documents together constitute BCP 47. They render obsolete RFC 3066 (which replaced the earlier RFC 1766).
The RFCs describe how to create and match language tags, for example for use as values in the HTML lang and XML xml:lang attributes. The new specifications are backward compatible, but provide significant extensions to the language tag concept by including such things as script tags, UN region codes, variant tags, etc., for use when needed.
The W3C Internationalization Activity is preparing an article to provide a gentle introduction to the new tag structure. There is also an existing article that alludes to some of the reasons behind the change.