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.