The pages worked like this since at least 2007, when this parser test was added. Can you explain the change and how this new behavior is preferable?
The variant stuff was introduced since there was a long standing squid-cache problem when provide page to anonymous users - if no variant has been specified, it would provide page's variant by random. This problem has been partly resolved at r60272 which provide all-lowercase-form language code in XVO. In r75617, I added letter-half-uppercase-form which are widely used by broswers like IE. Then I feel the squid-cache problem has been resolved completely, so there's no need to guide a anonymous user to a "variant page" any more. That's why I remove the variant stuff.
Without knowing anything at all about the issues at hand (So ignore this if its stupid), but doesn't the relevant rfc say language codes are entirely case-insensitive, so shouldn't we accept them in any case, not just all-lowercase and half-uppercase?
squid regards XVO's "string-contains" as case-sensitive, so either we provide all possible language code which major browsers taked, or add a new method like "string-icontains" to XVO to identify case-insensitive strings.