In #2730 we changed the lowercasing logic of the .attr() setter to better conform to the spec (we were lowercasing too much) but we had to lowercase at all only because of IE<9. We don't need that logic in 3.0 and removing it may even "accidentally" make this API sort-of work on SVGs (see #2910) so why not.