This was a bit disheartening to read. I didn't see a any problem proper versioning couldn't address. Breaking backward compatibility shouldn't be an issue as long as you generally don't break forward compatibility. I was under the impression this was what the POSIX_C_SOURCE macro was meant for.