Fixed bug #598: Allow missingValueAction to be specified for sortSpec
[yaz-moved-to-github.git] / NEWS
diff --git a/NEWS b/NEWS
index 7e753de..34dbf9a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,302 @@
-Possible compatibility problems with earlier versions marked with '*'.
+Allow missingValueAction to be specified for the sortspec string - 
+function yaz_sort_spec. By default, the missing value action is null.
+Use ! to specify "abort". Use = followed by stringvalue to specify default
+value.
 
---- IN PROGRESS
+Ensured that Present-handler (if defined) is called in GFS before any call to
+fetch-hhndler.  This now includes piggy-backed presents as well as SRW/U
+searchRetrieve requests.
+
+Documentation for YAZ is now based on the Docbook XML/XSLT using
+xsltproc + N Walsh's stylesheets. It means that the CVS version of YAZ
+is no longer depending on jade/openjade or docbook-to-man scripts.
+PDF is no longer part of the distribution - but can optionally be
+made using DSSSL/jadetex or FOP.
+
+Added retrieval handling support in Generic Frontend Server to support
+conversion between MARC/XML as well as XSLTtransforms. See
+etc/yazgfs.xml for an example.
+
+Added Authentication support to Generic Frontend Server in SRU
+mode. Authentication using HTTP Basic is supported, as is the use
+of 'x-username' and 'x-password' parameters in the request itself.
+
+Added support for a new character set MARC8s identical to MARC8 except
+that it converts combined characters to single Unicode characters in the
+Latin-1 range (when possible).
+
+--- 2.1.18 2006/04/24
+
+ASN.1 compiler 0.4: generates brief Doxygen file header for 
+generated .h/.c files. 
+
+Utility yaz_iconv now supports conversion to MARC-8.
+
+New facilities for the MARC module. The reading - and writing of
+content are separate methods for the yaz_marc_t handle. The following
+read functions are available: yaz_marc_read_iso2709 (Reads MARC in
+ISO2709 format), yaz_marc_read_xml (reads MARC in MARCXML/MarcXchange
+format). Write functions have prefix yaz_marc_write_.. The existing
+utilities yaz_marc_decode_wrbuf and yaz_marc_decode_buf are still
+available. Removed support for OAI-MARC and simplexml (not the
+simplexml from PHP5).
+
+Added a new ZOOM event type ZOOM_EVENT_END which signals no more events
+to be returned for this connection.
+
+--- 2.1.16 2006/03/31
+
+Allow multiple languages and charsets to be specified with
+yaz-client. Each item must be separated by comma (NO BLANKS). E.g.
+  negcharset iso-8859-1,utf-8
+
+Translation of proximity nodes from CQL into PQF now works.
+
+Moved to automake 1.8, 1.9.
+
+Added function yaz_log_set_handler which allows a log handler to be
+installed. This handler will be called for all log messages.  Output
+to file is also produced; but that can be disabled by passing NULL
+fname to yaz_log_init_file.
+
+Fixed another problem with MARC-8 -> ISO-8859-1 conversions. Bug #537.
+
+For SRW (including GFS), accept application/soap+xml as content-type
+for SOAP msg.
+
+For GFS in SRU mode, an empty stylesheet in SRU URL (&stylesheet=&)
+produces NO stylesheet reference even if a default stylesheet is specified
+in GFS XML config.
+
+--- 2.1.14 2006/03/14 
+
+Updated Windows package to include yazd.dll + yazd.lib for the
+Development component.
+
+If the environment variable YAZ_LOG is set, then it is used as a
+string indicating the default level of logging to use if not
+overridden by calls to yaz_log_init() or yaz_log_init_level().  If
+it's not defined, then the manifest constant YLOG_DEFAULT_LEVEL is
+used as before.  So, for example, to omit warnings from YAZ logging,
+       export YAZ_LOG=-warn
+
+cql_transform() now map structure and other attributes before indexes,
+so that index-specific structures and other attributes can override
+defaults.  So now a combination of mapping specifications such as:
+       structure.* = 4=1
+       index.dc.date = 1=date-modified 4=5
+does the right thing.
+
+cql_transform() now also respects the "always" mapping specification,
+which establishes an initial set of attributes to be used for all
+terms except where overridden by more specific attributes associated
+with the index, relation or modifier.
+
+Added SRU-GET and SRU-POST support for ZOOM C. Option "sru" specifies
+which mode to use; one of "post", "get" or "soap" (SRW, default).
+
+Fixes for yaz_iconv routines: changed trie-based character set conversions
+to use only non-negative values for bit fields due to Sun's C compiler not
+supporting negative values.
+
+Fixed bug in character set conversion yaz_iconv. Some three byte UTF-8
+sequences where not read correctly. Fix by Rustam Usmanov.
+
+Updated win/makefile to use options, settings which makes things
+compile with VS C 2005.
+
+--- 2.1.12 2006/02/01 
+
+Fixed bug in yaz_oi_update which used incorrect value for categoryValue.
+
+In ZOOM socket code, use select instead of poll on MacOSX.
+
+ZOOM-C now support client-side compilation of CQL into RPN that is
+sent to the server, enabling CQL to be used against all Z39.50
+servers.  Use ZOOM_query_cql2rpn() to set the compiled CQL into a
+ZOOM_query object, and submit it using ZOOM_connection_search().
+The CQL-to-RPN translation uses a configuration file, the name of
+which must be specified in the Connection's "cqlfile" option.
+
+ZOOM-C also support CQL scanning, via the new ZOOM_connection_scan1()
+function, which takes as its start-term parameter a ZOOM_query object
+(which may have had either CQL or RPN set into it).
+
+
+--- 2.1.10 2005/11/29 
+
+Added ZiNG Update Support. New codecs are defined in srw.h. Extended the
+GFS to support this as well. Backend handler, bend_srw_update, does the
+update work. Code contributed by Ko van der Sloot.
+
+Allow retrieval of Search Result-1 information in ZOOM by the use of
+options that are attached to a result set. ZOOM documentation updated
+accordingly.
+
+Fixed bug #416: First/second comb characters not handled in the MARC-8 to
+UTF-8 conversion. Patch by Raj Patel.
+
+Added option -m to GFS to control formatting of timestamps in log file.
+
+Added 'exit' as synonym for 'quit' in yaz-client
+
+Added support for specifying SRW resultSetId + resultSetIdleTime in a
+Generic Frontend Server's search handler. Refer to include/yaz/backend.h
+for the new members. Patch by Ko van der Sloot.
+
+Added support for SRU POST. It is supported for content-type
+application/x-www-form-urlencoded only. Patch by Ko van der Sloot.
+
+Do not build the separate Multi-threaded (MT) library libyazthread.la.
+Instead make the library libyaz.la multi-threaded. Threading as a whole
+can still be disabled by configure option --disable-threads. Previosly, 
+with older GLIBCs there were problems with MT libs under Apache. This
+has now been fixed a long time ago.
+
+Fixed bugs in yaz_log that occurred on Sparc Solaris in Multi-threaded
+applications.
+
+CQL module modified to be case insensitive for relations/indexes/operations.
+
+Fixed bug in CQL transform code: incorrect value relationModifieder
+was used.
+
+Added 'show all' command for yaz-client which retrieves all results
+for last search.
+
+Added new yaz-client, xmles, which takes a (private) OID and
+a document to be sent as an extended service request.
+
+Describe new yaz-client commands wait_response and set_auto_wait.
+
+Increase TCP/IP listener backlog from 3 (which I am guessing was
+copied from the SunOS manual entry way back when) so SOMAXCONN, so
+that the socket will queue as many incoming connections as it's able
+to handle ongoing connections.  In other words, it will never now
+refuse a connection that it would be able to handle merely because
+it's not got around to accepting() enough of the pending connections
+yet.  This is the behaviour anyway under Linux, where the listen()
+argument is ignored; but not under BSD and on systems such as
+MS-Windows that use BSD-derived TCP/IP stacks.  The behaviour of
+YAZ-based servers should now be uniform across operating systems in
+this respect.
+
+yaz-marcdump uses 64-bit file access on some systems. This is enabled 
+on Linux and other Unix variants where _FILE_OFSET_BITS=64 is supported.
+This allows yaz-marcdump to read large MARC batches (>2 GB).
+
+Modified all YAZ source files - except the source which is auto-generated
+by tools - to use spaces rather than TABS. Emacs/VIM trailer added to
+all source files.
+
+Add ZOOM_connection_option_getl() and ZOOM_options_getl(),
+corresponding to the existing *_setl() function.  These allow option
+values containing arbitrary valuues.
+
+Add ZOOM_resultset_sort1(), which should ALWAYS be used in place of
+ZOOM_resultset_sort() in new applications.  Its behaviour is identical
+except that it returns an indicator of whether or not the sort
+criterion was accepted (0 for OK, -1 for invalid).
+
+--- 2.1.8 2005/06/07 
+
+Fixed bug in yaz_marc_decode_buf. By mistake the routine appended
+MARC output rather than returning "new" buffer.
+
+yaz-client warns about unknown init options.
+
+Fixed bug #371: "options concurrentOperations ignores concurrentOperations"
+
+--- 2.1.6 2005/05/24 
+
+Added support for SRW sort in Generic Frontend Server. Patch
+by Ko van der Sloot. Member srw_sortKeys in bend_search_rr holds
+sortKeys - or NULL if none is provided.
+
+Fixed bug #307: It was impossible to specify indefinite/no timeout
+for ZOOM_event. Special timeout value -1 now means indefinite timeout
+(i.e.  no timeout).
+
+Added support for multiple languages and charsets to be specified in
+ZOOM. Each charset/language is separated by a blank. If negotiation is
+in effect in init-response, Option
+"negotiation-charset-in-effect-for-records" set to 1(true) or 0(false). 
+Code based on patch by Vasiliy Osadchuk.
+
+Fixed bug #306: infinite recursion that occurred when calling
+yaz_log_level_init as the first call (before other log level or
+nmem_init calls)
+
+Fixed bug in scan handling in front end server: if preferred-Position-In-
+Response was non-present, a NULL pointer referece was performed.
+
+--- 2.1.4 2005/04/26 
+
+Changed include/yaz/diagbib1.h and added include/yaz/diagsrw.h with
+diagnostic messages+codes for Bib-1 and SRW. Preprocessor defines are
+now defined for all those error codes. So instead of putting 109 in
+your program you'd use YAZ_BIB1_DATABASE_UNAVAILABLE. The messages
+are generated from a .csv - file. See src/bib1.csv and srw/srw.csv.
+
+Modified the yaz-marcdump utility to skip garbage bytes between MARC
+records in a file.
+
+Fixed bug - uninitialized memory - due to bad code for fix of bug #272.
+
+Program yaz-client now exits and produces an error message if multiple
+Z39.50 servers are specified on the command line (none or one allowed
+only).
+
+Program yaz-marcdump skips garbage bytes between ISO2709 records rather
+than abort.
+
+--- 2.1.2 2005/03/16 
+
+Fixed bug #273: Update for recent MARC-8 -> UNICODE changes. 
+
+Fixed bug #272: Preserve spacing for CCL terms.
+
+--- 2.1.0 2005/03/14 
+
+Added support for virtual hosts and multiple backend servers for
+the YAZ frontend server. The configution is XML based and
+support specificition of CQL to RPN mappings and explain information.
+See section "Virtual Hosts" in the YAZ manual.
+
+Extended OPAC display utility. OPAC display utility renders
+bibliographic (MARC) record as well. Added yaz_opac_decode_wrbuf
+to supplement yaz_marc_decode_wrbuf.
+
+Fixed a bug in MARC decoder that could caused it to crash for some
+invalid MARC records. More diagnostics and warnings where added in
+XML output (warnings, etc are stored in comments).
+
+--- 2.0.34 2005/02/08 
+
+Fixes for UNIX domain sockets. Bug #261.
+
+Fixes for MARC-8 to UTF-8 conversion. Bugs #258 and #260.
+
+Fixed bug #263: YAZ MARCXML dump shows extra spaces after control fields.
+Added yaz_marc_subfield_str which defines subfield lead string which is
+used in YAZ_MARC_LINE format. Default string is blank+$. Added
+yaz_marc_endline_str which defines end of fields string used in
+YAZ_MARC_LINE format. Default string is newline.
+
+Experimental support for MarcXChange. This format can be produced
+by yaz-marcdump and is implemented in yaz_marc_decode - functions.
+ http://www.bs.dk/standards/MarcXchange.xsd
+
+Added yaz-client commands scansize that sets maximum number of
+entries to be returned by scan.
+
+--- 2.0.32 2005/01/11 
+
+Added support for SRW scan in yaz-client and Generic Frontend Server.
+
+* Added whereInList member to SRW Scan Term.
+
+* Changed Z_SRW_scanRequest to be able to carry both CCL and PQF.
 
 Fixed NMEM system to return aligned blocks on the smallest boundaries
 that are suitably aligned for all possible types on the particular