Update NEWS
[yaz-moved-to-github.git] / NEWS
diff --git a/NEWS b/NEWS
index ca1359f..c433926 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,485 @@
+List supported encodings in man page for yaz-iconv.
+
+Fixed missing SSL libs for --libs output
+
+Re-established OID record syntax application-xml. Nobody should use it
+but we don't want to change soname because of this symbol being absent.
+
+--- 3.0.42 2009/02/02
+
+YAZ' RPM spec works for both SUSE Linux Enterprise and RedHat Fedora.
+
+Added member named_result_sets for init handler struct for the GFS. This
+allows a server to disable named result sets.
+
+Removed OID record syntax application-xml.
+
+Added support for rule-based transliterator for ICU wrapper of YAZ.
+
+Fixed bug #1902: yaz-icu XML output.
+
+Make YAZ checks Emacs friendly.
+
+BITSTRING value shows value. Bug #2346.
+
+ISO2709 decoding: skip control characters from indicator data.
+
+Omit sort key by default in yaz-icu's output.
+
+Allow combined single char options (again) for YAZ' options function.
+
+Utility yaz-marcdump got option to display YAZ version (-V).
+
+Allow YAZ to use ICU 3.4.
+
+Added new ICU test case which illustrates removal of diacritics.
+
+--- 3.0.41 2008/12/29
+
+Fixed Fixed test that makes VERSION_SHA1 appear on dist versions too.
+
+--- 3.0.40 2008/12/29
+
+For configure, using option --without-xml2 also disables Libxslt/Libexslt
+support.
+
+Fixed bug #2352: yaz-marcdump crashes for certain record.
+
+Added man page 'bib1-attr' which includes list of common Bib-1 attributes.
+
+Added support for Danmarc2 to UTF-8 conversion.
+
+Added support for ISO5426 to UTF-8 conversion.
+
+zget_InitRequest/zget_InitResponse returns GIT SHA1 hash as part of 
+implementation version.
+
+Function yaz_version returns GIT SHA1 hash for parameter sha1_str.
+
+--- 3.0.38 2008/11/10
+
+ZOOM C now only fires one ZOOM_EVENT_SEARCH per search-task. Previously,
+ZOOM_EVENT_SEARCH was fired for each searchRetrieve Response received.
+
+ZOOM C now interprets databaseName option for ZOOM connection as path
+(SRU "database").
+
+Windows version bundled with Libxml2 2.7.1 / Libxslt 1.1.24 / ICU 4.0.
+
+Fixed CCL to RPN/PQF conversion which could result in invalid PQF.
+
+Dummy Libxml2 types no longer defined in headers of YAZ'.
+
+Fixed memory violation for ZOOM C - could occur when SRU diagnostics was
+received.
+
+--- 3.0.36 2008/09/26
+
+Various ODR chapter fixes.
+
+Windows version uses libxml2 2.6.32+, libxslt 1.1.23+ and ICU 4.0.
+
+Added missing source for Windows compilation, mutex.c.
+
+Fixed compilation of YAZ for Visual Studio 2008. Bug #2256.
+
+For SRU connections in ZOOM all records up to "count" are now fetched.
+
+Fixed crash in generic frontend server (and yaz-ztest) which occurred
+in Windows due to bad error handling for Libxml2.
+
+Added facility for sending arbitrary records (ASN.1 any) using
+ZOOM C's Extended service update. Patch by Sam Reynolds.
+
+New options for ZOOM C's connection, logapdu which makes ZOOM log
+APDUs.
+
+--- 3.0.34 2008/06/18
+
+YAZ uses GNU TLS without the OpenSSL compatibility wrapper.
+
+--- 3.0.32 2008/06/12
+
+Fixed memory violation that could occur when decoding UTF-8. This bug
+was only present in 3.0.30 of YAZ.
+
+--- 3.0.30 2008/06/06
+
+Implemented SSL sockets using GNU TLS. OpenSSL is still supported, but
+GNU TLS is used by default (if found).
+
+yaz-ztest returns OPAC records if a client asks for OPAC.
+
+Improved speed of MARC-8 encoding.
+
+Added support for lossy and loss-less MARC-8 encoding.
+
+Changed yaz_record_conv_record to be reentrant for XSLT conversions.
+
+Added new Windows Service wrapper (sc).
+
+yaz-client's itemorder command may now send a file.
+
+Fixed yaz-marcdump to allow the use of NS prefix for record element.
+
+Added new function yaz_log_xml_errors.
+
+Allow (but warn) unknown XML attributes in MARCXML parsing.
+
+Handle G1 sequneces in MARC-8 decoding. Bug #2115.
+
+The UTF-8 to MARC-8 conversion now uses a different set of characters
+for Greek symbols. Bug #2120.
+
+--- 3.0.26 2008/02/21
+
+Added yaz_daemon (daemon.h).
+
+Fixed bug #2068: pkg-config trouble
+
+Fixed bug #395: ZOOM_record / OPAC record encoding problems.
+
+--- 3.0.24 2008/01/28
+
+Document --with-xml2 option.
+
+Added OPAC XML XSD (etc/opacxml.xsd).
+
+Allow glob mask for name attribute in retrieval element for the 
+generic frontend server's retrieval facility.
+
+Changed yaz_poll_poll to return yaz_poll_except for all returned events
+except POLLIN/POLLOUT.
+
+Fixed error handling in cs_listen. Bug #2037.
+
+--- 3.0.22 2008/01/20
+
+Fixed version in yaz/yaz-version.h.
+
+Fixed bug #2027: Crash when closing connection.
+
+Changed configure so that ICU support is only enabled if only ICU
+and Libxml2 is available (because the ICU chain is XML based).
+
+--- 3.0.20 2008/01/15
+
+YAZ now makes ICU utilities for Windows. A separate DLL, yaz_icu3.dll,
+is built. Only this DLL depends on the ICU runtime.
+
+yaz-ziffy is no longer part of YAZ. It is distributed separately by
+Index Data because ziffy's license is GPL2 rather then 'Revised BSD'.
+
+Changed license of CCL module to 'Revised BSD'. After consultation with
+remaining members of the original EUROPAGATE consortium, we are re-issuing
+the CCL module without a separate license. The software was developed by
+Index Data as part of a research project. The special license was included
+to help feed usage information back to the project consortium to support
+project evaluation. At this time, the project consortium has long-since
+disbanded, and the majority of the original principals have retired. At the
+same time, we have significantly modified the software during the following
+years, to the point where very practically no original code remains. To
+simplify re-use of the software, we have contacted those members of the
+consortium who could be reached, and agreed to re-issue the module as a
+proper part of the YAZ package.
+
+Tcl scripts uses /usr/bin/tclsh as preferred shell.
+
+CQL closer to being version 1.2 compliant. CQL also allows free-form
+terms, such as 'title=a b', and thus, make the CQL parser more CCL-like
+and user-frendly.
+
+Fixed bug in ZOOM_options_getl WRT setting of parameter lenp. This
+bug could make Extended services handling crash in the ZOOM layer. This
+bug was only present in YAZ 3.0.18.
+
+--- 3.0.18 2007/12/19
+
+ziffy uses YAZ' options rather than getopt; getopt is unavailable on
+some systems.
+
+yaz-marcdump reads and writes collection wrapped records.
+
+Handle OPAC for record conversion module.
+
+Fixes for ICU wrapper.
+
+Allow ICU libs to be controlled with --with-icu .
+
+--- 3.0.16 2007/11/12
+
+Added yaz_poll which is a wrapper for select/poll. When poll is available
+and non-buggy, it is used, by yaz_poll . This allows more than 1024
+sockets to be in use.
+
+Added ICU wrapper library which exposes ICU http://www.icu-project.org/
+functionality through an XML based configuration (ICU chain). This system
+is useful for search facilities such as Pazpar2 and Zebra that needs to
+perform tokenization of indexed material. The ICU code in a separate
+library libyaz3_icu.a.
+
+Added HTTP tunnel facility for COMSTACK, bug #1752.
+This is a facility that allows a Web proxy, such as squid, to tunnel
+Z39.50 traffic. This facility is "transparent" to must applications
+using YAZ. It's enabled by using pseudo transport connect: followed by
+the proxy address, followed by command, then follwed by he regular
+"virtual" addresss. For example,
+connect:webproxy.com:3128,tcp:z3950.loc.gov:7090/voyager . 
+
+More MARC-8/UTF-8 conversion fixes. Bugs #1666, #1667, #1778.
+
+--- 3.0.14 2007/09/21
+
+Fixed bad memory reference in ZOOM_record - cuased by member not being
+initialized. This was a problem only in YAZ 3.0.12.
+
+Fixed bug in conversion from MARC to XML: Non-XML characters in control
+fields were not removed.
+
+Changed the way C code is generated from codetables.xml.  Made a MARC-8
+conversion trie for each characterSet section rather than codeTable.
+This is ensure the code can deal with G0/G1 sequences. Use of a newer version
+of codetables.xml from Larry Dixson, LOC. Bug #1464.
+
+--- 3.0.12 2007/09/12
+
+ZOOM C now handles SRU surrogate diagnostics (i.e. errors returned
+from ZOOM_record_error).
+
+ZOOM C function ZOOM_record_get returns record schema for type="schema".
+
+Implemented HTTP Basic authentication to SRU/GET, SRU/POST and SRW requests.
+
+Added new ZOOM C connection option 'sru_option' which specifies SRU version.
+
+Better SRW-to-Bib-1 diagnostic mapping.
+
+ZOOM C and yaz-client announces SRU version 1.2 by default.
+
+yaz-client 'sru' command may specifiy both SRU version and transport (SOAP,
+GET or POST).
+
+Fixed in yaz_sru_decode to allow other version than 1.1.
+
+--- 3.0.10 2007/08/22
+
+Added support for SRU scan for ZOOM.
+
+Added support for the use of the older versions or Extended Service
+Update in ZOOM. To faciliate this, an option "updateVersion" may be
+set to the version , 1=first, 2=second, 3=third. The third version is
+what ZOOM C has used so far. And that, obviously, is the default.
+
+Added support for CCL queries in Z39.50 queries sent to the GFS (and
+therefore in Zebra and in SimpleServer-based applications).  The new
+<ccl2rpn> element in a GFS configuration file, if present, names a CCL
+qualifier file used to transform incoming CCL queries into Type-1 RPN,
+which is passed into the back-end search callback function.
+
+Added support for HTTP Basic authentication in clients: the SRU/W
+codec encodes the username/password elements of the PDU structure
+appropriately, and these may be set using the "user" and "password"
+options in ZOOM-C applications (the same options that are used for
+Z39.50 authentication).
+
+--- 3.0.8 2007/06/25
+
+Fixed bug #1208: SSL appears to be broken in ZOOM.
+
+Fixed bug #1206: Libxml2 include path weirdness. 
+
+Added oid_name_to_dotstring.
+
+Allow elementSetName to be specified for ZOOM C record update.
+
+Allow waitAction to be specified for ZOOM C based for Extended Services.
+
+Fixed NULL ptr reference bug in yaz-ztest - caused by omitted record
+syntax OID. Bug introduced in YAZ 3 series.
+
+Updated WIN32 build to include Libxml2 2.6.28 / Libxslt 1.1.19.
+
+--- 3.0.6 2007/06/06
+
+Fixed bug #1157: yaz-client does not read .yazclientrc from current
+directory. yaz-client now reads commands from file given by option -f
+if specified; then tries to read .yazclientrc in current directory.
+Failing that, it reads .yazclientrc from user's home directory.
+
+Added support for correlationInfo Note and ID for Record Update via
+ZOOM C.
+
+Added yaz-client command querycharset which specifies character set for
+query terms for Z39.50 RPN queries and Z39.50 Scan Requests
+(termListAndStartPoint).
+
+Charset ISO5428:1984 is an alias for ISO5428-1984.
+
+Implemented a way to perform scan in a result set using Z39.50. This
+is achieved by attaching the result set name in the characterInfo
+(type InternationalString) of OtherInformation in the Scan Request PDU.
+The result set is identified in the otherinformation by the new OID:
+ USERINFO, Z3950_PREFIX.10.1000.81.4, "Scan-Set
+This allows for scan in result set and faceted search . Zebra did some
+of this in the APT term using attribute type 8 and value being result
+set. Using the OtherInformation approach for this is cleaner and easier
+to work with in proxies and the like. This facility can be used in
+yaz-client using new command setscan which takes a result set as first
+argument, start position (APT) as second.
+
+Changed decoding of SRU XML packed records to deal with servers that
+have recordData with XML data with multiple root nodes. Also make
+comparison for recordPacking case insensitive. Again, one server
+returns "XML" where others return "xml".
+
+For SRU responses allow Content-Type application/xml as well as text/xml.
+
+--- 3.0.4 2007/05/21
+
+Fixed bug in character set conversion of BER strings. Bug introduced
+in 3.0.0.
+
+--- 3.0.2 2007/05/08
+
+For OIDs use Odr_oid type everywhere, i.e. do not assume Odr_oid=int.
+
+For OID class, use oid_class consistently.
+
+Fixed external handling for SUTRS and Explain records (bug appeared in 3.0
+series).
+
+Added partial support for ISO5428-1984, which is the "Greek alphabet coded
+character set for bibliographic information interchange". By Giannis Kosmas.
+
+Added documentation on new OID API.
+
+--- 3.0.0 2007/05/02
+
+Changes to generic frontend server interface: added new member
+'query_charset' for bend_initrequest structure. A backend init handler
+should set this member to its native character set for query terms.
+When defined, the frontend server logic will announce this character set
+to a client if the negotiationModel bit is set by the client. All server
+implementors are encouraged to specify this. If a backend server does not
+specify this a warning is issued using yaz_log(YLOG_WARN,..).
+
+Added CCL utility to remove terms (stop words) from resulting RPN
+tree. This is handled by functions with prefix ccl_stop_words_ .
+
+New ZOOM C option, "rpnCharset", which allows client-side conversion of
+terms in RPN queries.
+
+Clean-up the CCL API. Moved some internal structures from ccl.h to 
+private header cclp.h. Changed ccl_parser_create so that a Bibset must
+be supplied. Removed tokenize API from ccl.h - including ccl_parser_find.
+This is replaced by ccl_parser_find_str which takes a string instead.
+
+Split YAZ library into two libs : libyaz.la and libyaz_server.la.
+libyaz.la is the core of YAZ except the generic frontend server and
+does not depend on POSIX threads anymore. libyaz_server.la is the
+generic frontend server facilities and uses POSIX thread functionality
+if available. The libyaz.la no longer depends on POSIX threads because
+the number of global structures is limited. NMEM no longer re-uses blocks
+between threads ; it simply free's memory immediately but allocates in
+"large" chunks as usual. We don't expect any performance penalties
+because of this. The yaz_log system is still using a global log_level so
+caution must be taken when modifying it with yaz_log_init_.. +
+yaz_log_mask_str. This, however, should not cause any trouble because
+these functions are called during initialization of application code
+anyway. `yaz-config --libs  server` returns libs for server applications;
+`yaz-config --libs` returns libs for non-server applications.
+
+New OID database - with public definitions in oid_db.h. Removed old OID
+database including the head oid.h and definitions such as enum oid_value
+and struct oident. The new OID database uses the same string names as
+before but the 'protocol' is gone. There are now only two representations
+raw OID (int *) and string. Functions with prefix yaz_string_to_oid
+converts from string to OID; functions with prefix yaz_oid_to_string
+converts the other way.
+
+Change to emit_term() in CQL-to-PQF query translation: when a term has
+the /regexp relation modifier, do not process it for leading and
+trailing "^" and "*", which have quite different meanings in regular
+expressions.
+
+Attempted fix of bug #976: Segfault in yaz_iconv. The yaz_iconv function
+write handlers no longer carries a 'last' parameter. This will make
+yaz_iconv flush "less" characters. A flush is performed by call to
+yaz_iconv(cd, 0, 0, &outbut, &outbytesleft) .
+
+Definition of wrbuf_diags moved to querytowrbuf.h. Function wrbuf_put_zquery
+removed, because function yaz_query_to_wrbuf does the same.
+
+API changes to WRBUF. wrbuf_free removed; replaced by wrbuf_destroy. And
+wrbuf_puts no longer appends '\0'. Use wrbuf_cstr to get C-string out.
+
+Deprecated MARC utility functions removed.
+
+Changed prototype of yaz_marc_decode_buf: const char for result and size_t
+for rsize.
+
+Branch split: YAZ_2_1_55_branch
+
+--- 2.1.54 2007/03/16
+
+Fix to ZOOM-C so that transparent reconnection is properly handled on
+connections that are in asynchronous mode.
+
+Fixed compilation on OpenBSD 4.0.
+
+Large strings in GRS-1 records are now properly displayed in yaz-client.
+
+Added character conversion support for "advancegreek"; based on patch from
+Giannis Kosmas.
+
+Fixed yaz_iconv to return YAZ_ICONV_EINVAL if an incomplete MARC-8 combo
+sequence is met. Before the error was not set so it would be unknown.
+
+Adjust yaz-marcdump MARC reader so that it skips until record separator
+is read
+
+--- 2.1.52 2007/03/07
+
+ZOOM-C: Removed hardcoded limit of 1024 sockets in ZOOM_event_sys_poll().
+Note that ZOOM_event_sys_select() still has the limit due to the fixed-size
+fd_set structure used as a bitmask for the FDs to be selected on.
+
+Using ACX_PTHREAD macro to check for POSIX threads.
+
+Fixed have-vsnprintf check.
+
+--- 2.1.50 2007/02/23
+Fixes for configure on BSD. Bug #900.
+
+Added snprintf/vsnprintf wrappers for systems that don't have 
+limits (heavens forbid).
+
+Fixed bug in ZOOM-C's event and task handling. If a ZOOM task was
+created before all previous tasks were completed and removed from the
+task queue, the new task could be removed by a mistake. 
+
+Fixed bug #615: Document retrievalInfo facilities for Frontend Server.
+
+Implemented pass-through CQL-to-PQF conversions. Bug #861.
+
+Fixed bug #832: Problem with MARC/charset in yaz-client.
+
+Fixed bug #668: save command line history for yaz-client.
+
+Fixed bug #830: pkg-config support.
+
+--- 2.1.48 2007/01/23
+
+Extended ZOOM result set options with two options that may be read by
+a client: resultSetStatus and presentStatus with values as specified for
+the ASN.1. See:
+http://www.loc.gov/z3950/agency/markup/04.html#Search-status
+
+Fixed bug #827: Using SSL fails on Debian etch.
+
+Fixed bug #826: Weird looking chars for set of MARC records.
+
 Implemented alternative Item Order package for ZOOM. If option "doc" is set,
 that is treated as an ItemOrder with itemRequest being an XML document
 external. The value of "doc" is the content.
@@ -11,6 +493,8 @@ member of SearchResponse APDU. For SRU, the information is signalled
 via SRU diagnostic 59: "Result set created with valid partial results
 available".
 
+Switched from jade/pdfjdaetex to dblatex for Docbook documentation in PDF.
+
 --- 2.1.46 2007/01/13
 
 Implemented bug #806: Deal with HTTP clients sending LF in HTTP headers.
@@ -1047,7 +1531,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
@@ -1227,7 +1711,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
 
@@ -1309,7 +1793,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.
 
@@ -1458,7 +1942,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.