Add classes for visitor traversal
[cql-java-moved-to-github.git] / Changes
diff --git a/Changes b/Changes
index e20ba63..f956a24 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,9 +1,115 @@
-$Id: Changes,v 1.28 2002-12-12 15:03:50 mike Exp $
 
 Revision history for the CQL-Java package.
 See the bottom of this file for a list of things still to do.
 
-0.5  (IN PROGRESS, currently at RC2)
+The work for releases 1.0, 1.2 and 1.2.1 was sponsored by the National
+Library of Australia, whose help we gratefully acknowledge.
+
+1.12 Mon 17 Mar 2014 16:16:16 CET
+  - rewrite the CQL lexer to better conform to CQL spec 
+  (e.g retain escapes for wildcards, etc)
+  - add jUnit test cases
+  - align list of terms (non-compliant) handling with Yaz CQL parser
+
+1.11 Tue  5 Mar 2013 13:38:18 CET
+  - Fix problem with parsing unquoted terms that begin with a '.'
+  - Fix problem with parsing unquoted terms that contain a '@'
+  - allow registration of custom relations
+  - optional flag to set strict-but-not-compliant mode that prohibits
+  unqouted keywords to be used as terms
+
+1.8  Fri Jul 22 18:02:41 CEST 2011
+    - API changes: removed direct access to internal state and introduced 
+    getters, removed usages of obsolete collections (Vector, Hashtable),
+    simplified method signatues (toXCQL), modified constants to be
+    read-only
+    - implemented faster XCQL serialization, using pure StringBuilder
+
+1.7  Tue Jul 27 17:35:25 BST 2010
+       - Patch from Ralph LeVan to recognise
+         "qualifier.dc.creator"-like properties as well as
+         "index.dc.creator" -- backwards compatible with version
+         prior to 1.0 as well as those subsequent.
+       - Reinstate the "exact" relation even when v1.2 is in effect
+         (the default), despite its removal from v1.2 of CQL.  In
+         practice, it seems to be in fairly widespread use, and
+         little real purpose is served in removing it.
+
+1.6  Thu Jun 17 10:56:24 BST 2010
+       - Fix the bug where "9x" is lexed as two tokens, a TT_NUMBER
+         followed by a TT_WORD, making unquoted search-terms such as
+         2010-06-17 syntax errors.  Thanks to Erik Hetzner
+         <erik.hetzner@ucop.edu> for the patch.
+
+1.5  Tue May 25 16:44:35 CEST 2010
+       - Fix recognition of word-relations to correctly match what is
+         specified in the CQL v1.1 and v1.2 documents.  In
+         particular, "encloses" and "within" are recognised, so that
+         Masterkey's use of "encloses" for IP range authentication
+         works again.
+       - Update regression tests accordingly.
+       - Extend test/random/ to emit summary line of successful
+         recompilations.
+
+1.4  Thu May 20 00:38:40 BST 2010
+       - Add support for interpreting sequences of non-keywords as a
+         single multi-word term rather than a broken INDEX RELATION
+         TERM triplet.  This means that "oxford street" is a valid
+         query rather than a syntax error, and "tottenham court road"
+         is what it looks like rather than a search for the word
+         "court" related by the relation "court" to the index
+         "tottenham".  Note that the word-formed relations "any",
+         "all", "exact" and (for CQL v1.2) "scr" are still treated
+         specially, as are profiled relations in context sets, of the
+         form <set>.<name>.
+
+1.3  Wed May 28 11:02:00 BST 2008
+       - Add getSortIndexes() to CQLSortNode, as suggested by Marcel
+         Versteeg <Marcel.Versteeg@KB.nl>
+
+1.2.1  Mon Aug  6 16:54:54 BST 2007
+       - Contructors for the CQLParser class are made public (as they
+         should have been all along).
+
+1.2  Tue Jul  3 17:53:28 BST 2007
+       - Support for CQL version 1.2 as described at
+               http://www.loc.gov/standards/sru/next-version.html
+         The most significant part of the v1.2 change is support for
+         sorting, but as of this writing (29th June) the official SRU
+         maintenance agency web site at  
+               http://www.loc.gov/standards/sru/index.html
+         does not include any specification for CQL sorting.
+         Therefore the original proposal at
+               http://zing.z3950.org/cql/sorting.html
+         is still considered canonical.
+
+1.0 Fri Jun 29 14:10:28 BST 2007
+       - Support for version 1.1 as described at
+               http://www.loc.gov/standards/sru/specs/cql.html
+         Since this is a significant leap forward, the version
+         numbering increases to the next major version.
+       - "Qualifiers" renamed as "indexes" throughout, to match what
+         is now universal CQL terminology.
+
+       PLEASE NOTE THE FOLLOWING INCOMPATIBLE API CHANGES
+       - The class UnknownQualifierException is replaced by
+         UnknownIndexException.
+       - The CQLTermNode method getQualifier() is replaced by
+         getIndex().
+
+0.7  Thu Sep  4 22:51:11 2003
+       - Support for profiled relations and relation modifiers:
+         recognise any non-key word as a relation or modifier, 
+         rejecting those that are not of the form <prefix>.<name>
+         since these must be explicitly tied to a "context" (what
+         used to be called a qualifier-set or index-set).
+
+0.6  Tue Jul 29 23:33:56 2003
+       - Include Ralph's fix for CQLTermNode::toType1BER() to prevent
+         it surrounding multi-word terms in quotes when encoded into
+         BER packet.
+
+0.5  Wed Feb  5 15:50:57 2003
        - Add an extra back-end method,
                byte[] toType1BER(Properties config)
          which generates an opaque BER-encoded PDU suitable for
@@ -113,10 +219,18 @@ See the bottom of this file for a list of things still to do.
 --
 
 ### Still to do
-       - Fix the bug where "9x" is parsed as two tokens, a TT_NUMBER
-         followed by a TT_WORD.  The problem here is that I don't
-         think it's actually possible to fix this without throwing
-         out StreamTokenizer and rolling our own, which we absolutely
+       - Test-harness option to use Type1 BER back-end.
+       - Case-insensitive matching for serverChoice and any other
+         special-case qualifiers.  (Are the configured qualifiers
+         matched case-insensitively?  They should be.)
+       - Prefix-aware matching for serverChoice, so that
+         >x="http://www.loc.gov/zing/srw/dc-indexes/v1.0/" x.resultSet=foo
+         does the right thing.
+       - Extend test-suite for PQF and BER renderers.
+       - Additional test-suite entries for things like
+         case-sensitivity.
+       - Add a new configuration file that allows arbitrary new
+         relations and relation modifiers to be defined.
        - Fix term-to-PQF translation to omit empty properties
          (for the broken Korean server)
        - Write "package.html" file for the javadoc documentation.
@@ -133,3 +247,4 @@ See the bottom of this file for a list of things still to do.
          * Generate multi-word terms
          * Generate prefix-mappings
 
+