Return-Path: Delivered-To: apmail-lucene-solr-dev-archive@locus.apache.org Received: (qmail 70342 invoked from network); 9 Jul 2007 18:32:38 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 9 Jul 2007 18:32:38 -0000 Received: (qmail 47078 invoked by uid 500); 9 Jul 2007 18:32:40 -0000 Delivered-To: apmail-lucene-solr-dev-archive@lucene.apache.org Received: (qmail 47041 invoked by uid 500); 9 Jul 2007 18:32:39 -0000 Mailing-List: contact solr-dev-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: solr-dev@lucene.apache.org Delivered-To: mailing list solr-dev@lucene.apache.org Received: (qmail 47032 invoked by uid 99); 9 Jul 2007 18:32:39 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 09 Jul 2007 11:32:39 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: neutral (herse.apache.org: local policy) Received: from [169.229.70.150] (HELO rescomp.berkeley.edu) (169.229.70.150) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 09 Jul 2007 11:32:36 -0700 Received: by rescomp.berkeley.edu (Postfix, from userid 1007) id 996355B766; Mon, 9 Jul 2007 11:32:15 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by rescomp.berkeley.edu (Postfix) with ESMTP id 7E8627F403 for ; Mon, 9 Jul 2007 11:32:15 -0700 (PDT) Date: Mon, 9 Jul 2007 11:32:15 -0700 (PDT) From: Chris Hostetter To: solr-dev@lucene.apache.org Subject: Re: what goes in CHANGES.txt In-Reply-To: Message-ID: References: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Checked: Checked by ClamAV on apache.org : I disagree that it needs to be in CHANGES.txt... advanced expert users : will also use the source/javadoc (and creating ones own field types is : definitely advanced). Every public class and method in solr isn't : equally part of the "public" API. true, but classes like FieldType are specificly noted as extension points... http://wiki.apache.org/solr/SolrPlugins ...in general, any situatuation where we support dynamic loading of class/interface impls is a situation where changes to that class/interface should be documented in the CHANGES.txt because it affets people providing their own impl ... new methods on abstract base classes are particularly important because people upgrading won't notice any compilation errors, and may then wonder why some features (which may have worked in the past) no longer work with their custom class. the FieldType.toObject example is a perfect case of this ... without drawing atention to the fact that it was added to support "updateable" documents people with their own custom FieldTypes might get really confused as to why updating docs doesn't work for them : If we added a more obscure method that didn't exist before (like : getFirstMatch()), that wouldn't need to be added (it's noise to most : users, doesn't change existing functionality, not accessible w/o : writing Java code, and an advanced user can pull up the javadoc). I agree ... but only because SOlrIndexSearcher isn't a class we expect advanced users to subclass so providing a new impl that they dont' know about doesn't affect them ... but in cases like FieldType, RequestHandlerBase, or BaseTokenFilterFactory, etc.... then new methods added to those classes that other parts of Solr rely on for new functionality (or a new methodology for previously existing functionality) should be documented someplace advanced users can find them without needing to diff the javadocs between releases. -Hoss