Towards 1.10
[simpleserver-moved-to-github.git] / Changes
diff --git a/Changes b/Changes
index a35a4d6..9086b12 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,112 @@
+$Id: Changes,v 1.47 2007-09-25 09:02:03 mike Exp $
+
 Revision history for Perl extension Net::Z3950::SimpleServer
 
+1.10  (IN PROGRESS)
+       - Document the init-handler's PEER_NAME argument.
+
+1.09  Mon Sep 10 15:54:38 BST 2007
+       - *Argh*  Another mixed statement/declaration.
+
+1.08  Mon Sep 10 12:15:29 BST 2007
+       - *Sigh*  Fix mixed statement/declaration.
+
+1.07  Sat Sep  1 10:31:26 BST 2007
+       - When the scan-handler callback returns, do not attempt to
+         copy the terms from Perl structures if the error-code is
+         non-zero (i.e. if an error has occurred).  This protects
+         against a segmentation fault when the Perl callback does not
+         explicitly set $args->{NUMBER} = 0 on error.
+       - Correct transcription of string-valued attributes in
+         $args->{RPN}.
+       - Scan handler is now passed RPN as well as TERM, a tree of
+         Perl structures representing the entire scan clause
+         including access-points and other attributes (which are
+         discarded from TERM).
+       - The various classes used to represent nodes in the RPN query
+         tree (Net::Z3950::APDU::Query, Net::Z3950::RPN::And,
+         Net::Z3950::RPN::Or, Net::Z3950::RPN::AndNot,
+         Net::Z3950::RPN::Term and Net::Z3950::RPN::RSID) now all
+         share a newly introduced superclass Net::Z3950::RPN::Node,
+         making it possible to write methods that apply to all node
+         types.
+       - A utility method toPQF() is provided for
+         Net::Z3950::RPN::Node, enabling the RPN tree to be converted
+         back into a flat PQF query.
+       - Add support for the Delete Result Set service.
+       - Add documentation for the Sort service.
+       - Some clarifications to documentation.
+
+1.06  Fri Aug 10 23:30:00 BST 2007
+       - New global-handle element can be specified when creating a
+         simple-server object and will be passed to all callback
+         functions.  This allows global state to be eliminated from
+         SimpleServer applications ... finally!
+       - Search handler now deals correctly with undefined addinfo:
+         previously a (harmless) error message was emitted.
+       - Add Perl API to yaz_diag_srw_to_bib1(), which SimpleServer
+         applications will need if they access SRU/SRW back-end
+         databases and need to report errors.
+       - Add Perl API to yaz_diag_bib1_to_srw(), because it would
+         seem churlish not to.
+
+1.05  Wed Dec 27 13:19:13 CET 2006
+        - Taking new naming convention for YAZ constants into account.
+
+1.04  Fri Dec  1 10:48:32 CET 2006
+        - Build such that SimpleServer links to new yaz shared object.
+
+1.03  Tue Aug  8 17:27:16 BST 2006
+       - Rely on version 2.1.14 or later of YAZ; this is the first
+         version that reliably passes through the additional
+         information associated with errors generated while serving
+         SRU/W requests.  No functional differences since 1.02.
+
+1.02  Wed Jul 26 12:09:50 BST 2006
+       - Better support for Open and User/Password authentication.
+       - SimpleServer.xs's rpn2pquery() is now discarded, and YAZ's
+         yaz_rpnquery_to_wrbuf() used instead.  This is more robust
+         in dealing with unusual cases such as string-valued
+         attributes.
+       - Support for SCHEMA element when fetching records.
+
+1.01  Fri Mar 24 12:09:32 GMT 2006
+       - Documentation of release 1.00's SRU/SRW facilities.
+       - Makefile.PL now fails if YAZ version is earlier than 2.0.0,
+         which was the first with SRU/SRW support.
+
+1.00  Fri Mar 24 01:20:24 GMT 2006
+       - Support for SRU and SRW.  Mostly this is provided by the YAZ
+         GFS, but changes are needed to allow for the case where
+         there is no RPN query (due to absent on invalid <cql2rpn>
+         element in GFS configuration) so that CQL is passed through
+         natively; and also to fake up an {REQ_FORM} and {REP_FORM}
+         parameters set to the "text/xml" OID when this information
+         is not specified by the GFS.
+         (The jump in version number is due to the SRU/W support.)
+       - Include "logging-server.pl" in the distribution: the
+         simplest possible SimpleServer application, which merely
+         logs the client-request data structures.
+       - Makefile.PL is more helpful if yaz-config isn't found.
+       - Explicitly disable prototypes in SimpleServer.xs: makes no
+         difference but suppresses an error message for a cleaner
+         build.
+
+0.08  Mon Jun 14 14:51:01 2004
+       - SimpleServer is now perl 5.8 thread proof 
+       - Support for IMP_ID parameter in Init responses.  This was
+         actually written a long time ago, but left commented out as
+         the underlying YAZ back-end server didn't support
+         implementation-ID setting.  Now that it does (and has done
+         for eighteen months -- since YAZ release 1.8.6 of
+         2002/03/25!), I've finally removed the comments.
+       - Init handler now understands the setting of {ERR_CODE} as
+         more than a boolean success indicator, and also {ERR_STR}.
+         They are now passed back to the client (thanks to recent
+         changes to the YAZ generic front-end server) in accordance
+         with Z39.50 Implementor Agreement 5, found at
+               http://lcweb.loc.gov/z3950/agency/agree/initdiag.html
+
 0.07  Fri Jan 03 10:12:15 2003
         - Applied Dave Mitchell's (davem@fdgroup.com) GRS-1 parsing patch.
          Thanks Dave, and sorry it didn't find its way to release 0.06,
@@ -17,7 +124,7 @@ Revision history for Perl extension Net::Z3950::SimpleServer
          of RPN.
 
 0.04  Tue Feb 05 21:49:56 2002
-       - Add Changelog (### Why?  We already have this file!)
+       - Add Changelog (Why?  We already have this file!)
        - Add TODO file (although it's empty!)
        - Change interface to constructor, and fix test.pl script to
          use the new interface.