Updated.
[simpleserver-moved-to-github.git] / Changes
1 $Id: Changes,v 1.51 2008-09-02 15:12:22 mike Exp $
2
3 Revision history for Perl extension Net::Z3950::SimpleServer
4
5 1.10  (IN PROGRESS)
6         - Document the init-handler's PEER_NAME argument.
7         - Update URL into YAZ documentation.
8         - bend_delete() no longer returns without value.
9         - Route around ActivePerl's damage to the "open" symbol.
10         - ### When invoking Init callback, set initial values of
11           IMP_ID, IMP_NAME and IMP_VER from the client's Init request.
12
13 1.09  Mon Sep 10 15:54:38 BST 2007
14         - *Argh*  Another mixed statement/declaration.
15
16 1.08  Mon Sep 10 12:15:29 BST 2007
17         - *Sigh*  Fix mixed statement/declaration.
18
19 1.07  Sat Sep  1 10:31:26 BST 2007
20         - When the scan-handler callback returns, do not attempt to
21           copy the terms from Perl structures if the error-code is
22           non-zero (i.e. if an error has occurred).  This protects
23           against a segmentation fault when the Perl callback does not
24           explicitly set $args->{NUMBER} = 0 on error.
25         - Correct transcription of string-valued attributes in
26           $args->{RPN}.
27         - Scan handler is now passed RPN as well as TERM, a tree of
28           Perl structures representing the entire scan clause
29           including access-points and other attributes (which are
30           discarded from TERM).
31         - The various classes used to represent nodes in the RPN query
32           tree (Net::Z3950::APDU::Query, Net::Z3950::RPN::And,
33           Net::Z3950::RPN::Or, Net::Z3950::RPN::AndNot,
34           Net::Z3950::RPN::Term and Net::Z3950::RPN::RSID) now all
35           share a newly introduced superclass Net::Z3950::RPN::Node,
36           making it possible to write methods that apply to all node
37           types.
38         - A utility method toPQF() is provided for
39           Net::Z3950::RPN::Node, enabling the RPN tree to be converted
40           back into a flat PQF query.
41         - Add support for the Delete Result Set service.
42         - Add documentation for the Sort service.
43         - Some clarifications to documentation.
44
45 1.06  Fri Aug 10 23:30:00 BST 2007
46         - New global-handle element can be specified when creating a
47           simple-server object and will be passed to all callback
48           functions.  This allows global state to be eliminated from
49           SimpleServer applications ... finally!
50         - Search handler now deals correctly with undefined addinfo:
51           previously a (harmless) error message was emitted.
52         - Add Perl API to yaz_diag_srw_to_bib1(), which SimpleServer
53           applications will need if they access SRU/SRW back-end
54           databases and need to report errors.
55         - Add Perl API to yaz_diag_bib1_to_srw(), because it would
56           seem churlish not to.
57
58 1.05  Wed Dec 27 13:19:13 CET 2006
59         - Taking new naming convention for YAZ constants into account.
60
61 1.04  Fri Dec  1 10:48:32 CET 2006
62         - Build such that SimpleServer links to new yaz shared object.
63
64 1.03  Tue Aug  8 17:27:16 BST 2006
65         - Rely on version 2.1.14 or later of YAZ; this is the first
66           version that reliably passes through the additional
67           information associated with errors generated while serving
68           SRU/W requests.  No functional differences since 1.02.
69
70 1.02  Wed Jul 26 12:09:50 BST 2006
71         - Better support for Open and User/Password authentication.
72         - SimpleServer.xs's rpn2pquery() is now discarded, and YAZ's
73           yaz_rpnquery_to_wrbuf() used instead.  This is more robust
74           in dealing with unusual cases such as string-valued
75           attributes.
76         - Support for SCHEMA element when fetching records.
77
78 1.01  Fri Mar 24 12:09:32 GMT 2006
79         - Documentation of release 1.00's SRU/SRW facilities.
80         - Makefile.PL now fails if YAZ version is earlier than 2.0.0,
81           which was the first with SRU/SRW support.
82
83 1.00  Fri Mar 24 01:20:24 GMT 2006
84         - Support for SRU and SRW.  Mostly this is provided by the YAZ
85           GFS, but changes are needed to allow for the case where
86           there is no RPN query (due to absent on invalid <cql2rpn>
87           element in GFS configuration) so that CQL is passed through
88           natively; and also to fake up an {REQ_FORM} and {REP_FORM}
89           parameters set to the "text/xml" OID when this information
90           is not specified by the GFS.
91           (The jump in version number is due to the SRU/W support.)
92         - Include "logging-server.pl" in the distribution: the
93           simplest possible SimpleServer application, which merely
94           logs the client-request data structures.
95         - Makefile.PL is more helpful if yaz-config isn't found.
96         - Explicitly disable prototypes in SimpleServer.xs: makes no
97           difference but suppresses an error message for a cleaner
98           build.
99
100 0.08  Mon Jun 14 14:51:01 2004
101         - SimpleServer is now perl 5.8 thread proof 
102         - Support for IMP_ID parameter in Init responses.  This was
103           actually written a long time ago, but left commented out as
104           the underlying YAZ back-end server didn't support
105           implementation-ID setting.  Now that it does (and has done
106           for eighteen months -- since YAZ release 1.8.6 of
107           2002/03/25!), I've finally removed the comments.
108         - Init handler now understands the setting of {ERR_CODE} as
109           more than a boolean success indicator, and also {ERR_STR}.
110           They are now passed back to the client (thanks to recent
111           changes to the YAZ generic front-end server) in accordance
112           with Z39.50 Implementor Agreement 5, found at
113                 http://lcweb.loc.gov/z3950/agency/agree/initdiag.html
114
115 0.07  Fri Jan 03 10:12:15 2003
116         - Applied Dave Mitchell's (davem@fdgroup.com) GRS-1 parsing patch.
117           Thanks Dave, and sorry it didn't find its way to release 0.06,
118           completely my fault.
119
120 0.06  Thu Jan 02 11:15:01 2003
121         - Added support for authentication
122         - Add documentation for the object tree passed as the RPN
123           member of the search-handler's argument hash.
124         - We actually removed the vacuous Changelog and TODO files
125           back in 0.05.  They should never have been here :-)
126
127 0.05  Tue Feb 05 21:54:30 2002
128         - Add brief documentation of the new handling
129           of RPN.
130
131 0.04  Tue Feb 05 21:49:56 2002
132         - Add Changelog (Why?  We already have this file!)
133         - Add TODO file (although it's empty!)
134         - Change interface to constructor, and fix test.pl script to
135           use the new interface.
136         - Add support for Scan.
137         - Add support for building GRS-1 records.
138         - Add grs_test.pl test suite for new GRS-1 code.
139         - Add RPN structure to search-handler argument hash.
140         - Add PID element to init, search, fetch and present-handler
141           argument hashes (but not the sort, scan and close-handlers,
142           for some reason.)
143         - Fix typos in documentation.
144
145 0.03  Thu Nov 09 16:22:00 2000
146         - Add the INSTALL file.
147         - Add support for a present-handler (distinct from fetch).
148         - Remove `$args->{LEN} = length($record)' from the example
149           fetch-handler in the documentation.
150         - Minor corrections to documentation, e.g. add commas after
151           elements in anonymous hash of arguments.
152         - Record syntaxes (formats) are now specified as ASCII OIDs
153           (e.g. "1.2.840.10003.5.10") rather than human-readable
154           strings (e.g. "usmarc")
155         - Add some XS code to support sorting, though it doesn't seem
156           to be finished yet, and is not wired out.
157         - Use symbolic constants (e.g. Z_ElementSetNames_generic
158           instead of hard-wired magic number 1).
159         - Add PEER_NAME element to init-handler argument hash.
160         - Minor changes to ztest.pl.
161
162 0.02  Mon Sep 11 12:32:00 2000
163         - First released versions
164
165 0.01  Wed Aug 30 14:54:01 2000
166         - original version; created by h2xs 1.19
167