Return-Path: Delivered-To: apmail-commons-dev-archive@www.apache.org Received: (qmail 84151 invoked from network); 6 Feb 2008 11:02:38 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 6 Feb 2008 11:02:38 -0000 Received: (qmail 16515 invoked by uid 500); 6 Feb 2008 11:02:11 -0000 Delivered-To: apmail-commons-dev-archive@commons.apache.org Received: (qmail 16435 invoked by uid 500); 6 Feb 2008 11:02:11 -0000 Mailing-List: contact dev-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Jakarta Commons Developers List" Delivered-To: mailing list dev@commons.apache.org Received: (qmail 16417 invoked by uid 99); 6 Feb 2008 11:02:11 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 06 Feb 2008 03:02:11 -0800 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [208.75.86.161] (HELO vafer.org) (208.75.86.161) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 06 Feb 2008 11:01:55 +0000 Received: from p5b03f1cb.dip.t-dialin.net ([91.3.241.203]:64163 helo=[192.168.1.131]) by vafer.org with esmtpsa (TLS-1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.67) (envelope-from ) id 1JMi2D-0006ur-Cs for dev@commons.apache.org; Wed, 06 Feb 2008 11:01:45 +0000 Mime-Version: 1.0 (Apple Message framework v753) In-Reply-To: <31cc37360802052002m20e99365l2b4114cc559cf82a@mail.gmail.com> References: <170098.70022.qm@web86508.mail.ird.yahoo.com> <31cc37360802052002m20e99365l2b4114cc559cf82a@mail.gmail.com> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: Content-Transfer-Encoding: 7bit From: Torsten Curdt Subject: Re: [io] 2.0 Moving to minimum of JDK 1.5 Date: Wed, 6 Feb 2008 12:02:22 +0100 To: "Jakarta Commons Developers List" X-Mailer: Apple Mail (2.753) X-Virus-Checked: Checked by ClamAV on apache.org >> Because it is absolutely essential that we allow compatibility >> with the older release. >> >> Specifically, it is a requirement that if there are any binary or >> source incompatible changes, then an application must be able to >> run with both the old and new jar files (v1.4 and v2.0). The only >> practical way in Java today is to have the two incompatible >> versions in two separate packages. >> >> The practical impact of a new package is small to users that use >> commons-io directly - a quick organize imports in an IDE. The >> impact of NOT doing this would be jar hell, if your application >> relied on another open source library that still used v1.4. > > > Then there should never be a 2.0; it should remain as 1.5, 1.6, > 1.12 etc. ??? ...I think Stephen was just making a point about jar hell ...no? > 2.0 is semantically meaningless. > > I buy your argument for huge changes, ie) collections-generics is very > much a different product. I don't buy it for small API changes and > removal of deprecation. Your argument would imply that we should never > deprecate (as we're never going to actually remove it) and that we > never increase a major version except for PR reasons. True ...it does bring up the question about deprecations - for minor upgrades. 1.x -> 1.(x+1) ...will we ever *remove* deprecations? I think it is common sense to remove them after a couple of releases. Only 1.x.y -> 1.x.(y+1) should be stay as compatible that you can drop them in without really reading the release notes. For 1.x -> 1.(x+1) we should have the freedom to remove deprecations after a couple of releases. This just needs to be well documented. With pointers how to replace the deprecated method/class with the new API. > If IO 2.0 is hugely different so as to be a new product, then sure. If > it's practically the same with minor API breakage, then I still don't > see the need to cause pain to many for the few who think they can > magically upgrade major versions in production. Sure we'll get > cross-dependency problems, but that just implies to me that we > shouldn't be doing major upgrades all the time. If someone thinks he can upgrade from 1.x to 2.x without changing anything he deserves the pain to make sure he is still alive and thinking ;) While I think it's very important to be concerned of backwards compatibility there is nothing wrong with a 2.x version to get out of the paralyzes and move forward. That's life! If people don't want to move forward they need to stick with what they have. As long as we publish our release compatibility rules and stick to them ...everyone will be OK I assume. My 2 cents -- Torsten --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org For additional commands, e-mail: dev-help@commons.apache.org