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