+--- 2.1.24 [in progress]
+
+Fixed MARC ISO2709 encoding routines to deal with character set
+conversion.
+
+Minor changes to GFS logging. Database included in search request log
+line.
+
+Fixes for ZOOM-C: event ZOOM_EVENT_RECV_RECORD was not generated for
+cached/multiple records.
+
+Shared libraries are built by default on Unix+configure.
+
+Changed cql2pqf transformation to use a different evaluation order. The
+new order is: always, relation, structure, position, truncation, index
+and relationModifier. Old order was: always, relation, relationModifier,
+structure, index, position, truncation. Note that the the latter ones
+override former ones for identical attributes.. The new scheme means that
+it is possible to override any existing attribute with a relationModifier.
+And also that it is possible to override everything for the index rule
+(except the ones listed in relationModifier). No order is perfect but this
+one, we believe, covers more real cases.. The "always" should have been
+called "default", since the attributes there can be overridden with all
+the rest.
+
+For Libxml2 and friends, YAZ defines YAZ_HAVE_{XML2,XSLT,EXSLT) in the
+compilation phase, but also for yaz-config --cflags output. This allows
+us to have public headers with Libxml2 stuff in them . It should also,
+eventually, make Libxml2 checks redundant in packages using YAZ, such
+as yazproxy.
+
+--- 2.1.22 2006/06/15
+
+Changed SRU update structure bend_update_rr so that SRU diagnostics are
+stored in uri, message and details.. Previously diagnostics were stored
+in errcode, errstring. Patch by Ko van der Sloot. Breaks binary
+compatibility.. but he's probably the only one affected, so.
+
+Added support for CCL, compiled on the client side, in ZOOM-C. This
+is invoked using ZOOM_query_ccl2rpn() with the CCL configuration as
+input; the resulting query objects can be used for for searching with
+ZOOM_connection_search() and scanning with ZOOM_connection_scan1().
+
+YAZ' configure searches for OpenSSL by default.
+
+SSL comstack uses SL_CTX_use_certificate_chain_file rather than
+SL_CTX_use_certificate_file. See
+http://lists.indexdata.dk/pipermail/yazlist/2006-June/001615.html
+for more info. Thanks to Ko van der Sloot.
+
+--- 2.1.20 2006/06/02
+
+Bug #600: SRU GET, POST support for yaz-client. Introduced
+command 'sru' which selects method SOAP/GET/POST.
+
+Allow missingValueAction to be specified for the sortspec string -
+function yaz_sort_spec. By default, the missing value action is null.
+Use ! to specify "abort". Use = followed by stringvalue to specify default
+value.
+
+Ensured that Present-handler (if defined) is called in GFS before any call to
+fetch-hhndler. This now includes piggy-backed presents as well as SRW/U
+searchRetrieve requests.
+
+Documentation for YAZ is now based on the Docbook XML/XSLT using
+xsltproc + N Walsh's stylesheets. It means that the CVS version of YAZ
+is no longer depending on jade/openjade or docbook-to-man scripts.
+PDF is no longer part of the distribution - but can optionally be
+made using DSSSL/jadetex or FOP.
+
+Added retrieval handling support in Generic Frontend Server to support
+conversion between MARC/XML as well as XSLTtransforms. See
+etc/yazgfs.xml for an example.
+
+Added Authentication support to Generic Frontend Server in SRU
+mode. Authentication using HTTP Basic is supported, as is the use
+of 'x-username' and 'x-password' parameters in the request itself.
+
+Added support for a new character set MARC8s identical to MARC8 except
+that it converts combined characters to single Unicode characters in the
+Latin-1 range (when possible).
+
+--- 2.1.18 2006/04/24
+
+ASN.1 compiler 0.4: generates brief Doxygen file header for
+generated .h/.c files.
+
+Utility yaz_iconv now supports conversion to MARC-8.
+
+New facilities for the MARC module. The reading - and writing of
+content are separate methods for the yaz_marc_t handle. The following
+read functions are available: yaz_marc_read_iso2709 (Reads MARC in
+ISO2709 format), yaz_marc_read_xml (reads MARC in MARCXML/MarcXchange
+format). Write functions have prefix yaz_marc_write_.. The existing
+utilities yaz_marc_decode_wrbuf and yaz_marc_decode_buf are still
+available. Removed support for OAI-MARC and simplexml (not the
+simplexml from PHP5).
+
+Added a new ZOOM event type ZOOM_EVENT_END which signals no more events
+to be returned for this connection.
+
+--- 2.1.16 2006/03/31
+
+Allow multiple languages and charsets to be specified with
+yaz-client. Each item must be separated by comma (NO BLANKS). E.g.
+ negcharset iso-8859-1,utf-8
+
+Translation of proximity nodes from CQL into PQF now works.
+
+Moved to automake 1.8, 1.9.
+
+Added function yaz_log_set_handler which allows a log handler to be
+installed. This handler will be called for all log messages. Output
+to file is also produced; but that can be disabled by passing NULL
+fname to yaz_log_init_file.
+
+Fixed another problem with MARC-8 -> ISO-8859-1 conversions. Bug #537.
+
+For SRW (including GFS), accept application/soap+xml as content-type
+for SOAP msg.
+
+For GFS in SRU mode, an empty stylesheet in SRU URL (&stylesheet=&)
+produces NO stylesheet reference even if a default stylesheet is specified
+in GFS XML config.
+
+--- 2.1.14 2006/03/14
+
+Updated Windows package to include yazd.dll + yazd.lib for the
+Development component.
+
+If the environment variable YAZ_LOG is set, then it is used as a
+string indicating the default level of logging to use if not
+overridden by calls to yaz_log_init() or yaz_log_init_level(). If
+it's not defined, then the manifest constant YLOG_DEFAULT_LEVEL is
+used as before. So, for example, to omit warnings from YAZ logging,
+ export YAZ_LOG=-warn
+
+cql_transform() now map structure and other attributes before indexes,
+so that index-specific structures and other attributes can override
+defaults. So now a combination of mapping specifications such as:
+ structure.* = 4=1
+ index.dc.date = 1=date-modified 4=5
+does the right thing.
+
+cql_transform() now also respects the "always" mapping specification,
+which establishes an initial set of attributes to be used for all
+terms except where overridden by more specific attributes associated
+with the index, relation or modifier.
+
+Added SRU-GET and SRU-POST support for ZOOM C. Option "sru" specifies
+which mode to use; one of "post", "get" or "soap" (SRW, default).
+
+Fixes for yaz_iconv routines: changed trie-based character set conversions
+to use only non-negative values for bit fields due to Sun's C compiler not
+supporting negative values.
+
+Fixed bug in character set conversion yaz_iconv. Some three byte UTF-8
+sequences where not read correctly. Fix by Rustam Usmanov.
+
+Updated win/makefile to use options, settings which makes things
+compile with VS C 2005.
+
+--- 2.1.12 2006/02/01
+
+Fixed bug in yaz_oi_update which used incorrect value for categoryValue.
+
+In ZOOM socket code, use select instead of poll on MacOSX.
+
+ZOOM-C now support client-side compilation of CQL into RPN that is
+sent to the server, enabling CQL to be used against all Z39.50
+servers. Use ZOOM_query_cql2rpn() to set the compiled CQL into a
+ZOOM_query object, and submit it using ZOOM_connection_search().
+The CQL-to-RPN translation uses a configuration file, the name of
+which must be specified in the Connection's "cqlfile" option.
+
+ZOOM-C also support CQL scanning, via the new ZOOM_connection_scan1()
+function, which takes as its start-term parameter a ZOOM_query object
+(which may have had either CQL or RPN set into it).
+
+
+--- 2.1.10 2005/11/29
+
+Added ZiNG Update Support. New codecs are defined in srw.h. Extended the
+GFS to support this as well. Backend handler, bend_srw_update, does the
+update work. Code contributed by Ko van der Sloot.
+
+Allow retrieval of Search Result-1 information in ZOOM by the use of
+options that are attached to a result set. ZOOM documentation updated
+accordingly.
+
+Fixed bug #416: First/second comb characters not handled in the MARC-8 to
+UTF-8 conversion. Patch by Raj Patel.
+
+Added option -m to GFS to control formatting of timestamps in log file.
+
+Added 'exit' as synonym for 'quit' in yaz-client
+
+Added support for specifying SRW resultSetId + resultSetIdleTime in a
+Generic Frontend Server's search handler. Refer to include/yaz/backend.h
+for the new members. Patch by Ko van der Sloot.
+
+Added support for SRU POST. It is supported for content-type
+application/x-www-form-urlencoded only. Patch by Ko van der Sloot.
+
+Do not build the separate Multi-threaded (MT) library libyazthread.la.
+Instead make the library libyaz.la multi-threaded. Threading as a whole
+can still be disabled by configure option --disable-threads. Previosly,
+with older GLIBCs there were problems with MT libs under Apache. This
+has now been fixed a long time ago.
+
+Fixed bugs in yaz_log that occurred on Sparc Solaris in Multi-threaded
+applications.
+
+CQL module modified to be case insensitive for relations/indexes/operations.
+
+Fixed bug in CQL transform code: incorrect value relationModifieder
+was used.
+
+Added 'show all' command for yaz-client which retrieves all results
+for last search.
+
+Added new yaz-client, xmles, which takes a (private) OID and
+a document to be sent as an extended service request.
+
+Describe new yaz-client commands wait_response and set_auto_wait.
+
+Increase TCP/IP listener backlog from 3 (which I am guessing was
+copied from the SunOS manual entry way back when) so SOMAXCONN, so
+that the socket will queue as many incoming connections as it's able
+to handle ongoing connections. In other words, it will never now
+refuse a connection that it would be able to handle merely because
+it's not got around to accepting() enough of the pending connections
+yet. This is the behaviour anyway under Linux, where the listen()
+argument is ignored; but not under BSD and on systems such as
+MS-Windows that use BSD-derived TCP/IP stacks. The behaviour of
+YAZ-based servers should now be uniform across operating systems in
+this respect.
+
+yaz-marcdump uses 64-bit file access on some systems. This is enabled
+on Linux and other Unix variants where _FILE_OFSET_BITS=64 is supported.
+This allows yaz-marcdump to read large MARC batches (>2 GB).
+
+Modified all YAZ source files - except the source which is auto-generated
+by tools - to use spaces rather than TABS. Emacs/VIM trailer added to
+all source files.
+
+Add ZOOM_connection_option_getl() and ZOOM_options_getl(),
+corresponding to the existing *_setl() function. These allow option
+values containing arbitrary valuues.
+
+Add ZOOM_resultset_sort1(), which should ALWAYS be used in place of
+ZOOM_resultset_sort() in new applications. Its behaviour is identical
+except that it returns an indicator of whether or not the sort
+criterion was accepted (0 for OK, -1 for invalid).
+
+--- 2.1.8 2005/06/07
+
+Fixed bug in yaz_marc_decode_buf. By mistake the routine appended
+MARC output rather than returning "new" buffer.
+
+yaz-client warns about unknown init options.
+
+Fixed bug #371: "options concurrentOperations ignores concurrentOperations"
+
+--- 2.1.6 2005/05/24
+
+Added support for SRW sort in Generic Frontend Server. Patch
+by Ko van der Sloot. Member srw_sortKeys in bend_search_rr holds
+sortKeys - or NULL if none is provided.
+
+Fixed bug #307: It was impossible to specify indefinite/no timeout
+for ZOOM_event. Special timeout value -1 now means indefinite timeout
+(i.e. no timeout).
+
+Added support for multiple languages and charsets to be specified in
+ZOOM. Each charset/language is separated by a blank. If negotiation is
+in effect in init-response, Option
+"negotiation-charset-in-effect-for-records" set to 1(true) or 0(false).
+Code based on patch by Vasiliy Osadchuk.
+
+Fixed bug #306: infinite recursion that occurred when calling
+yaz_log_level_init as the first call (before other log level or
+nmem_init calls)
+
+Fixed bug in scan handling in front end server: if preferred-Position-In-
+Response was non-present, a NULL pointer referece was performed.
+
+--- 2.1.4 2005/04/26
+
+Changed include/yaz/diagbib1.h and added include/yaz/diagsrw.h with
+diagnostic messages+codes for Bib-1 and SRW. Preprocessor defines are
+now defined for all those error codes. So instead of putting 109 in
+your program you'd use YAZ_BIB1_DATABASE_UNAVAILABLE. The messages
+are generated from a .csv - file. See src/bib1.csv and srw/srw.csv.
+
+Modified the yaz-marcdump utility to skip garbage bytes between MARC
+records in a file.
+
+Fixed bug - uninitialized memory - due to bad code for fix of bug #272.
+
+Program yaz-client now exits and produces an error message if multiple
+Z39.50 servers are specified on the command line (none or one allowed
+only).
+
+Program yaz-marcdump skips garbage bytes between ISO2709 records rather
+than abort.
+
+--- 2.1.2 2005/03/16
+
+Fixed bug #273: Update for recent MARC-8 -> UNICODE changes.
+
+Fixed bug #272: Preserve spacing for CCL terms.
+
+--- 2.1.0 2005/03/14
+
+Added support for virtual hosts and multiple backend servers for
+the YAZ frontend server. The configution is XML based and
+support specificition of CQL to RPN mappings and explain information.
+See section "Virtual Hosts" in the YAZ manual.
+
+Extended OPAC display utility. OPAC display utility renders
+bibliographic (MARC) record as well. Added yaz_opac_decode_wrbuf
+to supplement yaz_marc_decode_wrbuf.
+
+Fixed a bug in MARC decoder that could caused it to crash for some
+invalid MARC records. More diagnostics and warnings where added in
+XML output (warnings, etc are stored in comments).
+
+--- 2.0.34 2005/02/08
+
+Fixes for UNIX domain sockets. Bug #261.
+
+Fixes for MARC-8 to UTF-8 conversion. Bugs #258 and #260.
+
+Fixed bug #263: YAZ MARCXML dump shows extra spaces after control fields.
+Added yaz_marc_subfield_str which defines subfield lead string which is
+used in YAZ_MARC_LINE format. Default string is blank+$. Added
+yaz_marc_endline_str which defines end of fields string used in
+YAZ_MARC_LINE format. Default string is newline.
+
+Experimental support for MarcXChange. This format can be produced
+by yaz-marcdump and is implemented in yaz_marc_decode - functions.
+ http://www.bs.dk/standards/MarcXchange.xsd
+
+Added yaz-client commands scansize that sets maximum number of
+entries to be returned by scan.