Log message:
Update from version 0.32 to 0.51. Changes:
0.51 Mon May 8 11:55:19 BST 2006
- Deprecation in favour of ZOOM-Perl.
- Fix some compiler warnings.
- Fix typo in documentation (thanks to Kimmo Valtonen).
0.50 Wed Jul 27 13:28:03 BST 2005
- Correct the ResultSet::present() fix that was supposed to be
in the previous release: that code inadvertently always
returned undef in asynchronous mode.
- "ywpriv.h" now #undefines "list", which the Perl development
header files inexplicably and inexcusably #define to
"Perl_list".
- "ywpriv.h" now #undefines "open", which Solaris 9 #defines
(I really can't believe this) to "open64". Maybe Sun would
like me to go round their place and dump a load of _my_ crap
in _their_ workspace?
- New querytype "cql" can be used to pass CQL queries,
untranslated, straight through to the server. Use like:
$conn->search(cql => "au=(kernighan and richie)")
0.49 Thu Apr 21 11:06:02 BST 2005
- Change to the ResultSet::present() API in asynchronous mode:
returns 1 if new requests were queued, 0 if all of the
requested records had already been queued. (No changes to
its usage in synchronous mode.)
- yazwrap/send.c no longer includes <yaz/log.h> (not needed,
generates warning)
0.48 Tue Apr 19 22:36:45 2005
- Patches supplied by Jan Bauer Nielsen <jbn@dtv.dk> to
interpret otherInformation packets, in search responses,
containing a search-info report of subquery counts.
- Patches supplied by Myron Turner <mturner@Ms.UManitoba.CA>
to protect the Net::Z3950 module against certain classes of
badly-behaved server.
- Bring "samples/multiplex.pl" up to date, illustrating the
use of this module to run sequences of queries against
multiple servers in parallel.
0.47 Tue Jan 4 22:15:07 2005
- The "connection refused" condition is now handled more
gracefully, so that there is no error message emitted by
Event.pm, just an undefined value returned and $! set to
ECONNREFUSED.
- Improve many of the comments on this subject.
0.46 Mon Nov 22 23:42:40 2004
- Use the MARC::Record module for rendering MARC records
instead of the older, unsupported and possibly buggy
MARC.pm.
WARNING: This change is backwards incompatible, but that
incompatibility will only affect you if you're relying on
the precise formatting of $rec->render() on MARC records.
0.45 Mon Nov 1 09:13:51 2004
- Support for "charset" and "language" options added by Adam
Dickmeiss.
0.44 Fri May 7 18:00:54 2004
Note that this release consists entirely of
backwards-incompatible changes to new functionality introduced
in 0.43, the previous release. If you use Scan, then all your
Scan code must change; if you do not use Scan, then this
release will not affect you at all.
- Change scan-option names to be ZOOM-compliant.
- Introduce a new enumeration, Net::Z3950::ScanStatus
- Add a new class, Net::Z3950::ScanSet, representing the
results of a Scan operation. This is compliant with the
ZOOM Abstract API, and supports much nicer client code than
the previous release:
$ss = $conn->scan('@attr 1=1003 kern');
$status = $ss->status();
print $ss->errmsg()
if $status == Net::Z3950::ScanSet::Failure;
$count = $ss->size();
($term, $hits) = $ss->term(0);
The scanResponse APDU, which used to be returned from the
scan() method, is still available via the scanResponse()
method, but there is no reason for new code to call this.
- Complete rewrite of the sample client "scan.pl" to use the
new API.
0.43 Thu May 6 14:19:56 2004
- Add support for Scan, using code contributed by Jan Bauer
Nielsen <jbn@dtv.dk>, somewhat tidied up. Use it like this:
$apdu = $conn->scan('@attr 1=1003 kern');
$status = $apdu->scanStatus();
if ($status == 6) print Dumper($apdu->diag());
$count = $apdu->numberOfEntriesReturned();
$term = $apdu->entries()->[0]->termInfo()->term()->general();
$hits = $apdu->entries()->[0]->termInfo()->globalOccurrences();
Subsequent releases will support more corners of the Scan
specification (e.g. displayTerm and friends), and present a
much nicer API with a ZOOM-like ScanSet object. See
http://zoom.z3950.org/api/zoom-1.4.html#3.6
- Included in the "samples" directory is a simple scanning
client program, "scan.pl".
0.42 Wed Mar 31 13:06:09 2004
- Add support for Unix-domain sockets: use "unix" as the
hostname, and the path to the socket file as the port, in
the connection constructor. Like this:
$conn = new Net::Z3950::Connection("unix", "/tmp/socket");
0.41 Wed Mar 17 13:33:43 2004
- When Net::Z3950::Manager::wait() times out, it now returns
an undefined value rather than, as in v0.40, the timeout
value. This code is now tested, thanks to Rick Jansen.
- Minor changes to some of the logic in ResultSet.pm
0.40 Tue Mar 16 13:57:33 2004
- A timeout may be set for a Net::Z3950::Manager's wait() by
setting that manager's "timeout" option to the maximum
number of seconds to wait. Donald Knuth once wrote,
"Beware: this code has not been tested, only proved
correct." _This_ code improves on Knuth in that it has been
neither tested _nor_ proved correct. However, I give you my
solemn promise that I think it probably works, as likely as
not.
0.39 Fri Dec 19 16:08:35 2003
- Recognise record-syntax names such as "USMARC" as well as
enumerators such as Net::Z3950::RecordSyntax::USMARC, in
accordance with what's specified in v1.4 of the ZOOM AAPI.
Such names are recgonised case- and hyphen-insensitively, so
"GRS-1" and "grs1" are equivalent.
- Add "XML" as an alias for the "TEXT_XML" record-syntax.
- Handle the ZOOM AAPI's standard options "pass" and "group"
in preference to the old options "password" and "groupid"
(although these are still also recognised, for the benefit
of old applications.)
- Handle the ZOOM AAPI's standard option "async" in preference
to the old "type" with _value_ "async" (although that's
still also recognised, for the benefit of old applications.)
- Makefile.PL includes support for and instructions about
building against a YAZ in a non-standard place ("non-root
install").
- Another slight refinement to samples/simple.pl's
diagnostics.
- Documentation for diagnostic methods now includes a link to
the BIB-1 diagnostics web-page.
0.38 Fri Oct 24 13:28:42 2003
- Fix a silly bug in Net::Z3950::Record::OPAC::rawdata(),
spotted by Kristina Long. It was trying to return $$this,
like the opaque-array-of-bytes record-types such as USMARC,
whereas in fact $this is itself a Perl structure
representing the record.
- Add a kludge to patch over anti-social behaviour from
servers that sometimes return USMARC records when asked for
OPAC records: the returned record is wrapped in an otherwise
empty OPAC record structure.
0.37 Tue Sep 16 15:14:40 2003
- Remove a pair of extraneous declarations (copied from
"yaz/include/yaz/z-opac.h" for reference) at the end of
translateHoldingsAndCirc(). On recent GCC versions, such as
mine, they were pointless but harmless; but older versions,
such as the one in Debian/stable, croak if you mix
statements and declarations.
- Improve behaviour when a server unilaterally closes the
connection while we're waiting for a Init response.
Previously, this would cause a segmentation fault; now you
get errno set to 104 (ECONNRESET) which is pretty close.
- Improve the OPAC record renderer in Z3950/Record.pm so that
it walks more of the OPAC-record structure. As well as
being prettier, this is better documentation-by-example of
how to use the record structure.
0.36 Fri Sep 12 23:47:00 2003
- Add support for the OPAC record syntax: OPAC records are now
translated into self-describing Perl data-structures,
blessed into the class Net::Z3950::Record::OPAC. There is a
rudimentary renderer included in that class, but
sophisticated applications will want to deal with the data
structure itself. To see it in action, use something like:
$ perl samples/simple.pl alpha.calarts.edu 210 \
MARION fruit preferredRecordSyntax 35
WARNING: for some servers, e.g. troy.lib.sfu.ca:210/innopac,
you MUST request elementSetName "F", otherwise you'll just
be fed USMARC records whatever your preferredRecordSyntax.
- Deal better with unrecognised or malformed APDUs from the
server, e.g. library.ucfv.bc.ca:2200/unicorn when asked
for the USMARC record found by "@attr 1=4 time". Now, the
operation fails with diagnostic code 1001 (Malformed APDU).
- Change all <mike@tecc.co.uk> addresses to
<mike@indexdata.com>. (This change is well overdue, since I
changed jobs seven months ago!)
- Fix reference for PQF in the YAZ manual.
0.35 Fri Jun 27 10:48:03 2003
- Fix all non-US MARC record-types to return raw data from the
rawdata() method rather than, as before, the render()
method.
- Add a new delete() method to Net::Z3950::ResultSet
0.34 Mon May 12 10:17:07 2003
- Slightly more robust cleanup in Manager::forget()
- Make samples/simple.pl a little less simple(!) by making a
manager so that pre-connection options such as
authentication parameters can be set.
- In Makefile.PL, LIBS and INC are now both set via yaz-config,
so you don't need to mess with that file before building.
(Adam Dickmeiss)
- The INC is now inherited by yazwrap/Makefile.PL, so that
this file also does not need to be edited. (Adam Dickmeiss)
- CCFLAGS is no longer set in the yazwrap directory. I only
did that in order to add "-Wall", which is pleasant luxury
but not really necessary; and doing so caused problems as
other, default, components of that setting were discarded on
some platforms. (Adam Dickmeiss)
- Add support for the MAB record syntax, thanks to Heiko
Jansen <JANSEN@hbz-nrw.de>
0.33 Thu Apr 3 09:10:16 2003
- Add explicit statement of GPL licence.
No code changes at all.
|