+--- 4.2.2 2011/06/10
+
+Add new utilities to convert from CQL to CCL . These utilities have
+prefix cql_to_ccl defined in cql.h.
+
+Defensive coding for an off-by-one bug in ucol_getSortKey. This could
+lead to memory heap corruptions when ICU utilities were in use.
+
+--- 4.2.1 2011/06/07
+
+Make compilation work without Libxml2.
+
+yaz-client: remove redundant blanks in display of searchResult-1 term
+hit counts.
+
+--- 4.2.0 2011/05/18
+
+CQL: parse CQL sortby spec. The resulting sort spec is stored in the
+resulting CQL node (tree) in a new node CQL_NODE_SORT.
+
+CQL and GFS: add utility cql_sortby_to_sortkeys which converts CQL sortby
+1.2 node tree to CQL 1.1 spec. This in turn allows the generic frontend
+server to only consider srw_sortkeys and support both SRU 1.1 and 1.2.
+Note that the CQL sortby spec is only converted when the GFS is already
+converting from CQL to RPN (cql2rpn element).
+
+New function nmem_strsplitx. This is like nmem_strsplit but allows us to
+specify whether to collapse delimitors or not. The existing nmem_strsplit
+do collapse (collapse parameter = 1).
+
+Windows installer: For NSIS, set InstallDir depending on x86/x64.
+
+Rename internal func yaz_use_attribute_create. While non-static, this
+function is not declared in a public header.
+
+--- 4.1.7 2011/03/15
+
+Add -lCrun when linking with ICU on Solaris.
+
+More quicks character set conversions for OPAC records.
+
+--- 4.1.6 2011/03/10
+
+fix problem with record_render: records were converted (character set
+wise) even if no charset was given. Problem introduced in YAZ 4.1.5.
+
+--- 4.1.5 2011/03/08
+
+SRU: add methods for handling DADS SRU-proxy facets.
+
+Separate OPAC record character set for ZOOM_record. yaz_record_render
+allows a character set given as charset=from/opacfrom,to where 'from' is
+the character set of a bibliographic record, 'opacfrom' is character set
+of OPAC record and 'to' is the target character set.
+
+--- 4.1.4 2011/02/21
+
+yaz-client: show may XML format records. Command show followed by 'format'
+will format XML records retrieved using Libxml2's xmlDocDumpFormatMemory
+function.
+
+src/stemmer.c: Avoid using unnamed union. It is not supported by some
+older C compilers.
+
+For PHPYAZ: set YAZVERSION, not YAZ_VERSION.
+
+--- 4.1.3 2011/01/27
+Update yaz.spec to operate on both SLES11 / Centos 5.5.
+
+RPM: Release includes 'indexdata' name. Use indexdata in release name so
+this package can be distinguished from other vendors.
+
+yaz-config: Use exec_prefix, libdir, includedir . Use these variables
+as determined by configure
+
+yaz-config: set YAZ_VERSION env. php_yaz relies on it.
+
+GFS: Z_PresentStatus_partial_4 for missing record. If bend_fetch handler
+returns no error and no record, the present request is considered
+partial (only a subset of the records could be returned by backend), and
+so it is appropriate to set Present Status to partial-4.
+
+--- 4.1.2 2010/11/02
+
+Move yaz-config man pages to section 1.
+
+More documentation about SOLR.
+
+tcp comstack: change behavior for @-specs (anyaddr). @ listens on
+AF_INET (IPV4) peers, and @6 listens to AF_INET6 (ipv6) peers.
+Previously @ listened on AF_INET6 which accepted both IPV4 and IPV6
+peers on some Linux systems. However, in general that does not work
+so YAZ can not rely on that to work. Debian changed behavior in this
+respect from Debian lenny to Debian squeeze (still testing as of Oct
+2010). Refer to:
+http://www.mail-archive.com/debian-devel@lists.debian.org/msg277726.html
+
+zoomsh: remove "debugging" output. Was added by mistake in 4.1.0.
+
+--- 4.1.1 2010/10/05
+
+Fix yaz-config output: echo_source not set correctly by configure.
+
+--- 4.1.0 2010/10/05
+
+SOLR WebService support for yaz-client and ZOOM.
+
+Define record syntax JSON. OID: 1.2.840.10003.5.1000.81.3 .
+
+--- 4.0.12 2010/08/17
+
+Z39.50 facet support. Facet specifications are passed for search in
+other-information with ASN.1 as defined in facet.asn and OID
+.10.1000.81.5 . Facets are expressed as an Attribute list as known
+from Type-1/RPN queries. Type 1 is field. Type 2 is sort order. Type
+3 is limit (number of entries to get in response). yaz-ztest returns
+dummy facets if a client asks for them.
+
+--- 4.0.11 2010/07/09
+
+CCL fixes: bug 2895 and bug 3539.
+
+GR1-display: add comma in display - was removed by mistake in
+version 4.0.0.
+
+Windows installer: bundle MSVCP90.dll - used by icuuc42.dll.
+
+SRU: Merge cookies on HTTP redirects (Giannis Kosmas <kosmas@lib.uoc.gr>).
+
+--- 4.0.10 2010/06/18
+
+ZOOM C: Add ZOOM_resultset_release. ZOOM_resultset_release releases a
+result set from a connection. The result set will be on its own
+thereafter; no operations on it will perform retrievals from a target.
+Only cached copies are returned.
+
+ZOOM C:fix case for HTTP servers responding with Connection:close.
+Ensure that if there is a current task it is resumed (like fetching
+more records in a result set) . Bug #3484.
+
+PQF parser: use odr_atoi for Odr_int (not atoi)
+
+Minor PQF encoding and decoding changes; reformat. PQF decoding: attribute
+values that contain any non-digits are treated as string attributes
+(previously decoding only checked for leading character ([0-9]). PQF
+encoding: attribute string values are not surrounded by double-quotes.
+
+--- 4.0.9 2010/05/21
+
+New utility for managing threads - thread_create.h.
+
+Add socket pipe utility - spipe.h. The socket pipe has same purpose as
+Unix pipe . Unfortunately Windows pipes do not work on select/poll -
+but YAZ' implementation do.
+
+Fixes for yaz_cond-functions on Windows 7.
+
+DLL export more symbols.
+
+zoomsh: show record do NOT render opac.
+
+Remove *.la files from Debian and RPM packages.
+
+--- 4.0.8 2010/05/11
+
+Debian package libyaz-dev depends on libgnutls-dev again (was
+removed in YAZ 4.0.6, but due to Libtool it is still needed
+even though yaz-config do not list libgnutls libs).
+
+ZOOM: Use only one WRBUF for returning string results for
+ZOOM_resultset. Reduces memory usage for ZOOM in general.
+
+ZOOM: ZOOM_connection do not use a shared pointer to
+ZOOM_resultset after ZOOM_resultset is destructed by
+user. Reverts to YAZ 4.0.4 behavior.
+
+--- 4.0.7 2010/05/04
+
+record-conv: fix problem with at least one XSL conversion -
+due to probably incorrect usage of XML XSL documents.
+
+--- 4.0.6 2010/04/29
+
+Fix yaz-config for static mode and the use of SSL (gnutls).
+
+--- 4.0.5 2010/04/29
+
+Forward decl timeval struct in mutex.h and gettimeofday.h.
+
+yaz-config: fix 'static' mode linking.
+
+--- 4.0.4 2010/04/28
+
+Add functions yaz_cond_{create,destroy,wait,signal,broadcast}. These
+are wrappers for pthreads or Windows. For Windows these are put in
+a separate DLL: yaz_cond4.
+
+libyaz.la (whole source) is compiled with thread. If thread support
+is enabled enabled, all source of YAZ is compiled with treading support.
+This allows core utilities such as yaz_log to use thread facilities.
+Previously (YAZ 3 and YAZ 4 releases), only libyaz_server.la was using
+thread utilities. This commit moves mutex utilities (mutex.c) from
+libyaz_server.la to libyaz.la.
+
+yaz-json-parse displays leading text until error.
+
+--- 4.0.3 2010/04/09
+
+Handle HTTP redirect for SRU GET in yaz-client and ZOOM C. Based on
+patch from Giannis Kosmas.
+
+SRU: no longer URL encode SRU database. The URL for an SRU server is
+a URL and such is alreeady encoded - at least when given with leading
+http:// or https://. This reverts behavior to YAZ 3.0.50.
+
+Support for new MARC XML notation TurboMARC which like MARCXML is a
+complete representation of MARC/ISO2709.. This one, however, is more
+compact and allows for faster processing with XSLT. TurboMARC can be
+used in the marcdisp.h API, from the yaz-marcdump utility and from
+the API of ZOOM C.
+
+yaz-ztest can be configured - via the database - to perform certain
+delays when it performs operations search, present and single record
+fetch. This allows testers to make yaz-ztest act as a real or even slow
+Z39.50 server. Refer to the yaz-ztest man pages for details.
+
+--- 4.0.2 2010/03/09
+
+wrbuf_destroy allows NULL WRBUF passed to it.
+
+Fix CCL qualifier aliases (did not work since YAZ 2.1.56).
+
+Add ZOOM_connection_close.
+
+No fixed size buffers for ZOOM shell - bug #3257.
+
+tstodr: make it work on s390 platform.
+
+New icu iterator-functions. The new icu_iter-functions makes it possible
+to use ICU chains from many threads.
+
+yaz-client: better syntax check for show command.
+
+--- 4.0.1 2010/01/26
+
+New glob file pattern utility. Like POSIX glob. For Windows too. Refer to
+yaz/file_glob.h.
+
+New simple local-file XML include facility which allows file glob-patterns.
+Refer to yaz/xml_include.h.
+
+Utility yaz-json-parse which parses JSON and demonstrates the JSON parser
+API.
+
+ZOOM_record_get supports new parameter "format" which makes it format XML
+record content.
+
+Fix JSON parser WRT start symbol. The start grammar symbol (referred to as
+JSONText in ECMA-262) is JSONValue, not JSONObject.
+
+--- 4.0.0 2010/01/20
+
+Windows binaries for YAZ now compiled with Visual Studio 2008 (VC9).
+Older versions of YAZ was compiled with Visual Studio 6.0 (1998).
+
+Update so/DLL to version 4. Windows version builds YAZ4.DLL.
+POSIX/Unix builds .so with major version 4.
+
+Remove old LOG_-defines from log.h. They have been obsolete and
+undefined by default for the last 5 years.
+
+Odr_int is now of type 'long long'. Used to be 'int' in YAZ 3 series.
+
+GFS: Remove socket (int *fd) from search_rr handler. The socket
+descriptor ptr is a facility that allowed a search handler to supply
+a socket which would serve as a callback - when search was complete.
+This facility has now been in use for years.
+
+COMSTACK API changes: cs_stackerr, cs_addrstr. COMSTACK method cs_stackerr
+removed. It is not implemented by tcpip or unix COMSTACK, perhaps for ISO
+SR which was removed 7 years ago. COMSTACK macro / method cs_addrstr now
+returns 'const char *' rather than 'char *. The returned string is
+read-only and should not be modified by applications. COMSTACK cs_close is
+now a void function - it no longer returns int. No applications check for
+the value and the implementations has always returned 0.
+
+ZOOM: use size_t for scan hit counts and str size. Functions
+ZOOM_scanset_term and ZOOM_scanset_display_term have changed, so that
+occ (hit count) and len (string length) are now of type size_t pointer
+rather than int pointer. This is to be able to represent large hit counts
+and to also just to use the proper type for string length (strlen result).
+
+New JSON parser. Refer to include/yaz/json.h .
+
+WRBUF API changes.. For size parameters for WRBUF size_t is now used ..
+Used to be int in some cases. Many wrbuf_-functions used to return an int
+indicating some length.. These return values were never used. And so they
+are now void.
+
+ODR: odr_malloc, odr_total now takes size_t for size.
+
+clone_z_type: fix leak; occurred for encoding failures.
+
+--- 3.0.52 2009/12/03
+
+tcpip comstack: fix use of uinitialized variable in cs_straddr. This
+bug was introduced in 3.0.51.
+
+--- 3.0.51 2009/12/02
+
+tcpip comstack: Remove TCP receiver buffer optimizations for Solaris.
+
+tcpip comstack: fix leak for getaddrinfo.
+
+Encoding of SRU database is performed by yaz_encode_sru_dbpath_odr or
+yaz_encode_sru_dbpath_buf. Now used by yaz-client and the ZOOM API.
+Decoding of SRU "path" database is performed by private function
+yaz_decode_sru_dbpath_odr . This in turn is used by yaz_srw_decode
+and yaz_sru_decode in server applications, GFS, yazproxy, metaproxy.
+
+yaz-client: honor base command for SRU. Change when database setting
+is applied for SRU and ensure it is kept when a connection is reset.
+Change also the way errors are displayed or SRU (decoding of packages).
+
+--- 3.0.50 2009/11/02
+
+Add support for extra request / response data for SRU codecs and GFS.
+The Z_SRW_PDU structure has two new members extraResponseData_{buf,len}
+for extra data response buffer and length. For the GFS, both request
+and response data (XML) is carried in extra_args and extra_response_data
+for the search handler. Patch by Ko van der Sloot.
+
+ZOOM: For queries that cannot be converted to the specified rpnCharset,
+ZOOM now returns a diagnostic on the client-side ('invalid query' /
+10010). This fixes bug #2113.
+
+yaz-client fix: If cmdfile is passed to yaz-client (option -f) and that
+cmdfile included a 'quit' command that would result in a memory violation.
+
+--- 3.0.49 2009/10/01
+
+Make a number of functions defined in xmlquery.c static. These have
+never been declared in a public header file (yaz/xmlquery.h) and was
+made public by mistake.
+
+Improve speed of character conversions (iconv utilities). This makes
+conversions from MARC-8 faster.
+
+ZOOM_record_get returns 0 pointer if a MARC record can not be decoded -
+unless type desired is "raw". This will prevent type "xml" from
+returning ISO2709 .. Which obviously can not be XML parsed.
+
+Fix memory leak in ZOOM that would occur if option apdulog was used
+on a re-used connection.
+
+Frontend server logs HTTP requests.
+
+Frontend server now sends Z39.50 close when it times out (sesssion has
+been idle for too long). Versions 2.0.30 and earlier also sent close.
+But due to a mistake this was disabled in all versions after that, i.e.
+the server would just close the socket immediately.
+
+yaz-client emits a better message when receiving an unrecognised
+userInformationField.
+
+Skip zero-length subfields when decoding ISO2709. This rare case happens
+if a record has two FS characters in a sequence. Without this patch
+there would be a reference beyond char array in using_code_len fragments
+in marcdisp.c.
+
+Fix yaz-marcdump error that would occur if option -n was used (bug #3028).
+
+--- 3.0.48 2009/08/28
+
+The show command offered by the zoomsh command now takes a 3d optional
+parameter type which is what is passed to ZOOM_record. If the type
+argument is omitted, "render" is used.
+
+RPN to CQL conv may use USE string attributes (bug #2978).
+
+MarcXchange NS is now info:lc/xmlns/marcxchange-v1 .
+
+--- 3.0.47 2009/07/08
+
+Function yaz_xml2query allows a diagnostic element in the PQF XML
+representation .. diagnostic@code and diagnostic@addinfo is diagnostic
+code and additional info respectively.
+
+The BER BOOLEAN is now the integral type Odr_bool which still happens
+to be an 'int'. The BER INTEGER which used to be a plain 'int' is now
+typedef'd to Odr_int. This is still an integral 'int', but it may be
+changed to 64-bit via a one-liner in nmem.h (NMEM_64=1). The documentation,
+ASN-1 compiler as well as programs has been updated to use the new types.
+
+--- 3.0.46 2009/06/08
+
+zoom: ZOOM_record_get now renders OPAC records when type=xml. Previously
+only the bibliographic record was rendered. For type=opac, an OPAC
+record is only returned if it is present.
+
+iconv: small fix for encoding of advancegreek.
+
+yaz-client: avoid double display of SRU/SRW records (bug #2798).
+
+yaz-client: option auto_reconnect=on really reconnects.
+
+yaz-client: fix bug #2770 - avoid length limit for auth parameters.
+
+server: avoid null ptr ref for for yaz_poll errors.
+
+build: fix RPM build for RHEL 5.3.
+
+comstack: prefer IPV6 addresses over IPV4 - should refix bug #2350
+
+--- 3.0.45 2009/03/31
+
+Fixed bug #2709: TCP connect returns Invalid argument.
+
+Fixed compilation for mingw.
+
+Honor charset for raw records (ZOOM_record_get).
+
+Fixed use of errno for threaded mode that was seen on Solaris 10.
+
+Fixed argument passing with blanks in value for Windows Service.
+
+Disable YAZ' own log rotate by default (no 1 GB limit).
+The variable l_max_size which specifies the log file limit is set to 0
+(DISABLED): This is due to the fact that YAZ is most often deployed using
+logrotate. Also YAZ can not perform log rotate because of unsufficient
+permissions (setuid).
+
+--- 3.0.44 2009/02/17
+
+List supported encodings in man page for yaz-iconv.
+
+Fixed missing SSL libs for --libs output
+
+Re-established OID record syntax application-xml. Nobody should use it
+but we don't want to change soname because of this symbol being absent.
+
+--- 3.0.42 2009/02/02
+
+YAZ' RPM spec works for both SUSE Linux Enterprise and RedHat Fedora.
+
+Added member named_result_sets for init handler struct for the GFS. This
+allows a server to disable named result sets.
+
+Removed OID record syntax application-xml.
+
+Added support for rule-based transliterator for ICU wrapper of YAZ.
+
+Fixed bug #1902: yaz-icu XML output.
+
+Make YAZ checks Emacs friendly.
+
+BITSTRING value shows value. Bug #2346.
+
+ISO2709 decoding: skip control characters from indicator data.
+
+Omit sort key by default in yaz-icu's output.
+
+Allow combined single char options (again) for YAZ' options function.
+
+Utility yaz-marcdump got option to display YAZ version (-V).
+
+Allow YAZ to use ICU 3.4.
+
+Added new ICU test case which illustrates removal of diacritics.
+
+--- 3.0.41 2008/12/29
+
+Fixed Fixed test that makes VERSION_SHA1 appear on dist versions too.
+
+--- 3.0.40 2008/12/29
+
+For configure, using option --without-xml2 also disables Libxslt/Libexslt
+support.
+
+Fixed bug #2352: yaz-marcdump crashes for certain record.
+
+Added man page 'bib1-attr' which includes list of common Bib-1 attributes.
+
+Added support for Danmarc2 to UTF-8 conversion.
+
+Added support for ISO5426 to UTF-8 conversion.
+
+zget_InitRequest/zget_InitResponse returns GIT SHA1 hash as part of
+implementation version.
+
+Function yaz_version returns GIT SHA1 hash for parameter sha1_str.
+
+--- 3.0.38 2008/11/10
+
+ZOOM C now only fires one ZOOM_EVENT_SEARCH per search-task. Previously,
+ZOOM_EVENT_SEARCH was fired for each searchRetrieve Response received.
+
+ZOOM C now interprets databaseName option for ZOOM connection as path
+(SRU "database").
+
+Windows version bundled with Libxml2 2.7.1 / Libxslt 1.1.24 / ICU 4.0.
+
+Fixed CCL to RPN/PQF conversion which could result in invalid PQF.
+
+Dummy Libxml2 types no longer defined in headers of YAZ'.
+
+Fixed memory violation for ZOOM C - could occur when SRU diagnostics was
+received.
+
+--- 3.0.36 2008/09/26
+
+Various ODR chapter fixes.
+
+Windows version uses libxml2 2.6.32+, libxslt 1.1.23+ and ICU 4.0.
+
+Added missing source for Windows compilation, mutex.c.
+
+Fixed compilation of YAZ for Visual Studio 2008. Bug #2256.
+
+For SRU connections in ZOOM all records up to "count" are now fetched.
+
+Fixed crash in generic frontend server (and yaz-ztest) which occurred
+in Windows due to bad error handling for Libxml2.
+
+Added facility for sending arbitrary records (ASN.1 any) using
+ZOOM C's Extended service update. Patch by Sam Reynolds.
+
+New options for ZOOM C's connection, logapdu which makes ZOOM log
+APDUs.
+
+--- 3.0.34 2008/06/18
+
+YAZ uses GNU TLS without the OpenSSL compatibility wrapper.
+
+--- 3.0.32 2008/06/12
+
+Fixed memory violation that could occur when decoding UTF-8. This bug
+was only present in 3.0.30 of YAZ.
+
+--- 3.0.30 2008/06/06
+
+Implemented SSL sockets using GNU TLS. OpenSSL is still supported, but
+GNU TLS is used by default (if found).
+
+yaz-ztest returns OPAC records if a client asks for OPAC.
+
+Improved speed of MARC-8 encoding.
+
+Added support for lossy and loss-less MARC-8 encoding.
+
+Changed yaz_record_conv_record to be reentrant for XSLT conversions.
+
+Added new Windows Service wrapper (sc).
+
+yaz-client's itemorder command may now send a file.
+
+Fixed yaz-marcdump to allow the use of NS prefix for record element.
+
+Added new function yaz_log_xml_errors.
+
+Allow (but warn) unknown XML attributes in MARCXML parsing.
+
+Handle G1 sequneces in MARC-8 decoding. Bug #2115.
+
+The UTF-8 to MARC-8 conversion now uses a different set of characters
+for Greek symbols. Bug #2120.
+
+--- 3.0.26 2008/02/21
+
+Added yaz_daemon (daemon.h).
+
+Fixed bug #2068: pkg-config trouble
+
+Fixed bug #395: ZOOM_record / OPAC record encoding problems.
+
+--- 3.0.24 2008/01/28
+
+Document --with-xml2 option.
+
+Added OPAC XML XSD (etc/opacxml.xsd).
+
+Allow glob mask for name attribute in retrieval element for the
+generic frontend server's retrieval facility.
+
+Changed yaz_poll_poll to return yaz_poll_except for all returned events
+except POLLIN/POLLOUT.
+
+Fixed error handling in cs_listen. Bug #2037.
+
+--- 3.0.22 2008/01/20
+
+Fixed version in yaz/yaz-version.h.
+
+Fixed bug #2027: Crash when closing connection.
+
+Changed configure so that ICU support is only enabled if only ICU
+and Libxml2 is available (because the ICU chain is XML based).
+
+--- 3.0.20 2008/01/15
+
+YAZ now makes ICU utilities for Windows. A separate DLL, yaz_icu3.dll,
+is built. Only this DLL depends on the ICU runtime.
+
+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}.
+
+Implemented function ccl_xml_config which parses XML version of CCL
+configuration (bug #798).
+
+Fixed bug #797: yaz_marc_write_xml does not honor character conversion.
+
+Added timings utility (yaz/timing.h)
+
+--- 2.1.44 2007/01/03
+
+Added yaz_marc_write_xml which creates MARCXML/MarcXchange record as
+Libxml2 tree.
+
+Fixed bug #779: Rotation of apdu.log fails.
+
+Fixed for character set conversions:
+ Unicode to MARC-8 conversion for certain less preferred UTF-8 sequences.
+ Honor G1 set in MARC-8 decoding.
+
+--- 2.1.42 2006/12/17
+
+Fixed bug #775: char conversion does not handle Alternative UTF-8
+sequences.
+
+Implemented function yaz_marc_read_line which parses MARC line format
+records. There is a wealth of formats out there. So far, this function
+reads line records produced by yaz_marc_write_line.
+
+yaz-marcdump's options -x, -X, -I, -e have been replaced with the
+more generic and easier to remember(!) options: -i format and -o format
+which specifies input format and output format respectively - where
+format is one of "marc", "marcxml", "line", "marcxchange".
+
+Added 'check only' option for MARC utilities. Option -n for yaz-marcdump
+does not print anything except warnings for records.
+
+For yaz-marcdump, added support for MARC split into files (-s) with a given
+chunk size (-C).
+
+Changed the SRU update structures and codecs to reflect the SRU pre 1.0
+spec, at http://www.loc.gov/standards/sru/record-update/
+This has changed the binary layout of the following structs:
+Z_SRW_extra_record, Z_SRW_updateRequest, Z_SRW_updateResponse and
+bend_update_rr . Patch by Ko van der Sloot.
+
+Added GFS utility function bend_assoc_is_alive which returns 1 if
+association is still alive (client is connected); 0 otherwise (client
+closed connection). This allows busy servers to stop working for
+impatient clients.
+
+Added ziffy: the promiscuous Z39.50 APDU sniffer. until now, ziffy has
+been a separate piece of software. This version of ziffy has been modified
+to fit with YAZ. ziffy is copyright Rocco Carbone and covered by GPL v2.
+
+Fixed bug #740: Handle SRU records referring to xmlns's outside recordData.
+
+Fixed bug #722: Allow Z39.50 Init Options to be specified / retrieved.
+Client code may now interrogate options such as "init_opt_sort" to
+find out whether the server claims to support various options.
+
+--- 2.1.40 2006/11/27
+
+Added utilities yaz_{set,get}_esn to set/get element set name from
+record composition.
+
+Removed the build of libyazthread.la. The libyaz.so is the threaded version
+of YAZ and has been so since YAZ 2.1.10.
+
+Implemented ZOOM_record_error which returns error information for
+record (surrogate diagnostic).
+
+--- 2.1.38 2006/10/31
+
+Updates for SRU Update by Ko van der Sloot:
+1. Changed name from "operation" to "action"
+2. Fixed that that "recordIdentifier" was called "recordId". Kept the old
+versions in the code, marked as 'backward compatible'.
+3. Added diagnostics for SRU Update.
+
+Fixed bug #709: Records are fetched in wrong format when tasks are queued.
+
+Fixed bug #707: CQL->RPN ignores lines with leading spaces.
+
+Fixed bug #706: XML hex encoding UTF-8 chars out of range 0-255.
+
+For GFS, fixed problem with SRU diagnostic 'First record position out of
+range' being issued for 0 hits.
+
+zoomtst10 part of Windows Build.
+
+--- 2.1.36 2006/10/13
+
+Implemented yaz_filepath_comp which splits a path into file path
+components (required by Zebra 2.0.3+).
+
+Change wording of YAZ license to the 'Revised BSD License'. YAZ has used a
+BSD inspired license until now so this should not have any real impact on
+anybody. See http://www.opensource.org/licenses/bsd-license.php
+
+Fixed bug #687: Missing log lines.
+
+Fixed bug #678: CQL to PQF translation does not preserve double-quote
+escaping.
+
+Fixed bug #689: SRU diagnostics to be added.
+
+Implemented new ZOOM function, ZOOM_connection_is_idle, which checks
+whether a connection is idle (no more work do do).
+
+--- 2.1.34 2006/10/04
+
+Change type of optval from long to int for invocation of setsockopt with
+the SO_REUSEADDR option. Thanks to Ateeq A. Altaf, Talis.
+
+Added support for specifying the max log file size for the Generic
+Frontend Server. The size is given with option -r.
+
+--- 2.1.32 2006/09/21
+
+Fix problem introduced in YAZ 2.1.28 WRT unix sockets in the ZOOM code.
+
+--- 2.1.30 2006/09/17
+
+Fixes for getaddrinfo use, Bugs #655 + #660. These bugs were introduced
+in YAZ 2.1.28.
+
+Fixed bug in Generic Frontend Server that could cause a server to stop
+accepting new connections. Bug only seen on dual CPU Windows 2003 server.
+
+For the generic frontend server, the maximum record size is used as maximum
+size of incoming packages (SRU + Z39.50). The value until was previously
+only used in Z39.50 Init negotiation and, later, in a session controlled
+sizes of records returned. This is controlled using -k option. It can be
+specified, per server, with element maximumrecordsize in YAZ' GFS XML config.
+
+--- 2.1.28 2006/09/04
+
+TCP/IP comstack uses getaddrinfo now to resolve names. It should be IPV6
+friendly now.
+
+Fixed bug #644: Using Non Reentrant gethostbyname causes SIGSEGV.
+
+New option for yaz-marcdump -lpos=value which allows setting a portion
+of MARC header to a certain value.
+
+Fixes for MARC generation when encoded as MARC-8 (bug 642, 643).
+
+ZOOM-C reads option extraArgs. If set the value of extraArgs is appended to
+SRU URI (POST/GET). Value must be URL encoded, such as x-id-a=v1&x-id-b=v2 .
+
+--- 2.1.26 2006/08/15
+
+Fixed problem with SRU mode type (soap, get, post) for yaz-client
+and ZOOM-C.
+
+Fixed problem another problem with ZOOM_EVENT_RECV_RECORD . Bug #626.
+
+--- 2.1.24 2006/08/08
+
+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.
Redhat package is now several packages: libyaz (runtime libraries),
libyaz-devel (development and documentation, and yaz (utility programs).
-Package spec file by Morten Bøgeskov.
+Package spec file by Morten Bogeskov.
New member 'schema' in struct bend_fetch_rr which the name of requested
schema (SRW/SRU) for record (or NULL if none was given). The fetch
EINPROGRESS. COMSTACK patch by Ko van der Sloot.
New COMSTACK of type UNIX Socket. Use "unix:/path" as address for
-both client and server. Code by Morten Bøgeskov.
+both client and server. Code by Morten Bogeskov.
--- 1.8.7 2002/05/22
works with SSL.
Configure option --with-openssl=<dir> now works when a directory is
-specified. Patch provided by Morten Bøgeskov.
+specified. Patch provided by Morten Bogeskov.
New option for YAZ client, -u <auth>, that sets authentication.
and returned record syntax (output_format_raw) for backend fetch method.
Config file yaz-config now accepts options so that it returns specific
-compile settings, etc. Thanks to Morten Bøgeskov <morten@bogeskov.dk>
+compile settings, etc. Thanks to Morten Bogeskov <morten@bogeskov.dk>
Shared library support for UNIX using GNU libtool.