Spring Layout follows guidelines similar to those of Apache APR:
"Versions are denoted using a standard triplet of integers: MAJOR.MINOR.PATCH. The basic intent is that MAJOR versions are incompatible, large-scale upgrades of the API. MINOR versions retain source and binary compatibility with older minor versions, and changes in the PATCH level are perfectly compatible, forwards and backwards."
Due to the fact that a number of known applications are using Spring Layout in a continued development and production environment, prior to the 1.0.0 release, all PATCH releases will be compatible. However, MINOR releases prior to 1.0.0 will reserve the right to break compatibility so as not to restrict the introduction of new features or general design improvements at this early stage of the project.
All pre-1.0.0 MINOR releases will come with an upgrade guide, detailing any steps required to get a project compatible with the new release.
The main trunk is for features, a branch will be used for fixes and should be merged into the trunk as appropriate. This way the fix branch can be used to get a feature stable build at any time without impact of any new features.
Anyone regularly building from SNV (trunk) should expect to cope with new features being built in the trunk. If they don't feel comfortable with this they should build from the fix branch or stick to the latest release and if using maven for dependency management, use the maven ibiblio repository for their dependency.