+--- 3.0.20 2008/1/14
+
+yaz-ziffy is no longer part of YAZ. It is distributed separately by
+Index Data because ziffy's license is GPL2 rather then 'Revised BSD'.
+
+Changed license of CCL module to 'Revised BSD'. After consultation with
+remaining members of the original EUROPAGATE consortium, we are re-issuing
+the CCL module without a separate license. The software was developed by
+Index Data as part of a research project. The special license was included
+to help feed usage information back to the project consortium to support
+project evaluation. At this time, the project consortium has long-since
+disbanded, and the majority of the original principals have retired. At the
+same time, we have significantly modified the software during the following
+years, to the point where very practically no original code remains. To
+simplify re-use of the software, we have contacted those members of the
+consortium who could be reached, and agreed to re-issue the module as a
+proper part of the YAZ package.
+
+Tcl scripts uses /usr/bin/tclsh as preferred shell.
+
+CQL closer to being version 1.2 compliant. CQL also allows free-form
+terms, such as 'title=a b', and thus, make the CQL parser more CCL-like
+and user-frendly.
+
+Fixed bug in ZOOM_options_getl WRT setting of parameter lenp. This
+bug could make Extended services handling crash in the ZOOM layer. This
+bug was only present in YAZ 3.0.18.
+
+--- 3.0.18 2007/12/19
+
+ziffy uses YAZ' options rather than getopt; getopt is unavailable on
+some systems.
+
+yaz-marcdump reads and writes collection wrapped records.
+
+Handle OPAC for record conversion module.
+
+Fixes for ICU wrapper.
+
+Allow ICU libs to be controlled with --with-icu .
+
+--- 3.0.16 2007/11/12
+
+Added yaz_poll which is a wrapper for select/poll. When poll is available
+and non-buggy, it is used, by yaz_poll . This allows more than 1024
+sockets to be in use.
+
+Added ICU wrapper library which exposes ICU http://www.icu-project.org/
+functionality through an XML based configuration (ICU chain). This system
+is useful for search facilities such as Pazpar2 and Zebra that needs to
+perform tokenization of indexed material. The ICU code in a separate
+library libyaz3_icu.a.
+
+Added HTTP tunnel facility for COMSTACK, bug #1752.
+This is a facility that allows a Web proxy, such as squid, to tunnel
+Z39.50 traffic. This facility is "transparent" to must applications
+using YAZ. It's enabled by using pseudo transport connect: followed by
+the proxy address, followed by command, then follwed by he regular
+"virtual" addresss. For example,
+connect:webproxy.com:3128,tcp:z3950.loc.gov:7090/voyager .
+
+More MARC-8/UTF-8 conversion fixes. Bugs #1666, #1667, #1778.
+
+--- 3.0.14 2007/09/21
+
+Fixed bad memory reference in ZOOM_record - cuased by member not being
+initialized. This was a problem only in YAZ 3.0.12.
+
+Fixed bug in conversion from MARC to XML: Non-XML characters in control
+fields were not removed.
+
+Changed the way C code is generated from codetables.xml. Made a MARC-8
+conversion trie for each characterSet section rather than codeTable.
+This is ensure the code can deal with G0/G1 sequences. Use of a newer version
+of codetables.xml from Larry Dixson, LOC. Bug #1464.
+
+--- 3.0.12 2007/09/12
+
+ZOOM C now handles SRU surrogate diagnostics (i.e. errors returned
+from ZOOM_record_error).
+
+ZOOM C function ZOOM_record_get returns record schema for type="schema".
+
+Implemented HTTP Basic authentication to SRU/GET, SRU/POST and SRW requests.
+
+Added new ZOOM C connection option 'sru_option' which specifies SRU version.
+
+Better SRW-to-Bib-1 diagnostic mapping.
+
+ZOOM C and yaz-client announces SRU version 1.2 by default.
+
+yaz-client 'sru' command may specifiy both SRU version and transport (SOAP,
+GET or POST).
+
+Fixed in yaz_sru_decode to allow other version than 1.1.
+
+--- 3.0.10 2007/08/22
+
+Added support for SRU scan for ZOOM.
+
+Added support for the use of the older versions or Extended Service
+Update in ZOOM. To faciliate this, an option "updateVersion" may be
+set to the version , 1=first, 2=second, 3=third. The third version is
+what ZOOM C has used so far. And that, obviously, is the default.
+
+Added support for CCL queries in Z39.50 queries sent to the GFS (and
+therefore in Zebra and in SimpleServer-based applications). The new
+<ccl2rpn> element in a GFS configuration file, if present, names a CCL
+qualifier file used to transform incoming CCL queries into Type-1 RPN,
+which is passed into the back-end search callback function.
+
+Added support for HTTP Basic authentication in clients: the SRU/W
+codec encodes the username/password elements of the PDU structure
+appropriately, and these may be set using the "user" and "password"
+options in ZOOM-C applications (the same options that are used for
+Z39.50 authentication).
+
+--- 3.0.8 2007/06/25
+
+Fixed bug #1208: SSL appears to be broken in ZOOM.
+
+Fixed bug #1206: Libxml2 include path weirdness.
+
+Added oid_name_to_dotstring.
+
+Allow elementSetName to be specified for ZOOM C record update.
+
+Allow waitAction to be specified for ZOOM C based for Extended Services.
+
+Fixed NULL ptr reference bug in yaz-ztest - caused by omitted record
+syntax OID. Bug introduced in YAZ 3 series.
+
+Updated WIN32 build to include Libxml2 2.6.28 / Libxslt 1.1.19.
+
+--- 3.0.6 2007/06/06
+
+Fixed bug #1157: yaz-client does not read .yazclientrc from current
+directory. yaz-client now reads commands from file given by option -f
+if specified; then tries to read .yazclientrc in current directory.
+Failing that, it reads .yazclientrc from user's home directory.
+
+Added support for correlationInfo Note and ID for Record Update via
+ZOOM C.
+
+Added yaz-client command querycharset which specifies character set for
+query terms for Z39.50 RPN queries and Z39.50 Scan Requests
+(termListAndStartPoint).
+
+Charset ISO5428:1984 is an alias for ISO5428-1984.
+
+Implemented a way to perform scan in a result set using Z39.50. This
+is achieved by attaching the result set name in the characterInfo
+(type InternationalString) of OtherInformation in the Scan Request PDU.
+The result set is identified in the otherinformation by the new OID:
+ USERINFO, Z3950_PREFIX.10.1000.81.4, "Scan-Set
+This allows for scan in result set and faceted search . Zebra did some
+of this in the APT term using attribute type 8 and value being result
+set. Using the OtherInformation approach for this is cleaner and easier
+to work with in proxies and the like. This facility can be used in
+yaz-client using new command setscan which takes a result set as first
+argument, start position (APT) as second.
+
+Changed decoding of SRU XML packed records to deal with servers that
+have recordData with XML data with multiple root nodes. Also make
+comparison for recordPacking case insensitive. Again, one server
+returns "XML" where others return "xml".
+
+For SRU responses allow Content-Type application/xml as well as text/xml.
+
+--- 3.0.4 2007/05/21
+
+Fixed bug in character set conversion of BER strings. Bug introduced
+in 3.0.0.
+
+--- 3.0.2 2007/05/08
+
+For OIDs use Odr_oid type everywhere, i.e. do not assume Odr_oid=int.
+
+For OID class, use oid_class consistently.
+
+Fixed external handling for SUTRS and Explain records (bug appeared in 3.0
+series).
+
+Added partial support for ISO5428-1984, which is the "Greek alphabet coded
+character set for bibliographic information interchange". By Giannis Kosmas.
+
+Added documentation on new OID API.
+
+--- 3.0.0 2007/05/02
+
+Changes to generic frontend server interface: added new member
+'query_charset' for bend_initrequest structure. A backend init handler
+should set this member to its native character set for query terms.
+When defined, the frontend server logic will announce this character set
+to a client if the negotiationModel bit is set by the client. All server
+implementors are encouraged to specify this. If a backend server does not
+specify this a warning is issued using yaz_log(YLOG_WARN,..).
+
+Added CCL utility to remove terms (stop words) from resulting RPN
+tree. This is handled by functions with prefix ccl_stop_words_ .
+
+New ZOOM C option, "rpnCharset", which allows client-side conversion of
+terms in RPN queries.
+
+Clean-up the CCL API. Moved some internal structures from ccl.h to
+private header cclp.h. Changed ccl_parser_create so that a Bibset must
+be supplied. Removed tokenize API from ccl.h - including ccl_parser_find.
+This is replaced by ccl_parser_find_str which takes a string instead.
+
+Split YAZ library into two libs : libyaz.la and libyaz_server.la.
+libyaz.la is the core of YAZ except the generic frontend server and
+does not depend on POSIX threads anymore. libyaz_server.la is the
+generic frontend server facilities and uses POSIX thread functionality
+if available. The libyaz.la no longer depends on POSIX threads because
+the number of global structures is limited. NMEM no longer re-uses blocks
+between threads ; it simply free's memory immediately but allocates in
+"large" chunks as usual. We don't expect any performance penalties
+because of this. The yaz_log system is still using a global log_level so
+caution must be taken when modifying it with yaz_log_init_.. +
+yaz_log_mask_str. This, however, should not cause any trouble because
+these functions are called during initialization of application code
+anyway. `yaz-config --libs server` returns libs for server applications;
+`yaz-config --libs` returns libs for non-server applications.
+
+New OID database - with public definitions in oid_db.h. Removed old OID
+database including the head oid.h and definitions such as enum oid_value
+and struct oident. The new OID database uses the same string names as
+before but the 'protocol' is gone. There are now only two representations
+raw OID (int *) and string. Functions with prefix yaz_string_to_oid
+converts from string to OID; functions with prefix yaz_oid_to_string
+converts the other way.
+
+Change to emit_term() in CQL-to-PQF query translation: when a term has
+the /regexp relation modifier, do not process it for leading and
+trailing "^" and "*", which have quite different meanings in regular
+expressions.
+
+Attempted fix of bug #976: Segfault in yaz_iconv. The yaz_iconv function
+write handlers no longer carries a 'last' parameter. This will make
+yaz_iconv flush "less" characters. A flush is performed by call to
+yaz_iconv(cd, 0, 0, &outbut, &outbytesleft) .
+
+Definition of wrbuf_diags moved to querytowrbuf.h. Function wrbuf_put_zquery
+removed, because function yaz_query_to_wrbuf does the same.
+
+API changes to WRBUF. wrbuf_free removed; replaced by wrbuf_destroy. And
+wrbuf_puts no longer appends '\0'. Use wrbuf_cstr to get C-string out.
+
+Deprecated MARC utility functions removed.
+
+Changed prototype of yaz_marc_decode_buf: const char for result and size_t
+for rsize.
+
+Branch split: YAZ_2_1_55_branch
+
+--- 2.1.54 2007/03/16
+
+Fix to ZOOM-C so that transparent reconnection is properly handled on
+connections that are in asynchronous mode.
+
+Fixed compilation on OpenBSD 4.0.
+
+Large strings in GRS-1 records are now properly displayed in yaz-client.
+
+Added character conversion support for "advancegreek"; based on patch from
+Giannis Kosmas.
+
+Fixed yaz_iconv to return YAZ_ICONV_EINVAL if an incomplete MARC-8 combo
+sequence is met. Before the error was not set so it would be unknown.
+
+Adjust yaz-marcdump MARC reader so that it skips until record separator
+is read
+
+--- 2.1.52 2007/03/07
+
+ZOOM-C: Removed hardcoded limit of 1024 sockets in ZOOM_event_sys_poll().
+Note that ZOOM_event_sys_select() still has the limit due to the fixed-size
+fd_set structure used as a bitmask for the FDs to be selected on.
+
+Using ACX_PTHREAD macro to check for POSIX threads.
+
+Fixed have-vsnprintf check.
+
+--- 2.1.50 2007/02/23
+
+Fixes for configure on BSD. Bug #900.
+
+Added snprintf/vsnprintf wrappers for systems that don't have
+limits (heavens forbid).
+
+Fixed bug in ZOOM-C's event and task handling. If a ZOOM task was
+created before all previous tasks were completed and removed from the
+task queue, the new task could be removed by a mistake.
+
+Fixed bug #615: Document retrievalInfo facilities for Frontend Server.
+
+Implemented pass-through CQL-to-PQF conversions. Bug #861.
+
+Fixed bug #832: Problem with MARC/charset in yaz-client.
+
+Fixed bug #668: save command line history for yaz-client.
+
+Fixed bug #830: pkg-config support.
+
+--- 2.1.48 2007/01/23
+
+Extended ZOOM result set options with two options that may be read by
+a client: resultSetStatus and presentStatus with values as specified for
+the ASN.1. See:
+http://www.loc.gov/z3950/agency/markup/04.html#Search-status
+
+Fixed bug #827: Using SSL fails on Debian etch.
+
+Fixed bug #826: Weird looking chars for set of MARC records.
+
+Implemented alternative Item Order package for ZOOM. If option "doc" is set,
+that is treated as an ItemOrder with itemRequest being an XML document
+external. The value of "doc" is the content.
+
+Extended the GFS search facility. New member of bend_search_rr
+'estimated_hit_count' signals that hits is known to be an estmate
+(higher or lower than real hit count). New member 'partial_resultset'
+signals that the search was partial (hit count is lower or equal than
+real hit count). For Z39.50, the information is stored in resultSetStatus
+member of SearchResponse APDU. For SRU, the information is signalled
+via SRU diagnostic 59: "Result set created with valid partial results
+available".
+
+Switched from jade/pdfjdaetex to dblatex for Docbook documentation in PDF.
+
+--- 2.1.46 2007/01/13
+
+Implemented bug #806: Deal with HTTP clients sending LF in HTTP headers.
+
+Added ZOOM_connection_peek_event.
+
+Implemented Generic select hook for ZOOM (bug #803). This is achieved with
+the following new functions:
+ ZOOM_event_nonblock, ZOOM_connection_process,
+ ZOOM_connection_get_{socket,mask,timeout},
+ ZOOM_connection_fire_event_{timeout,socket}.
+The existing blocking event handler, ZOOM_event, is a wrapper for the
++ blocking ZOOM_event_sys_{poll,select}.
+