Strictly speaking it violates semantic versioning because it’s introducing new API surface area. However, it’s just *one* tiny method, and it was added primarily to fix a bug rather than support dramatic new functionality, so I don’t want to wait until 3.5. (We’ve done this in previous releases, for example when it was reported that d3.random.irwinHall was in fact returning a Bates distribution.) We could make d3.touch private in the interim, but I don’t see a significant risk of releasing it a patch release, so I’m inclined to let it slide.