Of course, when breaking old interfaces and adding new, the proper way (in the commercial software world, at least) is to have one release that supports both the old and new interfaces, so the users have a chance to change things at their own speed, rather than having to rebuild everything to use the new version.
Another unfortunately all too uncommon thing is, when breaking an interface and providing an exact equivalent with new syntax, is to provide a simple search-and-destroy tool that a user can run to fix all of the old files to uuse the new syntax, rather than forcing the user to do it by hand. After submitting a bug (that will be rejected) that the old stuff doesn't work, of course. Loren