-$Id: Changes,v 1.10 2002-11-15 11:35:53 mike Exp $
+$Id: Changes,v 1.39 2007-06-29 15:56: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)
+1.2 [IN PROGRESS]
+ - 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/cql/
+ 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
+ forwarding to Z39.50 server as a pasrt of a searchRequest
+ APDU. This was contributed by Ralph Levan <levan@oclc.org>
+ - 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)
+ <leftOperand> and <rightOperand> wrapper elements.
+ - Change the XCQL output to use the nasty (but official)
+ rendition of prefix-mapping: a <prefixes> element,
+ containing one of more <prefix>es may appear at the top
+ of either a <searchClause> or a <triple>.
+ - 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://dublincore.org/ dc.title=fish
+ >dc="http://www.loc.gov/zing/cql/dc-indexes/" dc.title=fish
and
- >"http://dublincore.org/ title=fish
+ >"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
--
### 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 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 StreakTokenizer and rolling our own, which we absolutely
- _don't_ want to do.
- - Describe prefix-mapping in the CQL tutorial (not really
- anything to do with cql-java, but this note will remind me
- to do it.)
- - Add support for the new "phonetic" relation modifier.
- - Write javadoc comments for CQLRelation and ModifierSet.
- - Write "overview" file for the javadoc documentation.
+ out StreamTokenizer and rolling our own, which we absolutely
+ - 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.
- - Consider the utility of yet another back-end that translates
- a CQLNode tree into JZKit's representation of a Type-1 query
- tree. That would be nice so that CQL could become a JZKit
- query-type; but you could achieve the same effect by
- generating PQF, and running that through JZKit's existing
- PQN-to-Type-1 compiler.
- Many refinements to the random query generator:
* Generate relation modifiers
* Proximity support
* Better selection of terms (from a dictionary file?)
* Introduce wildcard characters into generated terms
* Generate multi-word terms
+ * Generate prefix-mappings
+