Libraries should be versioned and packaged such that they are easy to use over time, and in combination. The best way I have found to do this is to abide by three rules:
- Use APR versioning
- Re-namespace on major version changes
- Change the artifact ID on major version changes
Sage wisdom from a true warrior.