-$Id: Changes,v 1.12 2005-12-21 17:06:55 mike Exp $
+$Id: Changes,v 1.55 2007-02-13 15:31:10 mike Exp $
Revision history for Perl extension Net::Z3950::ZOOM.
-1.01 (IN PROGRESS)
+1.17 [IN PROGRESS]
+ - New connection-level option "_check_debug" emits messages on
+ standard error when checking a connection find an error that
+ is about to result in throwing an exception. There is no
+ reason for you ever to use this, though -- pretend you don't
+ know about it.
+
+1.16 Tue Jan 16 11:18:34 GMT 2007
+ - Require version 2.1.41 or better of YAZ, so that Init
+ Response options are available using
+ $conn->option("init_opt_sort") etc.
+ - Include samples/zoom/zhello.pl to exercise these options.
+ - Add ZOOM_connection_peek_event() and $conn->peek_event().
+ - Require YAZ version 2.1.45, which is the first to provide
+ ZOOM_connection_peek_event().
+
+
+1.15 Fri Dec 1 14:17:49 GMT 2006
+ - ZOOM::Error::INIT is renamed to ZOOM::Error::ZINIT, since
+ INIT is a reserved word in Perl. In version 1.14 and
+ earlier, "require ZOOM" would fail, saying "Too late to run
+ INIT block", and "use ZOOM" would result in
+ ZOOM::Error::INIT having a value equal to its name (why?!)
+ rather than, as intended, Net::Z3950::ZOOM::ERROR_INIT.
+ - Belatedly added documentation for $rec->error() and
+ $rec->exception().
+
+1.14 Tue Nov 28 17:33:07 GMT 2006
+ - Add $record->error() to return non-surrogate diagnostics,
+ and $record->exception() to return the same information
+ wrapped in a ZOOM::Exception object.
+ - Requires YAZ 2.1.40, which provides ZOOM_record_error().
+ - $conn->error_x() now returns the error-code when called in
+ scalar context, rather than the diagnostic set name.
+
+1.13 Sat Nov 4 16:47:00 GMT 2006
+ - ZOOM::Connection::create() may now take either a single
+ argument, which is a ZOOM::Options object, or any even
+ number of argument (including zero), which are key => value
+ pairs of options to set.
+ - ZOOM::Connection::new(), having been refactored to use
+ create(), can now also take a ZOOM::Options argument.
+ - Documentation now includes information on specifying SRW,
+ SRU-over-GET and SRU-over-POST connections.
+ - ZOOM::ResultSet::record() throws a diagnostic if asked to
+ retrieve records out of range for the result-set.
+ - All tests against indexdata.com are now explicitly against
+ z3950.indexdata.com, as the identity of the former name has
+ recently changed.
+
+1.12 (NEVER PUBLICLY RELEASED; these changes are included in 1.13)
+ - Include the useful example program samples/zoom/zselect,
+ which is installed as part of "make install".
+ - Add ZOOM_connection_is_idle() and $conn->is_idle().
+ - Require YAZ version 2.1.35, which is the first to provide
+ ZOOM_connection_is_idle().
+ - Fix bug in ZOOM::Connection class code that made the
+ difficult to subclass -- when called as
+ $class->SUPER::new(@_), the constructor blessed the new
+ object into ZOOM::Connection rather than info the subclass.
+
+1.11 Thu Aug 31 16:47:53 BST 2006
+ - Require YAZ version 2.1.17, which has important ZOOM-C
+ bug-fixes.
+ - Do not use "-Wdeclaration-after-statement" compiler option,
+ since this supported only by GCC (and only recent versions).
+
+1.10 Thu Jun 15 16:42:47 BST 2006
+ - No functional changes, but use Adam's modified API to
+ ZOOM_query_ccl2rpn(). This incompatible change means that
+ RELEASE 1.09 WILL NOT BUILD against any recent YAZ.
+
+1.09 Tue Jun 13 17:44:43 2006
+ - Add new function Net::Z3950::ZOOM::query_ccl2rpn(), for
+ client-side CCL compilation.
+ - Add new ZOOM::Query::CCL2RPN class, encapsulating CCL
+ compiler functionality as a Query subclass. This allows
+ client-side CCL to be used for both search and scan.
+ - Add two new error-codes, CCL_CONFIG and CCL_PARSE,
+ returned by the client-side CCL facilities.
+ - Supply a sample CCL profile file: samples/ccl/default.bib,
+ copied from the same-named file distributed with YAZ.
+ - The test-scripts t/12-query.t and t/22-query.t are extended
+ to also test client-side CCL searching.
+ - The test-scripts t/15-scan.t and t/25-scan.t are extended
+ to also test client-side CCL scanning.
+ - Documentation updated to describe use of CCL.
+ - Add a nice, simple update client: samples/zoom/update.pl
+
+1.08 Thu May 11 22:40:41 BST 2006
+ - Requires version 2.1.11 of YAZ, not 2.0.11. This is a
+ bugfix: the old reliance on 2.0.11 was merely a typo.
+
+1.07 Thu May 11 17:45:37 BST 2006
+ - Makefile.PL checks for at least version 2.1.11 of YAZ, and
+ refuses to build if it's not present. Thanks to "gregor"
+ (an otherwise anonymous CPAN tester) for notifying me of the
+ previously poor reporting of failure when running against an
+ earlier YAZ.
+ - No changes to functionality or documentation.
+
+1.06 Wed Apr 19 21:11:52 BST 2006
+ - Avoid mixed statement/declaration in ZOOM.xs. *sigh* Why
+ the heck GCC allows this by default I will never understand.
+ - Add (commented out) OPTIMIZE option to Makefile.PL, to turn
+ on -Wdeclaration-after-statement, which makes mixed
+ statement/declaration illegal.
+
+1.05 Wed Apr 12 13:31:27 BST 2006
+ - Implementation of asynchronous events! The Net::Z3950::ZOOM
+ interface provides this through the event, last_event() and
+ event_str() functions. The ZOOM interface provides it
+ through the ZOOM::event() and ZOOM:event_str() functions,
+ and the ZOOM::Connection class's last_event() function.
+ - New sample programs added illustrating both asynchronous
+ interfaces: samples/net-z3950-zoom/zoomtst3.pl and
+ samples/zoom/zoomtst3.pl respectively. Additional sample
+ programs "async.pl" and "trivial-async.pl" for the ZOOM
+ interface only, the latter being a "shortest possible
+ broadcast search application".
+ - Added documentation on writing asynchronous applications.
+ - Added test-scripts "t/19-events.t" and "t/29-event.t" for
+ events on an asynchronous connection.
+ - Fix ZOOM::Connection::new so that options are handled in
+ accordance with the documentation: applied _before_ the
+ connection is forged, so that "async" and similar options
+ can take effect.
+
+1.04 Mon Apr 3 14:56:11 BST 2006
+ - The ZOOM-Perl layer now provides access to the underlying
+ ZOOM-C's character-translation functionality, through new
+ optional arguments to ZOOM::Record's render() and raw()
+ methods, and a new underlying get() method.
+
+1.03 Thu Mar 9 12:55:23 GMT 2006
+ - Allow additional key => value pairs as arguments to the
+ ZOOM::Connectoion constructor; these are added as Connection
+ options before the protocol connection is forged.
+
+1.02 Thu Mar 9 11:36:55 GMT 2006
+ - Add interface to yaz_version().
+ - Emit big warning at startup time if YAZ version is less than
+ 2.0.11 (which is what ZOOM-Perl 1.02 requires) unless the
+ file /tmp/ignore-ZOOM-YAZ-version-mismatch exists.
+ - Fix incorrect ZOOM-package URL in documentation.
+ - Fix typo ("createdb" package) in documentation.
+ - The ZOOM::Connection constructor may now be called with only
+ a single argument (host-string) and does not require a
+ dummy port-number argument.
+
+1.01 Thu Dec 22 14:13:34 GMT 2005
- Place some CODE: chunks in "ZOOM.xs" inside curly brackets
so that the declarations they begin with are at the start of
the block. This avoid mixed code/declarations. (The
compiler functionality as a Query subclass.
- Add two new error-codes, CQL_PARSE and CQL_TRANSFORM,
returned by the client-side CQL facilities.
- - The test t/22-query.t is extended to also test client-side
- CQL compilation. ### t/12-query.t needs to be similarly
- modified.
+ - The test-scripts t/12-query.t and t/22-query.t are extended
+ to also test client-side CQL compilation.
- Add all the yaz_log*() functions within the Net::Z3950::ZOOM
namespace.
- Add new ZOOM::Log class for logging, providing aliases for
the functions in the Net::Z3950::ZOOM layer.
- Add diagnostic set to rendering of Exception objects.
- - ### Documentation updates required for CQL compilation,
- logging and exception rendering.
+ - Documentation added for CQL compilation and logging.
1.00 Wed Dec 14 11:18:33 GMT 2005
- First distributed version.
--
To be done in future releases:
+ - Complete, test and document "update.pl"
- Fix Net::Z3950::ZOOM::record_get() to use a struct datachunk
_when_ appropriate, e.g. for "render" but probably not for
"database" and "syntax".
- - Support for asynchronous multiplexing: implement
- ZOOM::event() and test ZOOM::Connection::last_event().
- - Write example programs for "samples" direction.
- Create old-style Net::Z3950 compatibility layer.
- Fix memory leaks in callback functions for option sets.
- Fix limitation that option-set callback functions must be
specified as strings containing package-qualified function
names.
- - Fix test-suite to actually send the "drop" packages once
- Zebra's been fixed so this doesn't current the store.