Implemented and-list and or-list for CCL module.
[yaz-moved-to-github.git] / CHANGELOG
index 13e178e..03724e9 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,293 @@
 Possible compatibility problems with earlier versions marked with '*'.
 
 Possible compatibility problems with earlier versions marked with '*'.
 
+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 (say 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
+syntax defined. Tagpaths in these records are fully composed of string
+tags.
+
+Implemented ISO ILL protocol. Refer to stuff in sub directory ill.
+
+--- 1.5 1999/12/10
+
+On UNIX, the generated makefile now supports a proper 'make install'.
+The prefix can be set via GNU configure to set the install location
+(default is /usr/local).
+
+* YAZ programs client and ztest were renamed to yaz-client and
+yaz-ztest to avoid conflicts when users install YAZ in "standard"
+locations, such as /usr/bin,/usr/local/bin,etc.
+
+* YAZ Header files were moved from include to include/yaz. YAZ Header
+files are referred to as include <yaz/log.h> rather than <log.h>.
+The YAZ include path (-I ..) is therefore the same as before. Programmers
+should update their #include statements or use -Ipath/include/yaz
+instead. The main motivation for doing this change is that YAZ header files
+can be installed in "standard" locations /usr/include,/usr/local/include 
+without introducing conflicts, since ALL YAZ header files are stored
+in subdirectory yaz (under /usr/include for example).
+
+Compilation of YAZ for WIN32 is now handled by an nmake-style makefile 
+rather than project/workspace files. We switched because project files
+are incompatible between Visual C++ 5 and 6. Refer to windows.txt for
+details.
+
+Changed name of logging function, logf, to yaz_log, to prevent name
+clash with some math-log functions. The YAZ header log.h defines logf
+to yaz_log (#define) so there should be no incompatibilities by this
+modification.
+
+Added bend_start/bend_stop handlers for server. These handler are
+called on start/stop of server. For windows they are called whenever
+a service is started/stopped.
+
+* YAZ now auto-generates decoders/encoders for the Z39.50 protocol using
+a fairly small ASN.1 compiler written in Tcl. The compiler is located
+in util/yc.tcl. The auto-generated C code structures are, in a few
+cases, incompatible with the old decoders. There are differences in the
+following C structures Z_DiagRec, Z_External, Z_SortRequest, Z_SortResponse,
+Z_AttributesPlusTerm, Z_ProximityOperator, Z_DefaultDiagFormat.
+The preprocessor variable ASN_COMPILED is defined when the compiled
+ASN.1 is being used. Encoder/decoder routines as well as the Z39.50
+protocol ASN.1 is located sub directory <tt>z39.50</tt>. If you
+wish to use the old encoders/decoders you can specify --disable-yc
+for configure.
+
+Assigned OID for old DB Update (VAL_DBUPDATE0). Updated YAZ compiled
+version so that it supports both new - and old version of DB Update
+
+* Added 'name' parameter to ODR encoder/decoder routines to facilitate
+pretty ODR print. Updated whole Z39.50 encoder/decoder to reflect the
+change. The name parameter can be set to 0 in which no name is specified
+for the construction. The macros odr_implicit and odr_explicit sets name
+parameter to zero for the construction involved. New macros
+odr_implicit_tag and odr_explicit_tag are similar to the others,
+except that a name parameter is added. For programmers' that don't use
+ODR they probably only need to change the call to z_APDU and z_External.
+
+Added access control facility by interfacing the TCP wrapper library.
+YAZ automatically attempts to find the TCP wrapper Library (-lwrap) and
+tcpd.h on Unix systems. For the server, option -d<daemon> specifies the
+name of the daemon and enables the access control as specified in
+hosts.allow/hosts.deny. Refer to man pages tcpd(8) and hosts_access(5).
+
+Fixed memory leak in ccl_find_str and ccl_qual_rm. Thanks to Hans van
+den Dool <H.M.vdnDool@kub.nl>.
+
+Added reference ID parameter to most functions in server API - refer
+to backend.h. Thanks to Hans van den Dool <H.M.vdnDool@kub.nl>.
+
+Changed name of ccl library to libccl.a (was ccl.a).
+
+Fixed bug in decoder for Explain (Category TargetInfo).
+
+Added support for GNU readline in client. Thanks to Jacob Poulsen
+<ja7@dbc.dk>. GNU configure attempts to detect if readline is available.
+
+* CHANGED DEFINITION OF ES: UPDATE (INCLUDING THE OID) to reflect the
+new definition from the ZIG. NOTE THIS IF YOU HAVE AN UPDATE
+IMPLEMENTATION! This change was made to the development version before
+the ZIG decided to retract the amendment. If any users MUST be
+compatible with the original Update definition, PLEASE CONTACT US, and
+we will include a separate definition corresponding to the old Update
+ES. Note that because of the change to the ASN.1 of the
+TaskPackageRecordStructure we cannot define a single structure that
+will support both versions.
+
+* Added const modifier to buffer parameter for some ODR/BER encoding
+routines: ber_dectag, ber_declen, odp_more_chunks, completeBER,
+completeWAIS, odr_dumpBER.
+
+Fixed bug in client.c which caused a crash when a scanResponse didn't
+contain positionOfTerm.
+
+* Fixed inconsistency in the ScanResponse/ListEntries protocol. This
+* will cause an error in a client if a non-YAZ target sends both a
+* list of Scan entries and non-surrogate diagnostics.
+
+Retrieval module enhancements. Tag sets may be typed in the reference
+to it. From the .abs-file the "tagset" directive takes a third optional
+integer type for the tag set referenced. From a .tag-file the "include"
+directive takes a third optional type as well. The old "type" directive
+in the tag set itself is still recognized but acts as the default type
+for the tag set.
+
+Backend interface change. Individual Scan terms returned from bend_scan
+may also be tagged as Surrogate Diagnostics. Refer to struct scan_entry
+in include/backend.h.
+
+Retrieval module enhancements. Multiple tag sets and attribute sets may
+be specified in abstract syntax specs. Revised the error/warning for
+logging messages reported by the retrieval module when reading the
+various spec files.
+
+Object Identifier system (oid_..) changed. The API is backwards
+compatible but the oid-routines now allocates new OID's when needed.
+Raw OID's may be specified in oid_getvalbyname.
+
+YAZ now uses GNU configure to generate Makefile(s).
+
+* Minor changes in some of the member names of DeleteResultSetRequest and
+DeleteResultSetResponse. See include/proto.h.
+
+* Changed some C definitions regarding EXPLAIN record syntax (prt-exp.h)
+and added member 'languages' in TargetInfo (which was missing).
+
+Changed the way attribute sets are handled in the retrieval
+module. These are now cached, just like the abstract syntaxes
+(schemas).
+
+Changed YAZ so that it links with compiled ASN.1.
+
+Added Explain-schema definitions and mapping routines. The following
+Explain categories have been implemented: AttributeDetails,
+AttributeSetInfo, DatabaseInfo, CategoryList and TargetInfo.
+
+Fixed minor bug in Windows version of Server Library.
+
+--- 1.4pl2+ 1998/4/17 (Released with Zebra)
+
+Added Extended Services to server (backend.h). Thanks to Charles Woodfield.
+
+Added EXTERNAL: UNIverse Resource Report (non-standard).
+
+Implemened odr_enum and odr_set_of functions to handle ASN.1 types
+ENUMERATED and SET OF.
+
+* Added 'const' to some of the char pointer arguments for the
+functions, data1_read_node, data1_getelementbytagname,
+data1_insert_taggeddata, data1_getesetbyname, data1_getelementbyname,
+data1_get_absyn.
+
+Fixed bug in data1_insert_taggeddata - the last_child member of
+parent wasn't initialised.
+
+* Changed data1_read_record and data1_read_node so that the supplied
+"SGML"-buffer is read-only. In particular the resulting data1 - tree
+doesn't refer to any parts of the "SGML"-buffer.
+
+Fixed bug in server library (Windows version of statserv_remove).
+
+* Changed code so that it compiles as C++. The type definition
+of Odr_fun which is a member of Odr_arm was changed. The result is,
+that an explicit typecast is needed for the fun pointer when
+using Odr_arm - as in:
+    {1, -1, -1, Z_IdAuthentication_idPass, (Odr_fun)z_IdPass},
+
+Updated TagSet-G and -M definitions (tagsetm.tag and tagsetg.tag).
+
+Implemented the new structured date and time definition as approved
+by the ZIG. Added schemaId element to the specificTag in Espec-1
+(also approved at the last ZIG). Thanks to RVDM.
+
+Added some Object identifiers (RVDM).
+
+Changed the Update Extended Service (RVDM).
+
+Added command "refid" to client which specifies referenceId for
+the following requests.
+
+Implemented extended service handling for server. See ztest.c
+for an example as well as backend.h. New handlers are registerd
+in the Init handler.
+
+* Changed interface for sort in server.
+
+Added new members to statserv_options_block. It allows a server
+to read options from another source than just the command line. Thanks
+to Charles Woodfield.
+
+* Changed definition of Z_Triple in file prt-grs.h - member boolean
+renamed to zboolean. Some C++ compilers complained about the name.
+
+Minor changes to gils.abs. Added index 's' (sort) on title
+and date/time-last-modified.
+
+--- 1.4pl2 1998/1/30
+
+Fixed bug in server library regarding inetd mode (-i). This bug
+was introduced by release 1.4.
+
+--- 1.4pl1 1998/1/29
+
+Added sort facility in client and backend server interface.
+
+Fixed problem with dependencies in Makefile(s).
+
+Fixed bugs for encoders/decoders of extended services and 
+SearchInfoReport.
+
+Implemented sub-tree feature for schemas. Sub-trees are
+referenced in *.abs-files. See explain.abs for an example
+of the use of this feature.
+
+Modified bib1.att; local attributes for ANY didn't include
+ANY itself (only affects use of the retrieval module).
+
+Fixed bug in plain SGML reader in function data1_read_node:
+tags with prefix "var" was incorrectly interpreted as variants.
+
+Added feature "sub-schemas" to enable references to - and definitions
+of - group of elements.
+
+* Removed member parent from type data1_element (in data1.h).
+
+Implemented function odr_nullval() that returns the value of
+ODR_NULLVAL.
+
+* Removed member num_children from data1_node (in data1.h).
+
+Made NT service interface part of the server library. The
+function statserv_main uses the NT service when required and
+calls the statserv_start / statserv_close routines.
+
+Routine zget_SearchRequest and zget_PresentRequest fills
+resultSetName/Id member with "default" instead of "Default".
+
 Fixed memory leak in server. Request queue member wasn't freed.
 
 Fixed nmem_exit so that memory is freed.
 Fixed memory leak in server. Request queue member wasn't freed.
 
 Fixed nmem_exit so that memory is freed.
@@ -22,7 +310,7 @@ calling this.
 Added NT Services interface for the the Z39.50 (statserv) Server. 
 Refer to the ztest.c source on the usage.
 
 Added NT Services interface for the the Z39.50 (statserv) Server. 
 Refer to the ztest.c source on the usage.
 
-Windows 95/NT port using MSV5.0. Project files are included in the
+Windows 95/NT port using MSVC5.0. Project files are included in the
 distribution.
 
 * Defined new 'global' handle for the retrieval (data1) system. The
 distribution.
 
 * Defined new 'global' handle for the retrieval (data1) system. The