
For bug <NUM>, see http://bugzilla.osafoundation.org/show_bug.cgi?id=<NUM>

Version 2.0 -> 
------------------

 - built from Java Lucene lucene svn trunk 478273
 - added conditional code for building with Python 2.3.5 
 - fixed bug MultiFieldQueryParser.__init__()
 - added patch for AbstractField.java to workaround gcj bug 15411
 - integrated fix for bug 6186
 - fixed bug in test_PythonDirectory.py on Windows (contributed by Yura Smolsky)
 - fixed bugs in LuceneInAction Indexer.py and Searcher.py samples
 - fixed bug in IndexReader.deleteDocuments() returning None instead of count
 - fixed bug in IndexModifier.deleteDocuments() returning None instead of count
 - fixed bug where IndexReader$FieldOption class was not pre-initialized
 - fixed bug in Similarity.tf(float) wrapper (contributed by Aaron Lav)
 - fixed bug in FieldDoc constructor
 - fixed bug in Date.getTime() and Calendar.getTimeInMillis truncating return
 - fixed bug in Searchable.search(Weight, ...Sort) wrapper returning wrong type
 - fixed bug in parsing empty array arguments
 - added support for Searchable.docFreqs([Term, ...])
 - added support for PrefixFilter (contributed by Yura Smolsky)
 - added support for MoreLikeThis class from queries contrib package
 - added support for MoreLikeThisQuery class from queries contrib package
 - added support for BooleanFilter, FilterClauses classes from queries contrib
 - added support for TermsFilter class from queries contrib
 - added support for FuzzyLikeThisQuery class from queries contrib package
 - added support for BoostingQuery class from queries contrib package
 - added support for QueryParser.set/getUseOldRangeQuery
 - added support for implementing highlighter's Fragmenter interface from python
 - 

Version 1.9 -> 2.0
------------------

 - built from Java Lucene lucene_2_0_0 tag 409808
 - added support for query factory python extension of MultiFieldQueryParser
 - added missing type check to p2j (bug reported by Matthew O'Connor)
 - replaced LookaheadSuccess with false to workaround compiler bug on Windows
 - added missing getter/setter methods on IndexWriter and IndexModifier
 - added support for TimeZone
 - added support for FSDirectory.set/getDisableLocks()
 - added support for TermVectorOffsetInfo
 - added support for MultiReader
 - added support for MultipleTermPositions
 - added support for ScoreDocComparator, SortComparator
 - added support for MultiPhraseQuery
 - PyLucene no longers uses SWIG, wrappers are written by hand
 - removed support for a number of deprecated Java Lucene APIs and classes
 - fixed tests and samples to not use removed deprecated APIs
 - _PyLucene.so may now be linked statically against libgcj.a on Linux and Mac
 - QueryParser's non-static parseQuery() method now called parse() again
 - patched IndexFileNameFilter to remedy lack of regex implementation by libgcj
 - changed Hits iteration to use Hit object yet work as before (for i, doc in..)
 - fixed bug not checking return value of PyImport_ImportModule
 - added support for building PyLucene with gcj and python from darwinports
 - fixed memory leak with PyLucene.PythonThread instances
 - fixed bug in join() which needed not synchronize on the thread object
 - got PyLucene to run on Intel Mac OS X with a patched gcj 4.0.2
 - added support for IndexWriter get/set|Commit/Write|LockTimeout accessors

Version 1.9rc1-1 -> 1.9
-----------------------

 - added support for Berkeley DB 4.4.20
 - built from Java Lucene lucene_1_9_final tag 381437
 - added support for WhitespaceTokenizer
 - integrated new regex query contrib module
 - added PythonRegexCapabilities.java which calls into Python's re module
 - added test_RegexQuery.py
 - integrated Lucene 'db' contrib directory structure change
 - fixed potential stack blower in j2p()
 - added support for MultiFieldQueryParser(String[], Analyzer)
 - fixed potential stack blower in p2j()
 - changed order of include paths to ensure gcj header files are last
 - added support for TopDocCollector and TopFieldDocCollector

Version 1.0.1 -> 1.9rc1-1
-------------------------

 - changed build to use Java Lucene sources from its SVN repository
 - changed build to generate all header files from all classes found
 - changed build to patch Lucene sources before compiling them
 - removed support for Berkeley DB 4.2.52 (4.3.29 is the supported version)
 - added test_BooleanOr.py unit test
 - added test_BooleanQuery.py unit test
 - added support for the new Field() constructors
 - added support for the new BooleanClause() constructors
 - changed PythonStore extension to use new IndexInput and IndexOutput classes
 - renamed PythonSearchable to PythonSearcher, extending Searcher
 - removed Searcher.java patch from patches.lucene since it's in original now
 - isolated another gcj bug into another patch to QueryParser.java
 - reworked PythonIndexInput and PythonIndexOutput protocol (method renames)
 - fixed bug in lia StringReader class returning str instead of unicode
 - updated README for extending store.Directory classes from python
 - fixed lia index creation to hardcode 'modified' date to original in zip
 - tweaked lia's SynonymAnalyzerTest to match changed Java Lucene behaviour
 - added support for DateTools
 - added support for and patch to MMapDirectory
 - extended test_PyLucene.py to also test with MMapDirectory
 - added support for RangeFilter.bits()
 - added support for IndexReader.main() and added test/index_reader.py
 - added support for IndexWriter's set/getTermIndexInterval()
 - added missing IndexWriter DEFAULT int constants
 - added support for java.lang.Package and org.apache.lucene.LucenePackage
 - added support for ParallelReader
 - added support for IndexModifier
 - added support for MatchAllDocsQuery
 - removed delete() patches from patches.lucene since they're in original now
 - added new or missing Field methods, get/setOmitNorms()
 - added support for highlighter's NullFragmenter
 - added support for RegexQuery, SpanRegexQuery and RegexTermEnum
 - added support for ConstantScoreQuery and ConstantScoreRangeQuery
 - added support for BooleanQuery's get/setMinimumNumberShouldMatch()
 - added support for DisjunctionMaxQuery
 - added support for ISOLatin1AccentFilter
 - added support for KeywordAnalyzer and KeywordTokenizer
 - added support for LengthFilter
 - added Analyzer's getPositionIncrementGap()
 - added one of the StopFilter constructors which ignore case
 - added distrib-src target which includes sources, lucene jars and header files
 - added test target to run PyLucene and LuceneInAction unit tests
 - built from Java Lucene rev 354935

Version 1.0 -> 1.0.1
--------------------

 - fixed various bugs in Python store extensions, making them work
 - changed Py_CLEAR() to Py_XDECREF() in finalizeObject()
 - fixed typos in README file
 - added -L$(GCJ_HOME)/lib to windows linker invocation
 - added test_PythonDirectory.py unit test
 - upgraded to Berkeley DB 4.3.29
 - changed OS X linking to resolve all symbols at link time
 - fixed bug in setting gnu.classpath.home.url when python paths are not ascii
 - fixed bug in PythonThread.join() calling undefined overload
 - added support for building on FreeBSD (patch submitted by Dudley Carr)

Version 0.9.9 -> 1.0
--------------------

 - enhanced Makefile so that PyLucene can be built with gcc 4.0
 - fixed bug in PythonFilteredTermEnum.termCompare signature
 - wrote documentation thus completing the 1.0 release

Version 0.9.8 -> 0.9.9
----------------------

 - updated INSTALL
 - reworked java ref management to release refs upon PyCObject deletion
 - added support for building with SWIG 1.3.24
 - added type handlers for primitive types to resolve overlaps (bool, numbers)

Version 0.9.7 -> 0.9.8
----------------------

 - added support for RangeFilter, ported RangeFilter unit tests
 - added support for Throwable
 - java exceptions now reported in a JavaError python exception
 - added support for Object.getClass()
 - added partial support for Class
 - Windows _PyLucene.pyd now stripped
 - fixed bug in Indexer.py Lucene in Action sample, it did not recurse dirs
 - changed Document.__getitem__() to return field value instead of field object
 - added Document.__getattr__() to return field object from field name
 - replaced Document.__delitem__() with Document.__delattr__()
 - all calls to java now yield GIL, additional yield API overloads removed
 - fixed ParallelMultiSearcher with python extension searchers deadlock bug
 - incorporated Erik Hatcher's man page indexer samples

Version 0.9.6 -> 0.9.7
----------------------

 - added support for TermPositionVector
 - upgraded Highlighter to latest in sandbox CVS (without TokenSources.java)
 - fixed bug in jsearchableArray type handler
 - added all search overloads to Searcher, SWIG needs them on the same class
 - fixed bug in PythonSearchable, renaming search overloads for python call
 - inverted the store patches from patches.store-4.3 to patches.store-4.2
 - added IndexWriter.optimize(yield) overload
 - added missing IndexWriter.addIndexes(IndexReader *) overload
 - added support for Lock, InputStream, OutputStream
 - added missing Directory methods
 - added python extension support to Directory, InputStream, OutputStream, Lock
 - added missing FSDirectory methods
 - added support for RAMOutputStream
 - Object.toString() wasn't properly inherited
 - improved type error reporting
 - added most missing Object methods
 - added support for Properties
 - added support for Process and most missing Runtime methods
 - added IndexWriter(jstring, janalyzer, jboolean) constructor
 - added HitsEnumeration to iterate over documents of Hits
 - made Hits more pythonic, added __iter__, __len__, __getitem__, __nonzero__
 - integrated br, cn, cjk, cz, fr and nl analyzers from sandbox
 - added support for System.out and System.err
 - added support for SimpleDateFormat
 - fixed bug in returning Locale objects
 - added TokenEnumeration to iterate over tokens of TokenStream
 - made TokenStream iterable
 - added support for LetterTokenizer, LowerCaseTokenizer
 - added IndexWriter.addIndexes(x, yield) overload
 - calling back into python now always ensures GIL
 - added IndexWriter.addDocument(..., yield) overloads
 - added support for pythonic Reader.read() and Reader.read(int)
 - added python charTokenizer and tokenFilter factory methods to TokenStream
 - added support for StandardAnalyzer.STOP_WORDS
 - added IndexReaderEnumeration to iterate over documents of IndexReader
 - made IndexReader iterable
 - made Document more pythonic, added __iter__, __getitem__, and __delitem__
 - added support for TermDocs.read(), returns a tuple of int arrays
 - added support for Calendar and GregorianCalendar
 - added Field.Keyword(String, Date)
 - fixed bug in ParallelMultiSearcher, search methods need to yield GIL
 - fixed bugs in returning SortField[] and ScoreDoc[]
 - fixed uncaught exception in __del__() bug
 - added support for TopDocs and TopFieldDocs constructors
 - consolidated object array return code
 - added support for NumberFormat, DecimalFormat
 - added support for query factory python extension of QueryParser, with super
 - added support for downcasting and instanceof operators on ScoreDoc
 - fixed bug in jcomparableArray type checker
 - fixed bug in passing int[]
 - added support for Spans, SpanQuery.getSpans()
 - most "Lucene in Action" samples and test cases ported to python/PyLucene

Version 0.9.5 -> 0.9.6
----------------------

 - fixed egregious bug in Makefile when compiling for debug with Py_TRACE_REFS
 - reworked PythonThread startup somewhat
 - fixed leak in PythonReader

Version 0.9.3 -> 0.9.5
----------------------

 - added support for Enumeration
 - added support for Document.fields()
 - added FieldEnumeration, a python iterable over an Enumeration of Field objs
 - added support for len(Hits)
 - added support for TopDocs, TopFieldDocs
 - added support for Searchable, with python extension
 - fixed bug with finalizeObject(), PyEval_InitThreads() wasn't called
 - added test_DbDirectory.py
 - tracked down finalizer deadlock to bug in gcj < 3.4.2, closed python 2.4 bug
 - caught a few refcount memory leaks in cpp code
 - caught leak for all non python-instantiatable lucene types
 - fixed test_PyLucene.py to properly close readers, searchers, etc..
 - upgraded windows build to Mingw 3.4.2, libiconv-2.dll now in distrib
 - added partial support for DateFormat
 - added partial support for Runtime
 - added a QueryParser constructor and most missing QueryParser methods, fields
 - added topic on running -db- flavor of PyLucene to README file
 - added libgcj .security files to installation and distribution
 - added LuceneBenchmark.py ported from LuceneBenchmark.java to unit tests
 - reworked python ref scheme using unsynchronized IdentityHashMap
 - added forever loop support to unit tests to track down leaks
 - added FSDirectory.LOCK_DIR
 - added support for Mark Harwood's Term Highlighter
 - added support for python 'implementation' of Formatter
 - added test_Highlighter.py submitted by Yura Smolsky
 - added support for MultiFieldQueryParser
 - added support for java.lang.Thread
 - re-implemented threading support, attachCurrentThread code removed
 - default python version set to 2.4 in Makefile
 - default version of Berkeley DB set to 4.3.27 in Makefile

Version 0.9.2 -> 0.9.3
----------------------

 - added support for Similarity, with python extension, DefaultSimilarity
 - ported TestSimilarity.java, all tests pass
 - upgraded to Java Lucene 1.4.3
 - added support for most java.lang.System methods
 - added support for java.util.Date
 - added support for DateField, DateFilter
 - ported TestDateFilter.java, all tests pass
 - added basic support for FilterIndexReader
 - added support for FilteredTermEnum, with python extension
 - added support for FuzzyTermEnum, WildcardTermEnum
 - calling Py_DECREF() from finalize() now working with GIL on python >= 2.4f0

Version 0.8.2 -> 0.9.2
----------------------

 - added support for Query[], SpanQuery, SpanQuery[]
 - added support for SpanFirst|Near|Not|Or|TermQuery
 - switched to SWIG_COBJECT_TYPES
 - added support for Berkeley DB 4.3.21 in addition to 4.2.52
 - added this file, samples and unit tests to distribution
 - added support for threaded use of PyLucene on Windows
 - calling Py_DECREF() from finalize() now working with GIL on python >= 2.4c1

Version 0.7.2 -> 0.8.2
----------------------

 - ported TestBooleanQuery.java, all tests pass
 - added support for BitSet, Filter, CachingWrapperFilter, QueryFilter
 - added support for python-based Filter extension
 - added support for PrefixQuery, FilteredQuery, RangeQuery, PhrasePrefixQuery
 - added support for MultiTermQuery, FuzzyQuery, WildcardQuery, Term[]
 - added support for downcasting and instanceof operators on Analyzer
 - added support for downcasting and instanceof operators on Searcher
 - added support for downcasting and instanceof operators on Query
 - ported TestFilterQuery.java, all tests pass
 - ported TestFuzzyQuery.java, all tests pass
 - ported TestPrefixQuery.java, all tests pass
 - ported TestRangeQuery.java, all tests pass
 - ported TestPhraseQuery.java, all tests pass
 - ported TestPhrasePrefixQuery.java, all tests pass
 - ported TestCachingWrapperFilter.java, all tests pass
 - added support for HitCollector, with python extension
 - added support for missing search methods on Searcher, for Searchable[]
 - ported TestDocBoost.java, all tests pass
 - ported TestNot.java, all tests pass
 - added support for Explanation, Explanation[]
 - added support for python Analyzer and TokenStream extensions
 - ported TestPositionIncrement.java, all tests pass
 - incorporated snowball 1.0 analyzer package from Lucene sandbox
 - added support for TokenFilter, SnowballAnalyzer, SnowballFilter
 - added support for LowerCaseFilter, PorterStemFilter, StopFilter
 - added support for GermanStemFilter, RussianStemFilter, StandardFilter
 - ported TestAnalyzers.java, all tests pass
 - ported TestPerFieldAnalyzerWrapper.java, all tests pass
 - ported TestStopAnalyzer, all tests pass
 - added support for Tokenizer, StandardTokenizer
 - added patch for StandardTokenizer, same issue as with QueryParser (JavaCC)
 - added PorterStemmerAnalyzer.py sample, submitted in Java by Jeff Bowden

Version 0.6.2 -> 0.7.2
----------------------

 - added support for Comparable, Comparable[], Locale, Locale[]
 - added static member init SWIG kludge
 - added support for ScoreDoc, FieldDoc, SortField, SortField[], Sort
 - added support for SortComparatorSource, ScoreDocComparator
 - added support for MultiSearcher, ParallelMultiSearcher
 - fixed more overload bugs
 - ported TestSort.java (except remote search tests), all tests pass

Version 0.6.1 -> 0.6.2
----------------------

 - upgraded to Java Lucene 1.4.2
 - down to 3 patches since building from Lucene jar
 - CCFLAGS for non debug build now -O3

Version 0.6 -> 0.6.1
--------------------

 - more tests added the tests/test_PyLucene.py
 - added support for IndexWriter.addIndexes()
 - upgraded to Java Lucene 1.4.1
 - added support for TermFreqVector (bug 1842)
 - added support for IndexReader field name APIs
 - windows build now done with gcc 3.4.1
 - added more IndexReader methods such as setUseCompoundFiles()
 - added support for Token and TokenStream classes
 - added support for remaining stock Analyzers
 - added more Field methods, improving support overloaded methods
 - added more Document methods
 - fixed bug 2082, missing import for Document class in Searcher.java

Version 0.5 -> 0.6
------------------

 - improved java object reference keeping using ref counted PythonRef objs
 - fixed bugs 1553, 1565, 1581, 1585, 1587, 1657
 - fixed size mismatch bug between the python and java unicode chars
 - fixed bug returning Py_None, Py_INCREF needs to be called on it
 - added workaround for gcj bug 15411
   http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15411
 - added support for BooleanClause, BooleanQuery, TermQuery and PhraseQuery
 - upgraded to Java Lucene 1.4
