X-Git-Url: http://git.indexdata.com/?p=cql-java-moved-to-github.git;a=blobdiff_plain;f=Changes;h=f956a24e755279264aca01cf007687bca03d0cbb;hp=74d7c6e053d0b990c503c9a82f963ed45695b8ee;hb=HEAD;hpb=56734538af8c722d200cae50b8ddab3037d83983 diff --git a/Changes b/Changes index 74d7c6e..f956a24 100644 --- a/Changes +++ b/Changes @@ -1,21 +1,192 @@ -$Id: Changes,v 1.7 2002-11-12 22:37:48 mike Exp $ -Revision history for "cql-java" +Revision history for the CQL-Java package. +See the bottom of this file for a list of things still to do. -0.3 (IN PROGRESS) +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 + 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 .. + +1.3 Wed May 28 11:02:00 BST 2008 + - Add getSortIndexes() to CQLSortNode, as suggested by Marcel + Versteeg + +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 . + 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 + forwarding to Z39.50 server as a pasrt of a searchRequest + APDU. This was contributed by Ralph Levan + - Add srw.resultSet support to the toPFQ() method. + - Add new resultSetName() method to CQLNode and its + subclasses, returning the name of the referenced result-set + for a node that is just a result-set reference, and null for + anything else. + - Change regression-test rules for Adam's compiler to use his + new front-end cql2xcql instead of the old cqlparse3. + - Change the names of the anchoring properties in + etc/pqf.properties and the CQLTermNode code that examines + them, in accordance with Adam's PQF-renderer's behaviour. + This gives more flexibility in terms of generating + attributes for end-of-field anchoring. Various other minor + tweaks to the pqf.properties file, mostly to the comments. + - Change the capitalisation of the project name from + "cql-java" to "CQL-Java". That doesn't really make any + difference to anything: in particular, file-names such as + "cql-java.jar" remain the same. + +0.4 Thu Nov 21 10:09:26 2002 + - Add support for the new "phonetic" relation modifier, + including its mapping in "etc/pqf.properties". + - Make prefix-maps bind loosely, so that ``>dc=x a and b'' + applies the dc=x binding to both the ``a'' and ``b'' + sub-queries. + - Change the XCQL output to include the nasty (but official) + and wrapper elements. + - Change the XCQL output to use the nasty (but official) + rendition of prefix-mapping: a element, + containing one of more es may appear at the top + of either a or a . + - Include test/regression/xmlpp.pl in the distribution: this + may now be used for testing whether a CQL compiler produces + _equivalent_ XCQL to what's in the regression test, rather + than requiring byte-identical output. + - Include the reference XCQL output in the distribution, for + the regression test suite to run against. + - Change build process so that javadoc documentation is built + by "make" in the "docs" directory. There's now a top-level + makefile that builds the source, runs the test suite and + creates the documentation. + - Write javadoc comments for CQLRelation and ModifierSet. + - Other improvements to javadoc comments (e.g. describe the + `config' parameter to the toPQF() method.) + - Sort out the licence: I've settled on the LGPL. + - Remove the redundant and misleading etc/Grammar file. + - Fix up various Maintenance Agency web addresses that have + moved in the great ZING-release shake-up. + +0.3 Fri Nov 15 12:04:04 2002 + - Allow keywords to be used unquoted as search terms. + - Add support for serverChoiceRelation (scr). + - Add support for prefix-mapping, as in + >dc="http://www.loc.gov/zing/cql/dc-indexes/" dc.title=fish + and + >"http://www.loc.gov/zing/cql/dc-indexes/" dc.title=fish + The XCQL generated corresponds to Adam's suggested format + rather than Rob's, not so much because I prefer it (although + I do) as because it's what fell out when I just Coded What + Comes Natur'ly. That may need to change, depending on the + result of the ZNG list's deliberations. + - Fix the parser to normalise relation modifiers to lower case. - Fix the CQLParser test harness not to emit an extraneous blank line at end of XCQL output. - - Fix the parser to normalise relation modifiers to lower case. - Fix CQLNode documentation to contain a link to YAZ's documentation of Prefix Query Format (PQF) rather than containing a rather unhelpful chunk of BNF. - - Change the source directory's Makefile so that it specifies - the appropriate -classpath by default. - ### undo this change! - Change the test/regression Makefile so that "make clean" now does what "make distclean" used to do - the distinction between them is pointless. - Fix a few typos in the documentation. + - Move the README file's old "THINGS TO DO" section to the end + of this file, the new "Still to do" section. 0.2 Wed Nov 6 23:05:54 2002 - Fix the order of proximity parameters in accordance with the @@ -45,3 +216,35 @@ Revision history for "cql-java" 0.1 Sun Nov 3 20:58:27 2002 - First public release. +-- + +### Still to do + - 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. + - Some niceties for the cql-decompiling back-end: + * Don't emit redundant parentheses. + * Don't put spaces around relations that don't need them. + - Many refinements to the random query generator: + * Generate relation modifiers + * Proximity support + * Don't always generate qualifier/relation for terms + * Better selection of qualifier (configurable?) + * Better selection of terms (from a dictionary file?) + * Introduce wildcard characters into generated terms + * Generate multi-word terms + * Generate prefix-mappings + +