Update NEWS
[yaz-moved-to-github.git] / NEWS
diff --git a/NEWS b/NEWS
index 684ce1a..69ea366 100644 (file)
--- a/NEWS
+++ b/NEWS
-Tcl scripts uses /usr/bin/tclsh as preferred shell.
+yaz-ztest returns schema for MARCXML test records. SRU require that
+recordSchema for records.
+
+GFS: make surrogate diagnostic when yaz_record_conv_record fails -
+instead of non-surrogate diagnostic. This is a per-record failure.
+
+GFS: Allow multiple listenrefs YAZ-554. A server in yazgfs configuration
+may refer to multiple listeners now. Attribute listenref is a comma separated
+list of listen IDs.
+
+GFS: Use xmlconfig path as prefix for fnames YAZ-702. When -f
+option is given for GFS, the dirname of filename (for -f) is used
+as prefix for options such as cql2rpn, ccl2rpn, etc.
+
+Content-Type charset fixes YAZ-701 . Do not inspect charset in
+Content-Type header for SOAP when decoding SRU. The payload (XML)
+itself tells what encoding it is. In response, never supply encoding
+in Content-Type. The response payload (XML) tells what it is (with no
+encoding in XML it's UTF-8).
+
+HTTP decoding: allow blanks in URL paths YAZ-700
+
+--- 5.0.1 2013/10/04
+
+Various fixes for how SRU 2.0 is encoded. Fix NS for SRU 2.0 diagnostics
+and facets. Ensure recordData and recordSchema are always present in
+record element, because they are required.
+
+Remove deprecated functions yaz_uri_val .. and yaz_uri_val_int. Never used
+outside YAZ.
+
+Simplify in a lot of places using odr_strdupn.
+
+odr_create_Odr_oct: null terminate the buffer. Some applications rely on it.
+
+--- 5.0.0 2013/10/01
+
+Increase various buffers in GFS's statserv_options_block
+Change many 'unsigned char *' to 'char *' for ODR-related utilties.
+This change makes many type-casts redundant, and, thus simplifies code.
+
+Remove last bits of WAIS support.
+
+Remove member 'size' from Odr_oct.
+
+Slim down the public part of 'struct odr'. Most elements are not part
+of struct Odr_private.
+
+Add support for SRU 2.0. Since SRU 2.0 is incompatible with earlier
+versions of SRU, yaz-client and zoom C are using SRU 1.2 by default.
+In particular facets are supported in both client - and server side.
+Facets are also supported for Z39.50 and is carried in additionalSearchInfo
+of searchRequest/searchResponse with OID 1.2.840.10003.10.1000.81.5 AKA
+"Facet-1" in oid.csv. The info is defined in facet.asn (which covers
+both request/response). This is what a search handler in the GFS
+will see (regardless of whether operating in SRU mode or Z39.50).
+
+Changes to the srw.h (SRU/Solr) definitions include:
+- New element in Z_SRW_searchRetrieveRequest, queryType (char*) and query
+(char*), which replace union query and query_type (int).  This is because
+SRU 2.0 supports a queryType parameter. This also means that, to carry
+PQF, in SRU we can now use queryType=pqf and query=PQFstring , rather than
+x-pquery=PQFstring (extention parameter). The extension parameter
+is still supported.
+- New element, packing, that has information about SRU
+2.0 recordPacking (not to be confused with SRU 2.0 recordXMLEscaping).
+
+New element in Z_SRW_searchRetrieveResponse, resultCountPrecision.
+
+New element, packing, in Z_SRW_explainRequest.
+
+New elements in Z_SRW_scanRequest, queryType and scanClause.
+These replace query_type and scanClase untion. This is similar to what
+happend to search.
+
+--- 4.2.69 2013/10/01
+
+GFS: log when closing down - at least SIGTERM YAZ-684
+Also change formatting WRT PID logging a bit.
+
+Improve display of MARC records with multi-byte subfield IDs YAZ-695
+In some rare cases subfield identifiers are multi-byte characters.
+This will try to deterime length of those and split accordingly.
+This affects display in line mode as MARCXML/MarcXchange. The encoding
+of ISO2709 is the same.
+
+Change inp argument to const for yaz_read_UTF8_char.
+
+yaz-marcdump: fix leaks for MARCXML parsing. YAZ-694
+
+MARCXML parsing: avoid skipping 1st field if no leader. YAZ-693
+
+Better check of marc leader info YAZ-691
+Problem is that some systems generate MARCXML/MarcXchange with
+funny headers. These will not work if encoded as ISO2709.
+Some tests produce new output, due to updated warning messages
+
+cql2pqf: allow PQF queries from stdin (because CQL is also allowed)
+
+yaz-client: display MAB records YAZ-689.
+Thanks for Heiko Jansen for this patch.
+
+New utility z_get_HTTP_Response_server which allows both HTTP server name
+and HTTP server URL to be given in response.
+
+Debian: do not depend on obs tcl8.3.
+
+Debian: do not depend on obs libicu36-dev.
+
+--- 4.2.68 2013/09/23 
+
+GFS: pass additionalSearchInfo to search memeber search_input if
+given. Otherwise pass otherInfo. Request for facets and other search
+related things will be passed there in future versions of YAZ.
+
+New ZOOM setting, authenticationMode, which allows authentication
+paramters to be encoded in the URL rather than via HTTP Basic auth.
+YAZ-686
+
+rpn2solr: fix nested AND/OR handling. YAZ-685
+
+Add comparison routines for some Z-types, such as NamePlusRecord,
+RPNQuery, Query, RecordComposition and OtherInformation.
+
+--- 4.2.67 2013/09/19 
+
+Don't decode MAB as MARC. Just like we don't attempt to decode
+HTML/XML as MARC. Fixes MAB display problem that was introduced in 4.2.64.
+
+CCL: allow quoted terms for date ranges. YAZ-681
+
+Introduce ccl_parser_qual_search. This function makes old function
+ccl_qual_search, from YAZ 2, available again.
+
+Add yaz_facet_list_to_wrbuf. YAZ-683
+
+--- 4.2.66 2013/09/11
+
+ZOOM: fix record handling for Solr. ZOOM_record_get would return 0, if
+schema was given for search. YAZ-675
+
+Add Solr date range searches. YAZ-621
+
+--- 4.2.65 2013/08/22
+
+ZOOM: another fix for record caching (introduced in YAZ 4.2.64).
+
+--- 4.2.64 2013/08/21 (Broken WRT ZOOM C, do not use)
+
+ISO2709/MARC parse most octet aligned records; not just those that
+are known to be ISO2709/MARC. This makes ZOOM and yaz-client
+MARC parse more records instead of just dumping as is. YAZ-670
+
+ZOOM: proper caching for variations of record schema. YAZ-671
+
+Solr: Check for enging / and perhaps commands (select/term) YAZ-651
+
+--- 4.2.63 2013/07/17
+
+Add yaz_strcmp_null
+
+--- 4.2.62 2013/07/11
+
+New utility z_get_HTTP_Response_details - an extended version of
+z_get_HTTP_Response.
+
+New utility yaz_url_get_error which returns error message of last
+failed yaz_url_exec call.
+
+yaz-url and url functions: allow max HTTP redirects to be controlled.
+
+New functions yaz_file_glob2, yaz_xml_include_glob.
+These functions takes a flags parameter, which, for now only controls
+whether to fail inclusion of a non-existing file (without glob
+pattern) - flags YAZ_FILE_GLOB_FAIL_NOTEXIST.
+
+--- 4.2.61 2013/06/20
+
+For MARC XML parsing, allow record without leader. A fake/default leader
+is inserted and a warning is tagged with the record.
+
+ICU: fix leak in in icu_iter_get_org_info.
+
+--- 4.2.60 2013/06/14
+
+ICU: fix bug in icu_iter_get_org_info (un-init variable).
+
+--- 4.2.59 2013/06/11
+
+Implement z_HTTP_header_remove.
+
+--- 4.2.58 2013/06/11
+
+ICU: Disallow 0 ptrs for some ICU string utilities.
+
+ICU: new utilities icu_iter_get_org_info and icu_chain_get_org_info:
+returns original tokens (before normalization).
+
+CCL: avoid z39.58/regex truncation when not needed. Apply only the
+conversion of those masks, when absolutely necessary.
+
+CCL: configurable masking character - @mask. Default masking character
+is # for CCL.
+
+HTTP encoding: remove Transfer-Encoding header. YAZ uses content_len and
+full response anyway, so a Transfer-Encoding header will obstruct the
+response.
+
+--- 4.2.57 2013/05/15
+
+COMSTACK: @ uses AF_UNSPEC . But we prefer AF_INET6 over others when
+picking a socket. Problem is that some systems has IPV6 support, but
+we can't create sockets for them, so we pick AF_UNSPEC first.
+
+HTTP encode. Proper Content-Length YAZ-660. For yaz_encode_http_response
+use content_len to determine resulting Content-Length in HTTP response
+and NOT Content-Length supplied in headers by user.
+
+z_HTTP_header_add_basic_auth uses z_HTTP_header_set rather than
+z_HTTP_header_add, to avoid having two Authorization headers by mistake.
+
+Fix problem with HTTP decoding. For HTTP 1XX, 204, 304 assume no
+content-length.
+
+Fix yaz_base64decode to use proper signed. Problem occurred on platforms
+with big endian and unsigned char (by default).
+
+--- 4.2.56 2013/04/26
+
+Fix yaz-client connect (crash in 4.2.55).
+
+--- 4.2.55 2013/04/26
+
+Fix proxy/host problem for ZOOM that could occur if unix sockets
+was in use.
+
+New Debian package libyaz4-dbg.
+
+Fix problem with cs_close hang/wait in SSL mode. Invoke gnutls_bye
+differently in tcpip_close.
+
+--- 4.2.54 2013/04/17
+
+Windows installer of YAZ includes YAZ4J as a component.
+
+CQL: allow "extra terms" again, by default. Thus, the CQL parser
+accepts a superset the standard. This reverts to CQL as of YAZ 4.2.51
+and earlier. CQL parser may operate in strict mode where queries
+not conforming to the standard BNF are rejected (syntax error).
+Whether the CQL parser operates in strict mode is controlled with
+cql_parser_strict . Strict mode enabled with option -S for utilities
+cql2pqf and cql2xcql .
+
+yaz-ztest: returns OPACXML records for syntax=XML and element set=OP.
+
+--- 4.2.53 2013/04/10
+
+New charset, MARC-8c, which is like MARC-8 but allows control characters
+0x01 through 0x1F, except ESC to be passed through verbatim.
+
+Fix a problem with duplicate sub field character in MARC output. Problem
+happened only when output was MARC-8 encoded.
+
+--- 4.2.52 2013/04/03
+
+yaz-ztest: Use hash for fake hit count. Before, random number was used.
+This is problematic for unit tests using yaz-ztest. This patch also makes
+a hash for CQL queries. For RPN, any term with a leading digit will be
+treated as pseudu hit count (to force any particular hit count by a client).
+
+yaz-ztest: return unique MARC dummy records. Beyond record offset
+24, the author surname is patched with offset to make all records
+unique.
+
+COMSTACK: make @ bind to IPV6+IPV4 consistenly and avoid depending
+on system wide default (/proc/sys/net/ipv6/bindv6only).
+@4 binds to IPV4 only. @6 binds to IPV6 only.
+
+Update CQL API documentation a bit
+
+CQL: don't accept extra terms for queries. Makes the CQL parser
+stricly conformant to the standard.
+
+--- 4.2.51 2013/02/12
+
+GFS: scan handler gets extra_args from request and may return extra
+response data . That's for SRU only.
+
+Solr scan support for ZOOM and yaz-client. Patch from Simon Jacob.
+
+--- 4.2.50 2013/01/30
+
+New function, yaz_xml_to_opac, to convert from OPACXML to Z39.50 OPAC.
+
+OPACXML: sync spelling of availabilityDate in XML to that of Schema
+opaxxml.xsd. The schema had the correct spelling of this member always.
+The ASN.1 was mis-spelled and still is (API change) - we are
+not changing this. However, the OPAC to XML conversion had yet
+*another* typo.
+
+GFS: Allow conversion between Z39.50 OPAC and OPACXML via retrieval
+element.
+
+New function, z_ext_record_oid_nmem, which is similar to
+z_ext_record_oid but takes NMEM rather than ODR
+
+--- 4.2.49 2013/01/18
+
+ICU: New conversion element 'join' which joins tokens into one
+with a custom character given by rule attribute.
+
+--- 4.2.48 2013/01/10
+
+New GFS search member: present_number. This is a hint to the
+search handler how many records are going to be fetched immediately
+following search. There's no guarantee that it's going to be the case,
+since it depends on hit count (for Z39.50 piggyback) and whether errors
+turn up.
+
+Make a few functions static (private). The functions getbyte_stream,
+ungetbyte_stream and yaz_gets are now private. They were never declared
+in a header file.
+
+yaz-marcdump: exit(5) for serious decoding errors
+
+ISO2709 decoding: be more picky WRT header
+
+GFS: bail out of fetch if last_in_set is set. Until now, last_in_set,
+was only used as to indicate that next-result-set-position should be
+set to zero.
+http://www.loc.gov/z3950/agency/markup/04.html#Next-result-set-position
+Based on patch from Ashley Sanders.
+
+Make some functions static/private in PQF parsing. Those functions were
+never declared in a public header and so should not be in use by
+applications based on YAZ.
+
+--- 4.2.47 2012/11/23
+
+ZOOM: special options to control APDU logging.
+Using ZOOM_connection_option_set(c, "saveAPDU", "1") will enable
+logging of APDUs until "saveAPDU" option is set again. If logging is
+already enabled the effect is that current APDU buffer is cleared.
+Using ZOOM_connection_option_set(c, "saveAPDU", "0") disables
+logging (default behavior on new connection).
+The APDUs sent/received can be obtained by using
+Using ZOOM_connection_option_get(c, "APDU") or
+ZOOM_connection_option_getl(c, "APDU", &l).
+
+GFS: relay implementation_version from backend
+From 3.0.40 and later, implementation_version from backend was
+not used in init response at all.
+
+--- 4.2.46 2012/11/15
+
+Fix cs_rcvconnect for SSL comstack GNUTLS. Did not work in non-blocking
+mode at all. Probably never did.
+
+Make a new version of ztest.pem that, at least, is not expired.
+
+--- 4.2.45 2012/11/13
+
+Fix description of CCL directive 'case'.
+
+More tight checking of form arguments (yaz_uri_to_array). Makes
+YAZ better at rejecting big and/or bad POSTs.
+
+SRU decoding does not report more than up to 10 invalid arguments.
+
+rpn2cql: less quotes in generated terms. Semantics unchanged, but
+it's prettier this way.
+
+--- 4.2.44 2012/10/25
+
+New utility yaz_decode_init_diag. Defined in proto.h.
+
+Allow HTTP protocol on unix local socket. Also Z39.50 database may be
+given for unix local socket.
+    The COMSTACK string for doing so is:
+    unix:<spec>:<uri>
+    Examples:
+      unix:/myfile:tcp:localhost:9999/mybase
+      unix:/myfile:localhost:9999/mybase
+      unix:/myfile:http://fakehost/mybase
+
+debian: Use dpkg-buildflags in build process.
+
+--- 4.2.43 2012/10/19
+
+ZOOM C: don't trust recordPosition always. Some servers, such as IGI
+global's SRU service uses a recordPosition scheme starting from zero.
+First record's position should be one
+according to the standard.
+
+--- 4.2.42 2012/10/18
+
+Allow more namespaces for SRU. This is to allow, for example, an
+incorrect namespace returned from server
+http://services.igi-global.com/sru .
+
+Minor fixes for compilation on Windows.
+
+--- 4.2.41 2012/10/11
+
+daemon: log total number of bad signals from child on stop so that it
+is more easy to spot problems with child worker processes.
+
+retrieval: empty backend name attribute omits element set
+from being used in retrieval.
+
+--- 4.2.40 2012/10/04
+
+Implement Solr sort strategy "solr", similar to sru11 sorting. 
+This will implement the correct parameters on Solr requst to do 
+native sorting.
+
+--- 4.2.39 2012/09/28
+
+Implement ccl_qual_fitem2. Like ccl_qual_fitem but with diagnostic
+string returned.
+
+MARC: Extra/missing indicator handled for MARCXML.
+The indicator length is given in header and is the same for the
+whole record. If attributes ind1, ind2 are missing, then content
+character defaults to blank.  Extra indicator attributes (beyond)
+indicator length are treated as an error.
+
+Reformat: delete trailing whitespace
+
+--- 4.2.38 2012/09/17
+
+MARC: fix non-ASCII characters for leader. This is to ensure we can
+generate XML in UTF-8.
+
+CCL: new special attribute s=ag . Almost s=pw,al but preserves words
+in one node with structure word.
+
+--- 4.2.37 2012/09/04
+
+yaz-json-parse: JSON output may be pretty printed by using option
+-p twice.
+
+Increase default value of max message for Z39.50 Init for GFS, ZOOM
+and yaz-client. Old value was 1 MB. New value is 64 MB.
+
+--- 4.2.36 2012/08/22
+
+yaz-client: don't display bogus records from SRU servers. Some SRU servers
+return more records than given by *maximumRecords*. Skipping those in
+display!
+
+record_render: simplify buffer return handling and fix at least one bad
+memory reference, that broke the test_embed_record sometimes.
+
+Allow http://user:pass@host notation for yaz_url_exec.
+
+zoomsh: allow shell command to be executed. Via the system(3) call.
+
+yaz_poll: Allow num_fds == 0
+
+yaz-client: fix bad encoding of "itemorder item". The itemorder
+item <no>  - command forgot to use length of encoded Item Request
+package. Error present since YAZ 3.
+
+yaz-ztest: fix bad usage of session handle. Bug was introduced when
+result sets were saved (271a9c83).
+
+SRU recordPacking: guess record packing in response rather than looking
+at the recordPacking element which, OF COURSE, changed semantics in SRU
+2.0.
+
+Decode SRU 2.0 responses. The official namespace for responses, according
+to http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/cs01/schemas/sruRes
+appears to be http://docs.oasis-open.org/ns/search-ws/sruResponse .
+nature.com's server, however, usee namespace
+http://docs.oasis-open.org/ns/search-ws/sru-2-0-response . For this reason
+we are now using a glob-expr to match up the namespace. ZOOM C and
+yaz-client updated. Perhaps SRU 1.2 uses same namespace, I don't know.
+I can not find a single real example showing the "real" namespace in
+the documentation from OASIS. The namespace for requests is different
+from responses, but this is not added to YAZ yet, when we don't encode
+them yet.
+
+--- 4.2.35 2012/06/26
+
+zoom/record_render: add support for Base64 decoding fo MARC records
+within XML element. For example: "xml; charset=marc-8; base64=/my/text()"
+which will decode base64 + ISO2709 marc-8 encoded material from text node
+under /my .
+
+--- 4.2.34 2012/06/07
+
+Add missing definitions ZOOM_resultset_get_facet_field_by_index
+and ZOOM_resultset_facets_names.
+
+zoom: fix bad free for ZOOM_connect - happened when ZOOM connection
+options was in use.
+
+Change APDU dump printing to avoid long leading blanks. For levels 16
+or larger the level is shown and the indentation is truncated but
+recursed with modula 8. This makes it still reasonable easy to read
+- even for nested BER dumps.
+
+Fix bug completeBER_n WRT too nested BER. Function completeBER_n could
+return 0 (incomplete package) in case where the BER package was
+considered too nested (return value of -2).
+
+dumpber: lines of level 15 are not indented further. Two spaces per
+indentation; indentation 15 or more is indented to a fixed indentation
+and augmented with a level=<no> indication.
+
+zoomsh: increase max size of command+args
+
+GFS: No limit in RPN buf size in CQL to RPN conversion.
+
+--- 4.2.33 2012/05/09
+
+New function for daemon utility, yaz_daemon_stop .
+
+Makes yaz_srw_sortkeys_to_sort_spec public on Windows.
+
+--- 4.2.32 2012/04/25
+
+Add some Bib-1/SRU diagnostics + mappings. Bib-1: 1073 and
+Bib-1 1074: Proxy failure. SRU: 1074: Proxy failure
+
+--- 4.2.31 2012/04/23
+
+YAZ daemon utility relays SIGUSR1 to child process.
+
+ZOOM: handle trailing slash for Z39.50 urls. Previously localhost:9999/
+would result in en empty database list - which in turn would result in
+encoding failure for search.
+
+Fix reading beyond string in yaz_sort_spec.
+
+--- 4.2.30 2012/04/11
+
+Add two new SRU diagnostics:
+ 236: Access to specified database denied
+ 1015: Init/AC: Maximum number of simultaneous sessions for Userid
+
+Document the very useful ZOOM-C option "apdulog".
+
+CQL to RPN: term may be passed through verbatim. This is enabled with
+truncation.cql . The assumption being that the term is already CQL.
+
+--- 4.2.29 2012/03/20
+
+record_conv: leader spec may be given for marc element.
+The leader spec is given as attribute leaderspec for element marc. 
+For example to convert a MARC21 record from MARC-8 to UTF-8:
+     <marc inputformat="marc" outputformat="marc"
+      inputcharset="marc-8" outputcharset="utf-8 "leaderspec="9='a'"/>
+
+record_conv: allow user-XSLT params. For example:
+       <xslt stylesheet="MARC21slim2DC.xsl">
+          <param name="myparameter" value="myvalue"/>
+          <param name="otherparameter" value="othervalue"/>
+       </xslt>
+
+record_conv: fix error handling for missing marc charsets.
+
+CQL: fix extra terms in wrong order.
+
+--- 4.2.28 2012/03/06
+
+record_conv: modify new API for conversion types. The conversion types
+may be passed in new functions yaz_record_conv_configure_t and
+yaz_retrieval_configure_t.  Removing yaz_record_conv_add_type .
+
+Avoid mixed statement/variable declare; fixes compilation with Visual
+Studio.
+
+--- 4.2.27 2012/02/28
+
+Add non-standard SRU diagnostic: 235: "Database does not exist".
+Couldn't live without it. HTTP 404: "Not found" is just so anonymous.
+Update SRU to Bib-1 diagnostic maps accordingly.
+
+CCL: add two new diagnostics for unsupported masking. The new
+diagnostics are: "Embedded truncation not supported" and
+"Single charcacter mask not supported".  
+
+--- 4.2.26 2012/02/23
+
+CCL: fix use of "term" field in sub queries. Bug introduced in YAZ 4.2.25.
+
+--- 4.2.25 2012/01/11
+
+Build YAZ for Ubuntu Oneiric.
+
+CCL: allow parantheses for proximity operands. For example CCL query
+(a) % (b)   is now allowed.
+
+GFS: fix bend_assoc_is_alive. When cs_get returns 0 the association is
+marked dead, rather then being destroyed. If not, the session memory is
+being free'd before the search/scan handler is finished. Also destroy
+'request' memory in request_release rather than in various places,
+which resulted in leaks from time to time.
+
+--- 4.2.24 2011/12/21
+
+cql_sortby_to_sortkeys: honor sort prefix.
+
+RPN to CQL: always quote resulting terms. For bizarre reasons, JSTOR's
+SRU server returns 0 hits on ISSN searches unless a CQL term is quoted.
+The rpn2cql family of functions now always returns quoted CQL terms.
+
+Fix CQL to CCL conversion for multiple terms. Add two test cases as well.
+
+--- 4.2.23 2011/12/15
+
+Allow =val to be omitted for yaz_uri_to_array. Also, multiple &'s in
+sequence is treated as one. For example, &&a=b&&&c& is identical to
+a=b&c= .
+
+--- 4.2.22 2011/12/05
+
+Add ZOOM_connection_save_apdu_wrbuf. This function may be used to save
+APDUs for a connection to a WRBUF.
+
+--- 4.2.21 2011/11/23
+
+Fix cql_sortby_to_sortkeys. Completely broken before.
+
+Make CCL's @truncation work again.
+
+--- 4.2.20 2011/11/09
+
+New ZOOM connection setting: tproxy.  It's like proxy, but does not
+set Z39.50 proxy OID or change HTTP for proxy behavior. Can be used
+to set resolved address + port for a connection outside ZOOM itself.
+
+Fix atoi_n_check digit test. Thanks to Giannis Kosmas for spotting it.
+
+--- 4.2.19 2011/11/07
+
+Fix uninitialized variable in Solr spell support (could cause SEGV
+for SRU response decoding).
+
+Error handling for Z_APDU_close uses ZOOM_set_dset_error() to pass
+back-end's addinfo through into the ZOOM response addinfo.
+
+When ZOOM_set_dset_error() is passed an addinfo2 as well as addinfo,
+they are separated by a colon and a space rather than simply
+concatenated.
+
+--- 4.2.18 2011/10/28
+
+Add support for Solr spell-checking/suggestions through ZOOM.
+If a Solr target has been configured correctly for spelling-checking 
+and suggestions, these will now be returned on the ResultSet option 
+"suggestions". zoomsh has been extended to show this with the cmd suggestions.
+
+--- 4.2.17 2011/09/28
+
+Fix function nmem_strsplit_escape2 which extends nmem_strsplit_escape
+with a flag whether to substitute escape sequences or not.
+
+--- 4.2.16 2011/09/22
+
+Fix nmem_strsplit_escape to substitute escape char properly.
+
+New option for zoomsh  -e , which makes it abort on first error and
+return process exit code to indicate success/failure.
+
+YAZ options utility supports special option -- which makes all it treat
+all following arguments as non-options.
+
+--- 4.2.15 2011/09/16
+
+Fix yaz_file_path_resolve/yaz_path_fopen/yaz_fopen so that path is not
+searched if absolute filename is given.
+
+Fix conv_xslt() error-reporting when stylesheet is not found.
+(The value of fullpath is meaningless in this situation.)
+
+--- 4.2.14 2011/09/07
+
+Fix problem in CQL sort node creation: un-initialized memory.
+
+New ZOOM utility ZOOM_query_sortby2. That takes a strategy parameter: one of
+"z3950", "type7", "cql", "sru11" or "embed". The "embed" chooses type-7 or
+CQL sortby depending on whether Type-1 or CQL is actually sent to the
+target.
+
+New sortspec utilities: yaz_srw_sortkeys_to_sort_spec,
+yaz_sort_spec_to_srw_sortkeys, yaz_sort_spec_to_type and 7yaz_sort_spec_to_cql.
+
+rpn2solr supports Z39.58 truncation (104). Thus, CCL truncation mode t=z
+will make it possible to use both single-character mask (#) and wildcard (?)
+in CCL . Throw diagnostic for left truncation because that is not supported
+by Solr.
+
+--- 4.2.13 2011/09/01
+
+Fixes for cql2rpn, cql2ccl and ccl2rpn; mostly in the area of special
+cases using escapes (\-sequences) and masking.
+
+PQF parse fix: A trailing backslash followed by end-of-string (\0)
+would result in a read one byte beyond string.
+
+rpn2ccl may use Z39.50 masking for terms (t=z).
+
+ICU check fix. Don't include library -lCrun on Solaris, unless present.
+
+ICU check fix: Use --cppflags-searchpath to determine ICU include files;
+not --cppflags (which seeems like an error in icu-config).
+
+--- 4.2.12 2011/08/27 RPM package only
+
+cql2ccl: fix conversion of terms: operator characters were not
+quoted/escaped.
+
+--- 4.2.11 2011/08/25 RPM package only
+
+ccl2rpn: Conversion to regexp-1 terms (trunc=102). For mode t=x, the
+CCL parser will map both # and ? to their regular expression
+quivalents (. and .*).
+
+rpn2cql: deal with truncation=102 (regexp-1). And ensure proper quoting
+of reserved CQL characters.
+
+cql2ccl: deal with both * and ? in conversion. Also leave escaped ones as
+is, so that they are passed through.
+
+--- 4.2.10 2011/08/24
+
+ZOOM SRU mode: more aggressive re-connect.
+
+Private function prox_unit_name() renamed to yaz_prox_unit_name() and
+made available as a utility function, declared in <yaz/logrpn.h>
+
+rpn2cql_structure() supports proximity nodes (except that the Type-1
+proximity node's "exclusion" binary is ignored, as there is no way to
+express that in CQL).  Fixes bug #4564.
+
+--- 4.2.9 2011/08/18
+
+Fix SEGV that could occur if set command of zoomsh was given without
+value (2nd argument).
+
+Fix SEGV that could occur if unsupported transport was given for
+COMSTACK - say https (when SSL was unavailable).
+
+Build yaz-url on Windows too.
 
-yaz-ziffy defines _BSD_SOURCE.
+--- 4.2.8 2011/08/11
+
+New utility to get web content. Header is url.h. A command line tool
+yaz-url is part of the distribution and packages.
+
+Fixes for SSL COMSTACK (when gnutls is in use).
+
+New functions yaz_base64{encode,decode}. Header is base64.h.
+
+--- 4.2.7 2011/08/03
+
+ZOOM C includes HTTP response buffer as additional info if it fails
+to decode the SRU response.
+
+Make wrbuf_json_puts available.
+
+--- 4.2.6 2011/07/28
+
+zoom: throw diagnostic for invalid value for option "sru". Before a
+bad SRU request was sent.
+
+Adding new utility wrbuf_vp_puts.
+
+Add cclxmlconfig.obj to win/makefile. It was missing completely.
+
+--- 4.2.5 2011/07/21
+
+ZOOM HTTP: use absoluteURI's in proxy mode as required by RFC 2616 (HTTP).
+Fix a bug in handling of cookies. Fix a bug that would occur if proxy +
+redirect was used at the same time.
+
+MARC line mode decoding: be less picky about length given - first
+5 digits of header that is.
+
+CQL to CCL conversion: deal with CQL proximity (cql_to_ccl function).
+
+Changes to decoding of SRU records: a record with recordPacking=xml is
+modified with a new root element <yaz_record> if the recordData contains
+multiple children elements. This is to make the record XML parseable
+afterwards.
+
+RPN to Solr conversion: encode special characters.
+
+Generic Frontend Server: fix uinitialized member, stepSize.
+
+--- 4.2.4 2011/06/21
+
+Fix a bug in SRU decoding of records.. The database records stored
+had un-initialized memory, but it would only be seen with yaz_record_render
+and type_spec="ext" .
+
+Fix a bug in ccl_qual_dup introduced in 4.2.3.
+
+--- 4.2.3 2011/06/17
+
+Add new CCL utility, ccl_qual_dup, which makes a copy of a CCL bibset.
+
+--- 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 Web Service 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
@@ -15,6 +1422,16 @@ 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
@@ -1353,7 +2770,7 @@ and search result respectively.
 
 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
@@ -1533,7 +2950,7 @@ Solaris recv sometimes returns errno == ENOENT. It is treated as
 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
 
@@ -1615,7 +3032,7 @@ SSL/COMSTACK updates. cs_rcvconnect completes SSL handshake. ZOOM
 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.
 
@@ -1764,7 +3181,7 @@ Added raw OID member for preferred record syntax (request_format_raw)
 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.