2009/12/7 Josh Suereth <joshua.suer...@gmail.com>

>
> Just curious what the difference between Major and Minor truly is as both
> can break source/binary compatibility?   My feeling here is that sticking to
> strick source-compatibility for minor releases is actually a bonus.
>

Major changes (e.g. moving/renaming an API class, changing an API method's
signature, etc.) will break source compatibility for sure, i.e. for "users"
and "implementers". Minor changes (e.g. adding an abstract method to an API
trait) will at maximum break source compatibility for "implementers". So
from a "user's" perspective minor changes add new stuff which could be used
but do not break source compatibility, whereas major changes will require
changing the source code.

Examples: Renaming LiftRules to LiftConfig is a major change, adding a
second parameter to LiftRules.parseDate is also a major change. But adding a
second method LiftRules.parseDate is only a minor change (in this case even
binary compatibility should be given).

The other question I have is about deprecations.   What's your plan for
> handling these?   When can deprecated features be removed, etc.   That might
> feed into the source-compatibility issues in minor versions.
>

This is a good question and I do not have a plan yet ;-) As a first shot I
would say that deprecated features have to survive all minor changes (must
not break source compatibility for "users") and maybe one major change. The
latter is the question we have to discuss ...


> I think this is great stuff!  Whatever is decided here will help shape the
> future of the Scala community's versioning, so I hope you don't mind my
> pestering ;)
>

Don't worry ;-)

Heiko

My job: weiglewilczek.com
My blog: heikoseeberger.name
Follow me: twitter.com/hseeberger
OSGi on Scala: scalamodules.org
Lift, the simply functional web framework: liftweb.net

--

You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to lift...@googlegroups.com.
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en.


Reply via email to