Date in CHANGELOG
[yaz-moved-to-github.git] / CHANGELOG
index 8c6a3e6..6b53756 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
 Possible compatibility problems with earlier versions marked with '*'.
 
 Possible compatibility problems with earlier versions marked with '*'.
 
-For ILL, fixed tagging problem for member requester-CHECKED-IN in
-type Requester-Optional-Messages-Type.
+--- 1.9.3 2003/02/20
+
+Fixed problem with C compiler include path in wrong order.
+
+Support for SRW 1.0 over HTTP. This is an optional feature and
+requires libxml2 to operate. Enable SOAP by specifying --with-xml2
+for configure. 
+
+Z39.50 Query Type-104 added - to facilitate CQL within Z39.50.
+
+CQL support. Source is directory 'cql'. CQL is supported in ZOOM
+(both SRW and Z39.50) and the YAZ client (Z39.50 only).
+
+ZOOM connections are SRW based if host/port is specified
+as http. e.g.  z = ZOOM_connection_new("http://myserver");
+ZOOM_query may be of type CQL, e.g. ZOOM_query_cql(q, "dc.title=x");
+
+CCL proximity operators !n, %n converts to PQF @prox 0 n 1 2 k 2
+and @prox 0 n 0 1 k 2 respectively, meaning: exlusion=false,
+distance=n, order=true/false, relation=le, prox unit=word. If
+n is omitted, distance 1 is used.
+
+For TCP/IP COMSTACK, set recv buffer to an appropriate "large" value
+on Solaris. Patch from Ko van der Sloot.
+
+New MARC decode API. All new functions operate on a yaz_marc_t
+handle. The most important new functions are: yaz_marc_create,
+yaz_marc_decode_{buf,wrbuf}, yaz_marc_destroy, .. to create handler,
+decode and destroy respectively. Decoder can produce formats
+MARC line, simple XML, OAI MARC and MARC XML (LoC). See
+include/yaz/marcdisp.h.
+
+YAZ Iconv utility now supports MARC8 decoding (marc8.c). Converts
+to UTF-8, UCS-32, wchar_t or Latin-1.
+
+* Prototypes for yaz_iconv_-functions moved to separate header 
+include/yaz/yaz-iconv.h.
+
+Make a few private functions 'static' in unix.c. This prevents
+duplicate unix_close in PHP with YAZ and imap. PHP Bug 20977.
+
+For ZOOM connection, the options targetImplementation{Id,Name,Version}
+are set when Init Response is received.
+
+New function ZOOM_connection_error_x similar to ZOOM_connection_error
+but returns diagnostic set as well.
+
+New function yaz_strerror which is a portable wrapper for
+strerror/strerror_r/GetLastMessage.
+
+* ZOOM_record_get supports type "xml" in which case MARC XML (from LOC)
+is returned for MARC. If type is "oai", then OAI MARC is returned.
+
+Fix creation of lib/yaz-config so it works if srcdir != objdir. Patch
+from Kang-Jin Lee.
+
+--- 1.9.2 2002/11/26
+
+yaz_marc_decode uses OAI MARC as XML format for ISO2709 records.
+
+Fix bad race conditions on SIGTERM and terminate gracefully in
+frontend server.
+
+Move retrieval (data1) module to Zebra since nobody seems to be
+using it.
+
+Add GRS-1 render for ZOOM using same format as yaz-client.
+
+--- 1.9.1 2002/10/05
+
+Added man pages: yaz-client(1), yaz-ztest(8), yaz(7), zoomsh(1).
+
+Fix broken ESpec handling in data1 module.
+
+SGML reader parses comments and makes them part of the data1 tree.
+
+Added several type casts so that YAZ compiles as C++ code.
+
+ZOOM didn't handle PDU encoding failures properly.
+
+Added more Bib-1 diagnostics (approved extensions).
+
+GNU configure: better check for iconv.
+
+More portable use of accept, getpeername. Check for socklen_t. Use
+int/size_t if socklen_t is not defined.
+
+--- 1.9 2002/09/06
+
+PQF parser rejects bad queries - including those with extra
+characters in them. PQF parser used to silently ignore that.
+Cleaner API for PQF added, which allows you to get detailed
+error information for bad queries (see yaz/pquery.h).
+
+Fixed bug in ZOOM_record_get for type "database".
+
+Implemented mini iconv library supporting conversions between
+UTF-8, UCS4, UCS4LE and ISO-8859-1. Implemented in util/siconv.c.
+
+* Removed XML reader (d1_expat.c). It's part of Zebra instead.
+
+--- 1.8.9 2002/08/20
+
+Fixed ZOOM C record cache so that preferredRecordSyntax and
+elementSetName is used to check for already fetched records.
+
+--- 1.8.8 2002/08/02
+
+Added three members in bend_initrequest structure to facilitate
+character set negotiation.
+
+Fixed a bug in frontend server that could cause indefinite
+loops under rare conditions. 
+
+Revised character set utilities (charneg.h) so that encoding
+UCS-4, UCSA-4, UTF-16 and UTF-8 are encoded non-privately.
+
+For PQF, directive @term <type> sets term type for Scan/Search.
+Here <type> is general, string, numeric, null. The term type
+is inherited - just like @attr.
+
+New call odr_set_charset that sets character set conversion for
+international-strings on a ODR stream. Prototype is:
+ int odr_set_charset(ODR o, const char *to, const char *from);
+The InternationalString is still represented as C string in YAZ 
+so native strings of type UTF-8, ASCII, etc. will work (UTF-16
+won't). On the protocol level, you can use any encoding.
+
+Support for UNIX sockets in ZOOM.
+
+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.
+
+--- 1.8.7 2002/05/22
+
+On Windows ZOOM functions are of type __stdcall rather than __cdecl, so
+that they can be used directly from Visual Basic. You must recompile
+your windows APP if you're using ZOOM.
+
+Character Set and Language Negotiation(3) for ZOOM API and YAZ client.
+Commands "lang" and "charset" sets language and character set respectively.
+Options "lang" and "charset" is interpreted by the ZOOM API. Note, these
+are not part of the official ZOOM spec) All is due to Oleg Kolobov. 
+
+Attributes from multiple CCL fields may be OR'ed rather than merged
+using directive "@field or". Fields are still merged by default -
+equivalent to "@field merge".
+
+Fixed bug in ZOOM connect that occurred on OpenBSD (maybe others). Patch
+by Oleg Kolobov.
+
+Fixed bug in zget for parameter ExtendedServicesResponse.
+
+Fix OID for ILL.
+
+--- 1.8.6 2002/03/25
+
+Added PQF feature: '@attr type=value' may be written as '@type=value'.
+
+Client displays USR.1:SearchResult-1 (hits per term).
+
+Additional Search Info for search in Generic Frontend Server.
+
+Fixed CCL parsing of "field=s".
+
+WIN32 installer - using the excellent NSIS software from nullsoft.
+
+Fixed CCL parsing of "field = - <number>".
+
+Added function yaz_marc_decode that decodes MARC for line mode
+display or XML (similar to that used by JZKit).
+
+Fixed BER decoding of OPTIONAL CHOICE. The bug didn't affect the
+Z39.50. But ISO/ILL was, however.
+
+Added patch by Rustam T. Usmanov that implements Z39.50 duplicate
+detection service (Z39.50-1995 Amendment 2) and Language Negotiation (3).
+See:
+ http://lcweb.loc.gov/z3950/agency/amend/am2.html
+ http://lcweb.loc.gov/z3950/agency/defns/charneg-3.html
+
+--- 1.8.5 2002/02/03
+
+New YAZ client features: Command completion and new commands:
+push_command, set_apdufile, set_marcdump, set_cclfields, register_oid.
+Code provided by Jacob Poulsen.
+
+New call oid_trav, that visits all registered OIDs via callback.
+
+Function ZOOM_record_get now returns const char pointer rather than
+void pointer. It saves a lot of type casts.
+
+For YAZ client, command "auth" now allows you to set authentication
+in IdPass style. It is enabled when three tokens are given - order
+is user, group and password.
+
+Fix memory leaks in MARC record handling for ZOOM.
+
+New option for YAZ client, -k <kilobytes> that sets
+maximum record size. Similar to -k option for generic frontend
+server and yaz-ztest.
+
+More fixes for scan. Non-zero stepSize handled. OID's fixes.
+
+Prefix query parser reports "fail" when bad attribute set is given.
+
+Fix in MARC decoder. Proximity logging. Fix for attribute set
+in scan handler for server. Patches by Shigeru Ishida.
+
+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.
+
+New option for YAZ client, -u <auth>, that sets authentication.
+
+ZOOM fix: error information was sometimes "missing", since error
+was cleared/reset too when it shouldn't.
+
+ZOOM_record_get returns ISO2709 buffer when "raw" is given.
+
+--- 1.8.4 2002/01/04
+
+Scan for ZOOM API. New object ZOOM_scanset. New functions
+ZOOM_connection_scan, ZOOM_scanset_size, ZOOM_scanset_term and
+ZOOM_scanset_destroy.
+
+New ZOOM function, ZOOM_connection_last_event, that returns type
+of last event (such as "receive data", "send data", "apdu received",
+etc.
+
+New ZOOM option, schema, that specifies shema OID for retrieval.
+
+New CCL feature. Qualifiers can be aliases for one or more
+other qualifiers (if more than one is given, OR is used).
+
+ZOOM uses named result sets if target supports it.
+
+Two new YAZ client commands: .  (dot, which sources a script of YAZ
+client commands), and ! (to execute shell command.). Implemented
+by Jacob Poulsen.
+
+Working on Debian packages.
+
+--- 1.8.3 2001/11/19
+
+YAZ client enables named result sets only if target supports it.
+
+*** ZOOM. Prefix for ZOOM definitions changed from Z3950_ to ZOOM_.
+
+* ZOOM. Removed Z3950_connection_host. Use Z3950_connection_option_get
+with key="host" to get same result.
+
+* ZOOM. Added Z3950_record_clone and removed Z3950_resultset_get.
+Function Z3950_resultset_record(s) returns references to records
+"owned" by resultset. To become owner use Z3950_record_clone.
+
+Function z_ext_record handles Extended Services. Thanks to
+Irina Dijour.
+
+--- 1.8.2 2001/11/12
+
+CCL Parser fix: ignore token comma when dealing with and-lists.
+
+Documentation updates for COMSTACK.
+
+* ZOOM changes. Query object renamed from Z3950_search to Z3950_query.
+Changed prototype Z3950_records. For some functions, int parameters
+were changed to size_t.
+
+TCP/IP COMSTACK no longer uses getprotobyname to avoid memory leak
+on some Unices.
+
+New MARC decode/display function, marc_display_exl, which properly rejects
+non-ISO2709 records. YAZ client uses it.
+
+--- 1.8.1 2001/10/29
+
+Fix bug: local attribute set wasn't set correctly in PQF strings.
+
+--- 1.8 2001/10/25
+
+* Old Z39.50 codecs no longer supported. 
+
+Added ZOOM C binding. See http://zoom.z3950.org/
+
+Renamed states for COMSTACKs to avoid confusion with events.
+
+Implemented cs_look and proper cs_rcvconnect.
+
+Fixed COMSTACK error that occurred on HPUX. Fix by Giannis Kosmas.
+
+Configure detects POSIX threads on OpenBSD.
+
+When sort flag 'i' was specified in yaz-client the caseSensitivy flag
+was set to a wrong value.  Thanks to Robert Sanderson for reporting this.
+
+When error is returned from present handler, non-surrogate diagnostic
+is returned in present response (and fetch handler is no longer called).
+
+* Minor adjustments to pquery parser (PQF). Token characters may be
+escaped by using backslash (C-style).
+
+PQF parser allows string attribute values to be specified. For @attr,
+non-numeric characters after the equal-sign are treated as strings
+(e.g. @attr 9=title).
+
+CCL trunction character may be defined (@truncation in file)
+
+* function zget_ExtendedServicesRequest sets waitAction to
+  waitIfPossible (was wait).
+
+Added cs_set_blocking to set change blocking mode of a COMSTACK. Thanks
+to Matthew Carey.
+
+CCL operator names may be set in field definition files (CCL_bibset).
+See ccl/bib1 for an example.
+
+Fixes in ASN.1 compiler for C++ compatibility.
+
+* Renamed members "and" and "or" in struct Z_Operator to "op_and"
+and "op_or" to avoid conflict with C++.
+
+Fixed problem with GNU readline detection on Redhat 7.0.
+
+Added step-size for Scan backend handler.
+
+Fixed bug that made the frontend server crash when no attribute
+set was specified for scan.
+
+Front-end server automatically switches to original working directory
+when installed as an NT service. Previously -w had to be specified to
+make it work.
+
+Added extended attributes for retrieval module (data1), so that data1
+records carry d1_readXML/SGML attributes. d1_read also supports
+null-data rules ( <tag/>)
+
+On UNIX when POSIX threads are available, a separate library libyazthread
+is created. Programmers should link with that library and the yaz library
+when using threads. The reason for the split was that some applications
+on Linux, such as Apache, doesn't work well when using shared objects that
+relies on threads.
+
+Added SSL support for the COMSTACK. You start yaz-client and yaz-ztest
+(or any frontend server) in SSL mode by specifying ssl: followed by
+address. Only tested on UNIX.
+
+Added feature for CCL module. Virtual structure s=al or s=ol generates
+and-list and or-list respectively instead of phrase search.
+
+Added some OID's.
+
+* Added prefix "yaz_" for the functions log_init.., log_file..  and
+log_mask_str. This was done to avoid name conflicts with other libraries
+(such as other PHP extensions).
+
+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>
+
+Shared library support for UNIX using GNU libtool.
+
+* Modified backend interface. Request/Response struct's replaced by
+one read/write C struct. For example bend_fetchrequest and
+bend_fetchresult have been replaced by single bend_fetch_rr struct.
+Every handler - even search has to be registered in bend_init
+handler. This means that the YAZ library no longer refers to
+external functions and it makes it possible to make the whole
+thing a single DLL/SO.
+
+Added Segment handler for backend server.
+
+Added Zmbol/Zebra administrative functions to YAZ client.
+
+Threaded frontend server on UNIX (when POSIX Threads are available).
+Starting the server with option -T enables multi-threading.
+
+--- 1.6 2000/03/03
+
+Added configure option --enable-comp/disable-comp to control use
+of YAZ ASN.1 compiler. Use --disable-comp to use the old *coders
+located in sub directory asn.
+
+YAZ ASN.1 compiler renamed to yaz-comp in sub directory. It's installed
+in ${exec_prefix}/bin along with the other programs yaz-client and
+yaz-ztest.
+
+GNU automake used to maintain makefiles.
 
 Added several OID's.
 
 Changed retrieval module so that we can load records with no abstract
 
 Added several OID's.
 
 Changed retrieval module so that we can load records with no abstract
-syntax defined. Tagpaths in these records are fully composed of string tags.
+syntax defined. Tagpaths in these records are fully composed of string
+tags.
 
 Implemented ISO ILL protocol. Refer to stuff in sub directory ill.
 
 
 Implemented ISO ILL protocol. Refer to stuff in sub directory ill.