Best would be to not break anything ideally. Is there no alternative? You didn’t mention why you want to break it and why you couldn’t find alternatives. Also you didn’t mention what “breaking” means and what would happen for scripts which were using it.
There is an alternative: I can keep the current macro in our code base and create a new one with another name. The proposal here is basically to get rid of this macro. I’m globally refactoring the way it works (which is the root cause of the bug in Loading...) with different arguments.
The reason why I want to just get rid of it is that with my work we’d keep a velocity macro without using it in XS and so without any further testing on it. For something that is probably never used outside of XS.
We’re talking about a velocity macro in a template here. Moving to legacy mean that someone will still have to load the template to use it. So I don’t really see the point here, as it won’t help the backward compatibility.