Fixed typo
[yaz-moved-to-github.git] / NEWS
diff --git a/NEWS b/NEWS
index be9bb0b..7f50c11 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,582 @@
+--- 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.
@@ -13,6 +592,12 @@ therefore in Zebra and in SimpleServer-based applications).  The new
 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.
@@ -1262,7 +1847,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
@@ -1442,7 +2027,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
 
@@ -1524,7 +2109,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.
 
@@ -1673,7 +2258,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.