Return-Path: Delivered-To: apmail-struts-dev-archive@www.apache.org Received: (qmail 46038 invoked from network); 22 Feb 2008 14:57:52 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 22 Feb 2008 14:57:52 -0000 Received: (qmail 51923 invoked by uid 500); 22 Feb 2008 14:57:36 -0000 Delivered-To: apmail-struts-dev-archive@struts.apache.org Received: (qmail 51880 invoked by uid 500); 22 Feb 2008 14:57:36 -0000 Mailing-List: contact dev-help@struts.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Struts Developers List" Reply-To: "Struts Developers List" Delivered-To: mailing list dev@struts.apache.org Received: (qmail 51864 invoked by uid 99); 22 Feb 2008 14:57:36 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 22 Feb 2008 06:57:36 -0800 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [209.85.198.186] (HELO rv-out-0910.google.com) (209.85.198.186) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 22 Feb 2008 14:57:01 +0000 Received: by rv-out-0910.google.com with SMTP id c24so232331rvf.47 for ; Fri, 22 Feb 2008 06:57:09 -0800 (PST) Received: by 10.140.82.40 with SMTP id f40mr52029rvb.0.1203692229415; Fri, 22 Feb 2008 06:57:09 -0800 (PST) Received: from ?192.168.1.5? ( [75.171.168.240]) by mx.google.com with ESMTPS id g9sm2202377wra.5.2008.02.22.06.57.07 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 22 Feb 2008 06:57:08 -0800 (PST) Message-ID: <47BEE22E.8090901@pontarelli.com> Date: Fri, 22 Feb 2008 07:54:38 -0700 From: Brian Pontarelli User-Agent: Thunderbird 2.0.0.6 (X11/20071022) MIME-Version: 1.0 To: Struts Developers List Subject: Re: API Compatibility References: <47BCAB75.2000409@pontarelli.com> <436d9a250802211411x216d3102r47d6fbe07062af8b@mail.gmail.com> <47BDF90D.9090300@pontarelli.com> <436d9a250802211432i7e6adbdese302edb6f6d627f6@mail.gmail.com> <47BDFCBD.4000801@pontarelli.com> <436d9a250802211451v4648f8d8waa5fcd6eb201c144@mail.gmail.com> <47BE0219.9030200@pontarelli.com> <436d9a250802211505w7490b95ag24b9f7feb73ea57c@mail.gmail.com> <47BE3B74.3020201@pontarelli.com> <16d6c6200802212037h692fa308w475d1510d191a418@mail.gmail.com> <26E4A2453C2F43229AB23EA3B993E345@AlsQ6600> In-Reply-To: <26E4A2453C2F43229AB23EA3B993E345@AlsQ6600> Content-Type: text/plain; charset=iso-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org Al Sutton wrote: > Just so we're all on the same page, can I put forward the following as > a version numbering plan which would seem to reflect most peoples views; > > 2.0.x - New releases shouldn't alter the public API unless absolutley > neccessary (e.g. something is a security risk). > > 2.1.x (pre-first GA) - Changes to the public API allowed, all > pre-first GA releases are evolving and are released to allow users to > get a feel for the direction 2.1 is going in and comment on it in the > users list. > > 2.1.x (post-first GA) - New releases should not alter the public API > unless absolutley neccessary (e.g. something is a security risk). > > 2.2 - Needed if there are post-first GA 2.1.x changes which will break > parts of the public API and the changes are only functional enhancements. > > 3.x - Only needed if there are changes to large parts of the public > API which would break almost every S2.x app out there (in the same way > the 1.x to 2.x did). > > Does this sound OK? This scheme doesn't work because you can't tell a tool generically how things are compatible. The scheme needs a method for doing release while still breaking compatibility. This is where traditionally libraries tend towards alpha, beta, milestone and release candidate numbering. Savant uses this model: 1.0-Ax 1.0-Bx 1.0-Mx 1.0-RCx 1.0 1.0.x 1.x In order to support the current model you would need to tell tools like Savant and Ivy that 2.1.0 is not compatible with 2.1.1 but 2.1.1 is compatible with 2.1.2. In essence you would need a file that lists the compatibility that those tools could use when verifying the project. -bp --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org For additional commands, e-mail: dev-help@struts.apache.org