Towards 1.05, support for events.
[ZOOM-Perl-moved-to-github.git] / Changes
1 $Id: Changes,v 1.23 2006-04-06 12:51:26 mike Exp $
2
3 Revision history for Perl extension Net::Z3950::ZOOM.
4
5 1.05  [IN PROGRESS]
6         - Implementation of asynchronous events through ZOOM_event().
7
8 1.04  Mon Apr  3 14:56:11 BST 2006
9         - The ZOOM-Perl layer now provides access to the underlying
10           ZOOM-C's character-translation functionality, through new
11           optional arguments to ZOOM::Record's render() and raw()
12           methods, and a new underlying get() method.
13
14 1.03  Thu Mar  9 12:55:23 GMT 2006
15         - Allow additional key => value pairs as arguments to the
16           ZOOM::Connectoion constructor; these are added as Connection
17           options before the protocol connection is forged.
18
19 1.02  Thu Mar  9 11:36:55 GMT 2006
20         - Add interface to yaz_version().
21         - Emit big warning at startup time if YAZ version is less than
22           2.0.11 (which is what ZOOM-Perl 1.02 requires) unless the
23           file /tmp/ignore-ZOOM-YAZ-version-mismatch exists.
24         - Fix incorrect ZOOM-package URL in documentation.
25         - Fix typo ("createdb" package) in documentation.
26         - The ZOOM::Connection constructor may now be called with only
27           a single argument (host-string) and does not require a
28           dummy port-number argument.
29
30 1.01  Thu Dec 22 14:13:34 GMT 2005
31         - Place some CODE: chunks in "ZOOM.xs" inside curly brackets
32           so that the declarations they begin with are at the start of
33           the block.  This avoid mixed code/declarations.  (The
34           "correct" solution is to use INIT: clauses in the XS file,
35           but they don't seem to work: the code in them is slapped
36           down right next to the CODE:, so declarations are not
37           acceptable there either.)
38         - Add new function Net::Z3950::ZOOM::connection_scan1(), which
39           uses a query object to indicate the start-term.  This opens
40           the way for using CQL queries for scanning once the
41           underlying ZOOM-C code supports this.
42         - NOTE BACKWARDS-INCOMPATIBLE CHANGE: The ZOOM::Connection
43           method scan() is renamed scan_pqf(), and a new scan() method
44           is introduced which calls the underlying scan1() function.
45           Thus the scan()/scan_pqf() dichotomy is consistent with that
46           between search()/search_pqf().
47         - The tests t/15-scan.t and t/25-scan.t now also test for
48           scanning by CQL query.  To support these tests, a new files
49           is added to the distribution, "samples/cql/pqf.properties"
50         - Remove nonsensical clause about CQL sort-specifications from
51           the documentation.
52         - Add new function Net::Z3950::ZOOM::query_cql2rpn(), for
53           client-side CQL compilation.
54         - Add new ZOOM::Query::CQL2RPN class, encapsulating CQL
55           compiler functionality as a Query subclass.
56         - Add two new error-codes, CQL_PARSE and CQL_TRANSFORM,
57           returned by the client-side CQL facilities.
58         - The test-scripts t/12-query.t and t/22-query.t are extended
59           to also test client-side CQL compilation.
60         - Add all the yaz_log*() functions within the Net::Z3950::ZOOM
61           namespace. 
62         - Add new ZOOM::Log class for logging, providing aliases for
63           the functions in the Net::Z3950::ZOOM layer.
64         - Add diagnostic set to rendering of Exception objects.
65         - Documentation added for CQL compilation and logging.
66
67 1.00  Wed Dec 14 11:18:33 GMT 2005
68         - First distributed version.
69
70 0.01  Fri Oct  7 16:14:20 2005
71         - original version; created by h2xs 1.23 with options
72                 --name=Net::Z3950::ZOOM --compat-version=5.8.0 \
73                 --omit-constant --skip-exporter --skip-ppport \
74                 --autogen-xsubs yaz/zoom.h -lyaz -lxml2
75
76 --
77
78 To be done in future releases:
79         - Fix Net::Z3950::ZOOM::record_get() to use a struct datachunk
80           _when_ appropriate, e.g. for "render" but probably not for
81           "database" and "syntax".
82         - Support for asynchronous multiplexing: implement
83           ZOOM::event() and test ZOOM::Connection::last_event().
84         - Write example programs for "samples" direction.
85         - Create old-style Net::Z3950 compatibility layer.
86         - Fix memory leaks in callback functions for option sets.
87         - Fix limitation that option-set callback functions must be
88           specified as strings containing package-qualified function
89           names.
90         - Fix test-suite to actually send the "drop" packages once
91           Zebra's been fixed so this doesn't current the store.
92