The slimta suite attempts to follow Semantic Versioning. Basically, this means that changes to the version components actually mean something definable.
The python-slimta project has reached the
1.0.0 milestone. This means
that all sub-versions of the MAJOR version component (
1.X.Y) are backwards
compatible, while MINOR version changes may introduce non-breaking changes to
the API. Examples of non-breaking changes include new modules or classes, or
new optional arguments to existing functions and methods.
The other projects in the suite that are still version
0.X.Y should be
considered in active development. For the most part, the MINOR version
component will still be used to enforce backwards-compatibility, but until the
1.0.0 the API should be considered volatile.
Use of the word “stable” has so far been referring to how modifications are
made to the API. The
1.0.0 releases of slimta projects also try to carry
with it a commitment to application stability, particularly that production
traffic may be served with confidence.
Changing the order of or adding to optional parameters of a function or method is not considered a breaking change. Consider passing these arguments by keyword to avoid regressions. This choice helps maintain code cleanliness over time.