X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=CHANGELOG;h=3bf90b760359fdccf233ca4968bbd7230483be66;hp=213fddda2ce53935eb38a79c27804d56b485aaf6;hb=8827b69f7d7ac9aee5fa3bdddc8f727b18497630;hpb=0f5de851295231cacc15f91b670fa01fbf22b6fe diff --git a/CHANGELOG b/CHANGELOG index 213fddd..c0f209b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,499 @@ Possible compatibility problems with earlier versions marked with '*'. +--- (IN PROGRESS) + +ZOOM-C now supports standard ZOOM option names as described in v1.4 of +the ZOOM Abstract API. The older names for the same options are still +also supported for the benefit of old applications. + +ZOOM-C supports "implementationId" and "implementationVersion" options +to go along with "implementationName". These allow the user code to +specify identification strings to be sent to servers. +Add OID for the new ExtLite attribute set. + +Add OIDs for NACSIS-CATP, FINMARC2000 and MARC21-fin record-syntaxes, + as requested/supplid by Ere Maijala + +For generic frontend server, reverse the order of +"toolkit-supplied / application-supplied" strings sent as implementationId, +Name and Version. Also, remove the spaces around the slash. This brings +the GFS in line with the behaviour of ZOOM-C on the client side. + +Add function ZOOM_scanset_display_term. + +yaz-client shows scan displayTerm if present. + +Utility yaz-iconv is now installed by default along with the man page +yaz-iconv.1. + +Extend configure check for OpenSSL to use pkg-config where available (such +as RedHat 9). + +Incorporate patch by Morten Bogeskov which allows a Unix file socket +server to specify uid/gid/mask for socket using the format + unix:[user=uid,][group=gid,][umask=mask,]file=path +If file= is omitted the existing format is assumed, e.g. + unix:path +in which case the mask is 0666 (rw for everybody). + +Major restructure of YAZ source. All source in libyaz is in src directory. +Programs in client (yaz-client), ztest (yaz-ztest), zoom (zoom programs), +util (utility programs such as ASN.1 compiler, yaz-marcdump). + +Added man page for utility yaz-marcdump (used to be called marcdump). +yaz-marcdump is installed by 'make install'. + +Fixed a memory leak in Generic Frontend Server that occurred when decoding +of incoming package failed. + +Fixed a potential DOS attack vulnerability in COMSTACK/ODR. + +Change prototype of odr_perror: add const to message string. + +New function yaz_log_reopen which reopens log file (for log rotate, etc.) + +* Blocking parameter for COMSTACK cs_create is now a bit mask rather +than a blocking flag. Bit 0 is set for blocking, reset for non-blocking. +Bit 1 is set if cs_addrstr should avoid DNS lookup; reset for full +DNS lookup. There should not be any compatibility problems with this +assuming that blocking=1 or 0 is used. + +Fix bad reference in UNIX comstack in function cs_addrstr. + +Fix for compilation on AIX. + +The generic front-end server (server/seshigh.c) now supports returning +Init diagnostics to the client in User-information-field, in +accordance with Z35.90 Implementor Agreement 5 (Returning diagnostics +in an InitResponse) + + +--- 2.0.4 2003/09/04 + +Allow any CQL relation (not just all,any,exact,scr). + +Fixes for OCLC UI ASN.1 to make it work with SilverPlatter targets +that features the same UI. + +Implemented command update0 in YAZ client which is equivalent to +update but uses old of Ext Update ASN.1. + +Use OID 1.2.840.10003.15.1000.81.1 for privately defined charsets +in charset negotiation. Added VAL_ID_CHARSET in oid.h. +Previously no OID was used for this info. + +ZOOM uses smallSetUpperBound=1 instead of 0 for piggyback searches. +It apparantely upsets EBSCO Publishing IR Z39.50 Server which +returns 'malformed search term' otherwise. + +SortResponse member resultCount now set to NULL in sort handler of +frontend server. + +OPAC support ZOOM. ZOOM_record_get returns OPAC info (as XML) if +type is "opac". + +Add three new utility functions for translating OIDs between various +formats -- symbolic name such as "Usmarc", minus-1-terminated int +arrays and dotted strings such as "1.2.840.10003.9.5.1": + int *oid_name_to_oid(oid_class oclass, const char *name, int *oid); + char *oid_to_dotstring(const int *oid, char *oidbuf); + char *oid_name_to_dotstring(oid_class oclass, const char *name, char *oidbuf); + +Reverted modifications for ES Update definition for z_IU0Update +(OID 1.2.840.10003.9.5.1 and 1.2.840.10003.9.5). The definition +is back to YAZ 2.0.2. + +String value attributes for CCL parser. + +Support for OCLC's locally registered "OCLC-UserInformation" PDU, +which their FirstSearch server returns in Init responses, sometimes +carrying useful diagnostic information when Init fails. This has the +OID 1.2.840.10003.10.1000.17.1 and is defined in the file +"z39.50/oclcui.asn", where its definition is somewhat different from +what OCLC document on their web-site, as required to interoperate with +their servers. + +Support for anonymous authentication in yaz-client. Use the command +"auth -". + +* Fix the OID of the Index Data-local "admin" Extended Service from + 1.2.840.10003.9.81.1 to 1.2.840.10003.9.1000.81.1. The omission of + the 1000, which indicates a locally-defined OID, was a mistake. + +--- 2.0.3 2003/06/20 + +Fix CCL directive @case handling so that it affects string match for +both CCL keywords and qualifiers. + +* ESFormat-Update updates. Packages with OID 1.2.840.10003.9.5.1 and +1.2.840.10003.9.5 are now handled by the same decoder z_IU0Update . +Decoder has been updated with ASN.1 changes as listed in +http://lcweb.loc.gov/z3950/agency/defns/updateES.html +Note that the "latest" DB Update, OID 1.2.840.10003.9.5.1.1 , handler +z_IUUpdate, remains unchanged. + +ZOOM_record_get may now return a record in a specific character set. +For type use "form; charset=from[,to]" where form (render, xml, ..) , +"from" is the character set of record as returned by target. "to" is +the character set to be returned. If omitted, "to" is UTF-8. + +YAZ ASN.1 compiler renamed from yaz-comp to yaz-asncomp + +New ODR utility, odr_getelement, which returns name of element for +which encoding/decoding failed. + +Fixed ODR so that it returns error code OREQUIRED rather than ONONE +in cases where a required element was omitted. + +Bug fix: some MARC8 sequences were not converted. + +New ZOOM option "step" which specifies number of records to be +retrieved in one chunk. Used in conjunction with "start" and "count". + +SRW support for yaz-client. Use scheme http: to use it, e.g. + http://host:port/db + +yaz-client no longer does (un)intelligent character set conversions +by default. Can be enabled with charset and marc_charset commands. + +xmalloc trace fix for 64-bit systems such as DEC alpha. + +Solaris 2.6 compile fix. + +New function, cql_strerror() translates SRW error codes, as returned +by cql_transform_error(), into human-readable English strings. Used +in yaz-client diagnostics when appropriate. + +New CQL2RPN query-type for the command-line yaz-client, parses CQL and +converts it into a type-1 query which is sent to the server. This +makes CQL available for use with all Z-servers, as opposed to the tiny +minority that can handle CQL queries themselves. + +--- 2.0.2 2003/04/28 + +New Debian package layout similar to the Redhat Package layout. + +New ZOOM events ZOOM_EVENT_RECV_{RECORD,SEARCH} for receiving a record +and search result respectively. + +--- 2.0.1 2003/04/25 + +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. + +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 +handler MAY set this to reflect the schema of the returned record. + +New member 'display_term' in struct scan_entry. GFS now sets member entries +and allocates scan entries to be filled by user scan handler. In previous +version, entries member was allocated by the scan handler. That still works, +but the GFS will ignore member display_term - assuming it was NOT set by +the handler. The fact that the GFS now allocates the entries both allows +for new members and makes a scan handler easier to write. + +Fix CQL lex buffer overflow. + +SRW/SRU recordPacking. For SRW default recordPacking is string. For +SRU default recordPacking is string. + +SRU protocol support for frontend server. + +Fix compile bug for systems that have nl_langinfo but CODESET undefined. + +Added missing PQF transform rules for <= and >= . Thanks to Peter Popovics. + +Added scan for the ZOOM shell (zoomsh). + +--- 2.0 2003/02/23 + +* String Identifers for Schemas (Amendment 5). +http://lcweb.loc.gov/z3950/agency/amend/am5.html +Old definition for schema + Odr_oid *schema; /* OPT */ +New: + int which; + union { + Odr_oid *oid; + Z_InternationalString *uri; + #define Z_Schema_oid 1 + #define Z_Schema_uri 2 + } schema; /* OPT */ + +* resultCount parameter to Sort Response (Amendment 1). +http://lcweb.loc.gov/z3950/agency/amend/am1.html + +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. + +Generic frontend server supports HTTP/SOAP/SRW and Z39.50/BER +on the same port. SRW SearchRetrieveRequests are mapped +to bend_init,bend_search,bend_fetch,bend_close. + +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 schem http is used for hostname +in connect, 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. + +Fixed problem with C compiler include path in wrong order. + +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 sets term type for Scan/Search. +Here 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 = - ". + +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 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= now works when a directory is +specified. Patch provided by Morten Bøgeskov. + +New option for YAZ client, -u , 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 schema 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.