CCL: split-list deals with use attr YAZ-844
[yaz-moved-to-github.git] / NEWS
diff --git a/NEWS b/NEWS
index 63fccc0..431b56d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,811 @@
+--- 5.13.0 2015/05/29
+
+Add lock/unlock for YAZ log writes YAZ-843
+
+--- 5.12.2 2015/05/22
+
+Fix incorrect parsing of URLs @:9999/somebase&url=http://some.host YAZ-842
+
+--- 5.12.1 2015/05/13
+
+yaz-client: deal with excess bytes HTTPS case YAZ-833
+
+ZOOM C: deal with excess bytes HTTPS case YAZ-833
+
+Allow Windows installer for PATH to be updated YAZ-841
+
+Add Ubuntu Vivid 15.04 to list of Deb's to built
+
+--- 5.12.0 2015/05/08
+
+Allow Content-Type application/sru+xml YAZ-840
+
+New yaz_xml_get_prop utility YAZ-839
+
+Fix zebrasrv [warn] ir_session (exception) YAZ-838
+
+Document itemorder-setname and list all ILL options
+
+--- 5.11.0 2015/03/31
+
+Extend get_org_info (snippets) to return original string YAZ-836
+Two new functions have appeared: icu_chain_get_org_info2 and
+icu_iter_get_org_info2 with a 4th parameter being a pointer
+to the original string.
+
+Fix tcpip.c compilation failure on VC9 YAZ-835
+
+Fix icu_iter_get_norm returns invalid size for some input YAZ-834
+The icu_iter_get_org_info returns information based on string
+as it appears on tokenize step.
+
+--- 5.10.2 2015/03/13
+
+Deal with excess bytes in HTTP response for keepalive YAZ-830
+
+Refactor ssl_put and tcpip_put to one function YAZ-832
+
+Refactor ssl_get and tcpip_get to one function YAZ-831
+
+Fix SEGV yaz-client for HTTP decoding error YAZ-829
+
+Fix buffer overflow in cmd_elements in yaz-client YAZ-828
+
+--- 5.10.1 2015/03/03
+
+Fix test_sru.sh fails in pazpar2 YAZ-826
+Unfortunately a regression occurred with YAZ 5.10.0 that would make
+Pazpar2 fail for HTTP connections.
+
+--- 5.10.0 2015/03/03
+
+Use CONNECT for SSL backends and for Z39.50 thru HTTP proxy YAZ-825
+Introduce cs_create_host2 which returns if connection should be
+proxy aware (HTTP:absoluteUri or Z39.50 proxy:vhost in init).. For CONNECT,
+the connection is NOT proxy aware (no absoluteUri and no Z39.50 vhost).
+
+Fix http proxy fails with yaz-client YAZ-824
+
+--- 5.9.1 2015/02/06
+
+Fix 0 ptr reference for OPAC records from XML YAZ-822
+
+--- 5.9.0 2015/02/02
+
+Extend yaz daemon facility to assist int log rotation YAZ-818 YAZ-819
+
+--- 5.8.1 2015/01/13
+
+record conv: 'select' return org record if no x-path match YAZ-814
+
+retrieval: pick matched element-set rule YAZ-813
+
+Fix crash in record conv rule 'select' YAZ-812
+
+--- 5.8.0 2015/01/09
+
+record_conv: selection by X-Path YAZ-811
+That's a new step in record conversion system (<select path=".."/>)
+
+Document record render parameters for ZOOM - including base64
+
+--- 5.7.3 2015/01/06
+
+Fix application/x-www-form-urlencoded + empty YAZ-810
+A SEGV occurred if Content-Type was "application/x-www-form-urlencoded"
+and empty content was supplied.
+
+Fix yaz-iconv man page for typos and incorrect example. YAZ-809
+
+Fail hard if Bison is not found and is needed YAZ-808
+
+--- 5.7.2 2014/12/16
+
+Enable YAZ backtrace for programs YAZ-802
+
+Update NMAKE makefile to use Visual Studio 2013 along with ICU 54.1,
+Libxml2 2.9.2, Libxslt 1.1.28.
+
+Fix daemon: parent process stops before child YAZ-806
+Try to fix the situation where parent process stops before
+child has acknowledged it .. SIGUSR2 back!
+
+daemon: log message when keepalive stops.
+
+--- 5.7.1 2014/12/03
+
+Fix yaz-marcdump segfault YAZ-801. Problem in YAZ 5.6.0/5.7.0 and
+would make yaz-marcdump crash when from-character set was issued.
+
+--- 5.7.0 2014/11/24
+
+Dump backtrace in case of SIGABRT, SIGSEGV YAZ-787
+New function yaz_enable_panic_backtrace which enables backtrace
+handler for current process. The handler will call backtrace always,
+then gdb to provide as much detail as possible.
+
+--- 5.6.0 2014/11/17
+
+When marc-8 charset is specified when decoding MARC records, yaz-marcdump
+and ZOOM record render will inspect leader 9 and switch to UTF-8
+(Unicode) if that holds 'a'.  This changes behavior, but is considered
+safe because only MARC21 with leader 9='a' are Unicode.      YAZ-800
+
+Fix cs_put may reconnect if send fails. YAZ-798
+
+--- 5.5.1 2014/11/03
+
+Fix cannot build YAZ on jessie : libgnutls-dev is gone YAZ-797
+
+--- 5.5.0 2014/10/27
+
+Extended comstack with outgoing IP YAZ-795.
+For cs_create_host + cs_create_host_proxy the vhost may be followed
+by a outgoing host/IP. Separator is blank.
+
+--- 5.4.4 2014/10/20
+
+Add YAZ_EXPORT to cql_transform_r fixes YAZ-793 . This issue fixes
+linker error with yazpp on Windows.
+
+--- 5.4.3 2014/10/08
+
+Fix uri array may overflow in yaz_solr_encode_request YAZ-775
+
+Fix PQF to Solr conversion may produce invalid Solr query YAZ-792
+
+0 ptr reference in handling Solr response with error YAZ-791
+
+Fix annoying warning about wrbuf_putc on newer GCC YAZ-789
+
+Fix documentation about --installa option YAZ-788
+
+--- 5.4.2 2014/08/26
+
+daemon: properly report when receiving SIGUSR2 from child YAZ-785
+
+--- 5.4.1 2014/08/21
+
+xmalloc: throw assert for clearly invalid calls to malloc and
+improve diagnostics YAZ-783 YAZ-784
+
+--- 5.4.0 2014/08/19
+
+Stop building debs for Ubuntu raring, quantal, oneiric.
+
+CCL YAZ-781: for multiple use attributes in a specification the
+generated RPN will perform @or on each term.
+For spec: term u=31 u=1016
+the CCL: t  will generate: @or @attr 1=31 t @attr 1=1016 t
+
+log YAZ-780: avoid mixed log files by perform only one write(2) per log entry.
+
+CCL YAZ-779: combo qualifier should allow for forward references
+
+Fix buildconf.sh, automake too old on centos5 YAZ-778
+Achieved by adding AM_PROG_CC_C_O and requiring AM 1.9 instead.
+The AM_PROG_CC_C_O is obsolete for newer AM, but 1.14 (Debian jessie)
+accepts it without a warning.
+
+--- 5.3.0 2014/07/11
+
+GFS: client_query_charset conversion YAZ-777
+This is a feature for Z39.50 clients that sends queries that are not
+UTF-8 encoded. WIth client_query_charset, GFS will convert from the
+encoding given to UTF-8.
+
+Echoed SRU arguments support YAZ-776
+This is achieved with new function yaz_srw_get_pdu_e.
+
+ZOOM: expire times set for redis/memcached YAZ-772
+For both redis and memcached option --expire=seconds sets expire
+time for a result-set/search. Default time is 600 seconds (10 minutes).
+
+--- 5.2.1 2014/06/26
+
+No [rest of output is omitted] limit for yaz_log YAZ-774
+
+Optimize icu_iter_get_org_info. Reduce calls to u_strToUTF8.
+
+For ICU testing, pass -o to yaz-icu. This will test the
+icu_iter_get_org_info function.
+
+Fix null ptr reference for freeReplyObject YAZ-773
+
+--- 5.2.0 2014/06/12
+
+Allow ZOOM caching using redis. New ZOOM option "redis" controls it.
+
+RPM: do not build with libmemcached support. The libmemcached library
+on CentOS 5/6 does not work reliably for us (redis to the rescue).
+
+configure: only allow libmemcached version 0.40 or later. That's the version
+on Debian squeeze. We recommend libmemcached version 1.0 or later. If
+that's not an option, consider redis.
+
+--- 5.1.3 2014/06/04
+
+Fix dup ZOOM_EVENT_RECV_RECORD events for SRU/Solr YAZ-768
+
+Fix zoom+memcached: present request out of range YAZ-767
+
+--- 5.1.2 2014/05/30
+
+CCL: add new qualifier r=omiteq which will omit relation=equals
+for ordered relations. This should be used in combination with either
+r=r or r=o.  YAZ-766
+
+GFS: prevent truncation/overflow in retrieval phase. YAZ-763
+
+Solr: simplify yaz_solr_decode_response
+
+Solr: use different local var for string manipulation
+
+Solr: Get rid of hardcoded limit of extra_args
+
+Solr: encode lucene query type YAZ-736
+Make sure the queries are treated as traditional "lucene", because that's
+what YAZ generates.
+
+Fix ZOOM HTTP redirect failing on Windows+Solaris YAZ-755
+
+--- 5.1.1 2014/04/22
+
+Build packages for Ubuntu Trusty Tahr 14.04 LTS
+
+wrbuf_cstr: fix off by one error.
+
+wrbuf_buf: make it always return non-NULL
+Also, wrbuf_buf will return same buffer as previous call to wrbuf_cstr.
+
+--- 5.1.0 2014/04/17
+
+Doc: move main YAZ manual to book.xml; use nxml YAZ-758
+
+zoomsh: offer option -a apdulog
+As we're used to from yaz-client and GFS based servers.
+
+ZOOM: new setting apdufile. Sets name of APDU file. If not given,
+existing setting apdulog takes effect.
+
+Add odr_setprint_noclose. It's like odr_setprint, but does not fclose at
+odr_destroy.
+
+Add wrbuf_cstr_null.
+
+Add re-entrant CQL/Solr/RPN query conversion functions.
+The re-entrant functions are: cql_transform_r,
+cql_transform_rpn2cql_stream_r, solr_transform_rpn2solr_stream_r.
+These have same functionality as cql_transform,
+cql_transform_rpn2cql_stream, solr_transform_rpn2solr_stream. They
+return the additional infomration as WRBUF to make them re-entrant.
+
+Remove CQL to Solr conversion and base solr_transform_t on
+cql_transform_t. The RPN to Solr is indeed in use. It uses exact same
+data structure as cql_transform_t.
+
+cql2pqf utility allows RPN to Solr conversion
+
+Fix assert in ZOOM when http connect fails YAZ-757
+
+--- 5.0.22 2014/04/09
+
+ZOOM: Call cs_rcvconnect during HTTP redirect YAZ-754
+
+wrbuf_cstr: make it thread safe YAZ-753
+
+yaz_log_init_file may take fd=<no> to open log file at the FD given.
+
+--- 5.0.21 2014/03/21
+
+Offer new utility function zget_AttributeList_use_string.
+
+New conversion step, solrmarc, for record conversion module.
+
+--- 5.0.20 2014/03/13
+
+Fix gcrypt initialization for threaded mode. On systems were GnuTLS
+did not initialize gcrypt for threaded mode, wrbuf_sha1_write could
+throw an assert.
+
+--- 5.0.19 2014/03/10
+
+Fix ZOOM_connection_Z3950_search: Assertion YAZ-750
+The standalone ZOOM sort was completely broken since 5.0.13.
+
+ZOOM: generate event Connect rather than None for partial connect
+(in fact getaddrinfo resolving).
+
+ZOOM: only supply clientIP for InitRequest. Rather than for all
+APDU types.
+
+GFS: peer_name adds X-Forwarded/Client-IP to value YAZ-749
+
+COMSTACK flag CS_FLAGS_DNS_NO_BLOCK. This will enable non-blocking
+getaddrinfo . This flag is passed to cs_create macro and cs_create_host,
+cs_create_host_proxy functions. ZOOM C uses this flag. YAZ-744
+
+New "Facets" section in the documentation.
+
+--- 5.0.18 2014/02/27
+
+Call exsltRegisterAll in yaz_init_globals, so that all applications
+using YAZ will have EXSLT things enabled.
+
+Use extraArgs in key for memcached ZOOM C caching YAZ-747.
+
+Update various URLs to the re-organized SRU pages at LoC.
+
+--- 5.0.17 2014/02/26
+
+Fix ZOOM_connection_connect SEGVs if host==NULL YAZ-746. Problem
+introduced in 5.0.12.
+
+Fix: Setting env YAZ_LOG makes YAZ hang YAZ-745
+yaz_init_gloabsl calls yaz_log_init_globals calls yaz_log_mask_str_x .
+Do not call yaz_init_globals from log_mask_str_x. Problem introduce
+in 5.0.15.
+
+--- 5.0.16 2014/02/25
+
+tcpip/SSL COMSTACK: connect tries all getaddrinfo addresses YAZ-743
+
+--- 5.0.15 2014/02/24
+
+Fix gcrypt not properly initialized YAZ-740.
+
+--- 5.0.14 2014/02/19
+
+Describe memcached option for ZOOM.
+
+ZOOM: throw present request out of range again YAZ-739
+Was removed in YAZ 5.0.13.
+
+--- 5.0.13 2014/02/18
+
+yaz_log MUTEX protected and pthread_atfork is used to avoid dead-lock
+with localtime_r when threads + fork is used (such as Metaproxy).
+
+yaz-config: quote some RHS values (that might include blanks)
+
+zoomsh: shows SearchResult-1
+
+zoomsh: sortby command
+
+zoomsh: use proper list of connections and result sets YAZ-725
+
+Avoid yaz_log in sigterm handler for GFS YAZ-737
+Logging is still performed, but outside sig handler.
+
+New ZOOM C feature: result-set caching with memcached. Example:
+ zoomsh "set memcached --server=memcachehost" "connect zurl" "search query"
+
+Remove SSL via OpenSSL support YAZ-732
+Also deprecate two functions from comstack that aren't working with
+GnuTLS: cs_get_ssl, cs_set_ssl_ctx.
+
+Revert "Bison: use %name-prefix directive rather than -p option"
+
+--- 5.0.12 2014/01/22
+
+Prefix URL with http:// if sru setting hints SRU/Solr mode YAZ-731
+
+SRU GET/Solr base URLs may hold additional ?args YAZ-729
+ZOOM option extraArgs already does this, though. It seems useful
+when dealing with Solr targets to limit by filter, eg.
+   http://lui.indexdata.com:8080/solr4/select?fq=database:3902
+
+Remove #fragment for HTTP request encoding YAZ-730
+
+Doc: Update list of DLLs/LIBs
+
+Doc: update href link to Unix utils and Git.
+
+--- 5.0.11 2014/01/15
+
+ZOOM: fix "lost connection" problem with servers that uses both squid
+and another proxy behind it that returns Location headers with relative
+URIs. YAZ-724
+
+zoomsh: do not use readline for stdin (no tty) YAZ-724
+Just use fgets in that case. If the user hits Ctrl-D a new-line
+is also printed.
+
+zoomsh: empty command ignored YAZ-723
+rather than performing exit of zoomsh.
+
+yaz-url utility offers option -v to enable verbose mode.
+
+yaz_url uses yaz_check_location and offers verbose mode.
+
+Add new function yaz_check_location.
+This function gets an absolute URI from Location (HTTP redirect).
+
+cookie API: introduce yaz_cookies_reset
+
+Update cql.y for newer bison YAZ-720
+The important part is that YYLEX_PARAM and YYPARSE_PARAM are no
+longer supported. Instead one must use %lex-param and %parse-param .
+
+--- 5.0.10 2014/01/09
+
+ZOOM/yaz-client: Cookie handling; deal with relative URI in Location
+header. YAZ-719
+
+rpn2solr: support truncation left(2), left&right(3) YAZ-718
+
+Mention SRU version 2.0 in yaz-client man page.
+
+--- 5.0.9 2013/12/20
+
+ZOOM/yaz-client: allow SRU searchRetrieveResponse with incorrect
+namespace.
+
+--- 5.0.8 2013/12/20
+
+Make cs_parse_host public.A
+
+Fix double HTTP dump (-a log would show HTTP packages twice). Bug
+introduced in YAZ 5.0.6.
+
+--- 5.0.7 2013/12/17
+
+Fix buffer corruption for yaz-ztest record fetch.
+
+--- 5.0.6 2013/12/17
+
+Allow yaz-ztest to return user-defined records (one record per file).
+This is enabled by defining environment variable YAZ_ZTEST_XML_FETCH.
+
+Prevent early truncatin of HTTP log. (ODR_PRINT for HTTP streams).
+Use the stream write instead of odr_printf which has a 4K tmp buffer.
+
+Fix encoding of 0x00a4 (unicode to danmarc) YAZ-713
+
+--- 5.0.5 2013/12/09
+
+Add support for MARC-in-JSON. yaz-marcdump and the record conversion module
+can read and write this format. For record format JSON, yaz-ztest returns
+MARC-in-JSON records.
+
+iconv: fixes and more tests for danmarc character set encoding. 0xa733 is
+converted to @å , 0xa732 is converted to @Å instead of @a733, @a732 .
+
+--- 5.0.4 2013/11/22
+
+Improve error reporting for ICU chains YAZ-707
+Report config element+rule when ICU status is "failure".
+
+ZOOM: stop fetching if present response has no records YAZ-710
+Some targets return less records than their hit count would suggest.
+This prevents ZOOM from continuing to fetch records if any present
+response has 0 records in the response.
+
+Ensure that GFS calls exit if any listener fails YAZ-710
+Before, if XML config was in use, it would start the default
+listener @:9999!
+
+--- 5.0.3 2013/11/19
+
+yaz-ztest: -V shows version (like yaz-client -V)
+
+New iconv encoding: danmarc YAZ-692
+
+yaz-client: lslb, ssub, mspn are Odr_ints now YAZ-705
+
+daemon: only wait for immediate child rather than all children. YAZ-704
+
+yaz-client: fix setting of SRU record schema. If scheme was unset, it
+could lead to invalid memory reference.
+
+--- 5.0.2 2013/10/16
+
+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
@@ -385,7 +1193,7 @@ 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.
+by Solr.
 
 --- 4.2.13 2011/09/01
 
@@ -481,7 +1289,7 @@ 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.
+RPN to Solr conversion: encode special characters.
 
 Generic Frontend Server: fix uinitialized member, stepSize.
 
@@ -583,7 +1391,7 @@ so it is appropriate to set Present Status to partial-4.
 
 Move yaz-config man pages to section 1.
 
-More documentation about SOLR.
+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.
@@ -602,7 +1410,7 @@ 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.
+Solr Web Service support for yaz-client and ZOOM.
 
 Define record syntax JSON. OID: 1.2.840.10003.5.1000.81.3 .